Add validate tests for CLConvolutionLayer and CLGEMMConvolutionLayer with post ops

* Add validate tests
* Restrict post ops support in ClGemmConv2d to only those that do not
  need im2col or col2im. In practice this means we only support post ops
  in conv1x1 with stride = 1, dilation = 1 and data layout = NHWC

Resolves COMPMID-4435

Change-Id: I1fdf0c5d565a4624857250075ac76db35c2f383b
Signed-off-by: SiCongLi <sicong.li@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/6573
Reviewed-by: Gunes Bayir <gunes.bayir@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
diff --git a/src/core/CL/CLUtils.cpp b/src/core/CL/CLUtils.cpp
index 88b31c8..8dab8aa 100644
--- a/src/core/CL/CLUtils.cpp
+++ b/src/core/CL/CLUtils.cpp
@@ -96,9 +96,9 @@
                 return false;
             }
             // NOTE: Kernel limitation: currently only the following broadcasting types are supported:
-            //  1. Post op arg is scalar, broadcast in both X and Y
-            //  2. Post op arg is of shape: Y=1, X=N, broadcast only in Y
-            //  This means this case: Post op arg is of shape: Y=M, X=1, broadcast only in X, is NOT supported
+            //  1. Post op arg is scalar, broadcast in both first and second dims
+            //  2. Post op arg is of shape: second dim=1, first dim=N, broadcast only in second dim
+            //  This means this case: Post op arg is of shape: second dim=M, first dim=1, broadcast only in first dim, is NOT supported
             if(dst->dimension(0) > 1 && dst->dimension(1) > 1 && (*tensor)->dimension(0) == 1 && (*tensor)->dimension(1) > 1)
             {
                 return false;