diff options
Diffstat (limited to 'lib/ctzdi2.c')
-rw-r--r-- | lib/ctzdi2.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/ctzdi2.c b/lib/ctzdi2.c index 471c93b4..b49f2c71 100644 --- a/lib/ctzdi2.c +++ b/lib/ctzdi2.c @@ -23,7 +23,7 @@ __ctzdi2(di_int a) { dwords x; x.all = a; - const si_int f = -(x.low == 0); - return __builtin_ctz((x.high & f) | (x.low & ~f)) + + const si_int f = -(x.s.low == 0); + return __builtin_ctz((x.s.high & f) | (x.s.low & ~f)) + (f & ((si_int)(sizeof(si_int) * CHAR_BIT))); } |