Updated casts (#684)

Cast code rework. Remove llvm_set_bool and friends.
This commit is contained in:
Christoffer Lerno
2022-12-27 14:16:47 +01:00
committed by GitHub
parent e2b4a19c81
commit f46697bc54
72 changed files with 1074 additions and 674 deletions

View File

@@ -18,7 +18,7 @@ struct TempAllocator
}
private const usz PAGE_IS_ALIGNED = (usz)isz.max + 1;
private const usz PAGE_IS_ALIGNED = (usz)isz.max + 1u;
struct TempAllocatorPage

View File

@@ -215,17 +215,17 @@ private macro fixuint(a)
const EXPONENT_BITS = 15;
const SIGNIFICANT_BITS = 112;
$endswitch;
const MAX_EXPONENT = 1 << EXPONENT_BITS - 1;
const EXPONENT_BIAS = MAX_EXPONENT >> 1;
const ONE_REP = (ulong)EXPONENT_BIAS << SIGNIFICANT_BITS;
const SIGN_BIT = ($Rep)1 << (EXPONENT_BITS + SIGNIFICANT_BITS);
const ABS_MASK = SIGN_BIT - 1;
const IMPLICIT_BIT = ($Rep)1 << SIGNIFICANT_BITS;
const SIGNIFICANT_MASK = IMPLICIT_BIT - 1;
const EXPONENT_MASK = ABS_MASK ^ SIGNIFICANT_MASK;
const QUIET_BIT = IMPLICIT_BIT >> 1;
const QNAN_REP = EXPONENT_MASK | QUIET_BIT;
const INF_REP = EXPONENT_MASK;
const $Rep MAX_EXPONENT = ($Rep)1 << EXPONENT_BITS - 1u;
const $Rep EXPONENT_BIAS = MAX_EXPONENT >> 1u;
const $Rep ONE_REP =EXPONENT_BIAS << SIGNIFICANT_BITS;
const $Rep SIGN_BIT = ($Rep)1 << (EXPONENT_BITS + SIGNIFICANT_BITS);
const $Rep ABS_MASK = SIGN_BIT - 1u;
const $Rep IMPLICIT_BIT = ($Rep)1 << SIGNIFICANT_BITS;
const $Rep SIGNIFICANT_MASK = IMPLICIT_BIT - 1u;
const $Rep EXPONENT_MASK = ABS_MASK ^ SIGNIFICANT_MASK;
const $Rep QUIET_BIT = IMPLICIT_BIT >> 1;
const $Rep QNAN_REP = EXPONENT_MASK | QUIET_BIT;
const $Rep INF_REP = EXPONENT_MASK;
$Rep rep = bitcast(a, $Rep);
$Rep abs = rep & ABS_MASK;
@@ -259,17 +259,17 @@ private macro fixint(a)
const EXPONENT_BITS = 15;
const SIGNIFICANT_BITS = 112;
$endswitch;
const MAX_EXPONENT = 1 << EXPONENT_BITS - 1;
const EXPONENT_BIAS = MAX_EXPONENT >> 1;
const ONE_REP = (ulong)EXPONENT_BIAS << SIGNIFICANT_BITS;
const SIGN_BIT = ($Rep)1 << (EXPONENT_BITS + SIGNIFICANT_BITS);
const ABS_MASK = SIGN_BIT - 1;
const IMPLICIT_BIT = ($Rep)1 << SIGNIFICANT_BITS;
const SIGNIFICANT_MASK = IMPLICIT_BIT - 1;
const EXPONENT_MASK = ABS_MASK ^ SIGNIFICANT_MASK;
const QUIET_BIT = IMPLICIT_BIT >> 1;
const QNAN_REP = EXPONENT_MASK | QUIET_BIT;
const INF_REP = EXPONENT_MASK;
const $Rep MAX_EXPONENT = ($Rep)1 << EXPONENT_BITS - 1u;
const $Rep EXPONENT_BIAS = MAX_EXPONENT >> 1u;
const $Rep ONE_REP = EXPONENT_BIAS << SIGNIFICANT_BITS;
const $Rep SIGN_BIT = ($Rep)1 << (EXPONENT_BITS + SIGNIFICANT_BITS);
const $Rep ABS_MASK = SIGN_BIT - 1u;
const $Rep IMPLICIT_BIT = ($Rep)1 << SIGNIFICANT_BITS;
const $Rep SIGNIFICANT_MASK = IMPLICIT_BIT - 1u;
const $Rep EXPONENT_MASK = ABS_MASK ^ SIGNIFICANT_MASK;
const $Rep QUIET_BIT = IMPLICIT_BIT >> 1;
const $Rep QNAN_REP = EXPONENT_MASK | QUIET_BIT;
const $Rep INF_REP = EXPONENT_MASK;
$Rep rep = bitcast(a, $Rep);
$Rep abs = rep & ABS_MASK;