[rtsan] Remove mkfifoat interceptor (#116997)
[llvm-project.git] / libclc / clc / lib / generic / relational / clc_islessequal.cl
blob6fde763263e2b037b568adc23ea25da4b540dff9
1 #include <clc/internal/clc.h>
2 #include <clc/relational/relational.h>
4 // Note: It would be nice to use __builtin_islessequal 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_islessequal, __builtin_islessequal,
9 float, float)
11 #ifdef cl_khr_fp64
13 #pragma OPENCL EXTENSION cl_khr_fp64 : enable
15 // The scalar version of __clc_islessequal(double, double) returns an int, but
16 // the vector versions return long.
18 _CLC_DEF _CLC_OVERLOAD int __clc_islessequal(double x, double y) {
19 return __builtin_islessequal(x, y);
22 _CLC_DEFINE_RELATIONAL_BINARY_VEC_ALL(long, __clc_islessequal, double, double)
24 #endif
26 #ifdef cl_khr_fp16
28 #pragma OPENCL EXTENSION cl_khr_fp16 : enable
30 // The scalar version of __clc_islessequal(half, half) returns an int, but the
31 // vector versions return short.
33 _CLC_DEF _CLC_OVERLOAD int __clc_islessequal(half x, half y) {
34 return __builtin_islessequal(x, y);
37 _CLC_DEFINE_RELATIONAL_BINARY_VEC_ALL(short, __clc_islessequal, half, half)
39 #endif