[Mlir-commits] [mlir] [mlir][amdgpu] Define an amdgpu.scaling_mfma wrapper (PR #137498)
Jakub Kuderski
llvmlistbot at llvm.org
Sun Apr 27 12:44:53 PDT 2025
================
@@ -506,6 +506,49 @@ LogicalResult GatherToLDSOp::verify() {
return success();
}
+LogicalResult ScaledMFMAOp::verify() {
+ unsigned opselA = getOpselA();
+ unsigned opselB = getOpselB();
+
+ opselA >>= 8;
+ opselB >>= 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 validType = [&](Type mlirElemType) {
+ return llvm::TypeSwitch<Type, bool>(mlirElemType)
+ .Case([](Float8E4M3FNType) { return true; })
+ .Case([](Float8E5M2Type) { return true; })
+ .Case([](Float6E2M3FNType) { return true; })
+ .Case([](Float6E3M2FNType) { return true; })
+ .Case([](Float4E2M1FNType) { return true; })
+ .Default([](Type) { return false; });
+ };
----------------
kuhar wrote:
I think you can simplify this to:
```suggestion
auto isValidType = llvm::IsaPred<Float8E4M3FNType, Float8E5M2Type, Float6E2M3FNType, Float6E3M2FNType, Float4E2M1FNType>;
```
https://github.com/llvm/llvm-project/pull/137498
More information about the Mlir-commits
mailing list