https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106545
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Note I see XTheadMemPair code has been added to peephole.md which is good to have it away. But again the first peephole is also handled differently already via zero_extendsidi2_shifted which was added in r11-745-gd5cdcd5cf2b292 but it was not until r13-4907-g2e886eef7f2b5a when we started to optimizing the following code: unsigned long f(unsigned long a) { a <<= 32; a >>= 32; a <<= 10; return a; }