diff options
Diffstat (limited to 'llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll')
| -rw-r--r-- | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll | 49 | 
1 files changed, 23 insertions, 26 deletions
| diff --git a/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll b/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll index 7ff5eb4..0795f40 100644 --- a/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll +++ b/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll @@ -9,7 +9,7 @@ declare double @llvm.amdgcn.readlane.f64(double, i32) #0  define amdgpu_kernel void @test_readlane_sreg_sreg_i32(i32 %src0, i32 %src1) #1 {  ; CHECK-SDAG-LABEL: test_readlane_sreg_sreg_i32:  ; CHECK-SDAG:       ; %bb.0: -; CHECK-SDAG-NEXT:    s_load_dwordx2 s[0:1], s[8:9], 0x0 +; CHECK-SDAG-NEXT:    s_load_dword s0, s[8:9], 0x0  ; CHECK-SDAG-NEXT:    s_waitcnt lgkmcnt(0)  ; CHECK-SDAG-NEXT:    ;;#ASMSTART  ; CHECK-SDAG-NEXT:    ; use s0 @@ -18,7 +18,7 @@ define amdgpu_kernel void @test_readlane_sreg_sreg_i32(i32 %src0, i32 %src1) #1  ;  ; CHECK-GISEL-LABEL: test_readlane_sreg_sreg_i32:  ; CHECK-GISEL:       ; %bb.0: -; CHECK-GISEL-NEXT:    s_load_dwordx2 s[0:1], s[8:9], 0x0 +; CHECK-GISEL-NEXT:    s_load_dword s0, s[8:9], 0x0  ; CHECK-GISEL-NEXT:    s_waitcnt lgkmcnt(0)  ; CHECK-GISEL-NEXT:    ;;#ASMSTART  ; CHECK-GISEL-NEXT:    ; use s0 @@ -224,14 +224,13 @@ define amdgpu_kernel void @test_readlane_imm_sreg_i64(ptr addrspace(1) %out, i32  ; CHECK-GISEL-LABEL: test_readlane_imm_sreg_i64:  ; CHECK-GISEL:       ; %bb.0:  ; CHECK-GISEL-NEXT:    s_load_dwordx2 s[0:1], s[8:9], 0x0 -; CHECK-GISEL-NEXT:    s_mov_b64 s[2:3], 32  ; CHECK-GISEL-NEXT:    s_add_i32 s12, s12, s17 -; CHECK-GISEL-NEXT:    v_mov_b32_e32 v0, s2 +; CHECK-GISEL-NEXT:    v_mov_b32_e32 v0, 32  ; CHECK-GISEL-NEXT:    s_mov_b32 flat_scratch_lo, s13 +; CHECK-GISEL-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 8  ; CHECK-GISEL-NEXT:    s_waitcnt lgkmcnt(0)  ; CHECK-GISEL-NEXT:    v_mov_b32_e32 v3, s1 -; CHECK-GISEL-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 8 -; CHECK-GISEL-NEXT:    v_mov_b32_e32 v1, s3 +; CHECK-GISEL-NEXT:    v_mov_b32_e32 v1, 0  ; CHECK-GISEL-NEXT:    v_mov_b32_e32 v2, s0  ; CHECK-GISEL-NEXT:    flat_store_dwordx2 v[2:3], v[0:1]  ; CHECK-GISEL-NEXT:    s_endpgm @@ -258,15 +257,13 @@ define amdgpu_kernel void @test_readlane_imm_sreg_f64(ptr addrspace(1) %out, i32  ; CHECK-GISEL-LABEL: test_readlane_imm_sreg_f64:  ; CHECK-GISEL:       ; %bb.0:  ; CHECK-GISEL-NEXT:    s_load_dwordx2 s[0:1], s[8:9], 0x0 -; CHECK-GISEL-NEXT:    s_mov_b32 s2, 0  ; CHECK-GISEL-NEXT:    s_add_i32 s12, s12, s17 -; CHECK-GISEL-NEXT:    s_mov_b32 s3, 0x40400000 -; CHECK-GISEL-NEXT:    v_mov_b32_e32 v0, s2 -; CHECK-GISEL-NEXT:    s_waitcnt lgkmcnt(0) -; CHECK-GISEL-NEXT:    v_mov_b32_e32 v3, s1 +; CHECK-GISEL-NEXT:    v_mov_b32_e32 v0, 0  ; CHECK-GISEL-NEXT:    s_mov_b32 flat_scratch_lo, s13  ; CHECK-GISEL-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 8 -; CHECK-GISEL-NEXT:    v_mov_b32_e32 v1, s3 +; CHECK-GISEL-NEXT:    s_waitcnt lgkmcnt(0) +; CHECK-GISEL-NEXT:    v_mov_b32_e32 v3, s1 +; CHECK-GISEL-NEXT:    v_mov_b32_e32 v1, 0x40400000  ; CHECK-GISEL-NEXT:    v_mov_b32_e32 v2, s0  ; CHECK-GISEL-NEXT:    flat_store_dwordx2 v[2:3], v[0:1]  ; CHECK-GISEL-NEXT:    s_endpgm @@ -660,17 +657,17 @@ define amdgpu_kernel void @test_readlane_copy_from_sgpr_i64(ptr addrspace(1) %ou  ; CHECK-SDAG:       ; %bb.0:  ; CHECK-SDAG-NEXT:    s_load_dwordx2 s[0:1], s[8:9], 0x0  ; CHECK-SDAG-NEXT:    s_add_i32 s12, s12, s17 -; CHECK-SDAG-NEXT:    s_mov_b32 flat_scratch_lo, s13 -; CHECK-SDAG-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 8  ; CHECK-SDAG-NEXT:    ;;#ASMSTART  ; CHECK-SDAG-NEXT:    s_mov_b64 s[2:3], 0  ; CHECK-SDAG-NEXT:    ;;#ASMEND +; CHECK-SDAG-NEXT:    v_mov_b32_e32 v2, s2 +; CHECK-SDAG-NEXT:    s_mov_b32 flat_scratch_lo, s13  ; CHECK-SDAG-NEXT:    s_waitcnt lgkmcnt(0) -; CHECK-SDAG-NEXT:    v_mov_b32_e32 v3, s1 -; CHECK-SDAG-NEXT:    v_mov_b32_e32 v0, s2 -; CHECK-SDAG-NEXT:    v_mov_b32_e32 v1, s3 -; CHECK-SDAG-NEXT:    v_mov_b32_e32 v2, s0 -; CHECK-SDAG-NEXT:    flat_store_dwordx2 v[2:3], v[0:1] +; CHECK-SDAG-NEXT:    v_mov_b32_e32 v0, s0 +; CHECK-SDAG-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 8 +; CHECK-SDAG-NEXT:    v_mov_b32_e32 v1, s1 +; CHECK-SDAG-NEXT:    v_mov_b32_e32 v3, s3 +; CHECK-SDAG-NEXT:    flat_store_dwordx2 v[0:1], v[2:3]  ; CHECK-SDAG-NEXT:    s_endpgm  ;  ; CHECK-GISEL-LABEL: test_readlane_copy_from_sgpr_i64: @@ -700,17 +697,17 @@ define amdgpu_kernel void @test_readlane_copy_from_sgpr_f64(ptr addrspace(1) %ou  ; CHECK-SDAG:       ; %bb.0:  ; CHECK-SDAG-NEXT:    s_load_dwordx2 s[0:1], s[8:9], 0x0  ; CHECK-SDAG-NEXT:    s_add_i32 s12, s12, s17 -; CHECK-SDAG-NEXT:    s_mov_b32 flat_scratch_lo, s13 -; CHECK-SDAG-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 8  ; CHECK-SDAG-NEXT:    ;;#ASMSTART  ; CHECK-SDAG-NEXT:    s_mov_b64 s[2:3], 0  ; CHECK-SDAG-NEXT:    ;;#ASMEND +; CHECK-SDAG-NEXT:    v_mov_b32_e32 v2, s2 +; CHECK-SDAG-NEXT:    s_mov_b32 flat_scratch_lo, s13  ; CHECK-SDAG-NEXT:    s_waitcnt lgkmcnt(0) -; CHECK-SDAG-NEXT:    v_mov_b32_e32 v3, s1 -; CHECK-SDAG-NEXT:    v_mov_b32_e32 v0, s2 -; CHECK-SDAG-NEXT:    v_mov_b32_e32 v1, s3 -; CHECK-SDAG-NEXT:    v_mov_b32_e32 v2, s0 -; CHECK-SDAG-NEXT:    flat_store_dwordx2 v[2:3], v[0:1] +; CHECK-SDAG-NEXT:    v_mov_b32_e32 v0, s0 +; CHECK-SDAG-NEXT:    s_lshr_b32 flat_scratch_hi, s12, 8 +; CHECK-SDAG-NEXT:    v_mov_b32_e32 v1, s1 +; CHECK-SDAG-NEXT:    v_mov_b32_e32 v3, s3 +; CHECK-SDAG-NEXT:    flat_store_dwordx2 v[0:1], v[2:3]  ; CHECK-SDAG-NEXT:    s_endpgm  ;  ; CHECK-GISEL-LABEL: test_readlane_copy_from_sgpr_f64: | 
