summaryrefslogtreecommitdiff
path: root/memxor3.c
diff options
context:
space:
mode:
authorMamone Tarsha <maamoun.tk@googlemail.com>2021-07-22 13:08:58 +0300
committerMamone Tarsha <maamoun.tk@googlemail.com>2021-07-22 13:08:58 +0300
commitb8054a1d0ad507812da9ba946a70d81100086252 (patch)
tree19f1b444050ebcbba9660e82e0f44c0f8ec69a13 /memxor3.c
parent422219fed26561363afee2639182854fe2021415 (diff)
downloadnettle-b8054a1d0ad507812da9ba946a70d81100086252.tar.gz
[S390x] Optimize memxor3 using vector facility with fat support
Diffstat (limited to 'memxor3.c')
-rw-r--r--memxor3.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/memxor3.c b/memxor3.c
index fe208bf1..c9ffa52b 100644
--- a/memxor3.c
+++ b/memxor3.c
@@ -45,6 +45,13 @@
#define WORD_T_THRESH 16
+/* For fat builds */
+#if HAVE_NATIVE_memxor3
+void *
+_nettle_memxor3_c(void *dst_in, const void *a_in, const void *b_in, size_t n);
+# define nettle_memxor3 _nettle_memxor3_c
+#endif
+
/* XOR word-aligned areas. n is the number of words, not bytes. */
static void
memxor3_common_alignment (word_t *dst,
@@ -236,7 +243,8 @@ memxor3_different_alignment_all (word_t *dst,
internally by cbc decrypt, and it is not advertised or documented
to nettle users. */
void *
-memxor3(void *dst_in, const void *a_in, const void *b_in, size_t n)
+nettle_memxor3(void *dst_in, const void *a_in,
+ const void *b_in, size_t n)
{
unsigned char *dst = dst_in;
const unsigned char *a = a_in;