#include #if !defined(OPENSSL_NO_ASM) && defined(OPENSSL_X86_64) && \ (defined(__APPLE__) || defined(__ELF__)) .text #if defined(__APPLE__) .private_extern _fiat_p256_adx_sqr .global _fiat_p256_adx_sqr _fiat_p256_adx_sqr: #else .type fiat_p256_adx_sqr, @function .hidden fiat_p256_adx_sqr .global fiat_p256_adx_sqr fiat_p256_adx_sqr: #endif .cfi_startproc _CET_ENDBR pushq %rbp .cfi_adjust_cfa_offset 8 .cfi_offset rbp, -16 movq %rsp, %rbp movq (%rsi), %rdx mulxq 0x18(%rsi), %rax, %r10 mulxq %rdx, %r11, %rcx mulxq 0x8(%rsi), %r8, %r9 movq %rbx, -0x80(%rsp) .cfi_offset rbx, -16-0x80 xorq %rbx, %rbx adoxq %r8, %r8 movq %r12, -0x78(%rsp) .cfi_offset r12, -16-0x78 mulxq 0x10(%rsi), %rbx, %r12 movq 0x8(%rsi), %rdx movq %r13, -0x70(%rsp) .cfi_offset r13, -16-0x70 movq %r14, -0x68(%rsp) .cfi_offset r14, -16-0x68 mulxq %rdx, %r13, %r14 movq %r15, -0x60(%rsp) .cfi_offset r15, -16-0x60 movq %rdi, -0x58(%rsp) mulxq 0x10(%rsi), %r15, %rdi adcxq %r15, %r12 movq %r11, -0x50(%rsp) mulxq 0x18(%rsi), %r15, %r11 adcxq %rdi, %r10 movq $0x0, %rdi adcxq %rdi, %r11 clc adcxq %r9, %rbx adoxq %rbx, %rbx adcxq %r12, %rax adoxq %rax, %rax adcxq %r10, %r15 adoxq %r15, %r15 movq 0x10(%rsi), %rdx mulxq 0x18(%rsi), %r9, %r12 adcxq %r11, %r9 adcxq %rdi, %r12 mulxq %rdx, %r10, %r11 clc adcxq %r8, %rcx adcxq %rbx, %r13 adcxq %rax, %r14 adoxq %r9, %r9 adcxq %r15, %r10 movq 0x18(%rsi), %rdx mulxq %rdx, %r8, %rbx adoxq %r12, %r12 adcxq %r9, %r11 movq -0x50(%rsp), %rsi adcxq %r12, %r8 movq $0x100000000, %rax movq %rax, %rdx mulxq %rsi, %rax, %r15 adcxq %rdi, %rbx adoxq %rdi, %rbx xorq %r9, %r9 adoxq %rcx, %rax adoxq %r13, %r15 mulxq %rax, %rdi, %rcx adcxq %r15, %rdi adoxq %r14, %rcx movq $0xffffffff00000001, %rdx mulxq %rsi, %r13, %r14 adoxq %r10, %r14 adcxq %rcx, %r13 mulxq %rax, %r10, %r12 adoxq %r11, %r12 movq %r9, %r11 adoxq %r8, %r11 adcxq %r14, %r10 movq %r9, %r8 adcxq %r12, %r8 movq %r9, %rax adcxq %r11, %rax movq %r9, %r15 adoxq %rbx, %r15 movq $0x100000000, %rdx mulxq %rdi, %rbx, %rcx movq %r9, %r14 adcxq %r15, %r14 movq %r9, %r12 adoxq %r12, %r12 adcxq %r9, %r12 adoxq %r13, %rbx mulxq %rbx, %r13, %r11 movq $0xffffffff00000001, %r15 movq %r15, %rdx mulxq %rbx, %r15, %rsi adoxq %r10, %rcx adoxq %r8, %r11 mulxq %rdi, %r10, %r8 adcxq %rcx, %r13 adoxq %rax, %r8 adcxq %r11, %r10 adoxq %r14, %rsi movq %r12, %rdi movq %r9, %rax adoxq %rax, %rdi adcxq %r8, %r15 movq %rax, %r14 adcxq %rsi, %r14 adcxq %r9, %rdi decq %r9 movq %r13, %rbx subq %r9, %rbx movq $0xffffffff, %rcx movq %r10, %r11 sbbq %rcx, %r11 movq %r15, %r8 sbbq %rax, %r8 movq %r14, %rsi sbbq %rdx, %rsi sbbq %rax, %rdi cmovcq %r13, %rbx cmovcq %r15, %r8 cmovcq %r10, %r11 cmovcq %r14, %rsi movq -0x58(%rsp), %rdi movq %rsi, 0x18(%rdi) movq %rbx, (%rdi) movq %r11, 0x8(%rdi) movq %r8, 0x10(%rdi) movq -0x80(%rsp), %rbx .cfi_restore rbx movq -0x78(%rsp), %r12 .cfi_restore r12 movq -0x70(%rsp), %r13 .cfi_restore r13 movq -0x68(%rsp), %r14 .cfi_restore r14 movq -0x60(%rsp), %r15 .cfi_restore r15 popq %rbp .cfi_restore rbp .cfi_adjust_cfa_offset -8 retq .cfi_endproc #if defined(__ELF__) .size fiat_p256_adx_sqr, .-fiat_p256_adx_sqr #endif #endif