[Mlir-commits] [clang] [llvm] [mlir] [AArch64][llvm][clang] Remove `int_aarch64_sve_bfmmla` and reuse existing def (NFC) (PR #193970)

Momchil Velikov llvmlistbot at llvm.org
Mon Apr 27 07:15:48 PDT 2026


================
@@ -294,10 +294,10 @@ def UsmmlaOp : ArmSVE_Op<"usmmla", [Pure,
     "$acc `,` $src1 `,` $src2 attr-dict `:` type($src1) `to` type($dst)";
 }
 
-def BfmmlaOp : ArmSVE_IntrOp<"bfmmla", [Pure,
-                                        AllTypesMatch<["src1", "src2"]>,
-                                        AllTypesMatch<["acc", "res"]>,
-                                        ]> {
+def BfmmlaOp : LLVM_IntrOpBase<ArmSVE_Dialect, "intr.bfmmla", "aarch64_sve_fmmla", [0], [1],
+                               [Pure,
+                                AllTypesMatch<["src1", "src2"]>,
+                                AllTypesMatch<["acc", "res"]>], 1> {
----------------
momchil-velikov wrote:

@jthackray You could probably add an optional parameter to ` ArmSVE_IntrOp` with a default for the underlying LLVM IR intrinsic name, the default value being the same as the `enumName` argument that is passed on now. Then override the default for this operation only to pass `"arm_sve_fmmla"`.

Double check the values of the `overloadedOperands` and `overloadedResults`, you're passing `[0]` and `[1]`, but it looks to me they should be `[1]` and `[0]` (following the definition of the `fmmla` intrinsic in `IntrinsicsAArch64.td`).

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


More information about the Mlir-commits mailing list