aboutsummaryrefslogtreecommitdiff
path: root/src/TosaSerialize.cpp
diff options
context:
space:
mode:
authorLuke Hutton <luke.hutton@arm.com>2023-01-12 11:30:33 +0000
committerLuke Hutton <luke.hutton@arm.com>2023-04-22 12:56:16 +0100
commit67e9fc539dd014745f8e2559b967489b8479a8f8 (patch)
tree6ca5e5eb6552f606dfc32e8a3cd8a87a7b9b4ad8 /src/TosaSerialize.cpp
parente37ee8680fdc4b633888b31c2f7e76b65dc2c479 (diff)
downloadtosa_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.cpp22
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();