summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorAkira Hatanaka <ahatanaka@mips.com>2011-11-07 19:01:49 +0000
committerAkira Hatanaka <ahatanaka@mips.com>2011-11-07 19:01:49 +0000
commitcf7e5b0976f2b03a4317f52291f11e560eb58bbc (patch)
tree3dd85f743944c4a8206e46e57ef3fa9bbc1203d5 /llvm/lib
parent770f0646dbce9c429beee5f8703d272b4d9450ec (diff)
downloadbcm5719-llvm-cf7e5b0976f2b03a4317f52291f11e560eb58bbc.tar.gz
bcm5719-llvm-cf7e5b0976f2b03a4317f52291f11e560eb58bbc.zip
Fix patterns for unaligned 32-bit load. DSLL32 or DSRL32 should be emitted
when shift amount is larger than 32. llvm-svn: 143990
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/Mips/Mips64InstrInfo.td4
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Target/Mips/Mips64InstrInfo.td b/llvm/lib/Target/Mips/Mips64InstrInfo.td
index 83bd7b88c59..1e8bf702421 100644
--- a/llvm/lib/Target/Mips/Mips64InstrInfo.td
+++ b/llvm/lib/Target/Mips/Mips64InstrInfo.td
@@ -155,9 +155,9 @@ def : Pat<(i64 immZExt16:$in),
(ORi64 ZERO_64, imm:$in)>;
// zextloadi32_u
-def : Pat<(zextloadi32_u addr:$a), (DSRL (DSLL (ULW64_P8 addr:$a), 32), 32)>,
+def : Pat<(zextloadi32_u addr:$a), (DSRL32 (DSLL32 (ULW64_P8 addr:$a), 0), 0)>,
Requires<[IsN64]>;
-def : Pat<(zextloadi32_u addr:$a), (DSRL (DSLL (ULW64 addr:$a), 32), 32)>,
+def : Pat<(zextloadi32_u addr:$a), (DSRL32 (DSLL32 (ULW64 addr:$a), 0), 0)>,
Requires<[NotN64]>;
// hi/lo relocs
OpenPOWER on IntegriCloud