[Bug tree-optimization/93271] SRA producing wrong code on denormals

2020-01-15 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93271

Richard Biener  changed:

   What|Removed |Added

 CC||jamborm at gcc dot gnu.org

--- Comment #1 from Richard Biener  ---
Thought SRA avoids float modes for total scalarization...

[Bug tree-optimization/93271] SRA producing wrong code on denormals

2020-01-15 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93271

--- Comment #2 from Jan Hubicka  ---
Fails at least for gcc 4.9+, but it must be regression compared to pre-tree-ssa
GCCs (which I don't have installed :)

[Bug tree-optimization/93271] SRA producing wrong code on denormals

2020-01-15 Thread pinskia at gcc dot gnu.org
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;