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>
diff --git a/arm_compute/core/NEON/kernels/NEArithmeticSubtractionKernel.h b/arm_compute/core/NEON/kernels/NEArithmeticSubtractionKernel.h
index 6f88d27..a11bf44 100644
--- a/arm_compute/core/NEON/kernels/NEArithmeticSubtractionKernel.h
+++ b/arm_compute/core/NEON/kernels/NEArithmeticSubtractionKernel.h
@@ -50,9 +50,21 @@
 
     /** 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 @@
 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);