diff options
Diffstat (limited to 'llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll')
| -rw-r--r-- | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll | 48 | 
1 files changed, 22 insertions, 26 deletions
| diff --git a/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll b/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll index d1ba892..02d2990 100644 --- a/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll +++ b/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll @@ -396,8 +396,7 @@ define amdgpu_kernel void @test_readfirstlane_imm_f64(ptr addrspace(1) %out) {  ;  ; CHECK-GISEL-LABEL: test_readfirstlane_imm_f64:  ; CHECK-GISEL:       ; %bb.0: -; CHECK-GISEL-NEXT:    s_mov_b32 s0, 0 -; CHECK-GISEL-NEXT:    s_mov_b32 s1, 0x40400000 +; CHECK-GISEL-NEXT:    s_mov_b64 s[0:1], 0x4040000000000000  ; CHECK-GISEL-NEXT:    ;;#ASMSTART  ; CHECK-GISEL-NEXT:    ; use s[0:1]  ; CHECK-GISEL-NEXT:    ;;#ASMEND @@ -456,14 +455,13 @@ define amdgpu_kernel void @test_readfirstlane_imm_fold_i64(ptr addrspace(1) %out  ; CHECK-GISEL-LABEL: test_readfirstlane_imm_fold_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 @@ -490,15 +488,13 @@ define amdgpu_kernel void @test_readfirstlane_imm_fold_f64(ptr addrspace(1) %out  ; CHECK-GISEL-LABEL: test_readfirstlane_imm_fold_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 @@ -588,17 +584,17 @@ define amdgpu_kernel void @test_readfirstlane_copy_from_sgpr_i64(ptr addrspace(1  ; 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_readfirstlane_copy_from_sgpr_i64: @@ -628,17 +624,17 @@ define amdgpu_kernel void @test_readfirstlane_copy_from_sgpr_f64(ptr addrspace(1  ; 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_readfirstlane_copy_from_sgpr_f64: | 
