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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|ICE: in                     |ICE: in
                   |ix86_expand_epilogue, at    |ix86_expand_epilogue, at
                   |config/i386/i386.cc:10101   |config/i386/i386.cc:10101
                   |with -O                     |with -O
                   |-mpreferred-stack-boundary= |-mpreferred-stack-boundary=
                   |3 -finstrument-functions    |3 -finstrument-functions
                   |-mapxf -mcmodel=large and   |-mapxf -mcmodel=large
                   |_BitInt()                   |
                 CC|                            |hjl.tools at gmail dot com,
                   |                            |jakub at gcc dot gnu.org

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Doesn't need UB in the testcase to reproduce,
/* { dg-options "-O -mpreferred-stack-boundary=3 -finstrument-functions -mapxf
-mcmodel=large" } */

_BitInt(129)
bar (void)
{
  return 0;
}

ICEs too.

And it doesn't have to do anything together with _Bitint either,
/* { dg-options "-O -mpreferred-stack-boundary=3 -finstrument-functions -mapxf
-mcmodel=large" } */

void
bar (unsigned long *p)
{
  p[0] = 0;
  p[1] = 0;
  p[2] = 0;
}

ICEs the same.

Reply via email to