Skip to content

Rollup of 8 pull requests#157481

Closed
JonathanBrouwer wants to merge 66 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-71vM6Uo
Closed

Rollup of 8 pull requests#157481
JonathanBrouwer wants to merge 66 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-71vM6Uo

Conversation

@JonathanBrouwer
Copy link
Copy Markdown
Contributor

Successful merges:

r? @ghost

Create a similar rollup

folkertdev and others added 30 commits May 16, 2026 16:17
Stabilizes the NEON dot product intrinsics tracked by
rust-lang#117224:

  vdot{q}_{s,u}32
  vdot{q}_lane_{s,u}32
  vdot{q}_laneq_{s,u}32

These have been available unstably since 2023. The `dotprod` target
feature and `is_aarch64_feature_detected!("dotprod")` are already
stable, so this only flips the intrinsics' stability attribute on
aarch64 and arm64ec.

On AArch32 the intrinsics remain unstable under
`stdarch_arm_neon_intrinsics` (rust-lang#111800), consistent with
the rest of the AArch32 NEON surface.
loongarch: Use `intrinsics::simd` for vpack{ev,od}
The arithmetic for computing the length of the array containing test
values is repeated in a handful of locations and doesn't support scalable
vectors - this commit introduces a `test_values_array_length` helper to
deduplicate this logic.
This function is more complex than it needs to be and `populate_random`
is an unintuitive name - it doesn't do anything involving randomness.
Move this function to the `values` module alongside the other functions
related to generation of the test value arrays and rename with a similar
name.
`PASSES` is a constant accessible to all of the `common` module but is
sometimes used directly and sometimes threaded through functions as an
argument - this commit eliminates the inconsistency and just uses the
constant everywhere.
Given that these "values" are sometimes re-interpreted as negative
numbers, in practice they are bit patterns rather than values.
When SVE vectors start being tested, the test vectors will have length
`$max_sve_bits / $ty_bit_length`, which is longer than most existing
vector types, so more values are useful.
This isn't strictly optimal as it means that the 5/6/7 bit cases are less
likely to be tested with values at the edges (e.g. `0x7e` for 7 bits).
This function doesn't really generate an argument at all, it writes a
static that is eventually loaded from to become the argument.
This reverts commit ae9cb1c69c970b796a824bc4a69fc18f82642e82.
The tests were failing as sometimes the FFR was being clobbered
between the `svsetffr` and `svrdffr`.
When `as_ptr` is called on the `LazyLock` data for the first time one
test thread will initialise it, while the others are blocked and wait.
The wait/block is achieved with a syscall which on windows just so
happens to sometimes clobber the FFR, as it is free to do as the FFR is
caller saved.
 
To fix this, we just ensure that the `as_ptr` is not called between the
set and read.
loongarch: Use `intrinsics::simd` for vshuf4i
Adds the `_mm_clflushopt` intrinsic for the CLFLUSHOPT instruction
(weakly-ordered cache-line flush). Until now stdarch exposed only the
SSE2 `_mm_clflush`, so there was no way to emit `clflushopt` from an
intrinsic.

Gated on the new `clflushopt` target feature. See the PR description for
the related compiler PR and tracking issue.

Modeled on the existing `_mm_clflush` / `adx` intrinsics: links
`llvm.x86.clflushopt`, assert_instr + simd_test coverage.
…e-ldst-tests-fix

Re-enables & Fixes AArch64 SVE ld/st tests for MSVC target
loongarch: Fix visibility and legacy const generic index
intrinsic-test: refactor `populate_random` and related code
…t u8, regenerate missing-x86.md, and CLFLUSHOPT moved to cpuid.iter

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…rate, r=jieyouxu

Move cross crate tests into the appropriate folder

Hi, I've returned with a few more reorganized tests.
r? @jieyouxu
This is part of [133895](rust-lang#133895)
…diag-ice, r=JonathanBrouwer

Avoid ICE when emitting TargetMachine config errors

Fixes rust-lang#157401

`ParseTargetMachineConfig::into_diag` constructed an inner `LlvmError` diagnostic to reuse its formatted message, but did not emit or cancel that temporary diagnostic. That a root cause of the ICE.
…nline, r=JonathanBrouwer

Forbid optimize(none) with inline(always) or inline.

Tracking issue: rust-lang#54882
Stabilization PR: rust-lang#157273
Add a smoke test for the optimize attribute.

Tracking issue: rust-lang#54882
Stabilization PR: rust-lang#157273
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Jun 5, 2026
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-tidy Area: The tidy tool S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Jun 5, 2026
@JonathanBrouwer
Copy link
Copy Markdown
Contributor Author

@bors r+ rollup=never p=5

Trying commonly failed jobs
@bors try jobs=dist-various-1,test-various,x86_64-gnu-aux,x86_64-gnu-llvm-21-3,x86_64-msvc-1,aarch64-apple,x86_64-mingw-1,i686-msvc-2

@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented Jun 5, 2026

📌 Commit 252a4f3 has been approved by JonathanBrouwer

It is now in the queue for this repository.

@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 5, 2026
rust-bors Bot pushed a commit that referenced this pull request Jun 5, 2026
Rollup of 8 pull requests


try-job: dist-various-1
try-job: test-various
try-job: x86_64-gnu-aux
try-job: x86_64-gnu-llvm-21-3
try-job: x86_64-msvc-1
try-job: aarch64-apple
try-job: x86_64-mingw-1
try-job: i686-msvc-2
@rust-bors

This comment has been minimized.

@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Jun 5, 2026
…uwer

Rollup of 8 pull requests

Successful merges:

 - #157467 (stdarch subtree update)
 - #156798 (delegation: do not always generate first argument)
 - #157450 (mark `Encode`, `Decode`, `Mark` impls as `#[inline]`)
 - #157190 (Silence recursive RUSTC_LOG_FORMAT_JSON messages)
 - #157447 (Move cross crate tests into the appropriate folder)
 - #157470 (Avoid ICE when emitting TargetMachine config errors)
 - #157474 (Forbid optimize(none) with inline(always) or inline.)
 - #157475 (Add a smoke test for the optimize attribute.)
@rust-log-analyzer
Copy link
Copy Markdown
Collaborator

The job armhf-gnu failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
failures:

---- [ui] tests/ui/cross-crate/stable-symbol-hash-for-trait-object-projections.rs stdout ----

error: test did not exit with success! code=Some(127) so test would pass with `run-fail`
status: exit status: 127
command: RUSTC="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" RUST_TEST_THREADS="4" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-tools-bin/remote-test-client" "run" "1" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/cross-crate/stable-symbol-hash-for-trait-object-projections/a" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/cross-crate/stable-symbol-hash-for-trait-object-projections/auxiliary/libstable_symbol_hash_for_trait_object_projections.so"
--- stdout -------------------------------
uploaded "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/cross-crate/stable-symbol-hash-for-trait-object-projections/a", waiting for result
------------------------------------------
--- stderr -------------------------------
/tmp/work/test1271/a: error while loading shared libraries: libstable_symbol_hash_for_trait_object_projections.so: cannot open shared object file: No such file or directory
------------------------------------------

---- [ui] tests/ui/cross-crate/stable-symbol-hash-for-trait-object-projections.rs stdout end ----

failures:

@rust-bors rust-bors Bot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Jun 5, 2026
@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented Jun 5, 2026

💔 Test for ec1be75 failed: CI. Failed job:

@rust-bors rust-bors Bot added the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Jun 5, 2026
@rustbot rustbot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jun 5, 2026
@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented Jun 5, 2026

PR #157447, which is a member of this rollup, was unapproved.

@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented Jun 5, 2026

☀️ Try build successful (CI)
Build commit: c8e7eb7 (c8e7eb713a01ae04553523a6fc44ace2e737072b, parent: 3179a47d67719a92b4d3c3689aca391c40ff1a04)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-tidy Area: The tidy tool rollup A PR which is a rollup S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. 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.