Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.dg/torture/pr70307.c @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
/* 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\]*" } */