From 04696f9bf95d17f48190db824531515570e77287 Mon Sep 17 00:00:00 2001 From: Karol Herbst Date: Fri, 24 Apr 2026 01:03:35 +0200 Subject: [PATCH] ac/llvm: support new multadd opcodes Reviewed-by: Georg Lehmann Part-of: --- src/amd/llvm/ac_nir_to_llvm.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/amd/llvm/ac_nir_to_llvm.c b/src/amd/llvm/ac_nir_to_llvm.c index 3ddc1383403..4e19cb4bb41 100644 --- a/src/amd/llvm/ac_nir_to_llvm.c +++ b/src/amd/llvm/ac_nir_to_llvm.c @@ -759,11 +759,13 @@ static bool visit_alu(struct ac_nir_context *ctx, const nir_alu_instr *instr) result = ac_build_canonicalize(&ctx->ac, result, instr->def.bit_size); } break; + case nir_op_ffma: case nir_op_ffma_old: /* FMA is slow on gfx6-8, so it shouldn't be used. */ assert(instr->def.bit_size != 32 || ctx->ac.gfx_level >= GFX9); result = emit_fp_intrinsic(&ctx->ac, "llvm.fma", def_type, src[0], src[1], src[2]); break; + case nir_op_ffmaz: case nir_op_ffmaz_old: assert(ctx->ac.gfx_level >= GFX10_3); src[0] = ac_to_float(&ctx->ac, src[0]);