diff options
Diffstat (limited to 'lib/clzti2.c')
-rw-r--r-- | lib/clzti2.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/clzti2.c b/lib/clzti2.c index eb05e2e23..805688fbe 100644 --- a/lib/clzti2.c +++ b/lib/clzti2.c @@ -25,8 +25,8 @@ __clzti2(ti_int a) { twords x; x.all = a; - const di_int f = -(x.high == 0); - return __builtin_clzll((x.high & ~f) | (x.low & f)) + + const di_int f = -(x.s.high == 0); + return __builtin_clzll((x.s.high & ~f) | (x.s.low & f)) + ((si_int)f & ((si_int)(sizeof(di_int) * CHAR_BIT))); } |