Add intrinsics.simd_approx_recip and intrinsics.simd_approx_recip_sqrt

This commit is contained in:
gingerBill
2026-04-07 14:35:04 +01:00
parent 885db93e20
commit 5de18d30f3
5 changed files with 266 additions and 1 deletions

View File

@@ -1584,12 +1584,14 @@ gb_internal bool check_builtin_simd_operation(CheckerContext *c, Operand *operan
case BuiltinProc_simd_floor:
case BuiltinProc_simd_trunc:
case BuiltinProc_simd_nearest:
case BuiltinProc_simd_approx_recip:
case BuiltinProc_simd_approx_recip_sqrt:
{
Operand x = {};
check_expr(c, &x, ce->args[0]); if (x.mode == Addressing_Invalid) return false;
if (!is_type_simd_vector(x.type)) {
error(x.expr, "'%.*s' expected a simd vector boolean type", LIT(builtin_name));
error(x.expr, "'%.*s' expected a simd vector type", LIT(builtin_name));
return false;
}
Type *elem = base_array_type(x.type);