From: J"orn Rennecke Date: Wed, 17 Jul 2002 16:09:43 +0000 (+0000) Subject: lib1funcs.asm (udivsi3_i4): Implement SHcompact version in SHmedia code. X-Git-Tag: releases/gcc-3.3.0~3790 X-Git-Url: https://gcc.gnu.org/git/?a=commitdiff_plain;h=ac09192adbb3dc7b08846bd35bff94984caac912;p=gcc.git lib1funcs.asm (udivsi3_i4): Implement SHcompact version in SHmedia code. * lib1funcs.asm (udivsi3_i4): Implement SHcompact version in SHmedia code. From-SVN: r55533 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b8810a1a226c..3efb6a15c848 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,4 +1,7 @@ -Wed Jul 17 17:05:27 2002 J"orn Rennecke +Wed Jul 17 17:08:06 2002 J"orn Rennecke + + * lib1funcs.asm (udivsi3_i4): Implement SHcompact version in + SHmedia code. * sh.md (cmpgtudi_media): Remove spurious @. diff --git a/gcc/config/sh/lib1funcs.asm b/gcc/config/sh/lib1funcs.asm index 9d39bcc01d00..c98208f75172 100644 --- a/gcc/config/sh/lib1funcs.asm +++ b/gcc/config/sh/lib1funcs.asm @@ -1217,13 +1217,27 @@ trivial: L1: .double 2147483648 -#elif defined(__SH4_SINGLE__) || defined(__SH4_SINGLE_ONLY__) || (defined (__SH5__) && ! defined __SH4_NOFPU__) +#elif defined (__SH5__) && ! defined (__SH4_NOFPU__) +#if ! __SH5__ || __SH5__ == 32 +!! args in r4 and r5, result in fpul, clobber r20, r21, dr0, fr33 + .mode SHmedia + .global GLOBAL(udivsi3_i4) +GLOBAL(udivsi3_i4): + addz.l r4,r63,r20 + addz.l r5,r63,r21 + fmov.qd r20,dr0 + fmov.qd r21,dr32 + ptabs r18,tr0 + float.qd dr0,dr0 + float.qd dr32,dr32 + fdiv.d dr0,dr32,dr0 + ftrc.dq dr0,dr32 + fmov.s fr33,fr32 + blink tr0,r63 +#endif /* ! __SH5__ || __SH5__ == 32 */ +#elif defined(__SH4_SINGLE__) || defined(__SH4_SINGLE_ONLY__) !! args in r4 and r5, result in fpul, clobber r0, r1, r4, r5, dr0, dr2, dr4 -#if ! __SH5__ || __SH5__ == 32 -#if __SH5__ - .mode SHcompact -#endif .global GLOBAL(udivsi3_i4) GLOBAL(udivsi3_i4): mov #1,r1 @@ -1273,7 +1287,6 @@ L1: #endif .double 2147483648 -#endif /* ! __SH5__ || __SH5__ == 32 */ #endif /* ! __SH4__ */ #endif