diff options
| author | Trevor Gross <t.gross35@gmail.com> | 2024-07-22 11:40:19 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-22 11:40:19 -0500 |
| commit | 5e8e46cbd2f60693bd9b1f01a279faf62341a887 (patch) | |
| tree | c263e2f11190fd54b58b361ab2d516565cbd595d /compiler/rustc_codegen_ssa | |
| parent | 81135a015fe157206dbbda278e67a2a033561ff0 (diff) | |
| parent | 01e6e60bf363e5ac056717f7bec8703a7b941c8b (diff) | |
| download | rust-5e8e46cbd2f60693bd9b1f01a279faf62341a887.tar.gz rust-5e8e46cbd2f60693bd9b1f01a279faf62341a887.zip | |
Rollup merge of #127506 - liushuyu:s390x-target-features, r=davidtwco
rustc_target: add known safe s390x target features This pull request adds known safe target features for s390x (aka IBM Z systems). Currently, these features are unstable since stabilizing the target features requires submitting proposals. The `vector` feature was added in IBM Z13 (`arch11`), and this is a SIMD feature for the newer IBM Z systems. The `backchain` attribute is the IBM Z way of adding frame pointers like unwinding capabilities (the "frame-pointer" switch on IBM Z and IBM POWER platforms will add _emulated_ frame pointers to the binary, which profilers can't use for unwinding the stack). Both attributes can be applied at the LLVM module or function levels. However, the `backchain` attribute has to be enabled for all the functions in the call stack to get a successful unwind process.
Diffstat (limited to 'compiler/rustc_codegen_ssa')
| -rw-r--r-- | compiler/rustc_codegen_ssa/src/target_features.rs | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/compiler/rustc_codegen_ssa/src/target_features.rs b/compiler/rustc_codegen_ssa/src/target_features.rs index cea164df617..e7cee5220d6 100644 --- a/compiler/rustc_codegen_ssa/src/target_features.rs +++ b/compiler/rustc_codegen_ssa/src/target_features.rs @@ -82,6 +82,7 @@ pub fn from_target_feature( Some(sym::prfchw_target_feature) => rust_features.prfchw_target_feature, Some(sym::x86_amx_intrinsics) => rust_features.x86_amx_intrinsics, Some(sym::xop_target_feature) => rust_features.xop_target_feature, + Some(sym::s390x_target_feature) => rust_features.s390x_target_feature, Some(name) => bug!("unknown target feature gate {}", name), None => true, }; |
