Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / waitcnt-vscnt.mir
blob01ebe4422b2ff76905d7a3f7cf34c316d18dd722
1 # RUN: llc -march=amdgcn -mcpu=gfx1010 -verify-machineinstrs -run-pass si-insert-waitcnts -o - %s | FileCheck -check-prefixes=GCN,GFX10 %s
2 # RUN: llc -march=amdgcn -mcpu=gfx1100 -verify-machineinstrs -run-pass si-insert-waitcnts -o - %s | FileCheck -check-prefixes=GCN,GFX11 %s
4 # GCN-LABEL: waitcnt-vscnt
5 # GCN: GLOBAL_ATOMIC_ADD_RTN
6 # GFX10-NEXT: S_WAITCNT 49279
7 # GFX11-NEXT: S_WAITCNT 64519
8 ---
9 name: waitcnt-vscnt
10 machineFunctionInfo:
11   isEntryFunction: true
12 body: |
13   bb.0:
14     liveins: $sgpr0_sgpr1
15     $sgpr4 = S_LOAD_DWORD_IMM $sgpr0_sgpr1, 4, 0 :: (dereferenceable invariant load (s32) from `ptr addrspace(4) undef`)
16     S_WAITCNT_VSCNT undef $sgpr_null, 0
17     $vgpr0 = GLOBAL_ATOMIC_ADD_RTN $vgpr0_vgpr1, $vgpr2, 0, 1, implicit $exec :: (load store syncscope("agent") seq_cst (s32), addrspace 1)
18     S_CMP_LG_U32 killed $sgpr4, 0, implicit-def $scc
19 ...