Add CPU Pool3d FP16/32 implementation

- Add implementation for the CPU pooling 3d layer.
- NDHWC data layout support
- Support FP32/FP16.
- Add Pool3d to the operator list.
- Fix CL Pool3d kernel comments to generate the operator list.

Resolves: COMPMID-4671

Signed-off-by: Adnan AlSinan <adnan.alsinan@arm.com>
Change-Id: I92478a154beb12541525b648ed3dd5a58c8f27fa
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/7311
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
Reviewed-by: Gunes Bayir <gunes.bayir@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
(cherry picked from commit 572659a0e5dd1086b1c7d16fe331ff73d2acd93a)
diff --git a/Android.bp b/Android.bp
index c80bba0..cf279e0 100644
--- a/Android.bp
+++ b/Android.bp
@@ -420,6 +420,7 @@
         "src/cpu/kernels/CpuMulKernel.cpp",
         "src/cpu/kernels/CpuPermuteKernel.cpp",
         "src/cpu/kernels/CpuPool2dKernel.cpp",
+        "src/cpu/kernels/CpuPool3dKernel.cpp",
         "src/cpu/kernels/CpuQuantizeKernel.cpp",
         "src/cpu/kernels/CpuReshapeKernel.cpp",
         "src/cpu/kernels/CpuScaleKernel.cpp",
@@ -507,6 +508,9 @@
         "src/cpu/kernels/pool2d/neon/nchw/all.cpp",
         "src/cpu/kernels/pool2d/neon/qasymm8.cpp",
         "src/cpu/kernels/pool2d/neon/qasymm8_signed.cpp",
+        "src/cpu/kernels/pool3d/neon/fp16.cpp",
+        "src/cpu/kernels/pool3d/neon/fp32.cpp",
+        "src/cpu/kernels/pool3d/neon/impl.cpp",
         "src/cpu/kernels/range/generic/neon/fp16.cpp",
         "src/cpu/kernels/range/generic/neon/fp32.cpp",
         "src/cpu/kernels/range/generic/neon/impl.cpp",
@@ -559,6 +563,7 @@
         "src/cpu/operators/CpuMul.cpp",
         "src/cpu/operators/CpuPermute.cpp",
         "src/cpu/operators/CpuPool2d.cpp",
+        "src/cpu/operators/CpuPool3d.cpp",
         "src/cpu/operators/CpuQuantize.cpp",
         "src/cpu/operators/CpuReshape.cpp",
         "src/cpu/operators/CpuScale.cpp",
@@ -848,6 +853,7 @@
         "src/runtime/NEON/functions/NEPadLayer.cpp",
         "src/runtime/NEON/functions/NEPermute.cpp",
         "src/runtime/NEON/functions/NEPixelWiseMultiplication.cpp",
+        "src/runtime/NEON/functions/NEPooling3dLayer.cpp",
         "src/runtime/NEON/functions/NEPoolingLayer.cpp",
         "src/runtime/NEON/functions/NEPriorBoxLayer.cpp",
         "src/runtime/NEON/functions/NEQLSTMLayer.cpp",