summary refs log tree commit diff
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
parentaea44bf61aa3f27acbdb7648b6f5dc8882a8987b (diff)
downloadglibc-344303f3cfc072469c7c32de90952871c108afd5.tar.gz
glibc-344303f3cfc072469c7c32de90952871c108afd5.tar.xz
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;
 }