https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91758
--- Comment #4 from Martin Liška <marxin at gcc dot gnu.org> --- So no, the affective change is: D.1259546.IndirectRealign = SR.6335_125; D.1259546.InReg = SR.6336_130; _163 = (unsigned char) SR.6335_125; _50 = (unsigned char) SR.6336_130; _140 = _50 << 1; _34 = _140 | _163; _383 = MEM[(struct ABIArgInfo *)&D.1259546 + 27B]; _382 = _383 & 252; _358 = _34 & 3; _381 = _382 | _358; MEM[(struct ABIArgInfo *)&D.1259546 + 27B] = _381; which is also fine from store-merging point of view.