diff options
| -rw-r--r-- | llvm/lib/Target/X86/X86InstrSSE.td | 4 | ||||
| -rw-r--r-- | llvm/test/MC/Disassembler/X86/x86-64.txt | 6 | 
2 files changed, 8 insertions, 2 deletions
diff --git a/llvm/lib/Target/X86/X86InstrSSE.td b/llvm/lib/Target/X86/X86InstrSSE.td index cf375eae42d..1e6cc24c988 100644 --- a/llvm/lib/Target/X86/X86InstrSSE.td +++ b/llvm/lib/Target/X86/X86InstrSSE.td @@ -2036,11 +2036,11 @@ defm VCMPPD : sse12_cmp_packed<VR128, f128mem, AVXCC, v2f64,  defm VCMPPSY : sse12_cmp_packed<VR256, f256mem, AVXCC, v8f32,                 "cmp${cc}ps\t{$src2, $src1, $dst|$dst, $src1, $src2}",                 "cmpps\t{$cc, $src2, $src1, $dst|$dst, $src1, $src2, $cc}", -               WriteFCmp, SSEPackedSingle, loadv8f32>, PS, VEX_4V, VEX_L; +               WriteFCmp, SSEPackedSingle, loadv8f32>, PS, VEX_4V, VEX_L, VEX_WIG;  defm VCMPPDY : sse12_cmp_packed<VR256, f256mem, AVXCC, v4f64,                 "cmp${cc}pd\t{$src2, $src1, $dst|$dst, $src1, $src2}",                 "cmppd\t{$cc, $src2, $src1, $dst|$dst, $src1, $src2, $cc}", -               WriteFCmp, SSEPackedDouble, loadv4f64>, PD, VEX_4V, VEX_L; +               WriteFCmp, SSEPackedDouble, loadv4f64>, PD, VEX_4V, VEX_L, VEX_WIG;  let Constraints = "$src1 = $dst" in {    defm CMPPS : sse12_cmp_packed<VR128, f128mem, SSECC, v4f32,                   "cmp${cc}ps\t{$src2, $dst|$dst, $src2}", diff --git a/llvm/test/MC/Disassembler/X86/x86-64.txt b/llvm/test/MC/Disassembler/X86/x86-64.txt index eeba5e3f9de..ee9f3bfe9d8 100644 --- a/llvm/test/MC/Disassembler/X86/x86-64.txt +++ b/llvm/test/MC/Disassembler/X86/x86-64.txt @@ -38,6 +38,12 @@  # CHECK: vcmpeqsd  0xc5 0x07 0xc2 0xc7 0x00 +# CHECK: vcmptrue_usps %ymm7, %ymm15, %ymm0 +0xc4 0xe1 0x84 0xc2 0xc7 0x1f + +# CHECK: vcmptrue_uspd %ymm7, %ymm15, %ymm0 +0xc4 0xe1 0x85 0xc2 0xc7 0x1f +  # CHECK: cmpeqps  0x0f 0xc2 0xc7 0x00  | 

