https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69530
Bug ID: 69530 Summary: [6 Regression] ICE: SIGSEGV in ix86_split_long_move (i386.c:24353) with -fno-split-wide-types -mavx Product: gcc Version: 6.0 Status: UNCONFIRMED Keywords: 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: x86_64-pc-linux-gnu Created attachment 37505 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37505&action=edit reduced testcase Compiler output: $ gcc -O -fno-forward-propagate -fno-split-wide-types -mavx testcase.c ==8901== Invalid read of size 2 ==8901== at 0xF02736: ix86_split_long_move(rtx_def**) (i386.c:24353) ==8901== by 0x10AE530: gen_split_19(rtx_insn*, rtx_def**) (i386.md:2124) ==8901== by 0x139F43F: split_24 (sse.md:17338) ==8901== by 0x139F43F: split_insns(rtx_def*, rtx_insn*) (i386.md:15989) ==8901== by 0x813074: try_split(rtx_def*, rtx_insn*, int) (emit-rtl.c:3657) ==8901== by 0xAE65F8: split_insn(rtx_insn*) (recog.c:2863) ==8901== by 0xAEEEB7: split_all_insns() (recog.c:2953) ==8901== by 0xAEEFA8: rest_of_handle_split_before_sched2 (recog.c:3993) ==8901== by 0xAEEFA8: (anonymous namespace)::pass_split_all_insns::execute(function*) (recog.c:4032) ==8901== by 0xAB15ED: execute_one_pass(opt_pass*) (passes.c:2336) ==8901== by 0xAB1C17: execute_pass_list_1(opt_pass*) (passes.c:2410) ==8901== by 0xAB1C29: execute_pass_list_1(opt_pass*) (passes.c:2411) ==8901== by 0xAB1C29: execute_pass_list_1(opt_pass*) (passes.c:2411) ==8901== by 0xAB1C74: execute_pass_list(function*, opt_pass*) (passes.c:2421) ==8901== by 0x7632D3: cgraph_node::expand() (cgraphunit.c:1975) ==8901== by 0x764C06: expand_all_functions (cgraphunit.c:2111) ==8901== by 0x764C06: symbol_table::compile() [clone .part.49] (cgraphunit.c:2467) ==8901== by 0x767032: compile (cgraphunit.c:2531) ==8901== by 0x767032: symbol_table::finalize_compilation_unit() (cgraphunit.c:2557) ==8901== by 0xBB9897: compile_file() (toplev.c:490) ==8901== by 0x5C8805: do_compile (toplev.c:1988) ==8901== by 0x5C8805: toplev::main(int, char**) (toplev.c:2096) ==8901== by 0x5CA996: main (main.c:39) ==8901== Address 0x0 is not stack'd, malloc'd or (recently) free'd ==8901== testcase.c: In function 'foo': testcase.c:8:1: internal compiler error: Segmentation fault } ^ Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. Tested revisions: trunk r232888 - FAIL 5-branch r232808 - OK