Add Num.[f32,f64,dec]_[to,from]_bits builtins and deprecate Num.[f32,f64]_[to,from]_parts (#7741)

* Add `Num.[f32,f64,dec]_[to,from]_bits` builtins

* Update mono tests

* Deprecate `Num.[f32,f64]_[to,from]_parts`
This commit is contained in:
Lars Frogner 2025-04-18 10:10:45 +02:00 committed by GitHub
parent 7c5bbeab4c
commit 560171c238
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
106 changed files with 821 additions and 567 deletions

View file

@ -2173,6 +2173,12 @@ impl<'a> LowLevelCall<'a> {
NumF64ToParts => self.load_args_and_call_zig(backend, bitcode::NUM_F64_TO_PARTS),
NumF32FromParts => self.load_args_and_call_zig(backend, bitcode::NUM_F32_FROM_PARTS),
NumF64FromParts => self.load_args_and_call_zig(backend, bitcode::NUM_F64_FROM_PARTS),
NumF32ToBits => self.load_args_and_call_zig(backend, bitcode::NUM_F32_TO_BITS),
NumF64ToBits => self.load_args_and_call_zig(backend, bitcode::NUM_F64_TO_BITS),
NumDecToBits => self.load_args_and_call_zig(backend, bitcode::NUM_I128_TO_BITS),
NumF32FromBits => self.load_args_and_call_zig(backend, bitcode::NUM_F32_FROM_BITS),
NumF64FromBits => self.load_args_and_call_zig(backend, bitcode::NUM_F64_FROM_BITS),
NumDecFromBits => self.load_args_and_call_zig(backend, bitcode::NUM_I128_FROM_BITS),
Not => {
self.load_args(backend);
backend.code_builder.i32_eqz();