From 28a6214b59c0896695e478c57c485cc85f436528 Mon Sep 17 00:00:00 2001 From: Reed Kotler Date: Fri, 26 Oct 2012 03:09:34 +0000 Subject: implement large (>16 bit) constant loading. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166749 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/Mips/Mips16InstrInfo.td | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'lib/Target/Mips/Mips16InstrInfo.td') diff --git a/lib/Target/Mips/Mips16InstrInfo.td b/lib/Target/Mips/Mips16InstrInfo.td index c4949ce..74ddc99 100644 --- a/lib/Target/Mips/Mips16InstrInfo.td +++ b/lib/Target/Mips/Mips16InstrInfo.td @@ -971,6 +971,10 @@ class SetCC_I16: Mips16Pat<(cond_op CPU16Regs:$rx, imm_type:$imm16), (I CPU16Regs:$rx, imm_type:$imm16)>; +// Large (>16 bit) immediate loads +def : Mips16Pat<(i32 imm:$imm), + (OrRxRxRy16 (SllX16 (LiRxImmX16 (HI16 imm:$imm)), 16), + (LiRxImmX16 (LO16 imm:$imm)))>; // // Some branch conditional patterns are not generated by llvm at this time. -- cgit v1.1