diff --git a/src/amd/compiler/aco_optimizer.cpp b/src/amd/compiler/aco_optimizer.cpp index 4ac8821464d..c50eba30237 100644 --- a/src/amd/compiler/aco_optimizer.cpp +++ b/src/amd/compiler/aco_optimizer.cpp @@ -3910,7 +3910,8 @@ combine_instruction(opt_ctx& ctx, aco_ptr& instr) (mad32 && !legacy && !mad_mix && ctx.program->dev.has_fast_fma32) || (mad_mix && ctx.program->dev.fused_mad_mix); bool has_mad = mad_mix ? !ctx.program->dev.fused_mad_mix - : ((mad32 && ctx.program->gfx_level < GFX10_3) || + : ((mad32 && ctx.program->gfx_level < GFX10_3 && + ctx.program->family != CHIP_GFX940) || (mad16 && ctx.program->gfx_level <= GFX9)); bool can_use_fma = has_fma && (!(info.parent_instr->definitions[0].isPrecise() || instr->definitions[0].isPrecise()) ||