https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85123
Peter Bergner <bergner at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2018-03-30 CC| |bergner at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Peter Bergner <bergner at gcc dot gnu.org> --- Confirmed. Here's a minimal test case. It looks like the code for test1float1 is what is causing the problems. typedef float vfloat1 __attribute__ ((__vector_size__ (1 * sizeof (float)))); __attribute__ ((noinline, noclone)) vfloat1 test1float1 (float c) { vfloat1 v = { c }; return v; } void test3float1 (void) { float c = 17; int i; vfloat1 a = test1float1 (c); for (i = 0; i < 1; i++) if (a[i] != 17) __builtin_abort (); } int main () { test3float1 (); return 0; }