https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90810
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Simplified testcase: __attribute__((noinline, noclone, noipa)) void foo (const float num, const float denom) { typedef float __attribute__ ((__vector_size__ (16), __may_alias__)) Vec4; const Vec4 num4 = { num, num, num, num, }; const Vec4 denom4 = { denom, denom, denom, denom, }; float res_arr[] = {0, 0, 0, 0}; Vec4 *res = (Vec4*)res_arr; *res = num4 / denom4; __builtin_printf ("%f %f %f %f\n", res_arr[0], res_arr[1], res_arr[2], res_arr[3]); } int main () { const float denominator = 1.0f; const float numerator = 12.0f; foo (numerator, denominator); } This regressed with r258903, so I'll have a look.