diff options
author | Nate Begeman <natebegeman@mac.com> | 2005-04-09 03:05:51 +0000 |
---|---|---|
committer | Nate Begeman <natebegeman@mac.com> | 2005-04-09 03:05:51 +0000 |
commit | e88aa5b4d16b05d530cd4ff2b79c05c4b519ef59 (patch) | |
tree | e433f1c8973067245599430cb42d5cf989976bef /lib/Target/PowerPC/PPC64ISelPattern.cpp | |
parent | 485df9b84b5753154d3762b2a176b8b6684f716f (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.cpp | 4 |
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); // |