pub static X86_SOFTFLOAT_SSE: &'static LintExpand description
The x86_softfloat_sse lint detects usage of #[target_feature(enable = "sse")] or target
features that imply SSE on softfloat x86 and x86-64 targets. Enabling this target feature
in a soft-float configuration is not supported by LLVM and can lead to crashes.
§Example
ⓘ
#[target_feature(enable = "avx")]
fn with_avx() {}This will produce:
error: enabling the `sse` target feature on the current target is unsupported due to LLVM backend issues
--> $DIR/abi-incompatible-target-feature-attribute-fcw.rs:11:18
|
| #[target_feature(enable = "avx")]
| ^^^^^^^^^^^^^^^
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
= note: for more information, see issue #117938 <https://github.com/rust-lang/rust/issues/117938>§Explanation
LLVM does not support combining the soft-float target feature (which is implicitly enabled
on these targets) with sse. This can lead to crashes of the backend. To prevent that,
Rust is turning that combination into an error.