https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79238
--- Comment #1 from Dominik Vogt <vogt at linux dot vnet.ibm.com> --- Note: Reg 67 is (set (reg:SI 67 [ *f_5(D) ]) (mem:SI (reg:DI 2 %r2 [ f ]) [1 *f_5(D)+0 S4 A32])) Note 2: Combine tries (parallel [ (set (reg/i:DI 2 %r2) (zero_extract:DI (mem:QI (plus:DI (reg:DI 2 %r2 [ f ]) (const_int 2 [0x2])) [1 *f_5(D)+2 S1 A16]) (const_int 1 [0x1]) (const_int 7 [0x7]))) (clobber (reg:CC 33 %cc)) ]) first and tries the (and) pattern from the first comment through change_zero_ext when that does not match.