Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
d2a2fd3
forward `TEST_SAMPLE_INTRINSICS_PERCENTAGE`
folkertdev Oct 26, 2025
d618085
intrinsic-test: display more logs in CI
folkertdev Oct 26, 2025
48116cf
Add AMX intrinsics
sayantn Apr 6, 2025
2815023
Patch stdarch_verify to not check intel definition for new AMX intrin…
sayantn Nov 1, 2025
17c3f8a
Add tests for new AMX intrinsics
sayantn Nov 1, 2025
f9dc790
improve `_mm256_permute2f128` tests
folkertdev Nov 2, 2025
ff78b84
Merge pull request #1951 from folkertdev/permute2f128-tests
sayantn Nov 3, 2025
8dc0761
Merge pull request #1948 from folkertdev/forward-percentage
Amanieu Nov 4, 2025
5914877
Merge pull request #1846 from sayantn/new-amx-intrinsics
Amanieu Nov 4, 2025
9126145
Use generic SIMD masked load/stores for avx512 masked load/stores
sayantn Oct 10, 2025
7ea8483
Use generic SIMD intrinsics for AVX `maskload` and `maskstore` intrin…
sayantn Nov 6, 2025
83e4d81
Prepare for merging from rust-lang/rust
invalid-email-address Nov 10, 2025
485ea04
Merge ref '8401398e1f14' from rust-lang/rust
invalid-email-address Nov 10, 2025
c610b1d
Merge pull request #1954 from rust-lang/rustc-pull
sayantn Nov 10, 2025
1b3abfe
rename default branch to main
marcoieni Nov 11, 2025
148a750
add logic tests for ternarylogic
folkertdev Nov 11, 2025
b851387
Merge pull request #1958 from folkertdev/ternary-logic-tests
sayantn Nov 11, 2025
e94ac6b
improve ternary logic tests
folkertdev Nov 11, 2025
849ace0
Merge pull request #1953 from sayantn/masked-load-store
folkertdev Nov 12, 2025
0ab7c9e
Use SIMD intrinsics for vector shifts
sayantn Nov 12, 2025
84c44c4
Merge pull request #1959 from folkertdev/ternary-logic-tests-2
folkertdev Nov 13, 2025
d84c695
Merge pull request #1955 from sayantn/vector-shifts
folkertdev Nov 13, 2025
0882a6e
aarch64: Remove withdrawn FEAT_TME
maurer Nov 14, 2025
8fe87e9
correct some `#[simd_test]` attributes
sayantn Nov 10, 2025
7f3fcb3
Merge pull request #1956 from sayantn/fix-tests
folkertdev Nov 16, 2025
57436fe
Merge pull request #1960 from maurer/remove-tme
folkertdev Nov 17, 2025
ac2d972
correct signedness of pmadd arguments
folkertdev Nov 17, 2025
2788686
Merge pull request #1957 from marcoieni/rename-default-branch-to-main
marcoieni Nov 17, 2025
2922cbd
Merge pull request #1961 from folkertdev/pmadd-correct-signedness
sayantn Nov 17, 2025
ae682a3
enable `avx10_target_feature` in core (used by stdarch)
folkertdev Nov 19, 2025
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
1 change: 1 addition & 0 deletions library/core/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,7 @@
// tidy-alphabetical-start
#![feature(aarch64_unstable_target_feature)]
#![feature(arm_target_feature)]
#![feature(avx10_target_feature)]
#![feature(hexagon_target_feature)]
#![feature(loongarch_target_feature)]
#![feature(mips_target_feature)]
Expand Down
2 changes: 1 addition & 1 deletion library/stdarch/.github/workflows/rustc-pull.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
# https://rust-lang.zulipchat.com/#narrow/channel/208962-t-libs.2Fstdarch/topic/Subtree.20sync.20automation/with/528461782
zulip-stream-id: 208962
zulip-bot-email: "stdarch-ci-bot@rust-lang.zulipchat.com"
pr-base-branch: master
pr-base-branch: main
branch-name: rustc-pull
secrets:
zulip-api-token: ${{ secrets.ZULIP_API_TOKEN }}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,4 @@ RUN apt-get update && apt-get install -y --no-install-recommends \

ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc \
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER="qemu-aarch64 -cpu max -L /usr/aarch64-linux-gnu" \
OBJDUMP=aarch64-linux-gnu-objdump \
STDARCH_TEST_SKIP_FEATURE=tme
OBJDUMP=aarch64-linux-gnu-objdump
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,3 @@ ENV AARCH64_BE_LIBC="${AARCH64_BE_TOOLCHAIN}/aarch64_be-none-linux-gnu/libc"
ENV CARGO_TARGET_AARCH64_BE_UNKNOWN_LINUX_GNU_LINKER="${AARCH64_BE_TOOLCHAIN}/bin/aarch64_be-none-linux-gnu-gcc"
ENV CARGO_TARGET_AARCH64_BE_UNKNOWN_LINUX_GNU_RUNNER="qemu-aarch64_be -cpu max -L ${AARCH64_BE_LIBC}"
ENV OBJDUMP="${AARCH64_BE_TOOLCHAIN}/bin/aarch64_be-none-linux-gnu-objdump"
ENV STDARCH_TEST_SKIP_FEATURE=tme
1 change: 1 addition & 0 deletions library/stdarch/ci/intrinsic-test-docker.sh
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ run() {
--env NORUN \
--env RUSTFLAGS \
--env CARGO_UNSTABLE_BUILD_STD \
--env TEST_SAMPLE_INTRINSICS_PERCENTAGE \
--volume "${HOME}/.cargo":/cargo \
--volume "$(rustc --print sysroot)":/rust:ro \
--volume "$(pwd)":/checkout:ro \
Expand Down
15 changes: 10 additions & 5 deletions library/stdarch/ci/intrinsic-test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -51,28 +51,31 @@ case ${TARGET} in
TEST_SKIP_INTRINSICS=crates/intrinsic-test/missing_aarch64.txt
TEST_CXX_COMPILER="clang++"
TEST_RUNNER="${CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER}"
: "${TEST_SAMPLE_INTRINSICS_PERCENTAGE:=100}"
;;

aarch64_be-unknown-linux-gnu*)
TEST_CPPFLAGS="-fuse-ld=lld"
TEST_SKIP_INTRINSICS=crates/intrinsic-test/missing_aarch64.txt
TEST_CXX_COMPILER="clang++"
TEST_RUNNER="${CARGO_TARGET_AARCH64_BE_UNKNOWN_LINUX_GNU_RUNNER}"
: "${TEST_SAMPLE_INTRINSICS_PERCENTAGE:=100}"
;;

