[Bug target/56529] New: [SH] Calls to __sdivsi3_i4i and __udivsi3_i4i are generated on SH2

olegendo at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Mar 4 23:37:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56529

             Bug #: 56529
           Summary: [SH] Calls to __sdivsi3_i4i and __udivsi3_i4i are
                    generated on SH2
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: olegendo@gcc.gnu.org
            Target: sh*-*-*


The original problem was reported here:

http://gcc.gnu.org/ml/gcc-patches/2013-03/msg00088.html

Actually the compiler should prohibit the -mdiv=call-table option on SH2,
because there is no suitable implementation in libgcc.
However, this fails, due to the following lines in sh.c:

/* SH1 .. SH3 cores often go into small-footprint systems, so
   default to the smallest implementation available.  */
   else if (TARGET_SH2)    /* ??? EXPERIMENTAL */
     sh_div_strategy = SH_DIV_CALL_TABLE;

I'm not sure what that is for, but it certainly is broken or incomplete (libgcc
pieces missing).



More information about the Gcc-bugs mailing list