Review all shapes in datasets to account for padding removal Part 3

* Add the following configurations for stressing padding removal:
    * size = 1
    * size = multiple of processing size
    * size = non-multiple of processing size

Resolves COMPMID-3865

Signed-off-by: SiCong Li <sicong.li@arm.com>
Change-Id: I2e0e6d4da129f64ba23cf7b9e0fa1fa1ad93efc3
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4440
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
diff --git a/tests/validation/CL/GEMMLowpMatrixMultiplyNative.cpp b/tests/validation/CL/GEMMLowpMatrixMultiplyNative.cpp
index 4a574d8..1057af9 100644
--- a/tests/validation/CL/GEMMLowpMatrixMultiplyNative.cpp
+++ b/tests/validation/CL/GEMMLowpMatrixMultiplyNative.cpp
@@ -53,8 +53,15 @@
 {
 // *INDENT-OFF*
 // clang-format off
-/** M values to test */
-const auto m_values = framework::dataset::make("M", 37);
+/** M, N combinations to test
+ *  1: Special 1x1 case
+ *  2: Special multples of processor size in both dimensions
+ *  3: Non multiples of processor size in both dimensions
+*/
+const auto m_n_values = zip(
+    framework::dataset::make("M", {1, 16, 37}),
+    framework::dataset::make("N", {1, 16, 51})
+    );
 
 /** M_W values to test */
 const auto m_w_values = framework::dataset::make("M_W", 5);
@@ -93,8 +100,7 @@
 TEST_SUITE(CL)
 TEST_SUITE(GEMMLowpMatrixMultiplyNative)
 FIXTURE_DATA_TEST_CASE(RunSmall, CLGEMMLowpMatrixMultiplyNativeFixture, framework::DatasetMode::ALL,
-                combine(combine(combine(combine(combine(combine(m_values,
-                                                                n_values),
+                combine(combine(combine(combine(combine(m_n_values,
                                                                 k_values),
                                                                 b_values),
                                                                 m0_values_precommit),
@@ -106,8 +112,7 @@
 }
 
 FIXTURE_DATA_TEST_CASE(RunLarge, CLGEMMLowpMatrixMultiplyNativeFixture, framework::DatasetMode::ALL,
-                combine(combine(combine(combine(combine(combine(m_values,
-                                                                n_values),
+                combine(combine(combine(combine(combine(m_n_values,
                                                                 k_values),
                                                                 b_values),
                                                                 m0_values_nightly),
diff --git a/tests/validation/CL/GEMMLowpMatrixMultiplyReshaped.cpp b/tests/validation/CL/GEMMLowpMatrixMultiplyReshaped.cpp
index 0c651cd..4873a29 100644
--- a/tests/validation/CL/GEMMLowpMatrixMultiplyReshaped.cpp
+++ b/tests/validation/CL/GEMMLowpMatrixMultiplyReshaped.cpp
@@ -62,8 +62,19 @@
 {
 // *INDENT-OFF*
 // clang-format off
+
+/** M, N combinations to test
+ *  1: Special 1x1 case
+ *  2: Special multples of processor size in both dimensions
+ *  3: Non multiples of processor size in both dimensions
+*/
+const auto m_n_values = zip(
+    framework::dataset::make("M", {1, 16, 37}),
+    framework::dataset::make("N", {1, 16, 51})
+    );
+
 /** M values to test */
-const auto m_values = framework::dataset::make("M", 37);
+const auto m_values = framework::dataset::make("M", {1, 37});
 
 /** M_W values to test */
 const auto m_w_values = framework::dataset::make("M_W", 5);
@@ -72,7 +83,7 @@
 const auto m_h_values = framework::dataset::make("M_H", 7);
 
 /** N values to test */
-const auto n_values = framework::dataset::make("N", 51);
+const auto n_values = framework::dataset::make("N", {1, 51});
 
 /** K values to test */
 const auto k_values = framework::dataset::make("K", 23);
@@ -125,9 +136,8 @@
 
 TEST_SUITE(QASYMM8)
 FIXTURE_DATA_TEST_CASE(RunSmall, CLGEMMLowpMatrixMultiplyReshapedFixture, framework::DatasetMode::ALL,
-                combine(combine(combine(combine(combine(combine(combine(combine(combine(combine(combine(
-                                                                   m_values,
-                                                                   n_values),
+                combine(combine(combine(combine(combine(combine(combine(combine(combine(combine(
+                                                                   m_n_values,
                                                                    k_values),
                                                                    b_values),
                                                                    m0_values_precommit_1),
@@ -205,9 +215,8 @@
 
 TEST_SUITE(QASYMM8_SIGNED)
 FIXTURE_DATA_TEST_CASE(RunSmall, CLGEMMLowpMatrixMultiplyReshapedFixture, framework::DatasetMode::ALL,
-                combine(combine(combine(combine(combine(combine(combine(combine(combine(combine(combine(
-                                                                   m_values,
-                                                                   n_values),
+                combine(combine(combine(combine(combine(combine(combine(combine(combine(combine(
+                                                                   m_n_values,
                                                                    k_values),
                                                                    b_values),
                                                                    m0_values_precommit_2),
diff --git a/tests/validation/CL/GEMMMatrixMultiply.cpp b/tests/validation/CL/GEMMMatrixMultiply.cpp
index 5d2e211..fdf7f50 100644
--- a/tests/validation/CL/GEMMMatrixMultiply.cpp
+++ b/tests/validation/CL/GEMMMatrixMultiply.cpp
@@ -72,8 +72,16 @@
 /** Beta values to test */
 const auto beta_values = framework::dataset::make("beta", {-0.35f, 0.0f} );
 
-/** M values to test */
-const auto m_values = framework::dataset::make("M", {37, 1});
+/** M, N combinations to test
+ *  1: Special 1x1 case
+ *  2: Special multples of processor size in both dimensions
+ *  3: Non multiples of processor size in both dimensions
+ *  4: Special 1x1003 case
+*/
+const auto m_n_values = zip(
+    framework::dataset::make("M", {1, 16, 37, 1}),
+    framework::dataset::make("N", {1, 16, 51, 1003})
+    );
 
 /** N values to test */
 const auto n_values = framework::dataset::make("N", {51, 1003});
@@ -247,9 +255,8 @@
 TEST_SUITE(FP32)
 
 FIXTURE_DATA_TEST_CASE(RunSmall, CLGEMMMatrixMultiplyNativeFixture<float>, framework::DatasetMode::ALL,
-                combine(combine(combine(combine(combine(combine(combine(combine(combine(combine(
-                                                                   m_values,
-                                                                   n_values),
+                combine(combine(combine(combine(combine(combine(combine(combine(combine(
+                                                                   m_n_values,
                                                                    k_values),
                                                                    b_values),
                                                                    alpha_values),
@@ -287,9 +294,8 @@
 
 TEST_SUITE(FP16)
 FIXTURE_DATA_TEST_CASE(RunSmall, CLGEMMMatrixMultiplyNativeFixture<half>, framework::DatasetMode::ALL,
-                combine(combine(combine(combine(combine(combine(combine(combine(combine(combine(
-                                                                   m_values,
-                                                                   n_values),
+                combine(combine(combine(combine(combine(combine(combine(combine(combine(
+                                                                   m_n_values,
                                                                    k_values),
                                                                    b_values),
                                                                    alpha_values),
diff --git a/tests/validation/CL/GEMMMatrixMultiplyInterleavedTransposed.cpp b/tests/validation/CL/GEMMMatrixMultiplyInterleavedTransposed.cpp
index b2701e7..d6507a0 100644
--- a/tests/validation/CL/GEMMMatrixMultiplyInterleavedTransposed.cpp
+++ b/tests/validation/CL/GEMMMatrixMultiplyInterleavedTransposed.cpp
@@ -82,8 +82,15 @@
 /** Beta values to test */
 const auto beta_values = framework::dataset::make("beta", {-0.35f, 0.0f} );
 
-/** M values to test */
-const auto m_values = framework::dataset::make("M", {37, 1});
+/** M, N combinations to test
+ *  1: Special 1x1 case
+ *  2: Special multples of processor size in both dimensions
+ *  3: Non multiples of processor size in both dimensions
+*/
+const auto m_n_values = zip(
+    framework::dataset::make("M", {1, 16, 37}),
+    framework::dataset::make("N", {1, 16, 51})
+    );
 
 /** N values to test */
 const auto n_values = framework::dataset::make("N", 51);
@@ -235,9 +242,8 @@
 TEST_SUITE(Float)
 TEST_SUITE(FP32)
 FIXTURE_DATA_TEST_CASE(RunSmall, CLGEMMMatrixMultiplyReshapedFixture<float>, framework::DatasetMode::ALL,
-                combine(combine(combine(combine(combine(combine(combine(combine(combine(combine(combine(combine(
-                                                                   m_values,
-                                                                   n_values),
+                combine(combine(combine(combine(combine(combine(combine(combine(combine(combine(combine(
+                                                                   m_n_values,
                                                                    k_values),
                                                                    b_values),
                                                                    alpha_values),
@@ -279,9 +285,8 @@
 
 TEST_SUITE(FP16)
 FIXTURE_DATA_TEST_CASE(RunSmall, CLGEMMMatrixMultiplyReshapedFixture<half>, framework::DatasetMode::ALL,
-                combine(combine(combine(combine(combine(combine(combine(combine(combine(combine(combine(combine(
-                                                                   m_values,
-                                                                   n_values),
+                combine(combine(combine(combine(combine(combine(combine(combine(combine(combine(combine(
+                                                                   m_n_values,
                                                                    k_values),
                                                                    b_values),
                                                                    alpha_values),