https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71522

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |wrong-code
          Component|c                           |tree-optimization

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
So it goes "wrong" when transforming 

  long double d;
  __int128 unsigned _3;

  MEM[(char * {ref-all})&d] = 0x414141414141414141414141414141;
  _3 = MEM[(char * {ref-all})&d];

into SSA as

  d_9 = 4.35573826932891467758901725805789285479666446831741854231e+96;
  _3 = VIEW_CONVERT_EXPR<__int128 unsigned>(d_9);

similar as to how elsewhere we avoid using FP representation for what is
accessed as integers we should probably do so in update-address-taken
(otherwise FP normalization will apply via build_real and friends).

Reply via email to