Skip to content
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

Rollup of 14 pull requests #129721

Merged
merged 38 commits into from
Aug 29, 2024
Merged
Changes from 1 commit
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
8bc120a
Add an ability to convert between `Span` and `visit::Location`
artemagvanian Aug 16, 2024
d7b2fd4
Clean up cfg-gating of ProcessPrng extern
goffrie Aug 21, 2024
40481fc
format
goffrie Aug 21, 2024
515f5ac
Introduce methods for obtaining `Location` for statements and termina…
artemagvanian Aug 23, 2024
70ba8c1
format code in tests/ui/threads-sendsync
tshepang Aug 24, 2024
834d615
Update books
rustbot Aug 26, 2024
a673e4f
Update src/tools/rustbook/Cargo.lock
ehuss Aug 26, 2024
4f847bd
rustc_target: Add various aarch64 features
mrkajetanp Jun 14, 2024
c351806
rustc_target: Add SME aarch64 features
mrkajetanp Jun 17, 2024
4fc4019
rustc_target: Remove fpmr target feature
mrkajetanp Jul 29, 2024
3a0fbb5
rustc_codegen_llvm: Filter out unavailable LLVM features
mrkajetanp Aug 9, 2024
0f871b5
tests: Update with new aarch64 target features
mrkajetanp Aug 9, 2024
169b2f0
library: Stabilize new_uninit for Box, Rc, and Arc
workingjubilee Aug 22, 2024
2535a0f
compiler: Remove feature(new_uninit)
workingjubilee Aug 22, 2024
605d9cf
miri: Remove feature(new_uninit)
workingjubilee Aug 22, 2024
c11d46f
Add fmt::Debug to sync::Weak<T, A>
Aug 28, 2024
0589dc7
copysign with sign being a NaN is non-portable
RalfJung Aug 28, 2024
4e6cd0f
Fix path to run clippy on rustdoc
GuillaumeGomez Aug 28, 2024
19296ca
Move 'tcx lifetime off of impl and onto methods
compiler-errors Aug 28, 2024
7c4cc9f
Update reference
ehuss Aug 28, 2024
3914835
derive(SmartPointer): assume pointee from the single generic and bett…
dingxiangfei2009 Aug 23, 2024
b013a3d
Emit specific message for `time<0.3.35` inference failure
estebank Aug 21, 2024
d8129a1
Correct trusty targets to be tier 3
randomPoison Aug 28, 2024
555414e
Update `compiler_builtins` to `0.1.123`
Amjad50 Aug 29, 2024
4c8c9e0
Rollup merge of #128192 - mrkajetanp:feature-detect, r=Amanieu
workingjubilee Aug 29, 2024
2572e0e
Rollup merge of #129170 - artemagvanian:span-to-location, r=celinval
workingjubilee Aug 29, 2024
26f75a6
Rollup merge of #129343 - estebank:time-version, r=jieyouxu
workingjubilee Aug 29, 2024
fcb6b77
Rollup merge of #129378 - goffrie:patch-3, r=ChrisDenton
workingjubilee Aug 29, 2024
9d5f794
Rollup merge of #129401 - workingjubilee:partial-initialization-of-st…
workingjubilee Aug 29, 2024
d2418cb
Rollup merge of #129467 - dingxiangfei2009:smart-pointer-relax-pointe…
workingjubilee Aug 29, 2024
b94887a
Rollup merge of #129494 - tshepang:fmt-threads-sendsync, r=Nadrieril
workingjubilee Aug 29, 2024
44519a3
Rollup merge of #129617 - rustbot:docs-update, r=ehuss
workingjubilee Aug 29, 2024
9ddb45e
Rollup merge of #129673 - matthewpipie:arc-weak-debug-trait, r=dtolnay
workingjubilee Aug 29, 2024
dfe66cf
Rollup merge of #129683 - RalfJung:copysign, r=thomcc
workingjubilee Aug 29, 2024
472d164
Rollup merge of #129689 - compiler-errors:impl-lifetime, r=michaelwoe…
workingjubilee Aug 29, 2024
ac5be35
Rollup merge of #129695 - GuillaumeGomez:fix-clippy-rustdoc-path, r=o…
workingjubilee Aug 29, 2024
2ac56db
Rollup merge of #129712 - randomPoison:trusty-tier-3-fix, r=saethlin
workingjubilee Aug 29, 2024
bd66fad
Rollup merge of #129715 - Amjad50:update-compiler-builtins, r=tgross35
workingjubilee Aug 29, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
rustc_target: Add SME aarch64 features
Add SME aarch64 features already supported by LLVM and Linux.

This commit adds compiler support for the following features:

