[PATCH] ARM: operands should be explicit when disassembled
Amaury de la Vieuville
amaury.dlv at gmail.com
Fri Jun 21 08:36:51 PDT 2013
Hi rengolin, t.p.northover,
http://llvm-reviews.chandlerc.com/D1019
Files:
lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp
test/MC/Disassembler/ARM/thumb2.txt
Index: lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp
===================================================================
--- lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp
+++ lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp
@@ -1185,19 +1185,14 @@
assert(((OffImm & 0x3) == 0) && "Not a valid immediate!");
- // Don't print +0.
- if (OffImm != 0)
- O << ", ";
- if (OffImm != 0 && UseMarkup)
- O << "<imm:";
+ O << ", " << markup("<imm:");
if (OffImm == INT32_MIN)
O << "#-0";
else if (OffImm < 0)
O << "#-" << -OffImm;
- else if (OffImm > 0)
+ else
O << "#" << OffImm;
- if (OffImm != 0 && UseMarkup)
- O << ">";
+ O << markup(">");
}
void ARMInstPrinter::printT2AddrModeSoRegOperand(const MCInst *MI,
Index: test/MC/Disassembler/ARM/thumb2.txt
===================================================================
--- test/MC/Disassembler/ARM/thumb2.txt
+++ test/MC/Disassembler/ARM/thumb2.txt
@@ -683,6 +683,7 @@
# CHECK: ldrd r0, r1, [r2, #-0]!
# CHECK: ldrd r0, r1, [r2, #0]!
# CHECK: ldrd r0, r1, [r2, #-0]
+# CHECK: ldrd r1, r1, [r0], #0
0xd6 0xe9 0x06 0x35
0xf6 0xe9 0x06 0x35
@@ -694,6 +695,7 @@
0x72 0xe9 0x00 0x01
0xf2 0xe9 0x00 0x01
0x52 0xe9 0x00 0x01
+0xf0 0xe8 0x00 0x11
#------------------------------------------------------------------------------
@@ -1904,13 +1906,15 @@
#------------------------------------------------------------------------------
# STRD (immediate)
#------------------------------------------------------------------------------
+# CHECK: strd r1, r1, [r0], #0
# CHECK: strd r6, r3, [r5], #-8
# CHECK: strd r8, r5, [r5], #-0
# CHECK: strd r7, r4, [r5], #-4
# CHECK: strd r0, r1, [r2, #-0]!
# CHECK: strd r0, r1, [r2, #0]!
# CHECK: strd r0, r1, [r2, #-0]
+0xe0 0xe8 0x00 0x11
0x65 0xe8 0x02 0x63
0x65 0xe8 0x00 0x85
0x65 0xe8 0x01 0x74
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D1019.1.patch
Type: text/x-patch
Size: 1848 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130621/8e6f29c3/attachment.bin>
More information about the llvm-commits
mailing list