summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorAkira Hatanaka <ahatanaka@mips.com>2011-11-12 02:25:00 +0000
committerAkira Hatanaka <ahatanaka@mips.com>2011-11-12 02:25:00 +0000
commit5ed07c03f45d18dd34731beacf4891d7f7799dd1 (patch)
tree6a96d84912962393ce294ddc6d874d34e49517fe /llvm/lib/Target
parent202f6400ef85779b804a73151efe1366fb73fbd4 (diff)
downloadbcm5719-llvm-5ed07c03f45d18dd34731beacf4891d7f7799dd1.tar.gz
bcm5719-llvm-5ed07c03f45d18dd34731beacf4891d7f7799dd1.zip
64-bit arbitrary immediate pattern.
llvm-svn: 144448
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/Mips/Mips64InstrInfo.td4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/Mips/Mips64InstrInfo.td b/llvm/lib/Target/Mips/Mips64InstrInfo.td
index 608c271ea6b..51b9bf98846 100644
--- a/llvm/lib/Target/Mips/Mips64InstrInfo.td
+++ b/llvm/lib/Target/Mips/Mips64InstrInfo.td
@@ -215,6 +215,10 @@ def : Pat<(i64 immSExt16:$in),
def : Pat<(i64 immZExt16:$in),
(ORi64 ZERO_64, imm:$in)>;
+// Arbitrary immediates
+def : Pat<(i64 imm:$imm),
+ (ORi64 (LUi64 (HI16 imm:$imm)), (LO16 imm:$imm))>;
+
// zextloadi32_u
def : Pat<(zextloadi32_u addr:$a), (DSRL32 (DSLL32 (ULW64_P8 addr:$a), 0), 0)>,
Requires<[IsN64]>;
OpenPOWER on IntegriCloud