summaryrefslogtreecommitdiff
path: root/lib/Target/PowerPC/README_ALTIVEC.txt
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-04-04 22:43:55 +0000
committerChris Lattner <sabre@nondot.org>2006-04-04 22:43:55 +0000
commit298b68422956ec6f640f508bf089110674418ca6 (patch)
tree0f84d037e4f5d3dd68cd290d13a41378cda0b733 /lib/Target/PowerPC/README_ALTIVEC.txt
parent098e699f21a532d37b1ad44bb1bc24a87b3f9962 (diff)
downloadllvm-298b68422956ec6f640f508bf089110674418ca6.tar.gz
llvm-298b68422956ec6f640f508bf089110674418ca6.tar.bz2
llvm-298b68422956ec6f640f508bf089110674418ca6.tar.xz
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27414 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/PowerPC/README_ALTIVEC.txt')
-rw-r--r--lib/Target/PowerPC/README_ALTIVEC.txt15
1 files changed, 13 insertions, 2 deletions
diff --git a/lib/Target/PowerPC/README_ALTIVEC.txt b/lib/Target/PowerPC/README_ALTIVEC.txt
index 5aca1f4c3c..4aff927b50 100644
--- a/lib/Target/PowerPC/README_ALTIVEC.txt
+++ b/lib/Target/PowerPC/README_ALTIVEC.txt
@@ -52,8 +52,6 @@ Missing intrinsics:
ds*
mf*
vavg*
-vmax*
-vmin*
vmladduhm
vmr*
vsel (some aliases only accessible using builtins)
@@ -64,6 +62,19 @@ FABS/FNEG can be codegen'd with the appropriate and/xor of -0.0.
//===----------------------------------------------------------------------===//
+Codegen the constant here with something better than a constant pool load.
+
+void %test_f(<4 x float>* %P, <4 x float>* %Q, float %X) {
+ %tmp = load <4 x float>* %Q
+ %tmp = cast <4 x float> %tmp to <4 x int>
+ %tmp1 = and <4 x int> %tmp, < int 2147483647, int 2147483647, int 2147483647, int 2147483647 >
+ %tmp2 = cast <4 x int> %tmp1 to <4 x float>
+ store <4 x float> %tmp2, <4 x float>* %P
+ ret void
+}
+
+//===----------------------------------------------------------------------===//
+
For functions that use altivec AND have calls, we are VRSAVE'ing all call
clobbered regs.