Closed
Description
After updating rustc_apfloat to include #21, and having Miri use apfloat's mul_add again, running the Miri test suite causes a panic in apfloat:
thread 'rustc' panicked at /rust/deps/rustc_apfloat-0.2.2+llvm-462a31f5a5ab/src/ieee.rs:3033:17:
assertion `left == right` failed
left: 1
right: 0
stack backtrace:
0: __rustc::rust_begin_unwind
1: core::panicking::panic_fmt
2: core::panicking::assert_failed_inner
3: core::panicking::assert_failed::<u128, u128>
4: rustc_apfloat::ieee::sig::add_or_sub
5: <rustc_apfloat::ieee::IeeeFloat<rustc_apfloat::ieee::SingleS> as rustc_apfloat::Float>::mul_add_r
at /rust/deps/rustc_apfloat-0.2.2+llvm-462a31f5a5ab/src/ieee.rs:1186:20
6: <rustc_apfloat::ieee::IeeeFloat<rustc_apfloat::ieee::SingleS> as rustc_apfloat::Float>::mul_add
at /rust/deps/rustc_apfloat-0.2.2+llvm-462a31f5a5ab/src/lib.rs:308:14
7: <rustc_const_eval::interpret::eval_context::InterpCx<miri::machine::MiriMachine> as miri::intrinsics::EvalContextExt>::emulate_intrinsic_by_name
at ./src/intrinsics/mod.rs:275:29
8: <rustc_const_eval::interpret::eval_context::InterpCx<miri::machine::MiriMachine> as miri::intrinsics::EvalContextExt>::call_intrinsic
at ./src/intrinsics/mod.rs:54:20
9: <miri::machine::MiriMachine as rustc_const_eval::interpret::machine::Machine>::call_intrinsic
at ./src/machine.rs:1172:13
Seems like something is still wrong with that code?
This happens executing this mul_add:
--> tests/pass/float.rs:998:13
|
LL | let f = f32::mul_add(
| _____________^
LL | | -0.000000000000000000000000000000000000014728589,
LL | | 0.0000037105144,
LL | | 0.000000000000000000000000000000000000000000055,
LL | | );
| |_____^
Cc @beetrees
Metadata
Metadata
Assignees
Labels
No labels