http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50788
Bug #: 50788
Summary: [4.7 Regression] ICE: in merge_overlapping_regs, at
regrename.c:318 with -mavx -fpeel-loops
-fstack-protector-all and __builtin_ia32_maskloadpd256
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
AssignedTo: [email protected]
ReportedBy: [email protected]
Host: x86_64-pc-linux-gnu
Target: x86_64-pc-linux-gnu
Created attachment 25552
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25552
reduced testcase
Compiler output:
$ gcc -O2 -mavx -fpeel-loops -fstack-protector-all testcase.c
testcase.c: In function 'foo':
testcase.c:7:1: internal compiler error: in merge_overlapping_regs, at
regrename.c:318
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
A bit different testcase with __builtin_ia32_maskloadd() crashes with -mavx2
the same way, with the same backtrace.
(gdb) bt
#0 fancy_abort (file=0x1271d38 "/mnt/svn/gcc-trunk/gcc/regrename.c", line=318,
function=0x12724e0 "merge_overlapping_regs")
at /mnt/svn/gcc-trunk/gcc/diagnostic.c:898
#1 0x0000000000929419 in merge_overlapping_regs () at
/mnt/svn/gcc-trunk/gcc/regrename.c:318
#2 rename_chains () at /mnt/svn/gcc-trunk/gcc/regrename.c:447
#3 regrename_optimize () at /mnt/svn/gcc-trunk/gcc/regrename.c:1783
#4 0x00000000008e5748 in execute_one_pass (pass=0x17a20e0) at
/mnt/svn/gcc-trunk/gcc/passes.c:2064
#5 0x00000000008e5ab5 in execute_pass_list (pass=0x17a20e0) at
/mnt/svn/gcc-trunk/gcc/passes.c:2119
#6 0x00000000008e5ac7 in execute_pass_list (pass=0x17a1840) at
/mnt/svn/gcc-trunk/gcc/passes.c:2120
#7 0x00000000008e5ac7 in execute_pass_list (pass=0x17a18a0) at
/mnt/svn/gcc-trunk/gcc/passes.c:2120
#8 0x0000000000a3cebe in tree_rest_of_compilation (fndecl=0x7ffff56b1f00) at
/mnt/svn/gcc-trunk/gcc/tree-optimize.c:420
#9 0x000000000069433a in cgraph_expand_function (node=0x7ffff55886c0) at
/mnt/svn/gcc-trunk/gcc/cgraphunit.c:1804
#10 0x000000000069628c in cgraph_expand_all_functions () at
/mnt/svn/gcc-trunk/gcc/cgraphunit.c:1871
#11 cgraph_optimize () at /mnt/svn/gcc-trunk/gcc/cgraphunit.c:2148
#12 0x000000000069667a in cgraph_finalize_compilation_unit () at
/mnt/svn/gcc-trunk/gcc/cgraphunit.c:1312
#13 0x000000000057914b in c_write_global_declarations () at
/mnt/svn/gcc-trunk/gcc/c-decl.c:9940
#14 0x00000000009dab04 in compile_file (argc=16, argv=0x7fffffffdaa8) at
/mnt/svn/gcc-trunk/gcc/toplev.c:581
#15 do_compile (argc=16, argv=0x7fffffffdaa8) at
/mnt/svn/gcc-trunk/gcc/toplev.c:1930
#16 toplev_main (argc=16, argv=0x7fffffffdaa8) at
/mnt/svn/gcc-trunk/gcc/toplev.c:2006
#17 0x00007ffff6178d2d in __libc_start_main () from /lib64/libc.so.6
#18 0x000000000055ccc9 in _start ()
Tested revisions:
r180174 - crash
r179959 - crash
r178498 - OK
4.6 r177922 - OK