http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47968
Summary: ICE: in gen_lowpart_general, at rtlhooks.c:51 when converting vector of double to vector of float Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization AssignedTo: unassig...@gcc.gnu.org ReportedBy: zso...@seznam.cz Host: x86_64-pc-linux-gnu Target: x86_64-pc-linux-gnu Created attachment 23527 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23527 reduced testcase Compiler output: $ gcc -O testcase.c testcase.c: In function 'foo': testcase.c:7:3: internal compiler error: in gen_lowpart_general, at rtlhooks.c:51 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. (gdb) bt #0 fancy_abort (file=0x115e428 "/mnt/svn/gcc-trunk/gcc/rtlhooks.c", line=51, function=0x115e490 "gen_lowpart_general") at /mnt/svn/gcc-trunk/gcc/diagnostic.c:892 #1 0x0000000000874ccb in gen_lowpart_general (mode=SFmode, x=<value optimized out>) at /mnt/svn/gcc-trunk/gcc/rtlhooks.c:51 #2 0x000000000069bb04 in extract_bit_field (str_rtx=<value optimized out>, bitsize=<value optimized out>, bitnum=<value optimized out>, unsignedp=<value optimized out>, packedp=<value optimized out>, target=<value optimized out>, mode=SFmode, tmode=SFmode) at /mnt/svn/gcc-trunk/gcc/expmed.c:1684 #3 0x00000000006a9562 in expand_expr_real_1 (exp=0x7ffff5ba5280, target=<value optimized out>, tmode=SFmode, modifier=EXPAND_NORMAL, alt_rtl=0x0) at /mnt/svn/gcc-trunk/gcc/expr.c:9211 #4 0x00000000006af03d in expand_expr_real (exp=0x7ffff5ba5280, target=<value optimized out>, tmode=<value optimized out>, modifier=<value optimized out>, alt_rtl=<value optimized out>) at /mnt/svn/gcc-trunk/gcc/expr.c:7206 #5 expand_expr_real (exp=0x7ffff5ba5280, target=<value optimized out>, tmode=<value optimized out>, modifier=<value optimized out>, alt_rtl=<value optimized out>) at /mnt/svn/gcc-trunk/gcc/expr.c:7174 #6 0x00000000006ab820 in expand_expr (exp=0x7ffff5ba41b8, target=0x7ffff5b948e0, tmode=SFmode, modifier=EXPAND_NORMAL, alt_rtl=0x0) at /mnt/svn/gcc-trunk/gcc/expr.h:422 #7 expand_expr_real_1 (exp=0x7ffff5ba41b8, target=0x7ffff5b948e0, tmode=SFmode, modifier=EXPAND_NORMAL, alt_rtl=0x0) at /mnt/svn/gcc-trunk/gcc/expr.c:8807 #8 0x00000000008d065b in expand_expr (retval=0x7ffff7ff91f8) at /mnt/svn/gcc-trunk/gcc/expr.h:422 #9 expand_return (retval=0x7ffff7ff91f8) at /mnt/svn/gcc-trunk/gcc/stmt.c:1812 #10 0x00000000005e0e8b in expand_gimple_stmt_1 (stmt=0x7ffff5b89510) at /mnt/svn/gcc-trunk/gcc/cfgexpand.c:1951 #11 expand_gimple_stmt (stmt=0x7ffff5b89510) at /mnt/svn/gcc-trunk/gcc/cfgexpand.c:2080 #12 0x00000000005e2f29 in expand_gimple_basic_block (bb=0x7ffff5b851a0) at /mnt/svn/gcc-trunk/gcc/cfgexpand.c:3609 #13 0x00000000005e81d9 in gimple_expand_cfg () at /mnt/svn/gcc-trunk/gcc/cfgexpand.c:4092 #14 0x00000000007f7056 in execute_one_pass (pass=0x1638ac0) at /mnt/svn/gcc-trunk/gcc/passes.c:1556 #15 0x00000000007f7355 in execute_pass_list (pass=0x1638ac0) at /mnt/svn/gcc-trunk/gcc/passes.c:1611 #16 0x000000000093a2b6 in tree_rest_of_compilation (fndecl=0x7ffff5b86f00) at /mnt/svn/gcc-trunk/gcc/tree-optimize.c:422 #17 0x0000000000b02312 in cgraph_expand_function (node=0x7ffff5ba6000) at /mnt/svn/gcc-trunk/gcc/cgraphunit.c:1576 #18 0x0000000000b04a5a in cgraph_expand_all_functions () at /mnt/svn/gcc-trunk/gcc/cgraphunit.c:1635 #19 cgraph_optimize () at /mnt/svn/gcc-trunk/gcc/cgraphunit.c:1899 #20 0x0000000000b04fda in cgraph_finalize_compilation_unit () at /mnt/svn/gcc-trunk/gcc/cgraphunit.c:1096 #21 0x00000000005097bc in c_write_global_declarations () at /mnt/svn/gcc-trunk/gcc/c-decl.c:9872 #22 0x00000000008e3248 in compile_file (argc=13, argv=0x7fffffffdbd8) at /mnt/svn/gcc-trunk/gcc/toplev.c:591 #23 do_compile (argc=13, argv=0x7fffffffdbd8) at /mnt/svn/gcc-trunk/gcc/toplev.c:1900 #24 toplev_main (argc=13, argv=0x7fffffffdbd8) at /mnt/svn/gcc-trunk/gcc/toplev.c:1963 #25 0x00007ffff6446bbd in __libc_start_main () from /lib/libc.so.6 #26 0x00000000004f036d in _start () Tested revisions: r170622 - crash 4.5 r170013 - crash 4.4 r170013 - crash 4.4.5 (release checking) - crash 4.3.5 (release checking) - OK Maybe it's a regression from 4.3.