https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93271
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |wrong-code Target| |i?86-linux-gnu Status|UNCONFIRMED |NEW Last reconfirmed| |2020-01-15 Ever confirmed|0 |1 --- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Richard Biener from comment #1) > Thought SRA avoids float modes for total scalarization... It is not doing total scalarization here. Created a replacement for a offset: 0, size: 32: a$b Access trees for a (UID: 1941): access { base = (1941)'a', offset = 0, size = 32, expr = a.b, type = float, reverse = 0, grp_read = 1, grp_write = 1, grp_assignment_read = 1, grp_assignment_write = 1, grp_scalar_read = 1, grp_scalar_write = 1, grp_total_scalarization = 0, grp_hint = 0, grp_covered = 1, grp_unscalarizable_region = 0, grp_unscalarized_data = 0, grp_same_access_path = 1, grp_partial_lhs = 0, grp_to_be_replaced = 1, grp_to_be_debug_replaced = 0} ... a$b_7 = a.b; goto <bb 4>; [INV] <bb 3> : _1 = a$b_8; _2 = _1 + 1.0e+0; a$b_13 = _2; <bb 4> : # a$b_8 = PHI <a$b_7(2), a$b_13(3)> val.0_3 ={v} val; if (val.0_3 != 0) goto <bb 3>; [INV] else goto <bb 5>; [INV] <bb 5> : a.b = a$b_8;