Decouple CpuElementwiseKernel

1- reorganize the folders struct according the new definition
2- separate between unary and binary implementations
3- decuple kernels - unary , binary op and binary comparision

Resolves COMPMID-4634
Change-Id: I0195846cc372e74a63c659069a4508de53a22110
Signed-off-by: Dana Zlotnik <dana.zlotnik@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/6860
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
diff --git a/filelist.json b/filelist.json
index a306845..a4773de 100644
--- a/filelist.json
+++ b/filelist.json
@@ -1259,10 +1259,22 @@
           "common": [
             "src/cpu/operators/CpuElementwise.cpp",
             "src/cpu/kernels/CpuElementwiseKernel.cpp",
-            "src/runtime/NEON/functions/NEElementwiseOperations.cpp"
+            "src/runtime/NEON/functions/NEElementwiseOperations.cpp",
+            "src/cpu/kernels/elementwise_binary/generic/neon/qasymm8.cpp",
+            "src/cpu/kernels/elementwise_binary/generic/neon/qasymm8_signed.cpp"
           ],
+          "neon":{
+            "fp32": ["src/cpu/kernels/elementwise_binary/generic/neon/fp32.cpp"],
+            "fp16": ["src/cpu/kernels/elementwise_binary/generic/neon/fp16.cpp"],
+            "integer": ["src/cpu/kernels/elementwise_binary/generic/neon/integer.cpp"]
+          },
           "sve": {
-            "common": [ "src/cpu/kernels/elementwise/sve/elementwise.cpp" ]
+            "common": ["src/cpu/kernels/elementwise_binary/generic/sve/impl.cpp" ],
+            "integer": ["src/cpu/kernels/elementwise_binary/generic/sve/integer.cpp"],
+            "fp32": ["src/cpu/kernels/elementwise_binary/generic/sve/fp32.cpp"],
+            "fp16": ["src/cpu/kernels/elementwise_binary/generic/sve/fp16.cpp"], 
+            "qasymm8": ["src/cpu/kernels/elementwise_binary/generic/sve2/qasymm8.cpp"],
+            "qasymm8_signed": ["src/cpu/kernels/elementwise_binary/generic/sve2/qasymm8_signed.cpp"]
           }
         }
       },
@@ -1273,8 +1285,16 @@
             "src/cpu/kernels/CpuElementwiseUnaryKernel.cpp",
             "src/runtime/NEON/functions/NEElementwiseUnaryLayer.cpp"
           ],
+          "neon": {
+            "integer": ["src/cpu/kernels/elementwise_unary/generic/neon/integer.cpp"],
+            "fp32": ["src/cpu/kernels/elementwise_unary/generic/neon/fp32.cpp"],
+            "fp16": ["src/cpu/kernels/elementwise_unary/generic/neon/fp16.cpp"]
+          },
           "sve": {
-            "common": [ "src/cpu/kernels/elementwise/sve/elementwise_unary.cpp" ]
+            "common": ["src/cpu/kernels/elementwise_unary/generic/sve/impl.cpp" ],
+            "integer": ["src/cpu/kernels/elementwise_unary/generic/sve/integer.cpp"],
+            "fp32": ["src/cpu/kernels/elementwise_unary/generic/sve/fp32.cpp"],
+            "fp16": ["src/cpu/kernels/elementwise_unary/generic/sve/fp16.cpp"]
           }
         }
       },