From 344303f3cfc072469c7c32de90952871c108afd5 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Fri, 1 Apr 2016 10:00:01 -0700 Subject: [PATCH] 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. --- ChangeLog | 6 ++++++ benchtests/bench-memset.c | 7 ++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 160777ad65..fc86116912 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2016-04-01 H.J. Lu + + * benchtests/bench-memset.c (do_test): Support 64-byte + alignment. + (test_main): Test 64-byte alignment. + 2016-04-01 H.J. Lu * benchtests/bench-memmove.c (test_main): Test 64-byte 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; }