aboutsummaryrefslogtreecommitdiff
path: root/llvm/test/CodeGen/AMDGPU/mul.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/CodeGen/AMDGPU/mul.ll')
-rw-r--r--llvm/test/CodeGen/AMDGPU/mul.ll81
1 files changed, 41 insertions, 40 deletions
diff --git a/llvm/test/CodeGen/AMDGPU/mul.ll b/llvm/test/CodeGen/AMDGPU/mul.ll
index baccb4c..d29847e 100644
--- a/llvm/test/CodeGen/AMDGPU/mul.ll
+++ b/llvm/test/CodeGen/AMDGPU/mul.ll
@@ -450,6 +450,7 @@ define amdgpu_kernel void @s_trunc_i64_mul_to_i32(ptr addrspace(1) %out, i64 %a,
; GFX1250-NEXT: s_load_b128 s[0:3], s[4:5], 0x24
; GFX1250-NEXT: s_wait_kmcnt 0x0
; GFX1250-NEXT: s_load_b32 s3, s[4:5], 0x34
+; GFX1250-NEXT: ; kill: killed $sgpr4_sgpr5
; GFX1250-NEXT: s_wait_kmcnt 0x0
; GFX1250-NEXT: s_mul_i32 s2, s3, s2
; GFX1250-NEXT: s_mov_b32 s3, 0x31016000
@@ -613,25 +614,25 @@ define amdgpu_kernel void @v_trunc_i64_mul_to_i32(ptr addrspace(1) %out, ptr add
;
; GFX1250-LABEL: v_trunc_i64_mul_to_i32:
; GFX1250: ; %bb.0: ; %entry
+; GFX1250-NEXT: s_clause 0x1
; GFX1250-NEXT: s_load_b128 s[0:3], s[4:5], 0x24
-; GFX1250-NEXT: s_wait_xcnt 0x0
-; GFX1250-NEXT: s_load_b64 s[4:5], s[4:5], 0x34
-; GFX1250-NEXT: s_mov_b32 s10, -1
-; GFX1250-NEXT: s_mov_b32 s11, 0x31016000
-; GFX1250-NEXT: s_mov_b32 s14, s10
-; GFX1250-NEXT: s_mov_b32 s15, s11
-; GFX1250-NEXT: s_mov_b32 s6, s10
-; GFX1250-NEXT: s_mov_b32 s7, s11
+; GFX1250-NEXT: s_load_b64 s[8:9], s[4:5], 0x34
+; GFX1250-NEXT: s_mov_b32 s6, -1
+; GFX1250-NEXT: s_mov_b32 s7, 0x31016000
+; GFX1250-NEXT: s_mov_b32 s14, s6
+; GFX1250-NEXT: s_mov_b32 s15, s7
+; GFX1250-NEXT: s_mov_b32 s10, s6
+; GFX1250-NEXT: s_mov_b32 s11, s7
; GFX1250-NEXT: s_wait_kmcnt 0x0
; GFX1250-NEXT: s_mov_b32 s12, s2
; GFX1250-NEXT: s_mov_b32 s13, s3
; GFX1250-NEXT: buffer_load_b32 v0, off, s[12:15], null
-; GFX1250-NEXT: buffer_load_b32 v1, off, s[4:7], null
-; GFX1250-NEXT: s_mov_b32 s8, s0
-; GFX1250-NEXT: s_mov_b32 s9, s1
+; GFX1250-NEXT: buffer_load_b32 v1, off, s[8:11], null
+; GFX1250-NEXT: s_mov_b32 s4, s0
+; GFX1250-NEXT: s_mov_b32 s5, s1
; GFX1250-NEXT: s_wait_loadcnt 0x0
; GFX1250-NEXT: v_mul_lo_u32 v0, v1, v0
-; GFX1250-NEXT: buffer_store_b32 v0, off, s[8:11], null
+; GFX1250-NEXT: buffer_store_b32 v0, off, s[4:7], null
; GFX1250-NEXT: s_endpgm
;
; EG-LABEL: v_trunc_i64_mul_to_i32:
@@ -2091,11 +2092,11 @@ define amdgpu_kernel void @s_mul_i64(ptr addrspace(1) %out, i64 %a, i64 %b) noun
;
; GFX1250-LABEL: s_mul_i64:
; GFX1250: ; %bb.0: ; %entry
+; GFX1250-NEXT: s_clause 0x1
; GFX1250-NEXT: s_load_b128 s[0:3], s[4:5], 0x24
-; GFX1250-NEXT: s_wait_xcnt 0x0
-; GFX1250-NEXT: s_load_b64 s[4:5], s[4:5], 0x34
+; GFX1250-NEXT: s_load_b64 s[6:7], s[4:5], 0x34
; GFX1250-NEXT: s_wait_kmcnt 0x0
-; GFX1250-NEXT: s_mul_u64 s[4:5], s[2:3], s[4:5]
+; GFX1250-NEXT: s_mul_u64 s[4:5], s[2:3], s[6:7]
; GFX1250-NEXT: s_mov_b32 s3, 0x31016000
; GFX1250-NEXT: v_mov_b64_e32 v[0:1], s[4:5]
; GFX1250-NEXT: s_mov_b32 s2, -1
@@ -2292,25 +2293,25 @@ define amdgpu_kernel void @v_mul_i64(ptr addrspace(1) %out, ptr addrspace(1) %ap
;
; GFX1250-LABEL: v_mul_i64:
; GFX1250: ; %bb.0: ; %entry
+; GFX1250-NEXT: s_clause 0x1
; GFX1250-NEXT: s_load_b128 s[0:3], s[4:5], 0x24
-; GFX1250-NEXT: s_wait_xcnt 0x0
-; GFX1250-NEXT: s_load_b64 s[4:5], s[4:5], 0x34
-; GFX1250-NEXT: s_mov_b32 s10, -1
-; GFX1250-NEXT: s_mov_b32 s11, 0x31016000
-; GFX1250-NEXT: s_mov_b32 s14, s10
-; GFX1250-NEXT: s_mov_b32 s15, s11
-; GFX1250-NEXT: s_mov_b32 s6, s10
-; GFX1250-NEXT: s_mov_b32 s7, s11
+; GFX1250-NEXT: s_load_b64 s[8:9], s[4:5], 0x34
+; GFX1250-NEXT: s_mov_b32 s6, -1
+; GFX1250-NEXT: s_mov_b32 s7, 0x31016000
+; GFX1250-NEXT: s_mov_b32 s14, s6
+; GFX1250-NEXT: s_mov_b32 s15, s7
+; GFX1250-NEXT: s_mov_b32 s10, s6
+; GFX1250-NEXT: s_mov_b32 s11, s7
; GFX1250-NEXT: s_wait_kmcnt 0x0
; GFX1250-NEXT: s_mov_b32 s12, s2
; GFX1250-NEXT: s_mov_b32 s13, s3
; GFX1250-NEXT: buffer_load_b64 v[0:1], off, s[12:15], null
-; GFX1250-NEXT: buffer_load_b64 v[2:3], off, s[4:7], null
-; GFX1250-NEXT: s_mov_b32 s8, s0
-; GFX1250-NEXT: s_mov_b32 s9, s1
+; GFX1250-NEXT: buffer_load_b64 v[2:3], off, s[8:11], null
+; GFX1250-NEXT: s_mov_b32 s4, s0
+; GFX1250-NEXT: s_mov_b32 s5, s1
; GFX1250-NEXT: s_wait_loadcnt 0x0
; GFX1250-NEXT: v_mul_u64_e32 v[0:1], v[0:1], v[2:3]
-; GFX1250-NEXT: buffer_store_b64 v[0:1], off, s[8:11], null
+; GFX1250-NEXT: buffer_store_b64 v[0:1], off, s[4:7], null
; GFX1250-NEXT: s_endpgm
;
; EG-LABEL: v_mul_i64:
@@ -2845,30 +2846,30 @@ define amdgpu_kernel void @mul64_in_branch(ptr addrspace(1) %out, ptr addrspace(
;
; GFX1250-LABEL: mul64_in_branch:
; GFX1250: ; %bb.0: ; %entry
-; GFX1250-NEXT: s_load_b256 s[0:7], s[4:5], 0x24
+; GFX1250-NEXT: s_load_b256 s[8:15], s[4:5], 0x24
; GFX1250-NEXT: s_wait_kmcnt 0x0
-; GFX1250-NEXT: s_cmp_lg_u64 s[4:5], 0
+; GFX1250-NEXT: s_cmp_lg_u64 s[12:13], 0
; GFX1250-NEXT: s_cbranch_scc0 .LBB16_3
; GFX1250-NEXT: ; %bb.1: ; %else
-; GFX1250-NEXT: s_mul_u64 s[4:5], s[4:5], s[6:7]
+; GFX1250-NEXT: s_mul_u64 s[0:1], s[12:13], s[14:15]
; GFX1250-NEXT: s_cbranch_execnz .LBB16_4
; GFX1250-NEXT: .LBB16_2: ; %if
-; GFX1250-NEXT: s_mov_b32 s7, 0x31016000
-; GFX1250-NEXT: s_mov_b32 s6, -1
-; GFX1250-NEXT: s_mov_b32 s4, s2
-; GFX1250-NEXT: s_mov_b32 s5, s3
-; GFX1250-NEXT: buffer_load_b64 v[0:1], off, s[4:7], null
+; GFX1250-NEXT: s_mov_b32 s3, 0x31016000
+; GFX1250-NEXT: s_mov_b32 s2, -1
+; GFX1250-NEXT: s_mov_b32 s0, s10
+; GFX1250-NEXT: s_mov_b32 s1, s11
+; GFX1250-NEXT: buffer_load_b64 v[0:1], off, s[0:3], null
; GFX1250-NEXT: s_branch .LBB16_5
; GFX1250-NEXT: .LBB16_3:
-; GFX1250-NEXT: ; implicit-def: $sgpr4_sgpr5
+; GFX1250-NEXT: ; implicit-def: $sgpr0_sgpr1
; GFX1250-NEXT: s_branch .LBB16_2
; GFX1250-NEXT: .LBB16_4:
-; GFX1250-NEXT: v_mov_b64_e32 v[0:1], s[4:5]
+; GFX1250-NEXT: v_mov_b64_e32 v[0:1], s[0:1]
; GFX1250-NEXT: .LBB16_5: ; %endif
-; GFX1250-NEXT: s_mov_b32 s3, 0x31016000
-; GFX1250-NEXT: s_mov_b32 s2, -1
+; GFX1250-NEXT: s_mov_b32 s11, 0x31016000
+; GFX1250-NEXT: s_mov_b32 s10, -1
; GFX1250-NEXT: s_wait_loadcnt 0x0
-; GFX1250-NEXT: buffer_store_b64 v[0:1], off, s[0:3], null
+; GFX1250-NEXT: buffer_store_b64 v[0:1], off, s[8:11], null
; GFX1250-NEXT: s_endpgm
;
; EG-LABEL: mul64_in_branch: