From ecf7671b769fe96f7b5134be442089f8bdba55d2 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Thu, 4 Aug 2016 20:29:45 +0200 Subject: 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 --- .../gcc/patches/5.4.0/300-mips_Os_cpu_rtx_cost_model.patch | 14 ++++++++++++++ .../gcc/patches/6.1.0/300-mips_Os_cpu_rtx_cost_model.patch | 11 +++++++++++ 2 files changed, 25 insertions(+) create mode 100644 toolchain/gcc/patches/5.4.0/300-mips_Os_cpu_rtx_cost_model.patch create mode 100644 toolchain/gcc/patches/6.1.0/300-mips_Os_cpu_rtx_cost_model.patch (limited to 'toolchain') 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]; -- cgit v1.2.3