diff options
| author | Reed Kotler <rkotler@mips.com> | 2012-10-26 22:57:32 +0000 |
|---|---|---|
| committer | Reed Kotler <rkotler@mips.com> | 2012-10-26 22:57:32 +0000 |
| commit | b650f6bbe7d4f4d8467d9a3af3e3859f739f0b48 (patch) | |
| tree | 1317de7eecf1211571dc9859b43489939b893ef8 /llvm/lib | |
| parent | c38395a0f747e37efa14123ea865b1576e15ab35 (diff) | |
| download | bcm5719-llvm-b650f6bbe7d4f4d8467d9a3af3e3859f739f0b48.tar.gz bcm5719-llvm-b650f6bbe7d4f4d8467d9a3af3e3859f739f0b48.zip | |
implement mips16 tls global addr
llvm-svn: 166827
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/Mips/Mips16InstrInfo.td | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/Target/Mips/Mips16InstrInfo.td b/llvm/lib/Target/Mips/Mips16InstrInfo.td index feffddc02ee..89a33382503 100644 --- a/llvm/lib/Target/Mips/Mips16InstrInfo.td +++ b/llvm/lib/Target/Mips/Mips16InstrInfo.td @@ -1437,5 +1437,13 @@ def: SetCC_R16<setult, SltuCCRxRy16>; def: SetCC_I16<setult, immSExt16, SltiuCCRxImmX16>; +// wrapper_pic +class Wrapper16Pat<SDNode node, Instruction ADDiuOp, RegisterClass RC>: + Mips16Pat<(MipsWrapper RC:$gp, node:$in), + (ADDiuOp RC:$gp, node:$in)>; + + +def : Wrapper16Pat<tglobaltlsaddr, AddiuRxRxImmX16, CPU16Regs>; + def: Mips16Pat<(add CPU16Regs:$hi, (MipsLo tglobaladdr:$lo)), (AddiuRxRxImmX16 CPU16Regs:$hi, tglobaladdr:$lo)>; |

