aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/PowerPC/README_ALTIVEC.txt
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-04-19 05:55:06 +0000
committerChris Lattner <sabre@nondot.org>2006-04-19 05:55:06 +0000
commitbf9b3716eda91629d1597e290034d9ce050d0b13 (patch)
tree98f6ed6f64e6c083cff4d3a2312de1d75479051e /lib/Target/PowerPC/README_ALTIVEC.txt
parentff5cdc2ccde7088c86e8c7a6cb60c3acd6f35642 (diff)
downloadexternal_llvm-bf9b3716eda91629d1597e290034d9ce050d0b13.zip
external_llvm-bf9b3716eda91629d1597e290034d9ce050d0b13.tar.gz
external_llvm-bf9b3716eda91629d1597e290034d9ce050d0b13.tar.bz2
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27828 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/PowerPC/README_ALTIVEC.txt')
-rw-r--r--lib/Target/PowerPC/README_ALTIVEC.txt30
1 files changed, 30 insertions, 0 deletions
diff --git a/lib/Target/PowerPC/README_ALTIVEC.txt b/lib/Target/PowerPC/README_ALTIVEC.txt
index 886723d..b667ecb 100644
--- a/lib/Target/PowerPC/README_ALTIVEC.txt
+++ b/lib/Target/PowerPC/README_ALTIVEC.txt
@@ -108,3 +108,33 @@ vcmpeqfp. result is used by a branch. This can be improved.
//===----------------------------------------------------------------------===//
+The code generated for this is truly aweful:
+
+vector float test(float a, float b) {
+ return (vector float){ 0.0, a, 0.0, 0.0};
+}
+
+LCPI1_0: ; float
+ .space 4
+ .text
+ .globl _test
+ .align 4
+_test:
+ mfspr r2, 256
+ oris r3, r2, 4096
+ mtspr 256, r3
+ lis r3, ha16(LCPI1_0)
+ addi r4, r1, -32
+ stfs f1, -16(r1)
+ addi r5, r1, -16
+ lfs f0, lo16(LCPI1_0)(r3)
+ stfs f0, -32(r1)
+ lvx v2, 0, r4
+ lvx v3, 0, r5
+ vmrghw v3, v3, v2
+ vspltw v2, v2, 0
+ vmrghw v2, v2, v3
+ mtspr 256, r2
+ blr
+
+//===----------------------------------------------------------------------===//