aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/ext/apple-altivec-5.C
diff options
context:
space:
mode:
author(no author) <(no author)@138bc75d-0d04-0410-961f-82ee72b054a4>2005-03-09 23:20:13 +0000
committer(no author) <(no author)@138bc75d-0d04-0410-961f-82ee72b054a4>2005-03-09 23:20:13 +0000
commit56dc9c7e121493f4a4225bbfa4be4d65b1753c66 (patch)
tree3dd34a8c34793776e40587f22f12789ab230d69d /gcc/testsuite/g++.dg/ext/apple-altivec-5.C
parent9e0f9ffc44b45e738ae0321183bdc41f7c889c81 (diff)
This commit was manufactured by cvs2svn to create tagapple/gcc-5000
'apple-gcc-5000'. git-svn-id: https://gcc.gnu.org/svn/gcc/tags/apple-gcc-5000@96220 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/g++.dg/ext/apple-altivec-5.C')
-rw-r--r--gcc/testsuite/g++.dg/ext/apple-altivec-5.C31
1 files changed, 31 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/ext/apple-altivec-5.C b/gcc/testsuite/g++.dg/ext/apple-altivec-5.C
new file mode 100644
index 00000000000..4473881dda7
--- /dev/null
+++ b/gcc/testsuite/g++.dg/ext/apple-altivec-5.C
@@ -0,0 +1,31 @@
+/* APPLE LOCAL file AltiVec */
+/* Test for handling of reference vector parameters. */
+/* { dg-do compile { target powerpc*-*-darwin* } } */
+/* { dg-options "-faltivec" } */
+
+struct Vect
+{
+ typedef vector unsigned int vector_1;
+
+ static vector_1 ConvertPixel1(const vector_1 &source, const vector unsigned char &vp);
+ static vector_1 ConvertPixel2(const vector_1 source, const vector unsigned char vp);
+ static vector_1 ConvertPixel3(vector_1 &source, vector unsigned char &vp);
+ static vector_1 ConvertPixel4(vector_1 source, vector unsigned char vp);
+};
+
+Vect::vector_1 Vect::ConvertPixel1(const vector_1 &source, const vector unsigned char &vp)
+{
+ return (vector_1) vec_perm(source, source, vp);
+}
+Vect::vector_1 Vect::ConvertPixel2(const vector_1 source, const vector unsigned char vp)
+{
+ return (vector_1) vec_perm(source, source, vp);
+}
+Vect::vector_1 Vect::ConvertPixel3(vector_1 &source, vector unsigned char &vp)
+{
+ return (vector_1) vec_perm(source, source, vp);
+}
+Vect::vector_1 Vect::ConvertPixel4(vector_1 source, vector unsigned char vp)
+{
+ return (vector_1) vec_perm(source, source, vp);
+}