[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