summaryrefslogtreecommitdiffstats
path: root/toolchain
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2016-08-04 20:29:45 +0200
committerFelix Fietkau <nbd@nbd.name>2016-08-04 20:53:28 +0200
commitecf7671b769fe96f7b5134be442089f8bdba55d2 (patch)
tree06d7a8b307b39a46912e6e3a9d69a491dead00b2 /toolchain
parent7c874d18f51cb952babd8241fae5a8286dc68878 (diff)
downloadmaster-31e0f0ae-ecf7671b769fe96f7b5134be442089f8bdba55d2.tar.gz
master-31e0f0ae-ecf7671b769fe96f7b5134be442089f8bdba55d2.tar.bz2
master-31e0f0ae-ecf7671b769fe96f7b5134be442089f8bdba55d2.zip
gcc: add a patch to generate better code with Os on mips
Also happens to reduce compressed code size a bit Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'toolchain')
-rw-r--r--toolchain/gcc/patches/5.4.0/300-mips_Os_cpu_rtx_cost_model.patch14
-rw-r--r--toolchain/gcc/patches/6.1.0/300-mips_Os_cpu_rtx_cost_model.patch11
2 files changed, 25 insertions, 0 deletions
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
index 0000000000..1743658ac6
--- /dev/null
+++ b/toolchain/gcc/patches/5.4.0/300-mips_Os_cpu_rtx_cost_model.patch
@@ -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
index 0000000000..d76bd8cb1d
--- /dev/null
+++ b/toolchain/gcc/patches/6.1.0/300-mips_Os_cpu_rtx_cost_model.patch
@@ -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];