From: Nate Begeman Date: Tue, 21 Mar 2006 18:58:20 +0000 (+0000) Subject: Update readme X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=c0a8b6df2adc690998cd6e523e6bd37dd4c16bd3;p=oota-llvm.git Update readme git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26924 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/PowerPC/README.txt b/lib/Target/PowerPC/README.txt index e6d22dac1a8..c90343eeee4 100644 --- a/lib/Target/PowerPC/README.txt +++ b/lib/Target/PowerPC/README.txt @@ -549,3 +549,37 @@ We need to codegen -0.0 vector efficiently (no constant pool load). When -ffast-math is on, we can use 0.0. ===-------------------------------------------------------------------------=== + +float foo(float X) { return (int)(X); } + +Currently produces + +_foo: + lis r2, ha16(LCPI1_0) + lis r3, 17200 + fctiwz f0, f1 + stfd f0, -8(r1) + lwz r4, -4(r1) + xoris r4, r4, 32768 + stw r4, -12(r1) + stw r3, -16(r1) + lfs f0, lo16(LCPI1_0)(r2) + lfd f1, -16(r1) + fsub f0, f1, f0 + frsp f1, f0 + blr + +When we have ppc64 working properly, it could produce the nicer code: + +_foo: + fctiwz f0, f1 + stfd f0, -8(r1) + lwz r4, -4(r1) + extsh r4, r4 + std r4, -16(r1) + lfd f1, -16(r1) + fcfid f0, f0 + frsp f0, f0 + blr + +Note: this would speed up SingleSource/Misc/pi by about 30%