[clang][modules] Don't prevent translation of FW_Private includes when explicitly...
[llvm-project.git] / libclc / generic / lib / relational / isless.cl
blob1dbf7676060b372a3c53d9eb65b60e265fa5ffc9
1 #include <clc/clc.h>
2 #include "relational.h"
4 //Note: It would be nice to use __builtin_isless with vector inputs, but it seems to only take scalar values as
5 // input, which will produce incorrect output for vector input types.
7 _CLC_DEFINE_RELATIONAL_BINARY(int, isless, __builtin_isless, float, float)
9 #ifdef cl_khr_fp64
11 #pragma OPENCL EXTENSION cl_khr_fp64 : enable
13 // The scalar version of isless(double, double) returns an int, but the vector versions
14 // return long.
16 _CLC_DEF _CLC_OVERLOAD int isless(double x, double y){
17 return __builtin_isless(x, y);
20 _CLC_DEFINE_RELATIONAL_BINARY_VEC_ALL(long, isless, double, double)
22 #endif
23 #ifdef cl_khr_fp16
25 #pragma OPENCL EXTENSION cl_khr_fp16 : enable
27 // The scalar version of isless(half, half) returns an int, but the vector versions
28 // return short.
30 _CLC_DEF _CLC_OVERLOAD int isless(half x, half y){
31 return __builtin_isless(x, y);
34 _CLC_DEFINE_RELATIONAL_BINARY_VEC_ALL(short, isless, half, half)
36 #endif