-
Notifications
You must be signed in to change notification settings - Fork 227
Reenable the use of the force-soft-floats feature #810
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
base: master
Are you sure you want to change the base?
Conversation
This fixes an infinite recursion in sqrt for codegen backends that implement intrinsics like simd_fsqrt by calling sqrt on every element of the vector.
Sorry about the regression here. Could this be temporally fixed by setting the The change in |
Just to make sure, this will disable some optimizations, right? |
Yeah you're right, that would affect So what might be best is to comment out The existing mention of |
Ok, do you want me to make a PR for this or will you do it? Thanks! |
You can probably just update this PR, something like: // The arch module may contain assembly.
if !cfg!(feature = "no-asm") {
// FIXME: when part of builtins, `libm` can use assembly but cannot use vector intrinsics
// from `core::arch` in order to avoid recursion problems. Once basic `libm` functions
// are available in `core`, we will be able to remove these problematic calls and add back
// `arch_enabled`.
// Cc: <https://github.com/rust-lang/compiler-builtins/issues/649>
// println!("cargo:rustc-cfg=arch_enabled");
} |
This fixes an infinite recursion in sqrt for codegen backends that implement intrinsics like simd_fsqrt by calling sqrt on every element of the vector.
Fix #649
This requires rust-lang/libm#532 to fix the issue, so I'll need to update the submodule when this PR is merged.