[Mlir-commits] [mlir] [mlir][x86] Support for `f8` AMX tiled dot-product. (PR #194786)
Adam Siemieniuk
llvmlistbot at llvm.org
Wed Apr 29 00:59:29 PDT 2026
================
@@ -992,7 +997,20 @@ def TileMulFOp : AMX_Op<"tile_mulf", [Pure,
std::string intr = "llvm.x86.tdp";
auto elementType =
getLhsTileType().getElementType();
- intr += elementType.isF16() ? "fp16" : "bf16";
+ auto elementTypeRhs =
+ getRhsTileType().getElementType();
+
+ intr += elementType.isF16() ? "fp16" :
+ elementType.isBF16() ? "bf16" :
+ (elementType.isF8E4M3FN() || elementType.isF8E5M2())
+ ? (
+ (elementType.isF8E4M3FN() ? "b" : "h") +
+ std::string(elementType != elementTypeRhs
+ ? (elementTypeRhs.isF8E4M3FN() ? "b" : "h")
+ : "") +
+ "f8"
+ )
+ : "";
----------------
adam-smnk wrote:
nit: Could you rewrite it into simpler flow with `if`s?
Multiple nested ternaries get a bit hard to read.
https://github.com/llvm/llvm-project/pull/194786
More information about the Mlir-commits
mailing list