1 // RUN: llvm-mc -triple x86_64-unknown-unknown -mcpu=knl --show-encoding %s | FileCheck %s
3 // CHECK: vaddpd -8192(%rdx), %zmm27, %zmm8
4 // CHECK: encoding: [0x62,0x71,0xa5,0x40,0x58,0x42,0x80]
5 vaddpd -8192(%rdx), %zmm27, %zmm8
7 // CHECK: vaddpd -1024(%rdx){1to8}, %zmm27, %zmm8
8 // CHECK: encoding: [0x62,0x71,0xa5,0x50,0x58,0x42,0x80]
9 vaddpd -1024(%rdx){1to8}, %zmm27, %zmm8
11 // CHECK: vaddps -8192(%rdx), %zmm13, %zmm18
12 // CHECK: encoding: [0x62,0xe1,0x14,0x48,0x58,0x52,0x80]
13 vaddps -8192(%rdx), %zmm13, %zmm18
15 // CHECK: vaddps -512(%rdx){1to16}, %zmm13, %zmm18
16 // CHECK: encoding: [0x62,0xe1,0x14,0x58,0x58,0x52,0x80]
17 vaddps -512(%rdx){1to16}, %zmm13, %zmm18
19 // CHECK: vdivpd -8192(%rdx), %zmm6, %zmm18
20 // CHECK: encoding: [0x62,0xe1,0xcd,0x48,0x5e,0x52,0x80]
21 vdivpd -8192(%rdx), %zmm6, %zmm18
23 // CHECK: vdivpd -1024(%rdx){1to8}, %zmm6, %zmm18
24 // CHECK: encoding: [0x62,0xe1,0xcd,0x58,0x5e,0x52,0x80]
25 vdivpd -1024(%rdx){1to8}, %zmm6, %zmm18
27 // CHECK: vdivps -8192(%rdx), %zmm23, %zmm23
28 // CHECK: encoding: [0x62,0xe1,0x44,0x40,0x5e,0x7a,0x80]
29 vdivps -8192(%rdx), %zmm23, %zmm23
31 // CHECK: vdivps -512(%rdx){1to16}, %zmm23, %zmm23
32 // CHECK: encoding: [0x62,0xe1,0x44,0x50,0x5e,0x7a,0x80]
33 vdivps -512(%rdx){1to16}, %zmm23, %zmm23
35 // CHECK: vmaxpd -8192(%rdx), %zmm28, %zmm30
36 // CHECK: encoding: [0x62,0x61,0x9d,0x40,0x5f,0x72,0x80]
37 vmaxpd -8192(%rdx), %zmm28, %zmm30
39 // CHECK: vmaxpd -1024(%rdx){1to8}, %zmm28, %zmm30
40 // CHECK: encoding: [0x62,0x61,0x9d,0x50,0x5f,0x72,0x80]
41 vmaxpd -1024(%rdx){1to8}, %zmm28, %zmm30
43 // CHECK: vmaxps -8192(%rdx), %zmm6, %zmm25
44 // CHECK: encoding: [0x62,0x61,0x4c,0x48,0x5f,0x4a,0x80]
45 vmaxps -8192(%rdx), %zmm6, %zmm25
47 // CHECK: vmaxps -512(%rdx){1to16}, %zmm6, %zmm25
48 // CHECK: encoding: [0x62,0x61,0x4c,0x58,0x5f,0x4a,0x80]
49 vmaxps -512(%rdx){1to16}, %zmm6, %zmm25
51 // CHECK: vminpd -8192(%rdx), %zmm6, %zmm6
52 // CHECK: encoding: [0x62,0xf1,0xcd,0x48,0x5d,0x72,0x80]
53 vminpd -8192(%rdx), %zmm6, %zmm6
55 // CHECK: vminpd -1024(%rdx){1to8}, %zmm6, %zmm6
56 // CHECK: encoding: [0x62,0xf1,0xcd,0x58,0x5d,0x72,0x80]
57 vminpd -1024(%rdx){1to8}, %zmm6, %zmm6
59 // CHECK: vminps -8192(%rdx), %zmm3, %zmm3
60 // CHECK: encoding: [0x62,0xf1,0x64,0x48,0x5d,0x5a,0x80]
61 vminps -8192(%rdx), %zmm3, %zmm3
63 // CHECK: vminps -512(%rdx){1to16}, %zmm3, %zmm3
64 // CHECK: encoding: [0x62,0xf1,0x64,0x58,0x5d,0x5a,0x80]
65 vminps -512(%rdx){1to16}, %zmm3, %zmm3
67 // CHECK: vmulpd -8192(%rdx), %zmm4, %zmm24
68 // CHECK: encoding: [0x62,0x61,0xdd,0x48,0x59,0x42,0x80]
69 vmulpd -8192(%rdx), %zmm4, %zmm24
71 // CHECK: vmulpd -1024(%rdx){1to8}, %zmm4, %zmm24
72 // CHECK: encoding: [0x62,0x61,0xdd,0x58,0x59,0x42,0x80]
73 vmulpd -1024(%rdx){1to8}, %zmm4, %zmm24
75 // CHECK: vmulps -8192(%rdx), %zmm6, %zmm3
76 // CHECK: encoding: [0x62,0xf1,0x4c,0x48,0x59,0x5a,0x80]
77 vmulps -8192(%rdx), %zmm6, %zmm3
79 // CHECK: vmulps -512(%rdx){1to16}, %zmm6, %zmm3
80 // CHECK: encoding: [0x62,0xf1,0x4c,0x58,0x59,0x5a,0x80]
81 vmulps -512(%rdx){1to16}, %zmm6, %zmm3
83 // CHECK: vsubpd -8192(%rdx), %zmm12, %zmm9
84 // CHECK: encoding: [0x62,0x71,0x9d,0x48,0x5c,0x4a,0x80]
85 vsubpd -8192(%rdx), %zmm12, %zmm9
87 // CHECK: vsubpd -1024(%rdx){1to8}, %zmm12, %zmm9
88 // CHECK: encoding: [0x62,0x71,0x9d,0x58,0x5c,0x4a,0x80]
89 vsubpd -1024(%rdx){1to8}, %zmm12, %zmm9
91 // CHECK: vsubps -8192(%rdx), %zmm27, %zmm14
92 // CHECK: encoding: [0x62,0x71,0x24,0x40,0x5c,0x72,0x80]
93 vsubps -8192(%rdx), %zmm27, %zmm14
95 // CHECK: vsubps -512(%rdx){1to16}, %zmm27, %zmm14
96 // CHECK: encoding: [0x62,0x71,0x24,0x50,0x5c,0x72,0x80]
97 vsubps -512(%rdx){1to16}, %zmm27, %zmm14
99 // CHECK: vaddpd %zmm6, %zmm27, %zmm8
100 // CHECK: encoding: [0x62,0x71,0xa5,0x40,0x58,0xc6]
101 vaddpd %zmm6, %zmm27, %zmm8
103 // CHECK: vaddpd %zmm6, %zmm27, %zmm8 {%k7}
104 // CHECK: encoding: [0x62,0x71,0xa5,0x47,0x58,0xc6]
105 vaddpd %zmm6, %zmm27, %zmm8 {%k7}
107 // CHECK: vaddpd %zmm6, %zmm27, %zmm8 {%k7} {z}
108 // CHECK: encoding: [0x62,0x71,0xa5,0xc7,0x58,0xc6]
109 vaddpd %zmm6, %zmm27, %zmm8 {%k7} {z}
111 // CHECK: vaddpd (%rcx), %zmm27, %zmm8
112 // CHECK: encoding: [0x62,0x71,0xa5,0x40,0x58,0x01]
113 vaddpd (%rcx), %zmm27, %zmm8
115 // CHECK: vaddpd 291(%rax,%r14,8), %zmm27, %zmm8
116 // CHECK: encoding: [0x62,0x31,0xa5,0x40,0x58,0x84,0xf0,0x23,0x01,0x00,0x00]
117 vaddpd 291(%rax,%r14,8), %zmm27, %zmm8
119 // CHECK: vaddpd (%rcx){1to8}, %zmm27, %zmm8
120 // CHECK: encoding: [0x62,0x71,0xa5,0x50,0x58,0x01]
121 vaddpd (%rcx){1to8}, %zmm27, %zmm8
123 // CHECK: vaddpd 8128(%rdx), %zmm27, %zmm8
124 // CHECK: encoding: [0x62,0x71,0xa5,0x40,0x58,0x42,0x7f]
125 vaddpd 8128(%rdx), %zmm27, %zmm8
127 // CHECK: vaddpd 8192(%rdx), %zmm27, %zmm8
128 // CHECK: encoding: [0x62,0x71,0xa5,0x40,0x58,0x82,0x00,0x20,0x00,0x00]
129 vaddpd 8192(%rdx), %zmm27, %zmm8
131 // CHECK: vaddpd -8256(%rdx), %zmm27, %zmm8
132 // CHECK: encoding: [0x62,0x71,0xa5,0x40,0x58,0x82,0xc0,0xdf,0xff,0xff]
133 vaddpd -8256(%rdx), %zmm27, %zmm8
135 // CHECK: vaddpd 1016(%rdx){1to8}, %zmm27, %zmm8
136 // CHECK: encoding: [0x62,0x71,0xa5,0x50,0x58,0x42,0x7f]
137 vaddpd 1016(%rdx){1to8}, %zmm27, %zmm8
139 // CHECK: vaddpd 1024(%rdx){1to8}, %zmm27, %zmm8
140 // CHECK: encoding: [0x62,0x71,0xa5,0x50,0x58,0x82,0x00,0x04,0x00,0x00]
141 vaddpd 1024(%rdx){1to8}, %zmm27, %zmm8
143 // CHECK: vaddpd -1032(%rdx){1to8}, %zmm27, %zmm8
144 // CHECK: encoding: [0x62,0x71,0xa5,0x50,0x58,0x82,0xf8,0xfb,0xff,0xff]
145 vaddpd -1032(%rdx){1to8}, %zmm27, %zmm8
147 // CHECK: vaddps %zmm2, %zmm13, %zmm18
148 // CHECK: encoding: [0x62,0xe1,0x14,0x48,0x58,0xd2]
149 vaddps %zmm2, %zmm13, %zmm18
151 // CHECK: vaddps %zmm2, %zmm13, %zmm18 {%k4}
152 // CHECK: encoding: [0x62,0xe1,0x14,0x4c,0x58,0xd2]
153 vaddps %zmm2, %zmm13, %zmm18 {%k4}
155 // CHECK: vaddps %zmm2, %zmm13, %zmm18 {%k4} {z}
156 // CHECK: encoding: [0x62,0xe1,0x14,0xcc,0x58,0xd2]
157 vaddps %zmm2, %zmm13, %zmm18 {%k4} {z}
159 // CHECK: vaddps (%rcx), %zmm13, %zmm18
160 // CHECK: encoding: [0x62,0xe1,0x14,0x48,0x58,0x11]
161 vaddps (%rcx), %zmm13, %zmm18
163 // CHECK: vaddps 291(%rax,%r14,8), %zmm13, %zmm18
164 // CHECK: encoding: [0x62,0xa1,0x14,0x48,0x58,0x94,0xf0,0x23,0x01,0x00,0x00]
165 vaddps 291(%rax,%r14,8), %zmm13, %zmm18
167 // CHECK: vaddps (%rcx){1to16}, %zmm13, %zmm18
168 // CHECK: encoding: [0x62,0xe1,0x14,0x58,0x58,0x11]
169 vaddps (%rcx){1to16}, %zmm13, %zmm18
171 // CHECK: vaddps 8128(%rdx), %zmm13, %zmm18
172 // CHECK: encoding: [0x62,0xe1,0x14,0x48,0x58,0x52,0x7f]
173 vaddps 8128(%rdx), %zmm13, %zmm18
175 // CHECK: vaddps 8192(%rdx), %zmm13, %zmm18
176 // CHECK: encoding: [0x62,0xe1,0x14,0x48,0x58,0x92,0x00,0x20,0x00,0x00]
177 vaddps 8192(%rdx), %zmm13, %zmm18
179 // CHECK: vaddps -8256(%rdx), %zmm13, %zmm18
180 // CHECK: encoding: [0x62,0xe1,0x14,0x48,0x58,0x92,0xc0,0xdf,0xff,0xff]
181 vaddps -8256(%rdx), %zmm13, %zmm18
183 // CHECK: vaddps 508(%rdx){1to16}, %zmm13, %zmm18
184 // CHECK: encoding: [0x62,0xe1,0x14,0x58,0x58,0x52,0x7f]
185 vaddps 508(%rdx){1to16}, %zmm13, %zmm18
187 // CHECK: vaddps 512(%rdx){1to16}, %zmm13, %zmm18
188 // CHECK: encoding: [0x62,0xe1,0x14,0x58,0x58,0x92,0x00,0x02,0x00,0x00]
189 vaddps 512(%rdx){1to16}, %zmm13, %zmm18
191 // CHECK: vaddps -516(%rdx){1to16}, %zmm13, %zmm18
192 // CHECK: encoding: [0x62,0xe1,0x14,0x58,0x58,0x92,0xfc,0xfd,0xff,0xff]
193 vaddps -516(%rdx){1to16}, %zmm13, %zmm18
195 // CHECK: vdivpd %zmm11, %zmm6, %zmm18
196 // CHECK: encoding: [0x62,0xc1,0xcd,0x48,0x5e,0xd3]
197 vdivpd %zmm11, %zmm6, %zmm18
199 // CHECK: vdivpd %zmm11, %zmm6, %zmm18 {%k4}
200 // CHECK: encoding: [0x62,0xc1,0xcd,0x4c,0x5e,0xd3]
201 vdivpd %zmm11, %zmm6, %zmm18 {%k4}
203 // CHECK: vdivpd %zmm11, %zmm6, %zmm18 {%k4} {z}
204 // CHECK: encoding: [0x62,0xc1,0xcd,0xcc,0x5e,0xd3]
205 vdivpd %zmm11, %zmm6, %zmm18 {%k4} {z}
207 // CHECK: vdivpd (%rcx), %zmm6, %zmm18
208 // CHECK: encoding: [0x62,0xe1,0xcd,0x48,0x5e,0x11]
209 vdivpd (%rcx), %zmm6, %zmm18
211 // CHECK: vdivpd 291(%rax,%r14,8), %zmm6, %zmm18
212 // CHECK: encoding: [0x62,0xa1,0xcd,0x48,0x5e,0x94,0xf0,0x23,0x01,0x00,0x00]
213 vdivpd 291(%rax,%r14,8), %zmm6, %zmm18
215 // CHECK: vdivpd (%rcx){1to8}, %zmm6, %zmm18
216 // CHECK: encoding: [0x62,0xe1,0xcd,0x58,0x5e,0x11]
217 vdivpd (%rcx){1to8}, %zmm6, %zmm18
219 // CHECK: vdivpd 8128(%rdx), %zmm6, %zmm18
220 // CHECK: encoding: [0x62,0xe1,0xcd,0x48,0x5e,0x52,0x7f]
221 vdivpd 8128(%rdx), %zmm6, %zmm18
223 // CHECK: vdivpd 8192(%rdx), %zmm6, %zmm18
224 // CHECK: encoding: [0x62,0xe1,0xcd,0x48,0x5e,0x92,0x00,0x20,0x00,0x00]
225 vdivpd 8192(%rdx), %zmm6, %zmm18
227 // CHECK: vdivpd -8256(%rdx), %zmm6, %zmm18
228 // CHECK: encoding: [0x62,0xe1,0xcd,0x48,0x5e,0x92,0xc0,0xdf,0xff,0xff]
229 vdivpd -8256(%rdx), %zmm6, %zmm18
231 // CHECK: vdivpd 1016(%rdx){1to8}, %zmm6, %zmm18
232 // CHECK: encoding: [0x62,0xe1,0xcd,0x58,0x5e,0x52,0x7f]
233 vdivpd 1016(%rdx){1to8}, %zmm6, %zmm18
235 // CHECK: vdivpd 1024(%rdx){1to8}, %zmm6, %zmm18
236 // CHECK: encoding: [0x62,0xe1,0xcd,0x58,0x5e,0x92,0x00,0x04,0x00,0x00]
237 vdivpd 1024(%rdx){1to8}, %zmm6, %zmm18
239 // CHECK: vdivpd -1032(%rdx){1to8}, %zmm6, %zmm18
240 // CHECK: encoding: [0x62,0xe1,0xcd,0x58,0x5e,0x92,0xf8,0xfb,0xff,0xff]
241 vdivpd -1032(%rdx){1to8}, %zmm6, %zmm18
243 // CHECK: vdivps %zmm28, %zmm23, %zmm23
244 // CHECK: encoding: [0x62,0x81,0x44,0x40,0x5e,0xfc]
245 vdivps %zmm28, %zmm23, %zmm23
247 // CHECK: vdivps %zmm28, %zmm23, %zmm23 {%k2}
248 // CHECK: encoding: [0x62,0x81,0x44,0x42,0x5e,0xfc]
249 vdivps %zmm28, %zmm23, %zmm23 {%k2}
251 // CHECK: vdivps %zmm28, %zmm23, %zmm23 {%k2} {z}
252 // CHECK: encoding: [0x62,0x81,0x44,0xc2,0x5e,0xfc]
253 vdivps %zmm28, %zmm23, %zmm23 {%k2} {z}
255 // CHECK: vdivps (%rcx), %zmm23, %zmm23
256 // CHECK: encoding: [0x62,0xe1,0x44,0x40,0x5e,0x39]
257 vdivps (%rcx), %zmm23, %zmm23
259 // CHECK: vdivps 291(%rax,%r14,8), %zmm23, %zmm23
260 // CHECK: encoding: [0x62,0xa1,0x44,0x40,0x5e,0xbc,0xf0,0x23,0x01,0x00,0x00]
261 vdivps 291(%rax,%r14,8), %zmm23, %zmm23
263 // CHECK: vdivps (%rcx){1to16}, %zmm23, %zmm23
264 // CHECK: encoding: [0x62,0xe1,0x44,0x50,0x5e,0x39]
265 vdivps (%rcx){1to16}, %zmm23, %zmm23
267 // CHECK: vdivps 8128(%rdx), %zmm23, %zmm23
268 // CHECK: encoding: [0x62,0xe1,0x44,0x40,0x5e,0x7a,0x7f]
269 vdivps 8128(%rdx), %zmm23, %zmm23
271 // CHECK: vdivps 8192(%rdx), %zmm23, %zmm23
272 // CHECK: encoding: [0x62,0xe1,0x44,0x40,0x5e,0xba,0x00,0x20,0x00,0x00]
273 vdivps 8192(%rdx), %zmm23, %zmm23
275 // CHECK: vdivps -8256(%rdx), %zmm23, %zmm23
276 // CHECK: encoding: [0x62,0xe1,0x44,0x40,0x5e,0xba,0xc0,0xdf,0xff,0xff]
277 vdivps -8256(%rdx), %zmm23, %zmm23
279 // CHECK: vdivps 508(%rdx){1to16}, %zmm23, %zmm23
280 // CHECK: encoding: [0x62,0xe1,0x44,0x50,0x5e,0x7a,0x7f]
281 vdivps 508(%rdx){1to16}, %zmm23, %zmm23
283 // CHECK: vdivps 512(%rdx){1to16}, %zmm23, %zmm23
284 // CHECK: encoding: [0x62,0xe1,0x44,0x50,0x5e,0xba,0x00,0x02,0x00,0x00]
285 vdivps 512(%rdx){1to16}, %zmm23, %zmm23
287 // CHECK: vdivps -516(%rdx){1to16}, %zmm23, %zmm23
288 // CHECK: encoding: [0x62,0xe1,0x44,0x50,0x5e,0xba,0xfc,0xfd,0xff,0xff]
289 vdivps -516(%rdx){1to16}, %zmm23, %zmm23
291 // CHECK: vmaxpd %zmm20, %zmm28, %zmm30
292 // CHECK: encoding: [0x62,0x21,0x9d,0x40,0x5f,0xf4]
293 vmaxpd %zmm20, %zmm28, %zmm30
295 // CHECK: vmaxpd %zmm20, %zmm28, %zmm30 {%k1}
296 // CHECK: encoding: [0x62,0x21,0x9d,0x41,0x5f,0xf4]
297 vmaxpd %zmm20, %zmm28, %zmm30 {%k1}
299 // CHECK: vmaxpd %zmm20, %zmm28, %zmm30 {%k1} {z}
300 // CHECK: encoding: [0x62,0x21,0x9d,0xc1,0x5f,0xf4]
301 vmaxpd %zmm20, %zmm28, %zmm30 {%k1} {z}
303 // CHECK: vmaxpd (%rcx), %zmm28, %zmm30
304 // CHECK: encoding: [0x62,0x61,0x9d,0x40,0x5f,0x31]
305 vmaxpd (%rcx), %zmm28, %zmm30
307 // CHECK: vmaxpd 291(%rax,%r14,8), %zmm28, %zmm30
308 // CHECK: encoding: [0x62,0x21,0x9d,0x40,0x5f,0xb4,0xf0,0x23,0x01,0x00,0x00]
309 vmaxpd 291(%rax,%r14,8), %zmm28, %zmm30
311 // CHECK: vmaxpd (%rcx){1to8}, %zmm28, %zmm30
312 // CHECK: encoding: [0x62,0x61,0x9d,0x50,0x5f,0x31]
313 vmaxpd (%rcx){1to8}, %zmm28, %zmm30
315 // CHECK: vmaxpd 8128(%rdx), %zmm28, %zmm30
316 // CHECK: encoding: [0x62,0x61,0x9d,0x40,0x5f,0x72,0x7f]
317 vmaxpd 8128(%rdx), %zmm28, %zmm30
319 // CHECK: vmaxpd 8192(%rdx), %zmm28, %zmm30
320 // CHECK: encoding: [0x62,0x61,0x9d,0x40,0x5f,0xb2,0x00,0x20,0x00,0x00]
321 vmaxpd 8192(%rdx), %zmm28, %zmm30
323 // CHECK: vmaxpd -8256(%rdx), %zmm28, %zmm30
324 // CHECK: encoding: [0x62,0x61,0x9d,0x40,0x5f,0xb2,0xc0,0xdf,0xff,0xff]
325 vmaxpd -8256(%rdx), %zmm28, %zmm30
327 // CHECK: vmaxpd 1016(%rdx){1to8}, %zmm28, %zmm30
328 // CHECK: encoding: [0x62,0x61,0x9d,0x50,0x5f,0x72,0x7f]
329 vmaxpd 1016(%rdx){1to8}, %zmm28, %zmm30
331 // CHECK: vmaxpd 1024(%rdx){1to8}, %zmm28, %zmm30
332 // CHECK: encoding: [0x62,0x61,0x9d,0x50,0x5f,0xb2,0x00,0x04,0x00,0x00]
333 vmaxpd 1024(%rdx){1to8}, %zmm28, %zmm30
335 // CHECK: vmaxpd -1032(%rdx){1to8}, %zmm28, %zmm30
336 // CHECK: encoding: [0x62,0x61,0x9d,0x50,0x5f,0xb2,0xf8,0xfb,0xff,0xff]
337 vmaxpd -1032(%rdx){1to8}, %zmm28, %zmm30
339 // CHECK: vmaxps %zmm20, %zmm6, %zmm25
340 // CHECK: encoding: [0x62,0x21,0x4c,0x48,0x5f,0xcc]
341 vmaxps %zmm20, %zmm6, %zmm25
343 // CHECK: vmaxps %zmm20, %zmm6, %zmm25 {%k1}
344 // CHECK: encoding: [0x62,0x21,0x4c,0x49,0x5f,0xcc]
345 vmaxps %zmm20, %zmm6, %zmm25 {%k1}
347 // CHECK: vmaxps %zmm20, %zmm6, %zmm25 {%k1} {z}
348 // CHECK: encoding: [0x62,0x21,0x4c,0xc9,0x5f,0xcc]
349 vmaxps %zmm20, %zmm6, %zmm25 {%k1} {z}
351 // CHECK: vmaxps (%rcx), %zmm6, %zmm25
352 // CHECK: encoding: [0x62,0x61,0x4c,0x48,0x5f,0x09]
353 vmaxps (%rcx), %zmm6, %zmm25
355 // CHECK: vmaxps 291(%rax,%r14,8), %zmm6, %zmm25
356 // CHECK: encoding: [0x62,0x21,0x4c,0x48,0x5f,0x8c,0xf0,0x23,0x01,0x00,0x00]
357 vmaxps 291(%rax,%r14,8), %zmm6, %zmm25
359 // CHECK: vmaxps (%rcx){1to16}, %zmm6, %zmm25
360 // CHECK: encoding: [0x62,0x61,0x4c,0x58,0x5f,0x09]
361 vmaxps (%rcx){1to16}, %zmm6, %zmm25
363 // CHECK: vmaxps 8128(%rdx), %zmm6, %zmm25
364 // CHECK: encoding: [0x62,0x61,0x4c,0x48,0x5f,0x4a,0x7f]
365 vmaxps 8128(%rdx), %zmm6, %zmm25
367 // CHECK: vmaxps 8192(%rdx), %zmm6, %zmm25
368 // CHECK: encoding: [0x62,0x61,0x4c,0x48,0x5f,0x8a,0x00,0x20,0x00,0x00]
369 vmaxps 8192(%rdx), %zmm6, %zmm25
371 // CHECK: vmaxps -8256(%rdx), %zmm6, %zmm25
372 // CHECK: encoding: [0x62,0x61,0x4c,0x48,0x5f,0x8a,0xc0,0xdf,0xff,0xff]
373 vmaxps -8256(%rdx), %zmm6, %zmm25
375 // CHECK: vmaxps 508(%rdx){1to16}, %zmm6, %zmm25
376 // CHECK: encoding: [0x62,0x61,0x4c,0x58,0x5f,0x4a,0x7f]
377 vmaxps 508(%rdx){1to16}, %zmm6, %zmm25
379 // CHECK: vmaxps 512(%rdx){1to16}, %zmm6, %zmm25
380 // CHECK: encoding: [0x62,0x61,0x4c,0x58,0x5f,0x8a,0x00,0x02,0x00,0x00]
381 vmaxps 512(%rdx){1to16}, %zmm6, %zmm25
383 // CHECK: vmaxps -516(%rdx){1to16}, %zmm6, %zmm25
384 // CHECK: encoding: [0x62,0x61,0x4c,0x58,0x5f,0x8a,0xfc,0xfd,0xff,0xff]
385 vmaxps -516(%rdx){1to16}, %zmm6, %zmm25
387 // CHECK: vminpd %zmm22, %zmm6, %zmm6
388 // CHECK: encoding: [0x62,0xb1,0xcd,0x48,0x5d,0xf6]
389 vminpd %zmm22, %zmm6, %zmm6
391 // CHECK: vminpd %zmm22, %zmm6, %zmm6 {%k7}
392 // CHECK: encoding: [0x62,0xb1,0xcd,0x4f,0x5d,0xf6]
393 vminpd %zmm22, %zmm6, %zmm6 {%k7}
395 // CHECK: vminpd %zmm22, %zmm6, %zmm6 {%k7} {z}
396 // CHECK: encoding: [0x62,0xb1,0xcd,0xcf,0x5d,0xf6]
397 vminpd %zmm22, %zmm6, %zmm6 {%k7} {z}
399 // CHECK: vminpd (%rcx), %zmm6, %zmm6
400 // CHECK: encoding: [0x62,0xf1,0xcd,0x48,0x5d,0x31]
401 vminpd (%rcx), %zmm6, %zmm6
403 // CHECK: vminpd 291(%rax,%r14,8), %zmm6, %zmm6
404 // CHECK: encoding: [0x62,0xb1,0xcd,0x48,0x5d,0xb4,0xf0,0x23,0x01,0x00,0x00]
405 vminpd 291(%rax,%r14,8), %zmm6, %zmm6
407 // CHECK: vminpd (%rcx){1to8}, %zmm6, %zmm6
408 // CHECK: encoding: [0x62,0xf1,0xcd,0x58,0x5d,0x31]
409 vminpd (%rcx){1to8}, %zmm6, %zmm6
411 // CHECK: vminpd 8128(%rdx), %zmm6, %zmm6
412 // CHECK: encoding: [0x62,0xf1,0xcd,0x48,0x5d,0x72,0x7f]
413 vminpd 8128(%rdx), %zmm6, %zmm6
415 // CHECK: vminpd 8192(%rdx), %zmm6, %zmm6
416 // CHECK: encoding: [0x62,0xf1,0xcd,0x48,0x5d,0xb2,0x00,0x20,0x00,0x00]
417 vminpd 8192(%rdx), %zmm6, %zmm6
419 // CHECK: vminpd -8256(%rdx), %zmm6, %zmm6
420 // CHECK: encoding: [0x62,0xf1,0xcd,0x48,0x5d,0xb2,0xc0,0xdf,0xff,0xff]
421 vminpd -8256(%rdx), %zmm6, %zmm6
423 // CHECK: vminpd 1016(%rdx){1to8}, %zmm6, %zmm6
424 // CHECK: encoding: [0x62,0xf1,0xcd,0x58,0x5d,0x72,0x7f]
425 vminpd 1016(%rdx){1to8}, %zmm6, %zmm6
427 // CHECK: vminpd 1024(%rdx){1to8}, %zmm6, %zmm6
428 // CHECK: encoding: [0x62,0xf1,0xcd,0x58,0x5d,0xb2,0x00,0x04,0x00,0x00]
429 vminpd 1024(%rdx){1to8}, %zmm6, %zmm6
431 // CHECK: vminpd -1032(%rdx){1to8}, %zmm6, %zmm6
432 // CHECK: encoding: [0x62,0xf1,0xcd,0x58,0x5d,0xb2,0xf8,0xfb,0xff,0xff]
433 vminpd -1032(%rdx){1to8}, %zmm6, %zmm6
435 // CHECK: vminps %zmm7, %zmm3, %zmm3
436 // CHECK: encoding: [0x62,0xf1,0x64,0x48,0x5d,0xdf]
437 vminps %zmm7, %zmm3, %zmm3
439 // CHECK: vminps %zmm7, %zmm3, %zmm3 {%k3}
440 // CHECK: encoding: [0x62,0xf1,0x64,0x4b,0x5d,0xdf]
441 vminps %zmm7, %zmm3, %zmm3 {%k3}
443 // CHECK: vminps %zmm7, %zmm3, %zmm3 {%k3} {z}
444 // CHECK: encoding: [0x62,0xf1,0x64,0xcb,0x5d,0xdf]
445 vminps %zmm7, %zmm3, %zmm3 {%k3} {z}
447 // CHECK: vminps (%rcx), %zmm3, %zmm3
448 // CHECK: encoding: [0x62,0xf1,0x64,0x48,0x5d,0x19]
449 vminps (%rcx), %zmm3, %zmm3
451 // CHECK: vminps 291(%rax,%r14,8), %zmm3, %zmm3
452 // CHECK: encoding: [0x62,0xb1,0x64,0x48,0x5d,0x9c,0xf0,0x23,0x01,0x00,0x00]
453 vminps 291(%rax,%r14,8), %zmm3, %zmm3
455 // CHECK: vminps (%rcx){1to16}, %zmm3, %zmm3
456 // CHECK: encoding: [0x62,0xf1,0x64,0x58,0x5d,0x19]
457 vminps (%rcx){1to16}, %zmm3, %zmm3
459 // CHECK: vminps 8128(%rdx), %zmm3, %zmm3
460 // CHECK: encoding: [0x62,0xf1,0x64,0x48,0x5d,0x5a,0x7f]
461 vminps 8128(%rdx), %zmm3, %zmm3
463 // CHECK: vminps 8192(%rdx), %zmm3, %zmm3
464 // CHECK: encoding: [0x62,0xf1,0x64,0x48,0x5d,0x9a,0x00,0x20,0x00,0x00]
465 vminps 8192(%rdx), %zmm3, %zmm3
467 // CHECK: vminps -8256(%rdx), %zmm3, %zmm3
468 // CHECK: encoding: [0x62,0xf1,0x64,0x48,0x5d,0x9a,0xc0,0xdf,0xff,0xff]
469 vminps -8256(%rdx), %zmm3, %zmm3
471 // CHECK: vminps 508(%rdx){1to16}, %zmm3, %zmm3
472 // CHECK: encoding: [0x62,0xf1,0x64,0x58,0x5d,0x5a,0x7f]
473 vminps 508(%rdx){1to16}, %zmm3, %zmm3
475 // CHECK: vminps 512(%rdx){1to16}, %zmm3, %zmm3
476 // CHECK: encoding: [0x62,0xf1,0x64,0x58,0x5d,0x9a,0x00,0x02,0x00,0x00]
477 vminps 512(%rdx){1to16}, %zmm3, %zmm3
479 // CHECK: vminps -516(%rdx){1to16}, %zmm3, %zmm3
480 // CHECK: encoding: [0x62,0xf1,0x64,0x58,0x5d,0x9a,0xfc,0xfd,0xff,0xff]
481 vminps -516(%rdx){1to16}, %zmm3, %zmm3
483 // CHECK: vmulpd %zmm23, %zmm4, %zmm24
484 // CHECK: encoding: [0x62,0x21,0xdd,0x48,0x59,0xc7]
485 vmulpd %zmm23, %zmm4, %zmm24
487 // CHECK: vmulpd %zmm23, %zmm4, %zmm24 {%k6}
488 // CHECK: encoding: [0x62,0x21,0xdd,0x4e,0x59,0xc7]
489 vmulpd %zmm23, %zmm4, %zmm24 {%k6}
491 // CHECK: vmulpd %zmm23, %zmm4, %zmm24 {%k6} {z}
492 // CHECK: encoding: [0x62,0x21,0xdd,0xce,0x59,0xc7]
493 vmulpd %zmm23, %zmm4, %zmm24 {%k6} {z}
495 // CHECK: vmulpd (%rcx), %zmm4, %zmm24
496 // CHECK: encoding: [0x62,0x61,0xdd,0x48,0x59,0x01]
497 vmulpd (%rcx), %zmm4, %zmm24
499 // CHECK: vmulpd 291(%rax,%r14,8), %zmm4, %zmm24
500 // CHECK: encoding: [0x62,0x21,0xdd,0x48,0x59,0x84,0xf0,0x23,0x01,0x00,0x00]
501 vmulpd 291(%rax,%r14,8), %zmm4, %zmm24
503 // CHECK: vmulpd (%rcx){1to8}, %zmm4, %zmm24
504 // CHECK: encoding: [0x62,0x61,0xdd,0x58,0x59,0x01]
505 vmulpd (%rcx){1to8}, %zmm4, %zmm24
507 // CHECK: vmulpd 8128(%rdx), %zmm4, %zmm24
508 // CHECK: encoding: [0x62,0x61,0xdd,0x48,0x59,0x42,0x7f]
509 vmulpd 8128(%rdx), %zmm4, %zmm24
511 // CHECK: vmulpd 8192(%rdx), %zmm4, %zmm24
512 // CHECK: encoding: [0x62,0x61,0xdd,0x48,0x59,0x82,0x00,0x20,0x00,0x00]
513 vmulpd 8192(%rdx), %zmm4, %zmm24
515 // CHECK: vmulpd -8256(%rdx), %zmm4, %zmm24
516 // CHECK: encoding: [0x62,0x61,0xdd,0x48,0x59,0x82,0xc0,0xdf,0xff,0xff]
517 vmulpd -8256(%rdx), %zmm4, %zmm24
519 // CHECK: vmulpd 1016(%rdx){1to8}, %zmm4, %zmm24
520 // CHECK: encoding: [0x62,0x61,0xdd,0x58,0x59,0x42,0x7f]
521 vmulpd 1016(%rdx){1to8}, %zmm4, %zmm24
523 // CHECK: vmulpd 1024(%rdx){1to8}, %zmm4, %zmm24
524 // CHECK: encoding: [0x62,0x61,0xdd,0x58,0x59,0x82,0x00,0x04,0x00,0x00]
525 vmulpd 1024(%rdx){1to8}, %zmm4, %zmm24
527 // CHECK: vmulpd -1032(%rdx){1to8}, %zmm4, %zmm24
528 // CHECK: encoding: [0x62,0x61,0xdd,0x58,0x59,0x82,0xf8,0xfb,0xff,0xff]
529 vmulpd -1032(%rdx){1to8}, %zmm4, %zmm24
531 // CHECK: vmulps %zmm24, %zmm6, %zmm3
532 // CHECK: encoding: [0x62,0x91,0x4c,0x48,0x59,0xd8]
533 vmulps %zmm24, %zmm6, %zmm3
535 // CHECK: vmulps %zmm24, %zmm6, %zmm3 {%k4}
536 // CHECK: encoding: [0x62,0x91,0x4c,0x4c,0x59,0xd8]
537 vmulps %zmm24, %zmm6, %zmm3 {%k4}
539 // CHECK: vmulps %zmm24, %zmm6, %zmm3 {%k4} {z}
540 // CHECK: encoding: [0x62,0x91,0x4c,0xcc,0x59,0xd8]
541 vmulps %zmm24, %zmm6, %zmm3 {%k4} {z}
543 // CHECK: vmulps (%rcx), %zmm6, %zmm3
544 // CHECK: encoding: [0x62,0xf1,0x4c,0x48,0x59,0x19]
545 vmulps (%rcx), %zmm6, %zmm3
547 // CHECK: vmulps 291(%rax,%r14,8), %zmm6, %zmm3
548 // CHECK: encoding: [0x62,0xb1,0x4c,0x48,0x59,0x9c,0xf0,0x23,0x01,0x00,0x00]
549 vmulps 291(%rax,%r14,8), %zmm6, %zmm3
551 // CHECK: vmulps (%rcx){1to16}, %zmm6, %zmm3
552 // CHECK: encoding: [0x62,0xf1,0x4c,0x58,0x59,0x19]
553 vmulps (%rcx){1to16}, %zmm6, %zmm3
555 // CHECK: vmulps 8128(%rdx), %zmm6, %zmm3
556 // CHECK: encoding: [0x62,0xf1,0x4c,0x48,0x59,0x5a,0x7f]
557 vmulps 8128(%rdx), %zmm6, %zmm3
559 // CHECK: vmulps 8192(%rdx), %zmm6, %zmm3
560 // CHECK: encoding: [0x62,0xf1,0x4c,0x48,0x59,0x9a,0x00,0x20,0x00,0x00]
561 vmulps 8192(%rdx), %zmm6, %zmm3
563 // CHECK: vmulps -8256(%rdx), %zmm6, %zmm3
564 // CHECK: encoding: [0x62,0xf1,0x4c,0x48,0x59,0x9a,0xc0,0xdf,0xff,0xff]
565 vmulps -8256(%rdx), %zmm6, %zmm3
567 // CHECK: vmulps 508(%rdx){1to16}, %zmm6, %zmm3
568 // CHECK: encoding: [0x62,0xf1,0x4c,0x58,0x59,0x5a,0x7f]
569 vmulps 508(%rdx){1to16}, %zmm6, %zmm3
571 // CHECK: vmulps 512(%rdx){1to16}, %zmm6, %zmm3
572 // CHECK: encoding: [0x62,0xf1,0x4c,0x58,0x59,0x9a,0x00,0x02,0x00,0x00]
573 vmulps 512(%rdx){1to16}, %zmm6, %zmm3
575 // CHECK: vmulps -516(%rdx){1to16}, %zmm6, %zmm3
576 // CHECK: encoding: [0x62,0xf1,0x4c,0x58,0x59,0x9a,0xfc,0xfd,0xff,0xff]
577 vmulps -516(%rdx){1to16}, %zmm6, %zmm3
579 // CHECK: vsubpd %zmm9, %zmm12, %zmm9
580 // CHECK: encoding: [0x62,0x51,0x9d,0x48,0x5c,0xc9]
581 vsubpd %zmm9, %zmm12, %zmm9
583 // CHECK: vsubpd %zmm9, %zmm12, %zmm9 {%k7}
584 // CHECK: encoding: [0x62,0x51,0x9d,0x4f,0x5c,0xc9]
585 vsubpd %zmm9, %zmm12, %zmm9 {%k7}
587 // CHECK: vsubpd %zmm9, %zmm12, %zmm9 {%k7} {z}
588 // CHECK: encoding: [0x62,0x51,0x9d,0xcf,0x5c,0xc9]
589 vsubpd %zmm9, %zmm12, %zmm9 {%k7} {z}
591 // CHECK: vsubpd (%rcx), %zmm12, %zmm9
592 // CHECK: encoding: [0x62,0x71,0x9d,0x48,0x5c,0x09]
593 vsubpd (%rcx), %zmm12, %zmm9
595 // CHECK: vsubpd 291(%rax,%r14,8), %zmm12, %zmm9
596 // CHECK: encoding: [0x62,0x31,0x9d,0x48,0x5c,0x8c,0xf0,0x23,0x01,0x00,0x00]
597 vsubpd 291(%rax,%r14,8), %zmm12, %zmm9
599 // CHECK: vsubpd (%rcx){1to8}, %zmm12, %zmm9
600 // CHECK: encoding: [0x62,0x71,0x9d,0x58,0x5c,0x09]
601 vsubpd (%rcx){1to8}, %zmm12, %zmm9
603 // CHECK: vsubpd 8128(%rdx), %zmm12, %zmm9
604 // CHECK: encoding: [0x62,0x71,0x9d,0x48,0x5c,0x4a,0x7f]
605 vsubpd 8128(%rdx), %zmm12, %zmm9
607 // CHECK: vsubpd 8192(%rdx), %zmm12, %zmm9
608 // CHECK: encoding: [0x62,0x71,0x9d,0x48,0x5c,0x8a,0x00,0x20,0x00,0x00]
609 vsubpd 8192(%rdx), %zmm12, %zmm9
611 // CHECK: vsubpd -8256(%rdx), %zmm12, %zmm9
612 // CHECK: encoding: [0x62,0x71,0x9d,0x48,0x5c,0x8a,0xc0,0xdf,0xff,0xff]
613 vsubpd -8256(%rdx), %zmm12, %zmm9
615 // CHECK: vsubpd 1016(%rdx){1to8}, %zmm12, %zmm9
616 // CHECK: encoding: [0x62,0x71,0x9d,0x58,0x5c,0x4a,0x7f]
617 vsubpd 1016(%rdx){1to8}, %zmm12, %zmm9
619 // CHECK: vsubpd 1024(%rdx){1to8}, %zmm12, %zmm9
620 // CHECK: encoding: [0x62,0x71,0x9d,0x58,0x5c,0x8a,0x00,0x04,0x00,0x00]
621 vsubpd 1024(%rdx){1to8}, %zmm12, %zmm9
623 // CHECK: vsubpd -1032(%rdx){1to8}, %zmm12, %zmm9
624 // CHECK: encoding: [0x62,0x71,0x9d,0x58,0x5c,0x8a,0xf8,0xfb,0xff,0xff]
625 vsubpd -1032(%rdx){1to8}, %zmm12, %zmm9
627 // CHECK: vsubps %zmm21, %zmm27, %zmm14
628 // CHECK: encoding: [0x62,0x31,0x24,0x40,0x5c,0xf5]
629 vsubps %zmm21, %zmm27, %zmm14
631 // CHECK: vsubps %zmm21, %zmm27, %zmm14 {%k5}
632 // CHECK: encoding: [0x62,0x31,0x24,0x45,0x5c,0xf5]
633 vsubps %zmm21, %zmm27, %zmm14 {%k5}
635 // CHECK: vsubps %zmm21, %zmm27, %zmm14 {%k5} {z}
636 // CHECK: encoding: [0x62,0x31,0x24,0xc5,0x5c,0xf5]
637 vsubps %zmm21, %zmm27, %zmm14 {%k5} {z}
639 // CHECK: vsubps (%rcx), %zmm27, %zmm14
640 // CHECK: encoding: [0x62,0x71,0x24,0x40,0x5c,0x31]
641 vsubps (%rcx), %zmm27, %zmm14
643 // CHECK: vsubps 291(%rax,%r14,8), %zmm27, %zmm14
644 // CHECK: encoding: [0x62,0x31,0x24,0x40,0x5c,0xb4,0xf0,0x23,0x01,0x00,0x00]
645 vsubps 291(%rax,%r14,8), %zmm27, %zmm14
647 // CHECK: vsubps (%rcx){1to16}, %zmm27, %zmm14
648 // CHECK: encoding: [0x62,0x71,0x24,0x50,0x5c,0x31]
649 vsubps (%rcx){1to16}, %zmm27, %zmm14
651 // CHECK: vsubps 8128(%rdx), %zmm27, %zmm14
652 // CHECK: encoding: [0x62,0x71,0x24,0x40,0x5c,0x72,0x7f]
653 vsubps 8128(%rdx), %zmm27, %zmm14
655 // CHECK: vsubps 8192(%rdx), %zmm27, %zmm14
656 // CHECK: encoding: [0x62,0x71,0x24,0x40,0x5c,0xb2,0x00,0x20,0x00,0x00]
657 vsubps 8192(%rdx), %zmm27, %zmm14
659 // CHECK: vsubps -8256(%rdx), %zmm27, %zmm14
660 // CHECK: encoding: [0x62,0x71,0x24,0x40,0x5c,0xb2,0xc0,0xdf,0xff,0xff]
661 vsubps -8256(%rdx), %zmm27, %zmm14
663 // CHECK: vsubps 508(%rdx){1to16}, %zmm27, %zmm14
664 // CHECK: encoding: [0x62,0x71,0x24,0x50,0x5c,0x72,0x7f]
665 vsubps 508(%rdx){1to16}, %zmm27, %zmm14
667 // CHECK: vsubps 512(%rdx){1to16}, %zmm27, %zmm14
668 // CHECK: encoding: [0x62,0x71,0x24,0x50,0x5c,0xb2,0x00,0x02,0x00,0x00]
669 vsubps 512(%rdx){1to16}, %zmm27, %zmm14
671 // CHECK: vsubps -516(%rdx){1to16}, %zmm27, %zmm14
672 // CHECK: encoding: [0x62,0x71,0x24,0x50,0x5c,0xb2,0xfc,0xfd,0xff,0xff]
673 vsubps -516(%rdx){1to16}, %zmm27, %zmm14
675 // CHECK: vinserti32x4
676 // CHECK: encoding: [0x62,0xa3,0x55,0x48,0x38,0xcd,0x01]
677 vinserti32x4 $1, %xmm21, %zmm5, %zmm17
679 // CHECK: vinserti32x4
680 // CHECK: encoding: [0x62,0xe3,0x1d,0x40,0x38,0x4f,0x10,0x01]
681 vinserti32x4 $1, 256(%rdi), %zmm28, %zmm17
683 // CHECK: vextracti32x4
684 // CHECK: encoding: [0x62,0x33,0x7d,0x48,0x39,0xc9,0x01]
685 vextracti32x4 $1, %zmm9, %xmm17
687 // CHECK: vextracti64x4
688 // CHECK: encoding: [0x62,0x33,0xfd,0x48,0x3b,0xc9,0x01]
689 vextracti64x4 $1, %zmm9, %ymm17
691 // CHECK: vextracti64x4
692 // CHECK: encoding: [0x62,0x73,0xfd,0x48,0x3b,0x4f,0x10,0x01]
693 vextracti64x4 $1, %zmm9, 512(%rdi)
696 // CHECK: encoding: [0x62,0xb1,0x35,0x40,0x72,0xe1,0x02]
697 vpsrad $2, %zmm17, %zmm25
700 // CHECK: encoding: [0x62,0xf1,0x35,0x40,0x72,0x64,0xb7,0x08,0x02]
701 vpsrad $2, 512(%rdi, %rsi, 4), %zmm25
704 // CHECK: encoding: [0x62,0x21,0x1d,0x48,0xe2,0xc9]
705 vpsrad %xmm17, %zmm12, %zmm25
708 // CHECK: encoding: [0x62,0x61,0x1d,0x48,0xe2,0x4c,0xb7,0x20]
709 vpsrad 512(%rdi, %rsi, 4), %zmm12, %zmm25
711 // CHECK: vpbroadcastd {{.*}} {%k1} {z}
712 // CHECK: encoding: [0x62,0xf2,0x7d,0xc9,0x58,0xc8]
713 vpbroadcastd %xmm0, %zmm1 {%k1} {z}
715 // CHECK: vmovdqu64 {{.*}} {%k3}
716 // CHECK: encoding: [0x62,0xf1,0xfe,0x4b,0x7f,0x07]
717 vmovdqu64 %zmm0, (%rdi) {%k3}
719 // CHECK: vmovdqa32 {{.*}} {%k4}
720 // CHECK: encoding: [0x62,0x61,0x7d,0x4c,0x6f,0x1e]
721 vmovdqa32 (%rsi), %zmm27 {%k4}
724 // CHECK: encoding: [0x62,0xe1,0x7d,0x08,0x7e,0x74,0x24,0xeb]
725 vmovd %xmm22, -84(%rsp)
728 // CHECK: encoding: [0x62,0xe3,0x7d,0x08,0x17,0x61,0x1f,0x02]
729 vextractps $2, %xmm20, 124(%rcx)
731 // CHECK: vaddpd {{.*}}{1to8}
732 // CHECK: encoding: [0x62,0x61,0xdd,0x50,0x58,0x74,0xf7,0x40]
733 vaddpd 512(%rdi, %rsi, 8) {1to8}, %zmm20, %zmm30
735 // CHECK: vaddps {{.*}}{1to16}
736 // CHECK: encoding: [0x62,0x61,0x5c,0x50,0x58,0xb4,0xf7,0x00,0x02,0x00,0x00]
737 vaddps 512(%rdi, %rsi, 8) {1to16}, %zmm20, %zmm30