summaryrefslogtreecommitdiffstats
path: root/toolchain/gcc/patches/4.2.4/903-avr32_fix_expanding_builtin_xchg.patch
blob: be89cd752ffdc5eeaf99921bdf36cc80b2fd861b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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