1 # RUN: llvm-mc -triple=arc -disassemble %s | FileCheck %s
3 # CHECK: add %r0, %r0, %r0
6 # CHECK: add %r4, %r0, %r0
9 # CHECK: add.f %r4, %r0, %r0
12 # CHECK: add %r2, %r0, %r3
15 # CHECK: add %r2, %r0, %r4
18 # CHECK: add %r2, %r7, %r4
21 # CHECK: add.eq %r0, %r0, 1
24 # CHECK: add.lt %r6, %r6, 16
27 # CHECK: add.le %r15, %r15, 31
30 # CHECK: add.gt %r0, %r0, 1
33 # CHECK: add.ge %r6, %r6, 16
36 # CHECK: add.p %r15, %r15, 31
39 # CHECK: add.n %r0, %r0, 1
42 # CHECK: add.vs %r6, %r6, 16
45 # CHECK: add.pnz %r15, %r15, 31
48 # CHECK: add.eq.f %r0, %r0, 1
51 # CHECK: add.lt.f %r6, %r6, 16
54 # CHECK: add.le.f %r15, %r15, 31
57 # CHECK: add.gt.f %r0, %r0, 1
60 # CHECK: add.ge.f %r6, %r6, 16
63 # CHECK: add.p.f %r15, %r15, 31
66 # CHECK: add.n.f %r0, %r0, 1
69 # CHECK: add.vs.f %r6, %r6, 16
72 # CHECK: add.pnz.f %r15, %r15, 31
75 # CHECK: and %r2, %r7, %r4
78 # CHECK: and.f %r2, %r7, %r4
81 # CHECK: and %r2, %r7, 4
84 # CHECK: and %r1, %r1, 255
87 # CHECK: and.f %r1, %r1, 255
90 # CHECK: and.eq %r0, %r0, 0
93 # CHECK: and.lt %r6, %r6, 16
96 # CHECK: and.le %r15, %r15, 31
99 # CHECK: and.gt %r0, %r0, 0
102 # CHECK: and.ge %r6, %r6, 16
105 # CHECK: and.p %r15, %r15, 31
108 # CHECK: and.n %r0, %r0, 0
111 # CHECK: and.vs %r6, %r6, 16
114 # CHECK: and.pnz %r15, %r15, 31
117 # CHECK: and.eq.f %r0, %r0, 0
120 # CHECK: and.lt.f %r6, %r6, 16
123 # CHECK: and.le.f %r15, %r15, 31
126 # CHECK: and.gt.f %r0, %r0, 0
129 # CHECK: and.ge.f %r6, %r6, 16
132 # CHECK: and.p.f %r15, %r15, 31
135 # CHECK: and.n.f %r0, %r0, 0
138 # CHECK: and.vs.f %r6, %r6, 16
141 # CHECK: and.pnz.f %r15, %r15, 31
144 # CHECK: asl %r1, %r1, 2
147 # CHECK: asl %r0, %r0, %r0
150 # CHECK: asl.f %r0, %r0, %r0
153 # CHECK: asr %r1, %r2, 31
156 # CHECK: asr.f %r1, %r2, 31
159 # CHECK: asr %r1, %r3, 7
162 # CHECK: asr %r1, %r1, %r2
165 # CHECK: max %r0, %r2, %r1
168 # CHECK: max %r0, %r1, 15
171 # CHECK: max %r0, %r2, 4000
172 0x08 0x22 0x80 0x0f 0x00 0x00 0xa0 0x0f
174 # CHECK: max %r2, %r2, 255
177 # CHECK: or %r18, %r16, 61440
178 0x05 0x20 0x92 0x2f 0x00 0x00 0x00 0xf0
180 # CHECK: or.f %r18, %r16, 61440
181 0x05 0x20 0x92 0xaf 0x00 0x00 0x00 0xf0
183 # CHECK: or %r1, %r1, %r14
186 # CHECK: or %r1, %r14, %r1
189 # CHECK: or %r1, %r1, 128
192 # CHECK: sub %sp, %fp, 92
193 0x02 0x23 0x9c 0x3f 0x00 0x00 0x5c 0x00
195 # CHECK: sub %r2, %r7, %r4
198 # CHECK: sub.f %r2, %r7, %r4
201 # CHECK: sub %r0, %r22, %r0
204 # CHECK: sub1 %r3, %fp, %r1
207 # CHECK: sub2 %r3, %fp, 17
210 # CHECK: sub3 %fp, %fp, -1
213 # CHECK: sub3.f %fp, %fp, -1
216 # CHECK: rsub.ne %r0, %r0, 31
219 # CHECK: rsub.eq %r0, %r0, 1
222 # CHECK: rsub.lt %r6, %r6, 16
225 # CHECK: rsub.le %r15, %r15, 31
228 # CHECK: rsub.gt %r0, %r0, 1
231 # CHECK: rsub.ge %r6, %r6, 16
234 # CHECK: rsub.p %r15, %r15, 31
237 # CHECK: rsub.n %r0, %r0, 1
240 # CHECK: rsub.vs %r6, %r6, 16
243 # CHECK: rsub.pnz %r15, %r15, 31
246 # CHECK: rsub.ne.f %r0, %r0, 31
249 # CHECK: rsub.eq.f %r0, %r0, 1
252 # CHECK: rsub.lt.f %r6, %r6, 16
255 # CHECK: rsub.le.f %r15, %r15, 31
258 # CHECK: rsub.gt.f %r0, %r0, 1
261 # CHECK: rsub.ge.f %r6, %r6, 16
264 # CHECK: rsub.p.f %r15, %r15, 31
267 # CHECK: rsub.n.f %r0, %r0, 1
270 # CHECK: rsub.vs.f %r6, %r6, 16
273 # CHECK: rsub.pnz.f %r15, %r15, 31
276 # CHECK: adc %r0, %r0, %r0
279 # CHECK: adc %r4, %r0, %r0
282 # CHECK: adc.f %r4, %r0, %r0
285 # CHECK: adc %r2, %r0, %r3
288 # CHECK: adc %r2, %r0, %r4
291 # CHECK: adc %r2, %r7, %r4
294 # CHECK: adc.eq %r0, %r0, 1
297 # CHECK: adc.lt %r6, %r6, 16
300 # CHECK: adc.le %r15, %r15, 31
303 # CHECK: adc.gt %r0, %r0, 1
306 # CHECK: adc.ge %r6, %r6, 16
309 # CHECK: adc.p %r15, %r15, 31
312 # CHECK: adc.n %r0, %r0, 1
315 # CHECK: adc.vs %r6, %r6, 16
318 # CHECK: adc.pnz %r15, %r15, 31
321 # CHECK: adc.eq.f %r0, %r0, 1
324 # CHECK: adc.lt.f %r6, %r6, 16
327 # CHECK: adc.le.f %r15, %r15, 31
330 # CHECK: adc.gt.f %r0, %r0, 1
333 # CHECK: adc.ge.f %r6, %r6, 16
336 # CHECK: adc.p.f %r15, %r15, 31
339 # CHECK: adc.n.f %r0, %r0, 1
342 # CHECK: adc.vs.f %r6, %r6, 16
345 # CHECK: adc.pnz.f %r15, %r15, 31
348 # CHECK: sbc %r0, %r0, %r0
351 # CHECK: sbc %r4, %r0, %r0
354 # CHECK: sbc.f %r4, %r0, %r0
357 # CHECK: sbc %r2, %r0, %r3
360 # CHECK: sbc %r2, %r0, %r4
363 # CHECK: sbc %r2, %r7, %r4
366 # CHECK: sbc.eq %r0, %r0, 1
369 # CHECK: sbc.lt %r6, %r6, 16
372 # CHECK: sbc.le %r15, %r15, 31
375 # CHECK: sbc.gt %r0, %r0, 1
378 # CHECK: sbc.ge %r6, %r6, 16
381 # CHECK: sbc.p %r15, %r15, 31
384 # CHECK: sbc.n %r0, %r0, 1
387 # CHECK: sbc.vs %r6, %r6, 16
390 # CHECK: sbc.pnz %r15, %r15, 31
393 # CHECK: sbc.eq.f %r0, %r0, 1
396 # CHECK: sbc.lt.f %r6, %r6, 16
399 # CHECK: sbc.le.f %r15, %r15, 31
402 # CHECK: sbc.gt.f %r0, %r0, 1
405 # CHECK: sbc.ge.f %r6, %r6, 16
408 # CHECK: sbc.p.f %r15, %r15, 31
411 # CHECK: sbc.n.f %r0, %r0, 1
414 # CHECK: sbc.vs.f %r6, %r6, 16
417 # CHECK: sbc.pnz.f %r15, %r15, 31