[Mlir-commits] [mlir] [MLIR][XeVM] XeVM to LLVM: Update xevm.truncf handling (PR #194491)

Md Abdullah Shahneous Bari llvmlistbot at llvm.org
Thu Apr 30 17:05:48 PDT 2026


================
@@ -1129,51 +1129,165 @@ class TruncfToOCLPattern : public OpConversionPattern<TruncfOp> {
     // Supported source and result types are resticted for now.
     auto srcEtype = op.getSrcEtype().getEtype();
     auto dstEtype = op.getDstEtype().getEtype();
-    if (auto vecSrcTy = dyn_cast<VectorType>(op.getSrc().getType())) {
-      if (vecSrcTy.getNumElements() != 16)
-        return rewriter.notifyMatchFailure(
-            op, "Only vector src of 16 elements is supported");
-    } else {
+    // Currently only 16 input elements are supported as
+    //  - Any vector beyond 16 elements not a valid OpenCL vector.
+    //  - 2D block load can only load up to 16 16bit elements per lane.
----------------
mshahneo wrote:

@silee2 ,

Is it just for mx types? Normal load can do 32x16xf16, i.e., 32 f16 per lane even without array_len.
With array_len it supports even larger load.

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


More information about the Mlir-commits mailing list