aboutsummaryrefslogtreecommitdiff
path: root/src/check_expr.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2024-02-05 13:49:10 +0000
committergingerBill <bill@gingerbill.org>2024-02-05 13:49:10 +0000
commit27feb5998c5a86ffa5ce661313f8beae585804d8 (patch)
tree0804d600969f32586a32bb87cac07dac3364cdd6 /src/check_expr.cpp
parente88db2818b1310173b6d4a49b847a983f5cbdcaa (diff)
Add require to 128-bit and f16 casts
Diffstat (limited to 'src/check_expr.cpp')
-rw-r--r--src/check_expr.cpp19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/check_expr.cpp b/src/check_expr.cpp
index 7049e5974..9b71208cd 100644
--- a/src/check_expr.cpp
+++ b/src/check_expr.cpp
@@ -3118,19 +3118,20 @@ gb_internal void check_cast(CheckerContext *c, Operand *x, Type *type) {
Type *src = core_type(x->type);
Type *dst = core_type(type);
if (src != dst) {
+ bool const REQUIRE = true;
if (is_type_integer_128bit(src) && is_type_float(dst)) {
- add_package_dependency(c, "runtime", "floattidf_unsigned");
- add_package_dependency(c, "runtime", "floattidf");
+ add_package_dependency(c, "runtime", "floattidf_unsigned", REQUIRE);
+ add_package_dependency(c, "runtime", "floattidf", REQUIRE);
} else if (is_type_integer_128bit(dst) && is_type_float(src)) {
- add_package_dependency(c, "runtime", "fixunsdfti");
- add_package_dependency(c, "runtime", "fixunsdfdi");
+ add_package_dependency(c, "runtime", "fixunsdfti", REQUIRE);
+ add_package_dependency(c, "runtime", "fixunsdfdi", REQUIRE);
} else if (src == t_f16 && is_type_float(dst)) {
- add_package_dependency(c, "runtime", "gnu_h2f_ieee");
- add_package_dependency(c, "runtime", "extendhfsf2");
+ add_package_dependency(c, "runtime", "gnu_h2f_ieee", REQUIRE);
+ add_package_dependency(c, "runtime", "extendhfsf2", REQUIRE);
} else if (is_type_float(dst) && dst == t_f16) {
- add_package_dependency(c, "runtime", "truncsfhf2");
- add_package_dependency(c, "runtime", "truncdfhf2");
- add_package_dependency(c, "runtime", "gnu_f2h_ieee");
+ add_package_dependency(c, "runtime", "truncsfhf2", REQUIRE);
+ add_package_dependency(c, "runtime", "truncdfhf2", REQUIRE);
+ add_package_dependency(c, "runtime", "gnu_f2h_ieee", REQUIRE);
}
}
}