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 | e8ce0cda4080a949484ce03ca755f83359dd3a46 (patch) | |
| tree | f0fc3121375a07c2d0afaee217d4bcc63492ddfe /llvm/lib/Target/PowerPC/PPC64ISelPattern.cpp | |
| parent | 0ea81f9db4234bd2d69ebf1f0c38898ea4f18bd0 (diff) | |
| download | bcm5719-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.cpp | 4 |
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); // |

