This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/28014] space-optimized divide used inconsistently
- From: "amylaar at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 13 Jun 2006 17:45:07 -0000
- Subject: [Bug target/28014] space-optimized divide used inconsistently
- References: <bug-28014-5394@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #2 from amylaar at gcc dot gnu dot org 2006-06-13 17:45 -------
Subject: Bug 28014
Author: amylaar
Date: Tue Jun 13 17:44:56 2006
New Revision: 114616
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=114616
Log:
PR target/28014:
gcc:
* config/sh/t-sh (LIB1ASMFUNCS): Add _udiv_qrnnd16
* config/sh/sh.c (print_operand): Add !SHMEDIA functionality to 'M'.
* config/sh/lib1funcs.h (SL, SL1): Define.
* config/sh/lib1funcs.asm (__udiv_qrnnd16): New hidden function.
* longlong.h (__sh__): Define umul_ppmm, udiv_qrnnd and sub_ddmmss.
* config/sh/t-sh ($(T)unwind-dw2-Os-4-200.o): New rule.
(OBJS_Os_4_200): New variable.
($(T)libgcc-Os-4-200.a): Use it.
* sh.md (udivsi3): For TARGET_DIVIDE_CALL_TABLE, avoid function call
when dividing 1 and/or by 0.
gcc/testsuite:
* g++.dg/eh/div.C: New test.
Added:
trunk/gcc/testsuite/g++.dg/eh/div.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/sh/lib1funcs.asm
trunk/gcc/config/sh/lib1funcs.h
trunk/gcc/config/sh/sh.c
trunk/gcc/config/sh/sh.md
trunk/gcc/config/sh/t-sh
trunk/gcc/longlong.h
trunk/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28014