diff options
| author | Ralf Jung <post@ralfj.de> | 2025-09-10 18:15:59 +0200 |
|---|---|---|
| committer | Ralf Jung <post@ralfj.de> | 2025-09-10 22:47:29 +0200 |
| commit | 3b2178336ff01d1db306be9ac48dc6eadc00763a (patch) | |
| tree | e66122ca1b5c5b5ad16393add965b5334906592d /compiler | |
| parent | 7ad23f43a225546c095123de52cc07d8719f8e2b (diff) | |
| download | rust-3b2178336ff01d1db306be9ac48dc6eadc00763a.tar.gz rust-3b2178336ff01d1db306be9ac48dc6eadc00763a.zip | |
s390x: mark soft-float target feature as incompatible
Diffstat (limited to 'compiler')
| -rw-r--r-- | compiler/rustc_target/src/target_features.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/compiler/rustc_target/src/target_features.rs b/compiler/rustc_target/src/target_features.rs index 4c1b8c99426..dc70089c385 100644 --- a/compiler/rustc_target/src/target_features.rs +++ b/compiler/rustc_target/src/target_features.rs @@ -849,6 +849,7 @@ const IBMZ_FEATURES: &[(&str, Stability, ImpliedFeatures)] = &[ ("miscellaneous-extensions-3", Unstable(sym::s390x_target_feature), &[]), ("miscellaneous-extensions-4", Unstable(sym::s390x_target_feature), &[]), ("nnp-assist", Unstable(sym::s390x_target_feature), &["vector"]), + ("soft-float", Forbidden { reason: "currently unsupported ABI-configuration feature" }, &[]), ("transactional-execution", Unstable(sym::s390x_target_feature), &[]), ("vector", Unstable(sym::s390x_target_feature), &[]), ("vector-enhancements-1", Unstable(sym::s390x_target_feature), &["vector"]), @@ -1177,6 +1178,13 @@ impl Target { _ => unreachable!(), } } + "s390x" => { + // We don't currently support a softfloat target on this architecture. + // As usual, we have to reject swapping the `soft-float` target feature. + // The "vector" target feature does not affect the ABI for floats + // because the vector and float registers overlap. + FeatureConstraints { required: &[], incompatible: &["soft-float"] } + } _ => NOTHING, } } |