armv7-unknown-linux-gnueabihf*)
TEST_CPPFLAGS="-fuse-ld=lld -I/usr/arm-linux-gnueabihf/include/ -I/usr/arm-linux-gnueabihf/include/c++/9/arm-linux-gnueabihf/"
TEST_SKIP_INTRINSICS=crates/intrinsic-test/missing_arm.txt
TEST_CXX_COMPILER="clang++"
TEST_RUNNER="${CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_RUNNER}"
: "${TEST_SAMPLE_INTRINSICS_PERCENTAGE:=100}"
;;

x86_64-unknown-linux-gnu*)
TEST_CPPFLAGS="-fuse-ld=lld -I/usr/include/x86_64-linux-gnu/"
TEST_CXX_COMPILER="clang++"
TEST_RUNNER="${CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUNNER}"
TEST_SKIP_INTRINSICS=crates/intrinsic-test/missing_x86.txt
TEST_SAMPLE_INTRINSICS_PERCENTAGE=5
: "${TEST_SAMPLE_INTRINSICS_PERCENTAGE:=5}"
;;
*)
;;
Expand All @@ -82,23 +85,25 @@ esac
# Arm specific
case "${TARGET}" in
aarch64-unknown-linux-gnu*|armv7-unknown-linux-gnueabihf*)
CPPFLAGS="${TEST_CPPFLAGS}" RUSTFLAGS="${HOST_RUSTFLAGS}" RUST_LOG=warn \
CPPFLAGS="${TEST_CPPFLAGS}" RUSTFLAGS="${HOST_RUSTFLAGS}" RUST_LOG=info \
cargo run "${INTRINSIC_TEST}" "${PROFILE}" \
--bin intrinsic-test -- intrinsics_data/arm_intrinsics.json \
--runner "${TEST_RUNNER}" \
--cppcompiler "${TEST_CXX_COMPILER}" \
--skip "${TEST_SKIP_INTRINSICS}" \
--target "${TARGET}"
--target "${TARGET}" \
--sample-percentage "${TEST_SAMPLE_INTRINSICS_PERCENTAGE}"
;;

