> Another improvement is introduction of SUBREG_PROMOTED_UNSIGNED_P > predicate in the same area to handle paradoxical SUBREGs. When SUBREG > satisfies this predicate, the compiler guarantees, that excess bits > are zero (see the documentation). This is exaclty what we want in > registers that form the address. In theory, we can allow registers of > any integer mode here, but in practice only DImode subreg of SImode > register is important.
Note that SUBREG_PROMOTED_UNSIGNED_P wasn't designed for paradoxical subregs, but for regular subregs (typically of word-sized objects). You should check that the ones created for x32 (because of POINTERS_EXTEND_UNSIGNED I guess) are legitimate. -- Eric Botcazou