aboutsummaryrefslogtreecommitdiffstats
path: root/toolchain/gcc/patches/4.4.7/931-avr32_disable_shifted_data_opt.patch
diff options
context:
space:
mode:
Diffstat (limited to 'toolchain/gcc/patches/4.4.7/931-avr32_disable_shifted_data_opt.patch')
-rw-r--r--toolchain/gcc/patches/4.4.7/931-avr32_disable_shifted_data_opt.patch32
1 files changed, 0 insertions, 32 deletions
diff --git a/toolchain/gcc/patches/4.4.7/931-avr32_disable_shifted_data_opt.patch b/toolchain/gcc/patches/4.4.7/931-avr32_disable_shifted_data_opt.patch
deleted file mode 100644
index 2003e97ae0..0000000000
--- a/toolchain/gcc/patches/4.4.7/931-avr32_disable_shifted_data_opt.patch
+++ /dev/null
@@ -1,32 +0,0 @@
---- a/gcc/config/avr32/avr32.c
-+++ b/gcc/config/avr32/avr32.c
-@@ -6726,7 +6726,28 @@ avr32_reorg_optimization (void)
- }
- }
-
-- if (TARGET_MD_REORG_OPTIMIZATION && (optimize_size || (optimize > 0)))
-+ /* Disabled this optimization since it has a bug */
-+ /* In the case where the data instruction the shifted insn gets folded
-+ * into is a branch destination, this breaks, i.e.
-+ *
-+ * add r8, r10, r8 << 2
-+ * 1:
-+ * ld.w r11, r8[0]
-+ * ...
-+ * mov r8, sp
-+ * rjmp 1b
-+ *
-+ * gets folded to:
-+ *
-+ * 1:
-+ * ld.w r11, r10[r8 << 2]
-+ * ...
-+ * mov r8, sp
-+ * rjmp 1b
-+ *
-+ * which is clearly wrong..
-+ */
-+ if (0 && TARGET_MD_REORG_OPTIMIZATION && (optimize_size || (optimize > 0)))
- {
-
- /* Scan through all insns looking for shifted add operations */