diff --git a/src/cmake/123 b/src/cmake/123 new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/src/common/transformations/src/transformations/mlir/op/gather.cpp b/src/common/transformations/src/transformations/mlir/op/gather.cpp index 229f24380e5ef2..c4e93044928cde 100644 --- a/src/common/transformations/src/transformations/mlir/op/gather.cpp +++ b/src/common/transformations/src/transformations/mlir/op/gather.cpp @@ -61,13 +61,15 @@ struct ConvertGather { auto empty_add = builder.create(loc, indices_expanded.getType(), dynamic_index_dims); auto add = builder.create(loc, mlir::ValueRange{cast.getResult(), indices_expanded}, mlir::ValueRange{empty_add}); auto select = builder.create(loc, mlir::ValueRange{cmpi.getResult(), add.getResult(0), indices_expanded}, mlir::ValueRange{empty_add}); + auto index_type = RankedTensorType::get(ArrayRef(importShape(ov_output_shape)), builder.getIndexType()); + auto cast2 = builder.create(loc, index_type, mlir::ValueRange{select.getResult(0)}); auto gather_node = std::dynamic_pointer_cast(node); assert(gather_node && "Expected a gather node"); int64_t axis = gather_node->get_axis(); llvm::SmallVector gather_dims{axis}; - auto gather = builder.create(loc, out_type, input, select.getResult(0), gather_dims, false); + auto gather = builder.create(loc, out_type, input, cast2, gather_dims, false); context.addOutputs(node, gather); } }; diff --git a/src/common/transformations/src/transformations/mlir/op/transpose.cpp b/src/common/transformations/src/transformations/mlir/op/transpose.cpp index aa08258e131b4b..f0c4aa3d340f78 100644 --- a/src/common/transformations/src/transformations/mlir/op/transpose.cpp +++ b/src/common/transformations/src/transformations/mlir/op/transpose.cpp @@ -27,10 +27,11 @@ struct ConvertTranspose { const auto ov_output_shape = node->get_output_partial_shape(0); auto out_type = importTensor(context.context, ov_output_shape, ov_output_element_type); auto dynamic_dimensions = context.get_dynamic_dimension_values(ov_output_shape); + const auto ov_order_element_type = node->get_input_element_type(1); auto const_order = dynamic_cast(node->get_input_node_ptr(1)); assert(const_order && "non-const order not supported"); - ov::Coordinate coords = const_order->get_coordinate_val(); + std::vector coords = const_order->cast_vector(); SmallVector order(coords.begin(), coords.end()); auto empty = builder.create(loc, out_type, dynamic_dimensions);