2017-04-11 Wainer dos Santos Moschetta <wainersm@linux.vnet.ibm.com>
+ * sysdeps/powerpc/powerpc64/multiarch/memcmp-power4.S: Define the
+ implementation-specific function name and remove unneeded
+ macros definition.
+ * sysdeps/powerpc/powerpc64/multiarch/memcmp-power7.S: Likewise.
+ * sysdeps/powerpc/powerpc64/multiarch/memmove-power7.S: Likewise.
+ * sysdeps/powerpc/powerpc64/power4/memcmp.S: Set a default function
+ name if not defined and pass as parameter to macros accordingly.
+ * sysdeps/powerpc/powerpc64/power7/memcmp.S: Likewise.
+ * sysdeps/powerpc/powerpc64/power7/memmove.S: Likewise.
+
* sysdeps/powerpc/powerpc64/multiarch/memcpy-a2.S: Define the
implementation-specific function name and remove unneeded
macros definition.
#include <sysdep.h>
-#undef EALIGN
-#define EALIGN(name, alignt, words) \
- .section ".text"; \
- ENTRY_2(__memcmp_power4) \
- .align ALIGNARG(alignt); \
- EALIGN_W_##words; \
- BODY_LABEL(__memcmp_power4): \
- cfi_startproc; \
- LOCALENTRY(__memcmp_power4)
-
-#undef END
-#define END(name) \
- cfi_endproc; \
- TRACEBACK(__memcmp_power4) \
- END_2(__memcmp_power4)
+#define MEMCMP __memcmp_power4
#undef libc_hidden_builtin_def
#define libc_hidden_builtin_def(name)
#include <sysdep.h>
-#undef EALIGN
-#define EALIGN(name, alignt, words) \
- .section ".text"; \
- ENTRY_2(__memcmp_power7) \
- .align ALIGNARG(alignt); \
- EALIGN_W_##words; \
- BODY_LABEL(__memcmp_power7): \
- cfi_startproc; \
- LOCALENTRY(__memcmp_power7)
-
-#undef END
-#define END(name) \
- cfi_endproc; \
- TRACEBACK(__memcmp_power7) \
- END_2(__memcmp_power7)
+#define MEMCMP __memcmp_power7
#undef libc_hidden_builtin_def
#define libc_hidden_builtin_def(name)
#include <sysdep.h>
-#undef EALIGN
-#define EALIGN(name, alignt, words) \
- .section ".text"; \
- ENTRY_2(__memmove_power7) \
- .align ALIGNARG(alignt); \
- EALIGN_W_##words; \
- BODY_LABEL(__memmove_power7): \
- cfi_startproc; \
- LOCALENTRY(__memmove_power7)
-
-#undef END_GEN_TB
-#define END_GEN_TB(name, mask) \
- cfi_endproc; \
- TRACEBACK_MASK(__memmove_power7,mask) \
- END_2(__memmove_power7)
+#define MEMMOVE __memmove_power7
#undef libc_hidden_builtin_def
#define libc_hidden_builtin_def(name)
const char *s2 [r4],
size_t size [r5]) */
+#ifndef MEMCMP
+# define MEMCMP memcmp
+#endif
+
.machine power4
-EALIGN (memcmp, 4, 0)
+EALIGN (MEMCMP, 4, 0)
CALL_MCOUNT 3
#define rRTN r3
li rRTN, 0
blr
-END (memcmp)
+END (MEMCMP)
libc_hidden_builtin_def (memcmp)
weak_alias (memcmp, bcmp)
/* int [r3] memcmp (const char *s1 [r3],
const char *s2 [r4],
size_t size [r5]) */
-
+#ifndef MEMCMP
+# define MEMCMP memcmp
+#endif
.machine power7
-EALIGN (memcmp, 4, 0)
+EALIGN (MEMCMP, 4, 0)
CALL_MCOUNT 3
#define rRTN r3
li rRTN, 0
blr
-END (memcmp)
+END (MEMCMP)
libc_hidden_builtin_def (memcmp)
weak_alias (memcmp, bcmp)
If source and destiny overlaps, a optimized backwards memcpy is used
instead. */
+#ifndef MEMMOVE
+# define MEMMOVE memmove
+#endif
.machine power7
-EALIGN (memmove, 5, 0)
+EALIGN (MEMMOVE, 5, 0)
CALL_MCOUNT 3
L(_memmove):
stb r8,-7(r11)
/* Return original DST pointer. */
blr
-END_GEN_TB (memmove, TB_TOCLESS)
+END_GEN_TB (MEMMOVE, TB_TOCLESS)
libc_hidden_builtin_def (memmove)