[Mlir-commits] [mlir] 0af53de - [mlir] simplify type constraints in AVX512 dialect

Alex Zinenko llvmlistbot at llvm.org
Wed Mar 10 04:07:33 PST 2021


Author: Alex Zinenko
Date: 2021-03-10T13:07:25+01:00
New Revision: 0af53de3699997d04bc0e23f6b366c26a4a9268b

URL: https://github.com/llvm/llvm-project/commit/0af53de3699997d04bc0e23f6b366c26a4a9268b
DIFF: https://github.com/llvm/llvm-project/commit/0af53de3699997d04bc0e23f6b366c26a4a9268b.diff

LOG: [mlir] simplify type constraints in AVX512 dialect

VectorOfLengthAndType accepts a cartesian product of given lengths and types
rather than types produced by co-indexed values in the corresponding lists.
Update the definitions accordingly. The type validity is already enforced by
op traits.

Reviewed By: nicolasvasilache, springerm

Differential Revision: https://reviews.llvm.org/D98327

Added: 
    

Modified: 
    mlir/include/mlir/Dialect/AVX512/AVX512.td

Removed: 
    


################################################################################
diff  --git a/mlir/include/mlir/Dialect/AVX512/AVX512.td b/mlir/include/mlir/Dialect/AVX512/AVX512.td
index c2487a021a1d..391ce74ebdd8 100644
--- a/mlir/include/mlir/Dialect/AVX512/AVX512.td
+++ b/mlir/include/mlir/Dialect/AVX512/AVX512.td
@@ -54,14 +54,14 @@ def MaskCompressOp : AVX512_Op<"mask.compress", [NoSideEffect,
   remaining elements from `src`.
   }];
   let verifier = [{ return ::verify(*this); }];
-  let arguments = (ins VectorOfLengthAndType<[16, 16, 8, 8],
-                                             [I1, I1, I1, I1]>:$k,
-                   VectorOfLengthAndType<[16, 16, 8, 8],
+  let arguments = (ins VectorOfLengthAndType<[16, 8],
+                                             [I1]>:$k,
+                   VectorOfLengthAndType<[16, 8],
                                          [F32, I32, F64, I64]>:$a,
-                   Optional<VectorOfLengthAndType<[16, 16, 8, 8],
+                   Optional<VectorOfLengthAndType<[16, 8],
                                                   [F32, I32, F64, I64]>>:$src,
                    OptionalAttr<ElementsAttr>:$constant_src);
-  let results = (outs VectorOfLengthAndType<[16, 16, 8, 8],
+  let results = (outs VectorOfLengthAndType<[16, 8],
                                             [F32, I32, F64, I64]>:$dst);
   let assemblyFormat = "$k `,` $a (`,` $src^)? attr-dict"
                        " `:` type($dst) (`,` type($src)^)?";
@@ -162,8 +162,8 @@ def Vp2IntersectOp : AVX512_Op<"vp2intersect", [NoSideEffect,
   let arguments = (ins VectorOfLengthAndType<[16, 8], [I32, I64]>:$a,
                    VectorOfLengthAndType<[16, 8], [I32, I64]>:$b
                    );
-  let results = (outs VectorOfLengthAndType<[16, 8], [I1, I1]>:$k1,
-                 VectorOfLengthAndType<[16, 8], [I1, I1]>:$k2
+  let results = (outs VectorOfLengthAndType<[16, 8], [I1]>:$k1,
+                 VectorOfLengthAndType<[16, 8], [I1]>:$k2
                  );
   let assemblyFormat =
     "$a `,` $b attr-dict `:` type($a)";


        


More information about the Mlir-commits mailing list