From f93fe9050494b233c6b75ff2d62c40b4203d3a95 Mon Sep 17 00:00:00 2001 From: Adam Nemet Date: Thu, 26 Jun 2014 00:21:12 +0000 Subject: [PATCH] [X86] AVX512: Fix asm syntax for packed vcmp The *_alt defs for vcmp are used by the InstParser (the asm string in the main def is used by the InstPrinter) . The former was accepting vector registers as destination rather than mask registers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211750 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/X86InstrAVX512.td | 6 +++--- test/MC/X86/avx512-encodings.s | 8 ++++++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/Target/X86/X86InstrAVX512.td b/lib/Target/X86/X86InstrAVX512.td index 7cac5ebbece..110dba9c9ac 100644 --- a/lib/Target/X86/X86InstrAVX512.td +++ b/lib/Target/X86/X86InstrAVX512.td @@ -837,7 +837,7 @@ defm VPCMPUQZ : avx512_icmp_cc<0x1E, VK8, VR512, i512mem, memopv8i64, "vpcmpuq\t{$cc, $src2, $src1, $dst|$dst, $src1, $src2, $cc}">, VEX_W, EVEX_V512, EVEX_CD8<64, CD8VF>; -// avx512_cmp_packed - sse 1 & 2 compare packed instructions +// avx512_cmp_packed - compare packed instructions multiclass avx512_cmp_packed { @@ -861,11 +861,11 @@ multiclass avx512_cmp_packed; def rmi_alt : AVX512PIi8<0xC2, MRMSrcMem, - (outs RC:$dst), (ins RC:$src1, x86memop:$src2, i8imm:$cc), + (outs KRC:$dst), (ins RC:$src1, x86memop:$src2, i8imm:$cc), !strconcat("vcmp", suffix, " \t{$cc, $src2, $src1, $dst|$dst, $src1, $src2, $cc}"), [], d>; } diff --git a/test/MC/X86/avx512-encodings.s b/test/MC/X86/avx512-encodings.s index b9674231d95..e37c8b6db82 100644 --- a/test/MC/X86/avx512-encodings.s +++ b/test/MC/X86/avx512-encodings.s @@ -3175,3 +3175,11 @@ vmovntpd %zmm6, 4(%rdx) // CHECK: vmovntps // CHECK: encoding: [0x62,0x51,0x7c,0x48,0x2b,0x5c,0x8d,0x00] vmovntps %zmm11, (%r13,%rcx,4) + +// CHECK: vcmpps $14 +// CHECK: encoding: [0x62,0xb1,0x54,0x48,0xc2,0xd1,0x0e] +vcmpgtps %zmm17, %zmm5, %k2 + +// CHECK: vcmppd $13 +// CHECK: encoding: [0x62,0xd1,0xf5,0x40,0xc2,0x76,0x02,0x0d] +vcmpgepd 0x80(%r14), %zmm17, %k6