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'.