Nicolas Pitre <nico@cam.org>
commitff0763988e05559cbfd04b57597dcbfa69625c19
authorrearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 30 Sep 2003 10:30:32 +0000 (30 10:30 +0000)
committerrearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 30 Sep 2003 10:30:32 +0000 (30 10:30 +0000)
tree93abdfe4366b19848ed2a38e00fe26f6f53933f7
parentc3bea1aec572ef4f4ec33b28cf759ff65613c214
Nicolas Pitre <nico@cam.org>
* arm/lib1funcs.asm (ARM_DIV_MOD_BODY) split into ARM_DIV_BODY
and ARM_MOD_BODY.
(ARM_MOD_BODY): rewritten. added clz insns for __ARM_ARCH__ >= 5.
(ARM_DIV_BODY): added clz insns for __ARM_ARCH__ >= 5,
added better divisor alignment in the other case.
(ARM_DIV2_ORDER): added, finds the order of a single bit divisor.
(__divsi3, __udivsi3, __modsi3, __umodsi3): rewritten using the
macros above, add fast exits for divisor >= dividend, etc.

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