[Bug c++/84964] [9/10/11/12 Regression] ICE in expand_call, at calls.c:4540

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Mar 22 19:04:00 GMT 2022


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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #21 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
It did so even before my or Roger's patch.
As I wrote in PR105023, the problem is that the rs6000 backend decides to pass
that huge (2 Exabytes long) argument partially in registers (reg:BLK 3 3) and
partially on the stack, while on most other backends it is passed just on the
stack and we sorry at that point instead of trying to overwrite compiler's
memory.  (reg:BLK 3 3) looks just way too suspect to me, do we pass say 256
byte long homogenous structures that way too?


More information about the Gcc-bugs mailing list