diff options
Diffstat (limited to 'llvm/test/CodeGen/AMDGPU/mul.ll')
-rw-r--r-- | llvm/test/CodeGen/AMDGPU/mul.ll | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/llvm/test/CodeGen/AMDGPU/mul.ll b/llvm/test/CodeGen/AMDGPU/mul.ll index 8d3716e..7e3d5c9 100644 --- a/llvm/test/CodeGen/AMDGPU/mul.ll +++ b/llvm/test/CodeGen/AMDGPU/mul.ll @@ -3548,28 +3548,27 @@ define amdgpu_kernel void @v_mul_i128(ptr addrspace(1) %out, ptr addrspace(1) %a ; GFX1250-NEXT: s_wait_loadcnt 0x1 ; GFX1250-NEXT: v_dual_mov_b32 v11, 0 :: v_dual_mov_b32 v10, v0 ; GFX1250-NEXT: s_wait_loadcnt 0x0 -; GFX1250-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_2) | instid1(VALU_DEP_3) +; GFX1250-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_2) ; GFX1250-NEXT: v_dual_mov_b32 v9, v11 :: v_dual_mov_b32 v8, v4 ; GFX1250-NEXT: v_mul_u64_e32 v[6:7], v[0:1], v[6:7] -; GFX1250-NEXT: v_mul_lo_u32 v3, v3, v4 ; GFX1250-NEXT: v_mul_u64_e32 v[8:9], v[8:9], v[10:11] -; GFX1250-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_3) -; GFX1250-NEXT: v_mad_co_u64_u32 v[6:7], null, v2, v4, v[6:7] -; GFX1250-NEXT: v_mul_lo_u32 v2, v2, v5 +; GFX1250-NEXT: s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2) +; GFX1250-NEXT: v_mad_nc_u64_u32 v[6:7], v2, v4, v[6:7] ; GFX1250-NEXT: v_mov_b32_e32 v10, v9 ; GFX1250-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_3) -; GFX1250-NEXT: v_mad_co_u64_u32 v[12:13], null, v5, v0, v[10:11] -; GFX1250-NEXT: v_add3_u32 v7, v3, v7, v2 -; GFX1250-NEXT: s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_1) +; GFX1250-NEXT: v_mad_nc_u64_u32 v[12:13], v5, v0, v[10:11] +; GFX1250-NEXT: v_mad_u32 v0, v3, v4, v7 +; GFX1250-NEXT: s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2) ; GFX1250-NEXT: v_dual_mov_b32 v10, v13 :: v_dual_mov_b32 v13, v11 -; GFX1250-NEXT: v_mad_co_u64_u32 v[12:13], null, v4, v1, v[12:13] -; GFX1250-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_2) +; GFX1250-NEXT: v_mad_u32 v7, v2, v5, v0 +; GFX1250-NEXT: s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_1) +; GFX1250-NEXT: v_mad_nc_u64_u32 v[12:13], v4, v1, v[12:13] ; GFX1250-NEXT: v_dual_mov_b32 v15, v11 :: v_dual_mov_b32 v9, v12 +; GFX1250-NEXT: s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_1) ; GFX1250-NEXT: v_mov_b32_e32 v14, v13 -; GFX1250-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1) ; GFX1250-NEXT: v_add_nc_u64_e32 v[10:11], v[10:11], v[14:15] -; GFX1250-NEXT: v_mad_co_u64_u32 v[0:1], null, v5, v1, v[10:11] -; GFX1250-NEXT: s_delay_alu instid0(VALU_DEP_1) +; GFX1250-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1) +; GFX1250-NEXT: v_mad_nc_u64_u32 v[0:1], v5, v1, v[10:11] ; GFX1250-NEXT: v_add_nc_u64_e32 v[10:11], v[0:1], v[6:7] ; GFX1250-NEXT: global_store_b128 v16, v[8:11], s[2:3] scale_offset ; GFX1250-NEXT: s_endpgm |