From patchwork Fri Jun 21 12:47:33 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 57140 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 1C3AF389850D for ; Fri, 21 Jun 2024 12:48:09 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-lj1-x22f.google.com (mail-lj1-x22f.google.com [IPv6:2a00:1450:4864:20::22f]) by sourceware.org (Postfix) with ESMTPS id B114E3895FE3 for ; Fri, 21 Jun 2024 12:47:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B114E3895FE3 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org B114E3895FE3 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::22f ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1718974064; cv=none; b=kebtZOCBF+jThgoU0zVJUnkspgyg2nRCVg/AOE3l0NwurQGOeIZxoCXzwwqjBX3mjLltMyeb/YpZdv/UpR8x+021RmapUDH9NS4U1Tbw3bUlCG/ivgL5Nylb4Bw/cZvy1HHbQ1Aq+4vz+4/mubYkpxDukpsafP7Ys1ZKdWI/jj4= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1718974064; c=relaxed/simple; bh=aQbPWVeh6yZiA9D05A8ZJ4nVN7vb4esG4y/tM3t2Hjw=; h=DKIM-Signature:Message-ID:Date:MIME-Version:From:Subject:To; b=RLldsk74EVsDGRAA7CB1LspzHdVQaLRLRkxRl6O509mue3Si7QqztmaUy/vS5oA8EHfzIlmZM0NZtMIbgb2hmpcna1M8A0ZXuQjnUY9n9MT5Fa/YPbZpouvssqRgFSRbceshKqLVg0sXRYPuo+xzFL6jdvBzD0TMoAZ7haTioDI= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-lj1-x22f.google.com with SMTP id 38308e7fff4ca-2ec1ac1aed2so22649251fa.3 for ; Fri, 21 Jun 2024 05:47:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1718974061; x=1719578861; darn=sourceware.org; h=content-transfer-encoding:autocrypt:content-language:cc:to:subject :from:user-agent:mime-version:date:message-id:from:to:cc:subject :date:message-id:reply-to; bh=aQbPWVeh6yZiA9D05A8ZJ4nVN7vb4esG4y/tM3t2Hjw=; b=DbdSBgUs3IvrjWQ5W8xVnpaVP8AhmaFiwA2TaOAPAz4BzLf9f0M6qO/uWdMx7rg5C8 XhJQQ0lKaGZsYmCJT0gFNMMWRSnpL9905VhceBBKh3Nhdve4IA3XQkrt6stHCorXb7Cf ce2iwcofAn+vWVJcHEdtO9FLLXyF1bv7evURNxCbFvd/oaTMxBRphR/rLBwoUybX+D/p fXVu3fGdzzio8JacxsUuWKWckYf04xFtF8ZSbRlf8DM11MsISl8CVmuoDf4pUL2SA6ud cziqbp1mBqgV1AXfAtyQDxZ/XnCB7SXngZhgIZBsIkxzoNs395iISzBIjDgMDse98hf2 EcHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718974061; x=1719578861; h=content-transfer-encoding:autocrypt:content-language:cc:to:subject :from:user-agent:mime-version:date:message-id:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=aQbPWVeh6yZiA9D05A8ZJ4nVN7vb4esG4y/tM3t2Hjw=; b=eOMAvogNmZkZmsdBnp4wvMs0iGSfJ1INrf34HNfT24Ws8BWU22Bmpz8rSU/HKl5rqu 7YCM1ntecwjGsAPjbjjbsx5OmoFAqQHbB5JlLsappnoW41refsktPVuubuihAyjXu7dn mKzF4JbVutOK6kAxQ/jwcr4qujyauZg7i/Swl+yrP2107QsBTwbzYggbCCiE2FEaVfBr FC4DTACIEYOd0EV8Qfj0OVnrgrWEGCZp2fd86rvhxHHq2a/Xf54Lz62pcYnWmMY8IcxS MsdCfwSwCbeSNHzoVmzVpVSf5gavFOMALBMiSwZKEhVrJxvVNop3jPvnfQVF4DJ+GsJF yxzw== X-Gm-Message-State: AOJu0YxrPunWmd/Q1cdJKOgCbDCYjXWsKxWwtqXuvhthpAHsizAe1OYx 6dicbEJgFQOiiJ5D5bbYYZLwOnMvAcV8m7No+eTpVMhyW8NembUmfSPVO/30zZWpRbWFp5drAzU = X-Google-Smtp-Source: AGHT+IEfIZ8k0JQxnsN57Y1t02UlRBobUExk8XqDd1LC2xX0L9Ke/gO66RSA6mzss+lunP7afR/7WQ== X-Received: by 2002:a2e:9b52:0:b0:2ec:5075:83d2 with SMTP id 38308e7fff4ca-2ec507584a7mr8417651fa.22.1718974060742; Fri, 21 Jun 2024 05:47:40 -0700 (PDT) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7065126557asm1351550b3a.140.2024.06.21.05.47.37 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 21 Jun 2024 05:47:40 -0700 (PDT) Message-ID: <72726722-9d28-4d82-84ef-320e1786b0e4@suse.com> Date: Fri, 21 Jun 2024 14:47:33 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: Jan Beulich Subject: [PATCH v2 0/8] x86: a few more optimizations To: Binutils Cc: "H.J. Lu" , Lili Cui , "Jiang, Haochen" Content-Language: en-US Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL X-Spam-Status: No, score=-3024.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: binutils-bounces+patchwork=sourceware.org@sourceware.org APX {nf} insn forms present a number of interesting optimization opportunities, often mostly for size. There are a few more that I'm aware of, but where I'm less convinced that input code would really ever be written in a way triggering the (hypothetical) code. Two non-{nf} ones and a change limiting when a certain optimization is done are here in addition, as I came to think of them while doing the preparations / work. 1: optimize {nf} forms of ADD/SUB with specific immediates 2: optimize {nf}-form rotate-by-width-less-1 3: optimize certain {nf}-form insns to LEA 4: restrict by-imm31 optimization 5: extend TEST-by-imm7 optimization to CTESTcc 6: optimize {nf}-form IMUL-by-power-of-2 to SHL 7: optimize certain {nf}-form insns to BMI2 ones 8: apply NDD-to-legacy transformation to further CMOVcc forms Jan