aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Ivchenko <alexander.ivchenko@intel.com>2015-09-24 22:51:27 +0300
committerAlexander Ivchenko <alexander.ivchenko@intel.com>2015-09-25 15:56:18 +0300
commit020413b1ab0181745b3ac86e20fa51dce1589266 (patch)
treeda0742130875591093e67df1d3ce90fdd9a30b2f
parent81762471dff662de3066037f425d4dadc20be40f (diff)
downloadtoolchain_gcc-020413b1ab0181745b3ac86e20fa51dce1589266.tar.gz
toolchain_gcc-020413b1ab0181745b3ac86e20fa51dce1589266.tar.bz2
toolchain_gcc-020413b1ab0181745b3ac86e20fa51dce1589266.zip
[4.9] Disable inlining of memcpy for x86 with 'rep movs'.
On big length 'rep movs' are less efficient than libcall of highly-optimized Bionic memcpy. Change-Id: I9435b9e438e0e40c28c505c43ec7f9797384afd6 Signed-off-by: Andrew Senkevich <andrew.senkevich@intel.com> Signed-off-by: Alexander Ivchenko <alexander.ivchenko@intel.com>
-rw-r--r--gcc-4.9/gcc/config/i386/i386.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc-4.9/gcc/config/i386/i386.c b/gcc-4.9/gcc/config/i386/i386.c
index 865d22352..a3c88ce64 100644
--- a/gcc-4.9/gcc/config/i386/i386.c
+++ b/gcc-4.9/gcc/config/i386/i386.c
@@ -1673,7 +1673,7 @@ struct processor_costs atom_cost = {
};
static stringop_algs slm_memcpy[2] = {
- {libcall, {{11, loop, false}, {-1, rep_prefix_4_byte, false}}},
+ {libcall, {{11, loop, false}, {-1, libcall, false}}},
{libcall, {{32, loop, false}, {64, rep_prefix_4_byte, false},
{8192, rep_prefix_8_byte, false}, {-1, libcall, false}}}};
static stringop_algs slm_memset[2] = {