summaryrefslogtreecommitdiffstats
path: root/llvm/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
commite8ce0cda4080a949484ce03ca755f83359dd3a46 (patch)
treef0fc3121375a07c2d0afaee217d4bcc63492ddfe /llvm/lib/Target/PowerPC/PPC64ISelPattern.cpp
parent0ea81f9db4234bd2d69ebf1f0c38898ea4f18bd0 (diff)
downloadbcm5719-llvm-e8ce0cda4080a949484ce03ca755f83359dd3a46.tar.gz
bcm5719-llvm-e8ce0cda4080a949484ce03ca755f83359dd3a46.zip
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% llvm-svn: 21161
Diffstat (limited to 'llvm/lib/Target/PowerPC/PPC64ISelPattern.cpp')
-rw-r--r--llvm/lib/Target/PowerPC/PPC64ISelPattern.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/PowerPC/PPC64ISelPattern.cpp b/llvm/lib/Target/PowerPC/PPC64ISelPattern.cpp
index dfb572d5875..773299c3869 100644
--- a/llvm/lib/Target/PowerPC/PPC64ISelPattern.cpp
+++ b/llvm/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); //
OpenPOWER on IntegriCloud