@@ -320,13 +320,6 @@ define i32 @cast_private_to_flat_to_local(ptr addrspace(5) %private.ptr) {
320
320
; DAGISEL-ASM-LABEL: cast_private_to_flat_to_local:
321
321
; DAGISEL-ASM: ; %bb.0:
322
322
; DAGISEL-ASM-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
323
- ; DAGISEL-ASM-NEXT: s_mov_b64 s[4:5], src_private_base
324
- ; DAGISEL-ASM-NEXT: v_mov_b32_e32 v1, s5
325
- ; DAGISEL-ASM-NEXT: v_cmp_ne_u32_e32 vcc, -1, v0
326
- ; DAGISEL-ASM-NEXT: v_cndmask_b32_e32 v1, 0, v1, vcc
327
- ; DAGISEL-ASM-NEXT: v_cndmask_b32_e32 v0, 0, v0, vcc
328
- ; DAGISEL-ASM-NEXT: v_cmp_ne_u64_e32 vcc, 0, v[0:1]
329
- ; DAGISEL-ASM-NEXT: v_cndmask_b32_e32 v0, -1, v0, vcc
330
323
; DAGISEL-ASM-NEXT: ds_read_b32 v0, v0
331
324
; DAGISEL-ASM-NEXT: s_waitcnt lgkmcnt(0)
332
325
; DAGISEL-ASM-NEXT: s_setpc_b64 s[30:31]
@@ -359,15 +352,22 @@ define i32 @cast_private_to_flat_to_global(ptr addrspace(6) %const32.ptr) {
359
352
; OPT-NEXT: [[LOAD:%.*]] = load volatile i32, ptr addrspace(3) [[LOCAL_PTR]], align 4
360
353
; OPT-NEXT: ret i32 [[LOAD]]
361
354
;
362
- ; ASM-LABEL: cast_private_to_flat_to_global:
363
- ; ASM: ; %bb.0:
364
- ; ASM-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
365
- ; ASM-NEXT: v_mov_b32_e32 v1, 0
366
- ; ASM-NEXT: v_cmp_ne_u64_e32 vcc, 0, v[0:1]
367
- ; ASM-NEXT: v_cndmask_b32_e32 v0, -1, v0, vcc
368
- ; ASM-NEXT: ds_read_b32 v0, v0
369
- ; ASM-NEXT: s_waitcnt lgkmcnt(0)
370
- ; ASM-NEXT: s_setpc_b64 s[30:31]
355
+ ; DAGISEL-ASM-LABEL: cast_private_to_flat_to_global:
356
+ ; DAGISEL-ASM: ; %bb.0:
357
+ ; DAGISEL-ASM-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
358
+ ; DAGISEL-ASM-NEXT: ds_read_b32 v0, v0
359
+ ; DAGISEL-ASM-NEXT: s_waitcnt lgkmcnt(0)
360
+ ; DAGISEL-ASM-NEXT: s_setpc_b64 s[30:31]
361
+ ;
362
+ ; GISEL-ASM-LABEL: cast_private_to_flat_to_global:
363
+ ; GISEL-ASM: ; %bb.0:
364
+ ; GISEL-ASM-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
365
+ ; GISEL-ASM-NEXT: v_mov_b32_e32 v1, 0
366
+ ; GISEL-ASM-NEXT: v_cmp_ne_u64_e32 vcc, 0, v[0:1]
367
+ ; GISEL-ASM-NEXT: v_cndmask_b32_e32 v0, -1, v0, vcc
368
+ ; GISEL-ASM-NEXT: ds_read_b32 v0, v0
369
+ ; GISEL-ASM-NEXT: s_waitcnt lgkmcnt(0)
370
+ ; GISEL-ASM-NEXT: s_setpc_b64 s[30:31]
371
371
%flat.ptr = addrspacecast ptr addrspace (6 ) %const32.ptr to ptr
372
372
%local.ptr = addrspacecast ptr %flat.ptr to ptr addrspace (3 )
373
373
%load = load volatile i32 , ptr addrspace (3 ) %local.ptr
0 commit comments