forked from wolfSSL/wolfssl
Wycheproof fixes
Curve25519: reduce to less than mod at end of curve25519, optimize to not use imulq when andq can be used instead. x86_64 Karatsuba Mul: Don't put add carry into overflow and then continue adding zero. Overflow is lost.
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@ -4677,7 +4677,6 @@ _sp_2048_mul_32:
|
||||
addq $0x80, %r15
|
||||
# Add
|
||||
movq (%r15), %rax
|
||||
xorq %r9, %r9
|
||||
addq (%r11), %rax
|
||||
movq 8(%r15), %rcx
|
||||
movq %rax, (%r15)
|
||||
@ -4728,7 +4727,6 @@ _sp_2048_mul_32:
|
||||
movq %rax, 120(%r15)
|
||||
adcq 128(%r11), %rcx
|
||||
movq %rcx, 128(%r15)
|
||||
adcq $0x00, %r9
|
||||
# Add to zero
|
||||
movq 136(%r11), %rax
|
||||
adcq $0x00, %rax
|
||||
@ -5356,7 +5354,6 @@ _sp_2048_mul_avx2_32:
|
||||
addq $0x80, %r15
|
||||
# Add
|
||||
movq (%r15), %rax
|
||||
xorq %r9, %r9
|
||||
addq (%r11), %rax
|
||||
movq 8(%r15), %rcx
|
||||
movq %rax, (%r15)
|
||||
@ -5407,7 +5404,6 @@ _sp_2048_mul_avx2_32:
|
||||
movq %rax, 120(%r15)
|
||||
adcq 128(%r11), %rcx
|
||||
movq %rcx, 128(%r15)
|
||||
adcq $0x00, %r9
|
||||
# Add to zero
|
||||
movq 136(%r11), %rax
|
||||
adcq $0x00, %rax
|
||||
@ -43508,7 +43504,6 @@ _sp_4096_mul_64:
|
||||
addq $0x100, %r15
|
||||
# Add
|
||||
movq (%r15), %rax
|
||||
xorq %r9, %r9
|
||||
addq (%r11), %rax
|
||||
movq 8(%r15), %rcx
|
||||
movq %rax, (%r15)
|
||||
@ -43607,7 +43602,6 @@ _sp_4096_mul_64:
|
||||
movq %rcx, 248(%r15)
|
||||
adcq 256(%r11), %r8
|
||||
movq %r8, 256(%r15)
|
||||
adcq $0x00, %r9
|
||||
# Add to zero
|
||||
movq 264(%r11), %rax
|
||||
adcq $0x00, %rax
|
||||
@ -44763,7 +44757,6 @@ _sp_4096_mul_avx2_64:
|
||||
addq $0x100, %r15
|
||||
# Add
|
||||
movq (%r15), %rax
|
||||
xorq %r9, %r9
|
||||
addq (%r11), %rax
|
||||
movq 8(%r15), %rcx
|
||||
movq %rax, (%r15)
|
||||
@ -44862,7 +44855,6 @@ _sp_4096_mul_avx2_64:
|
||||
movq %rcx, 248(%r15)
|
||||
adcq 256(%r11), %r8
|
||||
movq %r8, 256(%r15)
|
||||
adcq $0x00, %r9
|
||||
# Add to zero
|
||||
movq 264(%r11), %rax
|
||||
adcq $0x00, %rax
|
||||
|
@ -4585,7 +4585,6 @@ ENDIF
|
||||
add rsi, 128
|
||||
; Add
|
||||
mov rax, QWORD PTR [rsi]
|
||||
xor r11, r11
|
||||
add rax, QWORD PTR [r13]
|
||||
mov r9, QWORD PTR [rsi+8]
|
||||
mov QWORD PTR [rsi], rax
|
||||
@ -4636,7 +4635,6 @@ ENDIF
|
||||
mov QWORD PTR [rsi+120], rax
|
||||
adc r9, QWORD PTR [r13+128]
|
||||
mov QWORD PTR [rsi+128], r9
|
||||
adc r11, 0
|
||||
; Add to zero
|
||||
mov rax, QWORD PTR [r13+136]
|
||||
adc rax, 0
|
||||
@ -5245,7 +5243,6 @@ ENDIF
|
||||
add rsi, 128
|
||||
; Add
|
||||
mov rax, QWORD PTR [rsi]
|
||||
xor r11, r11
|
||||
add rax, QWORD PTR [r13]
|
||||
mov r9, QWORD PTR [rsi+8]
|
||||
mov QWORD PTR [rsi], rax
|
||||
@ -5296,7 +5293,6 @@ ENDIF
|
||||
mov QWORD PTR [rsi+120], rax
|
||||
adc r9, QWORD PTR [r13+128]
|
||||
mov QWORD PTR [rsi+128], r9
|
||||
adc r11, 0
|
||||
; Add to zero
|
||||
mov rax, QWORD PTR [r13+136]
|
||||
adc rax, 0
|
||||
@ -42510,7 +42506,6 @@ ENDIF
|
||||
add rsi, 256
|
||||
; Add
|
||||
mov rax, QWORD PTR [rsi]
|
||||
xor r11, r11
|
||||
add rax, QWORD PTR [r13]
|
||||
mov r9, QWORD PTR [rsi+8]
|
||||
mov QWORD PTR [rsi], rax
|
||||
@ -42609,7 +42604,6 @@ ENDIF
|
||||
mov QWORD PTR [rsi+248], r9
|
||||
adc r10, QWORD PTR [r13+256]
|
||||
mov QWORD PTR [rsi+256], r10
|
||||
adc r11, 0
|
||||
; Add to zero
|
||||
mov rax, QWORD PTR [r13+264]
|
||||
adc rax, 0
|
||||
@ -43746,7 +43740,6 @@ ENDIF
|
||||
add rsi, 256
|
||||
; Add
|
||||
mov rax, QWORD PTR [rsi]
|
||||
xor r11, r11
|
||||
add rax, QWORD PTR [r13]
|
||||
mov r9, QWORD PTR [rsi+8]
|
||||
mov QWORD PTR [rsi], rax
|
||||
@ -43845,7 +43838,6 @@ ENDIF
|
||||
mov QWORD PTR [rsi+248], r9
|
||||
adc r10, QWORD PTR [r13+256]
|
||||
mov QWORD PTR [rsi+256], r10
|
||||
adc r11, 0
|
||||
; Add to zero
|
||||
mov rax, QWORD PTR [r13+264]
|
||||
adc rax, 0
|
||||
|
Reference in New Issue
Block a user