mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-29 13:29:28 +00:00
When the operand is a plain immediate rather than a label, print it as [pc, #imm] like we do for the Thumb2 wide encoding variant. rdar://12154503 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166991 91177308-0d34-0410-b5e6-96231b3b80d8
78 lines
1.5 KiB
Plaintext
78 lines
1.5 KiB
Plaintext
# RUN: llvm-mc --disassemble %s -triple=thumbv7-apple-darwin9 | FileCheck %s
|
|
|
|
# CHECK: push {r0, r1, r2, r3}
|
|
# CHECK-NEXT: push {r4, r5, r7, lr}
|
|
# CHECK-NEXT: add r7, sp, #8
|
|
# CHECK-NEXT: sub sp, #4
|
|
# CHECK-NEXT: add r3, sp, #20
|
|
# CHECK-NEXT: ldr r5, [r3], #4
|
|
# CHECK-NEXT: str r3, [sp]
|
|
# CHECK-NEXT: ldr r3, [pc, #52]
|
|
# CHECK-NEXT: add r3, pc
|
|
# CHECK-NEXT: ldr r0, [r3]
|
|
# CHECK-NEXT: ldr r4, [r0]
|
|
# CHECK-NEXT: ldr r0, [pc, #48]
|
|
# CHECK-NEXT: add r0, pc
|
|
# CHECK-NEXT: ldr r0, [r0]
|
|
# CHECK-NEXT: ldr r0, [r0]
|
|
# CHECK-NEXT: blx #191548
|
|
# CHECK-NEXT: cbnz r0, #6
|
|
# CHECK-NEXT: ldr r1, [pc, #40]
|
|
# CHECK-NEXT: add r1, pc
|
|
# CHECK-NEXT: ldr r1, [r1]
|
|
# CHECK-NEXT: b #0
|
|
# CHECK-NEXT: mov r1, r0
|
|
# CHECK-NEXT: mov r0, r4
|
|
# CHECK-NEXT: mov r2, r5
|
|
# CHECK-NEXT: ldr r3, [sp]
|
|
# CHECK-NEXT: bl #-8390
|
|
# Data bytes (corresponds to an invalid instruction)
|
|
# But not: sub.w sp, r7, #8
|
|
# CHECK-NEXT: pop.w {r4, r5, r7, lr}
|
|
# CHECK-NEXT: add sp, #16
|
|
# CHECK-NEXT: bx lr
|
|
# CHECK-NEXT: nop
|
|
# CHECK-NEXT: movs r3, #142
|
|
# CHECK-NEXT: movs r5, r0
|
|
# CHECK-NEXT: adds r1, #122
|
|
# CHECK-NEXT: movs r5, r0
|
|
# CHECK-NEXT: adds r1, #104
|
|
# CHECK-NEXT: movs r5, r0
|
|
0x0f 0xb4
|
|
0xb0 0xb5
|
|
0x02 0xaf
|
|
0x81 0xb0
|
|
0x05 0xab
|
|
0x53 0xf8 0x04 0x5b
|
|
0x00 0x93
|
|
0x0d 0x4b
|
|
0x7b 0x44
|
|
0x18 0x68
|
|
0x04 0x68
|
|
0x0c 0x48
|
|
0x78 0x44
|
|
0x00 0x68
|
|
0x00 0x68
|
|
0x2e 0xf0 0x1e 0xee
|
|
0x18 0xb9
|
|
0x0a 0x49
|
|
0x79 0x44
|
|
0x09 0x68
|
|
0x00 0xe0
|
|
0x01 0x46
|
|
0x20 0x46
|
|
0x2a 0x46
|
|
0x00 0x9b
|
|
0xfd 0xf7 0x9d 0xff
|
|
# 0xa7 0xf1 0x08 0x0d
|
|
0xbd 0xe8 0xb0 0x40
|
|
0x04 0xb0
|
|
0x70 0x47
|
|
0x00 0xbf
|
|
0x8e 0x23
|
|
0x05 0x00
|
|
0x7a 0x31
|
|
0x05 0x00
|
|
0x68 0x31
|
|
0x05 0x00
|