Skip to content

Rollup of 5 pull requests - #164826

Merged
rust-bors[bot] merged 11 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-jxYrOGV
Oct 24, 2026
Merged

rust-bors[bot] merged 11 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-jxYrOGV

Conversation

@JonathanBrouwer

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

hanna-kruppe and others added 11 commits October 10, 2026 19:48
This emits (very slightly) less code per call site because it's passing
one less argument (the implicit caller location is still passed).
…'i64', 'i128', and 'isize'; Update existing 'unchecked_disjoint_bitor' docs; Add 'must_use' to 'unchecked_disjoint_bitor';
…s, r=ChrisDenton

Outline constant messages from panicking macros

This emits (very slightly) less code per call site because it's passing one less argument (the implicit caller location is still passed).

Inspired by rust-lang#163657
Add extra `unchecked_disjoint_bitor` implementations.

Tracking issue: rust-lang#135758.

This PR implements the `unchecked_disjoint_bitor` method for additional types:

```rust
impl bool {
    pub const unsafe fn unchecked_disjoint_bitor(self, rhs: Self) -> Self;
}

impl i8 {
    pub const unsafe fn unchecked_disjoint_bitor(self, rhs: Self) -> Self;
}

impl i16 {
    pub const unsafe fn unchecked_disjoint_bitor(self, rhs: Self) -> Self;
}

impl i32 {
    pub const unsafe fn unchecked_disjoint_bitor(self, rhs: Self) -> Self;
}

impl i64 {
    pub const unsafe fn unchecked_disjoint_bitor(self, rhs: Self) -> Self;
}

impl i128 {
    pub const unsafe fn unchecked_disjoint_bitor(self, rhs: Self) -> Self;
}

impl isize {
    pub const unsafe fn unchecked_disjoint_bitor(self, rhs: Self) -> Self;
}
```

Our `disjoint_bitor` intrinsic is already implemented for these types. This method specifically is also already present on unsigned, integral types.

Additionally, this PR rewrites the existing docs for `unchecked_disjoint_bitor` and adds the `must_use` attribute to the method.
Use 64-bit futex syscalls on RV32 Linux

Closes rust-lang#164694

This changes riscv32 Linux targets to use the `SYS_futex_time64` syscall instead of `SYS_futex` in the standard library to fix compilation after rust-lang/libc#5455.

`libc::timespec` has a `c_long` for nanoseconds on 32-bit targets right now, whereas the kernel uses `long long`. I'm not sure whether this is a problem or not?

I'm also curious whether using the time64 syscall on _all_ 32-bit targets is a desired change.

r? tgross35
…float, r=beetrees

powerpc: implement c-variadic correctly for softfloat targets

We don't currently have any softfloat powerpc targets, but rust-lang#160575 aims to add them. We do have several SPE targets, which in terms of ABI are softfloat.
add maintainers for tier 2 riscv64 targets (baremetal only)

As per rust-lang#113739, I (on behalf of the RISC-V embedded team) am adding official maintainers for tier2 baremetal riscv64 targets.

r? tgross35
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Oct 23, 2026
@rustbot rustbot added A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. 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 Oct 23, 2026
@JonathanBrouwer

Copy link
Copy Markdown
Member Author

@bors r+ p=5 force

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

@rust-bors

rust-bors Bot commented Oct 23, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 6ba97f9 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 Oct 23, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Oct 23, 2026
Rollup of 5 pull requests


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

rust-bors Bot commented Oct 24, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: 9843737 (9843737f9c5bb208eb66ab9e9feb06ba79f91ee2)
Base parent: 48f4b05 (48f4b05538b8eca412137042d9647a61e692c6b3)

@rust-bors

This comment has been minimized.

@rust-bors rust-bors Bot added merged-by-bors This PR was explicitly merged by bors. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Oct 24, 2026
@rust-bors

rust-bors Bot commented Oct 24, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: JonathanBrouwer
Duration: 3h 24m 13s
Pushing 34228cf to main...

@rust-bors
rust-bors Bot merged commit 34228cf into rust-lang:main Oct 24, 2026
16 checks passed
@rustbot rustbot added this to the 1.101.0 milestone Oct 24, 2026
@github-actions

Copy link
Copy Markdown
Contributor
What is this? This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.

Comparing 9cd159c (parent) -> 34228cf (this PR)

Test differences

Show 4782 test diffs

