mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-08-02 12:14:38 +02:00
Curve25519/Ed25519 x86_64 assembly working on Mac again
This commit is contained in:
@@ -39,7 +39,11 @@ fe_init:
|
|||||||
_fe_init:
|
_fe_init:
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
#ifdef HAVE_INTEL_AVX2
|
#ifdef HAVE_INTEL_AVX2
|
||||||
movl cpuFlagsSet(%rip), %eax
|
#ifndef __APPLE__
|
||||||
|
movl cpuFlagsSet@GOTPCREL(%rip), %eax
|
||||||
|
#else
|
||||||
|
movl _cpuFlagsSet(%rip), %eax
|
||||||
|
#endif /* __APPLE__ */
|
||||||
testl %eax, %eax
|
testl %eax, %eax
|
||||||
je L_fe_init_get_flags
|
je L_fe_init_get_flags
|
||||||
repz retq
|
repz retq
|
||||||
@@ -49,96 +53,160 @@ L_fe_init_get_flags:
|
|||||||
#else
|
#else
|
||||||
callq _cpuid_get_flags
|
callq _cpuid_get_flags
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
movl %eax, intelFlags(%rip)
|
#ifndef __APPLE__
|
||||||
|
movl %eax, intelFlags@GOTPCREL(%rip)
|
||||||
|
#else
|
||||||
|
movl %eax, _intelFlags(%rip)
|
||||||
|
#endif /* __APPLE__ */
|
||||||
andl $0x50, %eax
|
andl $0x50, %eax
|
||||||
cmpl $0x50, %eax
|
cmpl $0x50, %eax
|
||||||
jne L_fe_init_flags_done
|
jne L_fe_init_flags_done
|
||||||
#ifndef __APPLE__
|
#ifndef __APPLE__
|
||||||
movq fe_mul_avx2@GOTPCREL(%rip), %rax
|
movq fe_mul_avx2@GOTPCREL(%rip), %rax
|
||||||
#else
|
#else
|
||||||
movq fe_mul_avx2(%rip), %rax
|
leaq _fe_mul_avx2(%rip), %rax
|
||||||
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
|
movq %rax, fe_mul_p@GOTPCREL(%rip)
|
||||||
|
#else
|
||||||
|
movq %rax, _fe_mul_p(%rip)
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
movq %rax, fe_mul_p(%rip)
|
|
||||||
#ifndef __APPLE__
|
#ifndef __APPLE__
|
||||||
movq fe_sq_avx2@GOTPCREL(%rip), %rax
|
movq fe_sq_avx2@GOTPCREL(%rip), %rax
|
||||||
#else
|
#else
|
||||||
movq fe_sq_avx2(%rip), %rax
|
leaq _fe_sq_avx2(%rip), %rax
|
||||||
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
|
movq %rax, fe_sq_p@GOTPCREL(%rip)
|
||||||
|
#else
|
||||||
|
movq %rax, _fe_sq_p(%rip)
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
movq %rax, fe_sq_p(%rip)
|
|
||||||
#ifndef __APPLE__
|
#ifndef __APPLE__
|
||||||
movq fe_mul121666_avx2@GOTPCREL(%rip), %rax
|
movq fe_mul121666_avx2@GOTPCREL(%rip), %rax
|
||||||
#else
|
#else
|
||||||
movq fe_mul121666_avx2(%rip), %rax
|
leaq _fe_mul121666_avx2(%rip), %rax
|
||||||
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
|
movq %rax, fe_mul121666_p@GOTPCREL(%rip)
|
||||||
|
#else
|
||||||
|
movq %rax, _fe_mul121666_p(%rip)
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
movq %rax, fe_mul121666_p(%rip)
|
|
||||||
#ifndef __APPLE__
|
#ifndef __APPLE__
|
||||||
movq fe_sq2_avx2@GOTPCREL(%rip), %rax
|
movq fe_sq2_avx2@GOTPCREL(%rip), %rax
|
||||||
#else
|
#else
|
||||||
movq fe_sq2_avx2(%rip), %rax
|
leaq _fe_sq2_avx2(%rip), %rax
|
||||||
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
|
movq %rax, fe_sq2_p@GOTPCREL(%rip)
|
||||||
|
#else
|
||||||
|
movq %rax, _fe_sq2_p(%rip)
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
movq %rax, fe_sq2_p(%rip)
|
|
||||||
#ifndef __APPLE__
|
#ifndef __APPLE__
|
||||||
movq fe_invert_avx2@GOTPCREL(%rip), %rax
|
movq fe_invert_avx2@GOTPCREL(%rip), %rax
|
||||||
#else
|
#else
|
||||||
movq fe_invert_avx2(%rip), %rax
|
leaq _fe_invert_avx2(%rip), %rax
|
||||||
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
|
movq %rax, fe_invert_p@GOTPCREL(%rip)
|
||||||
|
#else
|
||||||
|
movq %rax, _fe_invert_p(%rip)
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
movq %rax, fe_invert_p(%rip)
|
|
||||||
#ifndef __APPLE__
|
#ifndef __APPLE__
|
||||||
movq curve25519_avx2@GOTPCREL(%rip), %rax
|
movq curve25519_avx2@GOTPCREL(%rip), %rax
|
||||||
#else
|
#else
|
||||||
movq curve25519_avx2(%rip), %rax
|
leaq _curve25519_avx2(%rip), %rax
|
||||||
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
|
movq %rax, curve25519_p@GOTPCREL(%rip)
|
||||||
|
#else
|
||||||
|
movq %rax, _curve25519_p(%rip)
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
movq %rax, curve25519_p(%rip)
|
|
||||||
#ifndef __APPLE__
|
#ifndef __APPLE__
|
||||||
movq fe_pow22523_avx2@GOTPCREL(%rip), %rax
|
movq fe_pow22523_avx2@GOTPCREL(%rip), %rax
|
||||||
#else
|
#else
|
||||||
movq fe_pow22523_avx2(%rip), %rax
|
leaq _fe_pow22523_avx2(%rip), %rax
|
||||||
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
|
movq %rax, fe_pow22523_p@GOTPCREL(%rip)
|
||||||
|
#else
|
||||||
|
movq %rax, _fe_pow22523_p(%rip)
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
movq %rax, fe_pow22523_p(%rip)
|
|
||||||
#ifndef __APPLE__
|
#ifndef __APPLE__
|
||||||
movq fe_ge_to_p2_avx2@GOTPCREL(%rip), %rax
|
movq fe_ge_to_p2_avx2@GOTPCREL(%rip), %rax
|
||||||
#else
|
#else
|
||||||
movq fe_ge_to_p2_avx2(%rip), %rax
|
leaq _fe_ge_to_p2_avx2(%rip), %rax
|
||||||
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
|
movq %rax, fe_ge_to_p2_p@GOTPCREL(%rip)
|
||||||
|
#else
|
||||||
|
movq %rax, _fe_ge_to_p2_p(%rip)
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
movq %rax, fe_ge_to_p2_p(%rip)
|
|
||||||
#ifndef __APPLE__
|
#ifndef __APPLE__
|
||||||
movq fe_ge_to_p3_avx2@GOTPCREL(%rip), %rax
|
movq fe_ge_to_p3_avx2@GOTPCREL(%rip), %rax
|
||||||
#else
|
#else
|
||||||
movq fe_ge_to_p3_avx2(%rip), %rax
|
leaq _fe_ge_to_p3_avx2(%rip), %rax
|
||||||
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
|
movq %rax, fe_ge_to_p3_p@GOTPCREL(%rip)
|
||||||
|
#else
|
||||||
|
movq %rax, _fe_ge_to_p3_p(%rip)
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
movq %rax, fe_ge_to_p3_p(%rip)
|
|
||||||
#ifndef __APPLE__
|
#ifndef __APPLE__
|
||||||
movq fe_ge_dbl_avx2@GOTPCREL(%rip), %rax
|
movq fe_ge_dbl_avx2@GOTPCREL(%rip), %rax
|
||||||
#else
|
#else
|
||||||
movq fe_ge_dbl_avx2(%rip), %rax
|
leaq _fe_ge_dbl_avx2(%rip), %rax
|
||||||
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
|
movq %rax, fe_ge_dbl_p@GOTPCREL(%rip)
|
||||||
|
#else
|
||||||
|
movq %rax, _fe_ge_dbl_p(%rip)
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
movq %rax, fe_ge_dbl_p(%rip)
|
|
||||||
#ifndef __APPLE__
|
#ifndef __APPLE__
|
||||||
movq fe_ge_madd_avx2@GOTPCREL(%rip), %rax
|
movq fe_ge_madd_avx2@GOTPCREL(%rip), %rax
|
||||||
#else
|
#else
|
||||||
movq fe_ge_madd_avx2(%rip), %rax
|
leaq _fe_ge_madd_avx2(%rip), %rax
|
||||||
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
|
movq %rax, fe_ge_madd_p@GOTPCREL(%rip)
|
||||||
|
#else
|
||||||
|
movq %rax, _fe_ge_madd_p(%rip)
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
movq %rax, fe_ge_madd_p(%rip)
|
|
||||||
#ifndef __APPLE__
|
#ifndef __APPLE__
|
||||||
movq fe_ge_msub_avx2@GOTPCREL(%rip), %rax
|
movq fe_ge_msub_avx2@GOTPCREL(%rip), %rax
|
||||||
#else
|
#else
|
||||||
movq fe_ge_msub_avx2(%rip), %rax
|
leaq _fe_ge_msub_avx2(%rip), %rax
|
||||||
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
|
movq %rax, fe_ge_msub_p@GOTPCREL(%rip)
|
||||||
|
#else
|
||||||
|
movq %rax, _fe_ge_msub_p(%rip)
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
movq %rax, fe_ge_msub_p(%rip)
|
|
||||||
#ifndef __APPLE__
|
#ifndef __APPLE__
|
||||||
movq fe_ge_add_avx2@GOTPCREL(%rip), %rax
|
movq fe_ge_add_avx2@GOTPCREL(%rip), %rax
|
||||||
#else
|
#else
|
||||||
movq fe_ge_add_avx2(%rip), %rax
|
leaq _fe_ge_add_avx2(%rip), %rax
|
||||||
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
|
movq %rax, fe_ge_add_p@GOTPCREL(%rip)
|
||||||
|
#else
|
||||||
|
movq %rax, _fe_ge_add_p(%rip)
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
movq %rax, fe_ge_add_p(%rip)
|
|
||||||
#ifndef __APPLE__
|
#ifndef __APPLE__
|
||||||
movq fe_ge_sub_avx2@GOTPCREL(%rip), %rax
|
movq fe_ge_sub_avx2@GOTPCREL(%rip), %rax
|
||||||
#else
|
#else
|
||||||
movq fe_ge_sub_avx2(%rip), %rax
|
leaq _fe_ge_sub_avx2(%rip), %rax
|
||||||
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
|
movq %rax, fe_ge_sub_p@GOTPCREL(%rip)
|
||||||
|
#else
|
||||||
|
movq %rax, _fe_ge_sub_p(%rip)
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
movq %rax, fe_ge_sub_p(%rip)
|
|
||||||
L_fe_init_flags_done:
|
L_fe_init_flags_done:
|
||||||
movl $0x01, cpuFlagsSet(%rip)
|
#ifndef __APPLE__
|
||||||
|
movl $0x1, cpuFlagsSet@GOTPCREL(%rip)
|
||||||
|
#else
|
||||||
|
movl $0x1, _cpuFlagsSet(%rip)
|
||||||
|
#endif /* __APPLE__ */
|
||||||
#endif /* HAVE_INTEL_AVX2 */
|
#endif /* HAVE_INTEL_AVX2 */
|
||||||
repz retq
|
repz retq
|
||||||
#ifndef __APPLE__
|
#ifndef __APPLE__
|
||||||
@@ -828,7 +896,11 @@ fe_mul:
|
|||||||
.p2align 2
|
.p2align 2
|
||||||
_fe_mul:
|
_fe_mul:
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
jmpq *fe_mul_p(%rip)
|
jmpq *fe_mul_p(%rip)
|
||||||
|
#else
|
||||||
|
jmpq *_fe_mul_p(%rip)
|
||||||
|
#endif /* __APPLE__ */
|
||||||
#ifndef __APPLE__
|
#ifndef __APPLE__
|
||||||
.size fe_mul,.-fe_mul
|
.size fe_mul,.-fe_mul
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
@@ -844,7 +916,11 @@ fe_sq:
|
|||||||
.p2align 2
|
.p2align 2
|
||||||
_fe_sq:
|
_fe_sq:
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
jmpq *fe_sq_p(%rip)
|
jmpq *fe_sq_p(%rip)
|
||||||
|
#else
|
||||||
|
jmpq *_fe_sq_p(%rip)
|
||||||
|
#endif /* __APPLE__ */
|
||||||
#ifndef __APPLE__
|
#ifndef __APPLE__
|
||||||
.size fe_sq,.-fe_sq
|
.size fe_sq,.-fe_sq
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
@@ -860,7 +936,11 @@ fe_mul121666:
|
|||||||
.p2align 2
|
.p2align 2
|
||||||
_fe_mul121666:
|
_fe_mul121666:
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
jmpq *fe_mul121666_p(%rip)
|
jmpq *fe_mul121666_p(%rip)
|
||||||
|
#else
|
||||||
|
jmpq *_fe_mul121666_p(%rip)
|
||||||
|
#endif /* __APPLE__ */
|
||||||
#ifndef __APPLE__
|
#ifndef __APPLE__
|
||||||
.size fe_mul121666,.-fe_mul121666
|
.size fe_mul121666,.-fe_mul121666
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
@@ -876,7 +956,11 @@ fe_sq2:
|
|||||||
.p2align 2
|
.p2align 2
|
||||||
_fe_sq2:
|
_fe_sq2:
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
jmpq *fe_sq2_p(%rip)
|
jmpq *fe_sq2_p(%rip)
|
||||||
|
#else
|
||||||
|
jmpq *_fe_sq2_p(%rip)
|
||||||
|
#endif /* __APPLE__ */
|
||||||
#ifndef __APPLE__
|
#ifndef __APPLE__
|
||||||
.size fe_sq2,.-fe_sq2
|
.size fe_sq2,.-fe_sq2
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
@@ -892,7 +976,11 @@ fe_invert:
|
|||||||
.p2align 2
|
.p2align 2
|
||||||
_fe_invert:
|
_fe_invert:
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
jmpq *fe_invert_p(%rip)
|
jmpq *fe_invert_p(%rip)
|
||||||
|
#else
|
||||||
|
jmpq *_fe_invert_p(%rip)
|
||||||
|
#endif /* __APPLE__ */
|
||||||
#ifndef __APPLE__
|
#ifndef __APPLE__
|
||||||
.size fe_invert,.-fe_invert
|
.size fe_invert,.-fe_invert
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
@@ -908,7 +996,11 @@ curve25519:
|
|||||||
.p2align 2
|
.p2align 2
|
||||||
_curve25519:
|
_curve25519:
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
jmpq *curve25519_p(%rip)
|
jmpq *curve25519_p(%rip)
|
||||||
|
#else
|
||||||
|
jmpq *_curve25519_p(%rip)
|
||||||
|
#endif /* __APPLE__ */
|
||||||
#ifndef __APPLE__
|
#ifndef __APPLE__
|
||||||
.size curve25519,.-curve25519
|
.size curve25519,.-curve25519
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
@@ -924,7 +1016,11 @@ fe_pow22523:
|
|||||||
.p2align 2
|
.p2align 2
|
||||||
_fe_pow22523:
|
_fe_pow22523:
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
jmpq *fe_pow22523_p(%rip)
|
jmpq *fe_pow22523_p(%rip)
|
||||||
|
#else
|
||||||
|
jmpq *_fe_pow22523_p(%rip)
|
||||||
|
#endif /* __APPLE__ */
|
||||||
#ifndef __APPLE__
|
#ifndef __APPLE__
|
||||||
.size fe_pow22523,.-fe_pow22523
|
.size fe_pow22523,.-fe_pow22523
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
@@ -940,7 +1036,11 @@ fe_ge_to_p2:
|
|||||||
.p2align 2
|
.p2align 2
|
||||||
_fe_ge_to_p2:
|
_fe_ge_to_p2:
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
jmpq *fe_ge_to_p2_p(%rip)
|
jmpq *fe_ge_to_p2_p(%rip)
|
||||||
|
#else
|
||||||
|
jmpq *_fe_ge_to_p2_p(%rip)
|
||||||
|
#endif /* __APPLE__ */
|
||||||
#ifndef __APPLE__
|
#ifndef __APPLE__
|
||||||
.size fe_ge_to_p2,.-fe_ge_to_p2
|
.size fe_ge_to_p2,.-fe_ge_to_p2
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
@@ -956,7 +1056,11 @@ fe_ge_to_p3:
|
|||||||
.p2align 2
|
.p2align 2
|
||||||
_fe_ge_to_p3:
|
_fe_ge_to_p3:
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
jmpq *fe_ge_to_p3_p(%rip)
|
jmpq *fe_ge_to_p3_p(%rip)
|
||||||
|
#else
|
||||||
|
jmpq *_fe_ge_to_p3_p(%rip)
|
||||||
|
#endif /* __APPLE__ */
|
||||||
#ifndef __APPLE__
|
#ifndef __APPLE__
|
||||||
.size fe_ge_to_p3,.-fe_ge_to_p3
|
.size fe_ge_to_p3,.-fe_ge_to_p3
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
@@ -972,7 +1076,11 @@ fe_ge_dbl:
|
|||||||
.p2align 2
|
.p2align 2
|
||||||
_fe_ge_dbl:
|
_fe_ge_dbl:
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
jmpq *fe_ge_dbl_p(%rip)
|
jmpq *fe_ge_dbl_p(%rip)
|
||||||
|
#else
|
||||||
|
jmpq *_fe_ge_dbl_p(%rip)
|
||||||
|
#endif /* __APPLE__ */
|
||||||
#ifndef __APPLE__
|
#ifndef __APPLE__
|
||||||
.size fe_ge_dbl,.-fe_ge_dbl
|
.size fe_ge_dbl,.-fe_ge_dbl
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
@@ -988,7 +1096,11 @@ fe_ge_madd:
|
|||||||
.p2align 2
|
.p2align 2
|
||||||
_fe_ge_madd:
|
_fe_ge_madd:
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
jmpq *fe_ge_madd_p(%rip)
|
jmpq *fe_ge_madd_p(%rip)
|
||||||
|
#else
|
||||||
|
jmpq *_fe_ge_madd_p(%rip)
|
||||||
|
#endif /* __APPLE__ */
|
||||||
#ifndef __APPLE__
|
#ifndef __APPLE__
|
||||||
.size fe_ge_madd,.-fe_ge_madd
|
.size fe_ge_madd,.-fe_ge_madd
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
@@ -1004,7 +1116,11 @@ fe_ge_msub:
|
|||||||
.p2align 2
|
.p2align 2
|
||||||
_fe_ge_msub:
|
_fe_ge_msub:
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
jmpq *fe_ge_msub_p(%rip)
|
jmpq *fe_ge_msub_p(%rip)
|
||||||
|
#else
|
||||||
|
jmpq *_fe_ge_msub_p(%rip)
|
||||||
|
#endif /* __APPLE__ */
|
||||||
#ifndef __APPLE__
|
#ifndef __APPLE__
|
||||||
.size fe_ge_msub,.-fe_ge_msub
|
.size fe_ge_msub,.-fe_ge_msub
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
@@ -1020,7 +1136,11 @@ fe_ge_add:
|
|||||||
.p2align 2
|
.p2align 2
|
||||||
_fe_ge_add:
|
_fe_ge_add:
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
jmpq *fe_ge_add_p(%rip)
|
jmpq *fe_ge_add_p(%rip)
|
||||||
|
#else
|
||||||
|
jmpq *_fe_ge_add_p(%rip)
|
||||||
|
#endif /* __APPLE__ */
|
||||||
#ifndef __APPLE__
|
#ifndef __APPLE__
|
||||||
.size fe_ge_add,.-fe_ge_add
|
.size fe_ge_add,.-fe_ge_add
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
@@ -1036,90 +1156,206 @@ fe_ge_sub:
|
|||||||
.p2align 2
|
.p2align 2
|
||||||
_fe_ge_sub:
|
_fe_ge_sub:
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
jmpq *fe_ge_sub_p(%rip)
|
jmpq *fe_ge_sub_p(%rip)
|
||||||
|
#else
|
||||||
|
jmpq *_fe_ge_sub_p(%rip)
|
||||||
|
#endif /* __APPLE__ */
|
||||||
#ifndef __APPLE__
|
#ifndef __APPLE__
|
||||||
.size fe_ge_sub,.-fe_ge_sub
|
.size fe_ge_sub,.-fe_ge_sub
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
.data
|
#ifndef __APPLE__
|
||||||
.type cpuFlagsSet, @object
|
.data
|
||||||
.size cpuFlagsSet,4
|
.type cpuFlagsSet, @object
|
||||||
|
.size cpuFlagsSet,4
|
||||||
cpuFlagsSet:
|
cpuFlagsSet:
|
||||||
.long 0
|
.long 0
|
||||||
.data
|
#else
|
||||||
.type intelFlags, @object
|
.section __DATA,__data
|
||||||
.size intelFlags,4
|
.p2align 2
|
||||||
|
_cpuFlagsSet:
|
||||||
|
.long 0
|
||||||
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
|
.data
|
||||||
|
.type intelFlags, @object
|
||||||
|
.size intelFlags,4
|
||||||
intelFlags:
|
intelFlags:
|
||||||
.long 0
|
.long 0
|
||||||
.data
|
#else
|
||||||
.type fe_mul_p, @object
|
.section __DATA,__data
|
||||||
.size fe_mul_p,8
|
.p2align 2
|
||||||
|
_intelFlags:
|
||||||
|
.long 0
|
||||||
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
|
.data
|
||||||
|
.type fe_mul_p, @object
|
||||||
|
.size fe_mul_p,8
|
||||||
fe_mul_p:
|
fe_mul_p:
|
||||||
.quad fe_mul_x64
|
.quad fe_mul_x64
|
||||||
.data
|
#else
|
||||||
.type fe_sq_p, @object
|
.section __DATA,__data
|
||||||
.size fe_sq_p,8
|
.p2align 2
|
||||||
|
_fe_mul_p:
|
||||||
|
.quad _fe_mul_x64
|
||||||
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
|
.data
|
||||||
|
.type fe_sq_p, @object
|
||||||
|
.size fe_sq_p,8
|
||||||
fe_sq_p:
|
fe_sq_p:
|
||||||
.quad fe_sq_x64
|
.quad fe_sq_x64
|
||||||
.data
|
#else
|
||||||
.type fe_mul121666_p, @object
|
.section __DATA,__data
|
||||||
.size fe_mul121666_p,8
|
.p2align 2
|
||||||
|
_fe_sq_p:
|
||||||
|
.quad _fe_sq_x64
|
||||||
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
|
.data
|
||||||
|
.type fe_mul121666_p, @object
|
||||||
|
.size fe_mul121666_p,8
|
||||||
fe_mul121666_p:
|
fe_mul121666_p:
|
||||||
.quad fe_mul121666_x64
|
.quad fe_mul121666_x64
|
||||||
.data
|
#else
|
||||||
.type fe_sq2_p, @object
|
.section __DATA,__data
|
||||||
.size fe_sq2_p,8
|
.p2align 2
|
||||||
|
_fe_mul121666_p:
|
||||||
|
.quad _fe_mul121666_x64
|
||||||
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
|
.data
|
||||||
|
.type fe_sq2_p, @object
|
||||||
|
.size fe_sq2_p,8
|
||||||
fe_sq2_p:
|
fe_sq2_p:
|
||||||
.quad fe_sq2_x64
|
.quad fe_sq2_x64
|
||||||
.data
|
#else
|
||||||
.type fe_invert_p, @object
|
.section __DATA,__data
|
||||||
.size fe_invert_p,8
|
.p2align 2
|
||||||
|
_fe_sq2_p:
|
||||||
|
.quad _fe_sq2_x64
|
||||||
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
|
.data
|
||||||
|
.type fe_invert_p, @object
|
||||||
|
.size fe_invert_p,8
|
||||||
fe_invert_p:
|
fe_invert_p:
|
||||||
.quad fe_invert_x64
|
.quad fe_invert_x64
|
||||||
.data
|
#else
|
||||||
.type curve25519_p, @object
|
.section __DATA,__data
|
||||||
.size curve25519_p,8
|
.p2align 2
|
||||||
|
_fe_invert_p:
|
||||||
|
.quad _fe_invert_x64
|
||||||
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
|
.data
|
||||||
|
.type curve25519_p, @object
|
||||||
|
.size curve25519_p,8
|
||||||
curve25519_p:
|
curve25519_p:
|
||||||
.quad curve25519_x64
|
.quad curve25519_x64
|
||||||
.data
|
#else
|
||||||
.type fe_pow22523_p, @object
|
.section __DATA,__data
|
||||||
.size fe_pow22523_p,8
|
.p2align 2
|
||||||
|
_curve25519_p:
|
||||||
|
.quad _curve25519_x64
|
||||||
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
|
.data
|
||||||
|
.type fe_pow22523_p, @object
|
||||||
|
.size fe_pow22523_p,8
|
||||||
fe_pow22523_p:
|
fe_pow22523_p:
|
||||||
.quad fe_pow22523_x64
|
.quad fe_pow22523_x64
|
||||||
.data
|
#else
|
||||||
.type fe_ge_to_p2_p, @object
|
.section __DATA,__data
|
||||||
.size fe_ge_to_p2_p,8
|
.p2align 2
|
||||||
|
_fe_pow22523_p:
|
||||||
|
.quad _fe_pow22523_x64
|
||||||
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
|
.data
|
||||||
|
.type fe_ge_to_p2_p, @object
|
||||||
|
.size fe_ge_to_p2_p,8
|
||||||
fe_ge_to_p2_p:
|
fe_ge_to_p2_p:
|
||||||
.quad fe_ge_to_p2_x64
|
.quad fe_ge_to_p2_x64
|
||||||
.data
|
#else
|
||||||
.type fe_ge_to_p3_p, @object
|
.section __DATA,__data
|
||||||
.size fe_ge_to_p3_p,8
|
.p2align 2
|
||||||
|
_fe_ge_to_p2_p:
|
||||||
|
.quad _fe_ge_to_p2_x64
|
||||||
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
|
.data
|
||||||
|
.type fe_ge_to_p3_p, @object
|
||||||
|
.size fe_ge_to_p3_p,8
|
||||||
fe_ge_to_p3_p:
|
fe_ge_to_p3_p:
|
||||||
.quad fe_ge_to_p3_x64
|
.quad fe_ge_to_p3_x64
|
||||||
.data
|
#else
|
||||||
.type fe_ge_dbl_p, @object
|
.section __DATA,__data
|
||||||
.size fe_ge_dbl_p,8
|
.p2align 2
|
||||||
|
_fe_ge_to_p3_p:
|
||||||
|
.quad _fe_ge_to_p3_x64
|
||||||
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
|
.data
|
||||||
|
.type fe_ge_dbl_p, @object
|
||||||
|
.size fe_ge_dbl_p,8
|
||||||
fe_ge_dbl_p:
|
fe_ge_dbl_p:
|
||||||
.quad fe_ge_dbl_x64
|
.quad fe_ge_dbl_x64
|
||||||
.data
|
#else
|
||||||
.type fe_ge_madd_p, @object
|
.section __DATA,__data
|
||||||
.size fe_ge_madd_p,8
|
.p2align 2
|
||||||
|
_fe_ge_dbl_p:
|
||||||
|
.quad _fe_ge_dbl_x64
|
||||||
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
|
.data
|
||||||
|
.type fe_ge_madd_p, @object
|
||||||
|
.size fe_ge_madd_p,8
|
||||||
fe_ge_madd_p:
|
fe_ge_madd_p:
|
||||||
.quad fe_ge_madd_x64
|
.quad fe_ge_madd_x64
|
||||||
.data
|
#else
|
||||||
.type fe_ge_msub_p, @object
|
.section __DATA,__data
|
||||||
.size fe_ge_msub_p,8
|
.p2align 2
|
||||||
|
_fe_ge_madd_p:
|
||||||
|
.quad _fe_ge_madd_x64
|
||||||
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
|
.data
|
||||||
|
.type fe_ge_msub_p, @object
|
||||||
|
.size fe_ge_msub_p,8
|
||||||
fe_ge_msub_p:
|
fe_ge_msub_p:
|
||||||
.quad fe_ge_msub_x64
|
.quad fe_ge_msub_x64
|
||||||
.data
|
#else
|
||||||
.type fe_ge_add_p, @object
|
.section __DATA,__data
|
||||||
.size fe_ge_add_p,8
|
.p2align 2
|
||||||
|
_fe_ge_msub_p:
|
||||||
|
.quad _fe_ge_msub_x64
|
||||||
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
|
.data
|
||||||
|
.type fe_ge_add_p, @object
|
||||||
|
.size fe_ge_add_p,8
|
||||||
fe_ge_add_p:
|
fe_ge_add_p:
|
||||||
.quad fe_ge_add_x64
|
.quad fe_ge_add_x64
|
||||||
.data
|
#else
|
||||||
.type fe_ge_sub_p, @object
|
.section __DATA,__data
|
||||||
.size fe_ge_sub_p,8
|
.p2align 2
|
||||||
|
_fe_ge_add_p:
|
||||||
|
.quad _fe_ge_add_x64
|
||||||
|
#endif /* __APPLE__ */
|
||||||
|
#ifndef __APPLE__
|
||||||
|
.data
|
||||||
|
.type fe_ge_sub_p, @object
|
||||||
|
.size fe_ge_sub_p,8
|
||||||
fe_ge_sub_p:
|
fe_ge_sub_p:
|
||||||
.quad fe_ge_sub_x64
|
.quad fe_ge_sub_x64
|
||||||
|
#else
|
||||||
|
.section __DATA,__data
|
||||||
|
.p2align 2
|
||||||
|
_fe_ge_sub_p:
|
||||||
|
.quad _fe_ge_sub_x64
|
||||||
|
#endif /* __APPLE__ */
|
||||||
#ifndef __APPLE__
|
#ifndef __APPLE__
|
||||||
.text
|
.text
|
||||||
.globl fe_mul_x64
|
.globl fe_mul_x64
|
||||||
|
Reference in New Issue
Block a user