Implement fixed-point arithmetic intrinsics for -llvm-api backend

This commit is contained in:
gingerBill
2021-04-01 14:36:06 +01:00
parent 0fc04a939e
commit cef698afd6
3 changed files with 127 additions and 0 deletions
+10
View File
@@ -117,6 +117,11 @@ enum BuiltinProcId {
BuiltinProc_atomic_cxchgweak_acq_failrelaxed,
BuiltinProc_atomic_cxchgweak_acqrel_failrelaxed,
BuiltinProc_fixed_point_mul,
BuiltinProc_fixed_point_div,
BuiltinProc_fixed_point_mul_sat,
BuiltinProc_fixed_point_div_sat,
// Constant type tests
@@ -317,6 +322,11 @@ gb_global BuiltinProc builtin_procs[BuiltinProc_COUNT] = {
{STR_LIT("atomic_cxchgweak_acqrel_failrelaxed"), 3, false, Expr_Expr, BuiltinProcPkg_intrinsics},
{STR_LIT("fixed_point_mul"), 3, false, Expr_Expr, BuiltinProcPkg_intrinsics},
{STR_LIT("fixed_point_div"), 3, false, Expr_Expr, BuiltinProcPkg_intrinsics},
{STR_LIT("fixed_point_mul_sat"), 3, false, Expr_Expr, BuiltinProcPkg_intrinsics},
{STR_LIT("fixed_point_div_sat"), 3, false, Expr_Expr, BuiltinProcPkg_intrinsics},
{STR_LIT(""), 0, false, Expr_Stmt, BuiltinProcPkg_intrinsics},
{STR_LIT("type_base_type"), 1, false, Expr_Expr, BuiltinProcPkg_intrinsics},
{STR_LIT("type_core_type"), 1, false, Expr_Expr, BuiltinProcPkg_intrinsics},