aboutsummaryrefslogtreecommitdiff
path: root/src/TosaSerialize.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/TosaSerialize.cpp')
-rw-r--r--src/TosaSerialize.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/TosaSerialize.cpp b/src/TosaSerialize.cpp
index 0d5e044..74988c8 100644
--- a/src/TosaSerialize.cpp
+++ b/src/TosaSerialize.cpp
@@ -1356,10 +1356,6 @@ TosaSerializationOperatorBuilder::build<mlir::tosa::RescaleOp>(
bool per_channel =
op.getAttr("per_channel").dyn_cast<mlir::BoolAttr>().getValue();
- auto multiplier =
- op.getAttr("multiplier").dyn_cast<mlir::DenseI32ArrayAttr>().asArrayRef();
- auto shift = getDenseI8ArrayAttr<int32_t>(op.getAttr("shift"));
-
bool input_unsigned =
op.getAttr("input_unsigned").dyn_cast<mlir::BoolAttr>().getValue();
bool output_unsigned =
@@ -1371,15 +1367,18 @@ TosaSerializationOperatorBuilder::build<mlir::tosa::RescaleOp>(
auto output_ty = output.getType().cast<mlir::RankedTensorType>();
std::string input_name = GetTensorName(input);
+ std::string multiplier_name = GetTensorName(op.getOperand(1));
+ std::string shift_name = GetTensorName(op.getOperand(2));
std::string output_name = GetTensorName(output);
- TosaRescaleAttribute attribute(input_zp, output_zp, multiplier, shift,
+ TosaRescaleAttribute attribute(input_zp, output_zp,
+ /* multiplier = */ {}, /* shift = */ {},
scale32, double_round, per_channel,
input_unsigned, output_unsigned);
TosaSerializationOperator *tyop = new TosaSerializationOperator(
Op_RESCALE, Attribute_RescaleAttribute, &attribute,
- std::vector<std::string>{input_name},
+ std::vector<std::string>{input_name, multiplier_name, shift_name},
std::vector<std::string>{output_name});
return tyop;