@@ -187,140 +187,6 @@ entry:
187
187
ret void
188
188
}
189
189
190
- define amdgpu_kernel void @const_value (ptr addrspace (1 ) %out ) {
191
- ; GFX8DAGISEL-LABEL: const_value:
192
- ; GFX8DAGISEL: ; %bb.0: ; %entry
193
- ; GFX8DAGISEL-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x24
194
- ; GFX8DAGISEL-NEXT: v_mov_b32_e32 v2, 0x7b
195
- ; GFX8DAGISEL-NEXT: s_waitcnt lgkmcnt(0)
196
- ; GFX8DAGISEL-NEXT: v_mov_b32_e32 v0, s0
197
- ; GFX8DAGISEL-NEXT: v_mov_b32_e32 v1, s1
198
- ; GFX8DAGISEL-NEXT: flat_store_dword v[0:1], v2
199
- ; GFX8DAGISEL-NEXT: s_endpgm
200
- ;
201
- ; GFX8GISEL-LABEL: const_value:
202
- ; GFX8GISEL: ; %bb.0: ; %entry
203
- ; GFX8GISEL-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x24
204
- ; GFX8GISEL-NEXT: v_mov_b32_e32 v2, 0x7b
205
- ; GFX8GISEL-NEXT: s_waitcnt lgkmcnt(0)
206
- ; GFX8GISEL-NEXT: v_mov_b32_e32 v0, s0
207
- ; GFX8GISEL-NEXT: v_mov_b32_e32 v1, s1
208
- ; GFX8GISEL-NEXT: flat_store_dword v[0:1], v2
209
- ; GFX8GISEL-NEXT: s_endpgm
210
- ;
211
- ; GFX9DAGISEL-LABEL: const_value:
212
- ; GFX9DAGISEL: ; %bb.0: ; %entry
213
- ; GFX9DAGISEL-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x24
214
- ; GFX9DAGISEL-NEXT: v_mov_b32_e32 v0, 0
215
- ; GFX9DAGISEL-NEXT: v_mov_b32_e32 v1, 0x7b
216
- ; GFX9DAGISEL-NEXT: s_waitcnt lgkmcnt(0)
217
- ; GFX9DAGISEL-NEXT: global_store_dword v0, v1, s[0:1]
218
- ; GFX9DAGISEL-NEXT: s_endpgm
219
- ;
220
- ; GFX9GISEL-LABEL: const_value:
221
- ; GFX9GISEL: ; %bb.0: ; %entry
222
- ; GFX9GISEL-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x24
223
- ; GFX9GISEL-NEXT: v_mov_b32_e32 v0, 0x7b
224
- ; GFX9GISEL-NEXT: v_mov_b32_e32 v1, 0
225
- ; GFX9GISEL-NEXT: s_waitcnt lgkmcnt(0)
226
- ; GFX9GISEL-NEXT: global_store_dword v1, v0, s[0:1]
227
- ; GFX9GISEL-NEXT: s_endpgm
228
- ;
229
- ; GFX10DAGISEL-LABEL: const_value:
230
- ; GFX10DAGISEL: ; %bb.0: ; %entry
231
- ; GFX10DAGISEL-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x24
232
- ; GFX10DAGISEL-NEXT: v_mov_b32_e32 v0, 0
233
- ; GFX10DAGISEL-NEXT: v_mov_b32_e32 v1, 0x7b
234
- ; GFX10DAGISEL-NEXT: s_waitcnt lgkmcnt(0)
235
- ; GFX10DAGISEL-NEXT: global_store_dword v0, v1, s[0:1]
236
- ; GFX10DAGISEL-NEXT: s_endpgm
237
- ;
238
- ; GFX10GISEL-LABEL: const_value:
239
- ; GFX10GISEL: ; %bb.0: ; %entry
240
- ; GFX10GISEL-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x24
241
- ; GFX10GISEL-NEXT: v_mov_b32_e32 v0, 0x7b
242
- ; GFX10GISEL-NEXT: v_mov_b32_e32 v1, 0
243
- ; GFX10GISEL-NEXT: s_waitcnt lgkmcnt(0)
244
- ; GFX10GISEL-NEXT: global_store_dword v1, v0, s[0:1]
245
- ; GFX10GISEL-NEXT: s_endpgm
246
- ;
247
- ; GFX1164DAGISEL-LABEL: const_value:
248
- ; GFX1164DAGISEL: ; %bb.0: ; %entry
249
- ; GFX1164DAGISEL-NEXT: s_load_b64 s[0:1], s[4:5], 0x24
250
- ; GFX1164DAGISEL-NEXT: v_mov_b32_e32 v0, 0
251
- ; GFX1164DAGISEL-NEXT: v_mov_b32_e32 v1, 0x7b
252
- ; GFX1164DAGISEL-NEXT: s_waitcnt lgkmcnt(0)
253
- ; GFX1164DAGISEL-NEXT: global_store_b32 v0, v1, s[0:1]
254
- ; GFX1164DAGISEL-NEXT: s_endpgm
255
- ;
256
- ; GFX1164GISEL-LABEL: const_value:
257
- ; GFX1164GISEL: ; %bb.0: ; %entry
258
- ; GFX1164GISEL-NEXT: s_load_b64 s[0:1], s[4:5], 0x24
259
- ; GFX1164GISEL-NEXT: v_mov_b32_e32 v0, 0x7b
260
- ; GFX1164GISEL-NEXT: v_mov_b32_e32 v1, 0
261
- ; GFX1164GISEL-NEXT: s_waitcnt lgkmcnt(0)
262
- ; GFX1164GISEL-NEXT: global_store_b32 v1, v0, s[0:1]
263
- ; GFX1164GISEL-NEXT: s_endpgm
264
- ;
265
- ; GFX1132DAGISEL-LABEL: const_value:
266
- ; GFX1132DAGISEL: ; %bb.0: ; %entry
267
- ; GFX1132DAGISEL-NEXT: s_load_b64 s[0:1], s[4:5], 0x24
268
- ; GFX1132DAGISEL-NEXT: v_dual_mov_b32 v0, 0 :: v_dual_mov_b32 v1, 0x7b
269
- ; GFX1132DAGISEL-NEXT: s_waitcnt lgkmcnt(0)
270
- ; GFX1132DAGISEL-NEXT: global_store_b32 v0, v1, s[0:1]
271
- ; GFX1132DAGISEL-NEXT: s_endpgm
272
- ;
273
- ; GFX1132GISEL-LABEL: const_value:
274
- ; GFX1132GISEL: ; %bb.0: ; %entry
275
- ; GFX1132GISEL-NEXT: s_load_b64 s[0:1], s[4:5], 0x24
276
- ; GFX1132GISEL-NEXT: v_dual_mov_b32 v0, 0x7b :: v_dual_mov_b32 v1, 0
277
- ; GFX1132GISEL-NEXT: s_waitcnt lgkmcnt(0)
278
- ; GFX1132GISEL-NEXT: global_store_b32 v1, v0, s[0:1]
279
- ; GFX1132GISEL-NEXT: s_endpgm
280
- entry:
281
- %result = call i32 @llvm.amdgcn.wave.reduce.add.i32 (i32 123 , i32 1 )
282
- store i32 %result , ptr addrspace (1 ) %out
283
- ret void
284
- }
285
-
286
- define amdgpu_kernel void @poison_value (ptr addrspace (1 ) %out , i32 %in ) {
287
- ; GFX8DAGISEL-LABEL: poison_value:
288
- ; GFX8DAGISEL: ; %bb.0: ; %entry
289
- ; GFX8DAGISEL-NEXT: s_endpgm
290
- ;
291
- ; GFX8GISEL-LABEL: poison_value:
292
- ; GFX8GISEL: ; %bb.0: ; %entry
293
- ; GFX8GISEL-NEXT: s_endpgm
294
- ;
295
- ; GFX9DAGISEL-LABEL: poison_value:
296
- ; GFX9DAGISEL: ; %bb.0: ; %entry
297
- ; GFX9DAGISEL-NEXT: s_endpgm
298
- ;
299
- ; GFX9GISEL-LABEL: poison_value:
300
- ; GFX9GISEL: ; %bb.0: ; %entry
301
- ; GFX9GISEL-NEXT: s_endpgm
302
- ;
303
- ; GFX10DAGISEL-LABEL: poison_value:
304
- ; GFX10DAGISEL: ; %bb.0: ; %entry
305
- ; GFX10DAGISEL-NEXT: s_endpgm
306
- ;
307
- ; GFX10GISEL-LABEL: poison_value:
308
- ; GFX10GISEL: ; %bb.0: ; %entry
309
- ; GFX10GISEL-NEXT: s_endpgm
310
- ;
311
- ; GFX11DAGISEL-LABEL: poison_value:
312
- ; GFX11DAGISEL: ; %bb.0: ; %entry
313
- ; GFX11DAGISEL-NEXT: s_endpgm
314
- ;
315
- ; GFX11GISEL-LABEL: poison_value:
316
- ; GFX11GISEL: ; %bb.0: ; %entry
317
- ; GFX11GISEL-NEXT: s_endpgm
318
- entry:
319
- %result = call i32 @llvm.amdgcn.wave.reduce.add.i32 (i32 poison, i32 1 )
320
- store i32 %result , ptr addrspace (1 ) %out
321
- ret void
322
- }
323
-
324
190
define amdgpu_kernel void @divergent_value (ptr addrspace (1 ) %out ) {
325
191
; GFX8DAGISEL-LABEL: divergent_value:
326
192
; GFX8DAGISEL: ; %bb.0: ; %entry
@@ -1250,146 +1116,6 @@ entry:
1250
1116
ret void
1251
1117
}
1252
1118
1253
- define amdgpu_kernel void @const_value_i64 (ptr addrspace (1 ) %out ) {
1254
- ; GFX8DAGISEL-LABEL: const_value_i64:
1255
- ; GFX8DAGISEL: ; %bb.0: ; %entry
1256
- ; GFX8DAGISEL-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x24
1257
- ; GFX8DAGISEL-NEXT: v_mov_b32_e32 v0, 0x7b
1258
- ; GFX8DAGISEL-NEXT: v_mov_b32_e32 v1, 0
1259
- ; GFX8DAGISEL-NEXT: s_waitcnt lgkmcnt(0)
1260
- ; GFX8DAGISEL-NEXT: v_mov_b32_e32 v3, s1
1261
- ; GFX8DAGISEL-NEXT: v_mov_b32_e32 v2, s0
1262
- ; GFX8DAGISEL-NEXT: flat_store_dwordx2 v[2:3], v[0:1]
1263
- ; GFX8DAGISEL-NEXT: s_endpgm
1264
- ;
1265
- ; GFX8GISEL-LABEL: const_value_i64:
1266
- ; GFX8GISEL: ; %bb.0: ; %entry
1267
- ; GFX8GISEL-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x24
1268
- ; GFX8GISEL-NEXT: v_mov_b32_e32 v0, 0x7b
1269
- ; GFX8GISEL-NEXT: v_mov_b32_e32 v1, 0
1270
- ; GFX8GISEL-NEXT: s_waitcnt lgkmcnt(0)
1271
- ; GFX8GISEL-NEXT: v_mov_b32_e32 v3, s1
1272
- ; GFX8GISEL-NEXT: v_mov_b32_e32 v2, s0
1273
- ; GFX8GISEL-NEXT: flat_store_dwordx2 v[2:3], v[0:1]
1274
- ; GFX8GISEL-NEXT: s_endpgm
1275
- ;
1276
- ; GFX9DAGISEL-LABEL: const_value_i64:
1277
- ; GFX9DAGISEL: ; %bb.0: ; %entry
1278
- ; GFX9DAGISEL-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x24
1279
- ; GFX9DAGISEL-NEXT: v_mov_b32_e32 v1, 0
1280
- ; GFX9DAGISEL-NEXT: v_mov_b32_e32 v0, 0x7b
1281
- ; GFX9DAGISEL-NEXT: s_waitcnt lgkmcnt(0)
1282
- ; GFX9DAGISEL-NEXT: global_store_dwordx2 v1, v[0:1], s[0:1]
1283
- ; GFX9DAGISEL-NEXT: s_endpgm
1284
- ;
1285
- ; GFX9GISEL-LABEL: const_value_i64:
1286
- ; GFX9GISEL: ; %bb.0: ; %entry
1287
- ; GFX9GISEL-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x24
1288
- ; GFX9GISEL-NEXT: v_mov_b32_e32 v0, 0x7b
1289
- ; GFX9GISEL-NEXT: v_mov_b32_e32 v1, 0
1290
- ; GFX9GISEL-NEXT: v_mov_b32_e32 v2, 0
1291
- ; GFX9GISEL-NEXT: s_waitcnt lgkmcnt(0)
1292
- ; GFX9GISEL-NEXT: global_store_dwordx2 v2, v[0:1], s[0:1]
1293
- ; GFX9GISEL-NEXT: s_endpgm
1294
- ;
1295
- ; GFX10DAGISEL-LABEL: const_value_i64:
1296
- ; GFX10DAGISEL: ; %bb.0: ; %entry
1297
- ; GFX10DAGISEL-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x24
1298
- ; GFX10DAGISEL-NEXT: v_mov_b32_e32 v1, 0
1299
- ; GFX10DAGISEL-NEXT: v_mov_b32_e32 v0, 0x7b
1300
- ; GFX10DAGISEL-NEXT: s_waitcnt lgkmcnt(0)
1301
- ; GFX10DAGISEL-NEXT: global_store_dwordx2 v1, v[0:1], s[0:1]
1302
- ; GFX10DAGISEL-NEXT: s_endpgm
1303
- ;
1304
- ; GFX10GISEL-LABEL: const_value_i64:
1305
- ; GFX10GISEL: ; %bb.0: ; %entry
1306
- ; GFX10GISEL-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x24
1307
- ; GFX10GISEL-NEXT: v_mov_b32_e32 v0, 0x7b
1308
- ; GFX10GISEL-NEXT: v_mov_b32_e32 v1, 0
1309
- ; GFX10GISEL-NEXT: v_mov_b32_e32 v2, 0
1310
- ; GFX10GISEL-NEXT: s_waitcnt lgkmcnt(0)
1311
- ; GFX10GISEL-NEXT: global_store_dwordx2 v2, v[0:1], s[0:1]
1312
- ; GFX10GISEL-NEXT: s_endpgm
1313
- ;
1314
- ; GFX1164DAGISEL-LABEL: const_value_i64:
1315
- ; GFX1164DAGISEL: ; %bb.0: ; %entry
1316
- ; GFX1164DAGISEL-NEXT: s_load_b64 s[0:1], s[4:5], 0x24
1317
- ; GFX1164DAGISEL-NEXT: v_mov_b32_e32 v1, 0
1318
- ; GFX1164DAGISEL-NEXT: v_mov_b32_e32 v0, 0x7b
1319
- ; GFX1164DAGISEL-NEXT: s_waitcnt lgkmcnt(0)
1320
- ; GFX1164DAGISEL-NEXT: global_store_b64 v1, v[0:1], s[0:1]
1321
- ; GFX1164DAGISEL-NEXT: s_endpgm
1322
- ;
1323
- ; GFX1164GISEL-LABEL: const_value_i64:
1324
- ; GFX1164GISEL: ; %bb.0: ; %entry
1325
- ; GFX1164GISEL-NEXT: s_load_b64 s[0:1], s[4:5], 0x24
1326
- ; GFX1164GISEL-NEXT: v_mov_b32_e32 v0, 0x7b
1327
- ; GFX1164GISEL-NEXT: v_mov_b32_e32 v1, 0
1328
- ; GFX1164GISEL-NEXT: v_mov_b32_e32 v2, 0
1329
- ; GFX1164GISEL-NEXT: s_waitcnt lgkmcnt(0)
1330
- ; GFX1164GISEL-NEXT: global_store_b64 v2, v[0:1], s[0:1]
1331
- ; GFX1164GISEL-NEXT: s_endpgm
1332
- ;
1333
- ; GFX1132DAGISEL-LABEL: const_value_i64:
1334
- ; GFX1132DAGISEL: ; %bb.0: ; %entry
1335
- ; GFX1132DAGISEL-NEXT: s_load_b64 s[0:1], s[4:5], 0x24
1336
- ; GFX1132DAGISEL-NEXT: v_dual_mov_b32 v1, 0 :: v_dual_mov_b32 v0, 0x7b
1337
- ; GFX1132DAGISEL-NEXT: s_waitcnt lgkmcnt(0)
1338
- ; GFX1132DAGISEL-NEXT: global_store_b64 v1, v[0:1], s[0:1]
1339
- ; GFX1132DAGISEL-NEXT: s_endpgm
1340
- ;
1341
- ; GFX1132GISEL-LABEL: const_value_i64:
1342
- ; GFX1132GISEL: ; %bb.0: ; %entry
1343
- ; GFX1132GISEL-NEXT: s_load_b64 s[0:1], s[4:5], 0x24
1344
- ; GFX1132GISEL-NEXT: v_mov_b32_e32 v0, 0x7b
1345
- ; GFX1132GISEL-NEXT: v_dual_mov_b32 v1, 0 :: v_dual_mov_b32 v2, 0
1346
- ; GFX1132GISEL-NEXT: s_waitcnt lgkmcnt(0)
1347
- ; GFX1132GISEL-NEXT: global_store_b64 v2, v[0:1], s[0:1]
1348
- ; GFX1132GISEL-NEXT: s_endpgm
1349
- entry:
1350
- %result = call i64 @llvm.amdgcn.wave.reduce.add.i64 (i64 123 , i32 1 )
1351
- store i64 %result , ptr addrspace (1 ) %out
1352
- ret void
1353
- }
1354
-
1355
- define amdgpu_kernel void @poison_value_i64 (ptr addrspace (1 ) %out , i64 %in ) {
1356
- ; GFX8DAGISEL-LABEL: poison_value_i64:
1357
- ; GFX8DAGISEL: ; %bb.0: ; %entry
1358
- ; GFX8DAGISEL-NEXT: s_endpgm
1359
- ;
1360
- ; GFX8GISEL-LABEL: poison_value_i64:
1361
- ; GFX8GISEL: ; %bb.0: ; %entry
1362
- ; GFX8GISEL-NEXT: s_endpgm
1363
- ;
1364
- ; GFX9DAGISEL-LABEL: poison_value_i64:
1365
- ; GFX9DAGISEL: ; %bb.0: ; %entry
1366
- ; GFX9DAGISEL-NEXT: s_endpgm
1367
- ;
1368
- ; GFX9GISEL-LABEL: poison_value_i64:
1369
- ; GFX9GISEL: ; %bb.0: ; %entry
1370
- ; GFX9GISEL-NEXT: s_endpgm
1371
- ;
1372
- ; GFX10DAGISEL-LABEL: poison_value_i64:
1373
- ; GFX10DAGISEL: ; %bb.0: ; %entry
1374
- ; GFX10DAGISEL-NEXT: s_endpgm
1375
- ;
1376
- ; GFX10GISEL-LABEL: poison_value_i64:
1377
- ; GFX10GISEL: ; %bb.0: ; %entry
1378
- ; GFX10GISEL-NEXT: s_endpgm
1379
- ;
1380
- ; GFX11DAGISEL-LABEL: poison_value_i64:
1381
- ; GFX11DAGISEL: ; %bb.0: ; %entry
1382
- ; GFX11DAGISEL-NEXT: s_endpgm
1383
- ;
1384
- ; GFX11GISEL-LABEL: poison_value_i64:
1385
- ; GFX11GISEL: ; %bb.0: ; %entry
1386
- ; GFX11GISEL-NEXT: s_endpgm
1387
- entry:
1388
- %result = call i64 @llvm.amdgcn.wave.reduce.add.i64 (i64 poison, i32 1 )
1389
- store i64 %result , ptr addrspace (1 ) %out
1390
- ret void
1391
- }
1392
-
1393
1119
define void @divergent_value_i64 (ptr addrspace (1 ) %out , i64 %id.x ) {
1394
1120
; GFX8DAGISEL-LABEL: divergent_value_i64:
1395
1121
; GFX8DAGISEL: ; %bb.0: ; %entry
0 commit comments