compiler-rt: fix few builtins build warnings. (#88991)

This commit is contained in:
David CARLIER 2024-04-22 21:25:56 +01:00 committed by GitHub
parent 83bc7b5771
commit 8482dbdcd2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 8 additions and 8 deletions

View File

@ -91,7 +91,7 @@ static __inline fp_t __addXf3__(fp_t a, fp_t b) {
// Shift the significand of b by the difference in exponents, with a sticky
// bottom bit to get rounding correct.
const unsigned int align = aExponent - bExponent;
const unsigned int align = (unsigned int)(aExponent - bExponent);
if (align) {
if (align < typeWidth) {
const bool sticky = (bSignificand << (typeWidth - align)) != 0;

View File

@ -34,7 +34,7 @@ static __inline fixint_t __fixint(fp_t a) {
// If 0 <= exponent < significandBits, right shift to get the result.
// Otherwise, shift left.
if (exponent < significandBits)
return sign * (significand >> (significandBits - exponent));
return (fixint_t)(sign * (significand >> (significandBits - exponent)));
else
return sign * ((fixuint_t)significand << (exponent - significandBits));
return (fixint_t)(sign * ((fixuint_t)significand << (exponent - significandBits)));
}

View File

@ -43,8 +43,8 @@ static __inline int rep_clz(rep_t a) { return clzsi(a); }
// 32x32 --> 64 bit multiply
static __inline void wideMultiply(rep_t a, rep_t b, rep_t *hi, rep_t *lo) {
const uint64_t product = (uint64_t)a * b;
*hi = product >> 32;
*lo = product;
*hi = (rep_t)(product >> 32);
*lo = (rep_t)product;
}
COMPILER_RT_ABI fp_t __addsf3(fp_t a, fp_t b);
@ -239,7 +239,7 @@ static __inline int normalize(rep_t *significand) {
return 1 - shift;
}
static __inline void wideLeftShift(rep_t *hi, rep_t *lo, int count) {
static __inline void wideLeftShift(rep_t *hi, rep_t *lo, unsigned int count) {
*hi = *hi << count | *lo >> (typeWidth - count);
*lo = *lo << count;
}

View File

@ -107,8 +107,8 @@ typedef union {
static __inline ti_int make_ti(di_int h, di_int l) {
twords r;
r.s.high = h;
r.s.low = l;
r.s.high = (du_int)h;
r.s.low = (du_int)l;
return r.all;
}