Skip to content

Rollup of 21 pull requests#159024

Open
JonathanBrouwer wants to merge 78 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-OAX32s2
Open

Rollup of 21 pull requests#159024
JonathanBrouwer wants to merge 78 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-OAX32s2

Conversation

@JonathanBrouwer

Copy link
Copy Markdown
Contributor

Successful merges:

r? @ghost

Create a similar rollup

Amanieu and others added 30 commits June 28, 2026 06:14
Both musl and glibc have supported static PIE for a while, so there's no
reason to ever build a non-PIE executable with a modern toolchain.
A recent change in InstSimplify is able to skip the `and` in this
codegen, which is strictly an improvement. We accept the new version on
newer LLVM and the old verison on older ones using the revisions system.

The change in array-cmp.rs appears to have come from the same revision,
so I gave it the same treatment. It's weirder to me though, because it
merely changes the order of the phi operands which if I understand right
doesn't actually matter.
Update unstable book with ls valid values
in `is_call_from_compiler_builtins_to_upstream_monomorphization`,
suggested by Saethlin
We'll do this using `-Zforce-intrinsic-fallback` in the main repo going forward
A number of float operations from libm have intrinsics for optimization,
but it is also okay to just call the libm functions directly. Add a
fallback for these cases, including converting to/from another float
size where needed, so the backends don't need to override these.

We do not add a fallback body for intrinsics that have a softfloat
implementation (e.g. sqrt, fma), because it would make them harder
to constify later.
This prints generics parameters when these are concrete Adt generics args.
A lint is emitted we try to format a generic that is found anywhere.
Moreover, generics parameters that are ty infer vars are no longer displayed
"as-is", it is not clear and might be confusing, in this specific case the
name of the generic parameter will be displayed instead.
Co-Authored-By: Clar Fon <15850505+clarfonthey@users.noreply.github.com>
@rustbot rustbot added A-CI Area: Our Github Actions CI A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-run-make Area: port run-make Makefiles to rmake.rs A-testsuite Area: The testsuite used to check the correctness of rustc PG-exploit-mitigations Project group: Exploit mitigations S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-clippy Relevant to the Clippy team. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure 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. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustfmt Relevant to the rustfmt team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) labels Jul 9, 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-*

@rust-bors

rust-bors Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

📌 Commit b1d0911 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 Jul 9, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Jul 9, 2026
Rollup of 21 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-*
@rust-bors

This comment has been minimized.

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

Rollup of 21 pull requests

Successful merges:

 - #150946 (intrinsics: Add a fallback for non-const libm float functions)
 - #158510 (Enable `static_position_independent_executables` on all gnu and musl targets)
 - #158541 (Move `std::io::Write` to `core::io`)
 - #158899 (Fix `unaligned_volatile_store` by removing `MemFlags::UNALIGNED`)
 - #155429 (Support `u128`/`i128` c-variadic arguments)
 - #156370 (Reject linked dylib EII default overrides)
 - #156508 (Infer all anonymous lifetimes in assoc consts as `'static`)
 - #158617 (allow mGCA const arguments to fall back to anon consts)
 - #158645 (Fix splat ICEs and ban it in closures)
 - #158859 (Improve `-Zls` diagnostic message on `.rs` files)
 - #158988 (Redo `TokenStreamIter`)
 - #158347 (Improve generic parameters handling for #[diagnostic::on_const])
 - #158722 (delegation: do not always inherit `ConstArgHasType` predicates)
 - #158739 (view-types: HIR lowering)
 - #158883 (tests: fix enum-match.rs to handle LLVM 23)
 - #158886 (Add documentation for the `no_std` attribute)
 - #158940 (Implement feature `char_to_u32`)
 - #158951 (Merge three `MaxUniverse`s into one)
 - #158961 (Reapply "LLVM 23: Run AssignGUIDPass in some places")
 - #158996 ([compiler] Implement `PartialOrd` via `Ord` for `Span` and newtype_indexes)
 - #159005 (Use `as_lang_item` instead of repeatedly matching)
@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

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

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

