1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2# RUN: llc -march=amdgcn -mcpu=polaris10 -run-pass si-pre-emit-peephole -amdgpu-skip-threshold=1 -verify-machineinstrs  %s -o - | FileCheck %s
3
4---
5
6name: skip_execz_flat
7body: |
8  ; CHECK-LABEL: name: skip_execz_flat
9  ; CHECK: bb.0:
10  ; CHECK:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
11  ; CHECK:   S_CBRANCH_EXECZ %bb.2, implicit $exec
12  ; CHECK: bb.1:
13  ; CHECK:   successors: %bb.2(0x80000000)
14  ; CHECK:   $vgpr0 = V_MOV_B32_e32 0, implicit $exec
15  ; CHECK:   FLAT_STORE_DWORD undef $vgpr1_vgpr2, $vgpr0, 0, 0, implicit $exec, implicit $flat_scr
16  ; CHECK: bb.2:
17  ; CHECK:   S_ENDPGM 0
18  bb.0:
19    successors: %bb.1, %bb.2
20    S_CBRANCH_EXECZ   %bb.2, implicit $exec
21
22  bb.1:
23    successors: %bb.2
24    $vgpr0 = V_MOV_B32_e32 0, implicit $exec
25    FLAT_STORE_DWORD undef $vgpr1_vgpr2, $vgpr0, 0, 0, implicit $exec, implicit $flat_scr
26
27  bb.2:
28    S_ENDPGM 0
29...
30
31---
32
33name: skip_execz_mubuf
34body: |
35  ; CHECK-LABEL: name: skip_execz_mubuf
36  ; CHECK: bb.0:
37  ; CHECK:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
38  ; CHECK:   S_CBRANCH_EXECZ %bb.2, implicit $exec
39  ; CHECK: bb.1:
40  ; CHECK:   successors: %bb.2(0x80000000)
41  ; CHECK:   $vgpr0 = V_MOV_B32_e32 0, implicit $exec
42  ; CHECK:   BUFFER_STORE_DWORD_OFFSET $vgpr0, undef $sgpr0_sgpr1_sgpr2_sgpr3, undef $sgpr4, 0, 0, 0, 0, implicit $exec
43  ; CHECK: bb.2:
44  ; CHECK:   S_ENDPGM 0
45  bb.0:
46    successors: %bb.1, %bb.2
47    S_CBRANCH_EXECZ  %bb.2, implicit $exec
48
49  bb.1:
50    successors: %bb.2
51    $vgpr0 = V_MOV_B32_e32 0, implicit $exec
52    BUFFER_STORE_DWORD_OFFSET $vgpr0, undef $sgpr0_sgpr1_sgpr2_sgpr3, undef $sgpr4, 0, 0, 0, 0, implicit $exec
53
54  bb.2:
55    S_ENDPGM 0
56...
57
58---
59
60name: skip_execz_ds
61body: |
62  ; CHECK-LABEL: name: skip_execz_ds
63  ; CHECK: bb.0:
64  ; CHECK:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
65  ; CHECK:   S_CBRANCH_EXECZ %bb.2, implicit $exec
66  ; CHECK: bb.1:
67  ; CHECK:   successors: %bb.2(0x80000000)
68  ; CHECK:   $vgpr0 = V_MOV_B32_e32 0, implicit $exec
69  ; CHECK:   DS_WRITE_B32 $vgpr0, $vgpr0, 0, 0, implicit $m0, implicit $exec
70  ; CHECK: bb.2:
71  ; CHECK:   S_ENDPGM 0
72  bb.0:
73    successors: %bb.1, %bb.2
74    S_CBRANCH_EXECZ %bb.2, implicit $exec
75
76  bb.1:
77    successors: %bb.2
78    $vgpr0 = V_MOV_B32_e32 0, implicit $exec
79    DS_WRITE_B32 $vgpr0, $vgpr0, 0, 0, implicit $m0, implicit $exec
80
81  bb.2:
82    S_ENDPGM 0
83...
84