https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81286
Bug ID: 81286 Summary: [6/7 Regression] building for powerpc*-unknown-linux-gnu target fails with RTL checking enabled Product: gcc Version: 8.0 Status: UNCONFIRMED Keywords: ice-checking, ice-on-valid-code Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: zsojka at seznam dot cz Target Milestone: --- Host: x86_64-pc-linux-gnu Target: powerpc*-unknown-linux-gnu Build: x86_64-pc-linux-gnu Hello, there is a new regression on the 6-branch and 7-branch. Trying to build an x86_64-pc-linux-gnu -> powerpc*-unknown-linux-gnu (powerpc-*, powerpc64-*, powerpc64le-*) crosscompiler with RTL checking enabled fails with: 7-branch r249891: /repo/gcc-7-branch/libsanitizer/sanitizer_common/sanitizer_coverage_libcdep.cc: In member function 'void __sanitizer::CoverageData::DumpOffsets()': /repo/gcc-7-branch/libsanitizer/sanitizer_common/sanitizer_coverage_libcdep.cc:814:6: internal compiler error: RTL check: expected code 'reg', have 'subreg' in rhs_regno, at rtl.h:1804 void CoverageData::DumpOffsets() { ^~~~~~~~~~~~ 0xd60bd7 rtl_check_failed_code1(rtx_def const*, rtx_code, char const*, int, char const*) /repo/gcc-7-branch/gcc/rtl.c:829 0x5b7e0b rhs_regno /repo/gcc-7-branch/gcc/rtl.h:1804 0x12da6bb rhs_regno /repo/gcc-7-branch/gcc/config/rs6000/rs6000.md:1660 0x12da6bb gen_addsi3(rtx_def*, rtx_def*, rtx_def*) /repo/gcc-7-branch/gcc/config/rs6000/rs6000.md:1657 0xcb7870 expand_binop_directly /repo/gcc-7-branch/gcc/optabs.c:1071 0xcb7de5 expand_binop(machine_mode, optab_tag, rtx_def*, rtx_def*, rtx_def*, int, optab_methods) /repo/gcc-7-branch/gcc/optabs.c:1151 0xa69dc9 expand_expr_real_2(separate_ops*, rtx_def*, machine_mode, expand_modifier) /repo/gcc-7-branch/gcc/expr.c:9567 0xa53071 expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /repo/gcc-7-branch/gcc/expr.c:11102 0xa6207e expand_expr /repo/gcc-7-branch/gcc/expr.h:276 0xa6207e expand_operands(tree_node*, tree_node*, rtx_def*, rtx_def**, rtx_def**, expand_modifier) /repo/gcc-7-branch/gcc/expr.c:7672 0xa6b554 expand_expr_real_2(separate_ops*, rtx_def*, machine_mode, expand_modifier) /repo/gcc-7-branch/gcc/expr.c:8792 0xa53071 expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /repo/gcc-7-branch/gcc/expr.c:11102 0xf38132 expand_expr /repo/gcc-7-branch/gcc/expr.h:276 0xf38132 computation_cost /repo/gcc-7-branch/gcc/tree-ssa-loop-ivopts.c:3627 0xf44551 get_computation_cost_at /repo/gcc-7-branch/gcc/tree-ssa-loop-ivopts.c:5052 0xf4bf3e get_computation_cost /repo/gcc-7-branch/gcc/tree-ssa-loop-ivopts.c:5072 0xf4bf3e determine_group_iv_cost_generic /repo/gcc-7-branch/gcc/tree-ssa-loop-ivopts.c:5095 0xf4bf3e determine_group_iv_cost /repo/gcc-7-branch/gcc/tree-ssa-loop-ivopts.c:5670 0xf4dddd determine_group_iv_costs /repo/gcc-7-branch/gcc/tree-ssa-loop-ivopts.c:5815 0xf4dddd tree_ssa_iv_optimize_loop /repo/gcc-7-branch/gcc/tree-ssa-loop-ivopts.c:7813 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions. 6-branch r249890: /repo/gcc-6-branch/libsanitizer/libbacktrace/../../libbacktrace/dwarf.c: In function 'read_function_entry': /repo/gcc-6-branch/libsanitizer/libbacktrace/../../libbacktrace/dwarf.c:2343:23: internal compiler error: RTL check: expected code 'reg', have 'subreg' in rhs_regno, at rtl.h:1785 lhdr->filenames[val.u.uint - 1]; ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ 0xb07477 rtl_check_failed_code1(rtx_def const*, rtx_code, char const*, int, char const*) /repo/gcc-6-branch/gcc/rtl.c:811 0x57d0ca rhs_regno /repo/gcc-6-branch/gcc/rtl.h:1785 0xfea5cb rhs_regno /repo/gcc-6-branch/gcc/config/rs6000/rs6000.md:1567 0xfea5cb gen_addsi3(rtx_def*, rtx_def*, rtx_def*) /repo/gcc-6-branch/gcc/config/rs6000/rs6000.md:1564 0xa64ce0 expand_binop_directly /repo/gcc-6-branch/gcc/optabs.c:1070 0xa65245 expand_binop(machine_mode, optab_tag, rtx_def*, rtx_def*, rtx_def*, int, optab_methods) /repo/gcc-6-branch/gcc/optabs.c:1150 mv -f .deps/mmapio.Tpo .deps/mmapio.Plo 0x822edf force_operand(rtx_def*, rtx_def*) /repo/gcc-6-branch/gcc/expr.c:7194 0x830bd2 expand_expr_real_2(separate_ops*, rtx_def*, machine_mode, expand_modifier) /repo/gcc-6-branch/gcc/expr.c:8649 0x818cce expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /repo/gcc-6-branch/gcc/expr.c:9595 0x825198 expand_expr /repo/gcc-6-branch/gcc/expr.h:260 0x825198 expand_operands(tree_node*, tree_node*, rtx_def*, rtx_def**, rtx_def**, expand_modifier) /repo/gcc-6-branch/gcc/expr.c:7555 0x82d208 expand_expr_real_2(separate_ops*, rtx_def*, machine_mode, expand_modifier) /repo/gcc-6-branch/gcc/expr.c:8404 0x818cce expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /repo/gcc-6-branch/gcc/expr.c:9595 0x816f91 expand_expr /repo/gcc-6-branch/gcc/expr.h:260 0x816f91 expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /repo/gcc-6-branch/gcc/expr.c:9981 0x8256bf store_expr_with_bounds(tree_node*, rtx_def*, int, bool, bool, tree_node*) /repo/gcc-6-branch/gcc/expr.c:5407 0x8270e0 expand_assignment(tree_node*, tree_node*, bool) /repo/gcc-6-branch/gcc/expr.c:5176 0x6fb6d0 expand_gimple_stmt_1 /repo/gcc-6-branch/gcc/cfgexpand.c:3618 /bin/sh ../libtool --tag=CC --mode=compile /repo/build-6-branch-249890-checking-yes-rtl-df-nographite-powerpc/./gcc/xgcc -B/repo/build-6-branch-249890-checking-yes-rtl-df-nographite-powerpc/./gcc/ -B/repo/gcc-6-branch//binary-6-branch-249890-checking-yes-rtl-df-nographite-powerpc/powerpc-unknown-linux-gnu/bin/ -B/repo/gcc-6-branch//binary-6-branch-249890-checking-yes-rtl-df-nographite-powerpc/powerpc-unknown-linux-gnu/lib/ -isystem /repo/gcc-6-branch//binary-6-branch-249890-checking-yes-rtl-df-nographite-powerpc/powerpc-unknown-linux-gnu/include -isystem /repo/gcc-6-branch//binary-6-branch-249890-checking-yes-rtl-df-nographite-powerpc/powerpc-unknown-linux-gnu/sys-include -DHAVE_CONFIG_H -I. -I/repo/gcc-6-branch/libsanitizer/libbacktrace -I.. -I /repo/gcc-6-branch/libsanitizer/../include -I /repo/gcc-6-branch/libsanitizer/../libgcc -I ../../libgcc -I .. -I /repo/gcc-6-branch/libsanitizer -I /repo/gcc-6-branch/libsanitizer/../libbacktrace -W -Wall -Wwrite-strings -Wmissing-format-attribute -Wcast-qual -Werror -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -g -O2 -MT mmap.lo -MD -MP -MF .deps/mmap.Tpo -c -o mmap.lo `test -f '../../libbacktrace/mmap.c' || echo '/repo/gcc-6-branch/libsanitizer/libbacktrace/'`../../libbacktrace/mmap.c 0x6fb6d0 expand_gimple_stmt /repo/gcc-6-branch/gcc/cfgexpand.c:3714 0x6fdbfe expand_gimple_basic_block /repo/gcc-6-branch/gcc/cfgexpand.c:5720 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. Last known working version was: 7-branch r249261 6-branch r249257 The compiler is configured as: $ powerpc-unknown-linux-gnu-gcc -v Using built-in specs. COLLECT_GCC=/repo/gcc-7-branch/binary-latest-powerpc/bin/powerpc-unknown-linux-gnu-gcc COLLECT_LTO_WRAPPER=/repo/gcc-7-branch/binary-7-branch-249261-checking-yes-rtl-df-extra-nographite-powerpc/bin/../libexec/gcc/powerpc-unknown-linux-gnu/7.1.1/lto-wrapper Target: powerpc-unknown-linux-gnu Configured with: /repo/gcc-7-branch//configure --enable-languages=c,c++ --enable-valgrind-annotations --disable-nls --enable-checking=yes,rtl,df,extra --without-cloog --without-ppl --without-isl --with-sysroot=/usr/powerpc-unknown-linux-gnu --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --target=powerpc-unknown-linux-gnu --with-ld=/usr/bin/powerpc-unknown-linux-gnu-ld --with-as=/usr/bin/powerpc-unknown-linux-gnu-as --disable-libstdcxx-pch --prefix=/repo/gcc-7-branch//binary-7-branch-249261-checking-yes-rtl-df-extra-nographite-powerpc Thread model: posix gcc version 7.1.1 20170616 (GCC)