diff options
| author | Denis Khalikov <khalikov.denis@huawei.com> | 2020-01-07 22:11:59 -0500 |
|---|---|---|
| committer | Lei Zhang <antiagainst@google.com> | 2020-01-07 22:13:07 -0500 |
| commit | eac01f63a6c99d6ffd03b7b7c88cf8e28d364e5c (patch) | |
| tree | 821ac74b9c72762fc0eeb720520e2882f0c1071e /mlir/lib/Conversion | |
| parent | dab2921f77099534ff19fead9a79fbff312feabf (diff) | |
| download | bcm5719-llvm-eac01f63a6c99d6ffd03b7b7c88cf8e28d364e5c.tar.gz bcm5719-llvm-eac01f63a6c99d6ffd03b7b7c88cf8e28d364e5c.zip | |
[mlir][spirv] Add lowering for std.fpext, std.fptrunc, std.sitofp.
Differential Revision: https://reviews.llvm.org/D72137
Diffstat (limited to 'mlir/lib/Conversion')
| -rw-r--r-- | mlir/lib/Conversion/StandardToSPIRV/StandardToSPIRV.td | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/mlir/lib/Conversion/StandardToSPIRV/StandardToSPIRV.td b/mlir/lib/Conversion/StandardToSPIRV/StandardToSPIRV.td index 7ce895ab0a5..77f9305b4a9 100644 --- a/mlir/lib/Conversion/StandardToSPIRV/StandardToSPIRV.td +++ b/mlir/lib/Conversion/StandardToSPIRV/StandardToSPIRV.td @@ -20,6 +20,10 @@ class BinaryOpPattern<Type type, Op src, Op tgt> : Pat<(src SPV_ScalarOrVectorOf<type>:$l, SPV_ScalarOrVectorOf<type>:$r), (tgt $l, $r)>; +class UnaryOpPattern<Type type, Op src, Op tgt> : + Pat<(src type:$input), + (tgt $input)>; + def : BinaryOpPattern<SPV_Bool, AndOp, SPV_LogicalAndOp>; def : BinaryOpPattern<SPV_Bool, OrOp, SPV_LogicalOrOp>; def : BinaryOpPattern<SPV_Integer, AndOp, SPV_BitwiseAndOp>; @@ -36,6 +40,10 @@ def : BinaryOpPattern<SPV_Float, MulFOp, SPV_FMulOp>; def : BinaryOpPattern<SPV_Float, RemFOp, SPV_FRemOp>; def : BinaryOpPattern<SPV_Float, SubFOp, SPV_FSubOp>; +def : UnaryOpPattern<SPV_Integer, SIToFPOp, SPV_ConvertSToFOp>; +def : UnaryOpPattern<SPV_Float, FPExtOp, SPV_FConvertOp>; +def : UnaryOpPattern<SPV_Float, FPTruncOp, SPV_FConvertOp>; + // Constant Op // TODO(ravishankarm): Handle lowering other constant types. def : Pat<(ConstantOp:$result $valueAttr), |

