Integrate SME2 kernels

* Add SME/SME2 detection.
* Integrate SME2 implementation for:
  - Normal convolution
  - Winograd
  - Depthwise convolution
  - Pooling

Resolves: COMPMID-5700
Signed-off-by: Viet-Hoa Do <viet-hoa.do@arm.com>
Change-Id: I2f1ca1d05f8cfeee9309ed1c0a36096a4a6aad5c
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/8692
Reviewed-by: Gunes Bayir <gunes.bayir@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
diff --git a/arm_compute/core/CPP/CPPTypes.h b/arm_compute/core/CPP/CPPTypes.h
index c3fb47f..e4cbd9f 100644
--- a/arm_compute/core/CPP/CPPTypes.h
+++ b/arm_compute/core/CPP/CPPTypes.h
@@ -85,57 +85,57 @@
 
     /** Checks if the cpu model supports fp16.
      *
-     * @return true of the cpu supports fp16, false otherwise
+     * @return true if the cpu supports fp16, false otherwise
      */
     bool has_fp16() const;
     /** Checks if the cpu model supports bf16.
      *
-     * @return true of the cpu supports bf16, false otherwise
+     * @return true if the cpu supports bf16, false otherwise
      */
     bool has_bf16() const;
     /** Checks if the cpu model supports bf16.
      *
-     * @return true of the cpu supports bf16, false otherwise
+     * @return true if the cpu supports bf16, false otherwise
      */
     bool has_svebf16() const;
     /** Checks if the cpu model supports dot product.
      *
-     * @return true of the cpu supports dot product, false otherwise
+     * @return true if the cpu supports dot product, false otherwise
      */
     bool has_dotprod() const;
     /** Checks if the cpu model supports floating-point matrix multiplication.
      *
-     * @return true of the cpu supports floating-point matrix multiplication, false otherwise
+     * @return true if the cpu supports floating-point matrix multiplication, false otherwise
      */
     bool has_svef32mm() const;
     /** Checks if the cpu model supports integer matrix multiplication.
      *
-     * @return true of the cpu supports integer matrix multiplication, false otherwise
+     * @return true if the cpu supports integer matrix multiplication, false otherwise
      */
     bool has_i8mm() const;
     /** Checks if the cpu model supports integer matrix multiplication.
      *
-     * @return true of the cpu supports integer matrix multiplication, false otherwise
+     * @return true if the cpu supports integer matrix multiplication, false otherwise
      */
     bool has_svei8mm() const;
     /** Checks if the cpu model supports sve.
      *
-     * @return true of the cpu supports sve, false otherwise
+     * @return true if the cpu supports sve, false otherwise
      */
     bool has_sve() const;
     /** Checks if the cpu model supports sve2.
      *
-     * @return true of the cpu supports sve2, false otherwise
+     * @return true if the cpu supports sve2, false otherwise
      */
     bool has_sve2() const;
     /** Checks if the cpu model supports sme.
      *
-     * @return true of the cpu supports sme, false otherwise
+     * @return true if the cpu supports sme, false otherwise
      */
     bool has_sme() const;
     /** Checks if the cpu model supports sme2.
      *
-     * @return true of the cpu supports sme2, false otherwise
+     * @return true if the cpu supports sme2, false otherwise
      */
     bool has_sme2() const;
     /** Gets the cpu model for a given cpuid.