aarch64_be-unknown-linux-gnu*)
CPPFLAGS="${TEST_CPPFLAGS}" RUSTFLAGS="${HOST_RUSTFLAGS}" RUST_LOG=warn \
CPPFLAGS="${TEST_CPPFLAGS}" RUSTFLAGS="${HOST_RUSTFLAGS}" RUST_LOG=info \
cargo run "${INTRINSIC_TEST}" "${PROFILE}" \
--bin intrinsic-test -- intrinsics_data/arm_intrinsics.json \
--runner "${TEST_RUNNER}" \
--cppcompiler "${TEST_CXX_COMPILER}" \
--skip "${TEST_SKIP_INTRINSICS}" \
--target "${TARGET}" \
--sample-percentage "${TEST_SAMPLE_INTRINSICS_PERCENTAGE}" \
--linker "${CARGO_TARGET_AARCH64_BE_UNKNOWN_LINUX_GNU_LINKER}" \
--cxx-toolchain-dir "${AARCH64_BE_TOOLCHAIN}"
;;
Expand All @@ -109,7 +114,7 @@ case "${TARGET}" in
# Hence the use of `env -u`.
env -u CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUNNER \
CPPFLAGS="${TEST_CPPFLAGS}" RUSTFLAGS="${HOST_RUSTFLAGS}" \
RUST_LOG=warn RUST_BACKTRACE=1 \
RUST_LOG=info RUST_BACKTRACE=1 \
cargo run "${INTRINSIC_TEST}" "${PROFILE}" \
--bin intrinsic-test -- intrinsics_data/x86-intel.xml \
--runner "${TEST_RUNNER}" \
Expand Down
6 changes: 3 additions & 3 deletions library/stdarch/crates/core_arch/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

The `core::arch` module implements architecture-dependent intrinsics (e.g. SIMD).

# Usage
# Usage

`core::arch` is available as part of `libcore` and it is re-exported by
`libstd`. Prefer using it via `core::arch` or `std::arch` than via this crate.
Expand All @@ -17,7 +17,7 @@ are:
you need to re-compile it for a non-standard target, please prefer using
`xargo` and re-compiling `libcore`/`libstd` as appropriate instead of using
this crate.

* using some features that might not be available even behind unstable Rust
features. We try to keep these to a minimum. If you need to use some of these
features, please open an issue so that we can expose them in nightly Rust and
Expand All @@ -34,7 +34,7 @@ are:
* [How to get started][contrib]
* [How to help implement intrinsics][help-implement]

[contrib]: https://github.com/rust-lang/stdarch/blob/master/CONTRIBUTING.md
[contrib]: https://github.com/rust-lang/stdarch/blob/HEAD/CONTRIBUTING.md
[help-implement]: https://github.com/rust-lang/stdarch/issues/40
[i686]: https://rust-lang.github.io/stdarch/i686/core_arch/
[x86_64]: https://rust-lang.github.io/stdarch/x86_64/core_arch/
Expand Down
4 changes: 0 additions & 4 deletions library/stdarch/crates/core_arch/src/aarch64/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,6 @@ mod neon;
#[stable(feature = "neon_intrinsics", since = "1.59.0")]
pub use self::neon::*;

mod tme;
#[unstable(feature = "stdarch_aarch64_tme", issue = "117216")]
pub use self::tme::*;

mod prefetch;
#[unstable(feature = "stdarch_aarch64_prefetch", issue = "117217")]
pub use self::prefetch::*;
Expand Down
201 changes: 0 additions & 201 deletions library/stdarch/crates/core_arch/src/aarch64/tme.rs

This file was deleted.

3 changes: 2 additions & 1 deletion library/stdarch/crates/core_arch/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,8 @@
f16,
aarch64_unstable_target_feature,
bigint_helper_methods,
funnel_shifts
funnel_shifts,
avx10_target_feature
)]
#![cfg_attr(test, feature(test, abi_vectorcall, stdarch_internal))]
#![deny(clippy::missing_inline_in_public_items)]
Expand Down
14 changes: 14 additions & 0 deletions library/stdarch/crates/core_arch/src/macros.rs
Original file line number Diff line number Diff line change
Expand Up @@ -163,3 +163,17 @@ macro_rules! simd_extract {
($x:expr, $idx:expr $(,)?) => {{ $crate::intrinsics::simd::simd_extract($x, const { $idx }) }};
($x:expr, $idx:expr, $ty:ty $(,)?) => {{ $crate::intrinsics::simd::simd_extract::<_, $ty>($x, const { $idx }) }};
}

#[allow(unused)]
macro_rules! simd_masked_load {
($align:expr, $mask:expr, $ptr:expr, $default:expr) => {
$crate::intrinsics::simd::simd_masked_load::<_, _, _, { $align }>($mask, $ptr, $default)
};
}

#[allow(unused)]
macro_rules! simd_masked_store {
($align:expr, $mask:expr, $ptr:expr, $default:expr) => {
$crate::intrinsics::simd::simd_masked_store::<_, _, _, { $align }>($mask, $ptr, $default)
};
}
Loading
Loading