https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116781
Denis Chertykov <denisc at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |denisc at gcc dot gnu.org --- Comment #1 from Denis Chertykov <denisc at gcc dot gnu.org> --- Probably we have a wring definition of "*tablejump_split" The patch: diff --git a/gcc/config/avr/avr.md b/gcc/config/avr/avr.md index aae8a696a63..a26309650f2 100644 --- a/gcc/config/avr/avr.md +++ b/gcc/config/avr/avr.md @@ -7653,7 +7653,7 @@ (unspec:HI [(match_operand:HI 0 "register_operand" "!z,*r,z")] UNSPEC_INDEX_JMP)) (use (label_ref (match_operand 1 "" ""))) - (clobber (match_dup 0)) + (clobber (match_scratch:HI 2 "=X,X,0")) (clobber (const_int 0))] "!AVR_HAVE_EIJMP_EICALL" "#" @@ -7759,7 +7759,7 @@ (parallel [(set (pc) (unspec:HI [(match_dup 7)] UNSPEC_INDEX_JMP)) (use (label_ref (match_dup 3))) - (clobber (match_dup 7)) + (clobber (scratch:HI)) (clobber (match_dup 8))])] "" {