[llvm-branch-commits] [llvm] [AArch64] Support direct RCPC3 FP atomic loads and stores (PR #231492)
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Tue Oct 13 09:51:53 PDT 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results
* 144035 tests passed
* 3527 tests skipped
* 2 tests failed
## Failed Tests
(click on a test name to see its output)
### LLVM
<details>
<summary>LLVM.CodeGen/AArch64/Atomics/aarch64-atomic-store-hint.ll</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -mtriple=aarch64-none-linux-gnu -verify-machineinstrs < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\Atomics\aarch64-atomic-store-hint.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\Atomics\aarch64-atomic-store-hint.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=aarch64-none-linux-gnu -verify-machineinstrs
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\Atomics\aarch64-atomic-store-hint.ll'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\Atomics\aarch64-atomic-store-hint.ll:174:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: // kill: def $h0 killed $h0 def $s0
# | ^
# | <stdin>:171:10: note: scanning from here
# | // %bb.0:
# | ^
# | <stdin>:176:2: note: possible intended match here
# | // -- End function
# | ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\Atomics\aarch64-atomic-store-hint.ll:186:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: // kill: def $h0 killed $h0 def $s0
# | ^
# | <stdin>:181:10: note: scanning from here
# | // %bb.0:
# | ^
# | <stdin>:186:2: note: possible intended match here
# | // -- End function
# | ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\Atomics\aarch64-atomic-store-hint.ll:198:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: stshh strm
# | ^
# | <stdin>:191:10: note: scanning from here
# | // %bb.0:
# | ^
# | <stdin>:195:20: note: possible intended match here
# | .size test_atomic_store_strm_relaxed_float, .Lfunc_end16-test_atomic_store_strm_relaxed_float
# | ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\Atomics\aarch64-atomic-store-hint.ll:208:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: stshh strm
# | ^
# | <stdin>:201:10: note: scanning from here
# | // %bb.0:
# | ^
# | <stdin>:205:20: note: possible intended match here
# | .size test_atomic_store_strm_relaxed_double, .Lfunc_end17-test_atomic_store_strm_relaxed_double
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\Atomics\aarch64-atomic-store-hint.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 166: // -- End function
# | 167: .globl test_atomic_store_strm_relaxed_bfloat // -- Begin function test_atomic_store_strm_relaxed_bfloat
# | 168: .p2align 2
# | 169: .type test_atomic_store_strm_relaxed_bfloat, at function
# | 170: test_atomic_store_strm_relaxed_bfloat: // @test_atomic_store_strm_relaxed_bfloat
# | 171: // %bb.0:
# | next:174'0 { search range start (exclusive)
# | next:174'1 error: no match found in search range
# | 172: str h0, [x0]
# | 173: ret
# | 174: .Lfunc_end14:
# | 175: .size test_atomic_store_strm_relaxed_bfloat, .Lfunc_end14-test_atomic_store_strm_relaxed_bfloat
# | 176: // -- End function
# | next:174'2 ? possible intended match
# | 177: .globl test_atomic_store_strm_relaxed_half // -- Begin function test_atomic_store_strm_relaxed_half
# | 178: .p2align 2
# | 179: .type test_atomic_store_strm_relaxed_half, at function
# | 180: test_atomic_store_strm_relaxed_half: // @test_atomic_store_strm_relaxed_half
# | next:174'3 } search range end (exclusive)
# | 181: // %bb.0:
# | next:186'0 { search range start (exclusive)
# | next:186'1 error: no match found in search range
# | 182: str h0, [x0]
# | 183: ret
# | 184: .Lfunc_end15:
# | 185: .size test_atomic_store_strm_relaxed_half, .Lfunc_end15-test_atomic_store_strm_relaxed_half
# | 186: // -- End function
# | next:186'2 ? possible intended match
# | 187: .globl test_atomic_store_strm_relaxed_float // -- Begin function test_atomic_store_strm_relaxed_float
# | 188: .p2align 2
# | 189: .type test_atomic_store_strm_relaxed_float, at function
# | 190: test_atomic_store_strm_relaxed_float: // @test_atomic_store_strm_relaxed_float
# | next:186'3 } search range end (exclusive)
# | 191: // %bb.0:
# | next:198'0 { search range start (exclusive)
# | next:198'1 error: no match found in search range
# | 192: str s0, [x0]
# | 193: ret
# | 194: .Lfunc_end16:
# | 195: .size test_atomic_store_strm_relaxed_float, .Lfunc_end16-test_atomic_store_strm_relaxed_float
# | next:198'2 ? possible intended match
# | 196: // -- End function
# | 197: .globl test_atomic_store_strm_relaxed_double // -- Begin function test_atomic_store_strm_relaxed_double
# | 198: .p2align 2
# | 199: .type test_atomic_store_strm_relaxed_double, at function
# | 200: test_atomic_store_strm_relaxed_double: // @test_atomic_store_strm_relaxed_double
# | next:198'3 } search range end (exclusive)
# | 201: // %bb.0:
# | next:208'0 { search range start (exclusive)
# | next:208'1 error: no match found in search range
# | 202: str d0, [x0]
# | 203: ret
# | 204: .Lfunc_end17:
# | 205: .size test_atomic_store_strm_relaxed_double, .Lfunc_end17-test_atomic_store_strm_relaxed_double
# | next:208'2 ? possible intended match
# | 206: // -- End function
# | 207: .globl test_atomic_store_stream_release_i8 // -- Begin function test_atomic_store_stream_release_i8
# | 208: .p2align 2
# | 209: .type test_atomic_store_stream_release_i8, at function
# | 210: test_atomic_store_stream_release_i8: // @test_atomic_store_stream_release_i8
# | next:208'3 } search range end (exclusive)
# | 211: // %bb.0:
# | 212: stshh strm
# | 213: stlrb w1, [x0]
# | 214: ret
# | 215: .Lfunc_end18:
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>LLVM.CodeGen/AArch64/Atomics/aarch64-relaxed-store-hint.ll</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -mtriple=aarch64-none-linux-gnu -verify-machineinstrs < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\Atomics\aarch64-relaxed-store-hint.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\Atomics\aarch64-relaxed-store-hint.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=aarch64-none-linux-gnu -verify-machineinstrs
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\Atomics\aarch64-relaxed-store-hint.ll'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\Atomics\aarch64-relaxed-store-hint.ll:73:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: // kill: def $h0 killed $h0 def $s0
# | ^
# | <stdin>:64:10: note: scanning from here
# | // %bb.0:
# | ^
# | <stdin>:69:2: note: possible intended match here
# | // -- End function
# | ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\Atomics\aarch64-relaxed-store-hint.ll:86:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: // kill: def $h0 killed $h0 def $s0
# | ^
# | <stdin>:74:10: note: scanning from here
# | // %bb.0:
# | ^
# | <stdin>:79:2: note: possible intended match here
# | // -- End function
# | ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\Atomics\aarch64-relaxed-store-hint.ll:99:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: stshh strm
# | ^
# | <stdin>:84:10: note: scanning from here
# | // %bb.0:
# | ^
# | <stdin>:85:2: note: possible intended match here
# | str s0, [x0, w1, sxtw #2]
# | ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\Atomics\aarch64-relaxed-store-hint.ll:110:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: stshh strm
# | ^
# | <stdin>:94:10: note: scanning from here
# | // %bb.0:
# | ^
# | <stdin>:95:2: note: possible intended match here
# | str d0, [x0, w1, sxtw #3]
# | ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\Atomics\aarch64-relaxed-store-hint.ll:186:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: // kill: def $h0 killed $h0 def $s0
# | ^
# | <stdin>:161:10: note: scanning from here
# | // %bb.0:
# | ^
# | <stdin>:162:2: note: possible intended match here
# | str h0, [x0, x1, lsl #1]
# | ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\Atomics\aarch64-relaxed-store-hint.ll:199:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: // kill: def $h0 killed $h0 def $s0
# | ^
# | <stdin>:171:10: note: scanning from here
# | // %bb.0:
# | ^
# | <stdin>:172:2: note: possible intended match here
# | str h0, [x0, x1, lsl #1]
# | ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\Atomics\aarch64-relaxed-store-hint.ll:212:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: stshh keep
# | ^
# | <stdin>:181:10: note: scanning from here
# | // %bb.0:
# | ^
# | <stdin>:187:54: note: possible intended match here
# | .globl relaxed_store_hint_roX_double // -- Begin function relaxed_store_hint_roX_double
# | ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\Atomics\aarch64-relaxed-store-hint.ll:223:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: stshh keep
# | ^
# | <stdin>:191:10: note: scanning from here
# | // %bb.0:
# | ^
# | <stdin>:197:51: note: possible intended match here
# | .globl relaxed_store_hint_uimm_i8 // -- Begin function relaxed_store_hint_uimm_i8
# | ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\Atomics\aarch64-relaxed-store-hint.ll:299:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: // kill: def $h0 killed $h0 def $s0
# | ^
# | <stdin>:258:10: note: scanning from here
# | // %bb.0:
# | ^
# | <stdin>:263:2: note: possible intended match here
# | // -- End function
# | ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\Atomics\aarch64-relaxed-store-hint.ll:312:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: // kill: def $h0 killed $h0 def $s0
# | ^
# | <stdin>:268:10: note: scanning from here
# | // %bb.0:
# | ^
# | <stdin>:273:2: note: possible intended match here
# | // -- End function
# | ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\Atomics\aarch64-relaxed-store-hint.ll:325:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: stshh keep
# | ^
# | <stdin>:278:10: note: scanning from here
# | // %bb.0:
# | ^
# | <stdin>:284:55: note: possible intended match here
# | .globl relaxed_store_hint_uimm_double // -- Begin function relaxed_store_hint_uimm_double
# | ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\Atomics\aarch64-relaxed-store-hint.ll:336:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: stshh keep
# | ^
# | <stdin>:288:10: note: scanning from here
# | // %bb.0:
# | ^
# | <stdin>:294:50: note: possible intended match here
# | .globl relaxed_store_hint_imm_i8 // -- Begin function relaxed_store_hint_imm_i8
# | ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\Atomics\aarch64-relaxed-store-hint.ll:412:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: // kill: def $h0 killed $h0 def $s0
# | ^
# | <stdin>:355:10: note: scanning from here
# | // %bb.0:
# | ^
# | <stdin>:360:2: note: possible intended match here
# | // -- End function
# | ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\Atomics\aarch64-relaxed-store-hint.ll:425:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: // kill: def $h0 killed $h0 def $s0
# | ^
# | <stdin>:365:10: note: scanning from here
# | // %bb.0:
# | ^
# | <stdin>:370:2: note: possible intended match here
# | // -- End function
# | ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\Atomics\aarch64-relaxed-store-hint.ll:439:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: stshh strm
# | ^
# | <stdin>:376:18: note: scanning from here
# | sub x8, x0, #512
# | ^
# | <stdin>:377:2: note: possible intended match here
# | str s0, [x8]
# | ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\Atomics\aarch64-relaxed-store-hint.ll:451:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: stshh strm
# | ^
# | <stdin>:387:19: note: scanning from here
# | sub x8, x0, #1024
# | ^
# | <stdin>:388:2: note: possible intended match here
# | str d0, [x8]
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\Atomics\aarch64-relaxed-store-hint.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 59: // -- End function
# | 60: .globl relaxed_store_hint_roW_bfloat // -- Begin function relaxed_store_hint_roW_bfloat
# | 61: .p2align 2
# | 62: .type relaxed_store_hint_roW_bfloat, at function
# | 63: relaxed_store_hint_roW_bfloat: // @relaxed_store_hint_roW_bfloat
# | 64: // %bb.0:
# | next:73'0 { search range start (exclusive)
# | next:73'1 error: no match found in search range
# | 65: str h0, [x0, w1, sxtw #1]
# | 66: ret
# | 67: .Lfunc_end5:
# | 68: .size relaxed_store_hint_roW_bfloat, .Lfunc_end5-relaxed_store_hint_roW_bfloat
# | 69: // -- End function
# | next:73'2 ? possible intended match
# | 70: .globl relaxed_store_hint_roW_half // -- Begin function relaxed_store_hint_roW_half
# | 71: .p2align 2
# | 72: .type relaxed_store_hint_roW_half, at function
# | 73: relaxed_store_hint_roW_half: // @relaxed_store_hint_roW_half
# | next:73'3 } search range end (exclusive)
# | 74: // %bb.0:
# | next:86'0 { search range start (exclusive)
# | next:86'1 error: no match found in search range
# | 75: str h0, [x0, w1, sxtw #1]
# | 76: ret
# | 77: .Lfunc_end6:
# | 78: .size relaxed_store_hint_roW_half, .Lfunc_end6-relaxed_store_hint_roW_half
# | 79: // -- End function
# | next:86'2 ? possible intended match
# | 80: .globl relaxed_store_hint_roW_float // -- Begin function relaxed_store_hint_roW_float
# | 81: .p2align 2
# | 82: .type relaxed_store_hint_roW_float, at function
# | 83: relaxed_store_hint_roW_float: // @relaxed_store_hint_roW_float
# | next:86'3 } search range end (exclusive)
# | 84: // %bb.0:
# | next:99'0 { search range start (exclusive)
# | next:99'1 error: no match found in search range
# | 85: str s0, [x0, w1, sxtw #2]
# | next:99'2 ? possible intended match
# | 86: ret
# | 87: .Lfunc_end7:
# | 88: .size relaxed_store_hint_roW_float, .Lfunc_end7-relaxed_store_hint_roW_float
# | 89: // -- End function
# | 90: .globl relaxed_store_hint_roW_double // -- Begin function relaxed_store_hint_roW_double
# | 91: .p2align 2
# | 92: .type relaxed_store_hint_roW_double, at function
# | 93: relaxed_store_hint_roW_double: // @relaxed_store_hint_roW_double
# | next:99'3 } search range end (exclusive)
# | 94: // %bb.0:
# | next:110'0 { search range start (exclusive)
# | next:110'1 error: no match found in search range
# | 95: str d0, [x0, w1, sxtw #3]
# | next:110'2 ? possible intended match
# | 96: ret
# | 97: .Lfunc_end8:
# | 98: .size relaxed_store_hint_roW_double, .Lfunc_end8-relaxed_store_hint_roW_double
# | 99: // -- End function
# | 100: .globl relaxed_store_hint_roX_i8 // -- Begin function relaxed_store_hint_roX_i8
# | 101: .p2align 2
# | 102: .type relaxed_store_hint_roX_i8, at function
# | 103: relaxed_store_hint_roX_i8: // @relaxed_store_hint_roX_i8
# | next:110'3 } search range end (exclusive)
# | 104: // %bb.0:
# | 105: shuh
# | 106: strb w2, [x0, x1]
# | 107: ret
# | 108: .Lfunc_end9:
# | .
# | .
# | .
# | 156: // -- End function
# | 157: .globl relaxed_store_hint_roX_bfloat // -- Begin function relaxed_store_hint_roX_bfloat
# | 158:
# | ...
# `---data was truncated (10240/21262) (change limit with -D output_limit=N)
# error: command failed with exit status: 1
--
```
</details>
If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.
https://github.com/llvm/llvm-project/pull/231492
More information about the llvm-branch-commits
mailing list