[llvm-commits] CVS: llvm/lib/Target/PowerPC/README.txt
Nate Begeman
natebegeman at mac.com
Tue Mar 21 10:58:31 PST 2006
Changes in directory llvm/lib/Target/PowerPC:
README.txt updated: 1.77 -> 1.78
---
Log message:
Update readme
---
Diffs of the changes: (+34 -0)
README.txt | 34 ++++++++++++++++++++++++++++++++++
1 files changed, 34 insertions(+)
Index: llvm/lib/Target/PowerPC/README.txt
diff -u llvm/lib/Target/PowerPC/README.txt:1.77 llvm/lib/Target/PowerPC/README.txt:1.78
--- llvm/lib/Target/PowerPC/README.txt:1.77 Mon Mar 20 18:47:09 2006
+++ llvm/lib/Target/PowerPC/README.txt Tue Mar 21 12:58:20 2006
@@ -549,3 +549,37 @@
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%
More information about the llvm-commits
mailing list