[Mlir-commits] [mlir] [mlir][vector] Support n-D vectors in i8 to i4 trunci emulation (PR #94946)
Benjamin Maxwell
llvmlistbot at llvm.org
Fri Jun 14 07:54:20 PDT 2024
================
@@ -300,16 +298,25 @@ func.func @aligned_trunci_2d(%a: vector<8x32xi32>) -> vector<8x32xi4> {
// CHECK-NOT: vector.shli
// CHECK-NOT: vector.ori
// CHECK: arith.trunci
+// CHECK: vector.deinterleave
%0 = arith.trunci %a : vector<8x32xi32> to vector<8x32xi4>
return %0 : vector<8x32xi4>
}
+// CHECK-LABEL: func.func @aligned_trunci_nd(
+func.func @aligned_trunci_nd(%a: vector<3x8x32xi32>) -> vector<3x8x32xi4> {
+ // CHECK: arith.trunci
+ // CHECK: vector.deinterleave
----------------
MacDue wrote:
I think it would be beneficial to have a more complete n-D test case (similar to `aligned_sitofp_2d`, which uses `vector.interleave`)
https://github.com/llvm/llvm-project/pull/94946
More information about the Mlir-commits
mailing list