xref: /llvm-project/llvm/test/MC/Disassembler/ARC/alu.txt (revision 8c3886b0ec9805a8ecad535c7aa92fa8d03147f1)
1# RUN: llvm-mc -triple=arc -disassemble %s | FileCheck %s
2
3# CHECK: add %r0, %r0, %r0
40x00 0x20 0x00 0x00
5
6# CHECK: add %r4, %r0, %r0
70x00 0x20 0x04 0x00
8
9# CHECK: add.f %r4, %r0, %r0
100x00 0x20 0x04 0x80
11
12# CHECK: add %r2, %r0, %r3
130x00 0x20 0xc2 0x00
14
15# CHECK: add %r2, %r0, %r4
160x00 0x20 0x02 0x01
17
18# CHECK: add %r2, %r7, %r4
190x00 0x27 0x02 0x01
20
21# CHECK: add.eq %r0, %r0, 1
220xc0 0x20 0x61 0x00
23
24# CHECK: add.lt %r6, %r6, 16
250xc0 0x26 0x2b 0x04
26
27# CHECK: add.le %r15, %r15, 31
280xc0 0x27 0xec 0x17
29
30# CHECK: add.gt %r0, %r0, 1
310xc0 0x20 0x69 0x00
32
33# CHECK: add.ge %r6, %r6, 16
340xc0 0x26 0x2a 0x04
35
36# CHECK: add.p %r15, %r15, 31
370xc0 0x27 0xe3 0x17
38
39# CHECK: add.n %r0, %r0, 1
400xc0 0x20 0x64 0x00
41
42# CHECK: add.vs %r6, %r6, 16
430xc0 0x26 0x27 0x04
44
45# CHECK: add.pnz %r15, %r15, 31
460xc0 0x27 0xef 0x17
47
48# CHECK: add.eq.f %r0, %r0, 1
490xc0 0x20 0x61 0x80
50
51# CHECK: add.lt.f %r6, %r6, 16
520xc0 0x26 0x2b 0x84
53
54# CHECK: add.le.f %r15, %r15, 31
550xc0 0x27 0xec 0x97
56
57# CHECK: add.gt.f %r0, %r0, 1
580xc0 0x20 0x69 0x80
59
60# CHECK: add.ge.f %r6, %r6, 16
610xc0 0x26 0x2a 0x84
62
63# CHECK: add.p.f %r15, %r15, 31
640xc0 0x27 0xe3 0x97
65
66# CHECK: add.n.f %r0, %r0, 1
670xc0 0x20 0x64 0x80
68
69# CHECK: add.vs.f %r6, %r6, 16
700xc0 0x26 0x27 0x84
71
72# CHECK: add.pnz.f %r15, %r15, 31
730xc0 0x27 0xef 0x97
74
75# CHECK: and %r2, %r7, %r4
760x04 0x27 0x02 0x01
77
78# CHECK: and.f %r2, %r7, %r4
790x04 0x27 0x02 0x81
80
81# CHECK: and %r2, %r7, 4
820x44 0x27 0x02 0x01
83
84# CHECK: and %r1, %r1, 255
850x84 0x21 0xc3 0x0f
86
87# CHECK: and.f %r1, %r1, 255
880x84 0x21 0xc3 0x8f
89
90# CHECK: and.eq %r0, %r0, 0
910xc4 0x20 0x21 0x00
92
93# CHECK: and.lt %r6, %r6, 16
940xc4 0x26 0x2b 0x04
95
96# CHECK: and.le %r15, %r15, 31
970xc4 0x27 0xec 0x17
98
99# CHECK: and.gt %r0, %r0, 0
1000xc4 0x20 0x29 0x00
101
102# CHECK: and.ge %r6, %r6, 16
1030xc4 0x26 0x2a 0x04
104
105# CHECK: and.p %r15, %r15, 31
1060xc4 0x27 0xe3 0x17
107
108# CHECK: and.n %r0, %r0, 0
1090xc4 0x20 0x24 0x00
110
111# CHECK: and.vs %r6, %r6, 16
1120xc4 0x26 0x27 0x04
113
114# CHECK: and.pnz %r15, %r15, 31
1150xc4 0x27 0xef 0x17
116
117# CHECK: and.eq.f %r0, %r0, 0
1180xc4 0x20 0x21 0x80
119
120# CHECK: and.lt.f %r6, %r6, 16
1210xc4 0x26 0x2b 0x84
122
123# CHECK: and.le.f %r15, %r15, 31
1240xc4 0x27 0xec 0x97
125
126# CHECK: and.gt.f %r0, %r0, 0
1270xc4 0x20 0x29 0x80
128
129# CHECK: and.ge.f %r6, %r6, 16
1300xc4 0x26 0x2a 0x84
131
132# CHECK: and.p.f %r15, %r15, 31
1330xc4 0x27 0xe3 0x97
134
135# CHECK: and.n.f %r0, %r0, 0
1360xc4 0x20 0x24 0x80
137
138# CHECK: and.vs.f %r6, %r6, 16
1390xc4 0x26 0x27 0x84
140
141# CHECK: and.pnz.f %r15, %r15, 31
1420xc4 0x27 0xef 0x97
143
144# CHECK: asl %r1, %r1, 2
1450x40 0x29 0x81 0x00
146
147# CHECK: asl %r0, %r0, %r0
1480x00 0x28 0x00 0x00
149
150# CHECK: asl.f %r0, %r0, %r0
1510x00 0x28 0x00 0x80
152
153# CHECK: asr %r1, %r2, 31
1540x42 0x2a 0xc1 0x07
155
156# CHECK: asr.f %r1, %r2, 31
1570x42 0x2a 0xc1 0x87
158
159# CHECK: asr %r1, %r3, 7
1600x42 0x2b 0xc1 0x01
161
162# CHECK: asr %r1, %r1, %r2
1630x02 0x29 0x81 0x00
164
165# CHECK: max %r0, %r2, %r1
1660x08 0x22 0x40 0x00
167
168# CHECK: max %r0, %r1, 15
1690x48 0x21 0xc0 0x03
170
171# CHECK: max %r0, %r2, 4000
1720x08 0x22 0x80 0x0f 0x00 0x00 0xa0 0x0f
173
174# CHECK: max %r2, %r2, 255
1750x88 0x22 0xc3 0x0f
176
177# CHECK: or %r18, %r16, 61440
1780x05 0x20 0x92 0x2f 0x00 0x00 0x00 0xf0
179
180# CHECK: or.f %r18, %r16, 61440
1810x05 0x20 0x92 0xaf 0x00 0x00 0x00 0xf0
182
183# CHECK: or %r1, %r1, %r14
1840x05 0x21 0x81 0x03
185
186# CHECK: or %r1, %r14, %r1
1870x05 0x26 0x41 0x10
188
189# CHECK: or %r1, %r1, 128
1900x85 0x21 0x02 0x00
191
192# CHECK: sub %sp, %fp, 92
1930x02 0x23 0x9c 0x3f 0x00 0x00 0x5c 0x00
194
195# CHECK: sub %r2, %r7, %r4
1960x02 0x27 0x02 0x01
197
198# CHECK: sub.f %r2, %r7, %r4
1990x02 0x27 0x02 0x81
200
201# CHECK: sub %r0, %r22, %r0
2020x02 0x26 0x00 0x20
203
204# CHECK: sub1 %r3, %fp, %r1
2050x17 0x23 0x43 0x30
206
207# CHECK: sub2 %r3, %fp, 17
2080x58 0x23 0x43 0x34
209
210# CHECK: sub3 %fp, %fp, -1
2110x99 0x23 0xff 0x3f
212
213# CHECK: sub3.f %fp, %fp, -1
2140x99 0x23 0xff 0xbf
215
216# CHECK: rsub.ne %r0, %r0, 31
2170xce 0x20 0xe2 0x07
218
219# CHECK: rsub.eq %r0, %r0, 1
2200xce 0x20 0x61 0x00
221
222# CHECK: rsub.lt %r6, %r6, 16
2230xce 0x26 0x2b 0x04
224
225# CHECK: rsub.le %r15, %r15, 31
2260xce 0x27 0xec 0x17
227
228# CHECK: rsub.gt %r0, %r0, 1
2290xce 0x20 0x69 0x00
230
231# CHECK: rsub.ge %r6, %r6, 16
2320xce 0x26 0x2a 0x04
233
234# CHECK: rsub.p %r15, %r15, 31
2350xce 0x27 0xe3 0x17
236
237# CHECK: rsub.n %r0, %r0, 1
2380xce 0x20 0x64 0x00
239
240# CHECK: rsub.vs %r6, %r6, 16
2410xce 0x26 0x27 0x04
242
243# CHECK: rsub.pnz %r15, %r15, 31
2440xce 0x27 0xef 0x17
245
246# CHECK: rsub.ne.f %r0, %r0, 31
2470xce 0x20 0xe2 0x87
248
249# CHECK: rsub.eq.f %r0, %r0, 1
2500xce 0x20 0x61 0x80
251
252# CHECK: rsub.lt.f %r6, %r6, 16
2530xce 0x26 0x2b 0x84
254
255# CHECK: rsub.le.f %r15, %r15, 31
2560xce 0x27 0xec 0x97
257
258# CHECK: rsub.gt.f %r0, %r0, 1
2590xce 0x20 0x69 0x80
260
261# CHECK: rsub.ge.f %r6, %r6, 16
2620xce 0x26 0x2a 0x84
263
264# CHECK: rsub.p.f %r15, %r15, 31
2650xce 0x27 0xe3 0x97
266
267# CHECK: rsub.n.f %r0, %r0, 1
2680xce 0x20 0x64 0x80
269
270# CHECK: rsub.vs.f %r6, %r6, 16
2710xce 0x26 0x27 0x84
272
273# CHECK: rsub.pnz.f %r15, %r15, 31
2740xce 0x27 0xef 0x97
275
276# CHECK: adc %r0, %r0, %r0
2770x01 0x20 0x00 0x00
278
279# CHECK: adc %r4, %r0, %r0
2800x01 0x20 0x04 0x00
281
282# CHECK: adc.f %r4, %r0, %r0
2830x01 0x20 0x04 0x80
284
285# CHECK: adc %r2, %r0, %r3
2860x01 0x20 0xc2 0x00
287
288# CHECK: adc %r2, %r0, %r4
2890x01 0x20 0x02 0x01
290
291# CHECK: adc %r2, %r7, %r4
2920x01 0x27 0x02 0x01
293
294# CHECK: adc.eq %r0, %r0, 1
2950xc1 0x20 0x61 0x00
296
297# CHECK: adc.lt %r6, %r6, 16
2980xc1 0x26 0x2b 0x04
299
300# CHECK: adc.le %r15, %r15, 31
3010xc1 0x27 0xec 0x17
302
303# CHECK: adc.gt %r0, %r0, 1
3040xc1 0x20 0x69 0x00
305
306# CHECK: adc.ge %r6, %r6, 16
3070xc1 0x26 0x2a 0x04
308
309# CHECK: adc.p %r15, %r15, 31
3100xc1 0x27 0xe3 0x17
311
312# CHECK: adc.n %r0, %r0, 1
3130xc1 0x20 0x64 0x00
314
315# CHECK: adc.vs %r6, %r6, 16
3160xc1 0x26 0x27 0x04
317
318# CHECK: adc.pnz %r15, %r15, 31
3190xc1 0x27 0xef 0x17
320
321# CHECK: adc.eq.f %r0, %r0, 1
3220xc1 0x20 0x61 0x80
323
324# CHECK: adc.lt.f %r6, %r6, 16
3250xc1 0x26 0x2b 0x84
326
327# CHECK: adc.le.f %r15, %r15, 31
3280xc1 0x27 0xec 0x97
329
330# CHECK: adc.gt.f %r0, %r0, 1
3310xc1 0x20 0x69 0x80
332
333# CHECK: adc.ge.f %r6, %r6, 16
3340xc1 0x26 0x2a 0x84
335
336# CHECK: adc.p.f %r15, %r15, 31
3370xc1 0x27 0xe3 0x97
338
339# CHECK: adc.n.f %r0, %r0, 1
3400xc1 0x20 0x64 0x80
341
342# CHECK: adc.vs.f %r6, %r6, 16
3430xc1 0x26 0x27 0x84
344
345# CHECK: adc.pnz.f %r15, %r15, 31
3460xc1 0x27 0xef 0x97
347
348# CHECK: sbc %r0, %r0, %r0
3490x03 0x20 0x00 0x00
350
351# CHECK: sbc %r4, %r0, %r0
3520x03 0x20 0x04 0x00
353
354# CHECK: sbc.f %r4, %r0, %r0
3550x03 0x20 0x04 0x80
356
357# CHECK: sbc %r2, %r0, %r3
3580x03 0x20 0xc2 0x00
359
360# CHECK: sbc %r2, %r0, %r4
3610x03 0x20 0x02 0x01
362
363# CHECK: sbc %r2, %r7, %r4
3640x03 0x27 0x02 0x01
365
366# CHECK: sbc.eq %r0, %r0, 1
3670xc3 0x20 0x61 0x00
368
369# CHECK: sbc.lt %r6, %r6, 16
3700xc3 0x26 0x2b 0x04
371
372# CHECK: sbc.le %r15, %r15, 31
3730xc3 0x27 0xec 0x17
374
375# CHECK: sbc.gt %r0, %r0, 1
3760xc3 0x20 0x69 0x00
377
378# CHECK: sbc.ge %r6, %r6, 16
3790xc3 0x26 0x2a 0x04
380
381# CHECK: sbc.p %r15, %r15, 31
3820xc3 0x27 0xe3 0x17
383
384# CHECK: sbc.n %r0, %r0, 1
3850xc3 0x20 0x64 0x00
386
387# CHECK: sbc.vs %r6, %r6, 16
3880xc3 0x26 0x27 0x04
389
390# CHECK: sbc.pnz %r15, %r15, 31
3910xc3 0x27 0xef 0x17
392
393# CHECK: sbc.eq.f %r0, %r0, 1
3940xc3 0x20 0x61 0x80
395
396# CHECK: sbc.lt.f %r6, %r6, 16
3970xc3 0x26 0x2b 0x84
398
399# CHECK: sbc.le.f %r15, %r15, 31
4000xc3 0x27 0xec 0x97
401
402# CHECK: sbc.gt.f %r0, %r0, 1
4030xc3 0x20 0x69 0x80
404
405# CHECK: sbc.ge.f %r6, %r6, 16
4060xc3 0x26 0x2a 0x84
407
408# CHECK: sbc.p.f %r15, %r15, 31
4090xc3 0x27 0xe3 0x97
410
411# CHECK: sbc.n.f %r0, %r0, 1
4120xc3 0x20 0x64 0x80
413
414# CHECK: sbc.vs.f %r6, %r6, 16
4150xc3 0x26 0x27 0x84
416
417# CHECK: sbc.pnz.f %r15, %r15, 31
4180xc3 0x27 0xef 0x97
419