aboutsummaryrefslogtreecommitdiff
path: root/arm_compute/core/NEON/kernels/NEArithmeticSubtractionKernel.h
diff options
context:
space:
mode:
authorPablo Tello <pablo.tello@arm.com>2017-07-11 13:54:43 +0100
committerAnthony Barbier <anthony.barbier@arm.com>2018-09-17 14:16:42 +0100
commitd7a5d22dd6b2a968469ea511f11907b131ec1c67 (patch)
tree00e16ee769fb2fe91d29224e2eb7ea71f06d069b /arm_compute/core/NEON/kernels/NEArithmeticSubtractionKernel.h
parent7281834f8554670c9d8ae59069a4d80adec21fa7 (diff)
downloadComputeLibrary-d7a5d22dd6b2a968469ea511f11907b131ec1c67.tar.gz
COMPMID-421: Added FP16 support to Arithmetic Subtraction.
Change-Id: I2043531e8e81f28354a208ff91024c3954389422 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/80304 Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Diffstat (limited to 'arm_compute/core/NEON/kernels/NEArithmeticSubtractionKernel.h')
-rw-r--r--arm_compute/core/NEON/kernels/NEArithmeticSubtractionKernel.h24
1 files changed, 18 insertions, 6 deletions
diff --git a/arm_compute/core/NEON/kernels/NEArithmeticSubtractionKernel.h b/arm_compute/core/NEON/kernels/NEArithmeticSubtractionKernel.h
index 6f88d2757a..a11bf44458 100644
--- a/arm_compute/core/NEON/kernels/NEArithmeticSubtractionKernel.h
+++ b/arm_compute/core/NEON/kernels/NEArithmeticSubtractionKernel.h
@@ -50,9 +50,21 @@ public:
/** Initialise the kernel's input, output and border mode.
*
- * @param[in] input1 An input tensor. Data types supported: U8/QS8/QS16/S16/F32
- * @param[in] input2 An input tensor. Data types supported: U8, QS8 (only if @p input1 is QS8),QS16 (only if @p input1 is QS16), S16/F32 (only if @p input1 is F32).
- * @param[out] output The output tensor. Data types supported: U8 (Only if both inputs are U8), QS8 (only if both inputs are QS8), QS16 (only if both inputs are QS16), S16/F32 (only if both inputs are F32).
+ * Valid configurations (Input1,Input2) -> Output :
+ *
+ * - (U8,U8) -> U8
+ * - (QS8,QS8) -> QS8
+ * - (U8,U8) -> S16
+ * - (S16,U8) -> S16
+ * - (U8,S16) -> S16
+ * - (S16,S16) -> S16
+ * - (QS16,QS16) -> QS16
+ * - (F16,F16) -> F16
+ * - (F32,F32) -> F32
+ *
+ * @param[in] input1 An input tensor. Data types supported: U8/QS8/QS16/S16/F16/F32
+ * @param[in] input2 An input tensor. Data types supported: U8/QS8/QS16/S16/F16/F32
+ * @param[out] output The output tensor. Data types supported: U8/QS8/QS16/S16/F16/F32.
* @param[in] policy Overflow policy.
*/
void configure(const ITensor *input1, const ITensor *input2, ITensor *output, ConvertPolicy policy);
@@ -63,9 +75,9 @@ public:
private:
/** Common signature for all the specialised sub functions
*
- * @param[in] input1 An input tensor. Data types supported: U8/S16/F32
- * @param[in] input2 An input tensor. Data types supported: U8/S16/F32 (only if @p input1 is F32).
- * @param[out] output The output tensor. Data types supported: U8 (Only if both inputs are U8), S16/F32 (only if both inputs are F32).
+ * @param[in] input1 An input tensor. Data types supported: U8/QS8/QS16/S16/F16/F32
+ * @param[in] input2 An input tensor. Data types supported: U8/QS8/QS16/S16/F16/F32
+ * @param[out] output The output tensor. Data types supported: U8/QS8/QS16/S16/F16/F32.
* @param[in] window Region on which to execute the kernel.
*/
using SubFunction = void(const ITensor *input1, const ITensor *input2, ITensor *output, const Window &window);