diff options
author | Luke Hutton <luke.hutton@arm.com> | 2023-01-12 11:30:33 +0000 |
---|---|---|
committer | Luke Hutton <luke.hutton@arm.com> | 2023-04-22 12:56:16 +0100 |
commit | 67e9fc539dd014745f8e2559b967489b8479a8f8 (patch) | |
tree | 6ca5e5eb6552f606dfc32e8a3cd8a87a7b9b4ad8 /src/TosaSerialize.cpp | |
parent | e37ee8680fdc4b633888b31c2f7e76b65dc2c479 (diff) | |
download | tosa_mlir_translator-67e9fc539dd014745f8e2559b967489b8479a8f8.tar.gz |
Support translation of FFT2d
Signed-off-by: Luke Hutton <luke.hutton@arm.com>
Change-Id: I4aae94438380d394b9c13015aa69ac52f9b73f74
Diffstat (limited to 'src/TosaSerialize.cpp')
-rw-r--r-- | src/TosaSerialize.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/TosaSerialize.cpp b/src/TosaSerialize.cpp index e69fcba..8a95b68 100644 --- a/src/TosaSerialize.cpp +++ b/src/TosaSerialize.cpp @@ -1367,6 +1367,28 @@ TosaSerializationOperatorBuilder::build<mlir::tosa::RFFT2dOp>( return tyop; } +template<> +TosaSerializationOperator * +TosaSerializationOperatorBuilder::build<mlir::tosa::FFT2dOp>( + mlir::Operation &op) const { + + bool inverse = op.getAttr("inverse").dyn_cast<mlir::BoolAttr>().getValue(); + + std::string input_real_name = GetTensorName(op.getOperand(0)); + std::string input_imag_name = GetTensorName(op.getOperand(1)); + std::string output_real_name = GetTensorName(op.getResult(0)); + std::string output_imag_name = GetTensorName(op.getResult(1)); + + TosaFFTAttribute attribute(inverse); + + TosaSerializationOperator *tyop = new TosaSerializationOperator( + Op_FFT2D, Attribute_FFTAttribute, &attribute, + std::vector<std::string>{input_real_name, input_imag_name}, + std::vector<std::string>{output_real_name, output_imag_name}); + + return tyop; +} + /* End translating TOSA operator */ mlir::LogicalResult TosaSerializationRegionBuilder::BuildAllBlocksInRegion(std::vector<mlir::Value>& return_values) { std::string region_name = ser_region->GetName(); |