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