dding test for fnstsw
[oota-llvm.git] / test / MC / X86 / avx512bw-encoding.s
1 // RUN: llvm-mc -triple x86_64-unknown-unknown -mcpu=skx  --show-encoding %s | FileCheck %s
2
3 // CHECK: vpblendmb %zmm25, %zmm18, %zmm17
4 // CHECK:  encoding: [0x62,0x82,0x6d,0x40,0x66,0xc9]
5           vpblendmb %zmm25, %zmm18, %zmm17
6
7 // CHECK: vpblendmb %zmm25, %zmm18, %zmm17 {%k5}
8 // CHECK:  encoding: [0x62,0x82,0x6d,0x45,0x66,0xc9]
9           vpblendmb %zmm25, %zmm18, %zmm17 {%k5}
10
11 // CHECK: vpblendmb %zmm25, %zmm18, %zmm17 {%k5} {z}
12 // CHECK:  encoding: [0x62,0x82,0x6d,0xc5,0x66,0xc9]
13           vpblendmb %zmm25, %zmm18, %zmm17 {%k5} {z}
14
15 // CHECK: vpblendmb (%rcx), %zmm18, %zmm17
16 // CHECK:  encoding: [0x62,0xe2,0x6d,0x40,0x66,0x09]
17           vpblendmb (%rcx), %zmm18, %zmm17
18
19 // CHECK: vpblendmb 291(%rax,%r14,8), %zmm18, %zmm17
20 // CHECK:  encoding: [0x62,0xa2,0x6d,0x40,0x66,0x8c,0xf0,0x23,0x01,0x00,0x00]
21           vpblendmb 291(%rax,%r14,8), %zmm18, %zmm17
22
23 // CHECK: vpblendmb 8128(%rdx), %zmm18, %zmm17
24 // CHECK:  encoding: [0x62,0xe2,0x6d,0x40,0x66,0x4a,0x7f]
25           vpblendmb 8128(%rdx), %zmm18, %zmm17
26
27 // CHECK: vpblendmb 8192(%rdx), %zmm18, %zmm17
28 // CHECK:  encoding: [0x62,0xe2,0x6d,0x40,0x66,0x8a,0x00,0x20,0x00,0x00]
29           vpblendmb 8192(%rdx), %zmm18, %zmm17
30
31 // CHECK: vpblendmb -8192(%rdx), %zmm18, %zmm17
32 // CHECK:  encoding: [0x62,0xe2,0x6d,0x40,0x66,0x4a,0x80]
33           vpblendmb -8192(%rdx), %zmm18, %zmm17
34
35 // CHECK: vpblendmb -8256(%rdx), %zmm18, %zmm17
36 // CHECK:  encoding: [0x62,0xe2,0x6d,0x40,0x66,0x8a,0xc0,0xdf,0xff,0xff]
37           vpblendmb -8256(%rdx), %zmm18, %zmm17
38
39 // CHECK: vpblendmw %zmm17, %zmm20, %zmm26
40 // CHECK:  encoding: [0x62,0x22,0xdd,0x40,0x66,0xd1]
41           vpblendmw %zmm17, %zmm20, %zmm26
42
43 // CHECK: vpblendmw %zmm17, %zmm20, %zmm26 {%k7}
44 // CHECK:  encoding: [0x62,0x22,0xdd,0x47,0x66,0xd1]
45           vpblendmw %zmm17, %zmm20, %zmm26 {%k7}
46
47 // CHECK: vpblendmw %zmm17, %zmm20, %zmm26 {%k7} {z}
48 // CHECK:  encoding: [0x62,0x22,0xdd,0xc7,0x66,0xd1]
49           vpblendmw %zmm17, %zmm20, %zmm26 {%k7} {z}
50
51 // CHECK: vpblendmw (%rcx), %zmm20, %zmm26
52 // CHECK:  encoding: [0x62,0x62,0xdd,0x40,0x66,0x11]
53           vpblendmw (%rcx), %zmm20, %zmm26
54
55 // CHECK: vpblendmw 291(%rax,%r14,8), %zmm20, %zmm26
56 // CHECK:  encoding: [0x62,0x22,0xdd,0x40,0x66,0x94,0xf0,0x23,0x01,0x00,0x00]
57           vpblendmw 291(%rax,%r14,8), %zmm20, %zmm26
58
59 // CHECK: vpblendmw 8128(%rdx), %zmm20, %zmm26
60 // CHECK:  encoding: [0x62,0x62,0xdd,0x40,0x66,0x52,0x7f]
61           vpblendmw 8128(%rdx), %zmm20, %zmm26
62
63 // CHECK: vpblendmw 8192(%rdx), %zmm20, %zmm26
64 // CHECK:  encoding: [0x62,0x62,0xdd,0x40,0x66,0x92,0x00,0x20,0x00,0x00]
65           vpblendmw 8192(%rdx), %zmm20, %zmm26
66
67 // CHECK: vpblendmw -8192(%rdx), %zmm20, %zmm26
68 // CHECK:  encoding: [0x62,0x62,0xdd,0x40,0x66,0x52,0x80]
69           vpblendmw -8192(%rdx), %zmm20, %zmm26
70
71 // CHECK: vpblendmw -8256(%rdx), %zmm20, %zmm26
72 // CHECK:  encoding: [0x62,0x62,0xdd,0x40,0x66,0x92,0xc0,0xdf,0xff,0xff]
73           vpblendmw -8256(%rdx), %zmm20, %zmm26
74
75 // CHECK: vptestmb %zmm19, %zmm17, %k5
76 // CHECK:  encoding: [0x62,0xb2,0x75,0x40,0x26,0xeb]
77           vptestmb %zmm19, %zmm17, %k5
78
79 // CHECK: vptestmb %zmm19, %zmm17, %k5 {%k3}
80 // CHECK:  encoding: [0x62,0xb2,0x75,0x43,0x26,0xeb]
81           vptestmb %zmm19, %zmm17, %k5 {%k3}
82
83 // CHECK: vptestmb (%rcx), %zmm17, %k5
84 // CHECK:  encoding: [0x62,0xf2,0x75,0x40,0x26,0x29]
85           vptestmb (%rcx), %zmm17, %k5
86
87 // CHECK: vptestmb 291(%rax,%r14,8), %zmm17, %k5
88 // CHECK:  encoding: [0x62,0xb2,0x75,0x40,0x26,0xac,0xf0,0x23,0x01,0x00,0x00]
89           vptestmb 291(%rax,%r14,8), %zmm17, %k5
90
91 // CHECK: vptestmb 8128(%rdx), %zmm17, %k5
92 // CHECK:  encoding: [0x62,0xf2,0x75,0x40,0x26,0x6a,0x7f]
93           vptestmb 8128(%rdx), %zmm17, %k5
94
95 // CHECK: vptestmb 8192(%rdx), %zmm17, %k5
96 // CHECK:  encoding: [0x62,0xf2,0x75,0x40,0x26,0xaa,0x00,0x20,0x00,0x00]
97           vptestmb 8192(%rdx), %zmm17, %k5
98
99 // CHECK: vptestmb -8192(%rdx), %zmm17, %k5
100 // CHECK:  encoding: [0x62,0xf2,0x75,0x40,0x26,0x6a,0x80]
101           vptestmb -8192(%rdx), %zmm17, %k5
102
103 // CHECK: vptestmb -8256(%rdx), %zmm17, %k5
104 // CHECK:  encoding: [0x62,0xf2,0x75,0x40,0x26,0xaa,0xc0,0xdf,0xff,0xff]
105           vptestmb -8256(%rdx), %zmm17, %k5
106
107 // CHECK: vptestmw %zmm19, %zmm29, %k4
108 // CHECK:  encoding: [0x62,0xb2,0x95,0x40,0x26,0xe3]
109           vptestmw %zmm19, %zmm29, %k4
110
111 // CHECK: vptestmw %zmm19, %zmm29, %k4 {%k2}
112 // CHECK:  encoding: [0x62,0xb2,0x95,0x42,0x26,0xe3]
113           vptestmw %zmm19, %zmm29, %k4 {%k2}
114
115 // CHECK: vptestmw (%rcx), %zmm29, %k4
116 // CHECK:  encoding: [0x62,0xf2,0x95,0x40,0x26,0x21]
117           vptestmw (%rcx), %zmm29, %k4
118
119 // CHECK: vptestmw 291(%rax,%r14,8), %zmm29, %k4
120 // CHECK:  encoding: [0x62,0xb2,0x95,0x40,0x26,0xa4,0xf0,0x23,0x01,0x00,0x00]
121           vptestmw 291(%rax,%r14,8), %zmm29, %k4
122
123 // CHECK: vptestmw 8128(%rdx), %zmm29, %k4
124 // CHECK:  encoding: [0x62,0xf2,0x95,0x40,0x26,0x62,0x7f]
125           vptestmw 8128(%rdx), %zmm29, %k4
126
127 // CHECK: vptestmw 8192(%rdx), %zmm29, %k4
128 // CHECK:  encoding: [0x62,0xf2,0x95,0x40,0x26,0xa2,0x00,0x20,0x00,0x00]
129           vptestmw 8192(%rdx), %zmm29, %k4
130
131 // CHECK: vptestmw -8192(%rdx), %zmm29, %k4
132 // CHECK:  encoding: [0x62,0xf2,0x95,0x40,0x26,0x62,0x80]
133           vptestmw -8192(%rdx), %zmm29, %k4
134
135 // CHECK: vptestmw -8256(%rdx), %zmm29, %k4
136 // CHECK:  encoding: [0x62,0xf2,0x95,0x40,0x26,0xa2,0xc0,0xdf,0xff,0xff]
137           vptestmw -8256(%rdx), %zmm29, %k4
138
139 // CHECK: vptestnmb %zmm23, %zmm24, %k2
140 // CHECK:  encoding: [0x62,0xb2,0x3e,0x40,0x26,0xd7]
141           vptestnmb %zmm23, %zmm24, %k2
142
143 // CHECK: vptestnmb %zmm23, %zmm24, %k2 {%k7}
144 // CHECK:  encoding: [0x62,0xb2,0x3e,0x47,0x26,0xd7]
145           vptestnmb %zmm23, %zmm24, %k2 {%k7}
146
147 // CHECK: vptestnmb (%rcx), %zmm24, %k2
148 // CHECK:  encoding: [0x62,0xf2,0x3e,0x40,0x26,0x11]
149           vptestnmb (%rcx), %zmm24, %k2
150
151 // CHECK: vptestnmb 291(%rax,%r14,8), %zmm24, %k2
152 // CHECK:  encoding: [0x62,0xb2,0x3e,0x40,0x26,0x94,0xf0,0x23,0x01,0x00,0x00]
153           vptestnmb 291(%rax,%r14,8), %zmm24, %k2
154
155 // CHECK: vptestnmb 8128(%rdx), %zmm24, %k2
156 // CHECK:  encoding: [0x62,0xf2,0x3e,0x40,0x26,0x52,0x7f]
157           vptestnmb 8128(%rdx), %zmm24, %k2
158
159 // CHECK: vptestnmb 8192(%rdx), %zmm24, %k2
160 // CHECK:  encoding: [0x62,0xf2,0x3e,0x40,0x26,0x92,0x00,0x20,0x00,0x00]
161           vptestnmb 8192(%rdx), %zmm24, %k2
162
163 // CHECK: vptestnmb -8192(%rdx), %zmm24, %k2
164 // CHECK:  encoding: [0x62,0xf2,0x3e,0x40,0x26,0x52,0x80]
165           vptestnmb -8192(%rdx), %zmm24, %k2
166
167 // CHECK: vptestnmb -8256(%rdx), %zmm24, %k2
168 // CHECK:  encoding: [0x62,0xf2,0x3e,0x40,0x26,0x92,0xc0,0xdf,0xff,0xff]
169           vptestnmb -8256(%rdx), %zmm24, %k2
170
171 // CHECK: vptestnmw %zmm27, %zmm18, %k4
172 // CHECK:  encoding: [0x62,0x92,0xee,0x40,0x26,0xe3]
173           vptestnmw %zmm27, %zmm18, %k4
174
175 // CHECK: vptestnmw %zmm27, %zmm18, %k4 {%k5}
176 // CHECK:  encoding: [0x62,0x92,0xee,0x45,0x26,0xe3]
177           vptestnmw %zmm27, %zmm18, %k4 {%k5}
178
179 // CHECK: vptestnmw (%rcx), %zmm18, %k4
180 // CHECK:  encoding: [0x62,0xf2,0xee,0x40,0x26,0x21]
181           vptestnmw (%rcx), %zmm18, %k4
182
183 // CHECK: vptestnmw 291(%rax,%r14,8), %zmm18, %k4
184 // CHECK:  encoding: [0x62,0xb2,0xee,0x40,0x26,0xa4,0xf0,0x23,0x01,0x00,0x00]
185           vptestnmw 291(%rax,%r14,8), %zmm18, %k4
186
187 // CHECK: vptestnmw 8128(%rdx), %zmm18, %k4
188 // CHECK:  encoding: [0x62,0xf2,0xee,0x40,0x26,0x62,0x7f]
189           vptestnmw 8128(%rdx), %zmm18, %k4
190
191 // CHECK: vptestnmw 8192(%rdx), %zmm18, %k4
192 // CHECK:  encoding: [0x62,0xf2,0xee,0x40,0x26,0xa2,0x00,0x20,0x00,0x00]
193           vptestnmw 8192(%rdx), %zmm18, %k4
194
195 // CHECK: vptestnmw -8192(%rdx), %zmm18, %k4
196 // CHECK:  encoding: [0x62,0xf2,0xee,0x40,0x26,0x62,0x80]
197           vptestnmw -8192(%rdx), %zmm18, %k4
198
199 // CHECK: vptestnmw -8256(%rdx), %zmm18, %k4
200 // CHECK:  encoding: [0x62,0xf2,0xee,0x40,0x26,0xa2,0xc0,0xdf,0xff,0xff]
201           vptestnmw -8256(%rdx), %zmm18, %k4
202
203 // CHECK: vptestnmb %zmm19, %zmm27, %k3
204 // CHECK:  encoding: [0x62,0xb2,0x26,0x40,0x26,0xdb]
205           vptestnmb %zmm19, %zmm27, %k3
206
207 // CHECK: vptestnmb %zmm19, %zmm27, %k3 {%k2}
208 // CHECK:  encoding: [0x62,0xb2,0x26,0x42,0x26,0xdb]
209           vptestnmb %zmm19, %zmm27, %k3 {%k2}
210
211 // CHECK: vptestnmb (%rcx), %zmm27, %k3
212 // CHECK:  encoding: [0x62,0xf2,0x26,0x40,0x26,0x19]
213           vptestnmb (%rcx), %zmm27, %k3
214
215 // CHECK: vptestnmb 4660(%rax,%r14,8), %zmm27, %k3
216 // CHECK:  encoding: [0x62,0xb2,0x26,0x40,0x26,0x9c,0xf0,0x34,0x12,0x00,0x00]
217           vptestnmb 4660(%rax,%r14,8), %zmm27, %k3
218
219 // CHECK: vptestnmb 8128(%rdx), %zmm27, %k3
220 // CHECK:  encoding: [0x62,0xf2,0x26,0x40,0x26,0x5a,0x7f]
221           vptestnmb 8128(%rdx), %zmm27, %k3
222
223 // CHECK: vptestnmb 8192(%rdx), %zmm27, %k3
224 // CHECK:  encoding: [0x62,0xf2,0x26,0x40,0x26,0x9a,0x00,0x20,0x00,0x00]
225           vptestnmb 8192(%rdx), %zmm27, %k3
226
227 // CHECK: vptestnmb -8192(%rdx), %zmm27, %k3
228 // CHECK:  encoding: [0x62,0xf2,0x26,0x40,0x26,0x5a,0x80]
229           vptestnmb -8192(%rdx), %zmm27, %k3
230
231 // CHECK: vptestnmb -8256(%rdx), %zmm27, %k3
232 // CHECK:  encoding: [0x62,0xf2,0x26,0x40,0x26,0x9a,0xc0,0xdf,0xff,0xff]
233           vptestnmb -8256(%rdx), %zmm27, %k3
234
235 // CHECK: vptestnmw %zmm21, %zmm17, %k2
236 // CHECK:  encoding: [0x62,0xb2,0xf6,0x40,0x26,0xd5]
237           vptestnmw %zmm21, %zmm17, %k2
238
239 // CHECK: vptestnmw %zmm21, %zmm17, %k2 {%k4}
240 // CHECK:  encoding: [0x62,0xb2,0xf6,0x44,0x26,0xd5]
241           vptestnmw %zmm21, %zmm17, %k2 {%k4}
242
243 // CHECK: vptestnmw (%rcx), %zmm17, %k2
244 // CHECK:  encoding: [0x62,0xf2,0xf6,0x40,0x26,0x11]
245           vptestnmw (%rcx), %zmm17, %k2
246
247 // CHECK: vptestnmw 4660(%rax,%r14,8), %zmm17, %k2
248 // CHECK:  encoding: [0x62,0xb2,0xf6,0x40,0x26,0x94,0xf0,0x34,0x12,0x00,0x00]
249           vptestnmw 4660(%rax,%r14,8), %zmm17, %k2
250
251 // CHECK: vptestnmw 8128(%rdx), %zmm17, %k2
252 // CHECK:  encoding: [0x62,0xf2,0xf6,0x40,0x26,0x52,0x7f]
253           vptestnmw 8128(%rdx), %zmm17, %k2
254
255 // CHECK: vptestnmw 8192(%rdx), %zmm17, %k2
256 // CHECK:  encoding: [0x62,0xf2,0xf6,0x40,0x26,0x92,0x00,0x20,0x00,0x00]
257           vptestnmw 8192(%rdx), %zmm17, %k2
258
259 // CHECK: vptestnmw -8192(%rdx), %zmm17, %k2
260 // CHECK:  encoding: [0x62,0xf2,0xf6,0x40,0x26,0x52,0x80]
261           vptestnmw -8192(%rdx), %zmm17, %k2
262
263 // CHECK: vptestnmw -8256(%rdx), %zmm17, %k2
264 // CHECK:  encoding: [0x62,0xf2,0xf6,0x40,0x26,0x92,0xc0,0xdf,0xff,0xff]
265           vptestnmw -8256(%rdx), %zmm17, %k2
266
267 // CHECK: vpmovb2m %zmm28, %k5
268 // CHECK:  encoding: [0x62,0x92,0x7e,0x48,0x29,0xec]
269           vpmovb2m %zmm28, %k5
270
271 // CHECK: vpmovw2m %zmm30, %k3
272 // CHECK:  encoding: [0x62,0x92,0xfe,0x48,0x29,0xde]
273           vpmovw2m %zmm30, %k3
274
275 // CHECK: vpmovm2b %k3, %zmm18
276 // CHECK:  encoding: [0x62,0xe2,0x7e,0x48,0x28,0xd3]
277           vpmovm2b %k3, %zmm18
278
279 // CHECK: vpmovm2w %k5, %zmm24
280 // CHECK:  encoding: [0x62,0x62,0xfe,0x48,0x28,0xc5]
281           vpmovm2w %k5, %zmm24
282