Files
llvm-project/libclc/generic/lib/math/fmax.inc
Tom Stellard 1ded220cc0 Implement fmax using __builtin_fmax
This ensures correct handling of NaNi.

This has been tested with piglit, OpenCV, and the ocl conformance tests.

llvm-svn: 233713
2015-03-31 16:59:23 +00:00

19 lines
425 B
C++

#if !defined(__CLC_SCALAR)
_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE fmax(__CLC_GENTYPE x, float y) {
return fmax(x, (__CLC_GENTYPE)((__CLC_SCALAR_GENTYPE)y));
}
#ifdef cl_khr_fp64
#pragma OPENCL EXTENSION cl_khr_fp64 : enable
_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE fmax(__CLC_GENTYPE x, double y) {
return fmax(x, (__CLC_GENTYPE)((__CLC_SCALAR_GENTYPE)y));
}
#endif // ifdef cl_khr_fp64
#endif // !defined(__CLC_SCALAR)