From 23663b84b909af8bf69c44d6678f151dc0599439 Mon Sep 17 00:00:00 2001 From: Matt Arsenault Date: Sat, 26 Sep 2015 02:25:45 +0000 Subject: [PATCH] AMDGPU: Fix sched model for VOP2b instructions Trying to use the version with the explicit output operand would complain because of the missing WriteSALU. I'm not sure why it doesn't complain about this with the implicit VCC def. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@248646 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/AMDGPU/SIInstrInfo.td | 13 +++++++------ test/CodeGen/AMDGPU/si-triv-disjoint-mem-access.ll | 5 +++-- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/lib/Target/AMDGPU/SIInstrInfo.td b/lib/Target/AMDGPU/SIInstrInfo.td index 0a73419dbbe..dcc44b82627 100644 --- a/lib/Target/AMDGPU/SIInstrInfo.td +++ b/lib/Target/AMDGPU/SIInstrInfo.td @@ -1613,14 +1613,15 @@ multiclass VOP2b_Helper pat32, dag ins64, string asm64, list pat64, string revOp, bit HasMods, bit useSGPRInput> { + let SchedRW = [Write32Bit, WriteSALU] in { + let Uses = !if(useSGPRInput, [VCC, EXEC], [EXEC]), Defs = [VCC] in { + defm _e32 : VOP2_m ; + } - let Uses = !if(useSGPRInput, [VCC, EXEC], [EXEC]), Defs = [VCC] in { - defm _e32 : VOP2_m ; + defm _e64 : VOP3b_2_3_m ; } - - defm _e64 : VOP3b_2_3_m ; } multiclass VOP2bInst