diff options
author | Giorgio Arena <giorgio.arena@arm.com> | 2021-01-21 14:53:56 +0000 |
---|---|---|
committer | Giorgio Arena <giorgio.arena@arm.com> | 2021-01-22 09:12:01 +0000 |
commit | e36208c8b86413e4fdd4ca31904e9d613ce11570 (patch) | |
tree | af6b3f363b7f5b00308c1706275c3b91381f08be /src/core/CL/cl_kernels/helpers.h | |
parent | 0094c023038cbb353f60e96d1301b4bb25c9e382 (diff) | |
download | ComputeLibrary-e36208c8b86413e4fdd4ca31904e9d613ce11570.tar.gz |
CTS failures in Android R and Q in GpuAcc in ArgMinMax
- Fix ambiguosity with select in OpenCL
- Define a new macro for signed integer data type of the same input data type's size. This is needed because some ops (e.g. logical operators) in OpenCL work in this way
Resolves: COMPMID-4116, COMPMID-4110
Signed-off-by: Giorgio Arena <giorgio.arena@arm.com>
Change-Id: I560eda63fce24abd03d061f78f2f2ca951053fd0
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4898
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src/core/CL/cl_kernels/helpers.h')
-rw-r--r-- | src/core/CL/cl_kernels/helpers.h | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/core/CL/cl_kernels/helpers.h b/src/core/CL/cl_kernels/helpers.h index df3b4937b2..d5e8352438 100644 --- a/src/core/CL/cl_kernels/helpers.h +++ b/src/core/CL/cl_kernels/helpers.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016-2020 Arm Limited. + * Copyright (c) 2016-2021 Arm Limited. * * SPDX-License-Identifier: MIT * @@ -537,6 +537,21 @@ #define SELECT_VEC_DATA_TYPE(type, size) SELECT_VEC_DATA_TYPE_STR(type, size) #define SELECT_DATA_TYPE(type) SELECT_VEC_DATA_TYPE_STR(type, 1) +#define signed_int_vec_dt_uchar(size) char##size +#define signed_int_vec_dt_char(size) char##size +#define signed_int_vec_dt_ushort(size) short##size +#define signed_int_vec_dt_short(size) short##size +#define signed_int_vec_dt_half(size) short##size +#define signed_int_vec_dt_uint(size) int##size +#define signed_int_vec_dt_int(size) int##size +#define signed_int_vec_dt_float(size) int##size +#define signed_int_vec_dt_ulong(size) long##size +#define signed_int_vec_dt_long(size) long##size + +#define SIGNED_INT_VEC_DATA_TYPE_STR(type, size) signed_int_vec_dt_##type(size) +#define SIGNED_INT_VEC_DATA_TYPE(type, size) SIGNED_INT_VEC_DATA_TYPE_STR(type, size) +#define SIGNED_INT_DATA_TYPE(type) SIGNED_INT_VEC_DATA_TYPE_STR(type, 1) + #define sum_reduce_1(x) (x) #define sum_reduce_2(x) ((x).s0) + ((x).s1) #define sum_reduce_3(x) sum_reduce_2((x).s01) + ((x).s2) |