https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101325
--- Comment #6 from Christophe Lyon <clyon at gcc dot gnu.org> --- Before r12-671 before combine we have: (insn 7 4 8 2 (set (reg:HI 117) (unspec:HI [ (reg/v:V16QI 115 [ v ]) (reg/v:V16QI 116 [ w ]) ] VCMPEQQ_S)) "arm_mve.h":4210:10 3228 {mve_vcmpeqq_v16qi} (expr_list:REG_DEAD (reg/v:V16QI 116 [ w ]) (expr_list:REG_DEAD (reg/v:V16QI 115 [ v ]) (nil)))) (insn 8 7 14 2 (set (reg:SI 113 [ _5 ]) (zero_extend:SI (reg:HI 117))) "arm_mve.h":4210:10 1019 {*thumb2_zero_extendhisi2_v6} (expr_list:REG_DEAD (reg:HI 117) (nil))) After r12-671, we have: (insn 7 4 8 2 (set (reg:HI 117) (eq:HI (reg/v:V16QI 115 [ v ]) (reg/v:V16QI 116 [ w ]))) "arm_mve.h":4210:10 3173 {mve_vcmpeqq_v16qi} (expr_list:REG_DEAD (reg/v:V16QI 116 [ w ]) (expr_list:REG_DEAD (reg/v:V16QI 115 [ v ]) (nil)))) (insn 8 7 14 2 (set (reg:SI 113 [ _5 ]) (zero_extend:SI (reg:HI 117))) "arm_mve.h":4210:10 1019 {*thumb2_zero_extendhisi2_v6} (expr_list:REG_DEAD (reg:HI 117) (nil)))