This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/56529] New: [SH] Calls to __sdivsi3_i4i and __udivsi3_i4i are generated on SH2
- From: "olegendo at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 04 Mar 2013 23:37:04 +0000
- Subject: [Bug target/56529] New: [SH] Calls to __sdivsi3_i4i and __udivsi3_i4i are generated on SH2
- Auto-submitted: auto-generated
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).