Internal Compiler Error in gen_rtx_SUBREG,at emit-rtl.c:776 in CR16
Sumanth Gundapaneni
Sumanth.Gundapaneni@kpitcummins.com
Tue Feb 1 09:08:00 GMT 2011
Hi Ian,
>You need to find out what is generating that insn. It looks like it can
>not work on your hardware. You need to fix whatever is generating it to
>do something different.
Thanks for the pointer.
If I compile the test case with "-O2 -fno-inline", there was no ICE related
to subreg. Is "cse_local" phase related to -finline optimization. My initial
patch has a hack for this at backend files by modifying the standard predicate
definitions.
(define_predicate "reg_operand"
(match_operand 0 "register_operand")
{
if(GET_CODE(op) == SUBREG
&& (REGNO(SUBREG_REG(op)) > 11
&& REGNO(SUBREG_REG(op)) < FIRST_PSEUDO_REGISTER)
&& SUBREG_BYTE(op) != 0)
return 0;
return 1;
}
)
Though this hack removes the ICEs related to subregs , it effects the output
of applications compiled with the tool chain in 1 out of 100 test cases.
Thanks and Regards,
Sumanth G
More information about the Gcc-help
mailing list