---- [assembly] tests/assembly-llvm/c-variadic/gpu.rs#AMDGPU stdout ----
------FileCheck stdout------------------------------

------FileCheck stderr------------------------------
/checkout/tests/assembly-llvm/c-variadic/gpu.rs:46:18: error: AMDGPU-NEXT: expected string not found in input
 // AMDGPU-NEXT: flat_load_dwordx2 v[4:5], v[0:1]
                 ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/c-variadic/gpu.AMDGPU/gpu.s:9:41: note: scanning from here
 s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
                                        ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/c-variadic/gpu.AMDGPU/gpu.s:14:2: note: possible intended match here
 flat_load_dwordx2 v[0:1], v[0:1]
 ^
/checkout/tests/assembly-llvm/c-variadic/gpu.rs:74:18: error: AMDGPU-NEXT: expected string not found in input
 // AMDGPU-NEXT: flat_load_dwordx2 v[3:4], v[0:1]
                 ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/c-variadic/gpu.AMDGPU/gpu.s:52:41: note: scanning from here
 s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
                                        ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/c-variadic/gpu.AMDGPU/gpu.s:57:2: note: possible intended match here
 flat_load_dwordx2 v[0:1], v[0:1]
 ^
/checkout/tests/assembly-llvm/c-variadic/gpu.rs:101:18: error: AMDGPU-NEXT: expected string not found in input
 // AMDGPU-NEXT: flat_load_dwordx2 v[4:5], v[0:1]
                 ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/c-variadic/gpu.AMDGPU/gpu.s:92:41: note: scanning from here
 s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
                                        ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/c-variadic/gpu.AMDGPU/gpu.s:97:2: note: possible intended match here
 flat_load_dwordx2 v[0:1], v[0:1]
 ^
/checkout/tests/assembly-llvm/c-variadic/gpu.rs:129:18: error: AMDGPU-NEXT: is not on the line after the previous match
 // AMDGPU-NEXT: v_mov_b32_e32 v5, v1
                 ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/c-variadic/gpu.AMDGPU/gpu.s:145:2: note: 'next' match was here
 v_mov_b32_e32 v5, v1
 ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/c-variadic/gpu.AMDGPU/gpu.s:135:41: note: previous match ended here
 s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
                                        ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/c-variadic/gpu.AMDGPU/gpu.s:136:1: note: non-matching line after previous match is here
 v_mov_b32_e32 v2, v0
^
/checkout/tests/assembly-llvm/c-variadic/gpu.rs:157:18: error: AMDGPU-NEXT: expected string not found in input
 // AMDGPU-NEXT: flat_load_dwordx2 v[4:5], v[0:1]
                 ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/c-variadic/gpu.AMDGPU/gpu.s:183:41: note: scanning from here
 s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
                                        ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/c-variadic/gpu.AMDGPU/gpu.s:188:2: note: possible intended match here
 flat_load_dwordx2 v[0:1], v[0:1]
 ^

Input file: /checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/c-variadic/gpu.AMDGPU/gpu.s
Check file: /checkout/tests/assembly-llvm/c-variadic/gpu.rs

-dump-input=help explains the following input dump.

Input was:
<<<<<<
            1:  .amdgcn_target "amdgcn-amd-amdhsa--gfx900" 
            2:  .amdhsa_code_object_version 6 
            3:  .section .text.read_f64,"ax",@progbits 
            4:  .globl read_f64 
            5:  .p2align 2 
            6:  .type read_f64,@function 
            7: read_f64: 
            8:  .cfi_startproc 
            9:  s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) 
next:46'0                                              X error: no match found
           10:  v_mov_b32_e32 v2, v0 
next:46'0      ~~~~~~~~~~~~~~~~~~~~~~
           11:  v_mov_b32_e32 v3, v1 
next:46'0      ~~~~~~~~~~~~~~~~~~~~~~
           12:  v_mov_b32_e32 v0, v2 
next:46'0      ~~~~~~~~~~~~~~~~~~~~~~
           13:  v_mov_b32_e32 v1, v3 
next:46'0      ~~~~~~~~~~~~~~~~~~~~~~
           14:  flat_load_dwordx2 v[0:1], v[0:1] 
