diff --git a/src/amd/compiler/aco_optimizer.cpp b/src/amd/compiler/aco_optimizer.cpp index f6198e4b465..a4d84a3a4e2 100644 --- a/src/amd/compiler/aco_optimizer.cpp +++ b/src/amd/compiler/aco_optimizer.cpp @@ -3760,6 +3760,11 @@ select_instruction(opt_ctx& ctx, aco_ptr& instr) if ((instr->opcode == aco_opcode::v_fma_f32 || instr->opcode == aco_opcode::v_fma_f16) && ctx.program->chip_class < GFX10) return; + /* There are no v_fmaak_legacy_f16/v_fmamk_legacy_f16 and on chips where VOP3 can take + * literals (GFX10+), these instructions don't exist. + */ + if (instr->opcode == aco_opcode::v_fma_legacy_f16) + return; bool sgpr_used = false; uint32_t literal_idx = 0;