[PARISC] import necessary bits of libgcc.a
[linux-2.6/lfs.git] / arch / parisc / lib / libgcc / __ashrdi3.c
blob8636a5aa4f775f18b1a635d30fcbb98255d54173
1 #include "libgcc.h"
3 u64 __ashrdi3(u64 v, int cnt)
5 int c = cnt & 31;
6 u32 vl = (u32) v;
7 u32 vh = (u32) (v >> 32);
9 if (cnt & 32) {
10 vl = ((s32) vh >> c);
11 vh = (s32) vh >> 31;
12 } else {
13 vl = (vl >> c) + (vh << (32 - c));
14 vh = ((s32) vh >> c);
17 return ((u64) vh << 32) + vl;
19 EXPORT_SYMBOL(__ashrdi3);