zupt/jasmin/zupt_x25519_fe.s
Cristian Cezar Moisés e5f5d32aab v2.2.2
2026-05-01 09:58:47 -03:00

50 lines
1.1 KiB
ArmAsm

# SPDX-License-Identifier: AGPL-3.0-or-later
# Copyright (c) 2026 Cristian Cezar Moisés
# Generated from jasmin/zupt_x25519_fe.jazz by jasminc.
.intel_syntax noprefix
.text
.p2align 5
.global zupt_fe_cswap
.type zupt_fe_cswap, %function
zupt_fe_cswap:
mov rax, 0
sub rax, rdx
mov rcx, qword ptr[rdi]
mov rdx, qword ptr[rsi]
mov r8, rcx
xor r8, rdx
and r8, rax
xor rcx, r8
xor rdx, r8
mov qword ptr[rdi], rcx
mov qword ptr[rsi], rdx
mov rcx, qword ptr[rdi + 8]
mov rdx, qword ptr[rsi + 8]
mov r8, rcx
xor r8, rdx
and r8, rax
xor rcx, r8
xor rdx, r8
mov qword ptr[rdi + 8], rcx
mov qword ptr[rsi + 8], rdx
mov rcx, qword ptr[rdi + 16]
mov rdx, qword ptr[rsi + 16]
mov r8, rcx
xor r8, rdx
and r8, rax
xor rcx, r8
xor rdx, r8
mov qword ptr[rdi + 16], rcx
mov qword ptr[rsi + 16], rdx
mov rcx, qword ptr[rdi + 24]
mov rdx, qword ptr[rsi + 24]
mov r8, rcx
xor r8, rdx
and r8, rax
xor rcx, r8
xor rdx, r8
mov qword ptr[rdi + 24], rcx
mov qword ptr[rsi + 24], rdx
ret
.ident "Jasmin Compiler 2026.03.0"
.section ".note.GNU-stack", "", %progbits