summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2010-12-09 01:21:27 +0000
committerJim Grosbach <grosbach@apple.com>2010-12-09 01:21:27 +0000
commita0e23c5e95978565b9e5a0cd38f4a0f26555d9be (patch)
treeaae17463e37fcdf1e022d4e0cda7ad8e7a307f0e /lib
parenta35cce1a14d8eee7e250e02b03903a5096d22c2f (diff)
downloadexternal_llvm-a0e23c5e95978565b9e5a0cd38f4a0f26555d9be.zip
external_llvm-a0e23c5e95978565b9e5a0cd38f4a0f26555d9be.tar.gz
external_llvm-a0e23c5e95978565b9e5a0cd38f4a0f26555d9be.tar.bz2
The add/sub SP instructions are really pseudos. The assembler should ignore
them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121345 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Target/ARM/ARMInstrThumb2.td2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMInstrThumb2.td b/lib/Target/ARM/ARMInstrThumb2.td
index d94b5c0..63edfa5 100644
--- a/lib/Target/ARM/ARMInstrThumb2.td
+++ b/lib/Target/ARM/ARMInstrThumb2.td
@@ -1160,6 +1160,7 @@ def t2LEApcrelJT : T2PCOneRegImm<(outs rGPR:$Rd),
// add/sub instructions. In thumb1 we need them since they have dedicated
// encodings. At the least, they should be pseudo instructions.
// ADD r, sp, {so_imm|i12}
+let isCodeGenOnly = 1 in {
def t2ADDrSPi : T2sTwoRegImm<(outs GPR:$Rd), (ins GPR:$Rn, t2_so_imm:$imm),
IIC_iALUi, "add", ".w\t$Rd, $Rn, $imm", []> {
let Inst{31-27} = 0b11110;
@@ -1209,6 +1210,7 @@ def t2SUBrSPs : T2sTwoRegImm<(outs GPR:$Rd), (ins GPR:$Rn, t2_so_reg:$imm),
let Inst{19-16} = 0b1101; // Rn = sp
let Inst{15} = 0;
}
+} // end isCodeGenOnly = 1
// Signed and unsigned division on v7-M
def t2SDIV : T2ThreeReg<(outs rGPR:$Rd), (ins rGPR:$Rn, rGPR:$Rm), IIC_iALUi,