1# RUN: llvm-mc --disassemble %s -triple powerpc64-bgq-linux -mcpu=a2q | FileCheck %s
2
3# CHECK: qvfabs 3, 5
40x10 0x60 0x2a 0x10
5
6# CHECK: qvfadd 3, 4, 5
70x10 0x64 0x28 0x2a
8
9# CHECK: qvfadds 3, 4, 5
100x00 0x64 0x28 0x2a
11
12# FIXME: decode as qvfandc 3, 4, 5
13# CHECK: qvflogical 3, 4, 5, 4
140x10 0x64 0x2a 0x08
15
16# FIXME: decode as qvfand 3, 4, 5
17# CHECK: qvflogical 3, 4, 5, 1
180x10 0x64 0x28 0x88
19
20# CHECK: qvfcfid 3, 5
210x10 0x60 0x2e 0x9c
22
23# CHECK: qvfcfids 3, 5
240x00 0x60 0x2e 0x9c
25
26# CHECK: qvfcfidu 3, 5
270x10 0x60 0x2f 0x9c
28
29# CHECK: qvfcfidus 3, 5
300x00 0x60 0x2f 0x9c
31
32# FIXME: decode as qvfclr 3
33# CHECK: qvflogical 3, 3, 3, 0
340x10 0x63 0x18 0x08
35
36# CHECK: qvfcpsgn 3, 4, 5
370x10 0x64 0x28 0x10
38
39# FIXME: decode as qvfctfb 3, 4
40# CHECK: qvflogical 3, 4, 4, 5
410x10 0x64 0x22 0x88
42
43# CHECK: qvfctid 3, 5
440x10 0x60 0x2e 0x5c
45
46# CHECK: qvfctidu 3, 5
470x10 0x60 0x2f 0x5c
48
49# CHECK: qvfctiduz 3, 5
500x10 0x60 0x2f 0x5e
51
52# CHECK: qvfctidz 3, 5
530x10 0x60 0x2e 0x5e
54
55# CHECK: qvfctiw 3, 5
560x10 0x60 0x28 0x1c
57
58# CHECK: qvfctiwu 3, 5
590x10 0x60 0x29 0x1c
60
61# CHECK: qvfctiwuz 3, 5
620x10 0x60 0x29 0x1e
63
64# CHECK: qvfctiwz 3, 5
650x10 0x60 0x28 0x1e
66
67# FIXME: decode as qvfequ 3, 4, 5
68# CHECK: qvflogical 3, 4, 5, 9
690x10 0x64 0x2c 0x88
70
71# CHECK: qvflogical 3, 4, 5, 12
720x10 0x64 0x2e 0x08
73
74# CHECK: qvfmadd 3, 4, 6, 5
750x10 0x64 0x29 0xba
76
77# CHECK: qvfmadds 3, 4, 6, 5
780x00 0x64 0x29 0xba
79
80# CHECK: qvfmr 3, 5
810x10 0x60 0x28 0x90
82
83# CHECK: qvfmsub 3, 4, 6, 5
840x10 0x64 0x29 0xb8
85
86# CHECK: qvfmsubs 3, 4, 6, 5
870x00 0x64 0x29 0xb8
88
89# CHECK: qvfmul 3, 4, 6
900x10 0x64 0x01 0xb2
91
92# CHECK: qvfmuls 3, 4, 6
930x00 0x64 0x01 0xb2
94
95# CHECK: qvfnabs 3, 5
960x10 0x60 0x29 0x10
97
98# FIXME: decode as qvfnand 3, 4, 5
99# CHECK: qvflogical 3, 4, 5, 14
1000x10 0x64 0x2f 0x08
101
102# CHECK: qvfneg 3, 5
1030x10 0x60 0x28 0x50
104
105# CHECK: qvfnmadd 3, 4, 6, 5
1060x10 0x64 0x29 0xbe
107
108# CHECK: qvfnmadds 3, 4, 6, 5
1090x00 0x64 0x29 0xbe
110
111# CHECK: qvfnmsub 3, 4, 6, 5
1120x10 0x64 0x29 0xbc
113
114# CHECK: qvfnmsubs 3, 4, 6, 5
1150x00 0x64 0x29 0xbc
116
117# FIXME: decode as qvfnor 3, 4, 5
118# CHECK: qvflogical 3, 4, 5, 8
1190x10 0x64 0x2c 0x08
120
121# FIXME: decode as qvfnot 3, 4
122# CHECK: qvflogical 3, 4, 4, 10
1230x10 0x64 0x25 0x08
124
125# FIXME: decode as qvforc 3, 4, 5
126# CHECK: qvflogical 3, 4, 5, 13
1270x10 0x64 0x2e 0x88
128
129# FIXME: decode as qvfor 3, 4, 5
130# CHECK: qvflogical 3, 4, 5, 7
1310x10 0x64 0x2b 0x88
132
133# CHECK: qvfperm 3, 4, 5, 6
1340x10 0x64 0x29 0x8c
135
136# CHECK: qvfre 3, 5
1370x10 0x60 0x28 0x30
138
139# CHECK: qvfres 3, 5
1400x00 0x60 0x28 0x30
141
142# CHECK: qvfrim 3, 5
1430x10 0x60 0x2b 0xd0
144
145# CHECK: qvfrin 3, 5
1460x10 0x60 0x2b 0x10
147
148# CHECK: qvfrip 3, 5
1490x10 0x60 0x2b 0x90
150
151# CHECK: qvfriz 3, 5
1520x10 0x60 0x2b 0x50
153
154# CHECK: qvfrsp 3, 5
1550x10 0x60 0x28 0x18
156
157# CHECK: qvfrsqrte 3, 5
1580x10 0x60 0x28 0x34
159
160# CHECK: qvfrsqrtes 3, 5
1610x00 0x60 0x28 0x34
162
163# CHECK: qvfsel 3, 4, 6, 5
1640x10 0x64 0x29 0xae
165
166# FIXME: decode as qvfset 3
167# CHECK: qvflogical 3, 3, 3, 15
1680x10 0x63 0x1f 0x88
169
170# CHECK: qvfsub 3, 4, 5
1710x10 0x64 0x28 0x28
172
173# CHECK: qvfsubs 3, 4, 5
1740x00 0x64 0x28 0x28
175
176# CHECK: qvfxmadd 3, 4, 6, 5
1770x10 0x64 0x29 0x92
178
179# CHECK: qvfxmadds 3, 4, 6, 5
1800x00 0x64 0x29 0x92
181
182# CHECK: qvfxmul 3, 4, 6
1830x10 0x64 0x01 0xa2
184
185# CHECK: qvfxmuls 3, 4, 6
1860x00 0x64 0x01 0xa2
187
188# FIXME: decode as qvfxor 3, 4, 5
189# CHECK: qvflogical 3, 4, 5, 6
1900x10 0x64 0x2b 0x08
191
192# CHECK: qvfxxcpnmadd 3, 4, 6, 5
1930x10 0x64 0x29 0x86
194
195# CHECK: qvfxxcpnmadds 3, 4, 6, 5
1960x00 0x64 0x29 0x86
197
198# CHECK: qvfxxmadd 3, 4, 6, 5
1990x10 0x64 0x29 0x82
200
201# CHECK: qvfxxmadds 3, 4, 6, 5
2020x00 0x64 0x29 0x82
203
204# CHECK: qvfxxnpmadd 3, 4, 6, 5
2050x10 0x64 0x29 0x96
206
207# CHECK: qvfxxnpmadds 3, 4, 6, 5
2080x00 0x64 0x29 0x96
209
210# CHECK: qvlfcduxa 3, 9, 11
2110x7c 0x69 0x58 0xcf
212
213# CHECK: qvlfcdux 3, 9, 11
2140x7c 0x69 0x58 0xce
215
216# CHECK: qvlfcdxa 3, 10, 11
2170x7c 0x6a 0x58 0x8f
218
219# CHECK: qvlfcdx 3, 10, 11
2200x7c 0x6a 0x58 0x8e
221
222# CHECK: qvlfcsuxa 3, 9, 11
2230x7c 0x69 0x58 0x4f
224
225# CHECK: qvlfcsux 3, 9, 11
2260x7c 0x69 0x58 0x4e
227
228# CHECK: qvlfcsxa 3, 10, 11
2290x7c 0x6a 0x58 0x0f
230
231# CHECK: qvlfcsx 3, 10, 11
2320x7c 0x6a 0x58 0x0e
233
234# CHECK: qvlfduxa 3, 9, 11
2350x7c 0x69 0x5c 0xcf
236
237# CHECK: qvlfdux 3, 9, 11
2380x7c 0x69 0x5c 0xce
239
240# CHECK: qvlfdxa 3, 10, 11
2410x7c 0x6a 0x5c 0x8f
242
243# CHECK: qvlfdx 3, 10, 11
2440x7c 0x6a 0x5c 0x8e
245
246# CHECK: qvlfiwaxa 3, 10, 11
2470x7c 0x6a 0x5e 0xcf
248
249# CHECK: qvlfiwax 3, 10, 11
2500x7c 0x6a 0x5e 0xce
251
252# CHECK: qvlfiwzxa 3, 10, 11
2530x7c 0x6a 0x5e 0x8f
254
255# CHECK: qvlfiwzx 3, 10, 11
2560x7c 0x6a 0x5e 0x8e
257
258# CHECK: qvlfsuxa 3, 9, 11
2590x7c 0x69 0x5c 0x4f
260
261# CHECK: qvlfsux 3, 9, 11
2620x7c 0x69 0x5c 0x4e
263
264# CHECK: qvlfsxa 3, 10, 11
2650x7c 0x6a 0x5c 0x0f
266
267# CHECK: qvlfsx 3, 10, 11
2680x7c 0x6a 0x5c 0x0e
269
270# CHECK: qvlpcldx 3, 10, 11
2710x7c 0x6a 0x5c 0x8c
272
273# CHECK: qvlpclsx 3, 10, 11
2740x7c 0x6a 0x5c 0x0c
275
276# CHECK: qvlpcrdx 3, 10, 11
2770x7c 0x6a 0x58 0x8c
278
279# CHECK: qvlpcrsx 3, 10, 11
2800x7c 0x6a 0x58 0x0c
281
282# CHECK: qvstfcduxa 2, 9, 11
2830x7c 0x49 0x59 0xcf
284
285# CHECK: qvstfcduxia 2, 9, 11
2860x7c 0x49 0x59 0xcb
287
288# CHECK: qvstfcduxi 2, 9, 11
2890x7c 0x49 0x59 0xca
290
291# CHECK: qvstfcdux 2, 9, 11
2920x7c 0x49 0x59 0xce
293
294# CHECK: qvstfcdxa 2, 10, 11
2950x7c 0x4a 0x59 0x8f
296
297# CHECK: qvstfcdxia 2, 10, 11
2980x7c 0x4a 0x59 0x8b
299
300# CHECK: qvstfcdxi 2, 10, 11
3010x7c 0x4a 0x59 0x8a
302
303# CHECK: qvstfcdx 2, 10, 11
3040x7c 0x4a 0x59 0x8e
305
306# CHECK: qvstfcsuxa 2, 9, 11
3070x7c 0x49 0x59 0x4f
308
309# CHECK: qvstfcsuxia 2, 9, 11
3100x7c 0x49 0x59 0x4b
311
312# CHECK: qvstfcsuxi 2, 9, 11
3130x7c 0x49 0x59 0x4a
314
315# CHECK: qvstfcsux 2, 9, 11
3160x7c 0x49 0x59 0x4e
317
318# CHECK: qvstfcsxa 2, 10, 11
3190x7c 0x4a 0x59 0x0f
320
321# CHECK: qvstfcsxia 2, 10, 11
3220x7c 0x4a 0x59 0x0b
323
324# CHECK: qvstfcsxi 2, 10, 11
3250x7c 0x4a 0x59 0x0a
326
327# CHECK: qvstfcsx 2, 10, 11
3280x7c 0x4a 0x59 0x0e
329
330# CHECK: qvstfduxa 2, 9, 11
3310x7c 0x49 0x5d 0xcf
332
333# CHECK: qvstfduxia 2, 9, 11
3340x7c 0x49 0x5d 0xcb
335
336# CHECK: qvstfduxi 2, 9, 11
3370x7c 0x49 0x5d 0xca
338
339# CHECK: qvstfdux 2, 9, 11
3400x7c 0x49 0x5d 0xce
341
342# CHECK: qvstfdxa 2, 10, 11
3430x7c 0x4a 0x5d 0x8f
344
345# CHECK: qvstfdxia 2, 10, 11
3460x7c 0x4a 0x5d 0x8b
347
348# CHECK: qvstfdxi 2, 10, 11
3490x7c 0x4a 0x5d 0x8a
350
351# CHECK: qvstfdx 2, 10, 11
3520x7c 0x4a 0x5d 0x8e
353
354# CHECK: qvstfiwxa 2, 10, 11
3550x7c 0x4a 0x5f 0x8f
356
357# CHECK: qvstfiwx 2, 10, 11
3580x7c 0x4a 0x5f 0x8e
359
360# CHECK: qvstfsuxa 2, 9, 11
3610x7c 0x49 0x5d 0x4f
362
363# CHECK: qvstfsuxia 2, 9, 11
3640x7c 0x49 0x5d 0x4b
365
366# CHECK: qvstfsuxi 2, 9, 11
3670x7c 0x49 0x5d 0x4a
368
369# CHECK: qvstfsux 2, 9, 11
3700x7c 0x49 0x5d 0x4e
371
372# CHECK: qvstfsxa 2, 10, 11
3730x7c 0x4a 0x5d 0x0f
374
375# CHECK: qvstfsxia 2, 10, 11
3760x7c 0x4a 0x5d 0x0b
377
378# CHECK: qvstfsxi 2, 10, 11
3790x7c 0x4a 0x5d 0x0a
380
381# CHECK: qvstfsx 2, 10, 11
3820x7c 0x4a 0x5d 0x0e
383
384