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 |