V_DIV_SCALE_F32/F64 are VOP3B encoded so they can't use the ABS src
modifier, but they can still use NEG and the usual output modifiers.
This partially reverts 3b99f12a4e6f "AMDGPU: Remove modifiers from v_div_scale_*".
Paths
| Differential D90296
[AMDGPU] Allow some modifiers on VOP3B instructions ClosedPublic Authored by foad on Oct 28 2020, 4:01 AM.
Details Summary V_DIV_SCALE_F32/F64 are VOP3B encoded so they can't use the ABS src This partially reverts 3b99f12a4e6f "AMDGPU: Remove modifiers from v_div_scale_*".
Diff Detail
Event Timeline
Comment Actions LGTM. I also do not like lists of real instructions, but this is a pre-existing problem. This revision is now accepted and ready to land.Oct 28 2020, 11:32 AM This revision was landed with ongoing or failed builds.Oct 28 2020, 2:54 PM Closed by commit rG5b91a6a88bd6: [AMDGPU] Allow some modifiers on VOP3B instructions (authored by foad). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 301446 llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
llvm/lib/Target/AMDGPU/SIISelLowering.cpp
llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
llvm/lib/Target/AMDGPU/VOP3Instructions.td
llvm/test/CodeGen/AMDGPU/fdiv-nofpexcept.ll
llvm/test/CodeGen/AMDGPU/inserted-wait-states.mir
llvm/test/CodeGen/AMDGPU/llvm.amdgcn.div.scale.ll
llvm/test/CodeGen/AMDGPU/sched-crash-dbg-value.mir
llvm/test/MC/AMDGPU/vop3-errs.s
llvm/test/MC/AMDGPU/vop3.s
|
This is duplicating checks from SIInstrInfo::verifyInstruction. Is there a better way?