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

            Bug ID: 77345
           Summary: [7 Regression] Segmentation fault w/ -misel -O1 (and
                    above)
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
  Target Milestone: ---
            Target: powerpc-*-linux-gnu*

gcc-7.0.0-alpha20160821 and some earlier snapshots (at least back to
7.0.0-alpha20160731) ICE when compiling the following snippet for 32-bit BE
powerpc target w/ -misel -O1 (and above):

int
tk (long long int vu)
{
  int ar = (vu != 0);
  return (ar + ((ar != 0) ? vu : ar)) || ar;
}

% powerpc-e300c3-linux-gnu-gcc-7.0.0-alpha20160821 -misel -O1 -c j0w1vfcr.c     
powerpc-e300c3-linux-gnu-gcc-7.0.0-alpha20160821: internal compiler error:
Segmentation fault (program cc1)

gdb fails to produce a usable backtrace because of seemingly corrupted stack
(?).

This one is for powerpc-e300c3-linux-gnu:

(gdb) where
#0  0x000002aaab354241 in simplify_const_binary_operation (code=PLUS,
mode=SImode, op0=0x3ffee299c60, op1=0x3fff7097018)
    at
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20160821/work/gcc-7-20160821/gcc/simplify-rtx.c:3815
Backtrace stopped: Cannot access memory at address 0x3fffbffef30

And the next one is for powerpc-e500v2-linux-gnuspe:

(gdb) where
#0  0x000002aaabc67f0a in reg_nonzero_bits_for_combine (x=0x3fff703b5b8,
mode=CCmode, known_x=0x0, known_mode=VOIDmode, known_ret=0, 
    nonzero=0x3fffc000050)
    at
/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-7.0.0_alpha20160731/work/gcc-7-20160731/gcc/combine.c:9857
Backtrace stopped: Cannot access memory at address 0x3fffbffefe8

Reply via email to