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 | 02a44edf122a6df8797e19b65a0a1271389d1808 (patch) | |
| tree | f18afac9dc348bc6255ebc6d90c563ea10264930 /llvm | |
| parent | 1f9648da17c784e8d1923adc49b2cf5220b7badd (diff) | |
| download | bcm5719-llvm-02a44edf122a6df8797e19b65a0a1271389d1808.tar.gz bcm5719-llvm-02a44edf122a6df8797e19b65a0a1271389d1808.zip | |
Add BX and BXr9 encodings. Patch by Sean Callanan.
llvm-svn: 74938
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/lib/Target/ARM/ARMInstrInfo.td | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/llvm/lib/Target/ARM/ARMInstrInfo.td b/llvm/lib/Target/ARM/ARMInstrInfo.td index 1433b109a74..22fe98aae64 100644 --- a/llvm/lib/Target/ARM/ARMInstrInfo.td +++ b/llvm/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; + } } } |

