COMPMID-2980 (Nightly) armv7a build failures

Change-Id: I8c2a20fc345694d1ad6e0fe63e4f22fb73e6c1df
Signed-off-by: Michalis Spyrou <michalis.spyrou@arm.com>
Signed-off-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Reviewed-on: https://review.mlplatform.org/c/2463
Tested-by: Arm Jenkins <bsgcomp@arm.com>
diff --git a/src/core/utils/quantization/AsymmHelpers.cpp b/src/core/utils/quantization/AsymmHelpers.cpp
index 6196662..11241e8 100644
--- a/src/core/utils/quantization/AsymmHelpers.cpp
+++ b/src/core/utils/quantization/AsymmHelpers.cpp
@@ -35,7 +35,7 @@
 constexpr int64_t fixed_point_one_Q0 = (1LL << 31);
 constexpr float   epsilon            = 0.00001f;
 
-Status calculate_quantized_multiplier(float multiplier, int *quant_multiplier, int *shift)
+Status calculate_quantized_multiplier(float multiplier, int32_t *quant_multiplier, int32_t *shift)
 {
     if(multiplier >= 1.f)
     {
@@ -49,9 +49,9 @@
     }
 }
 
-Status calculate_quantized_multiplier_less_than_one(float multiplier,
-                                                    int *quant_multiplier,
-                                                    int *right_shift)
+Status calculate_quantized_multiplier_less_than_one(float    multiplier,
+                                                    int32_t *quant_multiplier,
+                                                    int32_t *right_shift)
 {
     ARM_COMPUTE_RETURN_ERROR_ON(quant_multiplier == nullptr);
     ARM_COMPUTE_RETURN_ERROR_ON(right_shift == nullptr);
@@ -64,9 +64,10 @@
         return Status{};
     }
 
-    const double q = std::frexp(multiplier, right_shift);
-    *right_shift *= -1;
-    auto q_fixed = static_cast<int64_t>(support::cpp11::round(q * fixed_point_one_Q0));
+    int          shift_exp = 0;
+    const double q         = std::frexp(multiplier, &shift_exp);
+    *right_shift           = -1 * shift_exp;
+    auto q_fixed           = static_cast<int64_t>(support::cpp11::round(q * fixed_point_one_Q0));
     ARM_COMPUTE_RETURN_ERROR_ON(q_fixed > fixed_point_one_Q0);
     if(q_fixed == fixed_point_one_Q0)
     {
@@ -80,15 +81,18 @@
     return Status{};
 }
 
-Status calculate_quantized_multiplier_greater_than_one(float multiplier,
-                                                       int *quantized_multiplier,
-                                                       int *left_shift)
+Status calculate_quantized_multiplier_greater_than_one(float    multiplier,
+                                                       int32_t *quantized_multiplier,
+                                                       int32_t *left_shift)
 {
     ARM_COMPUTE_RETURN_ERROR_ON(quantized_multiplier == nullptr);
     ARM_COMPUTE_RETURN_ERROR_ON(left_shift == nullptr);
     ARM_COMPUTE_RETURN_ERROR_ON(multiplier < 1.f);
-    const double q       = std::frexp(multiplier, left_shift);
-    auto         q_fixed = static_cast<int64_t>(support::cpp11::round(q * fixed_point_one_Q0));
+
+    int          shift_exp = 0;
+    const double q         = std::frexp(multiplier, &shift_exp);
+    *left_shift            = shift_exp;
+    auto q_fixed           = static_cast<int64_t>(support::cpp11::round(q * fixed_point_one_Q0));
     ARM_COMPUTE_RETURN_ERROR_ON(q_fixed > fixed_point_one_Q0);
     if(q_fixed == fixed_point_one_Q0)
     {
@@ -125,8 +129,8 @@
     for(unsigned int i = 0; i < size; ++i)
     {
         const float multiplier       = i_scale * w_scales[i] / o_scale;
-        int         quant_multiplier = 0;
-        int         quant_shift      = 0;
+        int32_t     quant_multiplier = 0;
+        int32_t     quant_shift      = 0;
         ARM_COMPUTE_RETURN_ON_ERROR(calculate_quantized_multiplier_less_than_one(multiplier, &quant_multiplier, &quant_shift));
         quant_multipliers[i] = quant_multiplier;
         quant_shifts[i]      = quant_shift;
@@ -181,8 +185,8 @@
 
     for(unsigned int i = 0; i < num_filters; ++i)
     {
-        int         output_multiplier = 0;
-        int         output_shift      = 0;
+        int32_t     output_multiplier = 0;
+        int32_t     output_shift      = 0;
         const float multiplier        = iq_info.scale * wq_info.scale()[i] / oq_info.scale;
         calculate_quantized_multiplier(multiplier, &output_multiplier, &output_shift);