[llvm] [IR][AtomicExpand][NVPTX] Add elementwise modifier to atomicrmw; implement ISEL for NVPTX (PR #188393)

via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 24 19:05:49 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results

* 132659 tests passed
* 3030 tests skipped
* 8 tests failed

## Failed Tests
(click on a test name to see its output)

### LLVM
<details>
<summary>LLVM.CodeGen/AArch64/atomicrmw-xchg-fp.ll</summary>

```
Exit Code: 2

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -verify-machineinstrs -mtriple=aarch64-- -O1 -fast-isel=0 -global-isel=false C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\atomicrmw-xchg-fp.ll -o - | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\atomicrmw-xchg-fp.ll -check-prefix=NOLSE
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -verify-machineinstrs -mtriple=aarch64-- -O1 -fast-isel=0 -global-isel=false 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\atomicrmw-xchg-fp.ll' -o -
# 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\atomicrmw-xchg-fp.ll' -check-prefix=NOLSE
# note: command had no output on stdout or stderr
# RUN: at line 3
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -verify-machineinstrs -mtriple=aarch64-- -mattr=+lse -O1 -fast-isel=0 -global-isel=false C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\atomicrmw-xchg-fp.ll -o - | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\atomicrmw-xchg-fp.ll -check-prefix=LSE
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -verify-machineinstrs -mtriple=aarch64-- -mattr=+lse -O1 -fast-isel=0 -global-isel=false 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\atomicrmw-xchg-fp.ll' -o -
# .---command stderr------------
# | Assertion failed: (TLI.getTypeAction(*DAG.getContext(), Op.getValueType()) == TargetLowering::TypeLegal || Op.getOpcode() == ISD::TargetConstant || Op.getOpcode() == ISD::Register) && "Unexpected illegal type!", file C:\_work\llvm-project\llvm-project\llvm\lib\CodeGen\SelectionDAG\LegalizeDAG.cpp, line 1002
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
# | Stack dump:
# | 0.	Program arguments: c:\\_work\\llvm-project\\llvm-project\\build\\bin\\llc.exe -verify-machineinstrs -mtriple=aarch64-- -mattr=+lse -O1 -fast-isel=0 -global-isel=false C:\\_work\\llvm-project\\llvm-project\\llvm\\test\\CodeGen\\AArch64\\atomicrmw-xchg-fp.ll -o -
# | 1.	Running pass 'Function Pass Manager' on module 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\atomicrmw-xchg-fp.ll'.
# | 2.	Running pass 'AArch64 Instruction Selection' on function '@test_rmw_xchg_f16'
# | Exception Code: 0xC000001D
# |  #0 0x00007ff7e84d5706 (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0x2d35706)
# |  #1 0x00007ffef376bb04 (C:\Windows\System32\ucrtbase.dll+0x7bb04)
# |  #2 0x00007ffef376cad1 (C:\Windows\System32\ucrtbase.dll+0x7cad1)
# |  #3 0x00007ffef376e4a1 (C:\Windows\System32\ucrtbase.dll+0x7e4a1)
# |  #4 0x00007ffef376e6e1 (C:\Windows\System32\ucrtbase.dll+0x7e6e1)
# |  #5 0x00007ff7e869f220 (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0x2eff220)
# |  #6 0x00007ff7e869ee58 (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0x2efee58)
# |  #7 0x00007ff7e5e5476c (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0x6b476c)
# |  #8 0x00007ff7e5e52bc0 (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0x6b2bc0)
# |  #9 0x00007ff7e5e52186 (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0x6b2186)
# | #10 0x00007ff7e5e4e07a (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0x6ae07a)
# | #11 0x00007ff7e5e4b124 (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0x6ab124)
# | #12 0x00007ff7e61f4e93 (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0xa54e93)
# | #13 0x00007ff7e5c5f219 (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0x4bf219)
# | #14 0x00007ff7e5c67cad (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0x4c7cad)
# | #15 0x00007ff7e5c5fe98 (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0x4bfe98)
# | #16 0x00007ff7e57a73e2 (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0x73e2)
# | #17 0x00007ff7e9fd93a0 (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0x48393a0)
# | #18 0x00007ffef8c64cb0 (C:\Windows\System32\KERNEL32.DLL+0x14cb0)
# | #19 0x00007fff056fedcb (C:\Windows\SYSTEM32\ntdll.dll+0x7edcb)
# `-----------------------------
# error: command failed with exit status: 0xc000001d
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\atomicrmw-xchg-fp.ll' -check-prefix=LSE
# .---command stderr------------
# | FileCheck error: '<stdin>' is empty.
# | FileCheck command line:  c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\atomicrmw-xchg-fp.ll -check-prefix=LSE
# `-----------------------------
# error: command failed with exit status: 2

--

```
</details>
<details>
<summary>LLVM.CodeGen/AMDGPU/idemponent-atomics.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -mtriple=amdgcn-amd-amdhsa -mcpu=gfx942 < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\idemponent-atomics.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe -check-prefixes=GFX942 C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\idemponent-atomics.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=amdgcn-amd-amdhsa -mcpu=gfx942
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' -check-prefixes=GFX942 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\idemponent-atomics.ll'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\idemponent-atomics.ll:9:16: error: GFX942-NEXT: expected string not found in input
# | ; GFX942-NEXT: global_load_dword v0, v[0:1], off sc1
# |                ^
# | <stdin>:9:41: note: scanning from here
# |  s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
# |                                         ^
# | <stdin>:11:2: note: possible intended match here
# |  global_atomic_or v0, v[0:1], v2, off sc0
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\idemponent-atomics.ll:25:16: error: GFX942-NEXT: expected string not found in input
# | ; GFX942-NEXT: global_load_dword v0, v[0:1], off sc1
# |                ^
# | <stdin>:42:41: note: scanning from here
# |  s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
# |                                         ^
# | <stdin>:44:2: note: possible intended match here
# |  global_atomic_or v0, v[0:1], v2, off sc0
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\idemponent-atomics.ll:159:16: error: GFX942-NEXT: expected string not found in input
# | ; GFX942-NEXT: global_load_dword v0, v[0:1], off sc0
# |                ^
# | <stdin>:289:41: note: scanning from here
# |  s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
# |                                         ^
# | <stdin>:291:2: note: possible intended match here
# |  global_atomic_add v0, v[0:1], v2, off sc0
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\idemponent-atomics.ll:175:16: error: GFX942-NEXT: expected string not found in input
# | ; GFX942-NEXT: global_load_dword v0, v[0:1], off sc0
# |                ^
# | <stdin>:322:41: note: scanning from here
# |  s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
# |                                         ^
# | <stdin>:324:2: note: possible intended match here
# |  global_atomic_add v0, v[0:1], v2, off sc0
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\idemponent-atomics.ll:191:16: error: GFX942-NEXT: expected string not found in input
# | ; GFX942-NEXT: global_load_dword v0, v[0:1], off
# |                ^
# | <stdin>:355:41: note: scanning from here
# |  s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
# |                                         ^
# | <stdin>:357:2: note: possible intended match here
# |  global_atomic_sub v0, v[0:1], v2, off sc0
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\idemponent-atomics.ll:207:16: error: GFX942-NEXT: expected string not found in input
# | ; GFX942-NEXT: global_load_dword v0, v[0:1], off
# |                ^
# | <stdin>:388:41: note: scanning from here
# |  s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
# |                                         ^
# | <stdin>:390:2: note: possible intended match here
# |  global_atomic_sub v0, v[0:1], v2, off sc0
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\idemponent-atomics.ll:239:16: error: GFX942-NEXT: expected string not found in input
# | ; GFX942-NEXT: global_load_dword v0, v[0:1], off sc0 sc1
# |                ^
# | <stdin>:453:41: note: scanning from here
# |  s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
# |                                         ^
# | <stdin>:455:2: note: possible intended match here
# |  global_atomic_xor v0, v[0:1], v2, off sc0 sc1
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\idemponent-atomics.ll:255:16: error: GFX942-NEXT: expected string not found in input
# | ; GFX942-NEXT: global_load_dword v0, v[0:1], off
# |                ^
# | <stdin>:486:41: note: scanning from here
# |  s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
# |                                         ^
# | <stdin>:488:2: note: possible intended match here
# |  global_atomic_and v0, v[0:1], v2, off sc0
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\idemponent-atomics.ll:271:16: error: GFX942-NEXT: expected string not found in input
# | ; GFX942-NEXT: global_load_dword v0, v[0:1], off
# |                ^
# | <stdin>:519:41: note: scanning from here
# |  s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
# |                                         ^
# | <stdin>:521:2: note: possible intended match here
# |  global_atomic_and v0, v[0:1], v2, off sc0
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\idemponent-atomics.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             1:  .amdgcn_target "amdgcn-amd-amdhsa--gfx942" 
# |             2:  .amdhsa_code_object_version 6 
# |             3:  .text 
# |             4:  .globl global_agent_monotonic_idempotent_or ; -- Begin function global_agent_monotonic_idempotent_or 
# |             5:  .p2align 6 
# |             6:  .type global_agent_monotonic_idempotent_or, at function 
# |             7: global_agent_monotonic_idempotent_or: ; @global_agent_monotonic_idempotent_or 
# |             8: ; %bb.0: ; %entry 
# |             9:  s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) 
# | next:9'0                                               X error: no match found
# |            10:  v_mov_b32_e32 v2, 0 
# | next:9'0       ~~~~~~~~~~~~~~~~~~~~~
# |            11:  global_atomic_or v0, v[0:1], v2, off sc0 
# | next:9'0       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:9'1        ?                                         possible intended match
# |            12:  s_waitcnt vmcnt(0) 
# | next:9'0       ~~~~~~~~~~~~~~~~~~~~
# |            13:  s_setpc_b64 s[30:31] 
# | next:9'0       ~~~~~~~~~~~~~~~~~~~~~~
# |            14: .Lfunc_end0: 
# | next:9'0       ~~~~~~~~~~~~~
# |            15:  .size global_agent_monotonic_idempotent_or, .Lfunc_end0-global_agent_monotonic_idempotent_or 
# | next:9'0       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            16:  ; -- End function 
# | next:9'0       ~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |            37:  .globl global_agent_acquire_idempotent_or ; -- Begin function global_agent_acquire_idempotent_or 
# | next:9'0       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            38:  .p2align 6 
# | next:9'0       ~~~~~~~~~~~~
# |            39:  .type global_agent_acquire_idempotent_or, at function 
# | next:9'0       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            40: global_agent_acquire_idempotent_or: ; @global_agent_acquire_idempotent_or 
# | next:9'0       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            41: ; %bb.0: ; %entry 
# |            42:  s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) 
# | next:25'0                                              X error: no match found
# |            43:  v_mov_b32_e32 v2, 0 
# | next:25'0      ~~~~~~~~~~~~~~~~~~~~~
# |            44:  global_atomic_or v0, v[0:1], v2, off sc0 
# | next:25'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:25'1       ?                                         possible intended match
# |            45:  s_waitcnt vmcnt(0) 
# | next:25'0      ~~~~~~~~~~~~~~~~~~~~
# |            46:  buffer_inv sc1 
# | next:25'0      ~~~~~~~~~~~~~~~~
# |            47:  s_setpc_b64 s[30:31] 
# | next:25'0      ~~~~~~~~~~~~~~~~~~~~~~
# |            48: .Lfunc_end1: 
# | next:25'0      ~~~~~~~~~~~~~
# |            49:  .size global_agent_acquire_idempotent_or, .Lfunc_end1-global_agent_acquire_idempotent_or 
# | next:25'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           284:  .globl global_agent_monotonic_idempotent_add ; -- Begin function global_agent_monotonic_idempotent_add 
# |           285:  .p2align 6 
# |           286:  .type global_agent_monotonic_idempotent_add, at function 
# |           287: global_agent_monotonic_idempotent_add: ; @global_agent_monotonic_idempotent_add 
# |           288: ; %bb.0: ; %entry 
# |           289:  s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) 
# | next:159'0                                             X error: no match found
# |           290:  v_mov_b32_e32 v2, 0 
# | next:159'0     ~~~~~~~~~~~~~~~~~~~~~
# |           291:  global_atomic_add v0, v[0:1], v2, off sc0 
# | next:159'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:159'1      ?                                          possible intended match
# |           292:  s_waitcnt vmcnt(0) 
# | next:159'0     ~~~~~~~~~~~~~~~~~~~~
# |           293:  s_setpc_b64 s[30:31] 
# | next:159'0     ~~~~~~~~~~~~~~~~~~~~~~
# |           294: .Lfunc_end8: 
# | next:159'0     ~~~~~~~~~~~~~
# |           295:  .size global_agent_monotonic_idempotent_add, .Lfunc_end8-global_agent_monotonic_idempotent_add 
# | next:159'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           296:  ; -- End function 
# | next:159'0     ~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           317:  .globl global_agent_monotonic_idempotent_add__no_fine_grained ; -- Begin function global_agent_monotonic_idempotent_add__no_fine_grained 
# | next:159'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           318:  .p2align 6 
# | next:159'0     ~~~~~~~~~~~~
# |           319:  .type global_agent_monotonic_idempotent_add__no_fine_grained, at function 
# | next:159'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           320: global_agent_monotonic_idempotent_add__no_fine_grained: ; @global_agent_monotonic_idempotent_add__no_fine_grained 
# | next:159'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           321: ; %bb.0: ; %entry 
# |           322:  s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) 
# | next:175'0                                             X error: no match found
# |           323:  v_mov_b32_e32 v2, 0 
# | next:175'0     ~~~~~~~~~~~~~~~~~~~~~
# |           324:  global_atomic_add v0, v[0:1], v2, off sc0 
# | next:175'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:175'1      ?                                          possible intended match
# |           325:  s_waitcnt vmcnt(0) 
# | next:175'0     ~~~~~~~~~~~~~~~~~~~~
# |           326:  s_setpc_b64 s[30:31] 
# | next:175'0     ~~~~~~~~~~~~~~~~~~~~~~
# |           327: .Lfunc_end9: 
# | next:175'0     ~~~~~~~~~~~~~
# |           328:  .size global_agent_monotonic_idempotent_add__no_fine_grained, .Lfunc_end9-global_agent_monotonic_idempotent_add__no_fine_grained 
# | next:175'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           329:  ; -- End function 
# | next:175'0     ~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           350:  .globl global_agent_monotonic_idempotent_sub ; -- Begin function global_agent_monotonic_idempotent_sub 
# | next:175'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           351:  .p2align 6 
# | next:175'0     ~~~~~~~~~~~~
# |           352:  .type global_agent_monotonic_idempotent_sub, at function 
# | next:175'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           353: global_agent_monotonic_idempotent_sub: ; @global_agent_monotonic_idempotent_sub 
# | next:175'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           354: ; %bb.0: ; %entry 
# |           355:  s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) 
# | next:191'0                                             X error: no match found
# |           356:  v_mov_b32_e32 v2, 0 
# | next:191'0     ~~~~~~~~~~~~~~~~~~~~~
# |           357:  global_atomic_sub v0, v[0:1], v2, off sc0 
# | next:191'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:191'1      ?                                          possible intended match
# |           358:  s_waitcnt vmcnt(0) 
# | next:191'0     ~~~~~~~~~~~~~~~~~~~~
# |           359:  s_setpc_b64 s[30:31] 
# | next:191'0     ~~~~~~~~~~~~~~~~~~~~~~
# |           360: .Lfunc_end10: 
# | next:191'0     ~~~~~~~~~~~~~~
# |           361:  .size global_agent_monotonic_idempotent_sub, .Lfunc_end10-global_agent_monotonic_idempotent_sub 
# | next:191'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           362:  ; -- End function 
# | next:191'0     ~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           383:  .globl global_agent_monotonic_idempotent_sub__no_fine_grained ; -- Begin function global_agent_monotonic_idempotent_sub__no_fine_grained 
# | next:191'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           384:  .p2align 6 
# | next:191'0     ~~~~~~~~~~~~
# |           385:  .type global_agent_monotonic_idempotent_sub__no_fine_grained, at function 
# | next:191'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           386: global_agent_monotonic_idempotent_sub__no_fine_grained: ; @global_agent_monotonic_idempotent_sub__no_fine_grained 
# | next:191'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           387: ; %bb.0: ; %entry 
# |           388:  s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) 
# | next:207'0                                             X error: no match found
# |           389:  v_mov_b32_e32 v2, 0 
# | next:207'0     ~~~~~~~~~~~~~~~~~~~~~
# |           390:  global_atomic_sub v0, v[0:1], v2, off sc0 
# | next:207'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:207'1      ?                                          possible intended match
# |           391:  s_waitcnt vmcnt(0) 
# | next:207'0     ~~~~~~~~~~~~~~~~~~~~
# |           392:  s_setpc_b64 s[30:31] 
# | next:207'0     ~~~~~~~~~~~~~~~~~~~~~~
# |           393: .Lfunc_end11: 
# | next:207'0     ~~~~~~~~~~~~~~
# |           394:  .size global_agent_monotonic_idempotent_sub__no_fine_grained, .Lfunc_end11-global_agent_monotonic_idempotent_sub__no_fine_grained 
# | next:207'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           395:  ; -- End function 
# | next:207'0     ~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           448:  .globl global_system_monotonic_idempotent_xor__no_fine_grained ; -- Begin function global_system_monotonic_idempotent_xor__no_fine_grained 
# |           449:  .p2align 6 
# |           450:  .type global_system_monotonic_idempotent_xor__no_fine_grained, at function 
# |           451: global_system_monotonic_idempotent_xor__no_fine_grained: ; @global_system_monotonic_idempotent_xor__no_fine_grained 
# |           452: ; %bb.0: ; %entry 
# |           453:  s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) 
# | next:239'0                                             X error: no match found
# |           454:  v_mov_b32_e32 v2, 0 
# | next:239'0     ~~~~~~~~~~~~~~~~~~~~~
# |           455:  global_atomic_xor v0, v[0:1], v2, off sc0 sc1 
# | next:239'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:239'1      ?                                              possible intended match
# |           456:  s_waitcnt vmcnt(0) 
# | next:239'0     ~~~~~~~~~~~~~~~~~~~~
# |           457:  s_setpc_b64 s[30:31] 
# | next:239'0     ~~~~~~~~~~~~~~~~~~~~~~
# |           458: .Lfunc_end13: 
# | next:239'0     ~~~~~~~~~~~~~~
# |           459:  .size global_system_monotonic_idempotent_xor__no_fine_grained, .Lfunc_end13-global_system_monotonic_idempotent_xor__no_fine_grained 
# | next:239'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           460:  ; -- End function 
# | next:239'0     ~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           481:  .globl global_agent_monotonic_idempotent_and ; -- Begin function global_agent_monotonic_idempotent_and 
# | next:239'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           482:  .p2align 6 
# | next:239'0     ~~~~~~~~~~~~
# |           483:  .type global_agent_monotonic_idempotent_and, at function 
# | next:239'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           484: global_agent_monotonic_idempotent_and: ; @global_agent_monotonic_idempotent_and 
# | next:239'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           485: ; %bb.0: ; %entry 
# |           486:  s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) 
# | next:255'0                                             X error: no match found
# |           487:  v_mov_b32_e32 v2, -1 
# | next:255'0     ~~~~~~~~~~~~~~~~~~~~~~
# |           488:  global_atomic_and v0, v[0:1], v2, off sc0 
# | next:255'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:255'1      ?                                          possible intended match
# |           489:  s_waitcnt vmcnt(0) 
# | next:255'0     ~~~~~~~~~~~~~~~~~~~~
# |           490:  s_setpc_b64 s[30:31] 
# | next:255'0     ~~~~~~~~~~~~~~~~~~~~~~
# |           491: .Lfunc_end14: 
# | next:255'0     ~~~~~~~~~~~~~~
# |           492:  .size global_agent_monotonic_idempotent_and, .Lfunc_end14-global_agent_monotonic_idempotent_and 
# | next:255'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           493:  ; -- End function 
# | next:255'0     ~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           514:  .globl global_agent_monotonic_idempotent_and_no_fined_grain ; -- Begin function global_agent_monotonic_idempotent_and_no_fined_grain 
# | next:255'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           515:  .p2align 6 
# | next:255'0     ~~~~~~~~~~~~
# |           516:  .type global_agent_monotonic_idempotent_and_no_fined_grain, at function 
# | next:255'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           517: global_agent_monotonic_idempotent_and_no_fined_grain: ; @global_agent_monotonic_idempotent_and_no_fined_grain 
# | next:255'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           518: ; %bb.0: ; %entry 
# |           519:  s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) 
# | next:271'0                                             X error: no match found
# |           520:  v_mov_b32_e32 v2, -1 
# | next:271'0     ~~~~~~~~~~~~~~~~~~~~~~
# |           521:  global_atomic_and v0, v[0:1], v2, off sc0 
# | next:271'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:271'1      ?                                          possible intended match
# |           522:  s_waitcnt vmcnt(0) 
# | next:271'0     ~~~~~~~~~~~~~~~~~~~~
# |           523:  s_setpc_b64 s[30:31] 
# | next:271'0     ~~~~~~~~~~~~~~~~~~~~~~
# |           524: .Lfunc_end15: 
# | next:271'0     ~~~~~~~~~~~~~~
# |           525:  .size global_agent_monotonic_idempotent_and_no_fined_grain, .Lfunc_end15-global_agent_monotonic_idempotent_and_no_fined_grain 
# | next:271'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           526:  ; -- End function 
# | next:271'0     ~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.CodeGen/X86/atomic-idempotent-syncscope.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\atomic-idempotent-syncscope.ll -mtriple=x86_64-- -verify-machineinstrs                           | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\atomic-idempotent-syncscope.ll --check-prefix=X64
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=x86_64-- -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\X86\atomic-idempotent-syncscope.ll' --check-prefix=X64
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\atomic-idempotent-syncscope.ll:17:13: error: X64-NEXT: expected string not found in input
# | ; X64-NEXT: #MEMBARRIER
# |             ^
# | <stdin>:8:9: note: scanning from here
# | # %bb.0:
# |         ^
# | <stdin>:11:2: note: possible intended match here
# |  # kill: def $al killed $al killed $eax
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\atomic-idempotent-syncscope.ll:101:13: error: X64-NEXT: expected string not found in input
# | ; X64-NEXT: #MEMBARRIER
# |             ^
# | <stdin>:42:9: note: scanning from here
# | # %bb.0:
# |         ^
# | <stdin>:48:2: note: possible intended match here
# |  # -- End function
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\atomic-idempotent-syncscope.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             1:  .att_syntax 
# |             2:  .file "<stdin>" 
# |             3:  .text 
# |             4:  .globl add8 # -- Begin function add8 
# |             5:  .p2align 4 
# |             6:  .type add8, at function 
# |             7: add8: # @add8 
# |             8: # %bb.0: 
# | next:17'0              X error: no match found
# |             9:  xorl %eax, %eax 
# | next:17'0      ~~~~~~~~~~~~~~~~~
# |            10:  lock xaddb %al, (%rdi) 
# | next:17'0      ~~~~~~~~~~~~~~~~~~~~~~~~
# |            11:  # kill: def $al killed $al killed $eax 
# | next:17'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:17'1       ?                                       possible intended match
# |            12:  retq 
# | next:17'0      ~~~~~~
# |            13: .Lfunc_end0: 
# | next:17'0      ~~~~~~~~~~~~~
# |            14:  .size add8, .Lfunc_end0-add8 
# | next:17'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            15:  # -- End function 
# | next:17'0      ~~~~~~~~~~~~~~~~~~~
# |            16:  .globl or16 # -- Begin function or16 
# | next:17'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |            37:  # -- End function 
# |            38:  .globl sub64 # -- Begin function sub64 
# |            39:  .p2align 4 
# |            40:  .type sub64, at function 
# |            41: sub64: # @sub64 
# |            42: # %bb.0: 
# | next:101'0             X error: no match found
# |            43:  xorl %eax, %eax 
# | next:101'0     ~~~~~~~~~~~~~~~~~
# |            44:  lock xaddq %rax, (%rdi) 
# | next:101'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
# |            45:  retq 
# | next:101'0     ~~~~~~
# |            46: .Lfunc_end3: 
# | next:101'0     ~~~~~~~~~~~~~
# |            47:  .size sub64, .Lfunc_end3-sub64 
# | next:101'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            48:  # -- End function 
# | next:101'0     ~~~~~~~~~~~~~~~~~~~
# | next:101'1      ?                  possible intended match
# |            49:  .globl or128 # -- Begin function or128 
# | next:101'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            50:  .p2align 4 
# | next:101'0     ~~~~~~~~~~~~
# |            51:  .type or128, at function 
# | next:101'0     ~~~~~~~~~~~~~~~~~~~~~~~
# |            52: or128: # @or128 
# | next:101'0     ~~~~~~
# |            53: # %bb.0: 
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.CodeGen/X86/atomic-idempotent.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\atomic-idempotent.ll -mtriple=x86_64-- -verify-machineinstrs                           | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\atomic-idempotent.ll --check-prefix=X64
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=x86_64-- -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\X86\atomic-idempotent.ll' --check-prefix=X64
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\atomic-idempotent.ll:17:13: error: X64-NEXT: expected string not found in input
# | ; X64-NEXT: lock orl $0, -{{[0-9]+}}(%rsp)
# |             ^
# | <stdin>:8:9: note: scanning from here
# | # %bb.0:
# |         ^
# | <stdin>:10:2: note: possible intended match here
# |  lock xaddb %al, (%rdi)
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\atomic-idempotent.ll:116:13: error: X64-NEXT: expected string not found in input
# | ; X64-NEXT: lock orl $0, -{{[0-9]+}}(%rsp)
# |             ^
# | <stdin>:42:9: note: scanning from here
# | # %bb.0:
# |         ^
# | <stdin>:44:2: note: possible intended match here
# |  lock xaddq %rax, (%rdi)
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\atomic-idempotent.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             1:  .att_syntax 
# |             2:  .file "<stdin>" 
# |             3:  .text 
# |             4:  .globl add8 # -- Begin function add8 
# |             5:  .p2align 4 
# |             6:  .type add8, at function 
# |             7: add8: # @add8 
# |             8: # %bb.0: 
# | next:17'0              X error: no match found
# |             9:  xorl %eax, %eax 
# | next:17'0      ~~~~~~~~~~~~~~~~~
# |            10:  lock xaddb %al, (%rdi) 
# | next:17'0      ~~~~~~~~~~~~~~~~~~~~~~~~
# | next:17'1       ?                       possible intended match
# |            11:  # kill: def $al killed $al killed $eax 
# | next:17'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            12:  retq 
# | next:17'0      ~~~~~~
# |            13: .Lfunc_end0: 
# | next:17'0      ~~~~~~~~~~~~~
# |            14:  .size add8, .Lfunc_end0-add8 
# | next:17'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            15:  # -- End function 
# | next:17'0      ~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |            37:  # -- End function 
# |            38:  .globl sub64 # -- Begin function sub64 
# |            39:  .p2align 4 
# |            40:  .type sub64, at function 
# |            41: sub64: # @sub64 
# |            42: # %bb.0: 
# | next:116'0             X error: no match found
# |            43:  xorl %eax, %eax 
# | next:116'0     ~~~~~~~~~~~~~~~~~
# |            44:  lock xaddq %rax, (%rdi) 
# | next:116'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:116'1      ?                        possible intended match
# |            45:  retq 
# | next:116'0     ~~~~~~
# |            46: .Lfunc_end3: 
# | next:116'0     ~~~~~~~~~~~~~
# |            47:  .size sub64, .Lfunc_end3-sub64 
# | next:116'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            48:  # -- End function 
# | next:116'0     ~~~~~~~~~~~~~~~~~~~
# |            49:  .globl or128 # -- Begin function or128 
# | next:116'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.CodeGen/X86/atomic-non-integer.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\atomic-non-integer.ll -mtriple=i386-linux-generic -verify-machineinstrs -mattr=sse | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\atomic-non-integer.ll --check-prefixes=X86,X86-SSE1
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=i386-linux-generic -verify-machineinstrs -mattr=sse
# 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\X86\atomic-non-integer.ll' --check-prefixes=X86,X86-SSE1
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\atomic-non-integer.ll:358:18: error: X86-SSE1-NEXT: expected string not found in input
# | ; X86-SSE1-NEXT: pushl %eax
# |                  ^
# | <stdin>:120:9: note: scanning from here
# | # %bb.0:
# |         ^
# | <stdin>:123:13: note: possible intended match here
# |  movl 12(%esp), %eax
# |             ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\atomic-non-integer.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           115:  .globl exchange_float # -- Begin function exchange_float 
# |           116:  .p2align 4 
# |           117:  .type exchange_float, at function 
# |           118: exchange_float: # @exchange_float 
# |           119:  .cfi_startproc 
# |           120: # %bb.0: 
# | next:358'0             X error: no match found
# |           121:  subl $8, %esp 
# | next:358'0     ~~~~~~~~~~~~~~~
# |           122:  .cfi_def_cfa_offset 12 
# | next:358'0     ~~~~~~~~~~~~~~~~~~~~~~~~
# |           123:  movl 12(%esp), %eax 
# | next:358'0     ~~~~~~~~~~~~~~~~~~~~~
# | next:358'1                 ?         possible intended match
# |           124:  movss 16(%esp), %xmm0 # xmm0 = mem[0],zero,zero,zero 
# | next:358'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           125:  movss %xmm0, (%esp) 
# | next:358'0     ~~~~~~~~~~~~~~~~~~~~~
# |           126:  movl (%esp), %ecx 
# | next:358'0     ~~~~~~~~~~~~~~~~~~~
# |           127:  xchgl %ecx, (%eax) 
# | next:358'0     ~~~~~~~~~~~~~~~~~~~~
# |           128:  movl %ecx, 4(%esp) 
# | next:358'0     ~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.CodeGen/X86/mfence.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\mfence.ll -mtriple=i386-unknown-unknown -mattr=+sse2 | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\mfence.ll --check-prefixes=CHECK,X86
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=i386-unknown-unknown -mattr=+sse2
# 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\X86\mfence.ll' --check-prefixes=CHECK,X86
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\mfence.ll:24:13: error: X86-NEXT: expected string not found in input
# | ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
# |             ^
# | <stdin>:21:9: note: scanning from here
# | # %bb.0:
# |         ^
# | <stdin>:22:2: note: possible intended match here
# |  movl 4(%esp), %ecx
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\mfence.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |            .
# |            .
# |            .
# |           16:  .globl fence # -- Begin function fence 
# |           17:  .p2align 4 
# |           18:  .type fence, at function 
# |           19: fence: # @fence 
# |           20:  .cfi_startproc 
# |           21: # %bb.0: 
# | next:24'0             X error: no match found
# |           22:  movl 4(%esp), %ecx 
# | next:24'0     ~~~~~~~~~~~~~~~~~~~~
# | next:24'1      ?                   possible intended match
# |           23:  xorl %eax, %eax 
# | next:24'0     ~~~~~~~~~~~~~~~~~
# |           24:  lock xaddl %eax, (%ecx) 
# | next:24'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
# |           25:  retl 
# | next:24'0     ~~~~~~
# |           26: .Lfunc_end1: 
# | next:24'0     ~~~~~~~~~~~~~
# |           27:  .size fence, .Lfunc_end1-fence 
# | next:24'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            .
# |            .
# |            .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/AtomicExpand/AArch64/expand-atomicrmw-xchg-fp.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\opt.exe -codegen-opt-level=1 -S -mtriple=aarch64-- -passes='require<libcall-lowering-info>,atomic-expand' C:\_work\llvm-project\llvm-project\llvm\test\Transforms\AtomicExpand\AArch64\expand-atomicrmw-xchg-fp.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\AtomicExpand\AArch64\expand-atomicrmw-xchg-fp.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' -codegen-opt-level=1 -S -mtriple=aarch64-- '-passes=require<libcall-lowering-info>,atomic-expand' 'C:\_work\llvm-project\llvm-project\llvm\test\Transforms\AtomicExpand\AArch64\expand-atomicrmw-xchg-fp.ll'
# 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\Transforms\AtomicExpand\AArch64\expand-atomicrmw-xchg-fp.ll'
# note: command had no output on stdout or stderr
# RUN: at line 3
c:\_work\llvm-project\llvm-project\build\bin\opt.exe -codegen-opt-level=1 -S -mtriple=aarch64-- -mattr=+outline-atomics -passes='require<libcall-lowering-info>,atomic-expand' C:\_work\llvm-project\llvm-project\llvm\test\Transforms\AtomicExpand\AArch64\expand-atomicrmw-xchg-fp.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\AtomicExpand\AArch64\expand-atomicrmw-xchg-fp.ll --check-prefix=OUTLINE-ATOMICS
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' -codegen-opt-level=1 -S -mtriple=aarch64-- -mattr=+outline-atomics '-passes=require<libcall-lowering-info>,atomic-expand' 'C:\_work\llvm-project\llvm-project\llvm\test\Transforms\AtomicExpand\AArch64\expand-atomicrmw-xchg-fp.ll'
# 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\Transforms\AtomicExpand\AArch64\expand-atomicrmw-xchg-fp.ll' --check-prefix=OUTLINE-ATOMICS
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\AtomicExpand\AArch64\expand-atomicrmw-xchg-fp.ll:21:25: error: OUTLINE-ATOMICS-NEXT: expected string not found in input
# | ; OUTLINE-ATOMICS-NEXT: [[TMP1:%.*]] = bitcast half [[VAL:%.*]] to i16
# |                         ^
# | <stdin>:6:30: note: scanning from here
# | define void @atomic_swap_f16(ptr %ptr, half %val) #0 !prof !0 {
# |                              ^
# | <stdin>:7:15: note: possible intended match here
# |  %t1 = atomicrmw xchg ptr %ptr, half %val acquire, align 2
# |               ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\AtomicExpand\AArch64\expand-atomicrmw-xchg-fp.ll:46:25: error: OUTLINE-ATOMICS-NEXT: expected string not found in input
# | ; OUTLINE-ATOMICS-NEXT: [[TMP1:%.*]] = bitcast float [[VAL:%.*]] to i32
# |                         ^
# | <stdin>:12:30: note: scanning from here
# | define void @atomic_swap_f32(ptr %ptr, float %val) #1 !prof !0 {
# |                              ^
# | <stdin>:13:15: note: possible intended match here
# |  %t1 = atomicrmw xchg ptr %ptr, float %val acquire, align 4
# |               ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\AtomicExpand\AArch64\expand-atomicrmw-xchg-fp.ll:69:25: error: OUTLINE-ATOMICS-NEXT: expected string not found in input
# | ; OUTLINE-ATOMICS-NEXT: [[TMP1:%.*]] = bitcast double [[VAL:%.*]] to i64
# |                         ^
# | <stdin>:18:30: note: scanning from here
# | define void @atomic_swap_f64(ptr %ptr, double %val) #1 !prof !0 {
# |                              ^
# | <stdin>:19:15: note: possible intended match here
# |  %t1 = atomicrmw xchg ptr %ptr, double %val acquire, align 8
# |               ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\Transforms\AtomicExpand\AArch64\expand-atomicrmw-xchg-fp.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |            1: ; ModuleID = 'C:\_work\llvm-project\llvm-project\llvm\test\Transforms\AtomicExpand\AArch64\expand-atomicrmw-xchg-fp.ll' 
# |            2: source_filename = "C:\\_work\\llvm-project\\llvm-project\\llvm\\test\\Transforms\\AtomicExpand\\AArch64\\expand-atomicrmw-xchg-fp.ll" 
# |            3: target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32" 
# |            4: target triple = "aarch64-unknown-unknown" 
# |            5:  
# |            6: define void @atomic_swap_f16(ptr %ptr, half %val) #0 !prof !0 { 
# | next:21'0                                  X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# |            7:  %t1 = atomicrmw xchg ptr %ptr, half %val acquire, align 2 
# | next:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:21'1                   ?                                             possible intended match
# |            8:  ret void 
# | next:21'0     ~~~~~~~~~~
# |            9: } 
# | next:21'0     ~~
# |           10:  
# | next:21'0     ~
# |           11: ; Function Attrs: nounwind 
# | next:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           12: define void @atomic_swap_f32(ptr %ptr, float %val) #1 !prof !0 { 
# | next:21'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:46'0                                  X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# |           13:  %t1 = atomicrmw xchg ptr %ptr, float %val acquire, align 4 
# | next:46'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:46'1                   ?                                              possible intended match
# |           14:  ret void 
# | next:46'0     ~~~~~~~~~~
# |           15: } 
# | next:46'0     ~~
# |           16:  
# | next:46'0     ~
# |           17: ; Function Attrs: nounwind 
# | next:46'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           18: define void @atomic_swap_f64(ptr %ptr, double %val) #1 !prof !0 { 
# | next:46'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:69'0                                  X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# |           19:  %t1 = atomicrmw xchg ptr %ptr, double %val acquire, align 8 
# | next:69'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:69'1                   ?                                               possible intended match
# |           20:  ret void 
# | next:69'0     ~~~~~~~~~~
# |           21: } 
# | next:69'0     ~~
# |           22:  
# | next:69'0     ~
# |           23: attributes #0 = { "target-features"="+outline-atomics" } 
# | next:69'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           24: attributes #1 = { nounwind "target-features"="+outline-atomics" } 
# | next:69'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            .
# |            .
# |            .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>

### LLVM-Unit
<details>
<summary>LLVM-Unit.IR/_/IRTests_exe/VerifierTest/AtomicRMW</summary>

```
Script:
--
C:\_work\llvm-project\llvm-project\build\unittests\IR\.\IRTests.exe --gtest_filter=VerifierTest.AtomicRMW
--
C:\_work\llvm-project\llvm-project\llvm\unittests\IR\VerifierTest.cpp:381
Value of: verifyFunction(*F, &ErrorOS)
  Actual: false
Expected: true

C:\_work\llvm-project\llvm-project\llvm\unittests\IR\VerifierTest.cpp:384
Value of: StringRef(Error).starts_with( "atomicrmw fadd operand must have floating-point or " "fixed vector of floating-point type!")
  Actual: false
Expected: true


```
</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/188393


More information about the llvm-commits mailing list