From: <brg...@us...> - 2011-10-22 19:20:47
|
Revision: 418 http://ggnfs.svn.sourceforge.net/ggnfs/?rev=418&view=rev Author: brgladman Date: 2011-10-22 19:20:40 +0000 (Sat, 22 Oct 2011) Log Message: ----------- update Windows x64 assembler code Modified Paths: -------------- trunk/src/experimental/lasieve4_64/x64/MMX-TD1.asm trunk/src/experimental/lasieve4_64/x64/MMX-TD2.asm trunk/src/experimental/lasieve4_64/x64/lasched0.asm trunk/src/experimental/lasieve4_64/x64/lasched1.asm trunk/src/experimental/lasieve4_64/x64/lasieve-asmprepn.asm trunk/src/experimental/lasieve4_64/x64/lasieve-asmprepn2.asm trunk/src/experimental/lasieve4_64/x64/medsched0.asm trunk/src/experimental/lasieve4_64/x64/modinv1000.asm trunk/src/experimental/lasieve4_64/x64/modinv1000b.asm trunk/src/experimental/lasieve4_64/x64/mpqs_sieveinit.asm trunk/src/experimental/lasieve4_64/x64/mpqs_td.asm trunk/src/experimental/lasieve4_64/x64/pt64.asm trunk/src/experimental/lasieve4_64/x64/search0.asm trunk/src/experimental/lasieve4_64/x64/slinie1A.asm trunk/src/experimental/lasieve4_64/x64/slinie2A.asm trunk/src/experimental/lasieve4_64/x64/slinie3A.asm trunk/src/experimental/lasieve4_64/x64/tdsieve-from-sched.asm Modified: trunk/src/experimental/lasieve4_64/x64/MMX-TD1.asm =================================================================== --- trunk/src/experimental/lasieve4_64/x64/MMX-TD1.asm 2011-10-22 07:34:27 UTC (rev 417) +++ trunk/src/experimental/lasieve4_64/x64/MMX-TD1.asm 2011-10-22 19:20:40 UTC (rev 418) @@ -14,7 +14,7 @@ mov rdi, rcx mov esi, edx mov rdx, r8 - mov ecx, r9d + mov rcx, r9 mov r8d, esi movq mm2, [rdx] Modified: trunk/src/experimental/lasieve4_64/x64/MMX-TD2.asm =================================================================== --- trunk/src/experimental/lasieve4_64/x64/MMX-TD2.asm 2011-10-22 07:34:27 UTC (rev 417) +++ trunk/src/experimental/lasieve4_64/x64/MMX-TD2.asm 2011-10-22 19:20:40 UTC (rev 418) @@ -14,7 +14,7 @@ mov rdi, rcx mov esi, edx mov rdx, r8 - mov ecx, r9d + mov rcx, r9 mov r8d, esi movdqa xmm2, [rdx] Modified: trunk/src/experimental/lasieve4_64/x64/lasched0.asm =================================================================== --- trunk/src/experimental/lasieve4_64/x64/lasched0.asm 2011-10-22 07:34:27 UTC (rev 417) +++ trunk/src/experimental/lasieve4_64/x64/lasched0.asm 2011-10-22 19:20:40 UTC (rev 418) @@ -23,7 +23,7 @@ mov rdx, r8 mov ecx, r9d mov r8, [rsp+stack_use+40] - mov r9d, dword [rsp+stack_use+48] + mov r9d, [rsp+stack_use+48] shl rcx, n_i_bits mov eax, [rsi] Modified: trunk/src/experimental/lasieve4_64/x64/lasched1.asm =================================================================== --- trunk/src/experimental/lasieve4_64/x64/lasched1.asm 2011-10-22 07:34:27 UTC (rev 417) +++ trunk/src/experimental/lasieve4_64/x64/lasched1.asm 2011-10-22 19:20:40 UTC (rev 418) @@ -23,7 +23,7 @@ mov rdx, r8 mov ecx, r9d mov r8, [rsp+stack_use+40] - mov r9d, dword [rsp+stack_use+48] + mov r9d, [rsp+stack_use+48] shl rcx, n_i_bits shr r9, 16 Modified: trunk/src/experimental/lasieve4_64/x64/lasieve-asmprepn.asm =================================================================== --- trunk/src/experimental/lasieve4_64/x64/lasieve-asmprepn.asm 2011-10-22 07:34:27 UTC (rev 417) +++ trunk/src/experimental/lasieve4_64/x64/lasieve-asmprepn.asm 2011-10-22 19:20:40 UTC (rev 418) @@ -178,13 +178,17 @@ psrldq xmm7, 8 mov esi, ebx pmuludq xmm12, xmm2 + add rsp, 32 call asm_modinv32b + sub rsp, 32 movd edi, xmm7 pmuludq xmm12, xmm0 movd xmm11, eax mov esi, r15d pxor xmm10, xmm10 + add rsp, 32 call asm_modinv32b + sub rsp, 32 movd xmm8, eax psubq xmm9, xmm12 mov rax, [r12] @@ -243,13 +247,17 @@ psrldq xmm7, 8 movdqa xmm2, xmm11 pmuludq xmm11, xmm8 + add rsp, 32 call get_recurrence_info + sub rsp, 32 mov esi, r15d lea rdi, [r13+8] movd edx, xmm7 pmuludq xmm11, xmm2 movdqa xmm0, xmm8 + add rsp, 32 call get_recurrence_info + sub rsp, 32 cmp r14, r12 pslld xmm2, 1 pshufd xmm12, xmm1, 0x98 Modified: trunk/src/experimental/lasieve4_64/x64/lasieve-asmprepn2.asm =================================================================== --- trunk/src/experimental/lasieve4_64/x64/lasieve-asmprepn2.asm 2011-10-22 07:34:27 UTC (rev 417) +++ trunk/src/experimental/lasieve4_64/x64/lasieve-asmprepn2.asm 2011-10-22 19:20:40 UTC (rev 418) @@ -191,7 +191,9 @@ pshufd xmm8, xmm8, 0x4e mov esi, ebx pmuludq xmm12, xmm2 + add rsp, 32 call asm_modinv32b + sub rsp, 32 %if %1 * (%1 - 3) == 0 sub r15d, eax %endif @@ -256,13 +258,17 @@ psrldq xmm7, 8 movdqa xmm2, xmm11 pmuludq xmm11, xmm8 + add rsp, 32 call get_recurrence_info + sub rsp, 32 mov esi, ebx lea rdi, [r13+8] movd edx, xmm7 pmuludq xmm11, xmm2 movdqa xmm0, xmm8 + add rsp, 32 call get_recurrence_info + sub rsp, 32 cmp r14, r12 pslld xmm2, 1 pshufd xmm12, xmm1, 0x98 Modified: trunk/src/experimental/lasieve4_64/x64/medsched0.asm =================================================================== --- trunk/src/experimental/lasieve4_64/x64/medsched0.asm 2011-10-22 07:34:27 UTC (rev 417) +++ trunk/src/experimental/lasieve4_64/x64/medsched0.asm 2011-10-22 19:20:40 UTC (rev 418) @@ -15,7 +15,7 @@ mov rsi, rdx mov rdx, r8 mov rcx, r9 - mov r8d, dword [rsp+stack_use+40] + mov r8d, [rsp+stack_use+40] shl r8d, 16 cmp rdx, rsi Modified: trunk/src/experimental/lasieve4_64/x64/modinv1000.asm =================================================================== --- trunk/src/experimental/lasieve4_64/x64/modinv1000.asm 2011-10-22 07:34:27 UTC (rev 417) +++ trunk/src/experimental/lasieve4_64/x64/modinv1000.asm 2011-10-22 19:20:40 UTC (rev 418) @@ -75,7 +75,9 @@ mov eax, [rel modulo32] sub eax, r8d ret -.6: call abort +.6: add rsp, 32 + call abort + sub rsp, 32 end \ No newline at end of file Modified: trunk/src/experimental/lasieve4_64/x64/modinv1000b.asm =================================================================== --- trunk/src/experimental/lasieve4_64/x64/modinv1000b.asm 2011-10-22 07:34:27 UTC (rev 417) +++ trunk/src/experimental/lasieve4_64/x64/modinv1000b.asm 2011-10-22 19:20:40 UTC (rev 418) @@ -80,7 +80,9 @@ sub eax, r8d ret .6: je .8 -.7: call abort +.7: add rsp, 32 + call abort + sub rsp, 32 .8: xor eax, eax ret Modified: trunk/src/experimental/lasieve4_64/x64/mpqs_sieveinit.asm =================================================================== --- trunk/src/experimental/lasieve4_64/x64/mpqs_sieveinit.asm 2011-10-22 07:34:27 UTC (rev 417) +++ trunk/src/experimental/lasieve4_64/x64/mpqs_sieveinit.asm 2011-10-22 19:20:40 UTC (rev 418) @@ -25,8 +25,8 @@ mov esi, edx mov rdx, r8 mov rcx, r9 - mov r8, [rsp+stack_use+40] - mov r9d, [rsp+stack_use+48] + mov r8, [rsp+stack_use+40] + mov r9d, [rsp+stack_use+48] mov rbx, rdx mov rcx, [rcx] @@ -70,8 +70,8 @@ mov esi, edx mov rdx, r8 mov rcx, r9 - mov r8, [rsp+stack_use+40] - mov r9d, [rsp+stack_use+48] + mov r8, [rsp+stack_use+40] + mov r9d, [rsp+stack_use+48] mov rbx, rdx mov rcx, [rcx] Modified: trunk/src/experimental/lasieve4_64/x64/mpqs_td.asm =================================================================== --- trunk/src/experimental/lasieve4_64/x64/mpqs_td.asm 2011-10-22 07:34:27 UTC (rev 417) +++ trunk/src/experimental/lasieve4_64/x64/mpqs_td.asm 2011-10-22 19:20:40 UTC (rev 418) @@ -278,7 +278,9 @@ .16: xor rax, rax emms EXIT_PROC reg_save_list -.17: call abort +.17: add rsp, 32 + call abort + sub rsp, 32 END_PROC reg_save_list end Modified: trunk/src/experimental/lasieve4_64/x64/pt64.asm =================================================================== --- trunk/src/experimental/lasieve4_64/x64/pt64.asm 2011-10-22 07:34:27 UTC (rev 417) +++ trunk/src/experimental/lasieve4_64/x64/pt64.asm 2011-10-22 19:20:40 UTC (rev 418) @@ -60,7 +60,9 @@ mov rcx, rax mov r11, rsi jmp .5 -.4: call modsq64 +.4: add rsp,32 + call modsq64 + sub rsp, 32 test r9, rcx jz .6 .5: xor rax, rax @@ -79,7 +81,9 @@ je .9 dec r10 jz .8 + add rsp, 32 call modsq64 + sub rsp, 32 jmp .7 align 8 Modified: trunk/src/experimental/lasieve4_64/x64/search0.asm =================================================================== --- trunk/src/experimental/lasieve4_64/x64/search0.asm 2011-10-22 07:34:27 UTC (rev 417) +++ trunk/src/experimental/lasieve4_64/x64/search0.asm 2011-10-22 19:20:40 UTC (rev 418) @@ -1,6 +1,6 @@ -; lasieve_search0(uchar*, uchar*, uchar*, uchar*, uchar*, u16_t*, uchar*); -; GAS rax rdi, rsi, rdx, rcx, r8, r9, [rsp+8] +; lasieve_search0(uchar*, uchar*, uchar*, uchar*, uchar*, u16_t*, uchar*); +; GAS rax rdi, rsi, rdx, rcx, r8, r9, [rsp+8] ; YASM rax rcx, rdx, r8, r9, [rsp+40], [rsp+48], [rsp+56], %include "ls-defs.inc" @@ -15,9 +15,9 @@ mov rsi, rdx mov rdx, r8 mov rcx, r9 - mov r8, qword [rsp+stack_use+40] - mov r9, qword [rsp+stack_use+48] - mov r14, qword [rsp+stack_use+56] + mov r8, [rsp+stack_use+40] + mov r9, [rsp+stack_use+48] + mov r14, [rsp+stack_use+56] mov r10, rdi lea r15, [rdi+128] Modified: trunk/src/experimental/lasieve4_64/x64/slinie1A.asm =================================================================== --- trunk/src/experimental/lasieve4_64/x64/slinie1A.asm 2011-10-22 07:34:27 UTC (rev 417) +++ trunk/src/experimental/lasieve4_64/x64/slinie1A.asm 2011-10-22 19:20:40 UTC (rev 418) @@ -77,6 +77,10 @@ %define j_per_strip_minus1 1 FRAME_PROC slinie1, 0, reg_save_list + mov rdi, rcx + mov rsi, rdx + mov rdx, r8 + cmp rsi, rdi jbe .3 sub rsi, 8 Modified: trunk/src/experimental/lasieve4_64/x64/slinie2A.asm =================================================================== --- trunk/src/experimental/lasieve4_64/x64/slinie2A.asm 2011-10-22 07:34:27 UTC (rev 417) +++ trunk/src/experimental/lasieve4_64/x64/slinie2A.asm 2011-10-22 19:20:40 UTC (rev 418) @@ -81,6 +81,9 @@ %define j_per_strip_minus1 1 FRAME_PROC slinie2, 0, reg_save_list + mov rdi, rcx + mov rsi, rdx + mov rdx, r8 cmp rsi, rdi jbe .3 Modified: trunk/src/experimental/lasieve4_64/x64/slinie3A.asm =================================================================== --- trunk/src/experimental/lasieve4_64/x64/slinie3A.asm 2011-10-22 07:34:27 UTC (rev 417) +++ trunk/src/experimental/lasieve4_64/x64/slinie3A.asm 2011-10-22 19:20:40 UTC (rev 418) @@ -87,6 +87,9 @@ %define j_per_strip_minus1 1 FRAME_PROC slinie3, 0, reg_save_list + mov rdi, rcx + mov rsi, rdx + mov rdx, r8 cmp rsi, rdi jbe .3 Modified: trunk/src/experimental/lasieve4_64/x64/tdsieve-from-sched.asm =================================================================== --- trunk/src/experimental/lasieve4_64/x64/tdsieve-from-sched.asm 2011-10-22 07:34:27 UTC (rev 417) +++ trunk/src/experimental/lasieve4_64/x64/tdsieve-from-sched.asm 2011-10-22 19:20:40 UTC (rev 418) @@ -15,7 +15,7 @@ mov rsi, rdx mov rdx, r8 mov rcx, r9 - mov r8, qword [rsp+stack_use+40] + mov r8, [rsp+stack_use+40] mov r9, [rdi] lea rsi, [rsi-12] This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |