diff options
author | Richard Henderson <rth@redhat.com> | 2003-02-04 16:52:24 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2003-02-04 16:52:24 -0800 |
commit | dfff898c2701ef3d7934c1efb88b89974770d25d (patch) | |
tree | 3cec67f0cfc96008129e3fab75a5e212b3cbd7f0 /gcc/libgcc2.c | |
parent | 0c9ed8564d0214c1f1ac18a165e9d2869a25f8d5 (diff) | |
download | gcc-dfff898c2701ef3d7934c1efb88b89974770d25d.zip gcc-dfff898c2701ef3d7934c1efb88b89974770d25d.tar.gz gcc-dfff898c2701ef3d7934c1efb88b89974770d25d.tar.bz2 |
libgcc2.h, libgcc2.c (__ffsSI2): New.
* libgcc2.h, libgcc2.c (__ffsSI2): New.
(__ffsDI2): Rename from __ffsdi2.
* mklibgcc.in (lib2funcs): Add _ffssi2.
From-SVN: r62422
Diffstat (limited to 'gcc/libgcc2.c')
-rw-r--r-- | gcc/libgcc2.c | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/gcc/libgcc2.c b/gcc/libgcc2.c index 2801681..3736b2c 100644 --- a/gcc/libgcc2.c +++ b/gcc/libgcc2.c @@ -340,11 +340,27 @@ __ashrdi3 (DWtype u, word_type b) } #endif +#ifdef L_ffssi2 +#undef int +extern int __ffsSI2 (UWtype u); +int +__ffsSI2 (UWtype u) +{ + UWtype count; + + if (u == 0) + return 0; + + count_trailing_zeros (count, u); + return count + 1; +} +#endif + #ifdef L_ffsdi2 #undef int -extern int __ffsdi2 (DWtype u); +extern int __ffsDI2 (DWtype u); int -__ffsdi2 (DWtype u) +__ffsDI2 (DWtype u) { DWunion uu; UWtype word, count, add; |