@ -3,7 +3,6 @@
# if ! d e f i n e d ( O P E N S S L _ N O _ A S M ) & & d e f i n e d ( O P E N S S L _ X 8 6 _ 6 4 ) & & \
# if ! d e f i n e d ( O P E N S S L _ N O _ A S M ) & & d e f i n e d ( O P E N S S L _ X 8 6 _ 6 4 ) & & \
( defined( _ _ A P P L E _ _ ) | | d e f i n e d ( _ _ E L F _ _ ) )
( defined( _ _ A P P L E _ _ ) | | d e f i n e d ( _ _ E L F _ _ ) )
.intel_syntax noprefix
.text
.text
# if d e f i n e d ( _ _ A P P L E _ _ )
# if d e f i n e d ( _ _ A P P L E _ _ )
.private_extern _fiat_p256_adx_mul
.private_extern _fiat_p256_adx_mul
@ -18,158 +17,158 @@ fiat_p256_adx_mul:
.cfi_startproc
.cfi_startproc
_ CET_ E N D B R
_ CET_ E N D B R
push r b p
pushq % r b p
.cfi_adjust_cfa_offset 8
;.cfi_adjust_cfa_offset 8
.cfi_offset rbp, - 1 6
.cfi_offset rbp, - 1 6
mov r b p , r s p
movq % r s p , % r b p
mov r a x , r d x
movq % r d x , % r a x
mov r d x , [ r s i + 0 x0 ]
movq ( % r s i ) , % r d x
test a l , a l
testb % a l , % a l
mulx r8 , r c x , [ r a x + 0 x0 ]
mulxq ( % r a x ) , % r c x , % r8
mov [ r s p - 0 x80 ] , r b x
movq % r b x , - 0 x80 ( % r s p )
.cfi_offset rbx, - 1 6 - 0 x80
.cfi_offset rbx, - 1 6 - 0 x80
mulx r b x , r9 , [ r a x + 0 x8 ]
mulxq 0 x8 ( % r a x ) , % r9 , % r b x
mov [ r s p - 0 x68 ] , r14
movq % r14 , - 0 x68 ( % r s p )
.cfi_offset r1 4 , - 1 6 - 0 x68
.cfi_offset r1 4 , - 1 6 - 0 x68
adc r9 , r8
adcq % r8 , % r9
mov [ r s p - 0 x60 ] , r15
movq % r15 , - 0 x60 ( % r s p )
.cfi_offset r1 5 , - 1 6 - 0 x60
.cfi_offset r1 5 , - 1 6 - 0 x60
mulx r15 , r14 , [ r a x + 0 x10 ]
mulxq 0 x10 ( % r a x ) , % r14 , % r15
mov [ r s p - 0 x78 ] , r12
movq % r12 , - 0 x78 ( % r s p )
.cfi_offset r1 2 , - 1 6 - 0 x78
.cfi_offset r1 2 , - 1 6 - 0 x78
adc r14 , r b x
adcq % r b x , % r14
mulx r11 , r10 , [ r a x + 0 x18 ]
mulxq 0 x18 ( % r a x ) , % r10 , % r11
mov [ r s p - 0 x70 ] , r13
movq % r13 , - 0 x70 ( % r s p )
.cfi_offset r1 3 , - 1 6 - 0 x70
.cfi_offset r1 3 , - 1 6 - 0 x70
adc r10 , r15
adcq % r15 , % r10
mov r d x , [ r s i + 0 x8 ]
movq 0 x8 ( % r s i ) , % r d x
mulx r b x , r8 , [ r a x + 0 x0 ]
mulxq ( % r a x ) , % r8 , % r b x
adc r11 , 0 x0
adcq $ 0 x0 , % r11
xor r15 , r15
xorq % r15 , % r15
adcx r8 , r9
adcxq % r9 , % r8
adox r b x , r14
adoxq % r14 , % r b x
mov [ r s p - 0 x58 ] , r d i
movq % r d i , - 0 x58 ( % r s p )
mulx r d i , r9 , [ r a x + 0 x8 ]
mulxq 0 x8 ( % r a x ) , % r9 , % r d i
adcx r9 , r b x
adcxq % r b x , % r9
adox r d i , r10
adoxq % r10 , % r d i
mulx r b x , r14 , [ r a x + 0 x10 ]
mulxq 0 x10 ( % r a x ) , % r14 , % r b x
adcx r14 , r d i
adcxq % r d i , % r14
adox r b x , r11
adoxq % r11 , % r b x
mulx r13 , r12 , [ r a x + 0 x18 ]
mulxq 0 x18 ( % r a x ) , % r12 , % r13
adcx r12 , r b x
adcxq % r b x , % r12
mov r d x , 0 x10 0 0 0 0 0 0 0
movq $ 0 x10 0 0 0 0 0 0 0 , % r d x
mulx r11 , r10 , r c x
mulxq % r c x , % r10 , % r11
adox r13 , r15
adoxq % r15 , % r13
adcx r13 , r15
adcxq % r15 , % r13
xor r d i , r d i
xorq % r d i , % r d i
adox r10 , r8
adoxq % r8 , % r10
mulx r8 , r b x , r10
mulxq % r10 , % r b x , % r8
adox r11 , r9
adoxq % r9 , % r11
adcx r b x , r11
adcxq % r11 , % r b x
adox r8 , r14
adoxq % r14 , % r8
mov r d x , 0 x f f f f f f f f00 0 0 0 0 0 1
movq $ 0 x f f f f f f f f00 0 0 0 0 0 1 , % r d x
mulx r9 , r15 , r c x
mulxq % r c x , % r15 , % r9
adcx r15 , r8
adcxq % r8 , % r15
adox r9 , r12
adoxq % r12 , % r9
mulx r14 , r c x , r10
mulxq % r10 , % r c x , % r14
mov r d x , [ r s i + 0 x10 ]
movq 0 x10 ( % r s i ) , % r d x
mulx r10 , r12 , [ r a x + 0 x8 ]
mulxq 0 x8 ( % r a x ) , % r12 , % r10
adcx r c x , r9
adcxq % r9 , % r c x
adox r14 , r13
adoxq % r13 , % r14
mulx r11 , r13 , [ r a x + 0 x0 ]
mulxq ( % r a x ) , % r13 , % r11
mov r9 , r d i
movq % r d i , % r9
adcx r14 , r9
adcxq % r9 , % r14
adox r d i , r d i
adoxq % r d i , % r d i
adc r d i , 0 x0
adcq $ 0 x0 , % r d i
xor r9 , r9
xorq % r9 , % r9
adcx r13 , r b x
adcxq % r b x , % r13
adox r11 , r15
adoxq % r15 , % r11
mov r d x , [ r s i + 0 x10 ]
movq 0 x10 ( % r s i ) , % r d x
mulx r15 , r8 , [ r a x + 0 x10 ]
mulxq 0 x10 ( % r a x ) , % r8 , % r15
adox r10 , r c x
adoxq % r c x , % r10
mulx r c x , r b x , [ r a x + 0 x18 ]
mulxq 0 x18 ( % r a x ) , % r b x , % r c x
mov r d x , [ r s i + 0 x18 ]
movq 0 x18 ( % r s i ) , % r d x
adcx r12 , r11
adcxq % r11 , % r12
mulx r s i , r11 , [ r a x + 0 x8 ]
mulxq 0 x8 ( % r a x ) , % r11 , % r s i
adcx r8 , r10
adcxq % r10 , % r8
adox r15 , r14
adoxq % r14 , % r15
adcx r b x , r15
adcxq % r15 , % r b x
adox r c x , r9
adoxq % r9 , % r c x
adcx r c x , r9
adcxq % r9 , % r c x
mulx r15 , r10 , [ r a x + 0 x0 ]
mulxq ( % r a x ) , % r10 , % r15
add r c x , r d i
addq % r d i , % r c x
mov r14 , r9
movq % r9 , % r14
adc r14 , 0
adcq $ 0 x0 , % r14
xor r9 , r9
xorq % r9 , % r9
adcx r10 , r12
adcxq % r12 , % r10
adox r15 , r8
adoxq % r8 , % r15
adcx r11 , r15
adcxq % r15 , % r11
adox r s i , r b x
adoxq % r b x , % r s i
mulx r8 , r12 , [ r a x + 0 x10 ]
mulxq 0 x10 ( % r a x ) , % r12 , % r8
adox r8 , r c x
adoxq % r c x , % r8
mulx r c x , r b x , [ r a x + 0 x18 ]
mulxq 0 x18 ( % r a x ) , % r b x , % r c x
adcx r12 , r s i
adcxq % r s i , % r12
adox r c x , r9
adoxq % r9 , % r c x
mov r d x , 0 x10 0 0 0 0 0 0 0
movq $ 0 x10 0 0 0 0 0 0 0 , % r d x
adcx r b x , r8
adcxq % r8 , % r b x
adc r c x , 0
adcq $ 0 x0 , % r c x
mulx r d i , r15 , r13
mulxq % r13 , % r15 , % r d i
xor r a x , r a x
xorq % r a x , % r a x
adcx r c x , r14
adcxq % r14 , % r c x
adc r a x , 0
adcq $ 0 x0 , % r a x
xor r9 , r9
xorq % r9 , % r9
adox r15 , r10
adoxq % r10 , % r15
mulx r14 , r10 , r15
mulxq % r15 , % r10 , % r14
adox r d i , r11
adoxq % r11 , % r d i
mov r d x , 0 x f f f f f f f f00 0 0 0 0 0 1
movq $ 0 x f f f f f f f f00 0 0 0 0 0 1 , % r d x
adox r14 , r12
adoxq % r12 , % r14
adcx r10 , r d i
adcxq % r d i , % r10
mulx r12 , r11 , r13
mulxq % r13 , % r11 , % r12
adcx r11 , r14
adcxq % r14 , % r11
adox r12 , r b x
adoxq % r b x , % r12
mulx r b x , r13 , r15
mulxq % r15 , % r13 , % r b x
adcx r13 , r12
adcxq % r12 , % r13
adox r b x , r c x
adoxq % r c x , % r b x
mov r8 , r9
movq % r9 , % r8
adox r a x , r9
adoxq % r9 , % r a x
adcx r8 , r b x
adcxq % r b x , % r8
adc r a x , 0 x0
adcq $ 0 x0 , % r a x
mov r c x , r a x
movq % r a x , % r c x
mov r15 , 0 x f f f f f f f f f f f f f f f f
movq $ 0 x f f f f f f f f f f f f f f f f , % r15
mov r d i , r10
movq % r10 , % r d i
sub r d i , r15
subq % r15 , % r d i
mov r14 , 0 x f f f f f f f f
movq $ 0 x f f f f f f f f , % r14
mov r12 , r11
movq % r11 , % r12
sbb r12 , r14
sbbq % r14 , % r12
mov r b x , r13
movq % r13 , % r b x
sbb r b x , r9
sbbq % r9 , % r b x
mov r a x , r a x
movq % r a x , % r a x
mov r a x , r8
movq % r8 , % r a x
sbb r a x , r d x
sbbq % r d x , % r a x
sbb r c x , r9
sbbq % r9 , % r c x
cmovc r d i , r10
cmovcq % r10 , % r d i
mov r10 , [ r s p - 0 x58 ]
movq - 0 x58 ( % r s p ) , % r10
cmovc r b x , r13
cmovcq % r13 , % r b x
mov r13 , [ r s p - 0 x70 ]
movq - 0 x70 ( % r s p ) , % r13
.cfi_restore r13
.cfi_restore r13
cmovc r12 , r11
cmovcq % r11 , % r12
cmovc r a x , r8
cmovcq % r8 , % r a x
mov [ r10 + 0 x10 ] , r b x
movq % r b x , 0 x10 ( % r10 )
mov r b x , [ r s p - 0 x80 ]
movq - 0 x80 ( % r s p ) , % r b x
.cfi_restore rbx
.cfi_restore rbx
mov [ r10 + 0 x0 ] , r d i
movq % r d i , ( % r10 )
mov [ r10 + 0 x8 ] , r12
movq % r12 , 0 x8 ( % r10 )
mov [ r10 + 0 x18 ] , r a x
movq % r a x , 0 x18 ( % r10 )
mov r12 , [ r s p - 0 x78 ]
movq - 0 x78 ( % r s p ) , % r12
.cfi_restore r12
.cfi_restore r12
mov r14 , [ r s p - 0 x68 ]
movq - 0 x68 ( % r s p ) , % r14
.cfi_restore r14
.cfi_restore r14
mov r15 , [ r s p - 0 x60 ]
movq - 0 x60 ( % r s p ) , % r15
.cfi_restore r15
.cfi_restore r15
pop r b p
popq % r b p
.cfi_restore rbp
.cfi_restore rbp
.cfi_adjust_cfa_offset - 8
.cfi_adjust_cfa_offset - 8
ret
retq
.cfi_endproc
.cfi_endproc
# if d e f i n e d ( _ _ E L F _ _ )
# if d e f i n e d ( _ _ E L F _ _ )
.size fiat_ p25 6 _ a d x _ m u l , . - f i a t _ p25 6 _ a d x _ m u l
.size fiat_ p25 6 _ a d x _ m u l , . - f i a t _ p25 6 _ a d x _ m u l