/* PR middle-end/59743 */ | |
typedef union { | |
long all; | |
struct { | |
int low; | |
int high; | |
} s; | |
} udwords; | |
int a, b, c, d; | |
void __udivmoddi4() { | |
udwords r; | |
d = __builtin_clz(0); | |
r.s.low = 0; | |
for (; d; --d) { | |
r.s.high = r.s.high << 1 | r.s.low >> a; | |
r.s.low = r.s.low << b >> 1; | |
int s = -r.all; | |
c = s; | |
r.all--; | |
} | |
} | |