gcc: add a patch to generate better code with Os on mips
authorFelix Fietkau <nbd@nbd.name>
Thu, 4 Aug 2016 18:29:45 +0000 (20:29 +0200)
committerFelix Fietkau <nbd@nbd.name>
Thu, 4 Aug 2016 18:53:28 +0000 (20:53 +0200)
Also happens to reduce compressed code size a bit

Signed-off-by: Felix Fietkau <nbd@nbd.name>
toolchain/gcc/patches/5.4.0/300-mips_Os_cpu_rtx_cost_model.patch [new file with mode: 0644]
toolchain/gcc/patches/6.1.0/300-mips_Os_cpu_rtx_cost_model.patch [new file with mode: 0644]

diff --git a/toolchain/gcc/patches/5.4.0/300-mips_Os_cpu_rtx_cost_model.patch b/toolchain/gcc/patches/5.4.0/300-mips_Os_cpu_rtx_cost_model.patch
new file mode 100644 (file)
index 0000000..1743658
--- /dev/null
@@ -0,0 +1,14 @@
+Use the proper rtx cost model for the selected CPU, even when optimizing
+for size. This generates better code.
+
+--- a/gcc/config/mips/mips.c
++++ b/gcc/config/mips/mips.c
+@@ -17483,7 +17483,7 @@ mips_option_override (void)
+     flag_pcc_struct_return = 0;
+   /* Decide which rtx_costs structure to use.  */
+-  if (optimize_size)
++  if (0 && optimize_size)
+     mips_cost = &mips_rtx_cost_optimize_size;
+   else
+     mips_cost = &mips_rtx_cost_data[mips_tune];
diff --git a/toolchain/gcc/patches/6.1.0/300-mips_Os_cpu_rtx_cost_model.patch b/toolchain/gcc/patches/6.1.0/300-mips_Os_cpu_rtx_cost_model.patch
new file mode 100644 (file)
index 0000000..d76bd8c
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/gcc/config/mips/mips.c
++++ b/gcc/config/mips/mips.c
+@@ -17928,7 +17928,7 @@ mips_option_override (void)
+     flag_pcc_struct_return = 0;
+   /* Decide which rtx_costs structure to use.  */
+-  if (optimize_size)
++  if (0 && optimize_size)
+     mips_cost = &mips_rtx_cost_optimize_size;
+   else
+     mips_cost = &mips_rtx_cost_data[mips_tune];