Viewing file: pr70307.c (1012 B) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* PR c/70307 */ /* { dg-do compile } */ /* { dg-options "-Wno-psabi" } */
typedef int v4si __attribute__ ((vector_size (16)));
v4si foo (v4si);
v4si fn1 (int i) { return i <= (v4si){(0, 0)}; }
v4si fn2 (int i) { v4si r; r = i <= (v4si){(0, 0)}; return r; }
v4si fn3 (int i) { return foo (i <= (v4si){(0, 0)}); }
v4si fn4 (int i) { struct S { v4si v; }; struct S s = { .v = i <= (v4si){(0, 0)} }; return s.v; }
v4si fn5 (int i) { return (v4si){(1, i++)} == (v4si){(0, 0)}; }
v4si fn6 (int i) { v4si r; r = (v4si){(1, i++)} == (v4si){(0, 0)}; return r; }
v4si fn7 (int i) { return foo ((v4si){(1, i++)} == (v4si){(0, 0)}); }
v4si fn8 (int i) { struct S { v4si v; }; struct S s = { .v = (v4si){(1, i++)} == (v4si){(0, 0)} }; return s.v; }
/* Ignore a warning that is irrelevant to the purpose of this test. */ /* { dg-prune-output "\[^\n\r\]*GCC vector passed by reference\[^\n\r\]*" } */ /* { dg-prune-output "\[^\n\r\]*GCC vector returned by reference\[^\n\r\]*" } */
|