This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] powerpc: Improve memcmp performance for POWER8
- From: "Tulio Magno Quites Machado Filho" <tuliom at linux dot vnet dot ibm dot com>
- To: Rajalakshmi Srinivasaraghavan <raji at linux dot vnet dot ibm dot com>, libc-alpha at sourceware dot org
- Cc: Rajalakshmi Srinivasaraghavan <raji at linux dot vnet dot ibm dot com>
- Cc:
- Date: Wed, 17 May 2017 18:50:21 -0300
- Subject: Re: [PATCH] powerpc: Improve memcmp performance for POWER8
- Authentication-results: sourceware.org; auth=none
- References: <1491463760-1004-1-git-send-email-raji@linux.vnet.ibm.com>
Rajalakshmi Srinivasaraghavan <raji@linux.vnet.ibm.com> writes:
> diff --git a/sysdeps/powerpc/powerpc64/multiarch/memcmp-power8.S b/sysdeps/powerpc/powerpc64/multiarch/memcmp-power8.S
> new file mode 100644
> index 0000000..a568be4
> --- /dev/null
> +++ b/sysdeps/powerpc/powerpc64/multiarch/memcmp-power8.S
> @@ -0,0 +1,42 @@
> +/* Optimized memcmp implementation for PowerPC64/POWER8.
> + Copyright (C) 2017 Free Software Foundation, Inc.
> + This file is part of the GNU C Library.
> +
> + The GNU C Library is free software; you can redistribute it and/or
> + modify it under the terms of the GNU Lesser General Public
> + License as published by the Free Software Foundation; either
> + version 2.1 of the License, or (at your option) any later version.
> +
> + The GNU C Library is distributed in the hope that it will be useful,
> + but WITHOUT ANY WARRANTY; without even the implied warranty of
> + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> + Lesser General Public License for more details.
> +
> + You should have received a copy of the GNU Lesser General Public
> + License along with the GNU C Library; if not, see
> + <http://www.gnu.org/licenses/>. */
> +
> +#include <sysdep.h>
> +
> +#undef EALIGN
> +#define EALIGN(name, alignt, words) \
> + .section ".text"; \
> + ENTRY_2(__memcmp_power8) \
> + .align ALIGNARG(alignt); \
> + EALIGN_W_##words; \
> + BODY_LABEL(__memcmp_power8): \
> + cfi_startproc; \
> + LOCALENTRY(__memcmp_power8)
> +
> +#undef END
> +#define END(name) \
> + cfi_endproc; \
> + TRACEBACK(__memcmp_power8) \
> + END_2(__memcmp_power8)
> +
> +#undef libc_hidden_builtin_def
> +#define libc_hidden_builtin_def(name)
> +#undef weak_alias
> +#define weak_alias(name,alias)
> +
> +#include <sysdeps/powerpc/powerpc64/power8/memcmp.S>
The patch LGTM in overall, except for this file.
I think it should be implemented as in commit b6a66222096c.
LGTM with that change.
--
Tulio Magno