https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83758

--- Comment #29 from acsawdey at gcc dot gnu.org ---
The problematic expression was:

(mem/c:QI (plus:DI (plus:DI (reg/f:DI 187) (const_int 32 [0x20])) (const_int 72
[0x48]))

and internal_arg_pointer was (plus:DI (reg/f:DI 187) (const_int 32 [0x20])) ...
just not the same rtx object in both places.

It seems like the +32 is FIRST_PARM_OFFSET for ppc64le. 187 is in fact just a
copy of the stack pointer (r12).

It seems like there is something that decomposed the whole offset of 104, which
is seen elsewhere after expand into 32+72.

If I understand correctly, you are saying that if the rtx with splitstack on
was just reg+104, we would not recognize that because we are looking for this
particular reg+32 pattern?

Reply via email to