Merge pull request #2410 from SparkiDev/poly1305_x64_fix

Fix Poly1305 on Intel AVX2
This commit is contained in:
toddouska
2019-08-16 09:08:27 -07:00
committed by GitHub
5 changed files with 10 additions and 9 deletions

View File

@@ -22,9 +22,9 @@
#ifndef HAVE_INTEL_AVX1 #ifndef HAVE_INTEL_AVX1
#define HAVE_INTEL_AVX1 #define HAVE_INTEL_AVX1
#endif /* HAVE_INTEL_AVX1 */ #endif /* HAVE_INTEL_AVX1 */
#ifndef HAVE_INTEL_AVX2 #ifndef NO_AVX2_SUPPORT
#define HAVE_INTEL_AVX2 #define HAVE_INTEL_AVX2
#endif /* HAVE_INTEL_AVX2 */ #endif /* NO_AVX2_SUPPORT */
#ifndef __APPLE__ #ifndef __APPLE__
.data .data

View File

@@ -1,6 +1,6 @@
/* fe_x25519_asm /* fe_x25519_asm
* *
* Copyright (C) 2006-2018 wolfSSL Inc. * Copyright (C) 2006-2019 wolfSSL Inc.
* *
* This file is part of wolfSSL. * This file is part of wolfSSL.
* *

View File

@@ -22,9 +22,9 @@
#ifndef HAVE_INTEL_AVX1 #ifndef HAVE_INTEL_AVX1
#define HAVE_INTEL_AVX1 #define HAVE_INTEL_AVX1
#endif /* HAVE_INTEL_AVX1 */ #endif /* HAVE_INTEL_AVX1 */
#ifndef HAVE_INTEL_AVX2 #ifndef NO_AVX2_SUPPORT
#define HAVE_INTEL_AVX2 #define HAVE_INTEL_AVX2
#endif /* HAVE_INTEL_AVX2 */ #endif /* NO_AVX2_SUPPORT */
#ifdef HAVE_INTEL_AVX1 #ifdef HAVE_INTEL_AVX1
#ifndef __APPLE__ #ifndef __APPLE__
@@ -418,6 +418,7 @@ _poly1305_calc_powers_avx2:
movq %r12, %rax movq %r12, %rax
shrq $2, %rax shrq $2, %rax
leaq 0(%rax,%rax,4), %rax leaq 0(%rax,%rax,4), %rax
andq $3, %r12
addq %rax, %r10 addq %rax, %r10
adcq $0x00, %r11 adcq $0x00, %r11
adcq $0x00, %r12 adcq $0x00, %r12

View File

@@ -22,9 +22,9 @@
#ifndef HAVE_INTEL_AVX1 #ifndef HAVE_INTEL_AVX1
#define HAVE_INTEL_AVX1 #define HAVE_INTEL_AVX1
#endif /* HAVE_INTEL_AVX1 */ #endif /* HAVE_INTEL_AVX1 */
#ifndef HAVE_INTEL_AVX2 #ifndef NO_AVX2_SUPPORT
#define HAVE_INTEL_AVX2 #define HAVE_INTEL_AVX2
#endif /* HAVE_INTEL_AVX2 */ #endif /* NO_AVX2_SUPPORT */
#ifdef HAVE_INTEL_AVX1 #ifdef HAVE_INTEL_AVX1
#ifndef __APPLE__ #ifndef __APPLE__

View File

@@ -22,9 +22,9 @@
#ifndef HAVE_INTEL_AVX1 #ifndef HAVE_INTEL_AVX1
#define HAVE_INTEL_AVX1 #define HAVE_INTEL_AVX1
#endif /* HAVE_INTEL_AVX1 */ #endif /* HAVE_INTEL_AVX1 */
#ifndef HAVE_INTEL_AVX2 #ifndef NO_AVX2_SUPPORT
#define HAVE_INTEL_AVX2 #define HAVE_INTEL_AVX2
#endif /* HAVE_INTEL_AVX2 */ #endif /* NO_AVX2_SUPPORT */
#ifdef HAVE_INTEL_AVX1 #ifdef HAVE_INTEL_AVX1
#ifndef __APPLE__ #ifndef __APPLE__