[llvm] [LLVM] Combine v_cvt_f32_f16 and v_add_f32/v_mul_f32 into v_fma_mix_f32 (PR #160151)

Jay Foad via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 23 03:41:48 PDT 2025


================
@@ -190,6 +191,30 @@ multiclass MadFmaMixPats<SDPatternOperator fma_like,
     (mix_inst $src0_mods, $src0, $src1_mods, $src1, $src2_mods, $src2,
               DSTCLAMP.NONE)>;
 
+  def : GCNPat <
+    (f32 (fadd (f32 (VOP3PMadMixModsExtPat VT:$src0, i32:$src0_mods)),
+               (f32 (VOP3PMadMixModsPat  f32:$src1, i32:$src1_mods)))),
+    (mix_inst $src0_mods, $src0, (i32 0), (i32 1), $src1_mods, $src1,
----------------
jayfoad wrote:

You can refer to this in patterns as `CONST.FP32_ONE`.

https://github.com/llvm/llvm-project/pull/160151


More information about the llvm-commits mailing list