new example
authorChris Lattner <sabre@nondot.org>
Thu, 23 Aug 2007 15:16:03 +0000 (15:16 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 23 Aug 2007 15:16:03 +0000 (15:16 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41318 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/PowerPC/README.txt

index 69e60fcb92230ba0ba31894ee503d12b4d08d20a..10ee323954693e6e5e0d7b3e8a91e323de240ee8 100644 (file)
@@ -117,6 +117,23 @@ mode.
 Note that this (and the static variable version) is discussed here for GCC:
 http://gcc.gnu.org/ml/gcc-patches/2006-02/msg00133.html
 
+Here's another example (the sgn function):
+double testf(double a) {
+       return a == 0.0 ? 0.0 : (a > 0.0 ? 1.0 : -1.0);
+}
+
+it produces a BB like this:
+LBB1_1: ; cond_true
+        lis r2, ha16(LCPI1_0)
+        lfs f0, lo16(LCPI1_0)(r2)
+        lis r2, ha16(LCPI1_1)
+        lis r3, ha16(LCPI1_2)
+        lfs f2, lo16(LCPI1_2)(r3)
+        lfs f3, lo16(LCPI1_1)(r2)
+        fsub f0, f0, f1
+        fsel f1, f0, f2, f3
+        blr 
+
 ===-------------------------------------------------------------------------===
 
 PIC Code Gen IPO optimization: