aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/PowerPC/PPC64ISelPattern.cpp
diff options
context:
space:
mode:
authorNate Begeman <natebegeman@mac.com>2005-04-09 03:05:51 +0000
committerNate Begeman <natebegeman@mac.com>2005-04-09 03:05:51 +0000
commite88aa5b4d16b05d530cd4ff2b79c05c4b519ef59 (patch)
treee433f1c8973067245599430cb42d5cf989976bef /lib/Target/PowerPC/PPC64ISelPattern.cpp
parent485df9b84b5753154d3762b2a176b8b6684f716f (diff)
64b: Expand S/UREM
32b: No longer pattern match fneg(fsub(fmul)) as fnmsub Pattern match fsub a, mul(b, c) as fnmsub Pattern match fadd a, mul(b, c) as fmadd Those changes speed up hydro2d by 2.5%, distray by 6%, and scimark by 8% git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21161 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/PowerPC/PPC64ISelPattern.cpp')
-rw-r--r--lib/Target/PowerPC/PPC64ISelPattern.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/Target/PowerPC/PPC64ISelPattern.cpp b/lib/Target/PowerPC/PPC64ISelPattern.cpp
index dfb572d587..773299c386 100644
--- a/lib/Target/PowerPC/PPC64ISelPattern.cpp
+++ b/lib/Target/PowerPC/PPC64ISelPattern.cpp
@@ -55,6 +55,10 @@ namespace {
setOperationAction(ISD::SEXTLOAD, MVT::i1, Expand);
setOperationAction(ISD::SEXTLOAD, MVT::i8, Expand);
+ // PowerPC has no SREM/UREM instructions
+ setOperationAction(ISD::SREM, MVT::i64, Expand);
+ setOperationAction(ISD::UREM, MVT::i64, Expand);
+
setShiftAmountFlavor(Extend); // shl X, 32 == 0
addLegalFPImmediate(+0.0); // Necessary for FSEL
addLegalFPImmediate(-0.0); //