2019-12-10 11:54:00 -08:00
|
|
|
//===- TestVectorTransformPatterns.td - Test patterns ---*- tablegen ----*-===//
|
|
|
|
|
//
|
2020-01-26 03:58:30 +00:00
|
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
2019-12-23 09:35:36 -08:00
|
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
|
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
2019-12-10 11:54:00 -08:00
|
|
|
//
|
2019-12-23 09:35:36 -08:00
|
|
|
//===----------------------------------------------------------------------===//
|
2019-12-10 11:54:00 -08:00
|
|
|
//
|
|
|
|
|
// This is the pattern definition file for declarative Vector transformations
|
|
|
|
|
// tests.
|
|
|
|
|
//
|
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
|
|
|
|
|
|
#ifndef TEST_VECTOR_TRANSFORMS_PATTERNS
|
|
|
|
|
#define TEST_VECTOR_TRANSFORMS_PATTERNS
|
|
|
|
|
|
2020-02-21 11:54:49 -08:00
|
|
|
include "mlir/Dialect/StandardOps/IR/Ops.td"
|
2020-03-17 15:24:27 -07:00
|
|
|
include "mlir/Dialect/Vector/VectorOps.td"
|
|
|
|
|
include "mlir/Dialect/Vector/VectorTransformPatterns.td"
|
2019-12-10 11:54:00 -08:00
|
|
|
|
|
|
|
|
def : Pat<(AddFOp:$op_results $a, $b),
|
|
|
|
|
(UnrollVectorOp<[2, 2]> $op_results, $a, $b),
|
|
|
|
|
[(Constraint<HasShape<[4, 2]>> $a)]>;
|
|
|
|
|
|
|
|
|
|
def : Pat<(AddFOp:$op_results $a, $b),
|
|
|
|
|
(UnrollVectorOp<[2, 2]> $op_results, $a, $b),
|
|
|
|
|
[(Constraint<HasShape<[4, 4]>> $a)]>;
|
|
|
|
|
|
|
|
|
|
// TODO(andydavis) Add Constraints on lhs/rhs shapes.
|
|
|
|
|
def : Pat<(Vector_ContractionOp:$op_results $a, $b, $c, $masks, $attr0, $attr1),
|
|
|
|
|
(UnrollVectorOp<[2, 2, 2]> $op_results, $a, $b, $c),
|
|
|
|
|
[(Constraint<HasShape<[4, 4]>> $c)]>;
|
|
|
|
|
|
|
|
|
|
#endif // TEST_VECTOR_TRANSFORMS_PATTERNS
|