diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2017-06-04 09:44:48 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2017-06-04 09:45:09 -0700 |
commit | 6b69f98dcd34d63e507cae1d8bfe83ea8d597830 (patch) | |
tree | 44c0cb8c447fd2775f79d300d0520e115555776b /benchtests | |
parent | d36c52becb34101df18f410a9a2778def17fc6c8 (diff) | |
download | glibc-6b69f98dcd34d63e507cae1d8bfe83ea8d597830.tar.gz glibc-6b69f98dcd34d63e507cae1d8bfe83ea8d597830.tar.xz glibc-6b69f98dcd34d63e507cae1d8bfe83ea8d597830.zip |
benchtests: Add more tests for memrchr
bench-memchr.c is shared with bench-memrchr.c. This patch adds some tests for positions close to the beginning for memrchr, which are equivalent to positions close to the end for memchr. * benchtests/bench-memchr.c (do_test): Print out both length and position. (test_main): Also test the position close to the beginning for memrchr.
Diffstat (limited to 'benchtests')
-rw-r--r-- | benchtests/bench-memchr.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/benchtests/bench-memchr.c b/benchtests/bench-memchr.c index 16099ac3a2..92b5b7f986 100644 --- a/benchtests/bench-memchr.c +++ b/benchtests/bench-memchr.c @@ -117,7 +117,8 @@ do_test (size_t align, size_t pos, size_t len, int seek_char) buf[align + len] = seek_char; } - printf ("Length %4zd, alignment %2zd:", pos, align); + printf ("Length %4zd, position %4zd, alignment %2zd:", + len, pos, align); FOR_EACH_IMPL (impl, 0) do_one_test (impl, (CHAR *) (buf + align), seek_char, len, result); @@ -143,11 +144,25 @@ test_main (void) do_test (i, 64, 256, 23); do_test (0, 16 << i, 2048, 0); do_test (i, 64, 256, 0); +#ifdef USE_AS_MEMRCHR + /* Also test the position close to the beginning for memrchr. */ + do_test (0, i, 256, 23); + do_test (0, i, 256, 0); + do_test (i, i, 256, 23); + do_test (i, i, 256, 0); +#endif } for (i = 1; i < 32; ++i) { do_test (0, i, i + 1, 23); do_test (0, i, i + 1, 0); + do_test (i, i, i + 1, 23); + do_test (i, i, i + 1, 0); +#ifdef USE_AS_MEMRCHR + /* Also test the position close to the beginning for memrchr. */ + do_test (0, 1, i + 1, 23); + do_test (0, 2, i + 1, 0); +#endif } return ret; |