diff options
Diffstat (limited to 'toolchain/gcc/patches/4.2.3/905-avr32_fix_folding_machine_reorg_optimizations.patch')
-rw-r--r-- | toolchain/gcc/patches/4.2.3/905-avr32_fix_folding_machine_reorg_optimizations.patch | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/toolchain/gcc/patches/4.2.3/905-avr32_fix_folding_machine_reorg_optimizations.patch b/toolchain/gcc/patches/4.2.3/905-avr32_fix_folding_machine_reorg_optimizations.patch index 7a160d6..b72e47a 100644 --- a/toolchain/gcc/patches/4.2.3/905-avr32_fix_folding_machine_reorg_optimizations.patch +++ b/toolchain/gcc/patches/4.2.3/905-avr32_fix_folding_machine_reorg_optimizations.patch @@ -1,8 +1,8 @@ -Index: a/gcc/config/avr32/avr32.c +Index: gcc-4.2.3/gcc/config/avr32/avr32.c =================================================================== ---- a/gcc/config/avr32/avr32.c (revision 31997) -+++ b/gcc/config/avr32/avr32.c (working copy) -@@ -6323,25 +6323,26 @@ +--- gcc-4.2.3.orig/gcc/config/avr32/avr32.c 2008-05-21 13:45:58.533289214 +0200 ++++ gcc-4.2.3/gcc/config/avr32/avr32.c 2008-05-21 13:45:59.762288215 +0200 +@@ -6323,23 +6323,24 @@ /* If used any other place than as a pointer or as the destination register we failed */ if (!(single_set (scan) @@ -35,14 +35,12 @@ Index: a/gcc/config/avr32/avr32.c + && REG_P (SET_DEST (PATTERN (scan))) + && !regno_use_in (REGNO (reg), + SET_SRC (PATTERN (scan))))) - break; - ++ break; ++ + /* We cannot replace the pointer in TImode insns + as these has a differene addressing mode than the other + memory insns. */ + if ( GET_MODE (SET_DEST (PATTERN (scan))) == TImode ) -+ break; -+ + break; + /* Check if register is dead or set in this insn */ - if (dead_or_set_p (scan, reg)) - { |