Skip to content

Commit ff9c59f

Browse files
authored
Unrolled build for rust-lang#134042
Rollup merge of rust-lang#134042 - sayantn:power8-crypto, r=jieyouxu Add the `power8-crypto` target feature Add the `power8-crypto` target feature. This will enable adding some new PPC intrinsics in stdarch (specifically AES, SHA and CLMUL intrinsics). The implied target feature is from [here](https://github.com/llvm/llvm-project/blob/main/llvm/lib/Target/PowerPC/PPC.td) ```@rustbot``` label A-target-feature O-PowerPC
2 parents 33c245b + 1220f39 commit ff9c59f

File tree

3 files changed

+5
-0
lines changed

3 files changed

+5
-0
lines changed

Diff for: compiler/rustc_codegen_llvm/src/llvm_util.rs

+3
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,8 @@ pub(crate) fn to_llvm_features<'a>(sess: &Session, s: &'a str) -> Option<LLVMFea
230230
"aarch64"
231231
} else if sess.target.arch == "sparc64" {
232232
"sparc"
233+
} else if sess.target.arch == "powerpc64" {
234+
"powerpc"
233235
} else {
234236
&*sess.target.arch
235237
};
@@ -289,6 +291,7 @@ pub(crate) fn to_llvm_features<'a>(sess: &Session, s: &'a str) -> Option<LLVMFea
289291
// https://github.com/llvm/llvm-project/blob/llvmorg-18.1.0/llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp#L26
290292
("sparc", "v8plus") if get_version().0 == 19 => Some(LLVMFeature::new("v9")),
291293
("sparc", "v8plus") if get_version().0 < 19 => None,
294+
("powerpc", "power8-crypto") => Some(LLVMFeature::new("crypto")),
292295
(_, s) => Some(LLVMFeature::new(s)),
293296
}
294297
}

Diff for: compiler/rustc_target/src/target_features.rs

+1
Original file line numberDiff line numberDiff line change
@@ -412,6 +412,7 @@ const POWERPC_FEATURES: &[(&str, Stability, ImpliedFeatures)] = &[
412412
("partword-atomics", Unstable(sym::powerpc_target_feature), &[]),
413413
("power10-vector", Unstable(sym::powerpc_target_feature), &["power9-vector"]),
414414
("power8-altivec", Unstable(sym::powerpc_target_feature), &["altivec"]),
415+
("power8-crypto", Unstable(sym::powerpc_target_feature), &["power8-altivec"]),
415416
("power8-vector", Unstable(sym::powerpc_target_feature), &["vsx", "power8-altivec"]),
416417
("power9-altivec", Unstable(sym::powerpc_target_feature), &["power8-altivec"]),
417418
("power9-vector", Unstable(sym::powerpc_target_feature), &["power8-vector", "power9-altivec"]),

Diff for: tests/ui/check-cfg/target_feature.stderr

+1
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,7 @@ LL | cfg!(target_feature = "_UNEXPECTED_VALUE");
153153
`popcnt`
154154
`power10-vector`
155155
`power8-altivec`
156+
`power8-crypto`
156157
`power8-vector`
157158
`power9-altivec`
158159
`power9-vector`

0 commit comments

Comments
 (0)