Fix pool2d generation and check to match specification

Change output size error_if check in ref model to match specification.
Remove size check from test generation as output shape is always
correctly calculated.

Change-Id: I5be64f31e6448b47e80fc0a4af11bb312f366a26
Signed-off-by: Jeremy Johnson <jeremy.johnson@arm.com>
diff --git a/reference_model/src/ops/tensor_ops.cc b/reference_model/src/ops/tensor_ops.cc
index be4e4aa..059638a 100644
--- a/reference_model/src/ops/tensor_ops.cc
+++ b/reference_model/src/ops/tensor_ops.cc
@@ -92,13 +92,8 @@
         return 1;
     }
 
-    int32_t allowed_min_input_height = (OH * stride_y) - pad_top - pad_bottom - stride_y + kernel_y;
-    int32_t allowed_min_input_width  = (OW * stride_x) - pad_left - pad_right - stride_x + kernel_x;
-
-    int32_t d_height = IH - allowed_min_input_height;
-    int32_t d_width  = IW - allowed_min_input_width;
-
-    if (d_height < 0 || d_height > stride_y || d_width < 0 || d_width > stride_x)
+    if ( OH != (IH + pad_top + pad_bottom + stride_y - kernel_y) / stride_y ||
+         OW != (IW + pad_left + pad_right + stride_x - kernel_x) / stride_x )
     {
         msg = "Mismatch between output shape provided and expected output shape";
         return 1;
diff --git a/verif/tosa_test_gen.py b/verif/tosa_test_gen.py
index 1f35b8b..04fce90 100644
--- a/verif/tosa_test_gen.py
+++ b/verif/tosa_test_gen.py
@@ -717,12 +717,6 @@
         for s in sorted(list(strides)):
             for p in sorted(list(paddings)):
                 for k in sorted(list(kernels)):
-                    # Calculate output height to test for error_if conditions
-                    oh = (shape[1] + p[0] + p[1] + s[0] - k[0]) // s[0]
-                    ow = (shape[2] + p[2] + p[3] + s[1] - k[1]) // s[1]
-                    y = (oh * s[0]) - p[0] - p[1] - s[0] + k[0]
-                    x = (ow * s[1]) - p[2] - p[3] - s[1] + k[1]
-
                     if error_name in [ErrorIf.StrideSmallerOne, ErrorIf.KernelSmallerOne, ErrorIf.PadSmallerZero, ErrorIf.PadLargerEqualKernel]:
                         sNew, pNew, kNew = TosaErrorIfArgGen.eiPoolingErrorIf(testGen, error_name, s, p, k)
                         if None not in [sNew, pNew, kNew] and n % sparsity == 0:
@@ -741,7 +735,6 @@
                         and p[0] < k[0] and p[1] < k[0] and p[2] < k[1] and p[3] < k[1]
                         # the padded shape must exceed the kernel size
                         and (shape[1] + p[0] + p[1]) > k[0] and (shape[2] + p[2] + p[3]) > k[1]
-                        and y < shape[1] and x < shape[2]
                     ):
                         arg_list.append(
                             (