From eadeffb30658de2abc798178dd7b645e68972db0 Mon Sep 17 00:00:00 2001 From: Johnny Chen Date: Tue, 27 Oct 2009 20:45:15 +0000 Subject: [PATCH] Set condition code bits of BL and BLr9 to 0b1110 (ALways) to distinguish between BL_pred and BLr9_pred. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85297 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/ARM/ARMInstrInfo.td | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/Target/ARM/ARMInstrInfo.td b/lib/Target/ARM/ARMInstrInfo.td index 69e63b2cfd7..90045ab7711 100644 --- a/lib/Target/ARM/ARMInstrInfo.td +++ b/lib/Target/ARM/ARMInstrInfo.td @@ -675,7 +675,9 @@ let isCall = 1, def BL : ABXI<0b1011, (outs), (ins i32imm:$func, variable_ops), IIC_Br, "bl\t${func:call}", [(ARMcall tglobaladdr:$func)]>, - Requires<[IsARM, IsNotDarwin]>; + Requires<[IsARM, IsNotDarwin]> { + let Inst{31-28} = 0b1110; + } def BL_pred : ABI<0b1011, (outs), (ins i32imm:$func, variable_ops), IIC_Br, "bl", "\t${func:call}", @@ -711,7 +713,9 @@ let isCall = 1, D24, D25, D26, D27, D28, D29, D30, D31, CPSR, FPSCR] in { def BLr9 : ABXI<0b1011, (outs), (ins i32imm:$func, variable_ops), IIC_Br, "bl\t${func:call}", - [(ARMcall tglobaladdr:$func)]>, Requires<[IsARM, IsDarwin]>; + [(ARMcall tglobaladdr:$func)]>, Requires<[IsARM, IsDarwin]> { + let Inst{31-28} = 0b1110; + } def BLr9_pred : ABI<0b1011, (outs), (ins i32imm:$func, variable_ops), IIC_Br, "bl", "\t${func:call}",