gcc/
commit41b67cc596bf83999f10ecbf286da7f3e89148f3
authorjules <jules@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 17 Dec 2009 15:37:23 +0000 (17 15:37 +0000)
committerjules <jules@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 17 Dec 2009 15:37:23 +0000 (17 15:37 +0000)
tree11aa02e3ca0aaf3665b8f9f816fb7e037bb9c9de
parenta58abd8f388293cc8e5411f358c9bf46bfc3bb57
gcc/
* config/arm/bpabi-v6m.S (test_div_by_zero): New macro.
(aeabi_ldivmod, aeabi_uldivmod): Use above macro.
* config/arm/bpabi.S (test_div_by_zero): New macro.
(aeabi_ldivmod, aeabi_uldivmod): Use above macro.
* config/arm/lib1funcs.asm (ARM_LDIV0): Tail-call int div-by-zero
handler for EABI. Add signed/unsigned argument, pass correct value
to that handler.
(THUMB_LDIV0): Same, for Thumb.
(DIV_FUNC_END): Add signed argument.
(WEAK): New macro (for EABI).
(__udivsi3, __umodsi3): Add unsigned argument to DIV_FUNC_END. For
__udivsi3, add entry point which skips division-by-zero test.
(__divsi3, __modsi3): Add signed argument to DIV_FUNC_END.
(__aeabi_uidivmod, __aeabi_idivmod): Check for division by zero.
Call __udivsi3 or __divsi3 via entry points which skip
division-by-zero tests.
(__div0): Rename to __aeabi_idiv0, __aeabi_ldiv0 for EABI, and
declare those names weak.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155319 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/arm/bpabi-v6m.S
gcc/config/arm/bpabi.S
gcc/config/arm/lib1funcs.asm