summaryrefslogtreecommitdiff
path: root/sysdeps/powerpc/powerpc32/power4/multiarch/memchr-power7.S
diff options
context:
space:
mode:
authorAdhemerval Zanella <azanella@linux.vnet.ibm.com>2013-10-14 07:57:14 -0500
committerAdhemerval Zanella <azanella@linux.vnet.ibm.com>2013-12-06 05:47:00 -0600
commit1c62e6d960d7c09497fb8ce5936bb84564fa9b30 (patch)
treee78cfcf6860eb433c5e5a6b48e055cf77155fdf1 /sysdeps/powerpc/powerpc32/power4/multiarch/memchr-power7.S
parent87da8bdbe1a2c3410b9cef027d88e5028e3c0111 (diff)
downloadglibc-1c62e6d960d7c09497fb8ce5936bb84564fa9b30.tar.gz
PowerPC: multiarch memchr for PowerPC32
Diffstat (limited to 'sysdeps/powerpc/powerpc32/power4/multiarch/memchr-power7.S')
-rw-r--r--sysdeps/powerpc/powerpc32/power4/multiarch/memchr-power7.S40
1 files changed, 40 insertions, 0 deletions
diff --git a/sysdeps/powerpc/powerpc32/power4/multiarch/memchr-power7.S b/sysdeps/powerpc/powerpc32/power4/multiarch/memchr-power7.S
new file mode 100644
index 0000000000..a8a077d076
--- /dev/null
+++ b/sysdeps/powerpc/powerpc32/power4/multiarch/memchr-power7.S
@@ -0,0 +1,40 @@
+/* Optimized memchr implementation for PowerPC32/POWER7 using cmpb insn.
+ Copyright (C) 2010-2013 Free Software Foundation, Inc.
+ Contributed by Luis Machado <luisgpm@br.ibm.com>.
+ 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 ENTRY
+#define ENTRY(name) \
+ .globl C_SYMBOL_NAME(__memchr_power7); \
+ .type C_SYMBOL_NAME(__memchr_power7),@function; \
+ C_LABEL(__memchr_power7) \
+ cfi_startproc;
+
+#undef END
+#define END(name) \
+ cfi_endproc; \
+ ASM_SIZE_DIRECTIVE(__memchr_power7)
+
+#undef weak_alias
+#define weak_alias(name, alias)
+
+#undef libc_hidden_builtin_def
+#define libc_hidden_builtin_def(name)
+
+#include <sysdeps/powerpc/powerpc32/power7/memchr.S>