mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-12 02:33:33 +00:00
ARM: honor hex immediate formatting for ldr/str i12 offsets.
Previously we would always print the offset as decimal, regardless of the formatting requested. Now we use the formatImm() helper so the value is printed as the client (LLDB in the motivating example) requested. Before: ldr.w r8, [sp, #180] @ always After: ldr.w r8, [sp, #0xb4] @ when printing hex immediates ldr.w r8, [sp, #0180] @ when printing decimal immediates rdar://17237103 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@210701 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
7ca0567652
commit
a542ff2804
@ -1092,13 +1092,13 @@ void ARMInstPrinter::printAddrModeImm12Operand(const MCInst *MI, unsigned OpNum,
|
||||
if (isSub) {
|
||||
O << ", "
|
||||
<< markup("<imm:")
|
||||
<< "#-" << -OffImm
|
||||
<< "#-" << formatImm(-OffImm)
|
||||
<< markup(">");
|
||||
}
|
||||
else if (AlwaysPrintImm0 || OffImm > 0) {
|
||||
O << ", "
|
||||
<< markup("<imm:")
|
||||
<< "#" << OffImm
|
||||
<< "#" << formatImm(OffImm)
|
||||
<< markup(">");
|
||||
}
|
||||
O << "]" << markup(">");
|
||||
|
@ -3,3 +3,9 @@
|
||||
0x08 0x4c
|
||||
# CHECK: sub sp, #0x84
|
||||
0xa1 0xb0
|
||||
# CHECK: ldr r0, [sp, #0xb4]
|
||||
0x2d 0x98
|
||||
# CHECK: str.w r8, [sp, #0xb4]
|
||||
0xcd 0xf8 0xb4 0x80
|
||||
# CHECK: ldr.w r8, [sp, #0xb4]
|
||||
0xdd 0xf8 0xb4 0x80
|
||||
|
Loading…
x
Reference in New Issue
Block a user