-rw-r--r-- 4824 high-ctidh-20210523/uintbig2048.S
/* DO NOT EDIT! generated by ./autogen */ .intel_syntax noprefix #include "uintbig_namespace.h" .section .rodata .global uintbig_1 uintbig_1: .quad 1, 0, 0, 0 .quad 0, 0, 0, 0 .quad 0, 0, 0, 0 .quad 0, 0, 0, 0 .quad 0, 0, 0, 0 .quad 0, 0, 0, 0 .quad 0, 0, 0, 0 .quad 0, 0, 0, 0 .global uintbig_p uintbig_p: .quad 0x7790d615ea034943, 0xdc703f0cd8c4d918, 0x95a98036c813c788, 0xe111b0d22ab8ecaa .quad 0x6478407d7a9a56ee, 0xa7bec86fabaf787f, 0x44454e851cf305ab, 0x44084e1a73c76cb2 .quad 0x2842bbe4dbacc65e, 0x58e89497ef35bbb9, 0x9796620b3ad8a5d4, 0x5377d53e856cc9a3 .quad 0x7c4cb419996f45e7, 0x88c691b2d452a8ac, 0x0da1783672767abb, 0x9844e5c09baf59ec .quad 0xe33586d1208a1017, 0x7d84f102b5fde2ea, 0x30d2edfe50198c64, 0x095ac8a9f3ce2b0c .quad 0x93e73abd17e3aa46, 0xc680497933375253, 0x6557ebe96d91aedd, 0x4dd6024bf2f8feab .quad 0xb8523d6a302abf28, 0x33a8779a1ec8b8c2, 0x584eb12932f72abb, 0xdbd1fc2133770253 .quad 0xddffdcf1aee53f12, 0x4d8854e8b3e19c53, 0x97fefc90e8196ed9, 0x438efcab10254c64 .global uintbig_four_sqrt_p uintbig_four_sqrt_p: .quad 0x713138678208efe5, 0x99b865c7a60b9d15, 0xcb9d5709a6d520ec, 0x8ba25da98b117e65 .quad 0xb53f431fbbbc1b57, 0xa182b3a2a32514ca, 0xbd8509d767f7a86c, 0x50d56ce140ad8057 .quad 0xf15c586b92287b69, 0x89a81119287fc51f, 0x5721ecd10a5f822a, 0xbc1272d7e7a1d02c .quad 0x8ae8830a4b03c676, 0xb4c29be61adeea3a, 0xd31c1b050625e30b, 0x0e0aa7f8149f0a5a .quad 2, 0, 0, 0 .quad 0, 0, 0, 0 .quad 0, 0, 0, 0 .quad 0, 0, 0, 0 .section .text .global uintbig_set uintbig_set: cld mov rax, rsi stosq xor rax, rax mov rcx, 31 rep stosq ret .global uintbig_bit uintbig_bit: mov rcx, rsi and rcx, 0x3f shr rsi, 6 mov rax, [rdi + 8*rsi] shr rax, cl and rax, 1 ret .global uintbig_add3 uintbig_add3: mov rax, [rsi + 0] add rax, [rdx + 0] mov [rdi + 0], rax .set k, 1 .rept 31 mov rax, [rsi + 8*k] adc rax, [rdx + 8*k] mov [rdi + 8*k], rax .set k, k+1 .endr setc al movzx rax, al ret .global uintbig_sub3 uintbig_sub3: mov rax, [rsi + 0] sub rax, [rdx + 0] mov [rdi + 0], rax .set k, 1 .rept 31 mov rax, [rsi + 8*k] sbb rax, [rdx + 8*k] mov [rdi + 8*k], rax .set k, k+1 .endr setc al movzx rax, al ret .global uintbig_mul3_64 uintbig_mul3_64: mulx r10, rax, [rsi + 0] mov [rdi + 0], rax mulx r11, rax, [rsi + 8] add rax, r10 mov [rdi + 8], rax mulx r10, rax, [rsi + 16] adcx rax, r11 mov [rdi + 16], rax mulx r11, rax, [rsi + 24] adcx rax, r10 mov [rdi + 24], rax mulx r10, rax, [rsi + 32] adcx rax, r11 mov [rdi + 32], rax mulx r11, rax, [rsi + 40] adcx rax, r10 mov [rdi + 40], rax mulx r10, rax, [rsi + 48] adcx rax, r11 mov [rdi + 48], rax mulx r11, rax, [rsi + 56] adcx rax, r10 mov [rdi + 56], rax mulx r10, rax, [rsi + 64] adcx rax, r11 mov [rdi + 64], rax mulx r11, rax, [rsi + 72] adcx rax, r10 mov [rdi + 72], rax mulx r10, rax, [rsi + 80] adcx rax, r11 mov [rdi + 80], rax mulx r11, rax, [rsi + 88] adcx rax, r10 mov [rdi + 88], rax mulx r10, rax, [rsi + 96] adcx rax, r11 mov [rdi + 96], rax mulx r11, rax, [rsi + 104] adcx rax, r10 mov [rdi + 104], rax mulx r10, rax, [rsi + 112] adcx rax, r11 mov [rdi + 112], rax mulx r11, rax, [rsi + 120] adcx rax, r10 mov [rdi + 120], rax mulx r10, rax, [rsi + 128] adcx rax, r11 mov [rdi + 128], rax mulx r11, rax, [rsi + 136] adcx rax, r10 mov [rdi + 136], rax mulx r10, rax, [rsi + 144] adcx rax, r11 mov [rdi + 144], rax mulx r11, rax, [rsi + 152] adcx rax, r10 mov [rdi + 152], rax mulx r10, rax, [rsi + 160] adcx rax, r11 mov [rdi + 160], rax mulx r11, rax, [rsi + 168] adcx rax, r10 mov [rdi + 168], rax mulx r10, rax, [rsi + 176] adcx rax, r11 mov [rdi + 176], rax mulx r11, rax, [rsi + 184] adcx rax, r10 mov [rdi + 184], rax mulx r10, rax, [rsi + 192] adcx rax, r11 mov [rdi + 192], rax mulx r11, rax, [rsi + 200] adcx rax, r10 mov [rdi + 200], rax mulx r10, rax, [rsi + 208] adcx rax, r11 mov [rdi + 208], rax mulx r11, rax, [rsi + 216] adcx rax, r10 mov [rdi + 216], rax mulx r10, rax, [rsi + 224] adcx rax, r11 mov [rdi + 224], rax mulx r11, rax, [rsi + 232] adcx rax, r10 mov [rdi + 232], rax mulx r10, rax, [rsi + 240] adcx rax, r11 mov [rdi + 240], rax mulx r11, rax, [rsi + 248] adcx rax, r10 mov [rdi + 248], rax ret