Index: gcc-4.2.3/gcc/config/avr32/avr32.c =================================================================== --- gcc-4.2.3.orig/gcc/config/avr32/avr32.c 2008-05-21 13:45:57.202289511 +0200 +++ gcc-4.2.3/gcc/config/avr32/avr32.c 2008-05-21 13:45:58.533289214 +0200 @@ -1388,7 +1388,8 @@ op1 = copy_to_mode_reg (mode1, op1); } - op0 = gen_rtx_MEM (SImode, op0); + op0 = force_reg (GET_MODE (op0), op0); + op0 = gen_rtx_MEM (GET_MODE (op0), op0); if (!(*insn_data[icode].operand[1].predicate) (op0, mode0)) { error