GCC Newspaper
OCTOBER 6, 2026
Date
/
Architectures
Components
Topics
News & Policy
Other
rs6000

rs6000: Add dense math registers to Darwin header.

Fixes ICE on Darwin cross-compiler builds by adding missing dense math registers.

This commit resolves an Internal Compiler Error (ICE) when building GCC cross-compilers for Darwin. The issue stemmed from the REGISTER_NAMES array in darwin.h not including the Dense Math Registers. By adding these registers, the compiler can correctly process them, preventing the ICE and ensuring successful cross-compilation for Darwin targets, as reported in PR126438.

In Details

The config/rs6000/darwin.h header defines target-specific information, including register names. The REGISTER_NAMES array was missing entries for the Dense Math Registers (DMF registers). This omission caused an ICE during the initialization of the register allocator when building a Darwin cross-compiler, as the expected names for these registers were not found. This patch adds the DMF registers to the REGISTER_NAMES array to fix PR126438.

For Context
rs6000
GCC's target configuration for the PowerPC architecture, historically including the RS/6000 workstation line.
Darwin
Apple's Unix-like operating system, used as the basis for macOS, iOS, and other Apple platforms.
dense math registers
A set of floating-point registers on some architectures that are organized or accessed in a compact manner, distinct from general-purpose or scalar floating-point registers.
ICE
Internal Compiler Error, a serious error where the compiler encounters an unexpected condition and terminates abruptly.
Filed Under: rs6000bugfixdarwin