[llvm] r290065 - [X86] [AVX512] Minor fix in encoding of scalar EVEX instructions. NFC.

Adrian Prantl via llvm-commits llvm-commits at lists.llvm.org
Sun Dec 18 10:32:58 PST 2016


If there is a change in a testcase doesn't that indicate that the observable behavior of the compiler changed? In this case the commit is by definition not "NFC".

-- adrian

> On Dec 18, 2016, at 6:29 AM, Michael Zuckerman via llvm-commits <llvm-commits at lists.llvm.org> wrote:
> 
> Author: mzuckerm
> Date: Sun Dec 18 08:29:00 2016
> New Revision: 290065
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=290065&view=rev
> Log:
> [X86] [AVX512] Minor fix in encoding of scalar EVEX instructions. NFC.
> 
> Commit on behalf of Gadi Haber  
> 
> Removed EVEX_V512 prefix from scalar EVEX instructions since HW ignores L'L bits anyway (LIG). 4 instructions are modified.
> The changed encodings are validated with XED.
> Rviewers: delena, igorb
> 
> Differential revision: https://reviews.llvm.org/D27802
> 
> Modified:
>    llvm/trunk/lib/Target/X86/X86InstrAVX512.td
>    llvm/trunk/test/MC/X86/avx512-encodings.s
>    llvm/trunk/test/MC/X86/intel-syntax-avx512.s
> 
> Modified: llvm/trunk/lib/Target/X86/X86InstrAVX512.td
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrAVX512.td?rev=290065&r1=290064&r2=290065&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/X86/X86InstrAVX512.td (original)
> +++ llvm/trunk/lib/Target/X86/X86InstrAVX512.td Sun Dec 18 08:29:00 2016
> @@ -6107,8 +6107,7 @@ multiclass avx512_cvt_fp_scalar_sd2ss<bi
>   let Predicates = [HasAVX512] in {
>     defm Z : avx512_cvt_fp_scalar<opc, OpcodeStr, _dst, _src, OpNodeRnd>,
>              avx512_cvt_fp_rc_scalar<opc, OpcodeStr, _dst, _src,
> -                               OpNodeRnd>, VEX_W, EVEX_CD8<64, CD8VT1>,
> -                               EVEX_V512, XD;
> +                               OpNodeRnd>, VEX_W, EVEX_CD8<64, CD8VT1>, XD;
>   }
> }
> 
> @@ -6118,7 +6117,7 @@ multiclass avx512_cvt_fp_scalar_ss2sd<bi
>   let Predicates = [HasAVX512] in {
>     defm Z : avx512_cvt_fp_scalar<opc, OpcodeStr, _dst, _src, OpNodeRnd>,
>              avx512_cvt_fp_sae_scalar<opc, OpcodeStr, _dst, _src, OpNodeRnd>,
> -             EVEX_CD8<32, CD8VT1>, XS, EVEX_V512;
> +             EVEX_CD8<32, CD8VT1>, XS;
>   }
> }
> defm VCVTSD2SS : avx512_cvt_fp_scalar_sd2ss<0x5A, "vcvtsd2ss",
> 
> Modified: llvm/trunk/test/MC/X86/avx512-encodings.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/avx512-encodings.s?rev=290065&r1=290064&r2=290065&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/X86/avx512-encodings.s (original)
> +++ llvm/trunk/test/MC/X86/avx512-encodings.s Sun Dec 18 08:29:00 2016
> @@ -16441,15 +16441,15 @@ vpermilpd $0x23, 0x400(%rbx), %zmm2
>           vcvttpd2dq -1032(%rdx){1to8}, %ymm27
> 
> // CHECK: vcvtsd2ss %xmm12, %xmm9, %xmm17
> -// CHECK:  encoding: [0x62,0xc1,0xb7,0x48,0x5a,0xcc]
> +// CHECK:  encoding: [0x62,0xc1,0xb7,0x08,0x5a,0xcc]
>           vcvtsd2ss %xmm12, %xmm9, %xmm17
> 
> // CHECK: vcvtsd2ss %xmm12, %xmm9, %xmm17 {%k6}
> -// CHECK:  encoding: [0x62,0xc1,0xb7,0x4e,0x5a,0xcc]
> +// CHECK:  encoding: [0x62,0xc1,0xb7,0x0e,0x5a,0xcc]
>           vcvtsd2ss %xmm12, %xmm9, %xmm17 {%k6}
> 
> // CHECK: vcvtsd2ss %xmm12, %xmm9, %xmm17 {%k6} {z}
> -// CHECK:  encoding: [0x62,0xc1,0xb7,0xce,0x5a,0xcc]
> +// CHECK:  encoding: [0x62,0xc1,0xb7,0x8e,0x5a,0xcc]
>           vcvtsd2ss %xmm12, %xmm9, %xmm17 {%k6} {z}
> 
> // CHECK: vcvtsd2ss {rn-sae}, %xmm12, %xmm9, %xmm17
> @@ -16469,39 +16469,39 @@ vpermilpd $0x23, 0x400(%rbx), %zmm2
>           vcvtsd2ss {rz-sae}, %xmm12, %xmm9, %xmm17
> 
> // CHECK: vcvtsd2ss (%rcx), %xmm9, %xmm17
> -// CHECK:  encoding: [0x62,0xe1,0xb7,0x48,0x5a,0x09]
> +// CHECK:  encoding: [0x62,0xe1,0xb7,0x08,0x5a,0x09]
>           vcvtsd2ss (%rcx), %xmm9, %xmm17
> 
> // CHECK: vcvtsd2ss 291(%rax,%r14,8), %xmm9, %xmm17
> -// CHECK:  encoding: [0x62,0xa1,0xb7,0x48,0x5a,0x8c,0xf0,0x23,0x01,0x00,0x00]
> +// CHECK:  encoding: [0x62,0xa1,0xb7,0x08,0x5a,0x8c,0xf0,0x23,0x01,0x00,0x00]
>           vcvtsd2ss 291(%rax,%r14,8), %xmm9, %xmm17
> 
> // CHECK: vcvtsd2ss 1016(%rdx), %xmm9, %xmm17
> -// CHECK:  encoding: [0x62,0xe1,0xb7,0x48,0x5a,0x4a,0x7f]
> +// CHECK:  encoding: [0x62,0xe1,0xb7,0x08,0x5a,0x4a,0x7f]
>           vcvtsd2ss 1016(%rdx), %xmm9, %xmm17
> 
> // CHECK: vcvtsd2ss 1024(%rdx), %xmm9, %xmm17
> -// CHECK:  encoding: [0x62,0xe1,0xb7,0x48,0x5a,0x8a,0x00,0x04,0x00,0x00]
> +// CHECK:  encoding: [0x62,0xe1,0xb7,0x08,0x5a,0x8a,0x00,0x04,0x00,0x00]
>           vcvtsd2ss 1024(%rdx), %xmm9, %xmm17
> 
> // CHECK: vcvtsd2ss -1024(%rdx), %xmm9, %xmm17
> -// CHECK:  encoding: [0x62,0xe1,0xb7,0x48,0x5a,0x4a,0x80]
> +// CHECK:  encoding: [0x62,0xe1,0xb7,0x08,0x5a,0x4a,0x80]
>           vcvtsd2ss -1024(%rdx), %xmm9, %xmm17
> 
> // CHECK: vcvtsd2ss -1032(%rdx), %xmm9, %xmm17
> -// CHECK:  encoding: [0x62,0xe1,0xb7,0x48,0x5a,0x8a,0xf8,0xfb,0xff,0xff]
> +// CHECK:  encoding: [0x62,0xe1,0xb7,0x08,0x5a,0x8a,0xf8,0xfb,0xff,0xff]
>           vcvtsd2ss -1032(%rdx), %xmm9, %xmm17
> 
> // CHECK: vcvtss2sd %xmm6, %xmm6, %xmm28
> -// CHECK:  encoding: [0x62,0x61,0x4e,0x48,0x5a,0xe6]
> +// CHECK:  encoding: [0x62,0x61,0x4e,0x08,0x5a,0xe6]
>           vcvtss2sd %xmm6, %xmm6, %xmm28
> 
> // CHECK: vcvtss2sd %xmm6, %xmm6, %xmm28 {%k3}
> -// CHECK:  encoding: [0x62,0x61,0x4e,0x4b,0x5a,0xe6]
> +// CHECK:  encoding: [0x62,0x61,0x4e,0x0b,0x5a,0xe6]
>           vcvtss2sd %xmm6, %xmm6, %xmm28 {%k3}
> 
> // CHECK: vcvtss2sd %xmm6, %xmm6, %xmm28 {%k3} {z}
> -// CHECK:  encoding: [0x62,0x61,0x4e,0xcb,0x5a,0xe6]
> +// CHECK:  encoding: [0x62,0x61,0x4e,0x8b,0x5a,0xe6]
>           vcvtss2sd %xmm6, %xmm6, %xmm28 {%k3} {z}
> 
> // CHECK: vcvtss2sd {sae}, %xmm6, %xmm6, %xmm28
> @@ -16509,27 +16509,27 @@ vpermilpd $0x23, 0x400(%rbx), %zmm2
>           vcvtss2sd {sae}, %xmm6, %xmm6, %xmm28
> 
> // CHECK: vcvtss2sd (%rcx), %xmm6, %xmm28
> -// CHECK:  encoding: [0x62,0x61,0x4e,0x48,0x5a,0x21]
> +// CHECK:  encoding: [0x62,0x61,0x4e,0x08,0x5a,0x21]
>           vcvtss2sd (%rcx), %xmm6, %xmm28
> 
> // CHECK: vcvtss2sd 291(%rax,%r14,8), %xmm6, %xmm28
> -// CHECK:  encoding: [0x62,0x21,0x4e,0x48,0x5a,0xa4,0xf0,0x23,0x01,0x00,0x00]
> +// CHECK:  encoding: [0x62,0x21,0x4e,0x08,0x5a,0xa4,0xf0,0x23,0x01,0x00,0x00]
>           vcvtss2sd 291(%rax,%r14,8), %xmm6, %xmm28
> 
> // CHECK: vcvtss2sd 508(%rdx), %xmm6, %xmm28
> -// CHECK:  encoding: [0x62,0x61,0x4e,0x48,0x5a,0x62,0x7f]
> +// CHECK:  encoding: [0x62,0x61,0x4e,0x08,0x5a,0x62,0x7f]
>           vcvtss2sd 508(%rdx), %xmm6, %xmm28
> 
> // CHECK: vcvtss2sd 512(%rdx), %xmm6, %xmm28
> -// CHECK:  encoding: [0x62,0x61,0x4e,0x48,0x5a,0xa2,0x00,0x02,0x00,0x00]
> +// CHECK:  encoding: [0x62,0x61,0x4e,0x08,0x5a,0xa2,0x00,0x02,0x00,0x00]
>           vcvtss2sd 512(%rdx), %xmm6, %xmm28
> 
> // CHECK: vcvtss2sd -512(%rdx), %xmm6, %xmm28
> -// CHECK:  encoding: [0x62,0x61,0x4e,0x48,0x5a,0x62,0x80]
> +// CHECK:  encoding: [0x62,0x61,0x4e,0x08,0x5a,0x62,0x80]
>           vcvtss2sd -512(%rdx), %xmm6, %xmm28
> 
> // CHECK: vcvtss2sd -516(%rdx), %xmm6, %xmm28
> -// CHECK:  encoding: [0x62,0x61,0x4e,0x48,0x5a,0xa2,0xfc,0xfd,0xff,0xff]
> +// CHECK:  encoding: [0x62,0x61,0x4e,0x08,0x5a,0xa2,0xfc,0xfd,0xff,0xff]
>           vcvtss2sd -516(%rdx), %xmm6, %xmm28
> 
> // CHECK: vcvtsd2si {rn-sae}, %xmm7, %eax
> 
> Modified: llvm/trunk/test/MC/X86/intel-syntax-avx512.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/intel-syntax-avx512.s?rev=290065&r1=290064&r2=290065&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/X86/intel-syntax-avx512.s (original)
> +++ llvm/trunk/test/MC/X86/intel-syntax-avx512.s Sun Dec 18 08:29:00 2016
> @@ -2046,15 +2046,15 @@ vaddpd zmm1, zmm1, zmm2, {rz-sae}
>           vcvtsd2si r8, xmm10, {rz-sae}
> 
> // CHECK: vcvtsd2ss xmm17, xmm9, xmm12
> -// CHECK:  encoding: [0x62,0xc1,0xb7,0x48,0x5a,0xcc]
> +// CHECK:  encoding: [0x62,0xc1,0xb7,0x08,0x5a,0xcc]
>           vcvtsd2ss xmm17, xmm9, xmm12
> 
> // CHECK: vcvtsd2ss xmm17 {k6}, xmm9, xmm12
> -// CHECK:  encoding: [0x62,0xc1,0xb7,0x4e,0x5a,0xcc]
> +// CHECK:  encoding: [0x62,0xc1,0xb7,0x0e,0x5a,0xcc]
>           vcvtsd2ss xmm17 {k6}, xmm9, xmm12
> 
> // CHECK: vcvtsd2ss xmm17 {k6} {z}, xmm9, xmm12
> -// CHECK:  encoding: [0x62,0xc1,0xb7,0xce,0x5a,0xcc]
> +// CHECK:  encoding: [0x62,0xc1,0xb7,0x8e,0x5a,0xcc]
>           vcvtsd2ss xmm17 {k6} {z}, xmm9, xmm12
> 
> // CHECK: vcvtsd2ss xmm17, xmm9, xmm12, {rn-sae}
> @@ -2074,27 +2074,27 @@ vaddpd zmm1, zmm1, zmm2, {rz-sae}
>           vcvtsd2ss xmm17, xmm9, xmm12, {rz-sae}
> 
> // CHECK: vcvtsd2ss xmm17, xmm9, qword ptr [rcx]
> -// CHECK:  encoding: [0x62,0xe1,0xb7,0x48,0x5a,0x09]
> +// CHECK:  encoding: [0x62,0xe1,0xb7,0x08,0x5a,0x09]
>           vcvtsd2ss xmm17, xmm9, qword ptr [rcx]
> 
> // CHECK: vcvtsd2ss xmm17, xmm9, qword ptr [rax + 8*r14 + 291]
> -// CHECK:  encoding: [0x62,0xa1,0xb7,0x48,0x5a,0x8c,0xf0,0x23,0x01,0x00,0x00]
> +// CHECK:  encoding: [0x62,0xa1,0xb7,0x08,0x5a,0x8c,0xf0,0x23,0x01,0x00,0x00]
>           vcvtsd2ss xmm17, xmm9, qword ptr [rax + 8*r14 + 291]
> 
> // CHECK: vcvtsd2ss xmm17, xmm9, qword ptr [rdx + 1016]
> -// CHECK:  encoding: [0x62,0xe1,0xb7,0x48,0x5a,0x4a,0x7f]
> +// CHECK:  encoding: [0x62,0xe1,0xb7,0x08,0x5a,0x4a,0x7f]
>           vcvtsd2ss xmm17, xmm9, qword ptr [rdx + 1016]
> 
> // CHECK: vcvtsd2ss xmm17, xmm9, qword ptr [rdx + 1024]
> -// CHECK:  encoding: [0x62,0xe1,0xb7,0x48,0x5a,0x8a,0x00,0x04,0x00,0x00]
> +// CHECK:  encoding: [0x62,0xe1,0xb7,0x08,0x5a,0x8a,0x00,0x04,0x00,0x00]
>           vcvtsd2ss xmm17, xmm9, qword ptr [rdx + 1024]
> 
> // CHECK: vcvtsd2ss xmm17, xmm9, qword ptr [rdx - 1024]
> -// CHECK:  encoding: [0x62,0xe1,0xb7,0x48,0x5a,0x4a,0x80]
> +// CHECK:  encoding: [0x62,0xe1,0xb7,0x08,0x5a,0x4a,0x80]
>           vcvtsd2ss xmm17, xmm9, qword ptr [rdx - 1024]
> 
> // CHECK: vcvtsd2ss xmm17, xmm9, qword ptr [rdx - 1032]
> -// CHECK:  encoding: [0x62,0xe1,0xb7,0x48,0x5a,0x8a,0xf8,0xfb,0xff,0xff]
> +// CHECK:  encoding: [0x62,0xe1,0xb7,0x08,0x5a,0x8a,0xf8,0xfb,0xff,0xff]
>           vcvtsd2ss xmm17, xmm9, qword ptr [rdx - 1032]
> 
> // CHECK: vcvtsi2sd xmm7, xmm10, eax
> @@ -2346,15 +2346,15 @@ vaddpd zmm1, zmm1, zmm2, {rz-sae}
>           vcvtsi2ss xmm16, xmm10, qword ptr [rdx - 1032]
> 
> // CHECK: vcvtss2sd xmm28, xmm6, xmm6
> -// CHECK:  encoding: [0x62,0x61,0x4e,0x48,0x5a,0xe6]
> +// CHECK:  encoding: [0x62,0x61,0x4e,0x08,0x5a,0xe6]
>           vcvtss2sd xmm28, xmm6, xmm6
> 
> // CHECK: vcvtss2sd xmm28 {k3}, xmm6, xmm6
> -// CHECK:  encoding: [0x62,0x61,0x4e,0x4b,0x5a,0xe6]
> +// CHECK:  encoding: [0x62,0x61,0x4e,0x0b,0x5a,0xe6]
>           vcvtss2sd xmm28 {k3}, xmm6, xmm6
> 
> // CHECK: vcvtss2sd xmm28 {k3} {z}, xmm6, xmm6
> -// CHECK:  encoding: [0x62,0x61,0x4e,0xcb,0x5a,0xe6]
> +// CHECK:  encoding: [0x62,0x61,0x4e,0x8b,0x5a,0xe6]
>           vcvtss2sd xmm28 {k3} {z}, xmm6, xmm6
> 
> // CHECK: vcvtss2sd xmm28, xmm6, xmm6, {sae}
> @@ -2362,27 +2362,27 @@ vaddpd zmm1, zmm1, zmm2, {rz-sae}
>           vcvtss2sd xmm28, xmm6, xmm6, {sae}
> 
> // CHECK: vcvtss2sd xmm28, xmm6, dword ptr [rcx]
> -// CHECK:  encoding: [0x62,0x61,0x4e,0x48,0x5a,0x21]
> +// CHECK:  encoding: [0x62,0x61,0x4e,0x08,0x5a,0x21]
>           vcvtss2sd xmm28, xmm6, dword ptr [rcx]
> 
> // CHECK: vcvtss2sd xmm28, xmm6, dword ptr [rax + 8*r14 + 291]
> -// CHECK:  encoding: [0x62,0x21,0x4e,0x48,0x5a,0xa4,0xf0,0x23,0x01,0x00,0x00]
> +// CHECK:  encoding: [0x62,0x21,0x4e,0x08,0x5a,0xa4,0xf0,0x23,0x01,0x00,0x00]
>           vcvtss2sd xmm28, xmm6, dword ptr [rax + 8*r14 + 291]
> 
> // CHECK: vcvtss2sd xmm28, xmm6, dword ptr [rdx + 508]
> -// CHECK:  encoding: [0x62,0x61,0x4e,0x48,0x5a,0x62,0x7f]
> +// CHECK:  encoding: [0x62,0x61,0x4e,0x08,0x5a,0x62,0x7f]
>           vcvtss2sd xmm28, xmm6, dword ptr [rdx + 508]
> 
> // CHECK: vcvtss2sd xmm28, xmm6, dword ptr [rdx + 512]
> -// CHECK:  encoding: [0x62,0x61,0x4e,0x48,0x5a,0xa2,0x00,0x02,0x00,0x00]
> +// CHECK:  encoding: [0x62,0x61,0x4e,0x08,0x5a,0xa2,0x00,0x02,0x00,0x00]
>           vcvtss2sd xmm28, xmm6, dword ptr [rdx + 512]
> 
> // CHECK: vcvtss2sd xmm28, xmm6, dword ptr [rdx - 512]
> -// CHECK:  encoding: [0x62,0x61,0x4e,0x48,0x5a,0x62,0x80]
> +// CHECK:  encoding: [0x62,0x61,0x4e,0x08,0x5a,0x62,0x80]
>           vcvtss2sd xmm28, xmm6, dword ptr [rdx - 512]
> 
> // CHECK: vcvtss2sd xmm28, xmm6, dword ptr [rdx - 516]
> -// CHECK:  encoding: [0x62,0x61,0x4e,0x48,0x5a,0xa2,0xfc,0xfd,0xff,0xff]
> +// CHECK:  encoding: [0x62,0x61,0x4e,0x08,0x5a,0xa2,0xfc,0xfd,0xff,0xff]
>           vcvtss2sd xmm28, xmm6, dword ptr [rdx - 516]
> 
> // CHECK: vcvtss2si eax, xmm22, {rn-sae}
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits



More information about the llvm-commits mailing list