daniel tian wrote: > ../../../rice-gcc-4.3.0/libgcc/../gcc/libgcc2.c: In function '__muldi3': > ../../../rice-gcc-4.3.0/libgcc/../gcc/libgcc2.c:557: internal compiler > error: in emit_move_insn, at expr.c:3379
> make[2]: *** [_muldi3.o] Error 1 > gcc_assert (mode != BLKmode > && (GET_MODE (y) == mode || GET_MODE (y) == VOIDmode)); > > in function emit_move_insn cause the error. Because the machine mode > in rtx x, y are different. X is SImode, while y is DImode. Well, you need to establish why this insn is being generated. Is it coming from your expanders perhaps? Now that you've figured out debugging cc1, set a breakpoint on "internal_compiler_error" and take a look at the backtrace to see what function has called emit_move_insn; the answer probably lies there. cheers, DaveK