blob: aeebafc647ca694d65f78f4d11e046898d701dbe [file]
# RUN: split-file %s %t
;--- bad-expression.mir
# RUN: not llc %t/bad-expression.mir -mtriple=amdgpu12.00 -run-pass=none -filetype=null 2>&1 | FileCheck %t/bad-expression.mir --strict-whitespace --match-full-lines
---
# CHECK:error: {{.*}} expected <CounterName>_<CounterNum>
# CHECK-NEXT: S_WAIT_LOADCNT_DSCNT .BadExpression
# CHECK-NEXT: ^
name: BadExpression
body: |
bb.0:
S_WAIT_LOADCNT_DSCNT .BadExpression
...
;--- loadcnt-too-large.mir
# RUN: not llc %t/loadcnt-too-large.mir -mtriple=amdgpu12.00 -run-pass=none -filetype=null 2>&1 | FileCheck %t/loadcnt-too-large.mir --strict-whitespace --match-full-lines
---
# CHECK:error: {{.*}} counter value too large
# CHECK-NEXT: S_WAIT_LOADCNT_DSCNT .Loadcnt_99999
# CHECK-NEXT: ^
name: LoadcntTooLarge
body: |
bb.0:
S_WAIT_LOADCNT_DSCNT .Loadcnt_99999
...
;--- dscnt-too-large.mir
# RUN: not llc %t/dscnt-too-large.mir -mtriple=amdgpu12.00 -run-pass=none -filetype=null 2>&1 | FileCheck %t/dscnt-too-large.mir --strict-whitespace --match-full-lines
---
# CHECK:error: {{.*}} counter value too large
# CHECK-NEXT: S_WAIT_LOADCNT_DSCNT .Dscnt_99999
# CHECK-NEXT: ^
name: DscntTooLarge
body: |
bb.0:
S_WAIT_LOADCNT_DSCNT .Dscnt_99999
...
;--- expected-prefix.mir
# RUN: not llc %t/expected-prefix.mir -mtriple=amdgpu12.00 -run-pass=none -filetype=null 2>&1 | FileCheck %t/expected-prefix.mir
---
# CHECK: error: {{.*}}
name: MissingDotPrefix
body: |
bb.0:
S_WAIT_LOADCNT_DSCNT MissingDotPrefix
...
;--- invalid-counter-name.mir
# RUN: not llc %t/invalid-counter-name.mir -mtriple=amdgpu12.00 -run-pass=none -filetype=null 2>&1 | FileCheck %t/invalid-counter-name.mir --strict-whitespace --match-full-lines
---
# CHECK:error: {{.*}} invalid counter name
# CHECK-NEXT: S_WAIT_LOADCNT_DSCNT .InvalidCounterName_1
# CHECK-NEXT: ^
name: InvalidCounterName
body: |
bb.0:
S_WAIT_LOADCNT_DSCNT .InvalidCounterName_1
...
;--- loadcnt-non-integer.mir
# RUN: not llc %t/loadcnt-non-integer.mir -mtriple=amdgpu12.00 -run-pass=none -filetype=null 2>&1 | FileCheck %t/loadcnt-non-integer.mir --strict-whitespace --match-full-lines
---
# CHECK:error: {{.*}} expected non-negative integer counter number
# CHECK-NEXT: S_WAIT_LOADCNT_DSCNT .Loadcnt_BadCnt
# CHECK-NEXT: ^
name: LoadcntNonInteger
body: |
bb.0:
S_WAIT_LOADCNT_DSCNT .Loadcnt_BadCnt
...
;--- dscnt-non-integer.mir
# RUN: not llc %t/dscnt-non-integer.mir -mtriple=amdgpu12.00 -run-pass=none -filetype=null 2>&1 | FileCheck %t/dscnt-non-integer.mir --strict-whitespace --match-full-lines
---
# CHECK:error: {{.*}} expected non-negative integer counter number
# CHECK-NEXT: S_WAIT_LOADCNT_DSCNT .Dscnt_BadCnt
# CHECK-NEXT: ^
name: DscntNonInteger
body: |
bb.0:
S_WAIT_LOADCNT_DSCNT .Dscnt_BadCnt
...
;--- loadcnt-negative.mir
# RUN: not llc %t/loadcnt-negative.mir -mtriple=amdgpu12.00 -run-pass=none -filetype=null 2>&1 | FileCheck %t/loadcnt-negative.mir --strict-whitespace --match-full-lines
---
# CHECK:error: {{.*}} expected non-negative integer counter number
# CHECK-NEXT: S_WAIT_LOADCNT_DSCNT .Loadcnt_-1
# CHECK-NEXT: ^
name: LoadcntNegative
body: |
bb.0:
S_WAIT_LOADCNT_DSCNT .Loadcnt_-1
...
;--- dscnt-negative.mir
# RUN: not llc %t/dscnt-negative.mir -mtriple=amdgpu12.00 -run-pass=none -filetype=null 2>&1 | FileCheck %t/dscnt-negative.mir --strict-whitespace --match-full-lines
---
# CHECK:error: {{.*}} expected non-negative integer counter number
# CHECK-NEXT: S_WAIT_LOADCNT_DSCNT .Dscnt_-1
# CHECK-NEXT: ^
name: DscntNegative
body: |
bb.0:
S_WAIT_LOADCNT_DSCNT .Dscnt_-1
...
;--- valid-loadcnt-invalid-dscnt.mir
# RUN: not llc %t/valid-loadcnt-invalid-dscnt.mir -mtriple=amdgpu12.00 -run-pass=none -filetype=null 2>&1 | FileCheck %t/valid-loadcnt-invalid-dscnt.mir --strict-whitespace --match-full-lines
---
# CHECK:error: {{.*}} counter value too large
# CHECK-NEXT: S_WAIT_LOADCNT_DSCNT .Loadcnt_0_Dscnt_99999
# CHECK-NEXT: ^
name: ValidLoadcntInvalidDscnt
body: |
bb.0:
S_WAIT_LOADCNT_DSCNT .Loadcnt_0_Dscnt_99999
...
;--- valid-loadcnt-invalid-name.mir
# RUN: not llc %t/valid-loadcnt-invalid-name.mir -mtriple=amdgpu12.00 -run-pass=none -filetype=null 2>&1 | FileCheck %t/valid-loadcnt-invalid-name.mir --strict-whitespace --match-full-lines
---
# CHECK:error: {{.*}} invalid counter name
# CHECK-NEXT: S_WAIT_LOADCNT_DSCNT .Loadcnt_0_BadName_1
# CHECK-NEXT: ^
name: ValidLoadcntInvalidName
body: |
bb.0:
S_WAIT_LOADCNT_DSCNT .Loadcnt_0_BadName_1
...
;--- valid-loadcnt-non-integer-dscnt.mir
# RUN: not llc %t/valid-loadcnt-non-integer-dscnt.mir -mtriple=amdgpu12.00 -run-pass=none -filetype=null 2>&1 | FileCheck %t/valid-loadcnt-non-integer-dscnt.mir --strict-whitespace --match-full-lines
---
# CHECK:error: {{.*}} expected non-negative integer counter number
# CHECK-NEXT: S_WAIT_LOADCNT_DSCNT .Loadcnt_0_Dscnt_abc
# CHECK-NEXT: ^
name: ValidLoadcntNonIntegerDscnt
body: |
bb.0:
S_WAIT_LOADCNT_DSCNT .Loadcnt_0_Dscnt_abc
...