Add BX and BXr9 encodings. Patch by Sean Callanan.
authorEvan Cheng <evan.cheng@apple.com>
Tue, 7 Jul 2009 19:16:24 +0000 (19:16 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Tue, 7 Jul 2009 19:16:24 +0000 (19:16 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74938 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMInstrInfo.td

index 1433b109a7429ebbab1d77958a029096a7da1fbd..22fe98aae64da7ef8de43b9bde63c9144d8dfb86 100644 (file)
@@ -618,7 +618,11 @@ let isCall = 1, Itinerary = IIC_Br,
     // ARMv4T
     def BX : ABXIx2<(outs), (ins GPR:$func, variable_ops),
                      "mov lr, pc\n\tbx $func",
-                    [(ARMcall_nolink GPR:$func)]>, Requires<[IsNotDarwin]>;
+                    [(ARMcall_nolink GPR:$func)]>, Requires<[IsNotDarwin]> {
+      let Inst{7-4}   = 0b0001;
+      let Inst{19-8}  = 0b111111111111;
+      let Inst{27-20} = 0b00010010;
+    }
   }
 }
 
@@ -647,7 +651,11 @@ let isCall = 1, Itinerary = IIC_Br,
     // ARMv4T
     def BXr9 : ABXIx2<(outs), (ins GPR:$func, variable_ops),
                      "mov lr, pc\n\tbx $func",
-                    [(ARMcall_nolink GPR:$func)]>, Requires<[IsDarwin]>;
+                    [(ARMcall_nolink GPR:$func)]>, Requires<[IsDarwin]> {
+      let Inst{7-4}   = 0b0001;
+      let Inst{19-8}  = 0b111111111111;
+      let Inst{27-20} = 0b00010010;
+    }
   }
 }