From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com [IPv6:2a00:1450:4864:20::62e]) by sourceware.org (Postfix) with ESMTPS id 733193858408 for ; Fri, 1 Mar 2024 12:44:34 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 733193858408 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 733193858408 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::62e ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1709297076; cv=none; b=Nebh4dss8kiINsQ2I+XLWzIIb5RimAquhuEgFipRzglIuTlacdiwt8YdUBUxbwiGtUPxcvxXci0qS6OP0o35M8ZQhGrqAGYDA2kyOL3IgS2bf66WB/xS1DLA5KXeyVnE7T6i8HGj1hOGhJ+J7CUKcLUnYbDGx0HjtPwpJDFnNkk= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1709297076; c=relaxed/simple; bh=wDEN4eW/Fgbfvaoi6HSqLi+NwODllrfQJcT9vFz3TqY=; h=DKIM-Signature:Message-ID:Date:MIME-Version:To:From:Subject; b=KhUBLQOhE+4N5m1uj9EYPDFjGb0myGSOVhTGvhrFYfWjZMXcMnL57agAlKb8aDowknp9QdiXn20Gdc5xnLgrw1jPIyLYSuzXyMTMhpVJVKr/i4MnsW2vQM3aJa1n6jQAV5LXsDnP+D84oN4Zqksqfv4Ay6us5z8kXAbdY2MF1vg= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-ej1-x62e.google.com with SMTP id a640c23a62f3a-a3ed9cae56fso599915366b.1 for ; Fri, 01 Mar 2024 04:44:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1709297073; x=1709901873; darn=sourceware.org; h=content-transfer-encoding:autocrypt:subject:from:cc:to :content-language:user-agent:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=lw4WWYEt9cpR8zPtei1ABtWv/uHJrUFWSYGxt9rYm2s=; b=CkPWzM3/Bd+9BV/iMgHPa2EKaG5L98Gr+obS8rYVOWbrW19mtAt6xv4NHTwqVY2Csq 3QrMHI5BeHI1mVxsh+dWDRoum+uTRhL4Z9+sa+5lUn5lIU7vHDw45zulHmypKl0Gnp7n da10O9+jSun9ZHBP81S1dc6+3CRaxfAVLqRzBhs4Uei70z0Uj65vXA8lcTGUIq3kc/6I MfX5F3Sh5XEotDJkW28PIg4rdLgFcq30TNtgZ4HCSFOWF9IPAAtqIHLgmt/oNfkJgAYr qiFGFISxmICrmwBWbKA8oYc/7lzO6/gKk5Kxt3hTAJ28Gg7VT7LjFq7y5YS4YEBWDWgJ GmrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709297073; x=1709901873; h=content-transfer-encoding:autocrypt:subject:from:cc:to :content-language:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=lw4WWYEt9cpR8zPtei1ABtWv/uHJrUFWSYGxt9rYm2s=; b=SJouk+YmnWV5slHxGU6slUbmoMRdFzFzG6PdYo9ft53YAZkzNmUpV3oP4G07KqM7df Ch6dhfdRHnqV9GITQE+8ejEu7J7LdJ2sVNqq9Zw8icJTehkwyFNNZi+ZLmp8lqGSVh3W 1m+vBLkLsQdyD1NjLg3n85Tezw0awf/5oi32cjo08fdmd463Uk+yvvuf8ehfTc2vCeun TQzD8pt4nnWji6gIMKpoMlfDcSgL6QjH3T4r+H7Wes7VAxt9X70Cjt8U6T7ViMSRCN8e f7zdxGLjvdcrqrWxHYyw5kPcCBVP76AYmSQjsjUH0ilsCWqed1QdQs5o0a455ijr/7Bn 6omw== X-Gm-Message-State: AOJu0YznYu4Nrfc85YdOAhyUWzZJRUxy03g9h8qOt3VbxRvzMyhHAx0b oYFbweht/yIRS0XwZsS+Re5HlQ96ln3J13pnIaQB2BW+gnPRQtGrv2nx98dAlHLTXfKnWOjujqU = X-Google-Smtp-Source: AGHT+IEjc6Q6ZnyG5MLCc6xZCp/lhl3yaqUPQjD5Hd2vRDWgodgdsrtU+NZtpt0nJng/px8k5S82Dw== X-Received: by 2002:a17:906:b207:b0:a42:e720:58af with SMTP id p7-20020a170906b20700b00a42e72058afmr1437314ejz.4.1709297073107; Fri, 01 Mar 2024 04:44:33 -0800 (PST) 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 cx4-20020a170907168400b00a43a5bdd58bsm1652395ejd.211.2024.03.01.04.44.32 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 01 Mar 2024 04:44:32 -0800 (PST) Message-ID: <94075e2e-e553-4dbe-b1d1-cd0a3f4ebb20@suse.com> Date: Fri, 1 Mar 2024 13:44:31 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: Binutils Cc: "H.J. Lu" From: Jan Beulich Subject: [PATCH] x86: KeyLocker insn interaction with -msse-check / .sse_check 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 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-3025.3 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,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Some of these have no explicit %xmm operand(s), yet they still act SSE- like (in leaveing bits 128 and up untouched). Hence they want similarly diagnosing, if that was asked for. --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -6761,7 +6761,8 @@ md_assemble (char *line) && !is_cpu (&i.tm, CpuSSE4a) && !is_any_vex_encoding (t)) { - bool simd = false; + /* Some KL and all WideKL insns have only implicit %xmm operands. */ + bool simd = is_cpu (t, CpuKL) || is_cpu (t, CpuWideKL); for (j = 0; j < t->operands; ++j) { --- a/gas/testsuite/gas/i386/sse-check.d +++ b/gas/testsuite/gas/i386/sse-check.d @@ -22,4 +22,7 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 66 0f 38 cf d1 gf2p8mulb %xmm1,%xmm2 [ ]*[a-f0-9]+: 62 f2 7d 09 cf c0 vgf2p8mulb %xmm0,%xmm0,%xmm0\{%k1\} [ ]*[a-f0-9]+: 62 f2 7d 48 cf c0 vgf2p8mulb %zmm0,%zmm0,%zmm0 +[ ]*[a-f0-9]+: (67 )?f3 0f 38 dd 00 + aesdec128kl \(%eax\),%xmm0 +[ ]*[a-f0-9]+: f3 0f 38 fa f8 encodekey128 %eax,%edi +[ ]*[a-f0-9]+: (67 )?f3 0f 38 d8 10 + aesencwide256kl \(%eax\) #pass --- a/gas/testsuite/gas/i386/sse-check.s +++ b/gas/testsuite/gas/i386/sse-check.s @@ -39,3 +39,10 @@ _start: gf2p8mulb %xmm1,%xmm2 vgf2p8mulb %xmm0, %xmm0, %xmm0{%k1} vgf2p8mulb %zmm0, %zmm0, %zmm0 + +# KeyLocker instructions + aesdec128kl (%eax), %xmm0 + encodekey128 %eax, %edi + +# WideKL instructions + aesencwide256kl (%eax) --- a/gas/testsuite/gas/i386/sse-check-error.l +++ b/gas/testsuite/gas/i386/sse-check-error.l @@ -10,6 +10,9 @@ .*:33: Error: .* .*:36: Error: .* .*:39: Error: .* +.*:44: Error: .* +.*:45: Error: .* +.*:48: Error: .* GAS LISTING .* @@ -78,4 +81,17 @@ GAS LISTING .* [ ]*[0-9]+[ ]+CFC0 [ ]*[0-9]+[ ]+\?\?\?\? 62F27D48 vgf2p8mulb %zmm0, %zmm0, %zmm0 [ ]*[0-9]+[ ]+CFC0 - +[ ]*[0-9]+[ ]+ +[ ]*[0-9]+[ ]+\# KeyLocker instructions +[ ]*[0-9]+[ ]+\?\?\?\? F30F38DD aesdec128kl \(%eax\), %xmm0 +.* Error: SSE instruction `aesdec128kl' is used +[ ]*[0-9]+[ ]+00 +[ ]*[0-9]+[ ]+\?\?\?\? F30F38FA encodekey128 %eax, %edi +.* Error: SSE instruction `encodekey128' is used +[ ]*[0-9]+[ ]+F8 +[ ]*[0-9]+[ ]+ +[ ]*[0-9]+[ ]+\# WideKL instructions +[ ]*[0-9]+[ ]+\?\?\?\? F30F38D8 aesencwide256kl \(%eax\) +.* Error: SSE instruction `aesencwide256kl' is used +[ ]*[0-9]+[ ]+10 +#pass --- a/gas/testsuite/gas/i386/sse-check-warn.e +++ b/gas/testsuite/gas/i386/sse-check-warn.e @@ -10,3 +10,6 @@ .*:33: Warning: SSE instruction `aesdec' is used .*:36: Warning: SSE instruction `sha1nexte' is used .*:39: Warning: SSE instruction `gf2p8mulb' is used +.*:44: Warning: SSE instruction `aesdec128kl' is used +.*:45: Warning: SSE instruction `encodekey128' is used +.*:48: Warning: SSE instruction `aesencwide256kl' is used --- a/gas/testsuite/gas/i386/x86-64-sse-check-error.l +++ b/gas/testsuite/gas/i386/x86-64-sse-check-error.l @@ -10,6 +10,9 @@ .*:33: Error: .* .*:36: Error: .* .*:39: Error: .* +.*:44: Error: .* +.*:45: Error: .* +.*:48: Error: .* GAS LISTING .* @@ -79,4 +82,17 @@ GAS LISTING .* [ ]*[0-9]+[ ]+CFC0 [ ]*[0-9]+[ ]+\?\?\?\? 62F27D48 vgf2p8mulb %zmm0, %zmm0, %zmm0 [ ]*[0-9]+[ ]+CFC0 - +[ ]*[0-9]+[ ]+ +[ ]*[0-9]+[ ]+\# KeyLocker instructions +[ ]*[0-9]+[ ]+\?\?\?\? 67F30F38 aesdec128kl \(%eax\), %xmm0 +.* Error: SSE instruction `aesdec128kl' is used +[ ]*[0-9]+[ ]+DD00 +[ ]*[0-9]+[ ]+\?\?\?\? F30F38FA encodekey128 %eax, %edi +.* Error: SSE instruction `encodekey128' is used +[ ]*[0-9]+[ ]+F8 +[ ]*[0-9]+[ ]+ +[ ]*[0-9]+[ ]+\# WideKL instructions +[ ]*[0-9]+[ ]+\?\?\?\? 67F30F38 aesencwide256kl \(%eax\) +.* Error: SSE instruction `aesencwide256kl' is used +[ ]*[0-9]+[ ]+D810 +#pass