From: Adam Nemet Date: Tue, 1 Jul 2014 18:03:45 +0000 (+0000) Subject: [X86] AVX512: Allow writemasks with vpcmp X-Git-Url: http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=commitdiff_plain;h=1cbd129d6a4bf1227e2c4d11e946ed8e1e85c527 [X86] AVX512: Allow writemasks with vpcmp For now I only updated the _alt variants. The main variants are used by codegen and that will need a bit more work to trigger. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212114 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/X86/X86InstrAVX512.td b/lib/Target/X86/X86InstrAVX512.td index 4a207348b1e..02df80e5666 100644 --- a/lib/Target/X86/X86InstrAVX512.td +++ b/lib/Target/X86/X86InstrAVX512.td @@ -836,11 +836,21 @@ multiclass avx512_icmp_cc opc, RegisterClass KRC, !strconcat("vpcmp", Suffix, "\t{$cc, $src2, $src1, $dst|$dst, $src1, $src2, $cc}"), [], IIC_SSE_ALU_F32P_RR>, EVEX_4V; + def rrik_alt : AVX512AIi8, EVEX_4V, EVEX_K; def rmi_alt : AVX512AIi8, EVEX_4V; + def rmik_alt : AVX512AIi8, EVEX_4V, EVEX_K; } } diff --git a/test/MC/X86/avx512-encodings.s b/test/MC/X86/avx512-encodings.s index 97841fa0728..e83cf02df4c 100644 --- a/test/MC/X86/avx512-encodings.s +++ b/test/MC/X86/avx512-encodings.s @@ -3191,3 +3191,11 @@ vcmpgtps %zmm17, %zmm5, %k2 // CHECK: vcmppd $13 // CHECK: encoding: [0x62,0xd1,0xf5,0x40,0xc2,0x76,0x02,0x0d] vcmpgepd 0x80(%r14), %zmm17, %k6 + +// CHECK: vpcmpd $1, +// CHECK: encoding: [0x62,0x93,0x45,0x4c,0x1f,0xe8,0x01] +vpcmpd $1, %zmm24, %zmm7, %k5{%k4} + +// CHECK: vpcmpuq $2, +// CHECK: encoding: [0x62,0xf3,0xf5,0x47,0x1e,0x72,0x01,0x02] +vpcmpuq $2, 0x40(%rdx), %zmm17, %k6{%k7}