mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-29 22:30:33 +00:00
ARM: fix thumb1 nop decoding
In thumb1, NOP is a pseudo-instruction equivalent to mov r8, r8. However the disassembler should not use this alias. llvm-svn: 184703
This commit is contained in:
parent
6eecd3f2cb
commit
5a373a526e
@ -243,15 +243,6 @@ void ARMInstPrinter::printInst(const MCInst *MI, raw_ostream &O,
|
||||
return;
|
||||
}
|
||||
|
||||
// Thumb1 NOP
|
||||
if (Opcode == ARM::tMOVr && MI->getOperand(0).getReg() == ARM::R8 &&
|
||||
MI->getOperand(1).getReg() == ARM::R8) {
|
||||
O << "\tnop";
|
||||
printPredicateOperand(MI, 2, O);
|
||||
printAnnotation(O, Annot);
|
||||
return;
|
||||
}
|
||||
|
||||
// Combine 2 GPRs from disassember into a GPRPair to match with instr def.
|
||||
// ldrexd/strexd require even/odd GPR pair. To enforce this constraint,
|
||||
// a single GPRPair reg operand is used in the .td file to replace the two
|
||||
|
@ -5,5 +5,5 @@
|
||||
|
||||
nop
|
||||
|
||||
@ CHECK-V6: nop @ encoding: [0xc0,0x46]
|
||||
@ CHECK-V6: mov r8, r8 @ encoding: [0xc0,0x46]
|
||||
@ CHECK-V7: nop @ encoding: [0x00,0xbf]
|
||||
|
@ -42,7 +42,7 @@
|
||||
@ CHECK: bkpt #2 @ encoding: [0x02,0xbe]
|
||||
|
||||
nop
|
||||
@ CHECK: nop @ encoding: [0xc0,0x46]
|
||||
@ CHECK: mov r8, r8 @ encoding: [0xc0,0x46]
|
||||
|
||||
cpsie aif
|
||||
@ CHECK: cpsie aif @ encoding: [0x67,0xb6]
|
||||
|
@ -279,9 +279,11 @@
|
||||
#------------------------------------------------------------------------------
|
||||
# CHECK: mov r3, r4
|
||||
# CHECK: movs r1, r3
|
||||
# CHECK: mov r8, r8
|
||||
|
||||
0x23 0x46
|
||||
0x19 0x00
|
||||
0xc0 0x46
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
@ -309,14 +311,6 @@
|
||||
0x63 0x42
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# NOP
|
||||
#------------------------------------------------------------------------------
|
||||
# CHECK: nop
|
||||
|
||||
0xc0 0x46
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# ORR
|
||||
#------------------------------------------------------------------------------
|
||||
|
Loading…
Reference in New Issue
Block a user