Clang does not recognize __builtin_sqrt* in CGBuiltin.cpp (around line 1285) to be a call to sqrt and cannot selectively convert it to the llvm.sqrt.* intrinsics with looser math flags. Therefore we have to call it as a libcall so it regonized it. For the double we still call the __builtin_sqrt() to disambiguate from the sqrt() to avoid infinite recursion. Probably the correct fix is to patch CGBuiltin.cpp to recognize also the call via __builtin_sqrt*.
Clang does not recognize __builtin_sqrt* in CGBuiltin.cpp (around line 1285)
to be a call to sqrt and cannot selectively convert it to the llvm.sqrt.*
intrinsics with looser math flags. Therefore we have to call it as a libcall
so it regonized it. For the double we still call the __builtin_sqrt() to
disambiguate from the sqrt() to avoid infinite recursion. Probably the
correct fix is to patch CGBuiltin.cpp to recognize also the call via
__builtin_sqrt*.

sting47/pocl,franz/pocl,hugwijst/pocl,sting47/pocl,sting47/pocl,pocl/pocl,pocl/pocl,pavanky/pocl,hugwijst/pocl,hugwijst/pocl,Oblomov/pocl,pocl/pocl,maZZZu/pocl,franz/pocl,maZZZu/pocl,0charleschen0/pocl,vkorhonen/pocl,Oblomov/pocl,sting47/pocl,pocl/pocl,hugwijst/pocl,dsandersimgtec/pocl,pavanky/pocl,0charleschen0/pocl,Oblomov/pocl,jrprice/pocl,jrprice/pocl,pavanky/pocl,hugwijst/pocl,maZZZu/pocl,dsandersimgtec/pocl,0charleschen0/pocl,franz/pocl,rjodin/pocl,franz/pocl,dsandersimgtec/pocl,Oblomov/pocl,pavanky/pocl,dsandersimgtec/pocl,vkorhonen/pocl,sting47/pocl,vkorhonen/pocl,franz/pocl,vkorhonen/pocl,Oblomov/pocl,pocl/pocl,rjodin/pocl,maZZZu/pocl,jrprice/pocl,jrprice/pocl,rjodin/pocl,rjodin/pocl,0charleschen0/pocl