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