Wrong arguments for running activation function in CpuGemmDirectConv2d

Resolves: COMPMID-5350

Change-Id: I2f5021ebe9fe4c71371f2cd6cb65cc9c0b2110b5
Signed-off-by: Michalis Spyrou <michalis.spyrou@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/7861
Reviewed-by: Francesco Petrogalli <francesco.petrogalli@arm.com>
Reviewed-by: Gunes Bayir <gunes.bayir@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Benchmark: Arm Jenkins <bsgcomp@arm.com>
diff --git a/src/cpu/operators/CpuGemmDirectConv2d.cpp b/src/cpu/operators/CpuGemmDirectConv2d.cpp
index 75c057e..fd1a042 100644
--- a/src/cpu/operators/CpuGemmDirectConv2d.cpp
+++ b/src/cpu/operators/CpuGemmDirectConv2d.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 Arm Limited.
+ * Copyright (c) 2021-2022 Arm Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -193,7 +193,9 @@
     _gemm_asm_func->run(tensors);
     if(_run_activation)
     {
-        _activation_func->run(tensors);
+        ITensor    *io = tensors.get_tensor(ACL_DST);
+        ITensorPack pack{ { ACL_SRC, io }, { ACL_DST, io } };
+        _activation_func->run(pack);
     }
 }