https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93271
Andrew Pinski 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 ---
(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 ; [INV]
:
_1 = a$b_8;
_2 = _1 + 1.0e+0;
a$b_13 = _2;
:
# a$b_8 = PHI
val.0_3 ={v} val;
if (val.0_3 != 0)
goto ; [INV]
else
goto ; [INV]
:
a.b = a$b_8;