I have a C code that uses OpenMP and 128-bit integers. For the 128-bit integers, I'm using the __int128_t and __uint128_t extensions provided by GCC. I'm looking for any other compiler that can also compile this kind of code.

Clang supports __uint128_t, but not OpenMP. ICC supports OpenMP, but not 128-bit integers (at least not ones that you can use built-in operators like +, -, *, /, and % with). The Portland Group C Compiler doesn't natively support 128-bit arithmetic.

Just to be clear, I'm looking for 128-bit integers analogous to __int128_t that work as drop-in replacements for "normal" integers. Is there any compiler for Linux besides GCC that supports OpenMP and 128-bit integers, with the built-in operators +, -, *, /, and %?

有帮助吗?

解决方案

ICC didn't support __int128_t with version 12 (when this question was posted), but supported was added with versions 13 onwards, see: 128-bit integers supporting +, -, *, /, and % in the Intel C Compiler?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top