https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114246
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2024-03-06 Ever confirmed|0 |1 --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Confirmed. we start out with: ``` __builtin_memcpy (&a, &MEM <int> [(void *)&b + -1B], 2); _4 = MEM[(char * {ref-all})&b]; MEM[(char * {ref-all})&a] = _4; ``` And DSE converts it into: ``` __builtin_memcpy (&MEM <char> [(void *)&a + 1B], (char *) &b, 1); _4 = MEM[(char * {ref-all})&b]; MEM[(char * {ref-all})&a] = _4; ```