diff options
author | Michalis Spyrou <michalis.spyrou@arm.com> | 2017-08-14 11:26:37 +0100 |
---|---|---|
committer | Anthony Barbier <anthony.barbier@arm.com> | 2018-11-02 16:35:24 +0000 |
commit | def665a1a2e92baa1cfb192b65425b91ff6046b3 (patch) | |
tree | 03271d3e78190d81709618f40191d105b7c94917 /src/core/CL/cl_kernels/fixed_point.h | |
parent | fc2817dc0436ef2d5064df0a061aafd3d324d894 (diff) | |
download | ComputeLibrary-def665a1a2e92baa1cfb192b65425b91ff6046b3.tar.gz |
COMPMID-474 - Add support for QS8/QS16 DirectConvolution CL
Change-Id: I537e4acbc02c8d880ff8630ea62223e0f1a1dda3
Reviewed-on: http://mpd-gerrit.cambridge.arm.com/82875
Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com>
Reviewed-by: Pablo Tello <pablo.tello@arm.com>
Diffstat (limited to 'src/core/CL/cl_kernels/fixed_point.h')
-rw-r--r-- | src/core/CL/cl_kernels/fixed_point.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/core/CL/cl_kernels/fixed_point.h b/src/core/CL/cl_kernels/fixed_point.h index 7038d40e16..d35a46f428 100644 --- a/src/core/CL/cl_kernels/fixed_point.h +++ b/src/core/CL/cl_kernels/fixed_point.h @@ -168,6 +168,11 @@ ADDQ_SAT_IMPL(qs16x2) ADDQ_SAT_IMPL(qs16x4) ADDQ_SAT_IMPL(qs16x8) ADDQ_SAT_IMPL(qs16x16) +ADDQ_SAT_IMPL(qs32x1) +ADDQ_SAT_IMPL(qs32x2) +ADDQ_SAT_IMPL(qs32x4) +ADDQ_SAT_IMPL(qs32x8) +ADDQ_SAT_IMPL(qs32x16) #define ADD_SAT_OP_EXPAND_STR(a, b, type, size) add_sat_##type##x##size((a), (b)) #define ADD_SAT_OP_EXPAND(a, b, type, size) ADD_SAT_OP_EXPAND_STR(a, b, type, size) @@ -213,6 +218,8 @@ SUBQ_SAT_IMPL(qs16x16) return CONVERT((res >> (itype)fixed_point_position), type); \ } +MULQ_IMPL(qs8x8, qs16x8) +MULQ_IMPL(qs16x8, qs32x8) MULQ_IMPL(qs8x16, qs16x16) MULQ_IMPL(qs16x16, qs32x16) @@ -234,8 +241,9 @@ MULQ_IMPL(qs16x16, qs32x16) return CONVERT_SAT((res >> (itype)fixed_point_position), type); \ } -MULQ_SAT_IMPL(qs8x16, qs16x16) +MULQ_SAT_IMPL(qs8x8, qs16x8) MULQ_SAT_IMPL(qs16x8, qs32x8) +MULQ_SAT_IMPL(qs8x16, qs16x16) MULQ_SAT_IMPL(qs16x16, qs32x16) #define MUL_SAT_OP_EXPAND_STR(a, b, type, size, position) mul_sat_##type##x##size((a), (b), (position)) |