From aabd961cc27f5d05f441375e5ba4242d63fea11f Mon Sep 17 00:00:00 2001 From: Edward O'Callaghan Date: Thu, 3 Sep 2009 09:12:20 +0000 Subject: Fix some files that got left behind in early changeset to unnamed unions fix. Credit to Roman Divacky. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@80913 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/clzti2.c | 4 ++-- lib/cmpti2.c | 8 ++++---- lib/ctzti2.c | 4 ++-- lib/ffsti2.c | 8 ++++---- lib/fixdfti.c | 4 ++-- lib/fixunsdfti.c | 4 ++-- lib/fixunsxfti.c | 4 ++-- lib/fixxfti.c | 4 ++-- lib/floattidf.c | 4 ++-- lib/floattixf.c | 2 +- lib/floatuntidf.c | 4 ++-- lib/floatuntixf.c | 2 +- lib/multi3.c | 4 ++-- lib/parityti2.c | 2 +- lib/ucmpti2.c | 8 ++++---- 15 files changed, 33 insertions(+), 33 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))); } diff --git a/lib/cmpti2.c b/lib/cmpti2.c index b6b696d72..90b3b7563 100644 --- a/lib/cmpti2.c +++ b/lib/cmpti2.c @@ -28,13 +28,13 @@ __cmpti2(ti_int a, ti_int b) x.all = a; twords y; y.all = b; - if (x.high < y.high) + if (x.s.high < y.s.high) return 0; - if (x.high > y.high) + if (x.s.high > y.s.high) return 2; - if (x.low < y.low) + if (x.s.low < y.s.low) return 0; - if (x.low > y.low) + if (x.s.low > y.s.low) return 2; return 1; } diff --git a/lib/ctzti2.c b/lib/ctzti2.c index fdfac0d46..f2d41fee1 100644 --- a/lib/ctzti2.c +++ b/lib/ctzti2.c @@ -25,8 +25,8 @@ __ctzti2(ti_int a) { twords x; x.all = a; - const di_int f = -(x.low == 0); - return __builtin_ctzll((x.high & f) | (x.low & ~f)) + + const di_int f = -(x.s.low == 0); + return __builtin_ctzll((x.s.high & f) | (x.s.low & ~f)) + ((si_int)f & ((si_int)(sizeof(di_int) * CHAR_BIT))); } diff --git a/lib/ffsti2.c b/lib/ffsti2.c index 668b54296..0139eb1f7 100644 --- a/lib/ffsti2.c +++ b/lib/ffsti2.c @@ -25,13 +25,13 @@ __ffsti2(ti_int a) { twords x; x.all = a; - if (x.low == 0) + if (x.s.low == 0) { - if (x.high == 0) + if (x.s.high == 0) return 0; - return __builtin_ctzll(x.high) + (1 + sizeof(di_int) * CHAR_BIT); + return __builtin_ctzll(x.s.high) + (1 + sizeof(di_int) * CHAR_BIT); } - return __builtin_ctzll(x.low) + 1; + return __builtin_ctzll(x.s.low) + 1; } #endif /* __x86_64 */ diff --git a/lib/fixdfti.c b/lib/fixdfti.c index 00b6cfc5b..359b84eae 100644 --- a/lib/fixdfti.c +++ b/lib/fixdfti.c @@ -30,10 +30,10 @@ __fixdfti(double a) { double_bits fb; fb.f = a; - int e = ((fb.u.high & 0x7FF00000) >> 20) - 1023; + int e = ((fb.u.s.high & 0x7FF00000) >> 20) - 1023; if (e < 0) return 0; - ti_int s = (si_int)(fb.u.high & 0x80000000) >> 31; + ti_int s = (si_int)(fb.u.s.high & 0x80000000) >> 31; ti_int r = 0x0010000000000000uLL | (0x000FFFFFFFFFFFFFuLL & fb.u.all); if (e > 52) r <<= (e - 52); diff --git a/lib/fixunsdfti.c b/lib/fixunsdfti.c index f765c0092..c1cd72dec 100644 --- a/lib/fixunsdfti.c +++ b/lib/fixunsdfti.c @@ -33,8 +33,8 @@ __fixunsdfti(double a) { double_bits fb; fb.f = a; - int e = ((fb.u.high & 0x7FF00000) >> 20) - 1023; - if (e < 0 || (fb.u.high & 0x80000000)) + int e = ((fb.u.s.high & 0x7FF00000) >> 20) - 1023; + if (e < 0 || (fb.u.s.high & 0x80000000)) return 0; tu_int r = 0x0010000000000000uLL | (fb.u.all & 0x000FFFFFFFFFFFFFuLL); if (e > 52) diff --git a/lib/fixunsxfti.c b/lib/fixunsxfti.c index 96c7c4863..d0bd512c4 100644 --- a/lib/fixunsxfti.c +++ b/lib/fixunsxfti.c @@ -35,8 +35,8 @@ __fixunsxfti(long double a) { long_double_bits fb; fb.f = a; - int e = (fb.u.high.low & 0x00007FFF) - 16383; - if (e < 0 || (fb.u.high.low & 0x00008000)) + int e = (fb.u.high.s.low & 0x00007FFF) - 16383; + if (e < 0 || (fb.u.high.s.low & 0x00008000)) return 0; tu_int r = fb.u.low.all; if (e > 63) diff --git a/lib/fixxfti.c b/lib/fixxfti.c index 70d0e17b9..c2248016c 100644 --- a/lib/fixxfti.c +++ b/lib/fixxfti.c @@ -32,10 +32,10 @@ __fixxfti(long double a) { long_double_bits fb; fb.f = a; - int e = (fb.u.high.low & 0x00007FFF) - 16383; + int e = (fb.u.high.s.low & 0x00007FFF) - 16383; if (e < 0) return 0; - ti_int s = -(si_int)((fb.u.high.low & 0x00008000) >> 15); + ti_int s = -(si_int)((fb.u.high.s.low & 0x00008000) >> 15); ti_int r = fb.u.low.all; if (e > 63) r <<= (e - 63); diff --git a/lib/floattidf.c b/lib/floattidf.c index b74fa5ec8..274f58517 100644 --- a/lib/floattidf.c +++ b/lib/floattidf.c @@ -76,10 +76,10 @@ __floattidf(ti_int a) /* a is now rounded to DBL_MANT_DIG bits */ } double_bits fb; - fb.u.high = ((su_int)s & 0x80000000) | /* sign */ + fb.u.s.high = ((su_int)s & 0x80000000) | /* sign */ ((e + 1023) << 20) | /* exponent */ ((su_int)(a >> 32) & 0x000FFFFF); /* mantissa-high */ - fb.u.low = (su_int)a; /* mantissa-low */ + fb.u.s.low = (su_int)a; /* mantissa-low */ return fb.f; } diff --git a/lib/floattixf.c b/lib/floattixf.c index d55029679..77d906049 100644 --- a/lib/floattixf.c +++ b/lib/floattixf.c @@ -78,7 +78,7 @@ __floattixf(ti_int a) /* a is now rounded to LDBL_MANT_DIG bits */ } long_double_bits fb; - fb.u.high.low = ((su_int)s & 0x8000) | /* sign */ + fb.u.high.s.low = ((su_int)s & 0x8000) | /* sign */ (e + 16383); /* exponent */ fb.u.low.all = (du_int)a; /* mantissa */ return fb.f; diff --git a/lib/floatuntidf.c b/lib/floatuntidf.c index 2e8369e9e..51d8b2827 100644 --- a/lib/floatuntidf.c +++ b/lib/floatuntidf.c @@ -74,9 +74,9 @@ __floatuntidf(tu_int a) /* a is now rounded to DBL_MANT_DIG bits */ } double_bits fb; - fb.u.high = ((e + 1023) << 20) | /* exponent */ + fb.u.s.high = ((e + 1023) << 20) | /* exponent */ ((su_int)(a >> 32) & 0x000FFFFF); /* mantissa-high */ - fb.u.low = (su_int)a; /* mantissa-low */ + fb.u.s.low = (su_int)a; /* mantissa-low */ return fb.f; } diff --git a/lib/floatuntixf.c b/lib/floatuntixf.c index 5a48cafec..e82d0c1e6 100644 --- a/lib/floatuntixf.c +++ b/lib/floatuntixf.c @@ -76,7 +76,7 @@ __floatuntixf(tu_int a) /* a is now rounded to LDBL_MANT_DIG bits */ } long_double_bits fb; - fb.u.high.low = (e + 16383); /* exponent */ + fb.u.high.s.low = (e + 16383); /* exponent */ fb.u.low.all = (du_int)a; /* mantissa */ return fb.f; } diff --git a/lib/multi3.c b/lib/multi3.c index 9ba730e48..13a386781 100644 --- a/lib/multi3.c +++ b/lib/multi3.c @@ -50,8 +50,8 @@ __multi3(ti_int a, ti_int b) twords y; y.all = b; twords r; - r.all = __mulddi3(x.low, y.low); - r.s.high += x.high * y.low + x.low * y.high; + r.all = __mulddi3(x.s.low, y.s.low); + r.s.high += x.s.high * y.s.low + x.s.low * y.s.high; return r.all; } diff --git a/lib/parityti2.c b/lib/parityti2.c index 8ef536854..650d41793 100644 --- a/lib/parityti2.c +++ b/lib/parityti2.c @@ -25,7 +25,7 @@ __parityti2(ti_int a) { twords x; x.all = a; - return __paritydi2(x.high ^ x.low); + return __paritydi2(x.s.high ^ x.s.low); } #endif diff --git a/lib/ucmpti2.c b/lib/ucmpti2.c index ba32b8403..0e7eea3e3 100644 --- a/lib/ucmpti2.c +++ b/lib/ucmpti2.c @@ -28,13 +28,13 @@ __ucmpti2(tu_int a, tu_int b) x.all = a; utwords y; y.all = b; - if (x.high < y.high) + if (x.s.high < y.s.high) return 0; - if (x.high > y.high) + if (x.s.high > y.s.high) return 2; - if (x.low < y.low) + if (x.s.low < y.s.low) return 0; - if (x.low > y.low) + if (x.s.low > y.s.low) return 2; return 1; } -- cgit v1.2.3