GCC Newspaper
JUNE 15, 2026
Date
/
Architectures
Components
Topics
News & Policy
Other
gcc/rs6000

PTImode attribute handling is now fixed for rs6000 targets.

GCC now correctly handles PTImode attributes for 128-bit values on rs6000 targets, resolving compilation failures.

This commit fixes a bug in GCC where specifying PTImode via a type attribute on rs6000 targets would cause compilation failures due to the absence of internal types for 128-bit values. The change introduces signed and unsigned PTImode internal builtin types, allowing the compiler to correctly represent and process these values. This ensures that developers can now use PTImode attributes without encountering compilation errors on rs6000 systems.

In Details

This change introduces new internal builtin types, RS6000_BTI_INTPTI and RS6000_BTI_UINTPTI, within the rs6000 backend to represent signed and unsigned PTImode (Pointer-Target Integer mode) values. Previously, PTImode could be specified as a type attribute for 128-bit values, but there was no corresponding internal type node, leading to compilation failures. The fix registers these new types, which are specifically designed to handle even/odd register pairs for 128-bit data, and adds splitters (trunctipti2, extendptiti2, zero_extendptiti2) in sync.md to correctly manage these…

For Context

Compilers translate human-readable code into machine instructions. To do this, they have internal representations of data types, like integers or floating-point numbers. Sometimes, processors have special ways of handling very large numbers, like the 128-bit values used on the rs6000 architecture. This commit addresses a problem where GCC, the compiler, didn't have a proper internal way to represent these special 128-bit integer types when they were specified in the code. This fix adds those missing internal types, allowing the compiler to correctly understand and generate code for these large numbers, preventing programs from failing to compile.

Filed Under: bugfixpowerpctype system