-rw-r--r-- 830 lib25519-20240321/crypto_nG/merged25519/arm64-maa4-intmul/fe25519_sub.S raw
/* Assembly for field subtraction */
#include "crypto_asm_hidden.h"
.p2align 4
ASM_HIDDEN _CRYPTO_SHARED_NAMESPACE(fe25519_sub)
.globl _CRYPTO_SHARED_NAMESPACE(fe25519_sub)
ASM_HIDDEN CRYPTO_SHARED_NAMESPACE(fe25519_sub)
.globl CRYPTO_SHARED_NAMESPACE(fe25519_sub)
_CRYPTO_SHARED_NAMESPACE(fe25519_sub):
CRYPTO_SHARED_NAMESPACE(fe25519_sub):
ldp x3, x4, [x1, #0]
ldp x5, x6, [x1, #16]
ldp x7, x8, [x2, #0]
ldp x9, x10, [x2, #16]
mov x11, #38
subs x3, x3, x7
sbcs x4, x4, x8
sbcs x5, x5, x9
sbcs x6, x6, x10
csel x12, xzr, x11, cs
subs x3, x3, x12
sbcs x4, x4, xzr
sbcs x5, x5, xzr
sbcs x6, x6, xzr
csel x12, xzr, x11, cs
sub x3, x3, x12
stp x3, x4, [x0, #0]
stp x5, x6, [x0, #16]
ret