https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120428
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |pinskia at gcc dot gnu.org
Component|target |tree-optimization
Blocks| |121364
--- Comment #18 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
This is a copy prop for aggegrates issue:
_23 = MEM <uint128_t> [(char * {ref-all})data_9(D)];
MEM <uint128_t> [(char * {ref-all})&buffer] = _23;
_18 = MEM <uint128_t> [(char * {ref-all})data_9(D) + 16B];
MEM <uint128_t> [(char * {ref-all})&buffer + 16B] = _18;
_16 = MEM <vector(32) unsigned char> [(char * {ref-all})&buffer];
We should see here that `MEM <vector(32) unsigned char> [(char *
{ref-all})&buffer]` is the same thing as loading from data_9(D).
Referenced Bugs:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121364
[Bug 121364] [meta-bug] copy prop for aggregates