blob: ca820444adc768bf4e62526320554fd34b94d724 [file] [log] [blame]
James Molloy8067df92011-09-07 19:42:28 +00001# RUN: llvm-mc --disassemble %s -triple=thumbv7-apple-darwin9 | FileCheck %s
Johnny Chendcb29ae2011-03-29 21:09:30 +00002
3# CHECK: push {r0, r1, r2, r3}
4# CHECK-NEXT: push {r4, r5, r7, lr}
5# CHECK-NEXT: add r7, sp, #8
6# CHECK-NEXT: sub sp, #4
7# CHECK-NEXT: add r3, sp, #20
8# CHECK-NEXT: ldr r5, [r3], #4
9# CHECK-NEXT: str r3, [sp]
Jim Grosbach4739f2e2012-10-30 01:04:51 +000010# CHECK-NEXT: ldr r3, [pc, #52]
Johnny Chendcb29ae2011-03-29 21:09:30 +000011# CHECK-NEXT: add r3, pc
12# CHECK-NEXT: ldr r0, [r3]
13# CHECK-NEXT: ldr r4, [r0]
Jim Grosbach4739f2e2012-10-30 01:04:51 +000014# CHECK-NEXT: ldr r0, [pc, #48]
Johnny Chendcb29ae2011-03-29 21:09:30 +000015# CHECK-NEXT: add r0, pc
16# CHECK-NEXT: ldr r0, [r0]
17# CHECK-NEXT: ldr r0, [r0]
18# CHECK-NEXT: blx #191548
19# CHECK-NEXT: cbnz r0, #6
Jim Grosbach4739f2e2012-10-30 01:04:51 +000020# CHECK-NEXT: ldr r1, [pc, #40]
Johnny Chendcb29ae2011-03-29 21:09:30 +000021# CHECK-NEXT: add r1, pc
22# CHECK-NEXT: ldr r1, [r1]
23# CHECK-NEXT: b #0
24# CHECK-NEXT: mov r1, r0
25# CHECK-NEXT: mov r0, r4
26# CHECK-NEXT: mov r2, r5
27# CHECK-NEXT: ldr r3, [sp]
28# CHECK-NEXT: bl #-8390
Johnny Chen15158242011-04-05 19:42:11 +000029# Data bytes (corresponds to an invalid instruction)
30# But not: sub.w sp, r7, #8
Johnny Chendcb29ae2011-03-29 21:09:30 +000031# CHECK-NEXT: pop.w {r4, r5, r7, lr}
32# CHECK-NEXT: add sp, #16
33# CHECK-NEXT: bx lr
34# CHECK-NEXT: nop
35# CHECK-NEXT: movs r3, #142
36# CHECK-NEXT: movs r5, r0
37# CHECK-NEXT: adds r1, #122
38# CHECK-NEXT: movs r5, r0
39# CHECK-NEXT: adds r1, #104
40# CHECK-NEXT: movs r5, r0
410x0f 0xb4
420xb0 0xb5
430x02 0xaf
440x81 0xb0
450x05 0xab
460x53 0xf8 0x04 0x5b
470x00 0x93
480x0d 0x4b
490x7b 0x44
500x18 0x68
510x04 0x68
520x0c 0x48
530x78 0x44
540x00 0x68
550x00 0x68
560x2e 0xf0 0x1e 0xee
570x18 0xb9
580x0a 0x49
590x79 0x44
600x09 0x68
610x00 0xe0
620x01 0x46
630x20 0x46
640x2a 0x46
650x00 0x9b
660xfd 0xf7 0x9d 0xff
Johnny Chen15158242011-04-05 19:42:11 +000067# 0xa7 0xf1 0x08 0x0d
Johnny Chendcb29ae2011-03-29 21:09:30 +0000680xbd 0xe8 0xb0 0x40
690x04 0xb0
700x70 0x47
710x00 0xbf
720x8e 0x23
730x05 0x00
740x7a 0x31
750x05 0x00
760x68 0x31
770x05 0x00