Index: llvm/trunk/lib/Target/X86/X86InstrAVX512.td =================================================================== --- llvm/trunk/lib/Target/X86/X86InstrAVX512.td +++ llvm/trunk/lib/Target/X86/X86InstrAVX512.td @@ -6107,8 +6107,7 @@ let Predicates = [HasAVX512] in { defm Z : avx512_cvt_fp_scalar, avx512_cvt_fp_rc_scalar, VEX_W, EVEX_CD8<64, CD8VT1>, - EVEX_V512, XD; + OpNodeRnd>, VEX_W, EVEX_CD8<64, CD8VT1>, XD; } } @@ -6118,7 +6117,7 @@ let Predicates = [HasAVX512] in { defm Z : avx512_cvt_fp_scalar, avx512_cvt_fp_sae_scalar, - EVEX_CD8<32, CD8VT1>, XS, EVEX_V512; + EVEX_CD8<32, CD8VT1>, XS; } } defm VCVTSD2SS : avx512_cvt_fp_scalar_sd2ss<0x5A, "vcvtsd2ss", Index: llvm/trunk/test/MC/X86/avx512-encodings.s =================================================================== --- llvm/trunk/test/MC/X86/avx512-encodings.s +++ llvm/trunk/test/MC/X86/avx512-encodings.s @@ -16441,15 +16441,15 @@ 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 @@ 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 @@ 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 Index: llvm/trunk/test/MC/X86/intel-syntax-avx512.s =================================================================== --- llvm/trunk/test/MC/X86/intel-syntax-avx512.s +++ llvm/trunk/test/MC/X86/intel-syntax-avx512.s @@ -2046,15 +2046,15 @@ 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 @@ 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 @@ 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 @@ 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}