diff options
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/execute/vector-subscript-3.c')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/vector-subscript-3.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/execute/vector-subscript-3.c b/gcc/testsuite/gcc.c-torture/execute/vector-subscript-3.c new file mode 100644 index 000000000..97d531c17 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/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; +} |