From a0e23c5e95978565b9e5a0cd38f4a0f26555d9be Mon Sep 17 00:00:00 2001 From: Jim Grosbach Date: Thu, 9 Dec 2010 01:21:27 +0000 Subject: [PATCH] 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 --- lib/Target/ARM/ARMInstrThumb2.td | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/Target/ARM/ARMInstrThumb2.td b/lib/Target/ARM/ARMInstrThumb2.td index d94b5c0c0d3..63edfa589f0 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,