compiler-rt: fix few builtins build warnings. (#88991)
This commit is contained in:
parent
83bc7b5771
commit
8482dbdcd2
@ -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;
|
||||
|
||||
@ -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)));
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user