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

Reply via email to