Skip to content

Commit f7e9331

Browse files
committed
Fix a problem in previous commit. For GFX940 keep the original
behavior, i.e., op_sel should be 0 for all DOT instructions, not just the VOP3P DOTs.
1 parent a3c2493 commit f7e9331

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4588,9 +4588,10 @@ bool AMDGPUAsmParser::validateOpSel(const MCInst &Inst) {
45884588

45894589
uint64_t TSFlags = MII.get(Opc).TSFlags;
45904590

4591-
// For VOP3P DOT instructions, op_sel must be 0 if present, and op_sel_hi
4592-
// cannot be present.
4593-
if ((TSFlags & SIInstrFlags::IsDOT) && (TSFlags & SIInstrFlags::VOP3P)) {
4591+
// For DOT instructions on GFX940, or VOP3P DOT instructions on all targets,
4592+
// op_sel must be 0 if present, and op_sel_hi cannot be present.
4593+
if ((TSFlags & SIInstrFlags::IsDOT) &&
4594+
(isGFX940() || (TSFlags & SIInstrFlags::VOP3P))) {
45944595
int OpSelIdx = AMDGPU::getNamedOperandIdx(Opc, AMDGPU::OpName::op_sel);
45954596
if (OpSelIdx != -1) {
45964597
if (Inst.getOperand(OpSelIdx).getImm() != 0)

0 commit comments

Comments
 (0)