From fcedfddf00b3f994e4f4e40332ac7fc192c63244 Mon Sep 17 00:00:00 2001 From: polwex Date: Sun, 5 Oct 2025 21:56:51 +0700 Subject: claude is gud --- .../gmp/gen/x86_64-windows/mpn/sqr_diag_addlsh1.s | 140 +++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 vere/ext/gmp/gen/x86_64-windows/mpn/sqr_diag_addlsh1.s (limited to 'vere/ext/gmp/gen/x86_64-windows/mpn/sqr_diag_addlsh1.s') diff --git a/vere/ext/gmp/gen/x86_64-windows/mpn/sqr_diag_addlsh1.s b/vere/ext/gmp/gen/x86_64-windows/mpn/sqr_diag_addlsh1.s new file mode 100644 index 0000000..77831dd --- /dev/null +++ b/vere/ext/gmp/gen/x86_64-windows/mpn/sqr_diag_addlsh1.s @@ -0,0 +1,140 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + .text + .align 32, 0x90 + .globl __gmpn_sqr_diag_addlsh1 + + .def __gmpn_sqr_diag_addlsh1 + .scl 2 + .type 32 + .endef +__gmpn_sqr_diag_addlsh1: + + push %rdi + push %rsi + mov %rcx, %rdi + mov %rdx, %rsi + mov %r8, %rdx + mov %r9, %rcx + + push %rbx + + dec %rcx + shl %rcx + + mov (%rdx), %rax + + lea (%rdi,%rcx,8), %rdi + lea (%rsi,%rcx,8), %rsi + lea (%rdx,%rcx,4), %r11 + neg %rcx + + mul %rax + mov %rax, (%rdi,%rcx,8) + + xor %ebx, %ebx + jmp Lmid + + .align 16, 0x90 +Ltop: add %r10, %r8 + adc %rax, %r9 + mov %r8, -8(%rdi,%rcx,8) + mov %r9, (%rdi,%rcx,8) +Lmid: mov 8(%r11,%rcx,4), %rax + mov (%rsi,%rcx,8), %r8 + mov 8(%rsi,%rcx,8), %r9 + adc %r8, %r8 + adc %r9, %r9 + lea (%rdx,%rbx), %r10 + setc %bl + mul %rax + add $2, %rcx + js Ltop + +Lend: add %r10, %r8 + adc %rax, %r9 + mov %r8, -8(%rdi) + mov %r9, (%rdi) + adc %rbx, %rdx + mov %rdx, 8(%rdi) + + pop %rbx + pop %rsi + pop %rdi + ret + -- cgit v1.2.3