lib2funcs.c (__clrsbhi2): New function.
* config/m32c/lib2funcs.c (__clrsbhi2): New function. Implements __clrsb for an HImode argument. From-SVN: r190032
This commit is contained in:
parent
cecd512351
commit
d04aacfc87
@ -1,3 +1,8 @@
|
||||
2012-08-01 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* config/m32c/lib2funcs.c (__clrsbhi2): New function.
|
||||
Implements __clrsb for an HImode argument.
|
||||
|
||||
2012-07-31 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* config/stormy16/lib2funcs.c (__clrsbhi2): New function.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* libgcc routines for R8C/M16C/M32C
|
||||
Copyright (C) 2005, 2009
|
||||
Copyright (C) 2005, 2009, 2012
|
||||
Free Software Foundation, Inc.
|
||||
Contributed by Red Hat.
|
||||
|
||||
@ -132,3 +132,17 @@ __umoddi3 (uint32_type a, uint32_type b)
|
||||
{
|
||||
return udivmodsi4 (a, b, 1);
|
||||
}
|
||||
|
||||
/* Returns the number of leading redundant sign bits in X.
|
||||
I.e. the number of bits following the most significant bit which are
|
||||
identical to it. There are no special cases for 0 or other values. */
|
||||
|
||||
int
|
||||
__clrsbhi2 (word_type x)
|
||||
{
|
||||
if (x < 0)
|
||||
x = ~x;
|
||||
if (x == 0)
|
||||
return 15;
|
||||
return __builtin_clz (x) - 1;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user