From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr1-x433.google.com (mail-wr1-x433.google.com [IPv6:2a00:1450:4864:20::433]) by sourceware.org (Postfix) with ESMTPS id 123013858C5E for ; Fri, 22 Dec 2023 14:41:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 123013858C5E 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 123013858C5E Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::433 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703256084; cv=none; b=i1gc2Gi6Wwzs2UsBtdfg50xI96oE04lwxWfKO2Pi+r/UPgUPxdob4zAJVTJ9SoNYk+aB+DdJB4wMZTIFWHsjCrrF4hkH0dWNL14b78FN1ki3SA+OWSMUeoOk4O79jZdxlq28EtodNqRFCGKDS0QWbM1lMuBnkbrDDESxKi3q78Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703256084; c=relaxed/simple; bh=9GwcQY6DDqjct1s+CyrWsxOhjeyl3Mp7ygbzZa4ddWA=; h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:To:From; b=D1NTpBrlP53vHgMr7No+wxXvLlNlvHS/0i9oapbwKj+dqX79QIsXuIqIPBmMeYjVIwY5nTia7VIroP7vaIHrWlS2urxG/ggJoDiSgTtKKDpNq7jXTB0cWnucv2gUFI3JP9Ihl6gyZzqja4bLs7WOWgh3+pQUFF35XIb86zgjAdc= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-wr1-x433.google.com with SMTP id ffacd0b85a97d-3369339f646so663671f8f.0 for ; Fri, 22 Dec 2023 06:41:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1703256080; x=1703860880; darn=sourceware.org; h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc :to:content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=P7n6tWJWo8kNgfLwbOa6f4C4exPGRlvYkjZs+RwY19M=; b=Hl/k0bXm0MfVx8meBErCv12dVC/5yQSDtBdvTJdzybAQ+vCiGvC8Ng/99aNAuwjmPt 201R/fDpdJ1L4U0w1w1giReKPnHI2THoQtGRK1STl+TsFM53FM/hN5ZPKL1e7xHulKXA 2SJV6RRSCUsJ/SIkVxx/OgKk06bB7S3uTowTiWcRJblWaIXK8CsQX3CbD3y2QQ3N4JvC zi6D9+9mtTtHtCon/HgZGq2bCo7YCo2vJXV23e4v3IosQRu3B4M7fjJrJ7JnriqTLYiv FI06MuFx4dhVozJLHCcb8jLrafsMLZ0TP9hUWavVdXuqv+izwGVq61Zegi8jvHcURxMR 53cw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1703256080; x=1703860880; h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc :to:content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=P7n6tWJWo8kNgfLwbOa6f4C4exPGRlvYkjZs+RwY19M=; b=HBIFadCy+4dEmdBT+L2zKFiutl/V5SKi7fo95zMf4IjnNKOcoNK3wl2Xoj7N7R1pXp muy9t/DZtoHkI5vLchEjB0k9dqHZ4RxBIeO6FQvAi5xAe4QNvl/afAiLys20et8s97EN Ha+br5r189armRcYfd6Idl3UHmqMlleEiFELYgCUBkV6p6HSImaaRmnUmpuB89d7tsly R6Gg2INNafzInScEySMfGsgjI+nN8hpgdhHtRz5C4Gm02Wmpv69tj56JEZSpVpJwnAcE xpGX+ilnlrIt7mrKzMg4SUUdAfDFxDrm63ldcx/Mu9qO8xVKUSUyah/5MfgLmZvnScMk qz/g== X-Gm-Message-State: AOJu0YzguQQW959n7TQDWM1mK+mZKuExXAU2WzO0UjLYSEQ5/3wPNvuT c9JFzl8bMt3C0VU7dcq/4pzegxcsNd+o X-Google-Smtp-Source: AGHT+IEUCN4J/9htYZ7NRT7ImA4s89Z5iacN1HRS3J3PbTFfoGPjfaJMBRfC/j9oLKC7nYwiEwtT1w== X-Received: by 2002:a05:600c:4e48:b0:40d:440e:ebed with SMTP id e8-20020a05600c4e4800b0040d440eebedmr825338wmq.35.1703256080263; Fri, 22 Dec 2023 06:41:20 -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 bi8-20020a05600c3d8800b0040d28bbaf7bsm14379666wmb.10.2023.12.22.06.41.19 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 22 Dec 2023 06:41:20 -0800 (PST) Message-ID: Date: Fri, 22 Dec 2023 15:41:19 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v4 4/9] Add tests for APX GPR32 with extend evex prefix Content-Language: en-US To: "Cui, Lili" Cc: hongjiu.lu@intel.com, binutils@sourceware.org References: <20231219121218.974012-1-lili.cui@intel.com> <20231219121218.974012-5-lili.cui@intel.com> From: Jan Beulich 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 In-Reply-To: <20231219121218.974012-5-lili.cui@intel.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-3026.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,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: On 19.12.2023 13:12, Cui, Lili wrote: > --- a/gas/testsuite/gas/i386/x86-64-apx-egpr-inval.s > +++ b/gas/testsuite/gas/i386/x86-64-apx-egpr-inval.s > @@ -16,3 +16,194 @@ > xsaveopt64 (%r16, %r31) > xsavec (%r16, %rbx) > xsavec64 (%r16, %r31) > +#SSE > + blendpd $100,(%r18),%xmm6 > + blendps $100,(%r18),%xmm6 > + blendvpd %xmm0,(%r19),%xmm6 > + blendvpd (%r19),%xmm6 > + blendvps %xmm0,(%r19),%xmm6 > + blendvps (%r19),%xmm6 > + dppd $100,(%r20),%xmm6 > + dpps $100,(%r20),%xmm6 > + extractps $100,%xmm4,%r21 > + extractps $100,%xmm4,(%r21) > + insertps $100,(%r21),%xmm6 > + movntdqa (%r21),%xmm4 > + mpsadbw $100,(%r21),%xmm6 > + pabsb (%r17),%xmm0 > + pabsd (%r17),%xmm0 > + pabsw (%r17),%xmm0 > + packusdw (%r21),%xmm6 > + palignr $100,(%r17),%xmm6 > + pblendvb %xmm0,(%r22),%xmm6 > + pblendvb (%r22),%xmm6 > + pblendw $100,(%r22),%xmm6 > + pcmpeqq (%r22),%xmm6 > + pcmpestri $100,(%r25),%xmm6 > + pcmpestrm $100,(%r25),%xmm6 > + pcmpgtq (%r25),%xmm4 > + pcmpistri $100,(%r25),%xmm6 > + pcmpistrm $100,(%r25),%xmm6 > + pextrb $100,%xmm4,%r22 > + pextrb $100,%xmm4,(%r22) > + pextrd $100,%xmm4,(%r22) > + pextrq $100,%xmm4,(%r22) > + pextrw $100,%xmm4,(%r22) > + phaddd (%r17),%xmm0 > + phaddsw (%r17),%xmm0 > + phaddw (%r17),%xmm0 > + phminposuw (%r23),%xmm4 > + phsubw (%r17),%xmm0 > + pinsrb $100,%r23,%xmm4 > + pinsrb $100,(%r23),%xmm4 > + pinsrd $100, %r23d, %xmm4 > + pinsrd $100,(%r23),%xmm4 > + pinsrq $100, %r24, %xmm4 > + pinsrq $100,(%r24),%xmm4 > + pmaddubsw (%r17),%xmm0 > + pmaxsb (%r24),%xmm6 > + pmaxsd (%r24),%xmm6 > + pmaxud (%r24),%xmm6 > + pmaxuw (%r24),%xmm6 > + pminsb (%r24),%xmm6 > + pminsd (%r24),%xmm6 > + pminud (%r24),%xmm6 > + pminuw (%r24),%xmm6 > + pmovsxbd (%r24),%xmm4 > + pmovsxbq (%r24),%xmm4 > + pmovsxbw (%r24),%xmm4 > + pmovsxbw (%r24),%xmm4 > + pmovsxdq (%r24),%xmm4 > + pmovsxwd (%r24),%xmm4 > + pmovsxwq (%r24),%xmm4 > + pmovzxbd (%r24),%xmm4 > + pmovzxbq (%r24),%xmm4 > + pmovzxdq (%r24),%xmm4 > + pmovzxwd (%r24),%xmm4 > + pmovzxwq (%r24),%xmm4 > + pmuldq (%r24),%xmm4 > + pmulhrsw (%r17),%xmm0 > + pmulld (%r24),%xmm4 > + pshufb (%r17),%xmm0 > + psignb (%r17),%xmm0 > + psignd (%r17),%xmm0 > + psignw (%r17),%xmm0 > + roundpd $100,(%r24),%xmm6 > + roundps $100,(%r24),%xmm6 > + roundsd $100,(%r24),%xmm6 > + roundss $100,(%r24),%xmm6 > +#AES > + aesdec (%r26),%xmm6 > + aesdeclast (%r26),%xmm6 > + aesenc (%r26),%xmm6 > + aesenclast (%r26),%xmm6 > + aesimc (%r26),%xmm6 > + aeskeygenassist $100,(%r26),%xmm6 > + pclmulhqhqdq (%r26),%xmm6 > + pclmulhqlqdq (%r26),%xmm6 > + pclmullqhqdq (%r26),%xmm6 > + pclmullqlqdq (%r26),%xmm6 > + pclmulqdq $100,(%r26),%xmm6 > +#GFNI > + gf2p8affineinvqb $100,(%r26),%xmm6 > + gf2p8affineqb $100,(%r26),%xmm6 > + gf2p8mulb (%r26),%xmm6 > +#VEX without evex > + vaesimc (%r27), %xmm3 > + vaeskeygenassist $7,(%r27),%xmm3 > + vblendpd $7,(%r27),%xmm6,%xmm2 > + vblendpd $7,(%r27),%ymm6,%ymm2 > + vblendps $7,(%r27),%xmm6,%xmm2 > + vblendps $7,(%r27),%ymm6,%ymm2 > + vblendvpd %xmm4,(%r27),%xmm2,%xmm7 > + vblendvpd %ymm4,(%r27),%ymm2,%ymm7 > + vblendvps %xmm4,(%r27),%xmm2,%xmm7 > + vblendvps %ymm4,(%r27),%ymm2,%ymm7 > + vdppd $7,(%r27),%xmm6,%xmm2 > + vdpps $7,(%r27),%xmm6,%xmm2 > + vdpps $7,(%r27),%ymm6,%ymm2 > + vhaddpd (%r27),%xmm6,%xmm5 > + vhaddpd (%r27),%ymm6,%ymm5 > + vhsubps (%r27),%xmm6,%xmm5 > + vhsubps (%r27),%ymm6,%ymm5 > + vlddqu (%r27),%xmm4 > + vlddqu (%r27),%ymm4 > + vldmxcsr (%r27) > + vmaskmovpd %xmm4,%xmm6,(%r27) > + vmaskmovpd %ymm4,%ymm6,(%r27) > + vmaskmovpd (%r27),%xmm4,%xmm6 > + vmaskmovpd (%r27),%ymm4,%ymm6 > + vmaskmovps %xmm4,%xmm6,(%r27) > + vmaskmovps %ymm4,%ymm6,(%r27) > + vmaskmovps (%r27),%xmm4,%xmm6 > + vmaskmovps (%r27),%ymm4,%ymm6 > + vmovmskpd %xmm4,%r27d > + vmovmskpd %xmm8,%r27d > + vmovmskps %xmm4,%r27d > + vmovmskps %ymm8,%r27d > + vpblendd $7,(%r27),%xmm6,%xmm2 > + vpblendd $7,(%r27),%ymm6,%ymm2 > + vpblendvb %xmm4,(%r27),%xmm2,%xmm7 > + vpblendvb %ymm4,(%r27),%ymm2,%ymm7 > + vpblendw $7,(%r27),%xmm6,%xmm2 > + vpblendw $7,(%r27),%ymm6,%ymm2 > + vpcmpeqb (%r26),%ymm6,%ymm2 > + vpcmpeqd (%r26),%ymm6,%ymm2 > + vpcmpeqq (%r16),%ymm6,%ymm2 > + vpcmpeqw (%r16),%ymm6,%ymm2 > + vpcmpestri $7,(%r27),%xmm6 > + vpcmpestrm $7,(%r27),%xmm6 > + vpcmpgtb (%r26),%ymm6,%ymm2 > + vpcmpgtd (%r26),%ymm6,%ymm2 > + vpcmpgtq (%r16),%ymm6,%ymm2 > + vpcmpgtw (%r16),%ymm6,%ymm2 > + vpcmpistri $100,(%r25),%xmm6 > + vpcmpistrm $100,(%r25),%xmm6 > + vperm2f128 $7,(%r27),%ymm6,%ymm2 > + vperm2i128 $7,(%r27),%ymm6,%ymm2 > + vphaddd (%r27),%xmm6,%xmm7 > + vphaddd (%r27),%ymm6,%ymm7 > + vphaddsw (%r27),%xmm6,%xmm7 > + vphaddsw (%r27),%ymm6,%ymm7 > + vphaddw (%r27),%xmm6,%xmm7 > + vphaddw (%r27),%ymm6,%ymm7 > + vphminposuw (%r27),%xmm6 > + vphsubd (%r27),%xmm6,%xmm7 > + vphsubd (%r27),%ymm6,%ymm7 > + vphsubsw (%r27),%xmm6,%xmm7 > + vphsubsw (%r27),%ymm6,%ymm7 > + vphsubw (%r27),%xmm6,%xmm7 > + vphsubw (%r27),%ymm6,%ymm7 > + vpmaskmovd %xmm4,%xmm6,(%r27) > + vpmaskmovd %ymm4,%ymm6,(%r27) > + vpmaskmovd (%r27),%xmm4,%xmm6 > + vpmaskmovd (%r27),%ymm4,%ymm6 > + vpmaskmovq %xmm4,%xmm6,(%r27) > + vpmaskmovq %ymm4,%ymm6,(%r27) > + vpmaskmovq (%r27),%xmm4,%xmm6 > + vpmaskmovq (%r27),%ymm4,%ymm6 > + vpmovmskb %xmm4,%r27 > + vpmovmskb %ymm4,%r27d > + vpsignb (%r27),%xmm6,%xmm7 > + vpsignb (%r27),%xmm6,%xmm7 > + vpsignd (%r27),%xmm6,%xmm7 > + vpsignd (%r27),%xmm6,%xmm7 > + vpsignw (%r27),%xmm6,%xmm7 > + vpsignw (%r27),%xmm6,%xmm7 > + vptest (%r27),%ymm6 > + vptest (%r27),%xmm6 > + vrcpps (%r27),%xmm6 > + vrcpps (%r27),%ymm6 > + vrcpss (%r27),%xmm6,%xmm6 > + vroundpd $1,(%r24),%xmm6 > + vroundps $2,(%r24),%xmm6 > + vroundsd $3,(%r24),%xmm6,%xmm3 > + vroundss $4,(%r24),%xmm6,%xmm3 These are still here, when they can be expressed. > --- /dev/null > +++ b/gas/testsuite/gas/i386/x86-64-apx-evex-promoted-bad.s > @@ -0,0 +1,34 @@ > +# Check Illegal prefix for 64bit EVEX-promoted instructions > + > + .allow_index_reg > + .text > +_start: > + #movbe %r23w,%ax set EVEX.pp = f3 (illegal value). > + .insn EVEX.L0.f3.M12.W0 0x60, %di, %ax > + #movbe %r23w,%ax set EVEX.pp = f2 (illegal value). > + .insn EVEX.L0.f2.M12.W0 0x60, %di, %ax > + #VSIB vpgatherqq (%rbp,%zmm17,8),%zmm16{%k1} set EVEX.P[10] == 0 > + #(illegal value). > + .byte 0x62, 0xe2, 0xf9, 0x41, 0x91, 0x84, 0xcd > + .byte 0xff This one's still using .byte and still referencing P[10] in the comment. If that's really unavoidable, then - as elsewhere - the description of the patch could (and should) provide the reason. And there continue to be no separating blank lines, making it as hard as before to find ones way through all of this. > + #EVEX_MAP4 movbe %r23w,%ax set EVEX.mm == 0b01 (illegal value). > + .insn EVEX.L0.66.M13.W0 0x60, %di, %ax > + #EVEX_MAP4 movbe %r23w,%ax set EVEX.a1a0 (P[17:16]) == 0b01 See my earlier comment about a1a0. Once again - please can you use SDM terms as much as possible, and prefer descriptive names over non- descriptive ones? > + #(illegal value). ??? At the very least indentation is bogus here, but as to this particular comment (recurring elsewhere) - isn't the entire test about illegal values? > + .insn EVEX.L0.66.M12.W0 0x60, %di, %ax{%k1} > + #EVEX_MAP4 movbe %r18w,%ax set EVEX.L'L == 0b01 (illegal value). > + .insn EVEX.L1.66.M12.W0 0x60, %di, %ax > + #EVEX_MAP4 movbe %r18w,%ax set EVEX.z == 0b1 (illegal value). > + .insn EVEX.L0.66.M12.W0 0x60, %di, %ax {%k7}{z} > + #EVEX from VEX bzhi %rax,(%rax,%rbx),%rcx EVEX.P[17:16](EVEX.aa) == 0b01 > + #(illegal value). > + .insn EVEX.L0.NP.0f38.W0 0xf5, %rax, (%rax,%rbx), %rcx{%k1} > + #EVEX from VEX bzhi %rax,(%rax,%rbx),%ecx EVEX.P[22:21](EVEX.L’L) == 0b01 > + #(illegal value). > + .insn EVEX.L1.NP.0f38.W0 0xf5, %rax, (%rax,%rbx), %rcx > + #EVEX from VEX bzhi %rax,(%rax,%rbx),%rcx EVEX.P[23](EVEX.z) == 0b1 > + #(illegal value). > + .insn EVEX.L0.NP.0f38.W0 0xf5, %rax, (%rax,%rbx), %rcx {%k7}{z} Isn't {%k7} alone rendering the encoding invalid, which was checked for above already? Also - bogus indentation again. > + #EVEX from VEX bzhi %rax,(%rax,%rbx),%rcx EVEX.P[20](EVEX.b) == 0b1 > + #(illegal value). > + .insn EVEX.L0.NP.0f38.W0 0xf5, %rax ,(%rax,%rbx){1to8}, %rcx 64-bit register operands with .W0 are kind of okay, but still odd to see. Note however the one misplaced comma here. Jan