Stage 1

  • [assembly] tests/assembly-llvm/c-variadic/powerpc.rs#SPE: [missing] -> pass (J1)

Stage 2

  • [assembly] tests/assembly-llvm/c-variadic/powerpc.rs#SPE: [missing] -> pass (J0)

Additionally, 4780 doctest diffs were found. These are ignored, as they are noisy.

Job group index

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard 34228cf7f5bdd08d320dedf008b8995dd3e743e2 --output-dir test-dashboard

And then open test-dashboard/index.html in your browser to see an overview of all executed tests.

Job duration changes

  1. test-x86_64-gnu-parallel-frontend: 1h 12m -> 2h 2m (+69.2%)
  2. test-x86_64-rust-for-linux: 35m 30s -> 59m 55s (+68.8%)
  3. dist-arm-linux-musl: 1h 7m -> 1h 49m (+62.7%)
  4. test-x86_64-gnu-stdlib-semver-check: 11m 22s -> 18m 10s (+59.8%)
  5. dist-x86_64-freebsd: 58m 24s -> 1h 33m (+59.5%)
  6. test-x86_64-msvc-ext3: 1h 13m -> 1h 54m (+56.2%)
  7. dist-loongarch64-linux: 1h 22m -> 2h 5m (+51.7%)
  8. test-armhf-gnu: 1h 8m -> 1h 41m (+46.9%)
  9. test-x86_64-gnu-llvm-22-2: 1h 8m -> 1h 40m (+46.5%)
  10. dist-i686-mingw: 59m 16s -> 34m 30s (-41.8%)
How to interpret the job duration changes?

Job durations can vary a lot, based on the actual runner instance
that executed the job, system noise, invalidated caches, etc. The table above is provided
mostly for t-infra members, for simpler debugging of potential CI slow-downs.

@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (34228cf): comparison URL.

Overall result: ❌✅ regressions and improvements - no action needed

@rustbot label: -perf-regression

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
0.3% [0.3%, 0.3%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.2% [-0.4%, -0.1%] 6
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary 0.1%, secondary -1.0%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
1.0% [0.4%, 1.7%] 6
Regressions ❌
(secondary)
3.2% [3.2%, 3.2%] 1
Improvements ✅
(primary)
-0.8% [-1.3%, -0.6%] 6
Improvements ✅
(secondary)
-2.1% [-6.8%, -0.4%] 4
All ❌✅ (primary) 0.1% [-1.3%, 1.7%] 12

Cycles

Results (primary 0.5%, secondary -0.9%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
1.1% [0.4%, 3.0%] 10
Regressions ❌
(secondary)
2.2% [1.5%, 2.8%] 2
Improvements ✅
(primary)
-0.8% [-1.2%, -0.4%] 4
Improvements ✅
(secondary)
-2.5% [-7.6%, -0.7%] 4
All ❌✅ (primary) 0.5% [-1.2%, 3.0%] 14

Binary size

Results (primary -0.1%, secondary -1.1%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.1% [-0.3%, -0.0%] 27
Improvements ✅
(secondary)
-1.1% [-4.8%, -0.0%] 25
All ❌✅ (primary) -0.1% [-0.3%, -0.0%] 27

Bootstrap: 487.866s -> 487.793s (-0.01%)
Artifact size: 406.30 MiB -> 406.20 MiB (-0.03%)

@rust-bors

rust-bors Bot commented Oct 24, 2026

Copy link
Copy Markdown
Contributor

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#163766 Outline constant messages from panicking macros 72e249924e781ea2b1c32b26803297cc06168dbd
(link)
#147368 Add extra unchecked_disjoint_bitor implementations. 7eb3fbfa47f5927fc29855fa5fccf736c4136b9a
(link)
#164748 Use 64-bit futex syscalls on RV32 Linux 3b4de1d57caf0f669422276781cf876324eda1d3
(link)
#164520 powerpc: implement c-variadic correctly for softfloat targe… a971c39e4706de070e2b325c70fff28ef671e606
(link)
#164671 add maintainers for tier 2 riscv64 targets (baremetal only) f35c83f1e9cbf7e997e3a38a9676c507f4383104
(link)

parent commit: 9cd159cfa5

In the case of a perf regression, run the following command with the SHAs of each PR you suspect might be the cause: @rust-timer triage $SHA $SHA $SHA..., or run @rust-timer triage all to benchmark all rollup members.

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. merged-by-bors This PR was explicitly merged by bors. rollup A PR which is a rollup 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.

8 participants