[clang][modules] Don't prevent translation of FW_Private includes when explicitly...
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / insert-skips-flat-vmem-ds.mir
blob8088794f22ca13902ab7aeabf3ae15b42b830ee1
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
4 ---
6 name: skip_execz_flat
7 body: |
8   ; CHECK-LABEL: name: skip_execz_flat
9   ; CHECK: bb.0:
10   ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
11   ; CHECK-NEXT: {{  $}}
12   ; CHECK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
13   ; CHECK-NEXT: {{  $}}
14   ; CHECK-NEXT: bb.1:
15   ; CHECK-NEXT:   successors: %bb.2(0x80000000)
16   ; CHECK-NEXT: {{  $}}
17   ; CHECK-NEXT:   $vgpr0 = V_MOV_B32_e32 0, implicit $exec
18   ; CHECK-NEXT:   FLAT_STORE_DWORD undef $vgpr1_vgpr2, $vgpr0, 0, 0, implicit $exec, implicit $flat_scr
19   ; CHECK-NEXT: {{  $}}
20   ; CHECK-NEXT: bb.2:
21   ; CHECK-NEXT:   S_ENDPGM 0
22   bb.0:
23     successors: %bb.1, %bb.2
24     S_CBRANCH_EXECZ   %bb.2, implicit $exec
26   bb.1:
27     successors: %bb.2
28     $vgpr0 = V_MOV_B32_e32 0, implicit $exec
29     FLAT_STORE_DWORD undef $vgpr1_vgpr2, $vgpr0, 0, 0, implicit $exec, implicit $flat_scr
31   bb.2:
32     S_ENDPGM 0
33 ...
35 ---
37 name: skip_execz_mubuf
38 body: |
39   ; CHECK-LABEL: name: skip_execz_mubuf
40   ; CHECK: bb.0:
41   ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
42   ; CHECK-NEXT: {{  $}}
43   ; CHECK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
44   ; CHECK-NEXT: {{  $}}
45   ; CHECK-NEXT: bb.1:
46   ; CHECK-NEXT:   successors: %bb.2(0x80000000)
47   ; CHECK-NEXT: {{  $}}
48   ; CHECK-NEXT:   $vgpr0 = V_MOV_B32_e32 0, implicit $exec
49   ; CHECK-NEXT:   BUFFER_STORE_DWORD_OFFSET $vgpr0, undef $sgpr0_sgpr1_sgpr2_sgpr3, undef $sgpr4, 0, 0, 0, implicit $exec
50   ; CHECK-NEXT: {{  $}}
51   ; CHECK-NEXT: bb.2:
52   ; CHECK-NEXT:   S_ENDPGM 0
53   bb.0:
54     successors: %bb.1, %bb.2
55     S_CBRANCH_EXECZ  %bb.2, implicit $exec
57   bb.1:
58     successors: %bb.2
59     $vgpr0 = V_MOV_B32_e32 0, implicit $exec
60     BUFFER_STORE_DWORD_OFFSET $vgpr0, undef $sgpr0_sgpr1_sgpr2_sgpr3, undef $sgpr4, 0, 0, 0, implicit $exec
62   bb.2:
63     S_ENDPGM 0
64 ...
66 ---
68 name: skip_execz_ds
69 body: |
70   ; CHECK-LABEL: name: skip_execz_ds
71   ; CHECK: bb.0:
72   ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)
73   ; CHECK-NEXT: {{  $}}
74   ; CHECK-NEXT:   S_CBRANCH_EXECZ %bb.2, implicit $exec
75   ; CHECK-NEXT: {{  $}}
76   ; CHECK-NEXT: bb.1:
77   ; CHECK-NEXT:   successors: %bb.2(0x80000000)
78   ; CHECK-NEXT: {{  $}}
79   ; CHECK-NEXT:   $vgpr0 = V_MOV_B32_e32 0, implicit $exec
80   ; CHECK-NEXT:   DS_WRITE_B32 $vgpr0, $vgpr0, 0, 0, implicit $m0, implicit $exec
81   ; CHECK-NEXT: {{  $}}
82   ; CHECK-NEXT: bb.2:
83   ; CHECK-NEXT:   S_ENDPGM 0
84   bb.0:
85     successors: %bb.1, %bb.2
86     S_CBRANCH_EXECZ %bb.2, implicit $exec
88   bb.1:
89     successors: %bb.2
90     $vgpr0 = V_MOV_B32_e32 0, implicit $exec
91     DS_WRITE_B32 $vgpr0, $vgpr0, 0, 0, implicit $m0, implicit $exec
93   bb.2:
94     S_ENDPGM 0
95 ...