[Bug tree-optimization/116098] [14/15 Regression] _Bool value from tagged union is incorrect when built with optimization

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Jul 26 06:08:32 GMT 2024


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

--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> ---
Ah, it's the code that makes SRA widen bit-precision values to size-precision
integers.  That said, I don't see why the V_C_E should not be moveable.

  value$8_11 = MEM <unsigned char> [(struct Value *)&s_value + 8B];
  _8 = VIEW_CONVERT_EXPR<_Bool>(value$8_11);

is exactly what RTL expansion will create - we're not truncating the
result to bit-precision on _Bool loads.


More information about the Gcc-bugs mailing list