From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 113784 invoked by alias); 24 May 2017 15:44:25 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 113747 invoked by uid 89); 24 May 2017 15:44:22 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-23.9 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_LAZY_DOMAIN_SECURITY,NO_DNS_FOR_FROM,RP_MATCHES_RCVD autolearn=ham version=3.3.2 spammy= X-HELO: mga11.intel.com X-ExtLoop1: 1 Date: Wed, 24 May 2017 15:44:00 -0000 From: "H.J. Lu" To: GNU C Library Subject: [PATCH] benchtests: Add more tests for memrchr Message-ID: <20170524154422.GA14778@lucon.org> Reply-To: "H.J. Lu" MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.8.0 (2017-02-23) X-SW-Source: 2017-05/txt/msg00723.txt.bz2 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. Any comments? H.J. --- * benchtests/bench-memchr.c (do_test): Print out both length and position. (test_main): Also test the position close to the beginning for memrchr. --- benchtests/bench-memchr.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/benchtests/bench-memchr.c b/benchtests/bench-memchr.c index 16099ac..c95cc70 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,27 @@ 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); + do_test (i, i, i + 1, 23); + do_test (i, i, i + 1, 0); +#endif } return ret; -- 2.9.4