diff options
author | upstream source tree <ports@midipix.org> | 2015-03-15 20:14:05 -0400 |
---|---|---|
committer | upstream source tree <ports@midipix.org> | 2015-03-15 20:14:05 -0400 |
commit | 554fd8c5195424bdbcabf5de30fdc183aba391bd (patch) | |
tree | 976dc5ab7fddf506dadce60ae936f43f58787092 /gcc/testsuite/gcc.dg/vmx/3c-01.c | |
download | cbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.bz2 cbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.xz |
obtained gcc-4.6.4.tar.bz2 from upstream website;upstream
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.
Diffstat (limited to 'gcc/testsuite/gcc.dg/vmx/3c-01.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/vmx/3c-01.c | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/vmx/3c-01.c b/gcc/testsuite/gcc.dg/vmx/3c-01.c new file mode 100644 index 000000000..c6da229f4 --- /dev/null +++ b/gcc/testsuite/gcc.dg/vmx/3c-01.c @@ -0,0 +1,86 @@ +#include "harness.h" + +vector unsigned char u8; +vector signed char s8; +vector bool char b8; +vector unsigned short u16; +vector signed short s16; +vector bool short b16; +vector unsigned int u32; +vector signed int s32; +vector bool int b32; +vector float f32; +vector pixel p16; + +static void g(void); + +static void f(void *p) +{ + u8 = vec_ld(16, (unsigned char *)p); + u16 = vec_ld(16, (unsigned short*)p); + u32 = vec_ld(16, (unsigned int*)p); + s8 = vec_ld(16, (signed char *)p); + s16 = vec_ld(16, (short*)p); + s32 = vec_ld(16, (int*)p); + g(); + u8 = vec_ld(16, (vector unsigned char*)p); + s8 = vec_ld(16, (vector signed char*)p); + b8 = vec_ld(16, (vector bool char*)p); + g(); + u16 = vec_ld(16, (vector unsigned short*)p); + s16 = vec_ld(16, (vector signed short*)p); + b16 = vec_ld(16, (vector bool short*)p); + g(); + u32 = vec_ld(16, (vector unsigned int*)p); + s32 = vec_ld(16, (vector signed int*)p); + b32 = vec_ld(16, (vector bool int*)p); + f32 = vec_ld(16, (vector float*)p); + p16 = vec_ld(16, (vector pixel*)p); + g(); + u8 = vec_lde(16, (unsigned char *)p); + u16 = vec_lde(16, (unsigned short*)p); + u32 = vec_lde(16, (unsigned int*)p); + s8 = vec_lde(16, (signed char *)p); + s16 = vec_lde(16, (short*)p); + s32 = vec_lde(16, (int*)p); + f32 = vec_ldl(16, (vector float*)p); + p16 = vec_ldl(16, (vector pixel*)p); + g(); + u8 = vec_ldl(16, (vector unsigned char*)p); + s8 = vec_ldl(16, (vector signed char*)p); + b8 = vec_ldl(16, (vector bool char*)p); + g(); + u16 = vec_ldl(16, (vector unsigned short*)p); + s16 = vec_ldl(16, (vector signed short*)p); + b16 = vec_ldl(16, (vector bool short*)p); + g(); + u32 = vec_ldl(16, (vector unsigned int*)p); + s32 = vec_ldl(16, (vector signed int*)p); + b32 = vec_ldl(16, (vector bool int*)p); + f32 = vec_ldl(16, (vector float*)p); + p16 = vec_ldl(16, (vector pixel*)p); +} + +static void g () +{ +} + +static void test() +{ + static vector unsigned int value = {1,-2,3,-4}; + static vector unsigned int buffer[2]; +#define chek(v, s) check(vec_all_eq(v, value), s) + buffer[1] = value; + f((void *)buffer); + chek((vector unsigned int) u8, "u8"); + chek((vector unsigned int) s8, "s8"); + chek((vector unsigned int) b8, "b8"); + chek((vector unsigned int) u16, "u16"); + chek((vector unsigned int) s16, "s16"); + chek((vector unsigned int) b16, "b16"); + chek((vector unsigned int) u32, "u32"); + chek((vector unsigned int) s32, "s32"); + chek((vector unsigned int) b32, "b32"); + chek((vector unsigned int) f32, "f32"); + chek((vector unsigned int) p16, "p16"); +} |