[mlir][ArmSVE] Add basic mask generation operations
authorJavier Setoain <javier.setoain@gmail.com>
Thu, 22 Apr 2021 08:29:02 +0000 (09:29 +0100)
committerJavier Setoain <javier.setoain@gmail.com>
Tue, 8 Jun 2021 07:56:31 +0000 (08:56 +0100)
commit392af6a78bb7dfb87a24ed66db598c1d09ac756b
tree02968dfeebbb2631908ad8ad51bd7f2a2c9dd0bd
parentd3a6181e82ca8d1c49c1bc049c07233bd8c38550
[mlir][ArmSVE] Add basic mask generation operations

These `arm_sve.cmp` functions are needed to generate scalable vector
masks as long as scalable vectors are not part of the standard types.
Once in standard, these can be removed and `std.cmp` can be used
instead.

Differential Revision: https://reviews.llvm.org/D103473
mlir/include/mlir/Dialect/ArmSVE/ArmSVE.td
mlir/include/mlir/Dialect/ArmSVE/ArmSVEDialect.h
mlir/include/mlir/Dialect/StandardOps/IR/Ops.td
mlir/include/mlir/Dialect/StandardOps/IR/StandardOpsBase.td
mlir/lib/Dialect/ArmSVE/IR/ArmSVEDialect.cpp
mlir/lib/Dialect/ArmSVE/Transforms/LegalizeForLLVMExport.cpp
mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
mlir/test/Dialect/ArmSVE/legalize-for-llvm.mlir
mlir/test/Dialect/ArmSVE/roundtrip.mlir
mlir/test/Target/LLVMIR/arm-sve.mlir