https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109907
--- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Georg-Johann Lay from comment #6) > (define_expand "extzv" > [(set (match_operand:QI 0 "register_operand") > (zero_extract:QI (match_operand:QI 1 "register_operand") > (match_operand:QI 2 "const1_operand") > (match_operand:QI 3 "const_0_to_7_operand")))]) > > Maybe QI for op1 is not optimal, but it's not possible to use mode iterator > because there's only one gen_extzv. Dunno if VOIDmode would help or is sane. Note extzv pattern has been deprecate since 4.8 with r0-120368-gd2eeb2d179a435 which added extzv<mode> and co as being supported. So maybe moving over to using that instead on avr backend might help here ...