From 56b6964473cb0e69a8739e6c7e20239c2f19e8f7 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Tue, 31 Jan 2006 02:55:28 +0000 Subject: [PATCH] add the 'lucas' optimization git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25830 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/PowerPC/README.txt | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/lib/Target/PowerPC/README.txt b/lib/Target/PowerPC/README.txt index 3d0736d65ea..b23b9a4cc4b 100644 --- a/lib/Target/PowerPC/README.txt +++ b/lib/Target/PowerPC/README.txt @@ -402,3 +402,28 @@ Implement TargetConstantVec, and set up PPC to custom lower ConstantVec into TargetConstantVec's if it's one of the many forms that are algorithmically computable using the spiffy altivec instructions. +===-------------------------------------------------------------------------=== + +Compile this: + +double %test(double %X) { + %Y = cast double %X to long + %Z = cast long %Y to double + ret double %Z +} + +to this: + +_test: + fctidz f0, f1 + stfd f0, -8(r1) + lwz r2, -4(r1) + lwz r3, -8(r1) + stw r2, -12(r1) + stw r3, -16(r1) + lfd f0, -16(r1) + fcfid f1, f0 + blr + +without the lwz/stw's. +