http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28367
Richard Guenther <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED AssignedTo|unassigned at gcc dot |rguenth at gcc dot gnu.org |gnu.org | --- Comment #5 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-03-16 11:41:03 UTC --- comment #1 is fixed, the original problem persists. optimized dump: ;; Function f (f) f (vector(4) float t) { union { vector(4) float t1; float t2[4]; } t5; float D.2687; <bb 2>: t5.t1 = t_1(D); D.2687_2 = t5.t2[0]; return D.2687_2; } FRE does not know how to handle different sizes in its support for type-punning stores/loads (visit_reference_op_load). Mine.