Set condition code bits of BL and BLr9 to 0b1110 (ALways) to distinguish between
authorJohnny Chen <johnny.chen@apple.com>
Tue, 27 Oct 2009 20:45:15 +0000 (20:45 +0000)
committerJohnny Chen <johnny.chen@apple.com>
Tue, 27 Oct 2009 20:45:15 +0000 (20:45 +0000)
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

index 69e63b2cfd7aca3e6bf164a0b490641e83d3bee7..90045ab77111ab6e64b5466e2f9fc7f2038824cb 100644 (file)
@@ -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}",