aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2016-04-01 10:00:01 -0700
committerH.J. Lu <hjl.tools@gmail.com>2016-04-01 10:00:12 -0700
commit344303f3cfc072469c7c32de90952871c108afd5 (patch)
tree0ec61ee834a4cf6c2b540c07f78cede7dda54937
parentTest 64-byte alignment in memmove benchtest (diff)
downloadglibc-344303f3cfc072469c7c32de90952871c108afd5.tar.gz
glibc-344303f3cfc072469c7c32de90952871c108afd5.tar.bz2
glibc-344303f3cfc072469c7c32de90952871c108afd5.zip
Test 64-byte alignment in memset benchtest
Add 64-byte alignment tests in memset benchtest for 64-byte vector registers. * benchtests/bench-memset.c (do_test): Support 64-byte alignment. (test_main): Test 64-byte alignment.
-rw-r--r--ChangeLog6
-rw-r--r--benchtests/bench-memset.c7
2 files changed, 12 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 160777ad65..fc86116912 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2016-04-01 H.J. Lu <hongjiu.lu@intel.com>
+ * benchtests/bench-memset.c (do_test): Support 64-byte
+ alignment.
+ (test_main): Test 64-byte alignment.
+
+2016-04-01 H.J. Lu <hongjiu.lu@intel.com>
+
* benchtests/bench-memmove.c (test_main): Test 64-byte
alignment.
diff --git a/benchtests/bench-memset.c b/benchtests/bench-memset.c
index 6d3218a122..98ec257b3e 100644
--- a/benchtests/bench-memset.c
+++ b/benchtests/bench-memset.c
@@ -134,7 +134,7 @@ do_one_test (impl_t *impl, CHAR *s, int c __attribute ((unused)), size_t n)
static void
do_test (size_t align, int c, size_t len)
{
- align &= 7;
+ align &= 63;
if ((align + len) * sizeof (CHAR) > page_size)
return;
@@ -181,6 +181,11 @@ test_main (void)
do_test (4, c, 64);
do_test (2, c, 25);
}
+ for (i = 33; i <= 256; i += 4)
+ {
+ do_test (0, c, 32 * i);
+ do_test (i, c, 32 * i);
+ }
return ret;
}