1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=hawaii -run-pass=instruction-select -verify-machineinstrs -o - %s | FileCheck -check-prefixes=GCN %s
6 name: implicit_def_s32_sgpr
12 ; GCN-LABEL: name: implicit_def_s32_sgpr
13 ; GCN: [[DEF:%[0-9]+]]:sreg_32 = IMPLICIT_DEF
14 ; GCN-NEXT: S_ENDPGM 0, implicit [[DEF]]
15 %0:sgpr(s32) = G_IMPLICIT_DEF
16 S_ENDPGM 0, implicit %0
20 name: implicit_def_s32_vgpr
26 ; GCN-LABEL: name: implicit_def_s32_vgpr
27 ; GCN: [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
28 ; GCN-NEXT: S_ENDPGM 0, implicit [[DEF]]
29 %0:vgpr(s32) = G_IMPLICIT_DEF
30 S_ENDPGM 0, implicit %0
35 name: implicit_def_s64_sgpr
41 ; GCN-LABEL: name: implicit_def_s64_sgpr
42 ; GCN: [[DEF:%[0-9]+]]:sreg_64 = IMPLICIT_DEF
43 ; GCN-NEXT: S_ENDPGM 0, implicit [[DEF]]
44 %0:sgpr(s64) = G_IMPLICIT_DEF
45 S_ENDPGM 0, implicit %0
50 name: implicit_def_s64_vgpr
56 ; GCN-LABEL: name: implicit_def_s64_vgpr
57 ; GCN: [[DEF:%[0-9]+]]:vreg_64 = IMPLICIT_DEF
58 ; GCN-NEXT: S_ENDPGM 0, implicit [[DEF]]
59 %0:vgpr(s64) = G_IMPLICIT_DEF
60 S_ENDPGM 0, implicit %0
64 name: implicit_def_p0_sgpr
70 ; GCN-LABEL: name: implicit_def_p0_sgpr
71 ; GCN: [[DEF:%[0-9]+]]:sreg_64 = IMPLICIT_DEF
72 ; GCN-NEXT: S_ENDPGM 0, implicit [[DEF]]
73 %0:sgpr(p0) = G_IMPLICIT_DEF
74 S_ENDPGM 0, implicit %0
78 name: implicit_def_p0_vgpr
84 ; GCN-LABEL: name: implicit_def_p0_vgpr
85 ; GCN: [[DEF:%[0-9]+]]:vreg_64 = IMPLICIT_DEF
86 ; GCN-NEXT: S_ENDPGM 0, implicit [[DEF]]
87 %0:vgpr(p0) = G_IMPLICIT_DEF
88 S_ENDPGM 0, implicit %0
93 name: implicit_def_p1_vgpr
99 ; GCN-LABEL: name: implicit_def_p1_vgpr
100 ; GCN: [[DEF:%[0-9]+]]:vreg_64 = IMPLICIT_DEF
101 ; GCN-NEXT: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 4, implicit $exec
102 ; GCN-NEXT: FLAT_STORE_DWORD [[DEF]], [[V_MOV_B32_e32_]], 0, 0, implicit $exec, implicit $flat_scr :: (store (s32), addrspace 1)
103 %0:vgpr(p1) = G_IMPLICIT_DEF
104 %1:vgpr(s32) = G_CONSTANT i32 4
105 G_STORE %1, %0 :: (store (s32), addrspace 1)
110 name: implicit_def_p3_vgpr
112 regBankSelected: true
116 ; GCN-LABEL: name: implicit_def_p3_vgpr
117 ; GCN: [[DEF:%[0-9]+]]:vreg_64 = IMPLICIT_DEF
118 ; GCN-NEXT: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 4, implicit $exec
119 ; GCN-NEXT: $m0 = S_MOV_B32 -1
120 ; GCN-NEXT: FLAT_STORE_DWORD [[DEF]], [[V_MOV_B32_e32_]], 0, 0, implicit $exec, implicit $flat_scr :: (store (s32), addrspace 1)
121 %0:vgpr(p3) = G_IMPLICIT_DEF
122 %1:vgpr(s32) = G_CONSTANT i32 4
123 G_STORE %1, %0 :: (store (s32), addrspace 1)
128 name: implicit_def_p4_vgpr
130 regBankSelected: true
134 ; GCN-LABEL: name: implicit_def_p4_vgpr
135 ; GCN: [[DEF:%[0-9]+]]:vreg_64 = IMPLICIT_DEF
136 ; GCN-NEXT: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 4, implicit $exec
137 ; GCN-NEXT: FLAT_STORE_DWORD [[DEF]], [[V_MOV_B32_e32_]], 0, 0, implicit $exec, implicit $flat_scr :: (store (s32), addrspace 1)
138 %0:vgpr(p4) = G_IMPLICIT_DEF
139 %1:vgpr(s32) = G_CONSTANT i32 4
140 G_STORE %1, %0 :: (store (s32), addrspace 1)
145 name: implicit_def_s1_vgpr
147 regBankSelected: true
151 ; GCN-LABEL: name: implicit_def_s1_vgpr
152 ; GCN: [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF
153 ; GCN-NEXT: S_ENDPGM 0, implicit [[DEF]]
154 %0:vgpr(s1) = G_IMPLICIT_DEF
155 S_ENDPGM 0, implicit %0
160 name: implicit_def_s1_sgpr
162 regBankSelected: true
166 ; GCN-LABEL: name: implicit_def_s1_sgpr
167 ; GCN: [[DEF:%[0-9]+]]:sreg_32 = IMPLICIT_DEF
168 ; GCN-NEXT: S_ENDPGM 0, implicit [[DEF]]
169 %0:sgpr(s1) = G_IMPLICIT_DEF
170 S_ENDPGM 0, implicit %0
175 name: implicit_def_s1_vcc
177 regBankSelected: true
181 ; GCN-LABEL: name: implicit_def_s1_vcc
182 ; GCN: [[DEF:%[0-9]+]]:sreg_64_xexec = IMPLICIT_DEF
183 ; GCN-NEXT: S_ENDPGM 0, implicit [[DEF]]
184 %0:vcc(s1) = G_IMPLICIT_DEF
185 S_ENDPGM 0, implicit %0
190 name: implicit_def_s1024_sgpr
192 regBankSelected: true
196 ; GCN-LABEL: name: implicit_def_s1024_sgpr
197 ; GCN: [[DEF:%[0-9]+]]:sgpr_1024 = IMPLICIT_DEF
198 ; GCN-NEXT: S_ENDPGM 0, implicit [[DEF]]
199 %0:sgpr(s1024) = G_IMPLICIT_DEF
200 S_ENDPGM 0, implicit %0
204 name: implicit_def_s1024_vgpr
206 regBankSelected: true
210 ; GCN-LABEL: name: implicit_def_s1024_vgpr
211 ; GCN: [[DEF:%[0-9]+]]:vreg_1024 = IMPLICIT_DEF
212 ; GCN-NEXT: S_ENDPGM 0, implicit [[DEF]]
213 %0:vgpr(s1024) = G_IMPLICIT_DEF
214 S_ENDPGM 0, implicit %0