llvm/llvm/test/CodeGen/AMDGPU/insert-skips-gfx12.mir

# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 5
# RUN: llc -mtriple=amdgcn -mcpu=gfx1200 -run-pass si-pre-emit-peephole -verify-machineinstrs  %s -o - | FileCheck %s

---
name: skip_wait_loadcnt
body: |
  ; CHECK-LABEL: name: skip_wait_loadcnt
  ; CHECK: bb.0:
  ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.1:
  ; CHECK-NEXT:   successors: %bb.2(0x80000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   V_NOP_e32 implicit $exec
  ; CHECK-NEXT:   S_WAIT_LOADCNT 0
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.2:
  ; CHECK-NEXT:   S_ENDPGM 0
  bb.0:
    successors: %bb.1, %bb.2
    S_CBRANCH_EXECZ %bb.2, implicit $exec

  bb.1:
    successors: %bb.2
    V_NOP_e32 implicit $exec
    S_WAIT_LOADCNT 0

  bb.2:
    S_ENDPGM 0
...

---
name: skip_wait_loadcnt_dscnt
body: |
  ; CHECK-LABEL: name: skip_wait_loadcnt_dscnt
  ; CHECK: bb.0:
  ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.1:
  ; CHECK-NEXT:   successors: %bb.2(0x80000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   V_NOP_e32 implicit $exec
  ; CHECK-NEXT:   S_WAIT_LOADCNT_DSCNT 0
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.2:
  ; CHECK-NEXT:   S_ENDPGM 0
  bb.0:
    successors: %bb.1, %bb.2
    S_CBRANCH_EXECZ %bb.2, implicit $exec

  bb.1:
    successors: %bb.2
    V_NOP_e32 implicit $exec
    S_WAIT_LOADCNT_DSCNT 0

  bb.2:
    S_ENDPGM 0
...

---
name: skip_wait_storecnt
body: |
  ; CHECK-LABEL: name: skip_wait_storecnt
  ; CHECK: bb.0:
  ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.1:
  ; CHECK-NEXT:   successors: %bb.2(0x80000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   V_NOP_e32 implicit $exec
  ; CHECK-NEXT:   S_WAIT_STORECNT 0
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.2:
  ; CHECK-NEXT:   S_ENDPGM 0
  bb.0:
    successors: %bb.1, %bb.2
    S_CBRANCH_EXECZ %bb.2, implicit $exec

  bb.1:
    successors: %bb.2
    V_NOP_e32 implicit $exec
    S_WAIT_STORECNT 0

  bb.2:
    S_ENDPGM 0
...

---
name: skip_wait_storecnt_dscnt
body: |
  ; CHECK-LABEL: name: skip_wait_storecnt_dscnt
  ; CHECK: bb.0:
  ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.1:
  ; CHECK-NEXT:   successors: %bb.2(0x80000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   V_NOP_e32 implicit $exec
  ; CHECK-NEXT:   S_WAIT_STORECNT_DSCNT 0
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.2:
  ; CHECK-NEXT:   S_ENDPGM 0
  bb.0:
    successors: %bb.1, %bb.2
    S_CBRANCH_EXECZ %bb.2, implicit $exec

  bb.1:
    successors: %bb.2
    V_NOP_e32 implicit $exec
    S_WAIT_STORECNT_DSCNT 0

  bb.2:
    S_ENDPGM 0
...

---
name: skip_wait_samplecnt
body: |
  ; CHECK-LABEL: name: skip_wait_samplecnt
  ; CHECK: bb.0:
  ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.1:
  ; CHECK-NEXT:   successors: %bb.2(0x80000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   V_NOP_e32 implicit $exec
  ; CHECK-NEXT:   S_WAIT_SAMPLECNT 0
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.2:
  ; CHECK-NEXT:   S_ENDPGM 0
  bb.0:
    successors: %bb.1, %bb.2
    S_CBRANCH_EXECZ %bb.2, implicit $exec

  bb.1:
    successors: %bb.2
    V_NOP_e32 implicit $exec
    S_WAIT_SAMPLECNT 0

  bb.2:
    S_ENDPGM 0
...

---
name: skip_wait_bvhcnt
body: |
  ; CHECK-LABEL: name: skip_wait_bvhcnt
  ; CHECK: bb.0:
  ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.1:
  ; CHECK-NEXT:   successors: %bb.2(0x80000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   V_NOP_e32 implicit $exec
  ; CHECK-NEXT:   S_WAIT_BVHCNT 0
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.2:
  ; CHECK-NEXT:   S_ENDPGM 0
  bb.0:
    successors: %bb.1, %bb.2
    S_CBRANCH_EXECZ %bb.2, implicit $exec

  bb.1:
    successors: %bb.2
    V_NOP_e32 implicit $exec
    S_WAIT_BVHCNT 0

  bb.2:
    S_ENDPGM 0
...

---
name: skip_wait_expcnt
body: |
  ; CHECK-LABEL: name: skip_wait_expcnt
  ; CHECK: bb.0:
  ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.1:
  ; CHECK-NEXT:   successors: %bb.2(0x80000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   V_NOP_e32 implicit $exec
  ; CHECK-NEXT:   S_WAIT_EXPCNT 0
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.2:
  ; CHECK-NEXT:   S_ENDPGM 0
  bb.0:
    successors: %bb.1, %bb.2
    S_CBRANCH_EXECZ %bb.2, implicit $exec

  bb.1:
    successors: %bb.2
    V_NOP_e32 implicit $exec
    S_WAIT_EXPCNT 0

  bb.2:
    S_ENDPGM 0
...

---
name: skip_wait_dscnt
body: |
  ; CHECK-LABEL: name: skip_wait_dscnt
  ; CHECK: bb.0:
  ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.1:
  ; CHECK-NEXT:   successors: %bb.2(0x80000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   V_NOP_e32 implicit $exec
  ; CHECK-NEXT:   S_WAIT_DSCNT 0
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.2:
  ; CHECK-NEXT:   S_ENDPGM 0
  bb.0:
    successors: %bb.1, %bb.2
    S_CBRANCH_EXECZ %bb.2, implicit $exec

  bb.1:
    successors: %bb.2
    V_NOP_e32 implicit $exec
    S_WAIT_DSCNT 0

  bb.2:
    S_ENDPGM 0
...

---
name: skip_wait_kmcnt
body: |
  ; CHECK-LABEL: name: skip_wait_kmcnt
  ; CHECK: bb.0:
  ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.1:
  ; CHECK-NEXT:   successors: %bb.2(0x80000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   V_NOP_e32 implicit $exec
  ; CHECK-NEXT:   S_WAIT_KMCNT 0
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.2:
  ; CHECK-NEXT:   S_ENDPGM 0
  bb.0:
    successors: %bb.1, %bb.2
    S_CBRANCH_EXECZ %bb.2, implicit $exec

  bb.1:
    successors: %bb.2
    V_NOP_e32 implicit $exec
    S_WAIT_KMCNT 0

  bb.2:
    S_ENDPGM 0
...

---
name: skip_wait_idle
body: |
  ; CHECK-LABEL: name: skip_wait_idle
  ; CHECK: bb.0:
  ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.1:
  ; CHECK-NEXT:   successors: %bb.2(0x80000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   V_NOP_e32 implicit $exec
  ; CHECK-NEXT:   S_WAIT_IDLE
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.2:
  ; CHECK-NEXT:   S_ENDPGM 0
  bb.0:
    successors: %bb.1, %bb.2
    S_CBRANCH_EXECZ %bb.2, implicit $exec

  bb.1:
    successors: %bb.2
    V_NOP_e32 implicit $exec
    S_WAIT_IDLE

  bb.2:
    S_ENDPGM 0
...

---
name: skip_wait_event
body: |
  ; CHECK-LABEL: name: skip_wait_event
  ; CHECK: bb.0:
  ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.1:
  ; CHECK-NEXT:   successors: %bb.2(0x80000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   V_NOP_e32 implicit $exec
  ; CHECK-NEXT:   S_WAIT_EVENT 0
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.2:
  ; CHECK-NEXT:   S_ENDPGM 0
  bb.0:
    successors: %bb.1, %bb.2
    S_CBRANCH_EXECZ %bb.2, implicit $exec

  bb.1:
    successors: %bb.2
    V_NOP_e32 implicit $exec
    S_WAIT_EVENT 0

  bb.2:
    S_ENDPGM 0
...

---
name: skip_barrier_signal_imm
body: |
  ; CHECK-LABEL: name: skip_barrier_signal_imm
  ; CHECK: bb.0:
  ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.1:
  ; CHECK-NEXT:   successors: %bb.2(0x80000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   V_NOP_e32 implicit $exec
  ; CHECK-NEXT:   S_BARRIER_SIGNAL_IMM -1
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.2:
  ; CHECK-NEXT:   S_ENDPGM 0
  bb.0:
    successors: %bb.1, %bb.2
    S_CBRANCH_EXECZ %bb.2, implicit $exec

  bb.1:
    successors: %bb.2
    V_NOP_e32 implicit $exec
    S_BARRIER_SIGNAL_IMM -1

  bb.2:
    S_ENDPGM 0
...

---
name: skip_barrier_signal_isfirst_imm
body: |
  ; CHECK-LABEL: name: skip_barrier_signal_isfirst_imm
  ; CHECK: bb.0:
  ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.1:
  ; CHECK-NEXT:   successors: %bb.2(0x80000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   V_NOP_e32 implicit $exec
  ; CHECK-NEXT:   S_BARRIER_SIGNAL_ISFIRST_IMM -1, implicit-def $scc
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.2:
  ; CHECK-NEXT:   S_ENDPGM 0
  bb.0:
    successors: %bb.1, %bb.2
    S_CBRANCH_EXECZ %bb.2, implicit $exec

  bb.1:
    successors: %bb.2
    V_NOP_e32 implicit $exec
    S_BARRIER_SIGNAL_ISFIRST_IMM -1, implicit-def $scc

  bb.2:
    S_ENDPGM 0
...

---
name: skip_barrier_signal_m0
body: |
  ; CHECK-LABEL: name: skip_barrier_signal_m0
  ; CHECK: bb.0:
  ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.1:
  ; CHECK-NEXT:   successors: %bb.2(0x80000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   V_NOP_e32 implicit $exec
  ; CHECK-NEXT:   $m0 = S_MOV_B32 -1
  ; CHECK-NEXT:   S_BARRIER_SIGNAL_M0 implicit $m0
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.2:
  ; CHECK-NEXT:   S_ENDPGM 0
  bb.0:
    successors: %bb.1, %bb.2
    S_CBRANCH_EXECZ %bb.2, implicit $exec

  bb.1:
    successors: %bb.2
    V_NOP_e32 implicit $exec
    $m0 = S_MOV_B32 -1
    S_BARRIER_SIGNAL_M0 implicit $m0

  bb.2:
    S_ENDPGM 0
...

---
name: skip_barrier_signal_isfirst_m0
body: |
  ; CHECK-LABEL: name: skip_barrier_signal_isfirst_m0
  ; CHECK: bb.0:
  ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.1:
  ; CHECK-NEXT:   successors: %bb.2(0x80000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   V_NOP_e32 implicit $exec
  ; CHECK-NEXT:   $m0 = S_MOV_B32 -1
  ; CHECK-NEXT:   S_BARRIER_SIGNAL_ISFIRST_M0 implicit $m0, implicit-def $scc
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.2:
  ; CHECK-NEXT:   S_ENDPGM 0
  bb.0:
    successors: %bb.1, %bb.2
    S_CBRANCH_EXECZ %bb.2, implicit $exec

  bb.1:
    successors: %bb.2
    V_NOP_e32 implicit $exec
    $m0 = S_MOV_B32 -1
    S_BARRIER_SIGNAL_ISFIRST_M0 implicit $m0, implicit-def $scc

  bb.2:
    S_ENDPGM 0
...

---
name: skip_barrier_wait
body: |
  ; CHECK-LABEL: name: skip_barrier_wait
  ; CHECK: bb.0:
  ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.1:
  ; CHECK-NEXT:   successors: %bb.2(0x80000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   V_NOP_e32 implicit $exec
  ; CHECK-NEXT:   S_BARRIER_WAIT -1
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.2:
  ; CHECK-NEXT:   S_ENDPGM 0
  bb.0:
    successors: %bb.1, %bb.2
    S_CBRANCH_EXECZ %bb.2, implicit $exec

  bb.1:
    successors: %bb.2
    V_NOP_e32 implicit $exec
    S_BARRIER_WAIT -1

  bb.2:
    S_ENDPGM 0
...

---
name: skip_barrier_init_imm
body: |
  ; CHECK-LABEL: name: skip_barrier_init_imm
  ; CHECK: bb.0:
  ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.1:
  ; CHECK-NEXT:   successors: %bb.2(0x80000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   V_NOP_e32 implicit $exec
  ; CHECK-NEXT:   $m0 = S_MOV_B32 -1
  ; CHECK-NEXT:   S_BARRIER_INIT_IMM -1, implicit $m0
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.2:
  ; CHECK-NEXT:   S_ENDPGM 0
  bb.0:
    successors: %bb.1, %bb.2
    S_CBRANCH_EXECZ %bb.2, implicit $exec

  bb.1:
    successors: %bb.2
    V_NOP_e32 implicit $exec
    $m0 = S_MOV_B32 -1
    S_BARRIER_INIT_IMM -1, implicit $m0

  bb.2:
    S_ENDPGM 0
...

---
name: skip_barrier_init_m0
body: |
  ; CHECK-LABEL: name: skip_barrier_init_m0
  ; CHECK: bb.0:
  ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.1:
  ; CHECK-NEXT:   successors: %bb.2(0x80000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   V_NOP_e32 implicit $exec
  ; CHECK-NEXT:   $m0 = S_MOV_B32 -1
  ; CHECK-NEXT:   S_BARRIER_INIT_M0 implicit $m0
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.2:
  ; CHECK-NEXT:   S_ENDPGM 0
  bb.0:
    successors: %bb.1, %bb.2
    S_CBRANCH_EXECZ %bb.2, implicit $exec

  bb.1:
    successors: %bb.2
    V_NOP_e32 implicit $exec
    $m0 = S_MOV_B32 -1
    S_BARRIER_INIT_M0 implicit $m0

  bb.2:
    S_ENDPGM 0
...

---
name: skip_barrier_join_imm
body: |
  ; CHECK-LABEL: name: skip_barrier_join_imm
  ; CHECK: bb.0:
  ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.1:
  ; CHECK-NEXT:   successors: %bb.2(0x80000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   V_NOP_e32 implicit $exec
  ; CHECK-NEXT:   S_BARRIER_JOIN_IMM -1
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.2:
  ; CHECK-NEXT:   S_ENDPGM 0
  bb.0:
    successors: %bb.1, %bb.2
    S_CBRANCH_EXECZ %bb.2, implicit $exec

  bb.1:
    successors: %bb.2
    V_NOP_e32 implicit $exec
    S_BARRIER_JOIN_IMM -1

  bb.2:
    S_ENDPGM 0
...

---
name: skip_barrier_leave
body: |
  ; CHECK-LABEL: name: skip_barrier_leave
  ; CHECK: bb.0:
  ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.1:
  ; CHECK-NEXT:   successors: %bb.2(0x80000000)
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT:   V_NOP_e32 implicit $exec
  ; CHECK-NEXT:   S_BARRIER_LEAVE implicit-def $scc
  ; CHECK-NEXT: {{  $}}
  ; CHECK-NEXT: bb.2:
  ; CHECK-NEXT:   S_ENDPGM 0
  bb.0:
    successors: %bb.1, %bb.2
    S_CBRANCH_EXECZ %bb.2, implicit $exec

  bb.1:
    successors: %bb.2
    V_NOP_e32 implicit $exec
    S_BARRIER_LEAVE implicit-def $scc

  bb.2:
    S_ENDPGM 0
...