diff options
author | Tai Ly <tai.ly@arm.com> | 2023-06-30 23:48:34 +0000 |
---|---|---|
committer | Eric Kunze <eric.kunze@arm.com> | 2023-07-12 15:20:43 +0000 |
commit | 9a57b9fe6f9832fa0406daac367fd3fc09afa018 (patch) | |
tree | d1c16bd1c2b914bd1e2184d77da2ecba40fb94ee /src/TosaDeserialize.cpp | |
parent | 0720dfa614ff041d1530e7bb2b7155d1047c71ff (diff) | |
download | tosa_mlir_translator-9a57b9fe6f9832fa0406daac367fd3fc09afa018.tar.gz |
[tosa_mlir_translator] Fix Rescale shift data type
Changed to support new data type of Rescale shift attr: DenseI8ArrayAttr
(instead of DenseI32ArrayAttr)
LLVM_REFSPEC: refs/changes/55/532955/1
TF_REFSPEC: refs/changes/50/700450/3
Signed-off-by: Tai Ly <tai.ly@arm.com>
Change-Id: I8f176ab95e167a8c4a0d3da605384509cf083d5e
Diffstat (limited to 'src/TosaDeserialize.cpp')
-rw-r--r-- | src/TosaDeserialize.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/TosaDeserialize.cpp b/src/TosaDeserialize.cpp index 335a997..a4b7eda 100644 --- a/src/TosaDeserialize.cpp +++ b/src/TosaDeserialize.cpp @@ -137,6 +137,16 @@ BuildDenseI32ElementsAttr(mlir::OpBuilder *op_builder, } template <class T> +mlir::DenseI8ArrayAttr BuildDenseI8ArrayAttr(mlir::OpBuilder *op_builder, + const std::vector<T> &values) { + std::vector<int8_t> vec; + for (auto val : values) { + vec.push_back(val); + } + return op_builder->getDenseI8ArrayAttr(vec); +} + +template <class T> mlir::DenseI32ArrayAttr BuildDenseI32ArrayAttr(mlir::OpBuilder *op_builder, const std::vector<T> &values) { std::vector<int32_t> vec; @@ -1051,7 +1061,7 @@ std::vector<mlir::Value> TosaMlirOperatorBuilder::build<Op_RESCALE>( auto output_zp = op_builder->getI32IntegerAttr(attr->output_zp()); auto multiplier = BuildDenseI32ArrayAttr(op_builder, attr->multiplier()); - auto shift = BuildDenseI32ArrayAttr(op_builder, attr->shift()); + auto shift = BuildDenseI8ArrayAttr(op_builder, attr->shift()); auto scale32 = op_builder->getBoolAttr(attr->scale32()); auto double_round = op_builder->getBoolAttr(attr->double_round()); |