summaryrefslogtreecommitdiff
path: root/arch/arm/lib/ashrdi3.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/lib/ashrdi3.c')
-rw-r--r--arch/arm/lib/ashrdi3.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/arch/arm/lib/ashrdi3.c b/arch/arm/lib/ashrdi3.c
index 71625d218f8d..89f6fb7ed8fb 100644
--- a/arch/arm/lib/ashrdi3.c
+++ b/arch/arm/lib/ashrdi3.c
@@ -31,11 +31,11 @@ Boston, MA 02111-1307, USA. */
#include "gcclib.h"
-DItype
-__ashrdi3 (DItype u, word_type b)
+s64
+__ashrdi3 (s64 u, int b)
{
DIunion w;
- word_type bm;
+ int bm;
DIunion uu;
if (b == 0)
@@ -43,18 +43,18 @@ __ashrdi3 (DItype u, word_type b)
uu.ll = u;
- bm = (sizeof (SItype) * BITS_PER_UNIT) - b;
+ bm = (sizeof (s32) * BITS_PER_UNIT) - b;
if (bm <= 0)
{
/* w.s.high = 1..1 or 0..0 */
- w.s.high = uu.s.high >> (sizeof (SItype) * BITS_PER_UNIT - 1);
+ w.s.high = uu.s.high >> (sizeof (s32) * BITS_PER_UNIT - 1);
w.s.low = uu.s.high >> -bm;
}
else
{
- USItype carries = (USItype)uu.s.high << bm;
+ u32 carries = (u32)uu.s.high << bm;
w.s.high = uu.s.high >> b;
- w.s.low = ((USItype)uu.s.low >> b) | carries;
+ w.s.low = ((u32)uu.s.low >> b) | carries;
}
return w.ll;