about summary refs log tree commit diff
path: root/benchtests
diff options
context:
space:
mode:
authorAdhemerval Zanella <azanella@linux.vnet.ibm.com>2013-06-20 19:40:55 -0500
committerAdhemerval Zanella <azanella@linux.vnet.ibm.com>2013-06-20 19:42:05 -0500
commit85c2e6110c9a01ec817c30f1b7e20549d7229987 (patch)
tree9b044403d906f9aaa6930484ae6d60dc687ecc19 /benchtests
parentb8c792af85fe3ff65c0cd68e2f291072a60cd953 (diff)
downloadglibc-85c2e6110c9a01ec817c30f1b7e20549d7229987.tar.gz
glibc-85c2e6110c9a01ec817c30f1b7e20549d7229987.tar.xz
glibc-85c2e6110c9a01ec817c30f1b7e20549d7229987.zip
Fix loop construction to functions calls
Check wheter the compiler has the option -fno-tree-loop-distribute-patterns
to inhibit loop transformation to library calls and uses it on memset
and memmove default implementation to avoid recursive calls.
Diffstat (limited to 'benchtests')
-rw-r--r--benchtests/bench-memmove.c1
-rw-r--r--benchtests/bench-memset.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/benchtests/bench-memmove.c b/benchtests/bench-memmove.c
index dccde5d14e..8925606af8 100644
--- a/benchtests/bench-memmove.c
+++ b/benchtests/bench-memmove.c
@@ -46,6 +46,7 @@ IMPL (memmove, 1)
 #endif
 
 char *
+inhibit_loop_to_libcall
 simple_memmove (char *dst, const char *src, size_t n)
 {
   char *ret = dst;
diff --git a/benchtests/bench-memset.c b/benchtests/bench-memset.c
index 92e34f0d61..ea29cf37fc 100644
--- a/benchtests/bench-memset.c
+++ b/benchtests/bench-memset.c
@@ -63,6 +63,7 @@ builtin_memset (char *s, int c, size_t n)
 #endif
 
 char *
+inhibit_loop_to_libcall
 simple_memset (char *s, int c, size_t n)
 {
   char *r = s, *end = s + n;