[ARM] Better OR's for MVE compares
[llvm-core.git] / test / MC / X86 / avx512bw-encoding.s
blob317f7ae897395304ba72907cd82a608997fbe947
1 // RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s
3 // CHECK: vpblendmb %zmm25, %zmm18, %zmm17
4 // CHECK: encoding: [0x62,0x82,0x6d,0x40,0x66,0xc9]
5 vpblendmb %zmm25, %zmm18, %zmm17
7 // CHECK: vpblendmb %zmm25, %zmm18, %zmm17 {%k5}
8 // CHECK: encoding: [0x62,0x82,0x6d,0x45,0x66,0xc9]
9 vpblendmb %zmm25, %zmm18, %zmm17 {%k5}
11 // CHECK: vpblendmb %zmm25, %zmm18, %zmm17 {%k5} {z}
12 // CHECK: encoding: [0x62,0x82,0x6d,0xc5,0x66,0xc9]
13 vpblendmb %zmm25, %zmm18, %zmm17 {%k5} {z}
15 // CHECK: vpblendmb %zmm25, %zmm18, %zmm17 {%k5} {z}
16 // CHECK: encoding: [0x62,0x82,0x6d,0xc5,0x66,0xc9]
17 vpblendmb %zmm25, %zmm18, %zmm17 {z} {%k5}
19 // CHECK: vpblendmb (%rcx), %zmm18, %zmm17
20 // CHECK: encoding: [0x62,0xe2,0x6d,0x40,0x66,0x09]
21 vpblendmb (%rcx), %zmm18, %zmm17
23 // CHECK: vpblendmb 291(%rax,%r14,8), %zmm18, %zmm17
24 // CHECK: encoding: [0x62,0xa2,0x6d,0x40,0x66,0x8c,0xf0,0x23,0x01,0x00,0x00]
25 vpblendmb 291(%rax,%r14,8), %zmm18, %zmm17
27 // CHECK: vpblendmb 8128(%rdx), %zmm18, %zmm17
28 // CHECK: encoding: [0x62,0xe2,0x6d,0x40,0x66,0x4a,0x7f]
29 vpblendmb 8128(%rdx), %zmm18, %zmm17
31 // CHECK: vpblendmb 8192(%rdx), %zmm18, %zmm17
32 // CHECK: encoding: [0x62,0xe2,0x6d,0x40,0x66,0x8a,0x00,0x20,0x00,0x00]
33 vpblendmb 8192(%rdx), %zmm18, %zmm17
35 // CHECK: vpblendmb -8192(%rdx), %zmm18, %zmm17
36 // CHECK: encoding: [0x62,0xe2,0x6d,0x40,0x66,0x4a,0x80]
37 vpblendmb -8192(%rdx), %zmm18, %zmm17
39 // CHECK: vpblendmb -8256(%rdx), %zmm18, %zmm17
40 // CHECK: encoding: [0x62,0xe2,0x6d,0x40,0x66,0x8a,0xc0,0xdf,0xff,0xff]
41 vpblendmb -8256(%rdx), %zmm18, %zmm17
43 // CHECK: vpblendmw %zmm17, %zmm20, %zmm26
44 // CHECK: encoding: [0x62,0x22,0xdd,0x40,0x66,0xd1]
45 vpblendmw %zmm17, %zmm20, %zmm26
47 // CHECK: vpblendmw %zmm17, %zmm20, %zmm26 {%k7}
48 // CHECK: encoding: [0x62,0x22,0xdd,0x47,0x66,0xd1]
49 vpblendmw %zmm17, %zmm20, %zmm26 {%k7}
51 // CHECK: vpblendmw %zmm17, %zmm20, %zmm26 {%k7} {z}
52 // CHECK: encoding: [0x62,0x22,0xdd,0xc7,0x66,0xd1]
53 vpblendmw %zmm17, %zmm20, %zmm26 {%k7} {z}
55 // CHECK: vpblendmw (%rcx), %zmm20, %zmm26
56 // CHECK: encoding: [0x62,0x62,0xdd,0x40,0x66,0x11]
57 vpblendmw (%rcx), %zmm20, %zmm26
59 // CHECK: vpblendmw 291(%rax,%r14,8), %zmm20, %zmm26
60 // CHECK: encoding: [0x62,0x22,0xdd,0x40,0x66,0x94,0xf0,0x23,0x01,0x00,0x00]
61 vpblendmw 291(%rax,%r14,8), %zmm20, %zmm26
63 // CHECK: vpblendmw 8128(%rdx), %zmm20, %zmm26
64 // CHECK: encoding: [0x62,0x62,0xdd,0x40,0x66,0x52,0x7f]
65 vpblendmw 8128(%rdx), %zmm20, %zmm26
67 // CHECK: vpblendmw 8192(%rdx), %zmm20, %zmm26
68 // CHECK: encoding: [0x62,0x62,0xdd,0x40,0x66,0x92,0x00,0x20,0x00,0x00]
69 vpblendmw 8192(%rdx), %zmm20, %zmm26
71 // CHECK: vpblendmw -8192(%rdx), %zmm20, %zmm26
72 // CHECK: encoding: [0x62,0x62,0xdd,0x40,0x66,0x52,0x80]
73 vpblendmw -8192(%rdx), %zmm20, %zmm26
75 // CHECK: vpblendmw -8256(%rdx), %zmm20, %zmm26
76 // CHECK: encoding: [0x62,0x62,0xdd,0x40,0x66,0x92,0xc0,0xdf,0xff,0xff]
77 vpblendmw -8256(%rdx), %zmm20, %zmm26
79 // CHECK: vptestmb %zmm19, %zmm17, %k5
80 // CHECK: encoding: [0x62,0xb2,0x75,0x40,0x26,0xeb]
81 vptestmb %zmm19, %zmm17, %k5
83 // CHECK: vptestmb %zmm19, %zmm17, %k5 {%k3}
84 // CHECK: encoding: [0x62,0xb2,0x75,0x43,0x26,0xeb]
85 vptestmb %zmm19, %zmm17, %k5 {%k3}
87 // CHECK: vptestmb (%rcx), %zmm17, %k5
88 // CHECK: encoding: [0x62,0xf2,0x75,0x40,0x26,0x29]
89 vptestmb (%rcx), %zmm17, %k5
91 // CHECK: vptestmb 291(%rax,%r14,8), %zmm17, %k5
92 // CHECK: encoding: [0x62,0xb2,0x75,0x40,0x26,0xac,0xf0,0x23,0x01,0x00,0x00]
93 vptestmb 291(%rax,%r14,8), %zmm17, %k5
95 // CHECK: vptestmb 8128(%rdx), %zmm17, %k5
96 // CHECK: encoding: [0x62,0xf2,0x75,0x40,0x26,0x6a,0x7f]
97 vptestmb 8128(%rdx), %zmm17, %k5
99 // CHECK: vptestmb 8192(%rdx), %zmm17, %k5
100 // CHECK: encoding: [0x62,0xf2,0x75,0x40,0x26,0xaa,0x00,0x20,0x00,0x00]
101 vptestmb 8192(%rdx), %zmm17, %k5
103 // CHECK: vptestmb -8192(%rdx), %zmm17, %k5
104 // CHECK: encoding: [0x62,0xf2,0x75,0x40,0x26,0x6a,0x80]
105 vptestmb -8192(%rdx), %zmm17, %k5
107 // CHECK: vptestmb -8256(%rdx), %zmm17, %k5
108 // CHECK: encoding: [0x62,0xf2,0x75,0x40,0x26,0xaa,0xc0,0xdf,0xff,0xff]
109 vptestmb -8256(%rdx), %zmm17, %k5
111 // CHECK: vptestmw %zmm19, %zmm29, %k4
112 // CHECK: encoding: [0x62,0xb2,0x95,0x40,0x26,0xe3]
113 vptestmw %zmm19, %zmm29, %k4
115 // CHECK: vptestmw %zmm19, %zmm29, %k4 {%k2}
116 // CHECK: encoding: [0x62,0xb2,0x95,0x42,0x26,0xe3]
117 vptestmw %zmm19, %zmm29, %k4 {%k2}
119 // CHECK: vptestmw (%rcx), %zmm29, %k4
120 // CHECK: encoding: [0x62,0xf2,0x95,0x40,0x26,0x21]
121 vptestmw (%rcx), %zmm29, %k4
123 // CHECK: vptestmw 291(%rax,%r14,8), %zmm29, %k4
124 // CHECK: encoding: [0x62,0xb2,0x95,0x40,0x26,0xa4,0xf0,0x23,0x01,0x00,0x00]
125 vptestmw 291(%rax,%r14,8), %zmm29, %k4
127 // CHECK: vptestmw 8128(%rdx), %zmm29, %k4
128 // CHECK: encoding: [0x62,0xf2,0x95,0x40,0x26,0x62,0x7f]
129 vptestmw 8128(%rdx), %zmm29, %k4
131 // CHECK: vptestmw 8192(%rdx), %zmm29, %k4
132 // CHECK: encoding: [0x62,0xf2,0x95,0x40,0x26,0xa2,0x00,0x20,0x00,0x00]
133 vptestmw 8192(%rdx), %zmm29, %k4
135 // CHECK: vptestmw -8192(%rdx), %zmm29, %k4
136 // CHECK: encoding: [0x62,0xf2,0x95,0x40,0x26,0x62,0x80]
137 vptestmw -8192(%rdx), %zmm29, %k4
139 // CHECK: vptestmw -8256(%rdx), %zmm29, %k4
140 // CHECK: encoding: [0x62,0xf2,0x95,0x40,0x26,0xa2,0xc0,0xdf,0xff,0xff]
141 vptestmw -8256(%rdx), %zmm29, %k4
143 // CHECK: vptestnmb %zmm23, %zmm24, %k2
144 // CHECK: encoding: [0x62,0xb2,0x3e,0x40,0x26,0xd7]
145 vptestnmb %zmm23, %zmm24, %k2
147 // CHECK: vptestnmb %zmm23, %zmm24, %k2 {%k7}
148 // CHECK: encoding: [0x62,0xb2,0x3e,0x47,0x26,0xd7]
149 vptestnmb %zmm23, %zmm24, %k2 {%k7}
151 // CHECK: vptestnmb (%rcx), %zmm24, %k2
152 // CHECK: encoding: [0x62,0xf2,0x3e,0x40,0x26,0x11]
153 vptestnmb (%rcx), %zmm24, %k2
155 // CHECK: vptestnmb 291(%rax,%r14,8), %zmm24, %k2
156 // CHECK: encoding: [0x62,0xb2,0x3e,0x40,0x26,0x94,0xf0,0x23,0x01,0x00,0x00]
157 vptestnmb 291(%rax,%r14,8), %zmm24, %k2
159 // CHECK: vptestnmb 8128(%rdx), %zmm24, %k2
160 // CHECK: encoding: [0x62,0xf2,0x3e,0x40,0x26,0x52,0x7f]
161 vptestnmb 8128(%rdx), %zmm24, %k2
163 // CHECK: vptestnmb 8192(%rdx), %zmm24, %k2
164 // CHECK: encoding: [0x62,0xf2,0x3e,0x40,0x26,0x92,0x00,0x20,0x00,0x00]
165 vptestnmb 8192(%rdx), %zmm24, %k2
167 // CHECK: vptestnmb -8192(%rdx), %zmm24, %k2
168 // CHECK: encoding: [0x62,0xf2,0x3e,0x40,0x26,0x52,0x80]
169 vptestnmb -8192(%rdx), %zmm24, %k2
171 // CHECK: vptestnmb -8256(%rdx), %zmm24, %k2
172 // CHECK: encoding: [0x62,0xf2,0x3e,0x40,0x26,0x92,0xc0,0xdf,0xff,0xff]
173 vptestnmb -8256(%rdx), %zmm24, %k2
175 // CHECK: vptestnmw %zmm27, %zmm18, %k4
176 // CHECK: encoding: [0x62,0x92,0xee,0x40,0x26,0xe3]
177 vptestnmw %zmm27, %zmm18, %k4
179 // CHECK: vptestnmw %zmm27, %zmm18, %k4 {%k5}
180 // CHECK: encoding: [0x62,0x92,0xee,0x45,0x26,0xe3]
181 vptestnmw %zmm27, %zmm18, %k4 {%k5}
183 // CHECK: vptestnmw (%rcx), %zmm18, %k4
184 // CHECK: encoding: [0x62,0xf2,0xee,0x40,0x26,0x21]
185 vptestnmw (%rcx), %zmm18, %k4
187 // CHECK: vptestnmw 291(%rax,%r14,8), %zmm18, %k4
188 // CHECK: encoding: [0x62,0xb2,0xee,0x40,0x26,0xa4,0xf0,0x23,0x01,0x00,0x00]
189 vptestnmw 291(%rax,%r14,8), %zmm18, %k4
191 // CHECK: vptestnmw 8128(%rdx), %zmm18, %k4
192 // CHECK: encoding: [0x62,0xf2,0xee,0x40,0x26,0x62,0x7f]
193 vptestnmw 8128(%rdx), %zmm18, %k4
195 // CHECK: vptestnmw 8192(%rdx), %zmm18, %k4
196 // CHECK: encoding: [0x62,0xf2,0xee,0x40,0x26,0xa2,0x00,0x20,0x00,0x00]
197 vptestnmw 8192(%rdx), %zmm18, %k4
199 // CHECK: vptestnmw -8192(%rdx), %zmm18, %k4
200 // CHECK: encoding: [0x62,0xf2,0xee,0x40,0x26,0x62,0x80]
201 vptestnmw -8192(%rdx), %zmm18, %k4
203 // CHECK: vptestnmw -8256(%rdx), %zmm18, %k4
204 // CHECK: encoding: [0x62,0xf2,0xee,0x40,0x26,0xa2,0xc0,0xdf,0xff,0xff]
205 vptestnmw -8256(%rdx), %zmm18, %k4
207 // CHECK: vptestnmb %zmm19, %zmm27, %k3
208 // CHECK: encoding: [0x62,0xb2,0x26,0x40,0x26,0xdb]
209 vptestnmb %zmm19, %zmm27, %k3
211 // CHECK: vptestnmb %zmm19, %zmm27, %k3 {%k2}
212 // CHECK: encoding: [0x62,0xb2,0x26,0x42,0x26,0xdb]
213 vptestnmb %zmm19, %zmm27, %k3 {%k2}
215 // CHECK: vptestnmb (%rcx), %zmm27, %k3
216 // CHECK: encoding: [0x62,0xf2,0x26,0x40,0x26,0x19]
217 vptestnmb (%rcx), %zmm27, %k3
219 // CHECK: vptestnmb 4660(%rax,%r14,8), %zmm27, %k3
220 // CHECK: encoding: [0x62,0xb2,0x26,0x40,0x26,0x9c,0xf0,0x34,0x12,0x00,0x00]
221 vptestnmb 4660(%rax,%r14,8), %zmm27, %k3
223 // CHECK: vptestnmb 8128(%rdx), %zmm27, %k3
224 // CHECK: encoding: [0x62,0xf2,0x26,0x40,0x26,0x5a,0x7f]
225 vptestnmb 8128(%rdx), %zmm27, %k3
227 // CHECK: vptestnmb 8192(%rdx), %zmm27, %k3
228 // CHECK: encoding: [0x62,0xf2,0x26,0x40,0x26,0x9a,0x00,0x20,0x00,0x00]
229 vptestnmb 8192(%rdx), %zmm27, %k3
231 // CHECK: vptestnmb -8192(%rdx), %zmm27, %k3
232 // CHECK: encoding: [0x62,0xf2,0x26,0x40,0x26,0x5a,0x80]
233 vptestnmb -8192(%rdx), %zmm27, %k3
235 // CHECK: vptestnmb -8256(%rdx), %zmm27, %k3
236 // CHECK: encoding: [0x62,0xf2,0x26,0x40,0x26,0x9a,0xc0,0xdf,0xff,0xff]
237 vptestnmb -8256(%rdx), %zmm27, %k3
239 // CHECK: vptestnmw %zmm21, %zmm17, %k2
240 // CHECK: encoding: [0x62,0xb2,0xf6,0x40,0x26,0xd5]
241 vptestnmw %zmm21, %zmm17, %k2
243 // CHECK: vptestnmw %zmm21, %zmm17, %k2 {%k4}
244 // CHECK: encoding: [0x62,0xb2,0xf6,0x44,0x26,0xd5]
245 vptestnmw %zmm21, %zmm17, %k2 {%k4}
247 // CHECK: vptestnmw (%rcx), %zmm17, %k2
248 // CHECK: encoding: [0x62,0xf2,0xf6,0x40,0x26,0x11]
249 vptestnmw (%rcx), %zmm17, %k2
251 // CHECK: vptestnmw 4660(%rax,%r14,8), %zmm17, %k2
252 // CHECK: encoding: [0x62,0xb2,0xf6,0x40,0x26,0x94,0xf0,0x34,0x12,0x00,0x00]
253 vptestnmw 4660(%rax,%r14,8), %zmm17, %k2
255 // CHECK: vptestnmw 8128(%rdx), %zmm17, %k2
256 // CHECK: encoding: [0x62,0xf2,0xf6,0x40,0x26,0x52,0x7f]
257 vptestnmw 8128(%rdx), %zmm17, %k2
259 // CHECK: vptestnmw 8192(%rdx), %zmm17, %k2
260 // CHECK: encoding: [0x62,0xf2,0xf6,0x40,0x26,0x92,0x00,0x20,0x00,0x00]
261 vptestnmw 8192(%rdx), %zmm17, %k2
263 // CHECK: vptestnmw -8192(%rdx), %zmm17, %k2
264 // CHECK: encoding: [0x62,0xf2,0xf6,0x40,0x26,0x52,0x80]
265 vptestnmw -8192(%rdx), %zmm17, %k2
267 // CHECK: vptestnmw -8256(%rdx), %zmm17, %k2
268 // CHECK: encoding: [0x62,0xf2,0xf6,0x40,0x26,0x92,0xc0,0xdf,0xff,0xff]
269 vptestnmw -8256(%rdx), %zmm17, %k2
271 // CHECK: vpmovb2m %zmm28, %k5
272 // CHECK: encoding: [0x62,0x92,0x7e,0x48,0x29,0xec]
273 vpmovb2m %zmm28, %k5
275 // CHECK: vpmovw2m %zmm30, %k3
276 // CHECK: encoding: [0x62,0x92,0xfe,0x48,0x29,0xde]
277 vpmovw2m %zmm30, %k3
279 // CHECK: vpmovm2b %k3, %zmm18
280 // CHECK: encoding: [0x62,0xe2,0x7e,0x48,0x28,0xd3]
281 vpmovm2b %k3, %zmm18
283 // CHECK: vpmovm2w %k5, %zmm24
284 // CHECK: encoding: [0x62,0x62,0xfe,0x48,0x28,0xc5]
285 vpmovm2w %k5, %zmm24