Repository navigation
Conversation
From https://gcc.gnu.org/onlinedocs/gcc/Floating-Types.html: > __float128 is available on i386, x86_64, IA-64, LoongArch and hppa HP-UX, as well as on PowerPC GNU/Linux targets that enable the vector scalar (VSX) instruction set. __float128 supports the 128-bit floating type. On i386, x86_64, PowerPC, LoongArch and IA-64, other than HP-UX, __float128 is an alias for _Float128. On hppa and IA-64 HP-UX, __float128 is an alias for long double. I.e. __float128 aren't portable, as it's not available on every platform. ARM64 aka aarch64 are the example platform without __float128. While _Float128 are standard and main platforms just alias __float128 to _Float128 anyways. This fixes building for ARM64 with GCC at least (tested under Ubuntu 25.x / gcc-14.x)
|
Maybe update the CI to test on ARM as well. For example, update this line for Linux: gpuowl/.github/workflows/ci.yml Line 16 in d12753e os: [ubuntu-22.04, ubuntu-24.04, ubuntu-22.04-arm, ubuntu-24.04-arm]and this line for macOS: gpuowl/.github/workflows/ci.yml Line 91 in d12753e runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-13, macos-latest]
fail-fast: falseYou may need to remove the hardcoded GCC 14 as well. |
|
I don't think f128 is used anywhere currently. Perhaps it can be deleted? Use of f128 was supposedly introduced in 817a983, but I think it's been reverted somewhere down the line. |
|
Fixed in George Woltman's fork: Written by Claude (Anthropic's Claude Code) working with Mark Rose. |
|
closing because reported fixed in George's fork. |
Hello,
( This fixes currently broken builds for ARM64 arch. )
From https://gcc.gnu.org/onlinedocs/gcc/Floating-Types.html:
I.e. __float128 aren't portable, as it's not available on every platform. ARM64 aka aarch64 are the example platform without __float128. While _Float128 are standard and main platforms just alias __float128 to _Float128 anyways.
This fixes building for ARM64 with GCC. I've tested under Ubuntu 25.x / gcc-14.x and main branch for prpll.
In case there are some reasons to have __float128 here, I can change this patch to add conditional alias __float128 -> _Float128 only if aarch64 macro defined.