From 554fd8c5195424bdbcabf5de30fdc183aba391bd Mon Sep 17 00:00:00 2001 From: upstream source tree Date: Sun, 15 Mar 2015 20:14:05 -0400 Subject: obtained gcc-4.6.4.tar.bz2 from upstream website; verified gcc-4.6.4.tar.bz2.sig; imported gcc-4.6.4 source tree from verified upstream tarball. downloading a git-generated archive based on the 'upstream' tag should provide you with a source tree that is binary identical to the one extracted from the above tarball. if you have obtained the source via the command 'git clone', however, do note that line-endings of files in your working directory might differ from line-endings of the respective files in the upstream repository. --- gcc/testsuite/gcc.dg/vmx/7-01.c | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/vmx/7-01.c (limited to 'gcc/testsuite/gcc.dg/vmx/7-01.c') diff --git a/gcc/testsuite/gcc.dg/vmx/7-01.c b/gcc/testsuite/gcc.dg/vmx/7-01.c new file mode 100644 index 000000000..f986d8fe5 --- /dev/null +++ b/gcc/testsuite/gcc.dg/vmx/7-01.c @@ -0,0 +1,36 @@ +/* { dg-do compile } */ +#include +extern vector signed short image[]; +extern vector signed short band[]; + +#define load(a,b) (a[b]) +#define store(v,a,b) (a[b]) = (v) + +void +haar (vector signed char a, vector signed char b, vector signed char c, + vector signed char d, unsigned int N, int XX) +{ + unsigned int i; + vector unsigned char high, low; + vector signed int zero = ((vector signed int){0,0,0,0}); + + for (i = 0; i < N; i++) { + high = (vector unsigned char) (vec_vmrghh (load(image, i+XX), + load(image, i))); + low = (vector unsigned char) (vec_vmrglh (load(image, i+XX), + load(image, i))); + + store (vec_vpkswss (vec_vmsummbm (a, high, zero), + vec_vmsummbm (a, low, zero)), + band, i); + store (vec_vpkswss (vec_vmsummbm (b, high, zero), + vec_vmsummbm (b, low, zero)), + band, i+1); + store(vec_vpkswss (vec_vmsummbm (c, high, zero), + vec_vmsummbm (c, low, zero)), + band, i+2); + store(vec_vpkswss (vec_vmsummbm (d, high, zero), + vec_vmsummbm (d, low, zero)), + band, i+3); + } +} -- cgit v1.2.3