fix whitespace.

This commit is contained in:
Daniel Pouzzner
2022-01-20 01:18:11 -06:00
parent bb07d0a490
commit 5e33da8147
3 changed files with 249 additions and 249 deletions

View File

@@ -11690,7 +11690,7 @@ int wc_AesXtsDecrypt(XtsAes* xaes, byte* out, const byte* in, word32 sz,
#ifdef WOLFSSL_AES_SIV #ifdef WOLFSSL_AES_SIV
/* /*
* See RFC 5297 Section 2.4. * See RFC 5297 Section 2.4.
*/ */
static int S2V(const byte* key, word32 keySz, const byte* assoc, word32 assocSz, static int S2V(const byte* key, word32 keySz, const byte* assoc, word32 assocSz,
@@ -11890,7 +11890,7 @@ static int AesSivCipher(const byte* key, word32 keySz, const byte* assoc,
return ret; return ret;
} }
/* /*
* See RFC 5297 Section 2.6. * See RFC 5297 Section 2.6.
*/ */
int wc_AesSivEncrypt(const byte* key, word32 keySz, const byte* assoc, int wc_AesSivEncrypt(const byte* key, word32 keySz, const byte* assoc,
@@ -11901,7 +11901,7 @@ int wc_AesSivEncrypt(const byte* key, word32 keySz, const byte* assoc,
siv, out, 1); siv, out, 1);
} }
/* /*
* See RFC 5297 Section 2.7. * See RFC 5297 Section 2.7.
*/ */
int wc_AesSivDecrypt(const byte* key, word32 keySz, const byte* assoc, int wc_AesSivDecrypt(const byte* key, word32 keySz, const byte* assoc,

View File

@@ -357,33 +357,33 @@ int wc_SipHashFinal(SipHash* sipHash, unsigned char* out, unsigned char outSz)
(WOLFSSL_SIPHASH_DROUNDS == 2 || WOLFSSL_SIPHASH_DROUNDS == 4) (WOLFSSL_SIPHASH_DROUNDS == 2 || WOLFSSL_SIPHASH_DROUNDS == 4)
#define SIPHASH_ROUND(v0, v1, v2, v3) \ #define SIPHASH_ROUND(v0, v1, v2, v3) \
"addq " #v1 ", " #v0 "\n\t" \ "addq " #v1 ", " #v0 "\n\t" \
"addq " #v3 ", " #v2 "\n\t" \ "addq " #v3 ", " #v2 "\n\t" \
"rolq $13, " #v1 "\n\t" \ "rolq $13, " #v1 "\n\t" \
"rolq $16, " #v3 "\n\t" \ "rolq $16, " #v3 "\n\t" \
"xorq " #v0 ", " #v1 "\n\t" \ "xorq " #v0 ", " #v1 "\n\t" \
"xorq " #v2 ", " #v3 "\n\t" \ "xorq " #v2 ", " #v3 "\n\t" \
"rolq $32, " #v0 "\n\t" \ "rolq $32, " #v0 "\n\t" \
"addq " #v1 ", " #v2 "\n\t" \ "addq " #v1 ", " #v2 "\n\t" \
"addq " #v3 ", " #v0 "\n\t" \ "addq " #v3 ", " #v0 "\n\t" \
"rolq $17, " #v1 "\n\t" \ "rolq $17, " #v1 "\n\t" \
"rolq $21, " #v3 "\n\t" \ "rolq $21, " #v3 "\n\t" \
"xorq " #v2 ", " #v1 "\n\t" \ "xorq " #v2 ", " #v1 "\n\t" \
"xorq " #v0 ", " #v3 "\n\t" \ "xorq " #v0 ", " #v3 "\n\t" \
"rolq $32, " #v2 "\n\t" "rolq $32, " #v2 "\n\t"
#define SIPHASH_LAST_ROUND(v0, v1, v2, v3) \ #define SIPHASH_LAST_ROUND(v0, v1, v2, v3) \
"addq " #v1 ", " #v0 "\n\t" \ "addq " #v1 ", " #v0 "\n\t" \
"addq " #v3 ", " #v2 "\n\t" \ "addq " #v3 ", " #v2 "\n\t" \
"rolq $13, " #v1 "\n\t" \ "rolq $13, " #v1 "\n\t" \
"rolq $16, " #v3 "\n\t" \ "rolq $16, " #v3 "\n\t" \
"xorq " #v0 ", " #v1 "\n\t" \ "xorq " #v0 ", " #v1 "\n\t" \
"xorq " #v2 ", " #v3 "\n\t" \ "xorq " #v2 ", " #v3 "\n\t" \
"addq " #v1 ", " #v2 "\n\t" \ "addq " #v1 ", " #v2 "\n\t" \
"rolq $17, " #v1 "\n\t" \ "rolq $17, " #v1 "\n\t" \
"rolq $21, " #v3 "\n\t" \ "rolq $21, " #v3 "\n\t" \
"xorq " #v2 ", " #v1 "\n\t" \ "xorq " #v2 ", " #v1 "\n\t" \
"rolq $32, " #v2 "\n\t" "rolq $32, " #v2 "\n\t"
/** /**
* Perform SipHash operation on input with key. * Perform SipHash operation on input with key.
@@ -408,109 +408,109 @@ int wc_SipHash(const unsigned char* key, const unsigned char* in, word32 inSz,
/* v0=%r8, v1=%r9, v2=%r10, v3=%r11 */ /* v0=%r8, v1=%r9, v2=%r10, v3=%r11 */
__asm__ __volatile__ ( __asm__ __volatile__ (
"movq (%[key]), %%r12\n\t" "movq (%[key]), %%r12\n\t"
"movq 8(%[key]), %%r13\n\t" "movq 8(%[key]), %%r13\n\t"
"movabsq $0x736f6d6570736575, %%r8\n\t" "movabsq $0x736f6d6570736575, %%r8\n\t"
"movabsq $0x646f72616e646f6d, %%r9\n\t" "movabsq $0x646f72616e646f6d, %%r9\n\t"
"movabsq $0x6c7967656e657261, %%r10\n\t" "movabsq $0x6c7967656e657261, %%r10\n\t"
"movabsq $0x7465646279746573, %%r11\n\t" "movabsq $0x7465646279746573, %%r11\n\t"
"xorq %%r12, %%r8\n\t" "xorq %%r12, %%r8\n\t"
"xorq %%r13, %%r9\n\t" "xorq %%r13, %%r9\n\t"
"xorq %%r12, %%r10\n\t" "xorq %%r12, %%r10\n\t"
"xorq %%r13, %%r11\n\t" "xorq %%r13, %%r11\n\t"
"cmp $8, %[outSz]\n\t" "cmp $8, %[outSz]\n\t"
"mov %[inSz], %%r13d\n\t" "mov %[inSz], %%r13d\n\t"
"je L_siphash_8_top\n\t" "je L_siphash_8_top\n\t"
"xorq $0xee, %%r9\n\t" "xorq $0xee, %%r9\n\t"
"L_siphash_8_top:\n\t" "L_siphash_8_top:\n\t"
"sub $8, %[inSz]\n\t" "sub $8, %[inSz]\n\t"
"jb L_siphash_done_input_8\n\t" "jb L_siphash_done_input_8\n\t"
"L_siphash_input:\n\t" "L_siphash_input:\n\t"
"movq (%[in]), %%r12\n\t" "movq (%[in]), %%r12\n\t"
"addq $8, %[in]\n\t" "addq $8, %[in]\n\t"
"xorq %%r12, %%r11\n\t" "xorq %%r12, %%r11\n\t"
#if WOLFSSL_SIPHASH_CROUNDS == 1 #if WOLFSSL_SIPHASH_CROUNDS == 1
SIPHASH_ROUND(%%r8, %%r9, %%r10, %%r11) SIPHASH_ROUND(%%r8, %%r9, %%r10, %%r11)
#elif WOLFSSL_SIPHASH_CROUNDS == 2 #elif WOLFSSL_SIPHASH_CROUNDS == 2
SIPHASH_ROUND(%%r8, %%r9, %%r10, %%r11) SIPHASH_ROUND(%%r8, %%r9, %%r10, %%r11)
SIPHASH_ROUND(%%r8, %%r9, %%r10, %%r11) SIPHASH_ROUND(%%r8, %%r9, %%r10, %%r11)
#endif #endif
"xorq %%r12, %%r8\n\t" "xorq %%r12, %%r8\n\t"
"sub $8, %[inSz]\n\t" "sub $8, %[inSz]\n\t"
"jge L_siphash_input\n\t" "jge L_siphash_input\n\t"
"L_siphash_done_input_8:\n\t" "L_siphash_done_input_8:\n\t"
"add $8, %[inSz]\n\t" "add $8, %[inSz]\n\t"
"shlq $56, %%r13\n\t" "shlq $56, %%r13\n\t"
"cmp $0, %[inSz]\n\t" "cmp $0, %[inSz]\n\t"
"je L_siphash_last_done\n\t" "je L_siphash_last_done\n\t"
"cmp $4, %[inSz]\n\t" "cmp $4, %[inSz]\n\t"
"jl L_siphash_last_lt4\n\t" "jl L_siphash_last_lt4\n\t"
"cmp $7, %[inSz]\n\t" "cmp $7, %[inSz]\n\t"
"jl L_siphash_n7\n\t" "jl L_siphash_n7\n\t"
"movzxb 6(%[in]), %%r12\n\t" "movzxb 6(%[in]), %%r12\n\t"
"shlq $48, %%r12\n\t" "shlq $48, %%r12\n\t"
"orq %%r12, %%r13\n\t" "orq %%r12, %%r13\n\t"
"L_siphash_n7:\n\t" "L_siphash_n7:\n\t"
"cmp $6, %[inSz]\n\t" "cmp $6, %[inSz]\n\t"
"jl L_siphash_n6\n\t" "jl L_siphash_n6\n\t"
"movzxb 5(%[in]), %%r12\n\t" "movzxb 5(%[in]), %%r12\n\t"
"shlq $40, %%r12\n\t" "shlq $40, %%r12\n\t"
"orq %%r12, %%r13\n\t" "orq %%r12, %%r13\n\t"
"L_siphash_n6:\n\t" "L_siphash_n6:\n\t"
"cmp $5, %[inSz]\n\t" "cmp $5, %[inSz]\n\t"
"jl L_siphash_n5\n\t" "jl L_siphash_n5\n\t"
"movzxb 4(%[in]), %%r12\n\t" "movzxb 4(%[in]), %%r12\n\t"
"shlq $32, %%r12\n\t" "shlq $32, %%r12\n\t"
"orq %%r12, %%r13\n\t" "orq %%r12, %%r13\n\t"
"L_siphash_n5:\n\t" "L_siphash_n5:\n\t"
"mov (%[in]), %%r12d\n\t" "mov (%[in]), %%r12d\n\t"
"orq %%r12, %%r13\n\t" "orq %%r12, %%r13\n\t"
"jmp L_siphash_last_done\n\t" "jmp L_siphash_last_done\n\t"
"L_siphash_last_lt4:\n\t" "L_siphash_last_lt4:\n\t"
"cmp $1, %[inSz]\n\t" "cmp $1, %[inSz]\n\t"
"je L_siphash_last_1\n\t" "je L_siphash_last_1\n\t"
"cmp $3, %[inSz]\n\t" "cmp $3, %[inSz]\n\t"
"jl L_siphash_n3\n\t" "jl L_siphash_n3\n\t"
"movzxb 2(%[in]), %%r12\n\t" "movzxb 2(%[in]), %%r12\n\t"
"shlq $16, %%r12\n\t" "shlq $16, %%r12\n\t"
"orq %%r12, %%r13\n\t" "orq %%r12, %%r13\n\t"
"L_siphash_n3:\n\t" "L_siphash_n3:\n\t"
"movw (%[in]), %%r12w\n\t" "movw (%[in]), %%r12w\n\t"
"or %%r12w, %%r13w\n\t" "or %%r12w, %%r13w\n\t"
"jmp L_siphash_last_done\n\t" "jmp L_siphash_last_done\n\t"
"L_siphash_last_1:\n\t" "L_siphash_last_1:\n\t"
"movb (%[in]), %%r12b\n\t" "movb (%[in]), %%r12b\n\t"
"or %%r12b, %%r13b\n\t" "or %%r12b, %%r13b\n\t"
"L_siphash_last_done:\n\t" "L_siphash_last_done:\n\t"
"xorq %%r13, %%r11\n\t" "xorq %%r13, %%r11\n\t"
#if WOLFSSL_SIPHASH_CROUNDS == 1 #if WOLFSSL_SIPHASH_CROUNDS == 1
SIPHASH_ROUND(%%r8, %%r9, %%r10, %%r11) SIPHASH_ROUND(%%r8, %%r9, %%r10, %%r11)
#elif WOLFSSL_SIPHASH_CROUNDS == 2 #elif WOLFSSL_SIPHASH_CROUNDS == 2
SIPHASH_ROUND(%%r8, %%r9, %%r10, %%r11) SIPHASH_ROUND(%%r8, %%r9, %%r10, %%r11)
SIPHASH_ROUND(%%r8, %%r9, %%r10, %%r11) SIPHASH_ROUND(%%r8, %%r9, %%r10, %%r11)
#endif #endif
"xorq %%r13, %%r8\n\t" "xorq %%r13, %%r8\n\t"
"cmp $8, %[outSz]\n\t" "cmp $8, %[outSz]\n\t"
"je L_siphash_8_end\n\t" "je L_siphash_8_end\n\t"
"xor $0xee, %%r10b\n\t" "xor $0xee, %%r10b\n\t"
#if WOLFSSL_SIPHASH_DROUNDS == 2 #if WOLFSSL_SIPHASH_DROUNDS == 2
SIPHASH_ROUND(%%r8, %%r9, %%r10, %%r11) SIPHASH_ROUND(%%r8, %%r9, %%r10, %%r11)
SIPHASH_ROUND(%%r8, %%r9, %%r10, %%r11) SIPHASH_ROUND(%%r8, %%r9, %%r10, %%r11)
@@ -520,13 +520,13 @@ int wc_SipHash(const unsigned char* key, const unsigned char* in, word32 inSz,
SIPHASH_ROUND(%%r8, %%r9, %%r10, %%r11) SIPHASH_ROUND(%%r8, %%r9, %%r10, %%r11)
SIPHASH_ROUND(%%r8, %%r9, %%r10, %%r11) SIPHASH_ROUND(%%r8, %%r9, %%r10, %%r11)
#endif #endif
"movq %%r8, %%r12\n\t" "movq %%r8, %%r12\n\t"
"xorq %%r9, %%r12\n\t" "xorq %%r9, %%r12\n\t"
"xorq %%r10, %%r12\n\t" "xorq %%r10, %%r12\n\t"
"xorq %%r11, %%r12\n\t" "xorq %%r11, %%r12\n\t"
"movq %%r12, (%[out])\n\t" "movq %%r12, (%[out])\n\t"
"xor $0xdd, %%r9b\n\t" "xor $0xdd, %%r9b\n\t"
#if WOLFSSL_SIPHASH_DROUNDS == 2 #if WOLFSSL_SIPHASH_DROUNDS == 2
SIPHASH_ROUND(%%r8, %%r9, %%r10, %%r11) SIPHASH_ROUND(%%r8, %%r9, %%r10, %%r11)
SIPHASH_LAST_ROUND(%%r8, %%r9, %%r10, %%r11) SIPHASH_LAST_ROUND(%%r8, %%r9, %%r10, %%r11)
@@ -536,13 +536,13 @@ int wc_SipHash(const unsigned char* key, const unsigned char* in, word32 inSz,
SIPHASH_ROUND(%%r8, %%r9, %%r10, %%r11) SIPHASH_ROUND(%%r8, %%r9, %%r10, %%r11)
SIPHASH_LAST_ROUND(%%r8, %%r9, %%r10, %%r11) SIPHASH_LAST_ROUND(%%r8, %%r9, %%r10, %%r11)
#endif #endif
"xorq %%r11, %%r9\n\t" "xorq %%r11, %%r9\n\t"
"xorq %%r10, %%r9\n\t" "xorq %%r10, %%r9\n\t"
"movq %%r9, 8(%[out])\n\t" "movq %%r9, 8(%[out])\n\t"
"jmp L_siphash_done\n\t" "jmp L_siphash_done\n\t"
"L_siphash_8_end:\n\t" "L_siphash_8_end:\n\t"
"xor $0xff, %%r10b\n\t" "xor $0xff, %%r10b\n\t"
#if WOLFSSL_SIPHASH_DROUNDS == 2 #if WOLFSSL_SIPHASH_DROUNDS == 2
SIPHASH_ROUND(%%r8, %%r9, %%r10, %%r11) SIPHASH_ROUND(%%r8, %%r9, %%r10, %%r11)
SIPHASH_LAST_ROUND(%%r8, %%r9, %%r10, %%r11) SIPHASH_LAST_ROUND(%%r8, %%r9, %%r10, %%r11)
@@ -552,11 +552,11 @@ int wc_SipHash(const unsigned char* key, const unsigned char* in, word32 inSz,
SIPHASH_ROUND(%%r8, %%r9, %%r10, %%r11) SIPHASH_ROUND(%%r8, %%r9, %%r10, %%r11)
SIPHASH_LAST_ROUND(%%r8, %%r9, %%r10, %%r11) SIPHASH_LAST_ROUND(%%r8, %%r9, %%r10, %%r11)
#endif #endif
"xorq %%r11, %%r9\n\t" "xorq %%r11, %%r9\n\t"
"xorq %%r10, %%r9\n\t" "xorq %%r10, %%r9\n\t"
"movq %%r9, (%[out])\n\t" "movq %%r9, (%[out])\n\t"
"L_siphash_done:\n\t" "L_siphash_done:\n\t"
: [in] "+r" (in), [inSz] "+r" (inSz) : [in] "+r" (in), [inSz] "+r" (inSz)
: [key] "r" (key), [out] "r" (out) , [outSz] "r" (outSz) : [key] "r" (key), [out] "r" (out) , [outSz] "r" (outSz)
@@ -571,33 +571,33 @@ int wc_SipHash(const unsigned char* key, const unsigned char* in, word32 inSz,
(WOLFSSL_SIPHASH_DROUNDS == 2 || WOLFSSL_SIPHASH_DROUNDS == 4) (WOLFSSL_SIPHASH_DROUNDS == 2 || WOLFSSL_SIPHASH_DROUNDS == 4)
#define SIPHASH_ROUND(v0, v1, v2, v3) \ #define SIPHASH_ROUND(v0, v1, v2, v3) \
"add " #v0 ", " #v0 ", " #v1 "\n\t" \ "add " #v0 ", " #v0 ", " #v1 "\n\t" \
"add " #v2 ", " #v2 ", " #v3 "\n\t" \ "add " #v2 ", " #v2 ", " #v3 "\n\t" \
"ror " #v1 ", " #v1 ", #51\n\t" \ "ror " #v1 ", " #v1 ", #51\n\t" \
"ror " #v3 ", " #v3 ", #48\n\t" \ "ror " #v3 ", " #v3 ", #48\n\t" \
"eor " #v1 ", " #v1 ", " #v0 "\n\t" \ "eor " #v1 ", " #v1 ", " #v0 "\n\t" \
"eor " #v3 ", " #v3 ", " #v2 "\n\t" \ "eor " #v3 ", " #v3 ", " #v2 "\n\t" \
"ror " #v0 ", " #v0 ", #32\n\t" \ "ror " #v0 ", " #v0 ", #32\n\t" \
"add " #v2 ", " #v2 ", " #v1 "\n\t" \ "add " #v2 ", " #v2 ", " #v1 "\n\t" \
"add " #v0 ", " #v0 ", " #v3 "\n\t" \ "add " #v0 ", " #v0 ", " #v3 "\n\t" \
"ror " #v1 ", " #v1 ", #47\n\t" \ "ror " #v1 ", " #v1 ", #47\n\t" \
"ror " #v3 ", " #v3 ", #43\n\t" \ "ror " #v3 ", " #v3 ", #43\n\t" \
"eor " #v1 ", " #v1 ", " #v2 "\n\t" \ "eor " #v1 ", " #v1 ", " #v2 "\n\t" \
"eor " #v3 ", " #v3 ", " #v0 "\n\t" \ "eor " #v3 ", " #v3 ", " #v0 "\n\t" \
"ror " #v2 ", " #v2 ", #32\n\t" "ror " #v2 ", " #v2 ", #32\n\t"
#define SIPHASH_LAST_ROUND(v0, v1, v2, v3) \ #define SIPHASH_LAST_ROUND(v0, v1, v2, v3) \
"add " #v0 ", " #v0 ", " #v1 "\n\t" \ "add " #v0 ", " #v0 ", " #v1 "\n\t" \
"add " #v2 ", " #v2 ", " #v3 "\n\t" \ "add " #v2 ", " #v2 ", " #v3 "\n\t" \
"ror " #v1 ", " #v1 ", #51\n\t" \ "ror " #v1 ", " #v1 ", #51\n\t" \
"ror " #v3 ", " #v3 ", #48\n\t" \ "ror " #v3 ", " #v3 ", #48\n\t" \
"eor " #v1 ", " #v1 ", " #v0 "\n\t" \ "eor " #v1 ", " #v1 ", " #v0 "\n\t" \
"eor " #v3 ", " #v3 ", " #v2 "\n\t" \ "eor " #v3 ", " #v3 ", " #v2 "\n\t" \
"add " #v2 ", " #v2 ", " #v1 "\n\t" \ "add " #v2 ", " #v2 ", " #v1 "\n\t" \
"ror " #v1 ", " #v1 ", #47\n\t" \ "ror " #v1 ", " #v1 ", #47\n\t" \
"ror " #v3 ", " #v3 ", #43\n\t" \ "ror " #v3 ", " #v3 ", #43\n\t" \
"eor " #v1 ", " #v1 ", " #v2 "\n\t" \ "eor " #v1 ", " #v1 ", " #v2 "\n\t" \
"ror " #v2 ", " #v2 ", #32\n\t" "ror " #v2 ", " #v2 ", #32\n\t"
/** /**
* Perform SipHash operation on input with key. * Perform SipHash operation on input with key.
@@ -622,117 +622,117 @@ int wc_SipHash(const unsigned char* key, const unsigned char* in, word32 inSz,
/* v0=x8, v1=x9, v2=x10, v3=x11 */ /* v0=x8, v1=x9, v2=x10, v3=x11 */
__asm__ __volatile__ ( __asm__ __volatile__ (
"ldp x12, x13, [%[key]]\n\t" "ldp x12, x13, [%[key]]\n\t"
"mov x8, #0x6575\n\t" "mov x8, #0x6575\n\t"
"movk x8, #0x7073, lsl #16\n\t" "movk x8, #0x7073, lsl #16\n\t"
"movk x8, #0x6d65, lsl #32\n\t" "movk x8, #0x6d65, lsl #32\n\t"
"movk x8, #0x736f, lsl #48\n\t" "movk x8, #0x736f, lsl #48\n\t"
"mov x9, #0x6f6d\n\t" "mov x9, #0x6f6d\n\t"
"movk x9, #0x6e64, lsl #16\n\t" "movk x9, #0x6e64, lsl #16\n\t"
"movk x9, #0x7261, lsl #32\n\t" "movk x9, #0x7261, lsl #32\n\t"
"movk x9, #0x646f, lsl #48\n\t" "movk x9, #0x646f, lsl #48\n\t"
"mov x10, #0x7261\n\t" "mov x10, #0x7261\n\t"
"movk x10, #0x6e65, lsl #16\n\t" "movk x10, #0x6e65, lsl #16\n\t"
"movk x10, #0x6765, lsl #32\n\t" "movk x10, #0x6765, lsl #32\n\t"
"movk x10, #0x6c79, lsl #48\n\t" "movk x10, #0x6c79, lsl #48\n\t"
"mov x11, #0x6573\n\t" "mov x11, #0x6573\n\t"
"movk x11, #0x7974, lsl #16\n\t" "movk x11, #0x7974, lsl #16\n\t"
"movk x11, #0x6462, lsl #32\n\t" "movk x11, #0x6462, lsl #32\n\t"
"movk x11, #0x7465, lsl #48\n\t" "movk x11, #0x7465, lsl #48\n\t"
"eor x8, x8, x12\n\t" "eor x8, x8, x12\n\t"
"eor x9, x9, x13\n\t" "eor x9, x9, x13\n\t"
"eor x10, x10, x12\n\t" "eor x10, x10, x12\n\t"
"eor x11, x11, x13\n\t" "eor x11, x11, x13\n\t"
"mov w13, %w[inSz]\n\t" "mov w13, %w[inSz]\n\t"
"cmp %w[outSz], #8\n\t" "cmp %w[outSz], #8\n\t"
"b.eq L_siphash_8_top\n\t" "b.eq L_siphash_8_top\n\t"
"mov w12, #0xee\n\t" "mov w12, #0xee\n\t"
"eor x9, x9, x12\n\t" "eor x9, x9, x12\n\t"
"L_siphash_8_top:\n\t" "L_siphash_8_top:\n\t"
"subs %w[inSz], %w[inSz], #8\n\t" "subs %w[inSz], %w[inSz], #8\n\t"
"b.mi L_siphash_done_input_8\n\t" "b.mi L_siphash_done_input_8\n\t"
"L_siphash_input:\n\t" "L_siphash_input:\n\t"
"ldr x12, [%[in]], #8\n\t" "ldr x12, [%[in]], #8\n\t"
"eor x11, x11, x12\n\t" "eor x11, x11, x12\n\t"
#if WOLFSSL_SIPHASH_CROUNDS == 1 #if WOLFSSL_SIPHASH_CROUNDS == 1
SIPHASH_ROUND(x8, x9, x10, x11) SIPHASH_ROUND(x8, x9, x10, x11)
#elif WOLFSSL_SIPHASH_CROUNDS == 2 #elif WOLFSSL_SIPHASH_CROUNDS == 2
SIPHASH_ROUND(x8, x9, x10, x11) SIPHASH_ROUND(x8, x9, x10, x11)
SIPHASH_ROUND(x8, x9, x10, x11) SIPHASH_ROUND(x8, x9, x10, x11)
#endif #endif
"eor x8, x8, x12\n\t" "eor x8, x8, x12\n\t"
"subs %w[inSz], %w[inSz], #8\n\t" "subs %w[inSz], %w[inSz], #8\n\t"
"b.ge L_siphash_input\n\t" "b.ge L_siphash_input\n\t"
"L_siphash_done_input_8:\n\t" "L_siphash_done_input_8:\n\t"
"add %w[inSz], %w[inSz], #8\n\t" "add %w[inSz], %w[inSz], #8\n\t"
"lsl x13, x13, #56\n\t" "lsl x13, x13, #56\n\t"
"cmp %w[inSz], #0\n\t" "cmp %w[inSz], #0\n\t"
"b.eq L_siphash_last_done\n\t" "b.eq L_siphash_last_done\n\t"
"cmp %w[inSz], #4\n\t" "cmp %w[inSz], #4\n\t"
"b.lt L_siphash_last_lt4\n\t" "b.lt L_siphash_last_lt4\n\t"
"cmp %w[inSz], #7\n\t" "cmp %w[inSz], #7\n\t"
"b.lt L_siphash_n7\n\t" "b.lt L_siphash_n7\n\t"
"ldrb w12, [%[in], 6]\n\t" "ldrb w12, [%[in], 6]\n\t"
"orr x13, x13, x12, lsl 48\n\t" "orr x13, x13, x12, lsl 48\n\t"
"L_siphash_n7:\n\t" "L_siphash_n7:\n\t"
"cmp %w[inSz], #6\n\t" "cmp %w[inSz], #6\n\t"
"b.lt L_siphash_n6\n\t" "b.lt L_siphash_n6\n\t"
"ldrb w12, [%[in], 5]\n\t" "ldrb w12, [%[in], 5]\n\t"
"orr x13, x13, x12, lsl 40\n\t" "orr x13, x13, x12, lsl 40\n\t"
"L_siphash_n6:\n\t" "L_siphash_n6:\n\t"
"cmp %w[inSz], #5\n\t" "cmp %w[inSz], #5\n\t"
"b.lt L_siphash_n5\n\t" "b.lt L_siphash_n5\n\t"
"ldrb w12, [%[in], 4]\n\t" "ldrb w12, [%[in], 4]\n\t"
"orr x13, x13, x12, lsl 32\n\t" "orr x13, x13, x12, lsl 32\n\t"
"L_siphash_n5:\n\t" "L_siphash_n5:\n\t"
"ldr w12, [%[in]]\n\t" "ldr w12, [%[in]]\n\t"
"orr x13, x13, x12\n\t" "orr x13, x13, x12\n\t"
"b L_siphash_last_done\n\t" "b L_siphash_last_done\n\t"
"L_siphash_last_lt4:\n\t" "L_siphash_last_lt4:\n\t"
"cmp %w[inSz], #1\n\t" "cmp %w[inSz], #1\n\t"
"b.eq L_siphash_last_1\n\t" "b.eq L_siphash_last_1\n\t"
"cmp %w[inSz], #3\n\t" "cmp %w[inSz], #3\n\t"
"b.lt L_siphash_n3\n\t" "b.lt L_siphash_n3\n\t"
"ldrb w12, [%[in], 2]\n\t" "ldrb w12, [%[in], 2]\n\t"
"orr x13, x13, x12, lsl 16\n\t" "orr x13, x13, x12, lsl 16\n\t"
"L_siphash_n3:\n\t" "L_siphash_n3:\n\t"
"ldrh w12, [%[in]]\n\t" "ldrh w12, [%[in]]\n\t"
"orr x13, x13, x12\n\t" "orr x13, x13, x12\n\t"
"b L_siphash_last_done\n\t" "b L_siphash_last_done\n\t"
"L_siphash_last_1:\n\t" "L_siphash_last_1:\n\t"
"ldrb w12, [%[in]]\n\t" "ldrb w12, [%[in]]\n\t"
"orr x13, x13, x12\n\t" "orr x13, x13, x12\n\t"
"L_siphash_last_done:\n\t" "L_siphash_last_done:\n\t"
"eor x11, x11, x13\n\t" "eor x11, x11, x13\n\t"
#if WOLFSSL_SIPHASH_CROUNDS == 1 #if WOLFSSL_SIPHASH_CROUNDS == 1
SIPHASH_ROUND(x8, x9, x10, x11) SIPHASH_ROUND(x8, x9, x10, x11)
#elif WOLFSSL_SIPHASH_CROUNDS == 2 #elif WOLFSSL_SIPHASH_CROUNDS == 2
SIPHASH_ROUND(x8, x9, x10, x11) SIPHASH_ROUND(x8, x9, x10, x11)
SIPHASH_ROUND(x8, x9, x10, x11) SIPHASH_ROUND(x8, x9, x10, x11)
#endif #endif
"eor x8, x8, x13\n\t" "eor x8, x8, x13\n\t"
"cmp %w[outSz], #8\n\t" "cmp %w[outSz], #8\n\t"
"b.eq L_siphash_8_end\n\t" "b.eq L_siphash_8_end\n\t"
"mov w13, #0xee\n\t" "mov w13, #0xee\n\t"
"eor x10, x10, x13\n\t" "eor x10, x10, x13\n\t"
#if WOLFSSL_SIPHASH_DROUNDS == 2 #if WOLFSSL_SIPHASH_DROUNDS == 2
SIPHASH_ROUND(x8, x9, x10, x11) SIPHASH_ROUND(x8, x9, x10, x11)
SIPHASH_ROUND(x8, x9, x10, x11) SIPHASH_ROUND(x8, x9, x10, x11)
@@ -742,12 +742,12 @@ int wc_SipHash(const unsigned char* key, const unsigned char* in, word32 inSz,
SIPHASH_ROUND(x8, x9, x10, x11) SIPHASH_ROUND(x8, x9, x10, x11)
SIPHASH_ROUND(x8, x9, x10, x11) SIPHASH_ROUND(x8, x9, x10, x11)
#endif #endif
"eor x12, x8, x9\n\t" "eor x12, x8, x9\n\t"
"eor x13, x10, x11\n\t" "eor x13, x10, x11\n\t"
"eor x12, x12, x13\n\t" "eor x12, x12, x13\n\t"
"mov w13, #0xdd\n\t" "mov w13, #0xdd\n\t"
"eor x9, x9, x13\n\t" "eor x9, x9, x13\n\t"
#if WOLFSSL_SIPHASH_DROUNDS == 2 #if WOLFSSL_SIPHASH_DROUNDS == 2
SIPHASH_ROUND(x8, x9, x10, x11) SIPHASH_ROUND(x8, x9, x10, x11)
SIPHASH_LAST_ROUND(x8, x9, x10, x11) SIPHASH_LAST_ROUND(x8, x9, x10, x11)
@@ -757,14 +757,14 @@ int wc_SipHash(const unsigned char* key, const unsigned char* in, word32 inSz,
SIPHASH_ROUND(x8, x9, x10, x11) SIPHASH_ROUND(x8, x9, x10, x11)
SIPHASH_LAST_ROUND(x8, x9, x10, x11) SIPHASH_LAST_ROUND(x8, x9, x10, x11)
#endif #endif
"eor x13, x11, x9\n\t" "eor x13, x11, x9\n\t"
"eor x13, x13, x10\n\t" "eor x13, x13, x10\n\t"
"stp x12, x13, [%[out]]\n\t" "stp x12, x13, [%[out]]\n\t"
"b L_siphash_done\n\t" "b L_siphash_done\n\t"
"L_siphash_8_end:\n\t" "L_siphash_8_end:\n\t"
"mov w13, #0xff\n\t" "mov w13, #0xff\n\t"
"eor x10, x10, x13\n\t" "eor x10, x10, x13\n\t"
#if WOLFSSL_SIPHASH_DROUNDS == 2 #if WOLFSSL_SIPHASH_DROUNDS == 2
SIPHASH_ROUND(x8, x9, x10, x11) SIPHASH_ROUND(x8, x9, x10, x11)
SIPHASH_LAST_ROUND(x8, x9, x10, x11) SIPHASH_LAST_ROUND(x8, x9, x10, x11)
@@ -774,11 +774,11 @@ int wc_SipHash(const unsigned char* key, const unsigned char* in, word32 inSz,
SIPHASH_ROUND(x8, x9, x10, x11) SIPHASH_ROUND(x8, x9, x10, x11)
SIPHASH_LAST_ROUND(x8, x9, x10, x11) SIPHASH_LAST_ROUND(x8, x9, x10, x11)
#endif #endif
"eor x13, x11, x9\n\t" "eor x13, x11, x9\n\t"
"eor x13, x13, x10\n\t" "eor x13, x13, x10\n\t"
"str x13, [%[out]]\n\t" "str x13, [%[out]]\n\t"
"L_siphash_done:\n\t" "L_siphash_done:\n\t"
: [in] "+r" (in), [inSz] "+r" (inSz) : [in] "+r" (in), [inSz] "+r" (inSz)
: [key] "r" (key), [out] "r" (out) , [outSz] "r" (outSz) : [key] "r" (key), [out] "r" (out) , [outSz] "r" (outSz)

View File

@@ -30406,55 +30406,55 @@ static const unsigned char siphash_r16[64][SIPHASH_MAC_SIZE_16] = {
0x0d, 0x3c, 0x47, 0x51, 0xc5, 0xd3, 0x69, 0x2b, }, 0x0d, 0x3c, 0x47, 0x51, 0xc5, 0xd3, 0x69, 0x2b, },
{ 0x8c, 0x03, 0x46, 0x8b, 0xca, 0x7c, 0x66, 0x9e, { 0x8c, 0x03, 0x46, 0x8b, 0xca, 0x7c, 0x66, 0x9e,
0xe4, 0xfd, 0x5e, 0x08, 0x4b, 0xbe, 0xe7, 0xb5, }, 0xe4, 0xfd, 0x5e, 0x08, 0x4b, 0xbe, 0xe7, 0xb5, },
{ 0x52, 0x8a, 0x5b, 0xb9, 0x3b, 0xaf, 0x2c, 0x9c, { 0x52, 0x8a, 0x5b, 0xb9, 0x3b, 0xaf, 0x2c, 0x9c,
0x44, 0x73, 0xcc, 0xe5, 0xd0, 0xd2, 0x2b, 0xd9, }, 0x44, 0x73, 0xcc, 0xe5, 0xd0, 0xd2, 0x2b, 0xd9, },
{ 0xdf, 0x6a, 0x30, 0x1e, 0x95, 0xc9, 0x5d, 0xad, { 0xdf, 0x6a, 0x30, 0x1e, 0x95, 0xc9, 0x5d, 0xad,
0x97, 0xae, 0x0c, 0xc8, 0xc6, 0x91, 0x3b, 0xd8, }, 0x97, 0xae, 0x0c, 0xc8, 0xc6, 0x91, 0x3b, 0xd8, },
{ 0x80, 0x11, 0x89, 0x90, 0x2c, 0x85, 0x7f, 0x39, { 0x80, 0x11, 0x89, 0x90, 0x2c, 0x85, 0x7f, 0x39,
0xe7, 0x35, 0x91, 0x28, 0x5e, 0x70, 0xb6, 0xdb, }, 0xe7, 0x35, 0x91, 0x28, 0x5e, 0x70, 0xb6, 0xdb, },
{ 0xe6, 0x17, 0x34, 0x6a, 0xc9, 0xc2, 0x31, 0xbb, { 0xe6, 0x17, 0x34, 0x6a, 0xc9, 0xc2, 0x31, 0xbb,
0x36, 0x50, 0xae, 0x34, 0xcc, 0xca, 0x0c, 0x5b, }, 0x36, 0x50, 0xae, 0x34, 0xcc, 0xca, 0x0c, 0x5b, },
{ 0x27, 0xd9, 0x34, 0x37, 0xef, 0xb7, 0x21, 0xaa, { 0x27, 0xd9, 0x34, 0x37, 0xef, 0xb7, 0x21, 0xaa,
0x40, 0x18, 0x21, 0xdc, 0xec, 0x5a, 0xdf, 0x89, }, 0x40, 0x18, 0x21, 0xdc, 0xec, 0x5a, 0xdf, 0x89, },
{ 0x89, 0x23, 0x7d, 0x9d, 0xed, 0x9c, 0x5e, 0x78, { 0x89, 0x23, 0x7d, 0x9d, 0xed, 0x9c, 0x5e, 0x78,
0xd8, 0xb1, 0xc9, 0xb1, 0x66, 0xcc, 0x73, 0x42, }, 0xd8, 0xb1, 0xc9, 0xb1, 0x66, 0xcc, 0x73, 0x42, },
{ 0x4a, 0x6d, 0x80, 0x91, 0xbf, 0x5e, 0x7d, 0x65, { 0x4a, 0x6d, 0x80, 0x91, 0xbf, 0x5e, 0x7d, 0x65,
0x11, 0x89, 0xfa, 0x94, 0xa2, 0x50, 0xb1, 0x4c, }, 0x11, 0x89, 0xfa, 0x94, 0xa2, 0x50, 0xb1, 0x4c, },
{ 0x0e, 0x33, 0xf9, 0x60, 0x55, 0xe7, 0xae, 0x89, { 0x0e, 0x33, 0xf9, 0x60, 0x55, 0xe7, 0xae, 0x89,
0x3f, 0xfc, 0x0e, 0x3d, 0xcf, 0x49, 0x29, 0x02, }, 0x3f, 0xfc, 0x0e, 0x3d, 0xcf, 0x49, 0x29, 0x02, },
{ 0xe6, 0x1c, 0x43, 0x2b, 0x72, 0x0b, 0x19, 0xd1, { 0xe6, 0x1c, 0x43, 0x2b, 0x72, 0x0b, 0x19, 0xd1,
0x8e, 0xc8, 0xd8, 0x4b, 0xdc, 0x63, 0x15, 0x1b, }, 0x8e, 0xc8, 0xd8, 0x4b, 0xdc, 0x63, 0x15, 0x1b, },
{ 0xf7, 0xe5, 0xae, 0xf5, 0x49, 0xf7, 0x82, 0xcf, { 0xf7, 0xe5, 0xae, 0xf5, 0x49, 0xf7, 0x82, 0xcf,
0x37, 0x90, 0x55, 0xa6, 0x08, 0x26, 0x9b, 0x16, }, 0x37, 0x90, 0x55, 0xa6, 0x08, 0x26, 0x9b, 0x16, },
{ 0x43, 0x8d, 0x03, 0x0f, 0xd0, 0xb7, 0xa5, 0x4f, { 0x43, 0x8d, 0x03, 0x0f, 0xd0, 0xb7, 0xa5, 0x4f,
0xa8, 0x37, 0xf2, 0xad, 0x20, 0x1a, 0x64, 0x03, }, 0xa8, 0x37, 0xf2, 0xad, 0x20, 0x1a, 0x64, 0x03, },
{ 0xa5, 0x90, 0xd3, 0xee, 0x4f, 0xbf, 0x04, 0xe3, { 0xa5, 0x90, 0xd3, 0xee, 0x4f, 0xbf, 0x04, 0xe3,
0x24, 0x7e, 0x0d, 0x27, 0xf2, 0x86, 0x42, 0x3f, }, 0x24, 0x7e, 0x0d, 0x27, 0xf2, 0x86, 0x42, 0x3f, },
{ 0x5f, 0xe2, 0xc1, 0xa1, 0x72, 0xfe, 0x93, 0xc4, { 0x5f, 0xe2, 0xc1, 0xa1, 0x72, 0xfe, 0x93, 0xc4,
0xb1, 0x5c, 0xd3, 0x7c, 0xae, 0xf9, 0xf5, 0x38, }, 0xb1, 0x5c, 0xd3, 0x7c, 0xae, 0xf9, 0xf5, 0x38, },
{ 0x2c, 0x97, 0x32, 0x5c, 0xbd, 0x06, 0xb3, 0x6e, { 0x2c, 0x97, 0x32, 0x5c, 0xbd, 0x06, 0xb3, 0x6e,
0xb2, 0x13, 0x3d, 0xd0, 0x8b, 0x3a, 0x01, 0x7c, }, 0xb2, 0x13, 0x3d, 0xd0, 0x8b, 0x3a, 0x01, 0x7c, },
{ 0x92, 0xc8, 0x14, 0x22, 0x7a, 0x6b, 0xca, 0x94, { 0x92, 0xc8, 0x14, 0x22, 0x7a, 0x6b, 0xca, 0x94,
0x9f, 0xf0, 0x65, 0x9f, 0x00, 0x2a, 0xd3, 0x9e, }, 0x9f, 0xf0, 0x65, 0x9f, 0x00, 0x2a, 0xd3, 0x9e, },
{ 0xdc, 0xe8, 0x50, 0x11, 0x0b, 0xd8, 0x32, 0x8c, { 0xdc, 0xe8, 0x50, 0x11, 0x0b, 0xd8, 0x32, 0x8c,
0xfb, 0xd5, 0x08, 0x41, 0xd6, 0x91, 0x1d, 0x87, }, 0xfb, 0xd5, 0x08, 0x41, 0xd6, 0x91, 0x1d, 0x87, },
{ 0x67, 0xf1, 0x49, 0x84, 0xc7, 0xda, 0x79, 0x12, { 0x67, 0xf1, 0x49, 0x84, 0xc7, 0xda, 0x79, 0x12,
0x48, 0xe3, 0x2b, 0xb5, 0x92, 0x25, 0x83, 0xda, }, 0x48, 0xe3, 0x2b, 0xb5, 0x92, 0x25, 0x83, 0xda, },
{ 0x19, 0x38, 0xf2, 0xcf, 0x72, 0xd5, 0x4e, 0xe9, { 0x19, 0x38, 0xf2, 0xcf, 0x72, 0xd5, 0x4e, 0xe9,
0x7e, 0x94, 0x16, 0x6f, 0xa9, 0x1d, 0x2a, 0x36, }, 0x7e, 0x94, 0x16, 0x6f, 0xa9, 0x1d, 0x2a, 0x36, },
{ 0x74, 0x48, 0x1e, 0x96, 0x46, 0xed, 0x49, 0xfe, { 0x74, 0x48, 0x1e, 0x96, 0x46, 0xed, 0x49, 0xfe,
0x0f, 0x62, 0x24, 0x30, 0x16, 0x04, 0x69, 0x8e, }, 0x0f, 0x62, 0x24, 0x30, 0x16, 0x04, 0x69, 0x8e, },
{ 0x57, 0xfc, 0xa5, 0xde, 0x98, 0xa9, 0xd6, 0xd8, { 0x57, 0xfc, 0xa5, 0xde, 0x98, 0xa9, 0xd6, 0xd8,
0x00, 0x64, 0x38, 0xd0, 0x58, 0x3d, 0x8a, 0x1d, }, 0x00, 0x64, 0x38, 0xd0, 0x58, 0x3d, 0x8a, 0x1d, },
{ 0x9f, 0xec, 0xde, 0x1c, 0xef, 0xdc, 0x1c, 0xbe, { 0x9f, 0xec, 0xde, 0x1c, 0xef, 0xdc, 0x1c, 0xbe,
0xd4, 0x76, 0x36, 0x74, 0xd9, 0x57, 0x53, 0x59, }, 0xd4, 0x76, 0x36, 0x74, 0xd9, 0x57, 0x53, 0x59, },
{ 0xe3, 0x04, 0x0c, 0x00, 0xeb, 0x28, 0xf1, 0x53, { 0xe3, 0x04, 0x0c, 0x00, 0xeb, 0x28, 0xf1, 0x53,
0x66, 0xca, 0x73, 0xcb, 0xd8, 0x72, 0xe7, 0x40, }, 0x66, 0xca, 0x73, 0xcb, 0xd8, 0x72, 0xe7, 0x40, },
{ 0x76, 0x97, 0x00, 0x9a, 0x6a, 0x83, 0x1d, 0xfe, { 0x76, 0x97, 0x00, 0x9a, 0x6a, 0x83, 0x1d, 0xfe,
0xcc, 0xa9, 0x1c, 0x59, 0x93, 0x67, 0x0f, 0x7a, }, 0xcc, 0xa9, 0x1c, 0x59, 0x93, 0x67, 0x0f, 0x7a, },
{ 0x58, 0x53, 0x54, 0x23, 0x21, 0xf5, 0x67, 0xa0, { 0x58, 0x53, 0x54, 0x23, 0x21, 0xf5, 0x67, 0xa0,
0x05, 0xd5, 0x47, 0xa4, 0xf0, 0x47, 0x59, 0xbd, }, 0x05, 0xd5, 0x47, 0xa4, 0xf0, 0x47, 0x59, 0xbd, },
{ 0x51, 0x50, 0xd1, 0x77, 0x2f, 0x50, 0x83, 0x4a, { 0x51, 0x50, 0xd1, 0x77, 0x2f, 0x50, 0x83, 0x4a,
0x50, 0x3e, 0x06, 0x9a, 0x97, 0x3f, 0xbd, 0x7c, }, 0x50, 0x3e, 0x06, 0x9a, 0x97, 0x3f, 0xbd, 0x7c, },
}; };
#endif #endif