summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@apple.com>2010-08-05 18:59:36 +0000
committerBob Wilson <bob.wilson@apple.com>2010-08-05 18:59:36 +0000
commit72de3071160f58b7400a1d7a5c571bb780331b80 (patch)
tree007aa50b8db3e0c4b04f53b3d5db3555d615a75d /llvm/lib/Target
parent32f5d6b9be7bffbbca6b8841d2913589c9b00b27 (diff)
downloadbcm5719-llvm-72de3071160f58b7400a1d7a5c571bb780331b80.tar.gz
bcm5719-llvm-72de3071160f58b7400a1d7a5c571bb780331b80.zip
Add an ARM RSCrr instruction for disassembly only.
Partial fix for PR7792. llvm-svn: 110361
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/ARM/ARMInstrInfo.td8
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMInstrInfo.td b/llvm/lib/Target/ARM/ARMInstrInfo.td
index 2ca24153138..3c710db38c7 100644
--- a/llvm/lib/Target/ARM/ARMInstrInfo.td
+++ b/llvm/lib/Target/ARM/ARMInstrInfo.td
@@ -1673,6 +1673,14 @@ def RSCri : AsI1<0b0111, (outs GPR:$dst), (ins GPR:$a, so_imm:$b),
Requires<[IsARM]> {
let Inst{25} = 1;
}
+// The reg/reg form is only defined for the disassembler; for codegen it is
+// equivalent to SUBrr.
+def RSCrr : AsI1<0b0111, (outs GPR:$dst), (ins GPR:$a, GPR:$b),
+ DPFrm, IIC_iALUr, "rsc", "\t$dst, $a, $b",
+ [/* For disassembly only; pattern left blank */]> {
+ let Inst{25} = 0;
+ let Inst{11-4} = 0b00000000;
+}
def RSCrs : AsI1<0b0111, (outs GPR:$dst), (ins GPR:$a, so_reg:$b),
DPSoRegFrm, IIC_iALUsr, "rsc", "\t$dst, $a, $b",
[(set GPR:$dst, (sube_dead_carry so_reg:$b, GPR:$a))]>,
OpenPOWER on IntegriCloud