• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //===- Intrinsics.h - MLIR EDSC Intrinsics for Vector -----------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 #ifndef MLIR_DIALECT_VECTOR_EDSC_INTRINSICS_H_
9 #define MLIR_DIALECT_VECTOR_EDSC_INTRINSICS_H_
10 
11 #include "mlir/Dialect/Vector/EDSC/Builders.h"
12 
13 namespace mlir {
14 namespace edsc {
15 namespace intrinsics {
16 
17 using vector_broadcast = ValueBuilder<vector::BroadcastOp>;
18 using vector_contract = ValueBuilder<vector::ContractionOp>;
19 using vector_extract = ValueBuilder<vector::ExtractOp>;
20 using vector_extract_element = ValueBuilder<vector::ExtractElementOp>;
21 using vector_extract_slices = ValueBuilder<vector::ExtractSlicesOp>;
22 using vector_extract_strided_slice =
23     ValueBuilder<vector::ExtractStridedSliceOp>;
24 using vector_fma = ValueBuilder<vector::FMAOp>;
25 using vector_insert = ValueBuilder<vector::InsertOp>;
26 using vector_insert_element = ValueBuilder<vector::InsertElementOp>;
27 using vector_insert_slices = ValueBuilder<vector::InsertSlicesOp>;
28 using vector_insert_strided_slice = ValueBuilder<vector::InsertStridedSliceOp>;
29 using vector_matmul = ValueBuilder<vector::MatmulOp>;
30 using vector_outerproduct = ValueBuilder<vector::OuterProductOp>;
31 using vector_print = OperationBuilder<vector::PrintOp>;
32 using vector_transfer_read = ValueBuilder<vector::TransferReadOp>;
33 using vector_transfer_write = OperationBuilder<vector::TransferWriteOp>;
34 using vector_transpose = ValueBuilder<vector::TransposeOp>;
35 using vector_type_cast = ValueBuilder<vector::TypeCastOp>;
36 
37 } // namespace intrinsics
38 } // namespace edsc
39 } // namespace mlir
40 
41 #endif // MLIR_DIALECT_VECTOR_EDSC_INTRINSICS_H_
42