mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-27 05:49:08 +00:00
Merge pull request #3870 from roc-lang/dev-backend-div
add int/float division to the dev backend
This commit is contained in:
commit
51d5aa789a
10 changed files with 384 additions and 40 deletions
|
@ -1191,7 +1191,16 @@ impl<'a> LowLevelCall<'a> {
|
|||
x => todo!("{:?} for {:?}", self.lowlevel, x),
|
||||
}
|
||||
}
|
||||
NumDivUnchecked => {
|
||||
NumDivFrac => {
|
||||
self.load_args(backend);
|
||||
match CodeGenNumType::for_symbol(backend, self.arguments[0]) {
|
||||
F32 => backend.code_builder.f32_div(),
|
||||
F64 => backend.code_builder.f64_div(),
|
||||
Decimal => self.load_args_and_call_zig(backend, bitcode::DEC_DIV),
|
||||
x => todo!("{:?} for {:?}", self.lowlevel, x),
|
||||
}
|
||||
}
|
||||
NumDivTruncUnchecked => {
|
||||
self.load_args(backend);
|
||||
let is_signed = symbol_is_signed_int(backend, self.arguments[0]);
|
||||
match CodeGenNumType::for_symbol(backend, self.arguments[0]) {
|
||||
|
@ -1209,9 +1218,6 @@ impl<'a> LowLevelCall<'a> {
|
|||
backend.code_builder.i64_div_u()
|
||||
}
|
||||
}
|
||||
F32 => backend.code_builder.f32_div(),
|
||||
F64 => backend.code_builder.f64_div(),
|
||||
Decimal => self.load_args_and_call_zig(backend, bitcode::DEC_DIV),
|
||||
x => todo!("{:?} for {:?}", self.lowlevel, x),
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue