This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/13754] [3.4/3.5 regression] ip2k-elf ICE on multiple gotos


------- Additional Comments From denisc at overta dot ru  2004-02-04 06:24 -------
Subject: Re:  [3.4/3.5 regression] ip2k-elf ICE on multiple gotos

"steven at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org> writes:

> ------- Additional Comments From steven at gcc dot gnu dot org  2004-02-03 22:34 -------
> Backtrace: 
>  
> #0  internal_error (msgid=0x824e611 "in %s, at %s:%d") at ../../gcc-3.4/gcc/
> diagnostic.c:536 
> #1  0x080c0e16 in fancy_abort (file=0x827a280 "../../gcc-3.4/gcc/
> simplify-rtx.c", line=3410, 
>     function=0x827a266 "simplify_gen_subreg") at ../../gcc-3.4/gcc/
> diagnostic.c:584 
> #2  0x081b468f in simplify_gen_subreg (outermode=VOIDmode, op=0x4001d210, 
> innermode=1728053248, byte=4) 
>     at ../../gcc-3.4/gcc/simplify-rtx.c:3410 
> #3  0x080d6f9c in gen_lowpart_common (mode=VOIDmode, x=0x4001d210) at ../../
> gcc-3.4/gcc/emit-rtl.c:1106 
> #4  0x080d7177 in gen_lowpart (mode=VOIDmode, x=0x4001d210) at ../../gcc-3.4/
> gcc/emit-rtl.c:1212 
> #5  0x080f8e52 in try_casesi (index_type=0x400244a4, index_expr=0x4001d210, 
> minval=0x40197e9c, 
>     range=0x40197f00, table_label=0x40023398, default_label=0x400231e0) 
> at ../../gcc-3.4/gcc/expr.c:9674 
> #6  0x081bbb56 in expand_end_case_type (orig_index=0x827a266, 
> orig_type=0x400244a4) 
>     at ../../gcc-3.4/gcc/stmt.c:5617 
> #7  0x0807ea02 in genrtl_switch_stmt (t=0x400244a4) at ../../gcc-3.4/gcc/
> c-semantics.c:673 
> #8  0x0807ed4f in expand_stmt (t=0x40020100) at ../../gcc-3.4/gcc/
> c-semantics.c:840 
> #9  0x0807edbe in expand_stmt (t=0x40197e10) at ../../gcc-3.4/gcc/
> c-semantics.c:826 
> #10 0x081e751b in tree_rest_of_compilation (fndecl=0x401ddec4, nested_p=false) 
>     at ../../gcc-3.4/gcc/tree-optimize.c:144 
>  
> Note how gen_lowpart is called with VOIDmode.  There is a  
> convert_modes call on expr:9674 (from try_casesi) and gen_lowpart 
> is called from there.  The problem is in this line (expr.c:9673): 
>  
>   op_mode = insn_data[(int) CODE_FOR_casesi].operand[1].mode; 
>  
> op_mode <-- VOIDmode here, which can't be right...

Thank you. I'm already founded and fixed this bug, but I'm not
committed the fix because ip2k-gcc can't compile libgcc because of
problem with reloading of single possible pointer register DP twice
for one insn.



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13754


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]