-
Notifications
You must be signed in to change notification settings - Fork 12.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
apfloat bug: incorrect handling of infinities in FMA #100233
Comments
Copying the relevant parts here (it's a clumsy mistake I made when porting):
|
Turns out it's not that simple. I'm not actually doing the same thing as the C++ code, but instead I'm bypassing their So it's more likely a case of missing some subtler special case because of the odd refactor. (I'm not sure entirely why I did it that way, but FMA is at least special in one way: it needs more precision, and EDIT: EDIT2: it was a bit tricky to enable C++ assertions in my custom build, but it does repro:
My best guess for that one is that it likely got fixed in llvm/llvm-project@e62555c. EDIT3: ignore the EDIT4: the assertion I mentioned earlier might be the same bug as #93224. |
I posted a longer update to #55993 (comment) regarding the progress with the whole |
The Rust port of LLVM's apfloat has a bug in its FMA (fused-multiply-add) implementation. See rust-lang/miri#2468 (comment) for details, but basically it fails this assertion:
AFAIK we don't use apfloat FMA anywhere (Miri stopped using them to work around this bug), but this should still be tracked, and will need to be fixed before we can allow FMA in
const
.The text was updated successfully, but these errors were encountered: