Skip to content

Update stdarch submodule #117372

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

Merged
merged 6 commits into from
Feb 5, 2024
Merged
Changes from all commits
Commits
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
12 changes: 6 additions & 6 deletions Cargo.lock
Original file line number Diff line number Diff line change
@@ -37,9 +37,9 @@ dependencies = [

[[package]]
name = "ahash"
version = "0.8.6"
version = "0.8.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a"
checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01"
dependencies = [
"cfg-if",
"once_cell",
@@ -6406,18 +6406,18 @@ dependencies = [

[[package]]
name = "zerocopy"
version = "0.7.28"
version = "0.7.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7d6f15f7ade05d2a4935e34a457b936c23dc70a05cc1d97133dc99e7a3fe0f0e"
checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be"
dependencies = [
"zerocopy-derive",
]

[[package]]
name = "zerocopy-derive"
version = "0.7.28"
version = "0.7.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dbbad221e3f78500350ecbd7dfa4e63ef945c05f4c61cb7f4d3f84cd0bba649b"
checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
dependencies = [
"proc-macro2",
"quote",
60 changes: 58 additions & 2 deletions compiler/rustc_codegen_cranelift/Cargo.lock
Original file line number Diff line number Diff line change
@@ -4,13 +4,14 @@ version = 3

[[package]]
name = "ahash"
version = "0.8.3"
version = "0.8.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f"
checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01"
dependencies = [
"cfg-if",
"once_cell",
"version_check",
"zerocopy",
]

[[package]]
@@ -293,6 +294,24 @@ version = "1.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"

[[package]]
name = "proc-macro2"
version = "1.0.75"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "907a61bd0f64c2f29cd1cf1dc34d05176426a3f504a78010f08416ddb7b13708"
dependencies = [
"unicode-ident",
]

[[package]]
name = "quote"
version = "1.0.35"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
dependencies = [
"proc-macro2",
]

[[package]]
name = "regalloc2"
version = "0.9.3"
@@ -360,12 +379,29 @@ version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"

[[package]]
name = "syn"
version = "2.0.47"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1726efe18f42ae774cc644f330953a5e7b3c3003d3edcecf18850fe9d4dd9afb"
dependencies = [
"proc-macro2",
"quote",
"unicode-ident",
]

[[package]]
name = "target-lexicon"
version = "0.12.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a"

[[package]]
name = "unicode-ident"
version = "1.0.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"

[[package]]
name = "version_check"
version = "0.9.4"
@@ -536,3 +572,23 @@ name = "windows_x86_64_msvc"
version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"

[[package]]
name = "zerocopy"
version = "0.7.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be"
dependencies = [
"zerocopy-derive",
]

[[package]]
name = "zerocopy-derive"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This shouldn't be listed in Cargo.lock: The derive feature of zerocopy shouldn't be enabled, and CI confirms that zerocopy-derive is indeed not built.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is a symptom of rust-lang/cargo#10801. The crate appears in Cargo.lock but is not actually built in practice.

version = "0.7.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
4 changes: 0 additions & 4 deletions library/core/src/lib.rs
Original file line number Diff line number Diff line change
@@ -429,10 +429,6 @@ pub mod primitive;
deprecated_in_future
)]
#[allow(rustdoc::bare_urls)]
// FIXME: This annotation should be moved into rust-lang/stdarch after clashing_extern_declarations is
// merged. It currently cannot because bootstrap fails as the lint hasn't been defined yet.
#[allow(clashing_extern_declarations)]
#[unstable(feature = "stdsimd", issue = "48556")]
mod core_arch;

#[stable(feature = "simd_arch", since = "1.27.0")]
9 changes: 6 additions & 3 deletions library/portable-simd/crates/core_simd/src/vendor/arm.rs
Original file line number Diff line number Diff line change
@@ -7,9 +7,12 @@ use core::arch::arm::*;
#[cfg(target_arch = "aarch64")]
use core::arch::aarch64::*;

#[cfg(any(
target_arch = "aarch64",
all(target_arch = "arm", target_feature = "v7"),
#[cfg(all(
any(
target_arch = "aarch64",
all(target_arch = "arm", target_feature = "v7"),
),
target_endian = "little"
))]
mod neon {
use super::*;
20 changes: 14 additions & 6 deletions library/std/src/lib.rs
Original file line number Diff line number Diff line change
@@ -262,6 +262,7 @@
)]
#![cfg_attr(any(windows, target_os = "uefi"), feature(round_char_boundary))]
#![cfg_attr(target_os = "xous", feature(slice_ptr_len))]
#![cfg_attr(target_family = "wasm", feature(stdarch_wasm_atomic_wait))]
//
// Language features:
// tidy-alphabetical-start
@@ -365,6 +366,11 @@
#![feature(panic_unwind)]
// tidy-alphabetical-end
//
// Library features (std_detect):
// tidy-alphabetical-start
#![feature(stdarch_internal)]
// tidy-alphabetical-end
//
// Only for re-exporting:
// tidy-alphabetical-start
#![feature(assert_matches)]
@@ -380,7 +386,6 @@
#![feature(get_many_mut)]
#![feature(lazy_cell)]
#![feature(log_syntax)]
#![feature(stdsimd)]
#![feature(test)]
#![feature(trace_macros)]
// tidy-alphabetical-end
@@ -619,13 +624,16 @@ pub mod arch {

#[stable(feature = "simd_aarch64", since = "1.60.0")]
pub use std_detect::is_aarch64_feature_detected;
#[unstable(feature = "stdarch_arm_feature_detection", issue = "111190")]
pub use std_detect::is_arm_feature_detected;
#[unstable(feature = "is_riscv_feature_detected", issue = "111192")]
pub use std_detect::is_riscv_feature_detected;
#[stable(feature = "simd_x86", since = "1.27.0")]
pub use std_detect::is_x86_feature_detected;
#[unstable(feature = "stdsimd", issue = "48556")]
pub use std_detect::{
is_arm_feature_detected, is_mips64_feature_detected, is_mips_feature_detected,
is_powerpc64_feature_detected, is_powerpc_feature_detected, is_riscv_feature_detected,
};
#[unstable(feature = "stdarch_mips_feature_detection", issue = "111188")]
pub use std_detect::{is_mips64_feature_detected, is_mips_feature_detected};
#[unstable(feature = "stdarch_powerpc_feature_detection", issue = "111191")]
pub use std_detect::{is_powerpc64_feature_detected, is_powerpc_feature_detected};
}

