Skip to content

stdarch subtree update#158497

Merged
rust-bors[bot] merged 47 commits into
rust-lang:mainfrom
folkertdev:stdarch-sync-2026-06-27
Jun 28, 2026
Merged

stdarch subtree update#158497
rust-bors[bot] merged 47 commits into
rust-lang:mainfrom
folkertdev:stdarch-sync-2026-06-27

Conversation

@folkertdev

Copy link
Copy Markdown
Contributor

Subtree update of stdarch to rust-lang/stdarch@62d5595.

Created using https://github.com/rust-lang/josh-sync.

r? @ghost

heiher and others added 30 commits May 25, 2026 14:48
This updates the rust-version file to 029c9e1.
Correct some wrong uses of LLVM intrinsics
The CRC[C].W.{B,H}.W only consume the low 8/16 bits of the input operand.
The previous unsigned cast was a workaround for Miri's software
implementation.

Miri now masks the inputs to match hardware semantics, and LLVM will
learn the demanded-bits property of CRC intrinsics, so the explicit
zero-extension is no longer required.
loongarch: Remove explicit zero-extension from CRC[C].W.{B,H}.W
These intrinsics need `Arguments_Preparation` added so that the
intrinsic-test tool knows to generate const arguments.
These intrinsics need `Arguments_Preparation` added so that the
intrinsic-test tool knows to generate const arguments.
Clang uses the `llvm.aarch64.sve.rev.bN` intrinsic for `svrev` with
`b16`, `b32` and `b64`. This required small generator changes so it knew
a bool-to-bool conversion was a no-op and a new blanket identity impl of
`SveInto` so the calls generated compile.
Clang uses the `llvm.aarch64.sve.zip.bN` intrinsic for `svzip` with
`b16`, `b32` and `b64` and the `llvm.aarch64.sve.uzp.bN` intrinsic for
`svuzp` with the same types.
Forward addl. arguments to `intrinsic-test.sh` to `cargo test` so that
`--no-fail-fast` or a specific test name can be passed.
…e-sve

update `arm_intrinsics.json` for `svset` and `svget`
intrinsic-test: fwd args in `intrinsic-test.sh`
…on-svrev-svzip-svuzp

core_arch: redefine `svrev`, `svzip` and `svuzp`
This updates the rust-version file to 8e15021.
Various SVE intrinsics are not yet implemented in stdarch, but are
present in the `arm_intrinsics.json` and so should be skipped.
SVE intrinsics aren't available on big endian
The output of these cannot be compared.
`sveorv` intrinsics trigger a miscompile in LLVM where the call to the
Rust intrinsic is optimised out and replaced with a zero, which is
incorrect.
These tests require that we generate test arrays with values that are
valid when cast to a pointer, which we don't currently support.
GCC quickly ICEs when asked to compile intrinsic-test's wrapper sources.
folkertdev and others added 13 commits June 20, 2026 17:51
Add stdarch-gen-common: shared check/bless harness for generators
…kips

intrinsic-test: add filters for sve
…tting-printing-tweaks

intrinsic-test: remove `concatln!` and redundant newlines
This isn't strictly necessary but these type names were longer than they
needed to be.
Refactoring enabling accessing architecture-specific behaviour that isn't
associated with either of the return or argument types.
Refactoring enabling accessing architecture-specific behaviour that isn't
associated with the specific argument type.
…ic-over-arch

intrinsic-test: make types generic over `SupportedArchitecture`
There doesn't need to be so many or other modules with the values.
…ify-consts

intrinsic-test: simplify architecture constants
A small refactoring to make the type printing logic slightly cleaner and
with greater code re-use.
Introduces a per-architecture abstraction over how intrinsic results are
compared, so that later commits can implement Arm-specific comparison
logic for SVE.
…printing-comparison-abstraction

intrinsic-test: simplify type printing + comparison abstraction
@rustbot

rustbot commented Jun 27, 2026

Copy link
Copy Markdown
Collaborator

stdarch is developed in its own repository. If possible, consider making this change to rust-lang/stdarch instead.

cc @Amanieu, @sayantn

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Jun 27, 2026
@rust-log-analyzer

This comment has been minimized.

LLVM updated the name, the old one still works but stdarch is now using the new one
@rustbot

rustbot commented Jun 27, 2026

Copy link
Copy Markdown
Collaborator

miri is developed in its own repository. If possible, consider making this change to rust-lang/miri instead.

cc @rust-lang/miri

rustc_codegen_cranelift is developed in its own repository. If possible, consider making this change to rust-lang/rustc_codegen_cranelift instead.

cc @bjorn3

rustc_codegen_gcc is developed in its own repository. If possible, consider making this change to rust-lang/rustc_codegen_gcc instead.

cc @antoyo, @GuillaumeGomez

@rustbot rustbot added the A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. label Jun 27, 2026
@folkertdev

Copy link
Copy Markdown
Contributor Author

@bors r+ p=1

@rust-bors

rust-bors Bot commented Jun 27, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 3515461 has been approved by folkertdev

It is now in the queue for this repository.

🌲 The tree is currently closed for pull requests below priority 2. This pull request will be tested once the tree is reopened.

@rust-bors rust-bors Bot added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jun 27, 2026
jhpratt added a commit to jhpratt/rust that referenced this pull request Jun 28, 2026
…, r=folkertdev

stdarch subtree update

Subtree update of `stdarch` to rust-lang/stdarch@62d5595.

Created using https://github.com/rust-lang/josh-sync.

r? @ghost
rust-bors Bot pushed a commit that referenced this pull request Jun 28, 2026
Rollup of 15 pull requests

Successful merges:

 - #158497 (stdarch subtree update)
 - #152225 (Add supertrait item shadowing for type-level path resolution)
 - #158194 (Adds RmetaLinkCache a per-link cache that uses path as the key of dec…)
 - #158466 (rustdoc: show impl Trait<Box<Local>> for Foreign, etc on Local's docs)
 - #158501 (miri subtree update)
 - #153097 (Expand `OptionFlatten`'s iterator methods)
 - #157614 (Move tests drop)
 - #157996 (perf: drop the full-crate AST walk in check_unused)
 - #158163 (Fix too-short variance slice in `variances_of` cycle recovery)
 - #158233 (Allow the unstable attribute on foreign type)
 - #158433 (Fix inconsistent safety requirement in VecDeque::nonoverlapping_ranges)
 - #158464 (Reorganize `tests/ui/issues` [15/N])
 - #158470 (Upgrade `jsonsocck` and `jsondoclint` to edition 2024.)
 - #158485 (Reorganize `tests/ui/issues` [16/N])
 - #158488 (Upgrade `rustdoc-json-types` to 2024 edition.)
@rust-bors rust-bors Bot merged commit 6bc6675 into rust-lang:main Jun 28, 2026
13 checks passed
@rustbot rustbot added this to the 1.98.0 milestone Jun 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-libs Relevant to the library team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants