1# RUN: llvm-mc --disassemble %s -triple powerpc64-unknown-linux-gnu -mcpu=pwr7 | FileCheck %s
2
3# CHECK: lxsdx 7, 5, 31
40x7c 0xe5 0xfc 0x98
5
6# CHECK: lxvd2x 7, 5, 31
70x7c 0xe5 0xfe 0x98
8
9# CHECK: lxvdsx 7, 5, 31
100x7c 0xe5 0xfa 0x98
11
12# CHECK: lxvw4x 7, 5, 31
130x7c 0xe5 0xfe 0x18
14
15# CHECK: stxsdx 8, 5, 31
160x7d 0x05 0xfd 0x98
17
18# CHECK: stxvd2x 8, 5, 31
190x7d 0x05 0xff 0x98
20
21# CHECK: stxvw4x 8, 5, 31
220x7d 0x05 0xff 0x18
23
24# CHECK: xsabsdp 7, 27
250xf0 0xe0 0xdd 0x64
26
27# CHECK: xsadddp 7, 63, 27
280xf0 0xff 0xd9 0x04
29
30# CHECK: xscmpodp 6, 63, 27
310xf3 0x1f 0xd9 0x5c
32
33# CHECK: xscmpudp 6, 63, 27
340xf3 0x1f 0xd9 0x1c
35
36# CHECK: xscpsgndp 7, 63, 27
370xf0 0xff 0xdd 0x84
38
39# CHECK: xscvdpsp 7, 27
400xf0 0xe0 0xdc 0x24
41
42# CHECK: xscvdpsxds 7, 27
430xf0 0xe0 0xdd 0x60
44
45# CHECK: xscvdpsxws 7, 27
460xf0 0xe0 0xd9 0x60
47
48# CHECK: xscvdpuxds 7, 27
490xf0 0xe0 0xdd 0x20
50
51# CHECK: xscvdpuxws 7, 27
520xf0 0xe0 0xd9 0x20
53
54# CHECK: xscvspdp 7, 27
550xf0 0xe0 0xdd 0x24
56
57# CHECK: xscvsxddp 7, 27
580xf0 0xe0 0xdd 0xe0
59
60# CHECK: xscvuxddp 7, 27
610xf0 0xe0 0xdd 0xa0
62
63# CHECK: xsdivdp 7, 63, 27
640xf0 0xff 0xd9 0xc4
65
66# CHECK: xsmaddadp 7, 63, 27
670xf0 0xff 0xd9 0x0c
68
69# CHECK: xsmaddmdp 7, 63, 27
700xf0 0xff 0xd9 0x4c
71
72# CHECK: xsmaxdp 7, 63, 27
730xf0 0xff 0xdd 0x04
74
75# CHECK: xsmindp 7, 63, 27
760xf0 0xff 0xdd 0x44
77
78# CHECK: xsmsubadp 7, 63, 27
790xf0 0xff 0xd9 0x8c
80
81# CHECK: xsmsubmdp 7, 63, 27
820xf0 0xff 0xd9 0xcc
83
84# CHECK: xsmuldp 7, 63, 27
850xf0 0xff 0xd9 0x84
86
87# CHECK: xsnabsdp 7, 27
880xf0 0xe0 0xdd 0xa4
89
90# CHECK: xsnegdp 7, 27
910xf0 0xe0 0xdd 0xe4
92
93# CHECK: xsnmaddadp 7, 63, 27
940xf0 0xff 0xdd 0x0c
95
96# CHECK: xsnmaddmdp 7, 63, 27
970xf0 0xff 0xdd 0x4c
98
99# CHECK: xsnmsubadp 7, 63, 27
1000xf0 0xff 0xdd 0x8c
101
102# CHECK: xsnmsubmdp 7, 63, 27
1030xf0 0xff 0xdd 0xcc
104
105# CHECK: xsrdpi 7, 27
1060xf0 0xe0 0xd9 0x24
107
108# CHECK: xsrdpic 7, 27
1090xf0 0xe0 0xd9 0xac
110
111# CHECK: xsrdpim 7, 27
1120xf0 0xe0 0xd9 0xe4
113
114# CHECK: xsrdpip 7, 27
1150xf0 0xe0 0xd9 0xa4
116
117# CHECK: xsrdpiz 7, 27
1180xf0 0xe0 0xd9 0x64
119
120# CHECK: xsredp 7, 27
1210xf0 0xe0 0xd9 0x68
122
123# CHECK: xsrsqrtedp 7, 27
1240xf0 0xe0 0xd9 0x28
125
126# CHECK: xssqrtdp 7, 27
1270xf0 0xe0 0xd9 0x2c
128
129# CHECK: xssubdp 7, 63, 27
1300xf0 0xff 0xd9 0x44
131
132# CHECK: xstdivdp 6, 63, 27
1330xf3 0x1f 0xd9 0xec
134
135# CHECK: xstsqrtdp 6, 27
1360xf3 0x00 0xd9 0xa8
137
138# CHECK: xvabsdp 7, 27
1390xf0 0xe0 0xdf 0x64
140
141# CHECK: xvabssp 7, 27
1420xf0 0xe0 0xde 0x64
143
144# CHECK: xvadddp 7, 63, 27
1450xf0 0xff 0xdb 0x04
146
147# CHECK: xvaddsp 7, 63, 27
1480xf0 0xff 0xda 0x04
149
150# CHECK: xvcmpeqdp 7, 63, 27
1510xf0 0xff 0xdb 0x1c
152
153# CHECK: xvcmpeqdp. 7, 63, 27
1540xf0 0xff 0xdf 0x1c
155
156# CHECK: xvcmpeqsp 7, 63, 27
1570xf0 0xff 0xda 0x1c
158
159# CHECK: xvcmpeqsp. 7, 63, 27
1600xf0 0xff 0xde 0x1c
161
162# CHECK: xvcmpgedp 7, 63, 27
1630xf0 0xff 0xdb 0x9c
164
165# CHECK: xvcmpgedp. 7, 63, 27
1660xf0 0xff 0xdf 0x9c
167
168# CHECK: xvcmpgesp 7, 63, 27
1690xf0 0xff 0xda 0x9c
170
171# CHECK: xvcmpgesp. 7, 63, 27
1720xf0 0xff 0xde 0x9c
173
174# CHECK: xvcmpgtdp 7, 63, 27
1750xf0 0xff 0xdb 0x5c
176
177# CHECK: xvcmpgtdp. 7, 63, 27
1780xf0 0xff 0xdf 0x5c
179
180# CHECK: xvcmpgtsp 7, 63, 27
1810xf0 0xff 0xda 0x5c
182
183# CHECK: xvcmpgtsp. 7, 63, 27
1840xf0 0xff 0xde 0x5c
185
186# CHECK: xvcpsgndp 7, 63, 27
1870xf0 0xff 0xdf 0x84
188
189# CHECK: xvcpsgnsp 7, 63, 27
1900xf0 0xff 0xde 0x84
191
192# CHECK: xvcvdpsp 7, 27
1930xf0 0xe0 0xde 0x24
194
195# CHECK: xvcvdpsxds 7, 27
1960xf0 0xe0 0xdf 0x60
197
198# CHECK: xvcvdpsxws 7, 27
1990xf0 0xe0 0xdb 0x60
200
201# CHECK: xvcvdpuxds 7, 27
2020xf0 0xe0 0xdf 0x20
203
204# CHECK: xvcvdpuxws 7, 27
2050xf0 0xe0 0xdb 0x20
206
207# CHECK: xvcvspdp 7, 27
2080xf0 0xe0 0xdf 0x24
209
210# CHECK: xvcvspsxds 7, 27
2110xf0 0xe0 0xde 0x60
212
213# CHECK: xvcvspsxws 7, 27
2140xf0 0xe0 0xda 0x60
215
216# CHECK: xvcvspuxds 7, 27
2170xf0 0xe0 0xde 0x20
218
219# CHECK: xvcvspuxws 7, 27
2200xf0 0xe0 0xda 0x20
221
222# CHECK: xvcvsxddp 7, 27
2230xf0 0xe0 0xdf 0xe0
224
225# CHECK: xvcvsxdsp 7, 27
2260xf0 0xe0 0xde 0xe0
227
228# CHECK: xvcvsxwdp 7, 27
2290xf0 0xe0 0xdb 0xe0
230
231# CHECK: xvcvsxwsp 7, 27
2320xf0 0xe0 0xda 0xe0
233
234# CHECK: xvcvuxddp 7, 27
2350xf0 0xe0 0xdf 0xa0
236
237# CHECK: xvcvuxdsp 7, 27
2380xf0 0xe0 0xde 0xa0
239
240# CHECK: xvcvuxwdp 7, 27
2410xf0 0xe0 0xdb 0xa0
242
243# CHECK: xvcvuxwsp 7, 27
2440xf0 0xe0 0xda 0xa0
245
246# CHECK: xvdivdp 7, 63, 27
2470xf0 0xff 0xdb 0xc4
248
249# CHECK: xvdivsp 7, 63, 27
2500xf0 0xff 0xda 0xc4
251
252# CHECK: xvmaddadp 7, 63, 27
2530xf0 0xff 0xdb 0x0c
254
255# CHECK: xvmaddasp 7, 63, 27
2560xf0 0xff 0xda 0x0c
257
258# CHECK: xvmaddmdp 7, 63, 27
2590xf0 0xff 0xdb 0x4c
260
261# CHECK: xvmaddmsp 7, 63, 27
2620xf0 0xff 0xda 0x4c
263
264# CHECK: xvmaxdp 7, 63, 27
2650xf0 0xff 0xdf 0x04
266
267# CHECK: xvmaxsp 7, 63, 27
2680xf0 0xff 0xde 0x04
269
270# CHECK: xvmindp 7, 63, 27
2710xf0 0xff 0xdf 0x44
272
273# CHECK: xvminsp 7, 63, 27
2740xf0 0xff 0xde 0x44
275
276# FIXME: decode as xvmovdp 7, 63
277# CHECK:  xvcpsgndp 7, 63, 63
2780xf0 0xff 0xff 0x86
279
280# FIXME: decode as xvmovsp 7, 63
281# CHECK:  xvcpsgnsp 7, 63, 63
2820xf0 0xff 0xfe 0x86
283
284# CHECK: xvmsubadp 7, 63, 27
2850xf0 0xff 0xdb 0x8c
286
287# CHECK: xvmsubasp 7, 63, 27
2880xf0 0xff 0xda 0x8c
289
290# CHECK: xvmsubmdp 7, 63, 27
2910xf0 0xff 0xdb 0xcc
292
293# CHECK: xvmsubmsp 7, 63, 27
2940xf0 0xff 0xda 0xcc
295
296# CHECK: xvmuldp 7, 63, 27
2970xf0 0xff 0xdb 0x84
298
299# CHECK: xvmulsp 7, 63, 27
3000xf0 0xff 0xda 0x84
301
302# CHECK: xvnabsdp 7, 27
3030xf0 0xe0 0xdf 0xa4
304
305# CHECK: xvnabssp 7, 27
3060xf0 0xe0 0xde 0xa4
307
308# CHECK: xvnegdp 7, 27
3090xf0 0xe0 0xdf 0xe4
310
311# CHECK: xvnegsp 7, 27
3120xf0 0xe0 0xde 0xe4
313
314# CHECK: xvnmaddadp 7, 63, 27
3150xf0 0xff 0xdf 0x0c
316
317# CHECK: xvnmaddasp 7, 63, 27
3180xf0 0xff 0xde 0x0c
319
320# CHECK: xvnmaddmdp 7, 63, 27
3210xf0 0xff 0xdf 0x4c
322
323# CHECK: xvnmaddmsp 7, 63, 27
3240xf0 0xff 0xde 0x4c
325
326# CHECK: xvnmsubadp 7, 63, 27
3270xf0 0xff 0xdf 0x8c
328
329# CHECK: xvnmsubasp 7, 63, 27
3300xf0 0xff 0xde 0x8c
331
332# CHECK: xvnmsubmdp 7, 63, 27
3330xf0 0xff 0xdf 0xcc
334
335# CHECK: xvnmsubmsp 7, 63, 27
3360xf0 0xff 0xde 0xcc
337
338# CHECK: xvrdpi 7, 27
3390xf0 0xe0 0xdb 0x24
340
341# CHECK: xvrdpic 7, 27
3420xf0 0xe0 0xdb 0xac
343
344# CHECK: xvrdpim 7, 27
3450xf0 0xe0 0xdb 0xe4
346
347# CHECK: xvrdpip 7, 27
3480xf0 0xe0 0xdb 0xa4
349
350# CHECK: xvrdpiz 7, 27
3510xf0 0xe0 0xdb 0x64
352
353# CHECK: xvredp 7, 27
3540xf0 0xe0 0xdb 0x68
355
356# CHECK: xvresp 7, 27
3570xf0 0xe0 0xda 0x68
358
359# CHECK: xvrspi 7, 27
3600xf0 0xe0 0xda 0x24
361
362# CHECK: xvrspic 7, 27
3630xf0 0xe0 0xda 0xac
364
365# CHECK: xvrspim 7, 27
3660xf0 0xe0 0xda 0xe4
367
368# CHECK: xvrspip 7, 27
3690xf0 0xe0 0xda 0xa4
370
371# CHECK: xvrspiz 7, 27
3720xf0 0xe0 0xda 0x64
373
374# CHECK: xvrsqrtedp 7, 27
3750xf0 0xe0 0xdb 0x28
376
377# CHECK: xvrsqrtesp 7, 27
3780xf0 0xe0 0xda 0x28
379
380# CHECK: xvsqrtdp 7, 27
3810xf0 0xe0 0xdb 0x2c
382
383# CHECK: xvsqrtsp 7, 27
3840xf0 0xe0 0xda 0x2c
385
386# CHECK: xvsubdp 7, 63, 27
3870xf0 0xff 0xdb 0x44
388
389# CHECK: xvsubsp 7, 63, 27
3900xf0 0xff 0xda 0x44
391
392# CHECK: xvtdivdp 6, 63, 27
3930xf3 0x1f 0xdb 0xec
394
395# CHECK: xvtdivsp 6, 63, 27
3960xf3 0x1f 0xda 0xec
397
398# CHECK: xvtsqrtdp 6, 27
3990xf3 0x00 0xdb 0xa8
400
401# CHECK: xvtsqrtsp 6, 27
4020xf3 0x00 0xda 0xa8
403
404# CHECK: xxland 7, 63, 27
4050xf0 0xff 0xdc 0x14
406
407# CHECK: xxleqv 7, 63, 27
4080xf0 0xff 0xdd 0xd4
409
410# CHECK: xxlnand 7, 63, 27
4110xf0 0xff 0xdd 0x94
412
413# CHECK: xxlorc 7, 63, 27
4140xf0 0xff 0xdd 0x54
415
416# CHECK: xxlandc 7, 63, 27
4170xf0 0xff 0xdc 0x54
418
419# CHECK: xxlnor 7, 63, 27
4200xf0 0xff 0xdd 0x14
421
422# CHECK: xxlor 7, 63, 27
4230xf0 0xff 0xdc 0x94
424
425# CHECK: xxlxor 7, 63, 27
4260xf0 0xff 0xdc 0xd4
427
428# FIXME: decode as xxmrghd 7, 63, 27
429# CHECK: xxpermdi 7, 63, 27, 0
4300xf0 0xff 0xd8 0x54
431
432# CHECK: xxmrghw 7, 63, 27
4330xf0 0xff 0xd8 0x94
434
435# FIXME: decode as xxmrgld 7, 63, 27
436# CHECK:  xxpermdi 7, 63, 27, 3
4370xf0 0xff 0xdb 0x54
438
439# CHECK: xxmrglw 7, 63, 27
4400xf0 0xff 0xd9 0x94
441
442# CHECK: xxpermdi 7, 63, 27, 2
4430xf0 0xff 0xda 0x54
444
445# CHECK: xxsel 7, 63, 27, 14
4460xf0 0xff 0xdb 0xb4
447
448# CHECK: xxsldwi 7, 63, 27, 1
4490xf0 0xff 0xd9 0x14
450
451# FIXME: decode as xxspltd 7, 63, 1
452# CHECK: xxpermdi 7, 63, 63, 3
4530xf0 0xff 0xfb 0x56
454
455# CHECK: xxspltw 7, 27, 3
4560xf0 0xe3 0xda 0x90
457
458# FIXME: decode as xxswapd 7, 63
459# CHECK: xxpermdi 7, 63, 63, 2
4600xf0 0xff 0xfa 0x56
461
462# CHECK: mfvsrd 3, 0
4630x7c 0x03 0x00 0x66
464
465# CHECK: mfvsrwz 5, 0
4660x7c 0x05 0x00 0xe6
467
468# CHECK: mtvsrd 0, 3
4690x7c 0x03 0x01 0x66
470
471# CHECK: mtvsrwa 0, 3
4720x7c 0x03 0x01 0xa6
473
474# CHECK: mtvsrwz 0, 3
4750x7c 0x03 0x01 0xe6
476