COMPMID-3223: Fix -14 error code on Firefly for CLReduction

Wrong data type was used for MIN/MAX reduction causing segfaults. This
patch also simplifies window calculation for non-parallel reduction.

Change-Id: I0abd9e84540801f92b306accd1439ff5df126a9e
Signed-off-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/2792
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
diff --git a/src/core/CL/cl_kernels/reduction_operation.cl b/src/core/CL/cl_kernels/reduction_operation.cl
index a5fd0b3..b9d33bd 100644
--- a/src/core/CL/cl_kernels/reduction_operation.cl
+++ b/src/core/CL/cl_kernels/reduction_operation.cl
@@ -196,7 +196,7 @@
 #if defined(MIN)
         res = select(res, in, CONVERT(ISLESS(in, res), COND_DATA_TYPE));
 #elif defined(MAX)
-        res                             = select(res, in, CONVERT(ISGREATER(in, res), COND_DATA_TYPE));
+        res = select(res, in, CONVERT(ISGREATER(in, res), COND_DATA_TYPE));
 #elif defined(PROD)
 #if defined(OFFSET) && defined(SCALE)
         res_f *= DEQUANTIZE(in, OFFSET, SCALE, DATA_TYPE_PROMOTED, 1);
@@ -223,11 +223,7 @@
     res = QUANTIZE(res_f, OFFSET, SCALE, DATA_TYPE_PROMOTED, 1);
 #endif // defined(PROD) && defined(OFFSET) && defined(SCALE)
 
-#if defined(MIN) || defined(MAX)
-    *((__global DATA_TYPE_PROMOTED *)output.ptr) = res;
-#else  // !(defined(MIN) || defined(MAX))
     *((__global DATA_TYPE *)output.ptr) = CONVERT_SAT(res, DATA_TYPE);
-#endif // defined(MIN) || defined(MAX)
 }
 #endif // defined(WIDTH)
 
@@ -276,7 +272,7 @@
 #if defined(MIN)
         res = select(res, in, ISLESS(in, res));
 #elif defined(MAX)
-        res                             = select(res, in, ISGREATER(in, res));
+        res = select(res, in, ISGREATER(in, res));
 #else // !(defined(MAX) || defined(MIN))
 #if defined(SUM_SQUARE)
         in *= in;
@@ -373,7 +369,7 @@
 #if defined(MIN)
         res = select(res, in, ISLESS(in, res));
 #elif defined(MAX)
-        res                             = select(res, in, ISGREATER(in, res));
+        res = select(res, in, ISGREATER(in, res));
 #else // !(defined(MAX) || defined(MIN))
 #if defined(SUM_SQUARE)
         in *= in;
@@ -472,7 +468,7 @@
 #if defined(MIN)
         res = select(res, in, ISLESS(in, res));
 #elif defined(MAX)
-        res                             = select(res, in, ISGREATER(in, res));
+        res = select(res, in, ISGREATER(in, res));
 #else // !(defined(MAX) || defined(MIN))
 #if defined(SUM_SQUARE)
         in *= in;