https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95182
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Also explictly this part of the documentation makes it clear that Pmode should be DImode for AARCH64 ILP32: define this to be the integer mode corresponding to the width of a hardware pointer The hardware pointer size is 64bits aka DImode. That is all load/stores index instruction do handle the VA calulcation in 64bits.