[ORC] Add std::tuple support to SimplePackedSerialization.
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / insert-skips-flat-vmem-ds.mir
blob7b37990dfa45e597510e2ab53c7571fff5095f9e
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:   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
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
27   bb.2:
28     S_ENDPGM 0
29 ...
31 ---
33 name: skip_execz_mubuf
34 body: |
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
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
54   bb.2:
55     S_ENDPGM 0
56 ...
58 ---
60 name: skip_execz_ds
61 body: |
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
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
81   bb.2:
82     S_ENDPGM 0
83 ...