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

            Bug ID: 67045
           Summary: [ICE][PPCLE64] internal compiler error: in
                    choose_multiplier, at expmed.c:3373
           Product: gcc
           Version: 6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: rtl-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gary at intrepid dot com
  Target Milestone: ---

This issue may be related to bug #61047; it refers to a fix made on July 1, and
the regression described below seems to have appeared in the last month/so.

When bootstrapping trunk version 226240, using TARGET_CFLAGS='-O3' we see the
following bootstrap failure on PPCLE64 (gcc112).

/home/gfunck/gcc-trunk/bld/./gcc/xgcc -B/home/gfunck/gcc-trunk/bld/./gcc/
-B/home/gfunck/gcc-trunk/rls/powerpc64le-unknown-linux-gnu/bin/
-B/home/gfunck/gcc-trunk/rls/powerpc64le-unknown-linux-gnu/lib/ -isystem
/home/gfunck/gcc-trunk/rls/powerpc64le-unknown-linux-gnu/include -isystem
/home/gfunck/gcc-trunk/rls/powerpc64le-unknown-linux-gnu/sys-include    -O2 -g3
-O3 -O2  -O2 -g3 -O3 -DIN_GCC    -W -Wall -Wno-narrowing -Wwrite-strings
-Wcast-qual -Wno-format -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition  -isystem ./include   -fPIC -mlong-double-128
-mno-minimal-toc -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector   -fPIC
-mlong-double-128 -mno-minimal-toc -I. -I. -I../.././gcc
-I/home/gfunck/gcc-trunk/src/libgcc -I/home/gfunck/gcc-trunk/src/libgcc/.
-I/home/gfunck/gcc-trunk/src/libgcc/../gcc
-I/home/gfunck/gcc-trunk/src/libgcc/../include
-I/home/gfunck/gcc-trunk/src/libgcc/../libdecnumber/dpd
-I/home/gfunck/gcc-trunk/src/libgcc/../libdecnumber -DHAVE_CC_TLS  -o
decDouble.o -MT decDouble.o -MD -MP -MF decDouble.dep -c
/home/gfunck/gcc-trunk/src/libgcc/../libdecnumber/decDouble.c
In file included from
/home/gfunck/gcc-trunk/src/libgcc/../libdecnumber/decDouble.h:68:0,
                 from
/home/gfunck/gcc-trunk/src/libgcc/../libdecnumber/decDouble.c:33:
/home/gfunck/gcc-trunk/src/libgcc/../libdecnumber/decBasic.c: In function
‘__decDoubleFromInt32’:
/home/gfunck/gcc-trunk/src/libgcc/../libdecnumber/decDoubleSymbols.h:24:28:
internal compiler error: in choose_multiplier, at expmed.c:3373
 #define decDoubleFromInt32 __decDoubleFromInt32
                            ^
/home/gfunck/gcc-trunk/src/libgcc/../libdecnumber/decDouble.c:58:30: note: in
expansion of macro ‘decDoubleFromInt32’
 #define decFloatFromInt32    decDoubleFromInt32
                              ^
/home/gfunck/gcc-trunk/src/libgcc/../libdecnumber/decBasic.c:2284:12: note: in
expansion of macro ‘decFloatFromInt32’
 decFloat * decFloatFromInt32(decFloat *result, Int n) {
            ^

As background, one of our builds sets CFLAGS and TARGET_CFLAGS to '-O3', rather
than the default '-O2' for TARGET_CFLAGS.  Further checks are set to
'--enable-checking=release'.  The config options used were:

CFLAGS='-g3 -O3' \
CXXFLAGS='-g3 -O3' \
../src/configure \
  --enable-bootstrap \
  --enable-checking=release \
  --disable-build-format-warnings \
  --enable-languages=c,c++,lto

It may matter that checks are set to 'release'.

Reply via email to