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