// This was stabilized in the crate root so we have to keep it there.
16 changes: 10 additions & 6 deletions library/std/tests/run-time-detect.rs
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
//! These tests just check that the macros are available in std.

#![cfg_attr(
any(
all(target_arch = "arm", any(target_os = "linux", target_os = "android")),
all(target_arch = "powerpc", target_os = "linux"),
all(target_arch = "powerpc64", target_os = "linux"),
),
feature(stdsimd)
all(target_arch = "arm", any(target_os = "linux", target_os = "android")),
feature(stdarch_arm_feature_detection)
)]
#![cfg_attr(
all(target_arch = "powerpc", target_os = "linux"),
feature(stdarch_powerpc_feature_detection)
)]
#![cfg_attr(
all(target_arch = "powerpc64", target_os = "linux"),
feature(stdarch_powerpc_feature_detection)
)]

#[test]
2 changes: 1 addition & 1 deletion library/stdarch
Submodule stdarch updated 119 files
2 changes: 1 addition & 1 deletion src/tools/miri/tests/pass/intrinsics-x86-aes-vaes.rs
Original file line number Diff line number Diff line change
@@ -9,7 +9,7 @@
//@ignore-target-wasm32
//@compile-flags: -C target-feature=+aes,+vaes,+avx512f

#![feature(avx512_target_feature, stdsimd)]
#![feature(avx512_target_feature, stdarch_x86_avx512)]

use core::mem::transmute;
#[cfg(target_arch = "x86")]
2 changes: 1 addition & 1 deletion src/tools/miri/tests/pass/intrinsics-x86-avx512.rs
Original file line number Diff line number Diff line change
@@ -10,7 +10,7 @@
//@compile-flags: -C target-feature=+avx512f,+avx512vl,+avx512bitalg,+avx512vpopcntdq

#![feature(avx512_target_feature)]
#![feature(stdsimd)]
#![feature(stdarch_x86_avx512)]

#[cfg(target_arch = "x86")]
use std::arch::x86::*;
6 changes: 6 additions & 0 deletions src/tools/tidy/src/deps.rs
Original file line number Diff line number Diff line change
@@ -458,13 +458,17 @@ const PERMITTED_CRANELIFT_DEPENDENCIES: &[&str] = &[
"mach",
"memchr",
"object",
"proc-macro2",
"quote",
"regalloc2",
"region",
"rustc-hash",
"slice-group-by",
"smallvec",
"stable_deref_trait",
"syn",
"target-lexicon",
"unicode-ident",
"version_check",
"wasmtime-jit-icache-coherence",
"winapi",
@@ -479,6 +483,8 @@ const PERMITTED_CRANELIFT_DEPENDENCIES: &[&str] = &[
"windows_x86_64_gnu",
"windows_x86_64_gnullvm",
"windows_x86_64_msvc",
"zerocopy",
"zerocopy-derive",
// tidy-alphabetical-end
];

2 changes: 1 addition & 1 deletion tests/ui/asm/aarch64/type-check-3.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// only-aarch64
// compile-flags: -C target-feature=+neon

#![feature(repr_simd, stdsimd, asm_const)]
#![feature(repr_simd, asm_const)]

use std::arch::aarch64::float64x2_t;
use std::arch::{asm, global_asm};
2 changes: 1 addition & 1 deletion tests/ui/asm/aarch64/type-check-4.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// only-aarch64
// compile-flags: -C target-feature=+neon

#![feature(repr_simd, stdsimd, asm_const)]
#![feature(repr_simd, asm_const)]

use std::arch::aarch64::float64x2_t;
use std::arch::{asm, global_asm};