Add a pattern for matching zero-store with 64-bit address. The pattern is enabled
authorAkira Hatanaka <ahatanaka@mips.com>
Tue, 20 Dec 2011 21:50:49 +0000 (21:50 +0000)
committerAkira Hatanaka <ahatanaka@mips.com>
Tue, 20 Dec 2011 21:50:49 +0000 (21:50 +0000)
only when the target ABI is N64.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146992 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Mips/MipsInstrInfo.td

index 52609433e83d3baf1a75d5a0c203a66a11bd4af6..23444dc4a56adf95906d4ca97434130abe7628a5 100644 (file)
@@ -1015,7 +1015,10 @@ def : Pat<(extloadi16_a addr:$src), (LHu addr:$src)>;
 def : Pat<(extloadi16_u addr:$src), (ULHu addr:$src)>;
 
 // peepholes
-def : Pat<(store (i32 0), addr:$dst), (SW ZERO, addr:$dst)>;
+def : Pat<(store (i32 0), addr:$dst), (SW ZERO, addr:$dst)>,
+      Requires<[NotN64]>;
+def : Pat<(store (i32 0), addr:$dst), (SW_P8 ZERO, addr:$dst)>,
+      Requires<[IsN64]>;
 
 // brcond patterns
 multiclass BrcondPats<RegisterClass RC, Instruction BEQOp, Instruction BNEOp,