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))])]
   ""
   {

Reply via email to