summaryrefslogtreecommitdiffstats
path: root/test/MC/X86/x86-64-avx512dq.s
diff options
context:
space:
mode:
Diffstat (limited to 'test/MC/X86/x86-64-avx512dq.s')
-rw-r--r--test/MC/X86/x86-64-avx512dq.s129
1 files changed, 129 insertions, 0 deletions
diff --git a/test/MC/X86/x86-64-avx512dq.s b/test/MC/X86/x86-64-avx512dq.s
new file mode 100644
index 0000000..aac1765
--- /dev/null
+++ b/test/MC/X86/x86-64-avx512dq.s
@@ -0,0 +1,129 @@
+// RUN: llvm-mc -triple x86_64-unknown-unknown -mcpu=knl -mattr=+avx512dq --show-encoding %s | FileCheck %s
+
+// CHECK: vpmullq %zmm18, %zmm24, %zmm18
+// CHECK: encoding: [0x62,0xa2,0xbd,0x40,0x40,0xd2]
+ vpmullq %zmm18, %zmm24, %zmm18
+
+// CHECK: vpmullq %zmm18, %zmm24, %zmm18 {%k2}
+// CHECK: encoding: [0x62,0xa2,0xbd,0x42,0x40,0xd2]
+ vpmullq %zmm18, %zmm24, %zmm18 {%k2}
+
+// CHECK: vpmullq %zmm18, %zmm24, %zmm18 {%k2} {z}
+// CHECK: encoding: [0x62,0xa2,0xbd,0xc2,0x40,0xd2]
+ vpmullq %zmm18, %zmm24, %zmm18 {%k2} {z}
+
+// CHECK: vpmullq (%rcx), %zmm24, %zmm18
+// CHECK: encoding: [0x62,0xe2,0xbd,0x40,0x40,0x11]
+ vpmullq (%rcx), %zmm24, %zmm18
+
+// CHECK: vpmullq 291(%rax,%r14,8), %zmm24, %zmm18
+// CHECK: encoding: [0x62,0xa2,0xbd,0x40,0x40,0x94,0xf0,0x23,0x01,0x00,0x00]
+ vpmullq 291(%rax,%r14,8), %zmm24, %zmm18
+
+// CHECK: vpmullq (%rcx){1to8}, %zmm24, %zmm18
+// CHECK: encoding: [0x62,0xe2,0xbd,0x50,0x40,0x11]
+ vpmullq (%rcx){1to8}, %zmm24, %zmm18
+
+// CHECK: vpmullq 8128(%rdx), %zmm24, %zmm18
+// CHECK: encoding: [0x62,0xe2,0xbd,0x40,0x40,0x52,0x7f]
+ vpmullq 8128(%rdx), %zmm24, %zmm18
+
+// CHECK: vpmullq 8192(%rdx), %zmm24, %zmm18
+// CHECK: encoding: [0x62,0xe2,0xbd,0x40,0x40,0x92,0x00,0x20,0x00,0x00]
+ vpmullq 8192(%rdx), %zmm24, %zmm18
+
+// CHECK: vpmullq -8192(%rdx), %zmm24, %zmm18
+// CHECK: encoding: [0x62,0xe2,0xbd,0x40,0x40,0x52,0x80]
+ vpmullq -8192(%rdx), %zmm24, %zmm18
+
+// CHECK: vpmullq -8256(%rdx), %zmm24, %zmm18
+// CHECK: encoding: [0x62,0xe2,0xbd,0x40,0x40,0x92,0xc0,0xdf,0xff,0xff]
+ vpmullq -8256(%rdx), %zmm24, %zmm18
+
+// CHECK: vpmullq 1016(%rdx){1to8}, %zmm24, %zmm18
+// CHECK: encoding: [0x62,0xe2,0xbd,0x50,0x40,0x52,0x7f]
+ vpmullq 1016(%rdx){1to8}, %zmm24, %zmm18
+
+// CHECK: vpmullq 1024(%rdx){1to8}, %zmm24, %zmm18
+// CHECK: encoding: [0x62,0xe2,0xbd,0x50,0x40,0x92,0x00,0x04,0x00,0x00]
+ vpmullq 1024(%rdx){1to8}, %zmm24, %zmm18
+
+// CHECK: vpmullq -1024(%rdx){1to8}, %zmm24, %zmm18
+// CHECK: encoding: [0x62,0xe2,0xbd,0x50,0x40,0x52,0x80]
+ vpmullq -1024(%rdx){1to8}, %zmm24, %zmm18
+
+// CHECK: vpmullq -1032(%rdx){1to8}, %zmm24, %zmm18
+// CHECK: encoding: [0x62,0xe2,0xbd,0x50,0x40,0x92,0xf8,0xfb,0xff,0xff]
+ vpmullq -1032(%rdx){1to8}, %zmm24, %zmm18
+
+// CHECK: kandb %k6, %k5, %k2
+// CHECK: encoding: [0xc5,0xd5,0x41,0xd6]
+ kandb %k6, %k5, %k2
+
+// CHECK: kandnb %k4, %k6, %k5
+// CHECK: encoding: [0xc5,0xcd,0x42,0xec]
+ kandnb %k4, %k6, %k5
+
+// CHECK: korb %k5, %k4, %k4
+// CHECK: encoding: [0xc5,0xdd,0x45,0xe5]
+ korb %k5, %k4, %k4
+
+// CHECK: kxnorb %k7, %k6, %k4
+// CHECK: encoding: [0xc5,0xcd,0x46,0xe7]
+ kxnorb %k7, %k6, %k4
+
+// CHECK: kxorb %k5, %k6, %k4
+// CHECK: encoding: [0xc5,0xcd,0x47,0xe5]
+ kxorb %k5, %k6, %k4
+
+// CHECK: knotb %k4, %k5
+// CHECK: encoding: [0xc5,0xf9,0x44,0xec]
+ knotb %k4, %k5
+
+// CHECK: knotb %k3, %k3
+// CHECK: encoding: [0xc5,0xf9,0x44,0xdb]
+ knotb %k3, %k3
+
+// CHECK: kmovb %k3, %k5
+// CHECK: encoding: [0xc5,0xf9,0x90,0xeb]
+ kmovb %k3, %k5
+
+// CHECK: kmovb (%rcx), %k5
+// CHECK: encoding: [0xc5,0xf9,0x90,0x29]
+ kmovb (%rcx), %k5
+
+// CHECK: kmovb 4660(%rax,%r14,8), %k5
+// CHECK: encoding: [0xc4,0xa1,0x79,0x90,0xac,0xf0,0x34,0x12,0x00,0x00]
+ kmovb 4660(%rax,%r14,8), %k5
+
+// CHECK: kmovb %k2, (%rcx)
+// CHECK: encoding: [0xc5,0xf9,0x91,0x11]
+ kmovb %k2, (%rcx)
+
+// CHECK: kmovb %k2, 4660(%rax,%r14,8)
+// CHECK: encoding: [0xc4,0xa1,0x79,0x91,0x94,0xf0,0x34,0x12,0x00,0x00]
+ kmovb %k2, 4660(%rax,%r14,8)
+
+// CHECK: kmovb %eax, %k2
+// CHECK: encoding: [0xc5,0xf9,0x92,0xd0]
+ kmovb %eax, %k2
+
+// CHECK: kmovb %ebp, %k2
+// CHECK: encoding: [0xc5,0xf9,0x92,0xd5]
+ kmovb %ebp, %k2
+
+// CHECK: kmovb %r13d, %k2
+// CHECK: encoding: [0xc4,0xc1,0x79,0x92,0xd5]
+ kmovb %r13d, %k2
+
+// CHECK: kmovb %k3, %eax
+// CHECK: encoding: [0xc5,0xf9,0x93,0xc3]
+ kmovb %k3, %eax
+
+// CHECK: kmovb %k3, %ebp
+// CHECK: encoding: [0xc5,0xf9,0x93,0xeb]
+ kmovb %k3, %ebp
+
+// CHECK: kmovb %k3, %r13d
+// CHECK: encoding: [0xc5,0x79,0x93,0xeb]
+ kmovb %k3, %r13d