next:46'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
next:46'1       ?                                 possible intended match
           15:  s_mov_b64 s[6:7], 8 
next:46'0      ~~~~~~~~~~~~~~~~~~~~~
           16:  s_waitcnt vmcnt(0) lgkmcnt(0) 
next:46'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           17:  v_mov_b32_e32 v4, v0 
next:46'0      ~~~~~~~~~~~~~~~~~~~~~~
           18:  s_mov_b32 s4, s6 
next:46'0      ~~~~~~~~~~~~~~~~~~
           19:  v_mov_b32_e32 v5, v1 
next:46'0      ~~~~~~~~~~~~~~~~~~~~~~
           20:  s_mov_b32 s6, s7 
next:46'0      ~~~~~~~~~~~~~~~~~~
           21:  v_add_co_u32_e64 v4, s[4:5], v4, s4 
next:46'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           22:  v_mov_b32_e32 v6, s6 
next:46'0      ~~~~~~~~~~~~~~~~~~~~~~
           23:  v_addc_co_u32_e64 v6, s[4:5], v5, v6, s[4:5] 
next:46'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           24:  v_mov_b32_e32 v5, v6 
next:46'0      ~~~~~~~~~~~~~~~~~~~~~~
           25:  flat_store_dwordx2 v[2:3], v[4:5] 
next:46'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           26:  flat_load_dwordx2 v[1:2], v[0:1] 
next:46'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           27:  s_waitcnt vmcnt(0) lgkmcnt(0) 
next:46'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           28:  v_mov_b32_e32 v0, v1 
next:46'0      ~~~~~~~~~~~~~~~~~~~~~~
           29:  s_mov_b32 s4, 32 
next:46'0      ~~~~~~~~~~~~~~~~~~
           30:  v_lshrrev_b64 v[1:2], s4, v[1:2] 
next:46'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           31:  s_setpc_b64 s[30:31] 
next:46'0      ~~~~~~~~~~~~~~~~~~~~~~
           32: .Lfunc_end0: 
next:46'0      ~~~~~~~~~~~~~
           33:  .size read_f64, .Lfunc_end0-read_f64 
next:46'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           34:  .cfi_endproc 
next:46'0      ~~~~~~~~~~~~~~
           35:  
next:46'0      ~
           36:  .set read_f64.num_vgpr, 7 
next:46'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~
           37:  .set read_f64.num_agpr, 0 
next:46'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~
           38:  .set read_f64.numbered_sgpr, 32 
next:46'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           39:  .set read_f64.num_named_barrier, 0 
next:46'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           40:  .set read_f64.private_seg_size, 0 
next:46'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           41:  .set read_f64.uses_vcc, 0 
next:46'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~
           42:  .set read_f64.uses_flat_scratch, 0 
next:46'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           43:  .set read_f64.has_dyn_sized_stack, 0 
next:46'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           44:  .set read_f64.has_recursion, 0 
next:46'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           45:  .set read_f64.has_indirect_call, 0 
next:46'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           46:  .section .text.read_i32,"ax",@progbits 
next:46'0      ~~~~~~~~~~~~~~~~~~~~~~~~
           47:  .globl read_i32 
           48:  .p2align 2 
           49:  .type read_i32,@function 
           50: read_i32: 
           51:  .cfi_startproc 
           52:  s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) 
next:74'0                                              X error: no match found
           53:  v_mov_b32_e32 v2, v0 
next:74'0      ~~~~~~~~~~~~~~~~~~~~~~
           54:  v_mov_b32_e32 v3, v1 
next:74'0      ~~~~~~~~~~~~~~~~~~~~~~
           55:  v_mov_b32_e32 v0, v2 
next:74'0      ~~~~~~~~~~~~~~~~~~~~~~
           56:  v_mov_b32_e32 v1, v3 
next:74'0      ~~~~~~~~~~~~~~~~~~~~~~
           57:  flat_load_dwordx2 v[0:1], v[0:1] 
next:74'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
next:74'1       ?                                 possible intended match
           58:  s_mov_b64 s[6:7], 4 
next:74'0      ~~~~~~~~~~~~~~~~~~~~~
           59:  s_waitcnt vmcnt(0) lgkmcnt(0) 
next:74'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           60:  v_mov_b32_e32 v4, v0 
next:74'0      ~~~~~~~~~~~~~~~~~~~~~~
           61:  s_mov_b32 s4, s6 
next:74'0      ~~~~~~~~~~~~~~~~~~
           62:  v_mov_b32_e32 v5, v1 
next:74'0      ~~~~~~~~~~~~~~~~~~~~~~
           63:  s_mov_b32 s6, s7 
next:74'0      ~~~~~~~~~~~~~~~~~~
           64:  v_add_co_u32_e64 v4, s[4:5], v4, s4 
next:74'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           65:  v_mov_b32_e32 v6, s6 
next:74'0      ~~~~~~~~~~~~~~~~~~~~~~
           66:  v_addc_co_u32_e64 v6, s[4:5], v5, v6, s[4:5] 
next:74'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           67:  v_mov_b32_e32 v5, v6 
next:74'0      ~~~~~~~~~~~~~~~~~~~~~~
           68:  flat_store_dwordx2 v[2:3], v[4:5] 
next:74'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           69:  flat_load_dword v0, v[0:1] 
next:74'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           70:  s_waitcnt vmcnt(0) lgkmcnt(0) 
next:74'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           71:  s_setpc_b64 s[30:31] 
next:74'0      ~~~~~~~~~~~~~~~~~~~~~~
           72: .Lfunc_end1: 
next:74'0      ~~~~~~~~~~~~~
           73:  .size read_i32, .Lfunc_end1-read_i32 
next:74'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           74:  .cfi_endproc 
next:74'0      ~~~~~~~~~~~~~~
           75:  
next:74'0      ~
           76:  .set read_i32.num_vgpr, 7 
next:74'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~
           77:  .set read_i32.num_agpr, 0 
next:74'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~
           78:  .set read_i32.numbered_sgpr, 32 
next:74'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           79:  .set read_i32.num_named_barrier, 0 
next:74'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           80:  .set read_i32.private_seg_size, 0 
next:74'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           81:  .set read_i32.uses_vcc, 0 
next:74'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~
           82:  .set read_i32.uses_flat_scratch, 0 
next:74'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           83:  .set read_i32.has_dyn_sized_stack, 0 
next:74'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           84:  .set read_i32.has_recursion, 0 
next:74'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           85:  .set read_i32.has_indirect_call, 0 
next:74'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           86:  .section .text.read_i64,"ax",@progbits 
next:74'0      ~~~~~~~~~~~~~~~~~~~~~~~~
           87:  .globl read_i64 
           88:  .p2align 2 
           89:  .type read_i64,@function 
           90: read_i64: 
           91:  .cfi_startproc 
           92:  s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) 
next:101'0                                             X error: no match found
           93:  v_mov_b32_e32 v2, v0 
next:101'0     ~~~~~~~~~~~~~~~~~~~~~~
           94:  v_mov_b32_e32 v3, v1 
next:101'0     ~~~~~~~~~~~~~~~~~~~~~~
           95:  v_mov_b32_e32 v0, v2 
next:101'0     ~~~~~~~~~~~~~~~~~~~~~~
           96:  v_mov_b32_e32 v1, v3 
next:101'0     ~~~~~~~~~~~~~~~~~~~~~~
           97:  flat_load_dwordx2 v[0:1], v[0:1] 
next:101'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
next:101'1      ?                                 possible intended match
           98:  s_mov_b64 s[6:7], 8 
next:101'0     ~~~~~~~~~~~~~~~~~~~~~
           99:  s_waitcnt vmcnt(0) lgkmcnt(0) 
next:101'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          100:  v_mov_b32_e32 v4, v0 
next:101'0     ~~~~~~~~~~~~~~~~~~~~~~
          101:  s_mov_b32 s4, s6 
next:101'0     ~~~~~~~~~~~~~~~~~~
          102:  v_mov_b32_e32 v5, v1 
next:101'0     ~~~~~~~~~~~~~~~~~~~~~~
          103:  s_mov_b32 s6, s7 
next:101'0     ~~~~~~~~~~~~~~~~~~
          104:  v_add_co_u32_e64 v4, s[4:5], v4, s4 
next:101'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          105:  v_mov_b32_e32 v6, s6 
next:101'0     ~~~~~~~~~~~~~~~~~~~~~~
          106:  v_addc_co_u32_e64 v6, s[4:5], v5, v6, s[4:5] 
next:101'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          107:  v_mov_b32_e32 v5, v6 
next:101'0     ~~~~~~~~~~~~~~~~~~~~~~
          108:  flat_store_dwordx2 v[2:3], v[4:5] 
next:101'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          109:  flat_load_dwordx2 v[1:2], v[0:1] 
next:101'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          110:  s_waitcnt vmcnt(0) lgkmcnt(0) 
next:101'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          111:  v_mov_b32_e32 v0, v1 
next:101'0     ~~~~~~~~~~~~~~~~~~~~~~
          112:  s_mov_b32 s4, 32 
next:101'0     ~~~~~~~~~~~~~~~~~~
          113:  v_lshrrev_b64 v[1:2], s4, v[1:2] 
next:101'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          114:  s_setpc_b64 s[30:31] 
next:101'0     ~~~~~~~~~~~~~~~~~~~~~~
          115: .Lfunc_end2: 
next:101'0     ~~~~~~~~~~~~~
          116:  .size read_i64, .Lfunc_end2-read_i64 
next:101'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          117:  .cfi_endproc 
next:101'0     ~~~~~~~~~~~~~~
          118:  
next:101'0     ~
          119:  .set read_i64.num_vgpr, 7 
next:101'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
          120:  .set read_i64.num_agpr, 0 
next:101'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
          121:  .set read_i64.numbered_sgpr, 32 
next:101'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          122:  .set read_i64.num_named_barrier, 0 
next:101'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          123:  .set read_i64.private_seg_size, 0 
next:101'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          124:  .set read_i64.uses_vcc, 0 
next:101'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
          125:  .set read_i64.uses_flat_scratch, 0 
next:101'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          126:  .set read_i64.has_dyn_sized_stack, 0 
next:101'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          127:  .set read_i64.has_recursion, 0 
next:101'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          128:  .set read_i64.has_indirect_call, 0 
next:101'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          129:  .section .text.read_i128,"ax",@progbits 
next:101'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
          130:  .globl read_i128 
          131:  .p2align 2 
          132:  .type read_i128,@function 
          133: read_i128: 
          134:  .cfi_startproc 
          135:  s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) 
          136:  v_mov_b32_e32 v2, v0 
          137:  v_mov_b32_e32 v3, v1 
          138:  v_mov_b32_e32 v0, v2 
          139:  v_mov_b32_e32 v1, v3 
          140:  flat_load_dwordx2 v[0:1], v[0:1] 
          141:  s_mov_b64 s[6:7], 16 
          142:  s_waitcnt vmcnt(0) lgkmcnt(0) 
          143:  v_mov_b32_e32 v4, v0 
          144:  s_mov_b32 s4, s6 
          145:  v_mov_b32_e32 v5, v1 
next:129        !~~~~~~~~~~~~~~~~~~~  error: match on wrong line
          146:  s_mov_b32 s6, s7 
          147:  v_add_co_u32_e64 v4, s[4:5], v4, s4 
          148:  v_mov_b32_e32 v6, s6 
          149:  v_addc_co_u32_e64 v6, s[4:5], v5, v6, s[4:5] 
          150:  v_mov_b32_e32 v5, v6 
          151:  flat_store_dwordx2 v[2:3], v[4:5] 
          152:  flat_load_dwordx2 v[3:4], v[0:1] offset:8 
          153:  s_nop 0 
          154:  flat_load_dwordx2 v[5:6], v[0:1] 
          155:  s_waitcnt vmcnt(0) lgkmcnt(0) 
          156:  v_mov_b32_e32 v0, v5 
          157:  v_mov_b32_e32 v2, v3 
          158:  s_mov_b32 s4, 32 
          159:  v_lshrrev_b64 v[5:6], s4, v[5:6] 
          160:  v_mov_b32_e32 v1, v5 
          161:  v_lshrrev_b64 v[3:4], s4, v[3:4] 
          162:  s_setpc_b64 s[30:31] 
          163: .Lfunc_end3: 
          164:  .size read_i128, .Lfunc_end3-read_i128 
          165:  .cfi_endproc 
          166:  
          167:  .set read_i128.num_vgpr, 7 
          168:  .set read_i128.num_agpr, 0 
          169:  .set read_i128.numbered_sgpr, 32 
          170:  .set read_i128.num_named_barrier, 0 
          171:  .set read_i128.private_seg_size, 0 
          172:  .set read_i128.uses_vcc, 0 
          173:  .set read_i128.uses_flat_scratch, 0 
          174:  .set read_i128.has_dyn_sized_stack, 0 
          175:  .set read_i128.has_recursion, 0 
          176:  .set read_i128.has_indirect_call, 0 
          177:  .section .text.read_ptr,"ax",@progbits 
          178:  .globl read_ptr 
          179:  .p2align 2 
          180:  .type read_ptr,@function 
          181: read_ptr: 
          182:  .cfi_startproc 
          183:  s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) 
next:157'0                                             X error: no match found
          184:  v_mov_b32_e32 v2, v0 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~~
          185:  v_mov_b32_e32 v3, v1 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~~
          186:  v_mov_b32_e32 v0, v2 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~~
          187:  v_mov_b32_e32 v1, v3 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~~
          188:  flat_load_dwordx2 v[0:1], v[0:1] 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
next:157'1      ?                                 possible intended match
          189:  s_mov_b64 s[6:7], 8 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~
          190:  s_waitcnt vmcnt(0) lgkmcnt(0) 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          191:  v_mov_b32_e32 v4, v0 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~~
          192:  s_mov_b32 s4, s6 
next:157'0     ~~~~~~~~~~~~~~~~~~
          193:  v_mov_b32_e32 v5, v1 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~~
          194:  s_mov_b32 s6, s7 
next:157'0     ~~~~~~~~~~~~~~~~~~
          195:  v_add_co_u32_e64 v4, s[4:5], v4, s4 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          196:  v_mov_b32_e32 v6, s6 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~~
          197:  v_addc_co_u32_e64 v6, s[4:5], v5, v6, s[4:5] 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          198:  v_mov_b32_e32 v5, v6 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~~
          199:  flat_store_dwordx2 v[2:3], v[4:5] 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          200:  flat_load_dwordx2 v[1:2], v[0:1] 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          201:  s_waitcnt vmcnt(0) lgkmcnt(0) 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          202:  v_mov_b32_e32 v0, v1 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~~
          203:  s_mov_b32 s4, 32 
next:157'0     ~~~~~~~~~~~~~~~~~~
          204:  v_lshrrev_b64 v[1:2], s4, v[1:2] 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          205:  s_setpc_b64 s[30:31] 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~~
          206: .Lfunc_end4: 
next:157'0     ~~~~~~~~~~~~~
          207:  .size read_ptr, .Lfunc_end4-read_ptr 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          208:  .cfi_endproc 
next:157'0     ~~~~~~~~~~~~~~
          209:  
next:157'0     ~
          210:  .set read_ptr.num_vgpr, 7 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
          211:  .set read_ptr.num_agpr, 0 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
          212:  .set read_ptr.numbered_sgpr, 32 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          213:  .set read_ptr.num_named_barrier, 0 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          214:  .set read_ptr.private_seg_size, 0 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          215:  .set read_ptr.uses_vcc, 0 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
          216:  .set read_ptr.uses_flat_scratch, 0 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          217:  .set read_ptr.has_dyn_sized_stack, 0 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          218:  .set read_ptr.has_recursion, 0 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          219:  .set read_ptr.has_indirect_call, 0 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          220:  .section .AMDGPU.gpr_maximums,"",@progbits 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          221:  .set amdgpu.max_num_vgpr, 7 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          222:  .set amdgpu.max_num_agpr, 0 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          223:  .set amdgpu.max_num_sgpr, 32 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          224:  .set amdgpu.max_num_named_barrier, 0 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          225:  .section .text.read_ptr,"ax",@progbits 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          226:  .ident "rustc version 1.99.0-nightly (b1dea6fc0 2026-07-09)" 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          227:  .section ".note.GNU-stack","",@progbits 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          228:  .amdgpu_metadata 
