diff options
author | Evan Cheng <evan.cheng@apple.com> | 2009-07-07 19:16:24 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2009-07-07 19:16:24 +0000 |
commit | 1c83eb33c3e2f463307fb7e61d5b464833645d86 (patch) | |
tree | 70fa9b745a22f8edf2469c4a820b48511f3a57a3 | |
parent | d33007eb5fb550ce587820a51592a67a3621da8b (diff) |
Add BX and BXr9 encodings. Patch by Sean Callanan.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74938 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/ARM/ARMInstrInfo.td | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/lib/Target/ARM/ARMInstrInfo.td b/lib/Target/ARM/ARMInstrInfo.td index 1433b109a7..22fe98aae6 100644 --- a/lib/Target/ARM/ARMInstrInfo.td +++ b/lib/Target/ARM/ARMInstrInfo.td @@ -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; + } } } |