- FEAT_SME
- FEAT_SME_F16F16
- FEAT_SME_F64F64
- FEAT_SME_F8F16
- FEAT_SME_F8F32
- FEAT_SME_FA64
- FEAT_SME_I16I64
- FEAT_SME_LUTv2
- FEAT_SME2
- FEAT_SME2p1
- FEAT_SSVE_FP8DOT2
- FEAT_SSVE_FP8DOT4
- FEAT_SSVE_FP8FMA
mrkajetanp committed Aug 27, 2024
commit c3518067c74c2f875b3941beb601160175e1a698
26 changes: 26 additions & 0 deletions compiler/rustc_target/src/target_features.rs
Original file line number Diff line number Diff line change
@@ -191,10 +191,36 @@ const AARCH64_ALLOWED_FEATURES: &[(&str, Stability, ImpliedFeatures)] = &[
("sha3", Stable, &["sha2"]),
// FEAT_SM3 & FEAT_SM4
("sm4", Stable, &["neon"]),
// FEAT_SME
("sme", Unstable(sym::aarch64_unstable_target_feature), &["bf16"]),
// FEAT_SME_F16F16
("sme-f16f16", Unstable(sym::aarch64_unstable_target_feature), &["sme2"]),
// FEAT_SME_F64F64
("sme-f64f64", Unstable(sym::aarch64_unstable_target_feature), &["sme"]),
// FEAT_SME_F8F16
("sme-f8f16", Unstable(sym::aarch64_unstable_target_feature), &["sme-f8f32"]),
// FEAT_SME_F8F32
("sme-f8f32", Unstable(sym::aarch64_unstable_target_feature), &["sme2", "fp8"]),
// FEAT_SME_FA64
("sme-fa64", Unstable(sym::aarch64_unstable_target_feature), &["sme", "sve2"]),
// FEAT_SME_I16I64
("sme-i16i64", Unstable(sym::aarch64_unstable_target_feature), &["sme"]),
// FEAT_SME_LUTv2
("sme-lutv2", Unstable(sym::aarch64_unstable_target_feature), &[]),
// FEAT_SME2
("sme2", Unstable(sym::aarch64_unstable_target_feature), &["sme"]),
// FEAT_SME2p1
("sme2p1", Unstable(sym::aarch64_unstable_target_feature), &["sme2"]),
// FEAT_SPE
("spe", Stable, &[]),
// FEAT_SSBS & FEAT_SSBS2
("ssbs", Stable, &[]),
// FEAT_SSVE_FP8FDOT2
("ssve-fp8dot2", Unstable(sym::aarch64_unstable_target_feature), &["ssve-fp8dot4"]),
// FEAT_SSVE_FP8FDOT4
("ssve-fp8dot4", Unstable(sym::aarch64_unstable_target_feature), &["ssve-fp8fma"]),
// FEAT_SSVE_FP8FMA
("ssve-fp8fma", Unstable(sym::aarch64_unstable_target_feature), &["sme2", "fp8"]),
// FEAT_SVE
// It was decided that SVE requires Neon: https://github.com/rust-lang/rust/pull/91608
//
13 changes: 13 additions & 0 deletions library/std/tests/run-time-detect.rs
Original file line number Diff line number Diff line change
@@ -82,7 +82,20 @@ fn aarch64_linux() {
println!("sha2: {}", is_aarch64_feature_detected!("sha2"));
println!("sha3: {}", is_aarch64_feature_detected!("sha3"));
println!("sm4: {}", is_aarch64_feature_detected!("sm4"));
println!("sme-f16f16: {}", is_aarch64_feature_detected!("sme-f16f16"));
println!("sme-f64f64: {}", is_aarch64_feature_detected!("sme-f64f64"));
println!("sme-f8f16: {}", is_aarch64_feature_detected!("sme-f8f16"));
println!("sme-f8f32: {}", is_aarch64_feature_detected!("sme-f8f32"));
println!("sme-fa64: {}", is_aarch64_feature_detected!("sme-fa64"));
println!("sme-i16i64: {}", is_aarch64_feature_detected!("sme-i16i64"));
println!("sme-lutv2: {}", is_aarch64_feature_detected!("sme-lutv2"));
println!("sme2: {}", is_aarch64_feature_detected!("sme2"));
println!("sme2p1: {}", is_aarch64_feature_detected!("sme2p1"));
println!("sme: {}", is_aarch64_feature_detected!("sme"));
println!("ssbs: {}", is_aarch64_feature_detected!("ssbs"));
println!("ssve-fp8dot2: {}", is_aarch64_feature_detected!("ssve-fp8dot2"));
println!("ssve-fp8dot4: {}", is_aarch64_feature_detected!("ssve-fp8dot4"));
println!("ssve-fp8fma: {}", is_aarch64_feature_detected!("ssve-fp8fma"));
println!("sve-b16b16: {}", is_aarch64_feature_detected!("sve-b16b16"));
println!("sve2-aes: {}", is_aarch64_feature_detected!("sve2-aes"));
println!("sve2-bitperm: {}", is_aarch64_feature_detected!("sve2-bitperm"));