diff options
Diffstat (limited to 'gcc-4.9/gcc/testsuite/c-c++-common/torture/vector-subscript-3.c')
-rw-r--r-- | gcc-4.9/gcc/testsuite/c-c++-common/torture/vector-subscript-3.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/torture/vector-subscript-3.c b/gcc-4.9/gcc/testsuite/c-c++-common/torture/vector-subscript-3.c new file mode 100644 index 000000000..bb5c91485 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/c-c++-common/torture/vector-subscript-3.c @@ -0,0 +1,26 @@ +/* { dg-do run } */ +#define vector __attribute__((vector_size(16) )) + +/* Check whether register declaration of vector type still + allow us to subscript this type. */ + +typedef vector short myvec_t; + +struct vec_s { + vector short member; +}; + + +int main () { + register short vector v0 = {1,2,3,4,5,6,7}; + register myvec_t v1 = {1,2,3,4,5,6,7}; + register struct vec_s v2; + + v2.member = v1; + + short r = v0[0] + v1[1] + v2.member[2]; + if (r != 6) + __builtin_abort (); + + return 0; +} |