summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PowerPC/PPCHazardRecognizers.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-03-22 05:30:33 +0000
committerChris Lattner <sabre@nondot.org>2006-03-22 05:30:33 +0000
commit4a66d69433be88bb5f42c63b2a684c286898cea4 (patch)
treea0fdcfca145037eb8c724827029b8795f342d680 /llvm/lib/Target/PowerPC/PPCHazardRecognizers.cpp
parent77373d1bea2ae3f0df0c483b429d232671b894bf (diff)
downloadbcm5719-llvm-4a66d69433be88bb5f42c63b2a684c286898cea4.tar.gz
bcm5719-llvm-4a66d69433be88bb5f42c63b2a684c286898cea4.zip
When possible, custom lower 32-bit SINT_TO_FP to this:
_foo2: extsw r2, r3 std r2, -8(r1) lfd f0, -8(r1) fcfid f0, f0 frsp f1, f0 blr instead of this: _foo2: lis r2, ha16(LCPI2_0) lis r4, 17200 xoris r3, r3, 32768 stw r3, -4(r1) stw r4, -8(r1) lfs f0, lo16(LCPI2_0)(r2) lfd f1, -8(r1) fsub f0, f1, f0 frsp f1, f0 blr This speeds up Misc/pi from 2.44s->2.09s with LLC and from 3.01->2.18s with llcbeta (16.7% and 38.1% respectively). llvm-svn: 26943
Diffstat (limited to 'llvm/lib/Target/PowerPC/PPCHazardRecognizers.cpp')
-rw-r--r--llvm/lib/Target/PowerPC/PPCHazardRecognizers.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCHazardRecognizers.cpp b/llvm/lib/Target/PowerPC/PPCHazardRecognizers.cpp
index d7f9c10ef23..6208d7dc91d 100644
--- a/llvm/lib/Target/PowerPC/PPCHazardRecognizers.cpp
+++ b/llvm/lib/Target/PowerPC/PPCHazardRecognizers.cpp
@@ -245,8 +245,9 @@ void PPCHazardRecognizer970::EmitInstruction(SDNode *Node) {
case PPC::STFIWX:
ThisStoreSize = 4;
break;
+ case PPC::STD_32:
+ case PPC::STDX_32:
case PPC::STD:
- case PPC::STDU:
case PPC::STFD:
case PPC::STFDX:
case PPC::STDX:
OpenPOWER on IntegriCloud