1 // RUN: llvm-mc -triple x86_64-unknown-unknown -mcpu=knl -mattr=+avx512dq --show-encoding %s | FileCheck %s
3 // CHECK: vpmullq %zmm18, %zmm24, %zmm18
4 // CHECK: encoding: [0x62,0xa2,0xbd,0x40,0x40,0xd2]
5 vpmullq %zmm18, %zmm24, %zmm18
7 // CHECK: vpmullq %zmm18, %zmm24, %zmm18 {%k2}
8 // CHECK: encoding: [0x62,0xa2,0xbd,0x42,0x40,0xd2]
9 vpmullq %zmm18, %zmm24, %zmm18 {%k2}
11 // CHECK: vpmullq %zmm18, %zmm24, %zmm18 {%k2} {z}
12 // CHECK: encoding: [0x62,0xa2,0xbd,0xc2,0x40,0xd2]
13 vpmullq %zmm18, %zmm24, %zmm18 {%k2} {z}
15 // CHECK: vpmullq (%rcx), %zmm24, %zmm18
16 // CHECK: encoding: [0x62,0xe2,0xbd,0x40,0x40,0x11]
17 vpmullq (%rcx), %zmm24, %zmm18
19 // CHECK: vpmullq 291(%rax,%r14,8), %zmm24, %zmm18
20 // CHECK: encoding: [0x62,0xa2,0xbd,0x40,0x40,0x94,0xf0,0x23,0x01,0x00,0x00]
21 vpmullq 291(%rax,%r14,8), %zmm24, %zmm18
23 // CHECK: vpmullq (%rcx){1to8}, %zmm24, %zmm18
24 // CHECK: encoding: [0x62,0xe2,0xbd,0x50,0x40,0x11]
25 vpmullq (%rcx){1to8}, %zmm24, %zmm18
27 // CHECK: vpmullq 8128(%rdx), %zmm24, %zmm18
28 // CHECK: encoding: [0x62,0xe2,0xbd,0x40,0x40,0x52,0x7f]
29 vpmullq 8128(%rdx), %zmm24, %zmm18
31 // CHECK: vpmullq 8192(%rdx), %zmm24, %zmm18
32 // CHECK: encoding: [0x62,0xe2,0xbd,0x40,0x40,0x92,0x00,0x20,0x00,0x00]
33 vpmullq 8192(%rdx), %zmm24, %zmm18
35 // CHECK: vpmullq -8192(%rdx), %zmm24, %zmm18
36 // CHECK: encoding: [0x62,0xe2,0xbd,0x40,0x40,0x52,0x80]
37 vpmullq -8192(%rdx), %zmm24, %zmm18
39 // CHECK: vpmullq -8256(%rdx), %zmm24, %zmm18
40 // CHECK: encoding: [0x62,0xe2,0xbd,0x40,0x40,0x92,0xc0,0xdf,0xff,0xff]
41 vpmullq -8256(%rdx), %zmm24, %zmm18
43 // CHECK: vpmullq 1016(%rdx){1to8}, %zmm24, %zmm18
44 // CHECK: encoding: [0x62,0xe2,0xbd,0x50,0x40,0x52,0x7f]
45 vpmullq 1016(%rdx){1to8}, %zmm24, %zmm18
47 // CHECK: vpmullq 1024(%rdx){1to8}, %zmm24, %zmm18
48 // CHECK: encoding: [0x62,0xe2,0xbd,0x50,0x40,0x92,0x00,0x04,0x00,0x00]
49 vpmullq 1024(%rdx){1to8}, %zmm24, %zmm18
51 // CHECK: vpmullq -1024(%rdx){1to8}, %zmm24, %zmm18
52 // CHECK: encoding: [0x62,0xe2,0xbd,0x50,0x40,0x52,0x80]
53 vpmullq -1024(%rdx){1to8}, %zmm24, %zmm18
55 // CHECK: vpmullq -1032(%rdx){1to8}, %zmm24, %zmm18
56 // CHECK: encoding: [0x62,0xe2,0xbd,0x50,0x40,0x92,0xf8,0xfb,0xff,0xff]
57 vpmullq -1032(%rdx){1to8}, %zmm24, %zmm18
59 // CHECK: kandb %k6, %k5, %k2
60 // CHECK: encoding: [0xc5,0xd5,0x41,0xd6]
63 // CHECK: kandnb %k4, %k6, %k5
64 // CHECK: encoding: [0xc5,0xcd,0x42,0xec]
67 // CHECK: korb %k5, %k4, %k4
68 // CHECK: encoding: [0xc5,0xdd,0x45,0xe5]
71 // CHECK: kxnorb %k7, %k6, %k4
72 // CHECK: encoding: [0xc5,0xcd,0x46,0xe7]
75 // CHECK: kxorb %k5, %k6, %k4
76 // CHECK: encoding: [0xc5,0xcd,0x47,0xe5]
79 // CHECK: knotb %k4, %k5
80 // CHECK: encoding: [0xc5,0xf9,0x44,0xec]
83 // CHECK: knotb %k3, %k3
84 // CHECK: encoding: [0xc5,0xf9,0x44,0xdb]
87 // CHECK: kmovb %k3, %k5
88 // CHECK: encoding: [0xc5,0xf9,0x90,0xeb]
91 // CHECK: kmovb (%rcx), %k5
92 // CHECK: encoding: [0xc5,0xf9,0x90,0x29]
95 // CHECK: kmovb 4660(%rax,%r14,8), %k5
96 // CHECK: encoding: [0xc4,0xa1,0x79,0x90,0xac,0xf0,0x34,0x12,0x00,0x00]
97 kmovb 4660(%rax,%r14,8), %k5
99 // CHECK: kmovb %k2, (%rcx)
100 // CHECK: encoding: [0xc5,0xf9,0x91,0x11]
103 // CHECK: kmovb %k2, 4660(%rax,%r14,8)
104 // CHECK: encoding: [0xc4,0xa1,0x79,0x91,0x94,0xf0,0x34,0x12,0x00,0x00]
105 kmovb %k2, 4660(%rax,%r14,8)
107 // CHECK: kmovb %eax, %k2
108 // CHECK: encoding: [0xc5,0xf9,0x92,0xd0]
111 // CHECK: kmovb %ebp, %k2
112 // CHECK: encoding: [0xc5,0xf9,0x92,0xd5]
115 // CHECK: kmovb %r13d, %k2
116 // CHECK: encoding: [0xc4,0xc1,0x79,0x92,0xd5]
119 // CHECK: kmovb %k3, %eax
120 // CHECK: encoding: [0xc5,0xf9,0x93,0xc3]
123 // CHECK: kmovb %k3, %ebp
124 // CHECK: encoding: [0xc5,0xf9,0x93,0xeb]
127 // CHECK: kmovb %k3, %r13d
128 // CHECK: encoding: [0xc5,0x79,0x93,0xeb]