Skip to content

Commit a932c3f

Browse files
committed
AMDGPU: Set correct sched model on v_mad_u64_u32
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@317645 91177308-0d34-0410-b5e6-96231b3b80d8
1 parent cee0476 commit a932c3f

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

lib/Target/AMDGPU/VOP3Instructions.td

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -399,8 +399,10 @@ def V_MQSAD_U32_U8 : VOP3Inst <"v_mqsad_u32_u8", VOP3_Profile<VOP_V4I32_I64_I32_
399399
} // End Constraints = "@earlyclobber $vdst"
400400

401401
let isCommutable = 1 in {
402+
let SchedRW = [WriteDouble, WriteSALU] in {
402403
def V_MAD_U64_U32 : VOP3Inst <"v_mad_u64_u32", VOP3b_I64_I1_I32_I32_I64>;
403404
def V_MAD_I64_I32 : VOP3Inst <"v_mad_i64_i32", VOP3b_I64_I1_I32_I32_I64>;
405+
} // End SchedRW = [WriteDouble, WriteSALU]
404406
} // End isCommutable = 1
405407

406408
} // End SubtargetPredicate = isCIVI

test/CodeGen/AMDGPU/mul.ll

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -227,10 +227,10 @@ endif:
227227

228228

229229
; VI: s_mul_i32
230-
; VI: s_mul_i32
231-
; VI: v_mul_hi_u32
232230
; VI: v_mul_hi_u32
233231
; VI: v_mad_u64_u32
232+
; VI: s_mul_i32
233+
; VI: v_mul_hi_u32
234234
; VI: v_mad_u64_u32
235235
; VI: v_mad_u64_u32
236236

@@ -254,7 +254,7 @@ define amdgpu_kernel void @s_mul_i128(i128 addrspace(1)* %out, i128 %a, i128 %b)
254254
; GCN-DAG: v_mul_hi_u32
255255
; GCN-DAG: v_mul_lo_i32
256256
; GCN-DAG: v_mul_lo_i32
257-
; GCN: v_add_i32_e32
257+
; GCN-DAG: v_add_i32_e32
258258

259259
; SI-DAG: v_mul_hi_u32
260260
; SI-DAG: v_mul_lo_i32
@@ -265,7 +265,7 @@ define amdgpu_kernel void @s_mul_i128(i128 addrspace(1)* %out, i128 %a, i128 %b)
265265
; SI-DAG: v_mul_lo_i32
266266
; SI-DAG: v_mul_lo_i32
267267

268-
; VI: v_mad_u64_u32
268+
; VI-DAG: v_mad_u64_u32
269269
; VI: v_mad_u64_u32
270270
; VI: v_mad_u64_u32
271271

0 commit comments

Comments
 (0)