[Mlir-commits] [mlir] [mlir][amdgpu] Define an amdgpu.scaling_mfma wrapper (PR #137498)
Krzysztof Drewniak
llvmlistbot at llvm.org
Mon Apr 28 13:16:33 PDT 2025
================
@@ -506,6 +506,40 @@ LogicalResult GatherToLDSOp::verify() {
return success();
}
+LogicalResult ScaledMFMAOp::verify() {
+ unsigned opselA = getOpselA() >> 8;
+ unsigned opselB = getOpselB() >> 8;
+
+ if (opselA != 0)
+ return emitOpError("Opsel A must be a zero extended 8 bit value");
+
+ if (opselB != 0)
+ return emitOpError("Opsel B must be a zero extended 8 bit value");
+
+ auto isValidType =
+ llvm::IsaPred<Float8E4M3FNType, Float8E5M2Type, Float6E2M3FNType,
+ Float6E3M2FNType, Float4E2M1FNType>;
+
+ Type aType = getSourceA().getType();
+ Type bType = getSourceB().getType();
+ aType = getElementTypeOrSelf(aType);
+ bType = getElementTypeOrSelf(bType);
+ if (!isValidType(aType))
+ return emitOpError("Source A must be of element type fp4, fp6 or fp8");
+ if (!isValidType(bType))
+ return emitOpError("Source B must be of element type fp4, fp6 or fp8");
+
+ unsigned m = getM();
+ unsigned n = getN();
+ unsigned k = getK();
+ bool tileConfig1 = (m == n && n == 32 && k == 64);
----------------
krzysz00 wrote:
Don't check these here - they'll get checked at lowering
https://github.com/llvm/llvm-project/pull/137498
More information about the Mlir-commits
mailing list