Fix implementation of copysign

This was previously implemented with a macro and we were using
__builtin_copysign(), which takes double inputs for the float
version of copysign().

Reviewed-and-Tested-by: Aaron Watry <awatry@gmail.com>

git-svn-id: https://llvm.org/svn/llvm-project/libclc/trunk@217045 91177308-0d34-0410-b5e6-96231b3b80d8
Implement isinf builtin

git-svn-id: https://llvm.org/svn/llvm-project/libclc/trunk@217046 91177308-0d34-0410-b5e6-96231b3b80d8