Viewing file: altivec-ld-1.c (1.2 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* { dg-do run { target powerpc*-*-* } } */ /* { dg-require-effective-target vmx_hw } */ /* { dg-require-effective-target int128 } */ /* { dg-options "-maltivec -O0 -Wall -Wno-deprecated" } */
#include <altivec.h> #include <stdlib.h>
static __vector __int128 v; static __vector __int128 *pv;
static __vector unsigned __int128 uv; static __vector unsigned __int128 *puv;
static __int128 i128; static __int128 *pi128;
static unsigned __int128 u128; static unsigned __int128 *pu128;
void doInitialization () { v[0] = -1; pv = &v;
uv[0] = 0xcafebabe; puv = &uv;
i128 = 0xfabeabe; pi128 = &i128;
u128 = 0xabefabe; pu128 = &u128; }
int main (int argc, char *argv[]) { __vector __int128 loaded_v; __vector unsigned __int128 loaded_uv;
/* Usage: * <Type> result = vec_ld (int index, __vector <Type> v) * is equivalent to: * result = v [index]; */ doInitialization (); loaded_v = vec_ld (0, pv); if (loaded_v[0] != -1) abort ();
loaded_uv = vec_ld (0, puv); if (loaded_uv[0] != 0xcafebabe) abort ();
loaded_v = vec_ld (0, pi128); if (loaded_v[0] != 0xfabeabe) abort ();
loaded_uv = vec_ld (0, pu128); if (loaded_uv[0] != 0xabefabe) abort ();
return 0; }
|