diff options
| -rw-r--r-- | llvm/lib/Target/PowerPC/README.txt | 25 | 
1 files changed, 25 insertions, 0 deletions
| diff --git a/llvm/lib/Target/PowerPC/README.txt b/llvm/lib/Target/PowerPC/README.txt index 3d0736d65ea..b23b9a4cc4b 100644 --- a/llvm/lib/Target/PowerPC/README.txt +++ b/llvm/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. + | 

