add some extra casts for ARM clang

This commit is contained in:
dzaima 2022-01-26 16:59:56 +02:00
parent 0d977b73cd
commit c27c244ccc

View File

@ -413,10 +413,10 @@ static bool q_bit(B x) { return isNum(x) & (x.f==0 | x.f==1); }
static bool q_c8 (B x) { return isC32(x) && ((u32)x.u) == ((u8 )x.u); }
static bool q_c16(B x) { return isC32(x) && ((u32)x.u) == ((u16)x.u); }
static bool q_c32(B x) { return isC32(x); }
static bool q_i8 (B x) { return isF64(x) && x.f==(f64)(i8 )x.f; }
static bool q_i16(B x) { return isF64(x) && x.f==(f64)(i16)x.f; }
static bool q_i32(B x) { return isF64(x) && x.f==(f64)(i32)x.f; }
static bool q_i64(B x) { return isF64(x) && x.f==(f64)(i64)x.f; }
static bool q_i8 (B x) { return isF64(x) && x.f==(f64)(i8 )(i32)x.f; } // useless i32 casts because armv8+clang otherwise skips the sign extending step
static bool q_i16(B x) { return isF64(x) && x.f==(f64)(i16)(i32)x.f; }
static bool q_i32(B x) { return isF64(x) && x.f==(f64)(i32) x.f; }
static bool q_i64(B x) { return isF64(x) && x.f==(f64)(i64) x.f; }
static bool q_f64(B x) { return isF64(x); }
static bool q_N (B x) { return x.u==bi_N.u; } // is ·
static bool noFill(B x) { return x.u == bi_noFill.u; }