1 # REQUIRES: asserts 2 # RUN: llc -mtriple=amdgcn -verify-machineinstrs -run-pass si-insert-waitcnts -debug-counter=si-insert-waitcnts-forcelgkm-count=1 -o - %s | FileCheck -check-prefixes=GCN,LGKM %s 3 # RUN: llc -mtriple=amdgcn -verify-machineinstrs -run-pass si-insert-waitcnts -debug-counter=si-insert-waitcnts-forceexp-count=2 -o - %s | FileCheck -check-prefixes=GCN,EXP %s 4 # RUN: llc -mtriple=amdgcn -verify-machineinstrs -run-pass si-insert-waitcnts -debug-counter=si-insert-waitcnts-forcevm-count=3 -o - %s | FileCheck -check-prefixes=GCN,VM %s 5 # RUN: llc -mtriple=amdgcn -verify-machineinstrs -run-pass si-insert-waitcnts -amdgpu-waitcnt-forcezero=1 -debug-counter=si-insert-waitcnts-forcevm-count=2 -o - %s | FileCheck -check-prefixes=GCN,ZERO %s 6 7 # check that the waitcnt pass options that force insertion of waitcnt instructions are working as expected 8 9 ... 10 # GCN-LABEL: name: waitcnt-debug 11 # LGKM: S_WAITCNT 127 12 # LGKM-NEXT: S_NOP 0 13 # LGKM-NEXT: S_NOP 0 14 15 # EXP: S_WAITCNT 3855 16 # EXP-NEXT: S_NOP 0 17 # EXP-NEXT: S_WAITCNT 3855 18 # EXP-NEXT: S_NOP 0 19 20 # VM: S_WAITCNT 3952 21 # VM-NEXT: S_NOP 0 22 # VM-NEXT: S_WAITCNT 3952 23 # VM-NEXT: S_NOP 0 24 # VM-NEXT: S_WAITCNT 3952 25 # VM-NEXT: S_NOP 0 26 27 # ZERO: S_WAITCNT 0 28 # ZERO-NEXT: S_WAITCNT 0 29 # ZERO-NEXT: S_NOP 0 30 # ZERO-NEXT: S_WAITCNT 0 31 # ZERO-NEXT: S_NOP 0 32 33 name: waitcnt-debug 34 liveins: 35 body: | 36 bb.0: 37 S_NOP 0 38 S_NOP 0 39 S_NOP 0 40 S_NOP 0 41 ... 42