[rtsan] Remove mkfifoat interceptor (#116997)
[llvm-project.git] / libclc / clc / lib / generic / relational / clc_islessgreater.cl
blob5106c9f460e2ca9ba2b6e6221a3adefd6eeef44c
1 #include <clc/internal/clc.h>
2 #include <clc/relational/relational.h>
4 // Note: It would be nice to use __builtin_islessgreater with vector inputs, but
5 // it seems to only take scalar values as input, which will produce incorrect
6 // output for vector input types.
8 _CLC_DEFINE_RELATIONAL_BINARY(int, __clc_islessgreater, __builtin_islessgreater,
9 float, float)
11 #ifdef cl_khr_fp64
13 #pragma OPENCL EXTENSION cl_khr_fp64 : enable
15 // The scalar version of __clc_islessgreater(double, double) returns an int, but
16 // the vector versions return long.
18 _CLC_DEF _CLC_OVERLOAD int __clc_islessgreater(double x, double y) {
19 return __builtin_islessgreater(x, y);
22 _CLC_DEFINE_RELATIONAL_BINARY_VEC_ALL(long, __clc_islessgreater, double, double)
24 #endif
25 #ifdef cl_khr_fp16
27 #pragma OPENCL EXTENSION cl_khr_fp16 : enable
29 // The scalar version of __clc_islessgreater(half, half) returns an int, but the
30 // vector versions return short.
32 _CLC_DEF _CLC_OVERLOAD int __clc_islessgreater(half x, half y) {
33 return __builtin_islessgreater(x, y);
36 _CLC_DEFINE_RELATIONAL_BINARY_VEC_ALL(short, __clc_islessgreater, half, half)
38 #endif