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.

Reply via email to