/* PR target/70421 */ | |
/* { dg-do run } */ | |
/* { dg-require-effective-target int32plus } */ | |
/* { dg-additional-options "-Wno-psabi -w" } */ | |
typedef unsigned V __attribute__ ((vector_size (64))); | |
unsigned __attribute__ ((noinline, noclone)) | |
foo (unsigned x, V u, V v) | |
{ | |
v[1] ^= v[2]; | |
x ^= ((V) v)[u[0]]; | |
return x; | |
} | |
int | |
main () | |
{ | |
unsigned x = foo (0x10, (V) { 1 }, (V) { 0x100, 0x1000, 0x10000 }); | |
if (x != 0x11010) | |
__builtin_abort (); | |
return 0; | |
} |