From e42faad710564c5901eb4bea6278d913881b1ec6 Mon Sep 17 00:00:00 2001 From: Sven Date: Fri, 17 Dec 2021 15:00:14 +0800 Subject: [PATCH] Fix build issue if 40BIT_VA enabled (#240) Signed-off-by: xiang.zhang --- src/tim/transform/ops/op_layout_inference.cc | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/tim/transform/ops/op_layout_inference.cc b/src/tim/transform/ops/op_layout_inference.cc index d48c770..15938a5 100644 --- a/src/tim/transform/ops/op_layout_inference.cc +++ b/src/tim/transform/ops/op_layout_inference.cc @@ -320,17 +320,26 @@ bool OpLayoutInfer::TransposeConstTensorData( reverse_shape.push_back(input->GetShape()[i]); } std::vector perm = KOcHWIc2OcIcHW; - std::vectortmp_vec0 = kOcIcWH2WHIcOc; - std::vectortmp_vec1 = kIcOcWH2WHIcOc; + std::vector tmp_vec0 = kOcIcWH2WHIcOc; + std::vector tmp_vec1 = kIcOcWH2WHIcOc; if (pv->AsStdVec() == tmp_vec0) { perm = kHWIcOc2OcIcHW; } else if (pv->AsStdVec() == tmp_vec1) { perm = kHWOcIc2OcIcHW; } + + std::vector native_shape_array; + std::vector native_perm; + std::transform(reverse_shape.begin(), reverse_shape.end(), + std::back_inserter(native_shape_array), + [](const uint32_t& i) { return i; }); + std::transform(perm.begin(), perm.end(), std::back_inserter(native_perm), + [](const uint32_t& i) { return i; }); vsi_nn_Transpose(out_data.data(), (uint8_t*)(input->GetDataRef()), - (uint32_t*)(reverse_shape.data()), + native_shape_array.data(), static_cast(input->GetShape().size()), - perm.data(), vx_type); + native_perm.data(), vx_type); + return true; } @@ -382,4 +391,4 @@ std::vector OpLayoutInfer::MapMultipleAxis( } } // namespace transform -} // namespace tim \ No newline at end of file +} // namespace tim