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