mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-26 21:39:07 +00:00
add wasm backend hooks
This commit is contained in:
parent
346eb80bd1
commit
e270f36422
1 changed files with 18 additions and 0 deletions
|
@ -1531,18 +1531,27 @@ impl<'a> LowLevelCall<'a> {
|
||||||
LayoutRepr::Builtin(Builtin::Float(width)) => {
|
LayoutRepr::Builtin(Builtin::Float(width)) => {
|
||||||
self.load_args_and_call_zig(backend, &bitcode::NUM_SIN[width]);
|
self.load_args_and_call_zig(backend, &bitcode::NUM_SIN[width]);
|
||||||
}
|
}
|
||||||
|
LayoutRepr::Builtin(Builtin::Decimal) => {
|
||||||
|
self.load_args_and_call_zig(backend, bitcode::DEC_SIN);
|
||||||
|
}
|
||||||
_ => panic_ret_type(),
|
_ => panic_ret_type(),
|
||||||
},
|
},
|
||||||
NumCos => match self.ret_layout_raw {
|
NumCos => match self.ret_layout_raw {
|
||||||
LayoutRepr::Builtin(Builtin::Float(width)) => {
|
LayoutRepr::Builtin(Builtin::Float(width)) => {
|
||||||
self.load_args_and_call_zig(backend, &bitcode::NUM_COS[width]);
|
self.load_args_and_call_zig(backend, &bitcode::NUM_COS[width]);
|
||||||
}
|
}
|
||||||
|
LayoutRepr::Builtin(Builtin::Decimal) => {
|
||||||
|
self.load_args_and_call_zig(backend, bitcode::DEC_COS);
|
||||||
|
}
|
||||||
_ => panic_ret_type(),
|
_ => panic_ret_type(),
|
||||||
},
|
},
|
||||||
NumTan => match self.ret_layout_raw {
|
NumTan => match self.ret_layout_raw {
|
||||||
LayoutRepr::Builtin(Builtin::Float(width)) => {
|
LayoutRepr::Builtin(Builtin::Float(width)) => {
|
||||||
self.load_args_and_call_zig(backend, &bitcode::NUM_TAN[width]);
|
self.load_args_and_call_zig(backend, &bitcode::NUM_TAN[width]);
|
||||||
}
|
}
|
||||||
|
LayoutRepr::Builtin(Builtin::Decimal) => {
|
||||||
|
self.load_args_and_call_zig(backend, bitcode::DEC_TAN);
|
||||||
|
}
|
||||||
_ => panic_ret_type(),
|
_ => panic_ret_type(),
|
||||||
},
|
},
|
||||||
NumSqrtUnchecked => {
|
NumSqrtUnchecked => {
|
||||||
|
@ -1726,18 +1735,27 @@ impl<'a> LowLevelCall<'a> {
|
||||||
LayoutRepr::Builtin(Builtin::Float(width)) => {
|
LayoutRepr::Builtin(Builtin::Float(width)) => {
|
||||||
self.load_args_and_call_zig(backend, &bitcode::NUM_ATAN[width]);
|
self.load_args_and_call_zig(backend, &bitcode::NUM_ATAN[width]);
|
||||||
}
|
}
|
||||||
|
LayoutRepr::Builtin(Builtin::Decimal) => {
|
||||||
|
self.load_args_and_call_zig(backend, bitcode::DEC_ATAN);
|
||||||
|
}
|
||||||
_ => panic_ret_type(),
|
_ => panic_ret_type(),
|
||||||
},
|
},
|
||||||
NumAcos => match self.ret_layout_raw {
|
NumAcos => match self.ret_layout_raw {
|
||||||
LayoutRepr::Builtin(Builtin::Float(width)) => {
|
LayoutRepr::Builtin(Builtin::Float(width)) => {
|
||||||
self.load_args_and_call_zig(backend, &bitcode::NUM_ACOS[width]);
|
self.load_args_and_call_zig(backend, &bitcode::NUM_ACOS[width]);
|
||||||
}
|
}
|
||||||
|
LayoutRepr::Builtin(Builtin::Decimal) => {
|
||||||
|
self.load_args_and_call_zig(backend, bitcode::DEC_ACOS);
|
||||||
|
}
|
||||||
_ => panic_ret_type(),
|
_ => panic_ret_type(),
|
||||||
},
|
},
|
||||||
NumAsin => match self.ret_layout_raw {
|
NumAsin => match self.ret_layout_raw {
|
||||||
LayoutRepr::Builtin(Builtin::Float(width)) => {
|
LayoutRepr::Builtin(Builtin::Float(width)) => {
|
||||||
self.load_args_and_call_zig(backend, &bitcode::NUM_ASIN[width]);
|
self.load_args_and_call_zig(backend, &bitcode::NUM_ASIN[width]);
|
||||||
}
|
}
|
||||||
|
LayoutRepr::Builtin(Builtin::Decimal) => {
|
||||||
|
self.load_args_and_call_zig(backend, bitcode::DEC_ASIN);
|
||||||
|
}
|
||||||
_ => panic_ret_type(),
|
_ => panic_ret_type(),
|
||||||
},
|
},
|
||||||
NumBytesToU16 => self.load_args_and_call_zig(backend, bitcode::NUM_BYTES_TO_U16),
|
NumBytesToU16 => self.load_args_and_call_zig(backend, bitcode::NUM_BYTES_TO_U16),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue