Skip to content

Rollup of 21 pull requests#159024

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

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-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.

@rust-bors rust-bors Bot closed this 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, changed its commit SHA.

This rollup was closed.

@rustbot rustbot removed the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Jul 9, 2026
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 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.