[InstCombine] Signed saturation patterns
[llvm-core.git] / test / MC / X86 / SSSE3-64.s
blob79b29b7f92a4c098a4d8bb88b1fedc3a1ab34458
1 // RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s
3 // CHECK: pabsb 485498096, %mm4
4 // CHECK: encoding: [0x0f,0x38,0x1c,0x24,0x25,0xf0,0x1c,0xf0,0x1c]
5 pabsb 485498096, %mm4
7 // CHECK: pabsb 485498096, %xmm6
8 // CHECK: encoding: [0x66,0x0f,0x38,0x1c,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
9 pabsb 485498096, %xmm6
11 // CHECK: pabsb 64(%rdx), %mm4
12 // CHECK: encoding: [0x0f,0x38,0x1c,0x62,0x40]
13 pabsb 64(%rdx), %mm4
15 // CHECK: pabsb -64(%rdx,%rax,4), %mm4
16 // CHECK: encoding: [0x0f,0x38,0x1c,0x64,0x82,0xc0]
17 pabsb -64(%rdx,%rax,4), %mm4
19 // CHECK: pabsb 64(%rdx,%rax,4), %mm4
20 // CHECK: encoding: [0x0f,0x38,0x1c,0x64,0x82,0x40]
21 pabsb 64(%rdx,%rax,4), %mm4
23 // CHECK: pabsb -64(%rdx,%rax,4), %xmm6
24 // CHECK: encoding: [0x66,0x0f,0x38,0x1c,0x74,0x82,0xc0]
25 pabsb -64(%rdx,%rax,4), %xmm6
27 // CHECK: pabsb 64(%rdx,%rax,4), %xmm6
28 // CHECK: encoding: [0x66,0x0f,0x38,0x1c,0x74,0x82,0x40]
29 pabsb 64(%rdx,%rax,4), %xmm6
31 // CHECK: pabsb 64(%rdx,%rax), %mm4
32 // CHECK: encoding: [0x0f,0x38,0x1c,0x64,0x02,0x40]
33 pabsb 64(%rdx,%rax), %mm4
35 // CHECK: pabsb 64(%rdx,%rax), %xmm6
36 // CHECK: encoding: [0x66,0x0f,0x38,0x1c,0x74,0x02,0x40]
37 pabsb 64(%rdx,%rax), %xmm6
39 // CHECK: pabsb 64(%rdx), %xmm6
40 // CHECK: encoding: [0x66,0x0f,0x38,0x1c,0x72,0x40]
41 pabsb 64(%rdx), %xmm6
43 // CHECK: pabsb %mm4, %mm4
44 // CHECK: encoding: [0x0f,0x38,0x1c,0xe4]
45 pabsb %mm4, %mm4
47 // CHECK: pabsb (%rdx), %mm4
48 // CHECK: encoding: [0x0f,0x38,0x1c,0x22]
49 pabsb (%rdx), %mm4
51 // CHECK: pabsb (%rdx), %xmm6
52 // CHECK: encoding: [0x66,0x0f,0x38,0x1c,0x32]
53 pabsb (%rdx), %xmm6
55 // CHECK: pabsb %xmm6, %xmm6
56 // CHECK: encoding: [0x66,0x0f,0x38,0x1c,0xf6]
57 pabsb %xmm6, %xmm6
59 // CHECK: pabsd 485498096, %mm4
60 // CHECK: encoding: [0x0f,0x38,0x1e,0x24,0x25,0xf0,0x1c,0xf0,0x1c]
61 pabsd 485498096, %mm4
63 // CHECK: pabsd 485498096, %xmm6
64 // CHECK: encoding: [0x66,0x0f,0x38,0x1e,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
65 pabsd 485498096, %xmm6
67 // CHECK: pabsd 64(%rdx), %mm4
68 // CHECK: encoding: [0x0f,0x38,0x1e,0x62,0x40]
69 pabsd 64(%rdx), %mm4
71 // CHECK: pabsd -64(%rdx,%rax,4), %mm4
72 // CHECK: encoding: [0x0f,0x38,0x1e,0x64,0x82,0xc0]
73 pabsd -64(%rdx,%rax,4), %mm4
75 // CHECK: pabsd 64(%rdx,%rax,4), %mm4
76 // CHECK: encoding: [0x0f,0x38,0x1e,0x64,0x82,0x40]
77 pabsd 64(%rdx,%rax,4), %mm4
79 // CHECK: pabsd -64(%rdx,%rax,4), %xmm6
80 // CHECK: encoding: [0x66,0x0f,0x38,0x1e,0x74,0x82,0xc0]
81 pabsd -64(%rdx,%rax,4), %xmm6
83 // CHECK: pabsd 64(%rdx,%rax,4), %xmm6
84 // CHECK: encoding: [0x66,0x0f,0x38,0x1e,0x74,0x82,0x40]
85 pabsd 64(%rdx,%rax,4), %xmm6
87 // CHECK: pabsd 64(%rdx,%rax), %mm4
88 // CHECK: encoding: [0x0f,0x38,0x1e,0x64,0x02,0x40]
89 pabsd 64(%rdx,%rax), %mm4
91 // CHECK: pabsd 64(%rdx,%rax), %xmm6
92 // CHECK: encoding: [0x66,0x0f,0x38,0x1e,0x74,0x02,0x40]
93 pabsd 64(%rdx,%rax), %xmm6
95 // CHECK: pabsd 64(%rdx), %xmm6
96 // CHECK: encoding: [0x66,0x0f,0x38,0x1e,0x72,0x40]
97 pabsd 64(%rdx), %xmm6
99 // CHECK: pabsd %mm4, %mm4
100 // CHECK: encoding: [0x0f,0x38,0x1e,0xe4]
101 pabsd %mm4, %mm4
103 // CHECK: pabsd (%rdx), %mm4
104 // CHECK: encoding: [0x0f,0x38,0x1e,0x22]
105 pabsd (%rdx), %mm4
107 // CHECK: pabsd (%rdx), %xmm6
108 // CHECK: encoding: [0x66,0x0f,0x38,0x1e,0x32]
109 pabsd (%rdx), %xmm6
111 // CHECK: pabsd %xmm6, %xmm6
112 // CHECK: encoding: [0x66,0x0f,0x38,0x1e,0xf6]
113 pabsd %xmm6, %xmm6
115 // CHECK: pabsw 485498096, %mm4
116 // CHECK: encoding: [0x0f,0x38,0x1d,0x24,0x25,0xf0,0x1c,0xf0,0x1c]
117 pabsw 485498096, %mm4
119 // CHECK: pabsw 485498096, %xmm6
120 // CHECK: encoding: [0x66,0x0f,0x38,0x1d,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
121 pabsw 485498096, %xmm6
123 // CHECK: pabsw 64(%rdx), %mm4
124 // CHECK: encoding: [0x0f,0x38,0x1d,0x62,0x40]
125 pabsw 64(%rdx), %mm4
127 // CHECK: pabsw -64(%rdx,%rax,4), %mm4
128 // CHECK: encoding: [0x0f,0x38,0x1d,0x64,0x82,0xc0]
129 pabsw -64(%rdx,%rax,4), %mm4
131 // CHECK: pabsw 64(%rdx,%rax,4), %mm4
132 // CHECK: encoding: [0x0f,0x38,0x1d,0x64,0x82,0x40]
133 pabsw 64(%rdx,%rax,4), %mm4
135 // CHECK: pabsw -64(%rdx,%rax,4), %xmm6
136 // CHECK: encoding: [0x66,0x0f,0x38,0x1d,0x74,0x82,0xc0]
137 pabsw -64(%rdx,%rax,4), %xmm6
139 // CHECK: pabsw 64(%rdx,%rax,4), %xmm6
140 // CHECK: encoding: [0x66,0x0f,0x38,0x1d,0x74,0x82,0x40]
141 pabsw 64(%rdx,%rax,4), %xmm6
143 // CHECK: pabsw 64(%rdx,%rax), %mm4
144 // CHECK: encoding: [0x0f,0x38,0x1d,0x64,0x02,0x40]
145 pabsw 64(%rdx,%rax), %mm4
147 // CHECK: pabsw 64(%rdx,%rax), %xmm6
148 // CHECK: encoding: [0x66,0x0f,0x38,0x1d,0x74,0x02,0x40]
149 pabsw 64(%rdx,%rax), %xmm6
151 // CHECK: pabsw 64(%rdx), %xmm6
152 // CHECK: encoding: [0x66,0x0f,0x38,0x1d,0x72,0x40]
153 pabsw 64(%rdx), %xmm6
155 // CHECK: pabsw %mm4, %mm4
156 // CHECK: encoding: [0x0f,0x38,0x1d,0xe4]
157 pabsw %mm4, %mm4
159 // CHECK: pabsw (%rdx), %mm4
160 // CHECK: encoding: [0x0f,0x38,0x1d,0x22]
161 pabsw (%rdx), %mm4
163 // CHECK: pabsw (%rdx), %xmm6
164 // CHECK: encoding: [0x66,0x0f,0x38,0x1d,0x32]
165 pabsw (%rdx), %xmm6
167 // CHECK: pabsw %xmm6, %xmm6
168 // CHECK: encoding: [0x66,0x0f,0x38,0x1d,0xf6]
169 pabsw %xmm6, %xmm6
171 // CHECK: palignr $0, 485498096, %mm4
172 // CHECK: encoding: [0x0f,0x3a,0x0f,0x24,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
173 palignr $0, 485498096, %mm4
175 // CHECK: palignr $0, 485498096, %xmm6
176 // CHECK: encoding: [0x66,0x0f,0x3a,0x0f,0x34,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
177 palignr $0, 485498096, %xmm6
179 // CHECK: palignr $0, 64(%rdx), %mm4
180 // CHECK: encoding: [0x0f,0x3a,0x0f,0x62,0x40,0x00]
181 palignr $0, 64(%rdx), %mm4
183 // CHECK: palignr $0, -64(%rdx,%rax,4), %mm4
184 // CHECK: encoding: [0x0f,0x3a,0x0f,0x64,0x82,0xc0,0x00]
185 palignr $0, -64(%rdx,%rax,4), %mm4
187 // CHECK: palignr $0, 64(%rdx,%rax,4), %mm4
188 // CHECK: encoding: [0x0f,0x3a,0x0f,0x64,0x82,0x40,0x00]
189 palignr $0, 64(%rdx,%rax,4), %mm4
191 // CHECK: palignr $0, -64(%rdx,%rax,4), %xmm6
192 // CHECK: encoding: [0x66,0x0f,0x3a,0x0f,0x74,0x82,0xc0,0x00]
193 palignr $0, -64(%rdx,%rax,4), %xmm6
195 // CHECK: palignr $0, 64(%rdx,%rax,4), %xmm6
196 // CHECK: encoding: [0x66,0x0f,0x3a,0x0f,0x74,0x82,0x40,0x00]
197 palignr $0, 64(%rdx,%rax,4), %xmm6
199 // CHECK: palignr $0, 64(%rdx,%rax), %mm4
200 // CHECK: encoding: [0x0f,0x3a,0x0f,0x64,0x02,0x40,0x00]
201 palignr $0, 64(%rdx,%rax), %mm4
203 // CHECK: palignr $0, 64(%rdx,%rax), %xmm6
204 // CHECK: encoding: [0x66,0x0f,0x3a,0x0f,0x74,0x02,0x40,0x00]
205 palignr $0, 64(%rdx,%rax), %xmm6
207 // CHECK: palignr $0, 64(%rdx), %xmm6
208 // CHECK: encoding: [0x66,0x0f,0x3a,0x0f,0x72,0x40,0x00]
209 palignr $0, 64(%rdx), %xmm6
211 // CHECK: palignr $0, %mm4, %mm4
212 // CHECK: encoding: [0x0f,0x3a,0x0f,0xe4,0x00]
213 palignr $0, %mm4, %mm4
215 // CHECK: palignr $0, (%rdx), %mm4
216 // CHECK: encoding: [0x0f,0x3a,0x0f,0x22,0x00]
217 palignr $0, (%rdx), %mm4
219 // CHECK: palignr $0, (%rdx), %xmm6
220 // CHECK: encoding: [0x66,0x0f,0x3a,0x0f,0x32,0x00]
221 palignr $0, (%rdx), %xmm6
223 // CHECK: palignr $0, %xmm6, %xmm6
224 // CHECK: encoding: [0x66,0x0f,0x3a,0x0f,0xf6,0x00]
225 palignr $0, %xmm6, %xmm6
227 // CHECK: phaddd 485498096, %mm4
228 // CHECK: encoding: [0x0f,0x38,0x02,0x24,0x25,0xf0,0x1c,0xf0,0x1c]
229 phaddd 485498096, %mm4
231 // CHECK: phaddd 485498096, %xmm6
232 // CHECK: encoding: [0x66,0x0f,0x38,0x02,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
233 phaddd 485498096, %xmm6
235 // CHECK: phaddd 64(%rdx), %mm4
236 // CHECK: encoding: [0x0f,0x38,0x02,0x62,0x40]
237 phaddd 64(%rdx), %mm4
239 // CHECK: phaddd -64(%rdx,%rax,4), %mm4
240 // CHECK: encoding: [0x0f,0x38,0x02,0x64,0x82,0xc0]
241 phaddd -64(%rdx,%rax,4), %mm4
243 // CHECK: phaddd 64(%rdx,%rax,4), %mm4
244 // CHECK: encoding: [0x0f,0x38,0x02,0x64,0x82,0x40]
245 phaddd 64(%rdx,%rax,4), %mm4
247 // CHECK: phaddd -64(%rdx,%rax,4), %xmm6
248 // CHECK: encoding: [0x66,0x0f,0x38,0x02,0x74,0x82,0xc0]
249 phaddd -64(%rdx,%rax,4), %xmm6
251 // CHECK: phaddd 64(%rdx,%rax,4), %xmm6
252 // CHECK: encoding: [0x66,0x0f,0x38,0x02,0x74,0x82,0x40]
253 phaddd 64(%rdx,%rax,4), %xmm6
255 // CHECK: phaddd 64(%rdx,%rax), %mm4
256 // CHECK: encoding: [0x0f,0x38,0x02,0x64,0x02,0x40]
257 phaddd 64(%rdx,%rax), %mm4
259 // CHECK: phaddd 64(%rdx,%rax), %xmm6
260 // CHECK: encoding: [0x66,0x0f,0x38,0x02,0x74,0x02,0x40]
261 phaddd 64(%rdx,%rax), %xmm6
263 // CHECK: phaddd 64(%rdx), %xmm6
264 // CHECK: encoding: [0x66,0x0f,0x38,0x02,0x72,0x40]
265 phaddd 64(%rdx), %xmm6
267 // CHECK: phaddd %mm4, %mm4
268 // CHECK: encoding: [0x0f,0x38,0x02,0xe4]
269 phaddd %mm4, %mm4
271 // CHECK: phaddd (%rdx), %mm4
272 // CHECK: encoding: [0x0f,0x38,0x02,0x22]
273 phaddd (%rdx), %mm4
275 // CHECK: phaddd (%rdx), %xmm6
276 // CHECK: encoding: [0x66,0x0f,0x38,0x02,0x32]
277 phaddd (%rdx), %xmm6
279 // CHECK: phaddd %xmm6, %xmm6
280 // CHECK: encoding: [0x66,0x0f,0x38,0x02,0xf6]
281 phaddd %xmm6, %xmm6
283 // CHECK: phaddsw 485498096, %mm4
284 // CHECK: encoding: [0x0f,0x38,0x03,0x24,0x25,0xf0,0x1c,0xf0,0x1c]
285 phaddsw 485498096, %mm4
287 // CHECK: phaddsw 485498096, %xmm6
288 // CHECK: encoding: [0x66,0x0f,0x38,0x03,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
289 phaddsw 485498096, %xmm6
291 // CHECK: phaddsw 64(%rdx), %mm4
292 // CHECK: encoding: [0x0f,0x38,0x03,0x62,0x40]
293 phaddsw 64(%rdx), %mm4
295 // CHECK: phaddsw -64(%rdx,%rax,4), %mm4
296 // CHECK: encoding: [0x0f,0x38,0x03,0x64,0x82,0xc0]
297 phaddsw -64(%rdx,%rax,4), %mm4
299 // CHECK: phaddsw 64(%rdx,%rax,4), %mm4
300 // CHECK: encoding: [0x0f,0x38,0x03,0x64,0x82,0x40]
301 phaddsw 64(%rdx,%rax,4), %mm4
303 // CHECK: phaddsw -64(%rdx,%rax,4), %xmm6
304 // CHECK: encoding: [0x66,0x0f,0x38,0x03,0x74,0x82,0xc0]
305 phaddsw -64(%rdx,%rax,4), %xmm6
307 // CHECK: phaddsw 64(%rdx,%rax,4), %xmm6
308 // CHECK: encoding: [0x66,0x0f,0x38,0x03,0x74,0x82,0x40]
309 phaddsw 64(%rdx,%rax,4), %xmm6
311 // CHECK: phaddsw 64(%rdx,%rax), %mm4
312 // CHECK: encoding: [0x0f,0x38,0x03,0x64,0x02,0x40]
313 phaddsw 64(%rdx,%rax), %mm4
315 // CHECK: phaddsw 64(%rdx,%rax), %xmm6
316 // CHECK: encoding: [0x66,0x0f,0x38,0x03,0x74,0x02,0x40]
317 phaddsw 64(%rdx,%rax), %xmm6
319 // CHECK: phaddsw 64(%rdx), %xmm6
320 // CHECK: encoding: [0x66,0x0f,0x38,0x03,0x72,0x40]
321 phaddsw 64(%rdx), %xmm6
323 // CHECK: phaddsw %mm4, %mm4
324 // CHECK: encoding: [0x0f,0x38,0x03,0xe4]
325 phaddsw %mm4, %mm4
327 // CHECK: phaddsw (%rdx), %mm4
328 // CHECK: encoding: [0x0f,0x38,0x03,0x22]
329 phaddsw (%rdx), %mm4
331 // CHECK: phaddsw (%rdx), %xmm6
332 // CHECK: encoding: [0x66,0x0f,0x38,0x03,0x32]
333 phaddsw (%rdx), %xmm6
335 // CHECK: phaddsw %xmm6, %xmm6
336 // CHECK: encoding: [0x66,0x0f,0x38,0x03,0xf6]
337 phaddsw %xmm6, %xmm6
339 // CHECK: phaddw 485498096, %mm4
340 // CHECK: encoding: [0x0f,0x38,0x01,0x24,0x25,0xf0,0x1c,0xf0,0x1c]
341 phaddw 485498096, %mm4
343 // CHECK: phaddw 485498096, %xmm6
344 // CHECK: encoding: [0x66,0x0f,0x38,0x01,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
345 phaddw 485498096, %xmm6
347 // CHECK: phaddw 64(%rdx), %mm4
348 // CHECK: encoding: [0x0f,0x38,0x01,0x62,0x40]
349 phaddw 64(%rdx), %mm4
351 // CHECK: phaddw -64(%rdx,%rax,4), %mm4
352 // CHECK: encoding: [0x0f,0x38,0x01,0x64,0x82,0xc0]
353 phaddw -64(%rdx,%rax,4), %mm4
355 // CHECK: phaddw 64(%rdx,%rax,4), %mm4
356 // CHECK: encoding: [0x0f,0x38,0x01,0x64,0x82,0x40]
357 phaddw 64(%rdx,%rax,4), %mm4
359 // CHECK: phaddw -64(%rdx,%rax,4), %xmm6
360 // CHECK: encoding: [0x66,0x0f,0x38,0x01,0x74,0x82,0xc0]
361 phaddw -64(%rdx,%rax,4), %xmm6
363 // CHECK: phaddw 64(%rdx,%rax,4), %xmm6
364 // CHECK: encoding: [0x66,0x0f,0x38,0x01,0x74,0x82,0x40]
365 phaddw 64(%rdx,%rax,4), %xmm6
367 // CHECK: phaddw 64(%rdx,%rax), %mm4
368 // CHECK: encoding: [0x0f,0x38,0x01,0x64,0x02,0x40]
369 phaddw 64(%rdx,%rax), %mm4
371 // CHECK: phaddw 64(%rdx,%rax), %xmm6
372 // CHECK: encoding: [0x66,0x0f,0x38,0x01,0x74,0x02,0x40]
373 phaddw 64(%rdx,%rax), %xmm6
375 // CHECK: phaddw 64(%rdx), %xmm6
376 // CHECK: encoding: [0x66,0x0f,0x38,0x01,0x72,0x40]
377 phaddw 64(%rdx), %xmm6
379 // CHECK: phaddw %mm4, %mm4
380 // CHECK: encoding: [0x0f,0x38,0x01,0xe4]
381 phaddw %mm4, %mm4
383 // CHECK: phaddw (%rdx), %mm4
384 // CHECK: encoding: [0x0f,0x38,0x01,0x22]
385 phaddw (%rdx), %mm4
387 // CHECK: phaddw (%rdx), %xmm6
388 // CHECK: encoding: [0x66,0x0f,0x38,0x01,0x32]
389 phaddw (%rdx), %xmm6
391 // CHECK: phaddw %xmm6, %xmm6
392 // CHECK: encoding: [0x66,0x0f,0x38,0x01,0xf6]
393 phaddw %xmm6, %xmm6
395 // CHECK: phsubd 485498096, %mm4
396 // CHECK: encoding: [0x0f,0x38,0x06,0x24,0x25,0xf0,0x1c,0xf0,0x1c]
397 phsubd 485498096, %mm4
399 // CHECK: phsubd 485498096, %xmm6
400 // CHECK: encoding: [0x66,0x0f,0x38,0x06,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
401 phsubd 485498096, %xmm6
403 // CHECK: phsubd 64(%rdx), %mm4
404 // CHECK: encoding: [0x0f,0x38,0x06,0x62,0x40]
405 phsubd 64(%rdx), %mm4
407 // CHECK: phsubd -64(%rdx,%rax,4), %mm4
408 // CHECK: encoding: [0x0f,0x38,0x06,0x64,0x82,0xc0]
409 phsubd -64(%rdx,%rax,4), %mm4
411 // CHECK: phsubd 64(%rdx,%rax,4), %mm4
412 // CHECK: encoding: [0x0f,0x38,0x06,0x64,0x82,0x40]
413 phsubd 64(%rdx,%rax,4), %mm4
415 // CHECK: phsubd -64(%rdx,%rax,4), %xmm6
416 // CHECK: encoding: [0x66,0x0f,0x38,0x06,0x74,0x82,0xc0]
417 phsubd -64(%rdx,%rax,4), %xmm6
419 // CHECK: phsubd 64(%rdx,%rax,4), %xmm6
420 // CHECK: encoding: [0x66,0x0f,0x38,0x06,0x74,0x82,0x40]
421 phsubd 64(%rdx,%rax,4), %xmm6
423 // CHECK: phsubd 64(%rdx,%rax), %mm4
424 // CHECK: encoding: [0x0f,0x38,0x06,0x64,0x02,0x40]
425 phsubd 64(%rdx,%rax), %mm4
427 // CHECK: phsubd 64(%rdx,%rax), %xmm6
428 // CHECK: encoding: [0x66,0x0f,0x38,0x06,0x74,0x02,0x40]
429 phsubd 64(%rdx,%rax), %xmm6
431 // CHECK: phsubd 64(%rdx), %xmm6
432 // CHECK: encoding: [0x66,0x0f,0x38,0x06,0x72,0x40]
433 phsubd 64(%rdx), %xmm6
435 // CHECK: phsubd %mm4, %mm4
436 // CHECK: encoding: [0x0f,0x38,0x06,0xe4]
437 phsubd %mm4, %mm4
439 // CHECK: phsubd (%rdx), %mm4
440 // CHECK: encoding: [0x0f,0x38,0x06,0x22]
441 phsubd (%rdx), %mm4
443 // CHECK: phsubd (%rdx), %xmm6
444 // CHECK: encoding: [0x66,0x0f,0x38,0x06,0x32]
445 phsubd (%rdx), %xmm6
447 // CHECK: phsubd %xmm6, %xmm6
448 // CHECK: encoding: [0x66,0x0f,0x38,0x06,0xf6]
449 phsubd %xmm6, %xmm6
451 // CHECK: phsubsw 485498096, %mm4
452 // CHECK: encoding: [0x0f,0x38,0x07,0x24,0x25,0xf0,0x1c,0xf0,0x1c]
453 phsubsw 485498096, %mm4
455 // CHECK: phsubsw 485498096, %xmm6
456 // CHECK: encoding: [0x66,0x0f,0x38,0x07,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
457 phsubsw 485498096, %xmm6
459 // CHECK: phsubsw 64(%rdx), %mm4
460 // CHECK: encoding: [0x0f,0x38,0x07,0x62,0x40]
461 phsubsw 64(%rdx), %mm4
463 // CHECK: phsubsw -64(%rdx,%rax,4), %mm4
464 // CHECK: encoding: [0x0f,0x38,0x07,0x64,0x82,0xc0]
465 phsubsw -64(%rdx,%rax,4), %mm4
467 // CHECK: phsubsw 64(%rdx,%rax,4), %mm4
468 // CHECK: encoding: [0x0f,0x38,0x07,0x64,0x82,0x40]
469 phsubsw 64(%rdx,%rax,4), %mm4
471 // CHECK: phsubsw -64(%rdx,%rax,4), %xmm6
472 // CHECK: encoding: [0x66,0x0f,0x38,0x07,0x74,0x82,0xc0]
473 phsubsw -64(%rdx,%rax,4), %xmm6
475 // CHECK: phsubsw 64(%rdx,%rax,4), %xmm6
476 // CHECK: encoding: [0x66,0x0f,0x38,0x07,0x74,0x82,0x40]
477 phsubsw 64(%rdx,%rax,4), %xmm6
479 // CHECK: phsubsw 64(%rdx,%rax), %mm4
480 // CHECK: encoding: [0x0f,0x38,0x07,0x64,0x02,0x40]
481 phsubsw 64(%rdx,%rax), %mm4
483 // CHECK: phsubsw 64(%rdx,%rax), %xmm6
484 // CHECK: encoding: [0x66,0x0f,0x38,0x07,0x74,0x02,0x40]
485 phsubsw 64(%rdx,%rax), %xmm6
487 // CHECK: phsubsw 64(%rdx), %xmm6
488 // CHECK: encoding: [0x66,0x0f,0x38,0x07,0x72,0x40]
489 phsubsw 64(%rdx), %xmm6
491 // CHECK: phsubsw %mm4, %mm4
492 // CHECK: encoding: [0x0f,0x38,0x07,0xe4]
493 phsubsw %mm4, %mm4
495 // CHECK: phsubsw (%rdx), %mm4
496 // CHECK: encoding: [0x0f,0x38,0x07,0x22]
497 phsubsw (%rdx), %mm4
499 // CHECK: phsubsw (%rdx), %xmm6
500 // CHECK: encoding: [0x66,0x0f,0x38,0x07,0x32]
501 phsubsw (%rdx), %xmm6
503 // CHECK: phsubsw %xmm6, %xmm6
504 // CHECK: encoding: [0x66,0x0f,0x38,0x07,0xf6]
505 phsubsw %xmm6, %xmm6
507 // CHECK: phsubw 485498096, %mm4
508 // CHECK: encoding: [0x0f,0x38,0x05,0x24,0x25,0xf0,0x1c,0xf0,0x1c]
509 phsubw 485498096, %mm4
511 // CHECK: phsubw 485498096, %xmm6
512 // CHECK: encoding: [0x66,0x0f,0x38,0x05,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
513 phsubw 485498096, %xmm6
515 // CHECK: phsubw 64(%rdx), %mm4
516 // CHECK: encoding: [0x0f,0x38,0x05,0x62,0x40]
517 phsubw 64(%rdx), %mm4
519 // CHECK: phsubw -64(%rdx,%rax,4), %mm4
520 // CHECK: encoding: [0x0f,0x38,0x05,0x64,0x82,0xc0]
521 phsubw -64(%rdx,%rax,4), %mm4
523 // CHECK: phsubw 64(%rdx,%rax,4), %mm4
524 // CHECK: encoding: [0x0f,0x38,0x05,0x64,0x82,0x40]
525 phsubw 64(%rdx,%rax,4), %mm4
527 // CHECK: phsubw -64(%rdx,%rax,4), %xmm6
528 // CHECK: encoding: [0x66,0x0f,0x38,0x05,0x74,0x82,0xc0]
529 phsubw -64(%rdx,%rax,4), %xmm6
531 // CHECK: phsubw 64(%rdx,%rax,4), %xmm6
532 // CHECK: encoding: [0x66,0x0f,0x38,0x05,0x74,0x82,0x40]
533 phsubw 64(%rdx,%rax,4), %xmm6
535 // CHECK: phsubw 64(%rdx,%rax), %mm4
536 // CHECK: encoding: [0x0f,0x38,0x05,0x64,0x02,0x40]
537 phsubw 64(%rdx,%rax), %mm4
539 // CHECK: phsubw 64(%rdx,%rax), %xmm6
540 // CHECK: encoding: [0x66,0x0f,0x38,0x05,0x74,0x02,0x40]
541 phsubw 64(%rdx,%rax), %xmm6
543 // CHECK: phsubw 64(%rdx), %xmm6
544 // CHECK: encoding: [0x66,0x0f,0x38,0x05,0x72,0x40]
545 phsubw 64(%rdx), %xmm6
547 // CHECK: phsubw %mm4, %mm4
548 // CHECK: encoding: [0x0f,0x38,0x05,0xe4]
549 phsubw %mm4, %mm4
551 // CHECK: phsubw (%rdx), %mm4
552 // CHECK: encoding: [0x0f,0x38,0x05,0x22]
553 phsubw (%rdx), %mm4
555 // CHECK: phsubw (%rdx), %xmm6
556 // CHECK: encoding: [0x66,0x0f,0x38,0x05,0x32]
557 phsubw (%rdx), %xmm6
559 // CHECK: phsubw %xmm6, %xmm6
560 // CHECK: encoding: [0x66,0x0f,0x38,0x05,0xf6]
561 phsubw %xmm6, %xmm6
563 // CHECK: pmaddubsw 485498096, %mm4
564 // CHECK: encoding: [0x0f,0x38,0x04,0x24,0x25,0xf0,0x1c,0xf0,0x1c]
565 pmaddubsw 485498096, %mm4
567 // CHECK: pmaddubsw 485498096, %xmm6
568 // CHECK: encoding: [0x66,0x0f,0x38,0x04,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
569 pmaddubsw 485498096, %xmm6
571 // CHECK: pmaddubsw 64(%rdx), %mm4
572 // CHECK: encoding: [0x0f,0x38,0x04,0x62,0x40]
573 pmaddubsw 64(%rdx), %mm4
575 // CHECK: pmaddubsw -64(%rdx,%rax,4), %mm4
576 // CHECK: encoding: [0x0f,0x38,0x04,0x64,0x82,0xc0]
577 pmaddubsw -64(%rdx,%rax,4), %mm4
579 // CHECK: pmaddubsw 64(%rdx,%rax,4), %mm4
580 // CHECK: encoding: [0x0f,0x38,0x04,0x64,0x82,0x40]
581 pmaddubsw 64(%rdx,%rax,4), %mm4
583 // CHECK: pmaddubsw -64(%rdx,%rax,4), %xmm6
584 // CHECK: encoding: [0x66,0x0f,0x38,0x04,0x74,0x82,0xc0]
585 pmaddubsw -64(%rdx,%rax,4), %xmm6
587 // CHECK: pmaddubsw 64(%rdx,%rax,4), %xmm6
588 // CHECK: encoding: [0x66,0x0f,0x38,0x04,0x74,0x82,0x40]
589 pmaddubsw 64(%rdx,%rax,4), %xmm6
591 // CHECK: pmaddubsw 64(%rdx,%rax), %mm4
592 // CHECK: encoding: [0x0f,0x38,0x04,0x64,0x02,0x40]
593 pmaddubsw 64(%rdx,%rax), %mm4
595 // CHECK: pmaddubsw 64(%rdx,%rax), %xmm6
596 // CHECK: encoding: [0x66,0x0f,0x38,0x04,0x74,0x02,0x40]
597 pmaddubsw 64(%rdx,%rax), %xmm6
599 // CHECK: pmaddubsw 64(%rdx), %xmm6
600 // CHECK: encoding: [0x66,0x0f,0x38,0x04,0x72,0x40]
601 pmaddubsw 64(%rdx), %xmm6
603 // CHECK: pmaddubsw %mm4, %mm4
604 // CHECK: encoding: [0x0f,0x38,0x04,0xe4]
605 pmaddubsw %mm4, %mm4
607 // CHECK: pmaddubsw (%rdx), %mm4
608 // CHECK: encoding: [0x0f,0x38,0x04,0x22]
609 pmaddubsw (%rdx), %mm4
611 // CHECK: pmaddubsw (%rdx), %xmm6
612 // CHECK: encoding: [0x66,0x0f,0x38,0x04,0x32]
613 pmaddubsw (%rdx), %xmm6
615 // CHECK: pmaddubsw %xmm6, %xmm6
616 // CHECK: encoding: [0x66,0x0f,0x38,0x04,0xf6]
617 pmaddubsw %xmm6, %xmm6
619 // CHECK: pmulhrsw 485498096, %mm4
620 // CHECK: encoding: [0x0f,0x38,0x0b,0x24,0x25,0xf0,0x1c,0xf0,0x1c]
621 pmulhrsw 485498096, %mm4
623 // CHECK: pmulhrsw 485498096, %xmm6
624 // CHECK: encoding: [0x66,0x0f,0x38,0x0b,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
625 pmulhrsw 485498096, %xmm6
627 // CHECK: pmulhrsw 64(%rdx), %mm4
628 // CHECK: encoding: [0x0f,0x38,0x0b,0x62,0x40]
629 pmulhrsw 64(%rdx), %mm4
631 // CHECK: pmulhrsw -64(%rdx,%rax,4), %mm4
632 // CHECK: encoding: [0x0f,0x38,0x0b,0x64,0x82,0xc0]
633 pmulhrsw -64(%rdx,%rax,4), %mm4
635 // CHECK: pmulhrsw 64(%rdx,%rax,4), %mm4
636 // CHECK: encoding: [0x0f,0x38,0x0b,0x64,0x82,0x40]
637 pmulhrsw 64(%rdx,%rax,4), %mm4
639 // CHECK: pmulhrsw -64(%rdx,%rax,4), %xmm6
640 // CHECK: encoding: [0x66,0x0f,0x38,0x0b,0x74,0x82,0xc0]
641 pmulhrsw -64(%rdx,%rax,4), %xmm6
643 // CHECK: pmulhrsw 64(%rdx,%rax,4), %xmm6
644 // CHECK: encoding: [0x66,0x0f,0x38,0x0b,0x74,0x82,0x40]
645 pmulhrsw 64(%rdx,%rax,4), %xmm6
647 // CHECK: pmulhrsw 64(%rdx,%rax), %mm4
648 // CHECK: encoding: [0x0f,0x38,0x0b,0x64,0x02,0x40]
649 pmulhrsw 64(%rdx,%rax), %mm4
651 // CHECK: pmulhrsw 64(%rdx,%rax), %xmm6
652 // CHECK: encoding: [0x66,0x0f,0x38,0x0b,0x74,0x02,0x40]
653 pmulhrsw 64(%rdx,%rax), %xmm6
655 // CHECK: pmulhrsw 64(%rdx), %xmm6
656 // CHECK: encoding: [0x66,0x0f,0x38,0x0b,0x72,0x40]
657 pmulhrsw 64(%rdx), %xmm6
659 // CHECK: pmulhrsw %mm4, %mm4
660 // CHECK: encoding: [0x0f,0x38,0x0b,0xe4]
661 pmulhrsw %mm4, %mm4
663 // CHECK: pmulhrsw (%rdx), %mm4
664 // CHECK: encoding: [0x0f,0x38,0x0b,0x22]
665 pmulhrsw (%rdx), %mm4
667 // CHECK: pmulhrsw (%rdx), %xmm6
668 // CHECK: encoding: [0x66,0x0f,0x38,0x0b,0x32]
669 pmulhrsw (%rdx), %xmm6
671 // CHECK: pmulhrsw %xmm6, %xmm6
672 // CHECK: encoding: [0x66,0x0f,0x38,0x0b,0xf6]
673 pmulhrsw %xmm6, %xmm6
675 // CHECK: pshufb 485498096, %mm4
676 // CHECK: encoding: [0x0f,0x38,0x00,0x24,0x25,0xf0,0x1c,0xf0,0x1c]
677 pshufb 485498096, %mm4
679 // CHECK: pshufb 485498096, %xmm6
680 // CHECK: encoding: [0x66,0x0f,0x38,0x00,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
681 pshufb 485498096, %xmm6
683 // CHECK: pshufb 64(%rdx), %mm4
684 // CHECK: encoding: [0x0f,0x38,0x00,0x62,0x40]
685 pshufb 64(%rdx), %mm4
687 // CHECK: pshufb -64(%rdx,%rax,4), %mm4
688 // CHECK: encoding: [0x0f,0x38,0x00,0x64,0x82,0xc0]
689 pshufb -64(%rdx,%rax,4), %mm4
691 // CHECK: pshufb 64(%rdx,%rax,4), %mm4
692 // CHECK: encoding: [0x0f,0x38,0x00,0x64,0x82,0x40]
693 pshufb 64(%rdx,%rax,4), %mm4
695 // CHECK: pshufb -64(%rdx,%rax,4), %xmm6
696 // CHECK: encoding: [0x66,0x0f,0x38,0x00,0x74,0x82,0xc0]
697 pshufb -64(%rdx,%rax,4), %xmm6
699 // CHECK: pshufb 64(%rdx,%rax,4), %xmm6
700 // CHECK: encoding: [0x66,0x0f,0x38,0x00,0x74,0x82,0x40]
701 pshufb 64(%rdx,%rax,4), %xmm6
703 // CHECK: pshufb 64(%rdx,%rax), %mm4
704 // CHECK: encoding: [0x0f,0x38,0x00,0x64,0x02,0x40]
705 pshufb 64(%rdx,%rax), %mm4
707 // CHECK: pshufb 64(%rdx,%rax), %xmm6
708 // CHECK: encoding: [0x66,0x0f,0x38,0x00,0x74,0x02,0x40]
709 pshufb 64(%rdx,%rax), %xmm6
711 // CHECK: pshufb 64(%rdx), %xmm6
712 // CHECK: encoding: [0x66,0x0f,0x38,0x00,0x72,0x40]
713 pshufb 64(%rdx), %xmm6
715 // CHECK: pshufb %mm4, %mm4
716 // CHECK: encoding: [0x0f,0x38,0x00,0xe4]
717 pshufb %mm4, %mm4
719 // CHECK: pshufb (%rdx), %mm4
720 // CHECK: encoding: [0x0f,0x38,0x00,0x22]
721 pshufb (%rdx), %mm4
723 // CHECK: pshufb (%rdx), %xmm6
724 // CHECK: encoding: [0x66,0x0f,0x38,0x00,0x32]
725 pshufb (%rdx), %xmm6
727 // CHECK: pshufb %xmm6, %xmm6
728 // CHECK: encoding: [0x66,0x0f,0x38,0x00,0xf6]
729 pshufb %xmm6, %xmm6
731 // CHECK: psignb 485498096, %mm4
732 // CHECK: encoding: [0x0f,0x38,0x08,0x24,0x25,0xf0,0x1c,0xf0,0x1c]
733 psignb 485498096, %mm4
735 // CHECK: psignb 485498096, %xmm6
736 // CHECK: encoding: [0x66,0x0f,0x38,0x08,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
737 psignb 485498096, %xmm6
739 // CHECK: psignb 64(%rdx), %mm4
740 // CHECK: encoding: [0x0f,0x38,0x08,0x62,0x40]
741 psignb 64(%rdx), %mm4
743 // CHECK: psignb -64(%rdx,%rax,4), %mm4
744 // CHECK: encoding: [0x0f,0x38,0x08,0x64,0x82,0xc0]
745 psignb -64(%rdx,%rax,4), %mm4
747 // CHECK: psignb 64(%rdx,%rax,4), %mm4
748 // CHECK: encoding: [0x0f,0x38,0x08,0x64,0x82,0x40]
749 psignb 64(%rdx,%rax,4), %mm4
751 // CHECK: psignb -64(%rdx,%rax,4), %xmm6
752 // CHECK: encoding: [0x66,0x0f,0x38,0x08,0x74,0x82,0xc0]
753 psignb -64(%rdx,%rax,4), %xmm6
755 // CHECK: psignb 64(%rdx,%rax,4), %xmm6
756 // CHECK: encoding: [0x66,0x0f,0x38,0x08,0x74,0x82,0x40]
757 psignb 64(%rdx,%rax,4), %xmm6
759 // CHECK: psignb 64(%rdx,%rax), %mm4
760 // CHECK: encoding: [0x0f,0x38,0x08,0x64,0x02,0x40]
761 psignb 64(%rdx,%rax), %mm4
763 // CHECK: psignb 64(%rdx,%rax), %xmm6
764 // CHECK: encoding: [0x66,0x0f,0x38,0x08,0x74,0x02,0x40]
765 psignb 64(%rdx,%rax), %xmm6
767 // CHECK: psignb 64(%rdx), %xmm6
768 // CHECK: encoding: [0x66,0x0f,0x38,0x08,0x72,0x40]
769 psignb 64(%rdx), %xmm6
771 // CHECK: psignb %mm4, %mm4
772 // CHECK: encoding: [0x0f,0x38,0x08,0xe4]
773 psignb %mm4, %mm4
775 // CHECK: psignb (%rdx), %mm4
776 // CHECK: encoding: [0x0f,0x38,0x08,0x22]
777 psignb (%rdx), %mm4
779 // CHECK: psignb (%rdx), %xmm6
780 // CHECK: encoding: [0x66,0x0f,0x38,0x08,0x32]
781 psignb (%rdx), %xmm6
783 // CHECK: psignb %xmm6, %xmm6
784 // CHECK: encoding: [0x66,0x0f,0x38,0x08,0xf6]
785 psignb %xmm6, %xmm6
787 // CHECK: psignd 485498096, %mm4
788 // CHECK: encoding: [0x0f,0x38,0x0a,0x24,0x25,0xf0,0x1c,0xf0,0x1c]
789 psignd 485498096, %mm4
791 // CHECK: psignd 485498096, %xmm6
792 // CHECK: encoding: [0x66,0x0f,0x38,0x0a,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
793 psignd 485498096, %xmm6
795 // CHECK: psignd 64(%rdx), %mm4
796 // CHECK: encoding: [0x0f,0x38,0x0a,0x62,0x40]
797 psignd 64(%rdx), %mm4
799 // CHECK: psignd -64(%rdx,%rax,4), %mm4
800 // CHECK: encoding: [0x0f,0x38,0x0a,0x64,0x82,0xc0]
801 psignd -64(%rdx,%rax,4), %mm4
803 // CHECK: psignd 64(%rdx,%rax,4), %mm4
804 // CHECK: encoding: [0x0f,0x38,0x0a,0x64,0x82,0x40]
805 psignd 64(%rdx,%rax,4), %mm4
807 // CHECK: psignd -64(%rdx,%rax,4), %xmm6
808 // CHECK: encoding: [0x66,0x0f,0x38,0x0a,0x74,0x82,0xc0]
809 psignd -64(%rdx,%rax,4), %xmm6
811 // CHECK: psignd 64(%rdx,%rax,4), %xmm6
812 // CHECK: encoding: [0x66,0x0f,0x38,0x0a,0x74,0x82,0x40]
813 psignd 64(%rdx,%rax,4), %xmm6
815 // CHECK: psignd 64(%rdx,%rax), %mm4
816 // CHECK: encoding: [0x0f,0x38,0x0a,0x64,0x02,0x40]
817 psignd 64(%rdx,%rax), %mm4
819 // CHECK: psignd 64(%rdx,%rax), %xmm6
820 // CHECK: encoding: [0x66,0x0f,0x38,0x0a,0x74,0x02,0x40]
821 psignd 64(%rdx,%rax), %xmm6
823 // CHECK: psignd 64(%rdx), %xmm6
824 // CHECK: encoding: [0x66,0x0f,0x38,0x0a,0x72,0x40]
825 psignd 64(%rdx), %xmm6
827 // CHECK: psignd %mm4, %mm4
828 // CHECK: encoding: [0x0f,0x38,0x0a,0xe4]
829 psignd %mm4, %mm4
831 // CHECK: psignd (%rdx), %mm4
832 // CHECK: encoding: [0x0f,0x38,0x0a,0x22]
833 psignd (%rdx), %mm4
835 // CHECK: psignd (%rdx), %xmm6
836 // CHECK: encoding: [0x66,0x0f,0x38,0x0a,0x32]
837 psignd (%rdx), %xmm6
839 // CHECK: psignd %xmm6, %xmm6
840 // CHECK: encoding: [0x66,0x0f,0x38,0x0a,0xf6]
841 psignd %xmm6, %xmm6
843 // CHECK: psignw 485498096, %mm4
844 // CHECK: encoding: [0x0f,0x38,0x09,0x24,0x25,0xf0,0x1c,0xf0,0x1c]
845 psignw 485498096, %mm4
847 // CHECK: psignw 485498096, %xmm6
848 // CHECK: encoding: [0x66,0x0f,0x38,0x09,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
849 psignw 485498096, %xmm6
851 // CHECK: psignw 64(%rdx), %mm4
852 // CHECK: encoding: [0x0f,0x38,0x09,0x62,0x40]
853 psignw 64(%rdx), %mm4
855 // CHECK: psignw -64(%rdx,%rax,4), %mm4
856 // CHECK: encoding: [0x0f,0x38,0x09,0x64,0x82,0xc0]
857 psignw -64(%rdx,%rax,4), %mm4
859 // CHECK: psignw 64(%rdx,%rax,4), %mm4
860 // CHECK: encoding: [0x0f,0x38,0x09,0x64,0x82,0x40]
861 psignw 64(%rdx,%rax,4), %mm4
863 // CHECK: psignw -64(%rdx,%rax,4), %xmm6
864 // CHECK: encoding: [0x66,0x0f,0x38,0x09,0x74,0x82,0xc0]
865 psignw -64(%rdx,%rax,4), %xmm6
867 // CHECK: psignw 64(%rdx,%rax,4), %xmm6
868 // CHECK: encoding: [0x66,0x0f,0x38,0x09,0x74,0x82,0x40]
869 psignw 64(%rdx,%rax,4), %xmm6
871 // CHECK: psignw 64(%rdx,%rax), %mm4
872 // CHECK: encoding: [0x0f,0x38,0x09,0x64,0x02,0x40]
873 psignw 64(%rdx,%rax), %mm4
875 // CHECK: psignw 64(%rdx,%rax), %xmm6
876 // CHECK: encoding: [0x66,0x0f,0x38,0x09,0x74,0x02,0x40]
877 psignw 64(%rdx,%rax), %xmm6
879 // CHECK: psignw 64(%rdx), %xmm6
880 // CHECK: encoding: [0x66,0x0f,0x38,0x09,0x72,0x40]
881 psignw 64(%rdx), %xmm6
883 // CHECK: psignw %mm4, %mm4
884 // CHECK: encoding: [0x0f,0x38,0x09,0xe4]
885 psignw %mm4, %mm4
887 // CHECK: psignw (%rdx), %mm4
888 // CHECK: encoding: [0x0f,0x38,0x09,0x22]
889 psignw (%rdx), %mm4
891 // CHECK: psignw (%rdx), %xmm6
892 // CHECK: encoding: [0x66,0x0f,0x38,0x09,0x32]
893 psignw (%rdx), %xmm6
895 // CHECK: psignw %xmm6, %xmm6
896 // CHECK: encoding: [0x66,0x0f,0x38,0x09,0xf6]
897 psignw %xmm6, %xmm6