https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67954
Bug ID: 67954 Summary: [5 Regression] internal compiler error: in patch_jump_insn, at cfgrtl.c:1281 Product: gcc Version: 5.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: dbaryshkov at gmail dot com Target Milestone: --- Created attachment 36501 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36501&action=edit Preprocessed source file Since https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=210824 GCC fails with ICE when generating ARM Thumb1 code: /tmp/test.i: In function 'ubidi_writeReordered_55': /tmp/test.i:4748:1: internal compiler error: in patch_jump_insn, at cfgrtl.c:1303 } ^ 0x63700e patch_jump_insn ../../gcc/gcc/cfgrtl.c:1303 0x63715b redirect_branch_edge ../../gcc/gcc/cfgrtl.c:1329 0x6376e2 rtl_redirect_edge_and_branch ../../gcc/gcc/cfgrtl.c:1462 0x629889 redirect_edge_and_branch(edge_def*, basic_block_def*) ../../gcc/gcc/cfghooks.c:376 0xd0be1d try_forward_edges ../../gcc/gcc/cfgcleanup.c:621 0xd0be1d try_optimize_cfg ../../gcc/gcc/cfgcleanup.c:2835 0xd0be1d cleanup_cfg(int) ../../gcc/gcc/cfgcleanup.c:3049 0xd0d318 execute ../../gcc/gcc/cfgcleanup.c:3178 The following commands fail: * gcc -march=armv4t -mthumb /tmp/test.i -S -o /tmp/test.o -O1 -fcrossjumping * gcc -march=armv5te -mthumb /tmp/test.i -S -o /tmp/test.o -O1 -fcrossjumping * gcc -march=armv6 -mthumb /tmp/test.i -S -o /tmp/test.o -O1 -fcrossjumping The following work: * gcc -march=armv6t2 -mthumb /tmp/test.i -S -o /tmp/test.o -O1 -fcrossjumping * gcc -march=armv5te -marm /tmp/test.i -S -o /tmp/test.o -O1 -fcrossjumping * gcc -march=armv5te -mthumb /tmp/test.i -S -o /tmp/test.o -O1 The log was produced using clear gcc from gcc-5_1_0-release tag. The following configure options were passed to gcc: ../gcc/configure --build=x86_64-linux --host=x86_64-linux --target=arm-linux-gnueabi --enable-languages=c --enable-checking=all --disable-nls