Hi Dave: when I build the libgcc2.c, an unrecognizable RTL exist. Its about subreg. Here is the info:
../../../rice-gcc-4.3.0/libgcc/../gcc/libgcc2.c: In function '__mulvsi3': ../../../rice-gcc-4.3.0/libgcc/../gcc/libgcc2.c:169: error: unrecognizable insn: (insn 24 26 25 3 ../../../rice-gcc-4.3.0/libgcc/../gcc/libgcc2.c:165 (set (subreg:SI (reg:DI 47) 0) (ashiftrt:SI (subreg:SI (reg/v:DI 36 [ w ]) 4) (const_int 0 [0x0]))) -1 (expr_list:REG_NO_CONFLICT (reg/v:DI 36 [ w ]) (nil))) ../../../rice-gcc-4.3.0/libgcc/../gcc/libgcc2.c:169: internal compiler error: in extract_insn, at recog.c:1990 I could understand why subreg exist, but gcc supposed to deal with it. I mean to remove the subreg operations. Did your guys also meet this problem? Could you give me some advices? Now I still debug it. Thanks.