| # REQUIRES: asserts |
| # 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 |
| # 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 |
| # 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 |
| # 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 |
| |
| # check that the waitcnt pass options that force insertion of waitcnt instructions are working as expected |
| |
| ... |
| # GCN-LABEL: name: waitcnt-debug |
| # LGKM: S_WAITCNT 127 |
| # LGKM-NEXT: S_NOP 0 |
| # LGKM-NEXT: S_NOP 0 |
| |
| # EXP: S_WAITCNT 3855 |
| # EXP-NEXT: S_NOP 0 |
| # EXP-NEXT: S_WAITCNT 3855 |
| # EXP-NEXT: S_NOP 0 |
| |
| # VM: S_WAITCNT 3952 |
| # VM-NEXT: S_NOP 0 |
| # VM-NEXT: S_WAITCNT 3952 |
| # VM-NEXT: S_NOP 0 |
| # VM-NEXT: S_WAITCNT 3952 |
| # VM-NEXT: S_NOP 0 |
| |
| # ZERO: S_WAITCNT 0 |
| # ZERO-NEXT: S_WAITCNT 0 |
| # ZERO-NEXT: S_NOP 0 |
| # ZERO-NEXT: S_WAITCNT 0 |
| # ZERO-NEXT: S_NOP 0 |
| |
| name: waitcnt-debug |
| liveins: |
| body: | |
| bb.0: |
| S_NOP 0 |
| S_NOP 0 |
| S_NOP 0 |
| S_NOP 0 |
| ... |