next:157'0     ~~~~~~~~~~~~~~~~~~
          229: --- 
next:157'0     ~~~~
          230: amdhsa.kernels: [] 
next:157'0     ~~~~~~~~~~~~~~~~~~~
          231: amdhsa.target: amdgcn-amd-amdhsa--gfx900 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          232: amdhsa.version: 
next:157'0     ~~~~~~~~~~~~~~~~
          233:  - 1 
next:157'0     ~~~~~
          234:  - 2 
next:157'0     ~~~~~
          235: ... 
next:157'0     ~~~~
          236:  
next:157'0     ~
          237:  .end_amdgpu_metadata 
next:157'0     ~~~~~~~~~~~~~~~~~~~~~~
>>>>>>

------------------------------------------

error in revision `AMDGPU`: verification with 'FileCheck' failed
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/bin/FileCheck" "--input-file" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/c-variadic/gpu.AMDGPU/gpu.s" "/checkout/tests/assembly-llvm/c-variadic/gpu.rs" "--check-prefix=CHECK" "--check-prefix" "AMDGPU" "--allow-unused-prefixes" "--dump-input-context" "100"
stdout: none
--- stderr -------------------------------
/checkout/tests/assembly-llvm/c-variadic/gpu.rs:46:18: error: AMDGPU-NEXT: expected string not found in input
 // AMDGPU-NEXT: flat_load_dwordx2 v[4:5], v[0:1]
                 ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/c-variadic/gpu.AMDGPU/gpu.s:9:41: note: scanning from here
 s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
                                        ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/c-variadic/gpu.AMDGPU/gpu.s:14:2: note: possible intended match here
 flat_load_dwordx2 v[0:1], v[0:1]
 ^
/checkout/tests/assembly-llvm/c-variadic/gpu.rs:74:18: error: AMDGPU-NEXT: expected string not found in input
 // AMDGPU-NEXT: flat_load_dwordx2 v[3:4], v[0:1]
                 ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/c-variadic/gpu.AMDGPU/gpu.s:52:41: note: scanning from here
 s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
                                        ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/c-variadic/gpu.AMDGPU/gpu.s:57:2: note: possible intended match here
 flat_load_dwordx2 v[0:1], v[0:1]
 ^
/checkout/tests/assembly-llvm/c-variadic/gpu.rs:101:18: error: AMDGPU-NEXT: expected string not found in input
 // AMDGPU-NEXT: flat_load_dwordx2 v[4:5], v[0:1]
                 ^
/checkout/obj/build/x86_64-unknown-linux-gnu/test/assembly-llvm/c-variadic/gpu.AMDGPU/gpu.s:92:41: note: scanning from here

@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 Jul 9, 2026
@rust-bors

rust-bors Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

💔 Test for b1dea6f failed: CI. Failed job:

@rust-bors

rust-bors Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: 4b37617 (4b376176c2ad1538fe5d17bb45991c9d4964b9bb)
Base parent: 561ea2b (561ea2bfa3022226082e2db39d6ccb241e9e34bc)

@rust-bors rust-bors Bot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jul 9, 2026
@rust-bors

rust-bors Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

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

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

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) A-CI Area: Our Github Actions CI A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-run-make Area: port run-make Makefiles to rmake.rs A-testsuite Area: The testsuite used to check the correctness of rustc PG-exploit-mitigations Project group: Exploit mitigations 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-clippy Relevant to the Clippy team. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure 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. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustfmt Relevant to the rustfmt team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver)

Projects

None yet

Development

Successfully merging this pull request may close these issues.