COMPMID-2592 Create a new kernel for CLPad with SYMMETRIC and REFLECT mode

Change-Id: Icaf0516f490b2ddca6d1ea03a5cf26cc7d43041f
Signed-off-by: Giorgio Arena <giorgio.arena@arm.com>
Reviewed-on: https://review.mlplatform.org/c/1872
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
diff --git a/arm_compute/core/CL/kernels/CLPadLayerKernel.h b/arm_compute/core/CL/kernels/CLPadLayerKernel.h
index 7e4b31c..ab6ad17 100644
--- a/arm_compute/core/CL/kernels/CLPadLayerKernel.h
+++ b/arm_compute/core/CL/kernels/CLPadLayerKernel.h
@@ -31,7 +31,7 @@
 {
 class ICLTensor;
 
-/** Interface for the PadLayer function. Only CONSTANT PaddingMode is currently supported*/
+/** Interface for the PadLayer function. */
 class CLPadLayerKernel : public ICLKernel
 {
 public:
@@ -56,7 +56,6 @@
      * @param[in]  constant_value (Optional) Constant value to be used for the padding.
      * @param[in]  mode           (Optional) Controls whether the padding should be filled with @p constant_value using CONSTANT,
      *                            or reflect the input, either including the border values (SYMMETRIC) or not (REFLECT).
-     *                            Only CONSTANT mode is currently supported.
      */
     void configure(const ICLTensor *input, ICLTensor *output, const PaddingList &padding, PixelValue constant_value = PixelValue(), PaddingMode mode = PaddingMode::CONSTANT);
     /** Static function to check if given info will lead to a valid configuration of @ref CLPadLayerKernel
@@ -68,7 +67,6 @@
      * @param[in] constant_value (Optional) Constant value to be used for the padding.
      * @param[in] mode           (Optional) Controls whether the padding should be filled with @p constant_value using CONSTANT,
      *                            or reflect the input, either including the border values (SYMMETRIC) or not (REFLECT).
-     *                            Only CONSTANT mode is currently supported.
      */
     static Status validate(const ITensorInfo *input, const ITensorInfo *output, const PaddingList &padding, PixelValue constant_value = PixelValue(), PaddingMode mode = PaddingMode::CONSTANT);
 
@@ -80,6 +78,7 @@
     ICLTensor       *_output;
     int              _input_start_x;
     int              _input_start_y;
+    bool             _4d_enabled;
 };
 } // namespace arm_compute
 #endif /*__ARM_COMPUTE_CLPADLAYERKERNEL_H__ */