consider the following minimal reproducer:
__global__ void kernel() {
float meow = 1.0f;
#if 1
[[maybe_unused]] auto val = static_cast<__int128_t>(meow);
#else
[[maybe_unused]] auto val = static_cast<__int128_t>(static_cast<int>(meow));
#endif
}
int main() {
float meow = 1.0f;
auto val = __int128_t(meow);
kernel<<<1, 1>>>();
return 0;
}
This will fail with
fatal error: error in backend: unsupported library call operation
clang++: error: clang frontend command failed with exit code 70 (use -v to see invocation)
It would be awesome if the library call could be implemented for the 128 bit integers and all builtin types