From patchwork Fri Mar 1 12:44:31 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 208821 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:2097:b0:108:e6aa:91d0 with SMTP id gs23csp1049588dyb; Fri, 1 Mar 2024 04:44:46 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCV4vGsTAzj5Myn/N+DeZjw0+c2IbTf0uC0d4hal3JoAcoQf9KA5cVcEW1nmGdW4cXO5sF/DhAqxBOB1Mp9c4abW2Dda2Q== X-Google-Smtp-Source: AGHT+IG9eceajICtDKOo/on8Vory4c0L4ZJeXFimjr3/KeAYC+FSAcYsuty4oWIdyLA4KobLjrdu X-Received: by 2002:a05:620a:5608:b0:787:3769:d747 with SMTP id vu8-20020a05620a560800b007873769d747mr1681471qkn.59.1709297086517; Fri, 01 Mar 2024 04:44:46 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709297086; cv=pass; d=google.com; s=arc-20160816; b=oKrjSG+zRCX8h+OqNgJ+qIh1HR+0ZGRFN3HBtwl7Ogex9HB2Dxd04dr9POp+HwlONH Xxe75KdXvmzQ7lwYTEGvpcM+5OV/a85oZPBRGvW+9fTFjbTBq/5cqJM3v7zqRLYtogcG rs9ezyej6YweZ1xJptht6NEmj9E3eSpjSz+rLgcyo+BlsOrFiJjZo9oYeYDdXYRNm5Ni pDZoeCCigLRcIl6F3wAxfWnPKTJqXvBb5Dxh9dlv/HPmQgjxmvINuaZrhMQBCyf4cKCY 3dDhLjPsNUa6nR03Bg/f/EJv3jzKTnaGt4J8G8KSnC6lrhDx8s07502/SMFAePqG1UjN UJFw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :autocrypt:subject:from:cc:to:content-language:user-agent :mime-version:date:message-id:dkim-signature:arc-filter:dmarc-filter :delivered-to; bh=lw4WWYEt9cpR8zPtei1ABtWv/uHJrUFWSYGxt9rYm2s=; fh=8WW8/k0o0G2vlJiZAQKLzwZ5FShsw2CjyMds4OH6804=; b=BcTIByIAc5WixwLzQCQtbHOWatZet01CUsWTssginQ2i60CDAG/nheZYamBEDCOJWk +8qiX0Nmbt8gFGzZopNPWx04/SJ4OMF1B0AJzPZ6FPOgaCUTCoxv/BvNQBeyeMWz89Pw KSAT5Ccc+j3w/uDzaPCVNeVTHADZxpyYhDt09KskhzQ0xllSx/IUg77ESmwwdXdZ3PFy G33FBrqhhRDjrl+ddM19L2GgKYQPh0/NZm976QK7q7e7y362BUReG6aXBKZYsYYZj1EG NpYt+MquUSYkR0P3tCMQ3xX7upADilru9qSFlGyngO27BUOUjHh2AuXD6J/sR5kLAyDV +H7w==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@suse.com header.s=google header.b="CkPWzM3/"; arc=pass (i=1); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id bl12-20020a05620a1a8c00b00787bf3317b1si3740825qkb.380.2024.03.01.04.44.46 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Mar 2024 04:44:46 -0800 (PST) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=google header.b="CkPWzM3/"; arc=pass (i=1); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 386BA3858C66 for ; Fri, 1 Mar 2024 12:44:45 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org 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-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 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 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+ouuuleilei=gmail.com@sourceware.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1792327901791347372 X-GMAIL-MSGID: 1792327901791347372 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