diff --git a/backends/cadence/hifi/operators/op_add.cpp b/backends/cadence/hifi/operators/op_add.cpp index 37ccda9d9cc..c8feea37f7d 100644 --- a/backends/cadence/hifi/operators/op_add.cpp +++ b/backends/cadence/hifi/operators/op_add.cpp @@ -142,13 +142,13 @@ Tensor& add_out( (a_type == ScalarType::Float) && (b_type == ScalarType::Float); if ((a_dim == 0) && float_types) { - for (int i = 0; i < max_dim; i++) + for (int i = 0; i < b.numel(); i++) out.mutable_data_ptr()[i] = a.const_data_ptr()[0] + b.const_data_ptr()[i]; return out; } if ((b_dim == 0) && float_types) { - for (int i = 0; i < max_dim; i++) + for (int i = 0; i < a.numel(); i++) out.mutable_data_ptr()[i] = a.const_data_ptr()[i] + b.const_data_ptr()[0]; return out; diff --git a/backends/cadence/hifi/operators/op_div.cpp b/backends/cadence/hifi/operators/op_div.cpp index be9c4751340..da3f4ac2d07 100644 --- a/backends/cadence/hifi/operators/op_div.cpp +++ b/backends/cadence/hifi/operators/op_div.cpp @@ -90,13 +90,13 @@ div_out(RuntimeContext& ctx, const Tensor& a, const Tensor& b, Tensor& out) { (a_type == ScalarType::Float) && (b_type == ScalarType::Float); if ((a_dim == 0) && float_types) { - for (int i = 0; i < max_dim; i++) + for (int i = 0; i < b.numel(); i++) out.mutable_data_ptr()[i] = a.const_data_ptr()[0] / b.const_data_ptr()[i]; return out; } if ((b_dim == 0) && float_types) { - for (int i = 0; i < max_dim; i++) + for (int i = 0; i < a.numel(); i++) out.mutable_data_ptr()[i] = a.const_data_ptr()[i] / b.const_data_ptr()[0]; return out; @@ -218,13 +218,13 @@ Tensor& div_out_mode( (a_type == ScalarType::Float) && (b_type == ScalarType::Float); if ((a_dim == 0) && float_types) { - for (int i = 0; i < max_dim; i++) + for (int i = 0; i < b.numel(); i++) out.mutable_data_ptr()[i] = a.const_data_ptr()[0] / b.const_data_ptr()[i]; return out; } if ((b_dim == 0) && float_types) { - for (int i = 0; i < max_dim; i++) + for (int i = 0; i < a.numel(); i++) out.mutable_data_ptr()[i] = a.const_data_ptr()[i] / b.const_data_ptr()[0]; return out; diff --git a/backends/cadence/hifi/operators/op_mul.cpp b/backends/cadence/hifi/operators/op_mul.cpp index 0dd81b1986f..6eb79545be7 100644 --- a/backends/cadence/hifi/operators/op_mul.cpp +++ b/backends/cadence/hifi/operators/op_mul.cpp @@ -108,13 +108,13 @@ mul_out(RuntimeContext& ctx, const Tensor& a, const Tensor& b, Tensor& out) { (a_type == ScalarType::Float) && (b_type == ScalarType::Float); if ((a_dim == 0) && float_types) { - for (int i = 0; i < max_dim; i++) + for (int i = 0; i < b.numel(); i++) out.mutable_data_ptr()[i] = a.const_data_ptr()[0] * b.const_data_ptr()[i]; return out; } if ((b_dim == 0) && float_types) { - for (int i = 0; i < max_dim; i++) + for (int i = 0; i < a.numel(); i++) out.mutable_data_ptr()[i] = a.const_data_ptr()[i] * b.const_data_ptr()[0]; return out; diff --git a/backends/cadence/hifi/operators/op_sub.cpp b/backends/cadence/hifi/operators/op_sub.cpp index 42ea32e2887..d1035c2fb1d 100644 --- a/backends/cadence/hifi/operators/op_sub.cpp +++ b/backends/cadence/hifi/operators/op_sub.cpp @@ -137,13 +137,13 @@ Tensor& sub_out( (a_type == ScalarType::Float) && (b_type == ScalarType::Float); if ((a_dim == 0) && float_types) { - for (int i = 0; i < max_dim; i++) + for (int i = 0; i < b.numel(); i++) out.mutable_data_ptr()[i] = a.const_data_ptr()[0] - b.const_data_ptr()[i]; return out; } if ((b_dim == 0) && float_types) { - for (int i = 0; i < max_dim; i++) + for (int i = 0; i < a.numel(); i++) out.mutable_data_ptr()[i] = a.const_data_ptr()[i] - b.const_data_ptr()[0]; return out;