=========================================================== .___ __ __ _________________ __ __ __| _/|__|/ |_ / ___\_` __ \__ \ | | \/ __ | | \\_ __\ / /_/ > | \// __ \| | / /_/ | | || | \___ /|__| (____ /____/\____ | |__||__| /_____/ \/ \/ grep rough audit - static analysis tool v2.8 written by @Wireghoul =================================[justanotherhacker.com]=== gmp-ecm-7.0.4+ds/athlon/Makefile.am:1:MULREDC = mulredc1.asm mulredc2.asm mulredc3.asm mulredc4.asm mulredc5.asm \ gmp-ecm-7.0.4+ds/athlon/Makefile.am:2: mulredc6.asm mulredc7.asm mulredc8.asm mulredc9.asm mulredc10.asm \ gmp-ecm-7.0.4+ds/athlon/Makefile.am:3: mulredc11.asm mulredc12.asm mulredc13.asm mulredc14.asm \ gmp-ecm-7.0.4+ds/athlon/Makefile.am:4: mulredc15.asm mulredc16.asm mulredc17.asm mulredc18.asm \ gmp-ecm-7.0.4+ds/athlon/Makefile.am:5: mulredc19.asm mulredc20.asm gmp-ecm-7.0.4+ds/athlon/Makefile.am-6- ############################################## gmp-ecm-7.0.4+ds/athlon/Makefile.am-10- gmp-ecm-7.0.4+ds/athlon/Makefile.am:11:# This library definition also causes the mulredc[n].asm and redc.asm files gmp-ecm-7.0.4+ds/athlon/Makefile.am-12-# to go in the distribution - no need for having them in EXTRA_DIST ############################################## gmp-ecm-7.0.4+ds/athlon/Makefile.am-15- gmp-ecm-7.0.4+ds/athlon/Makefile.am:16:# The asm code does not depend on any libraries except libc for abort() gmp-ecm-7.0.4+ds/athlon/Makefile.am-17-# if assertions are enabled ############################################## gmp-ecm-7.0.4+ds/athlon/Makefile.am-27-.asm.s: gmp-ecm-7.0.4+ds/athlon/Makefile.am:28: $(M4) -I../ -DOPERATION_$* `test -f $< || echo '$(srcdir)/'`$< >$*.s gmp-ecm-7.0.4+ds/athlon/Makefile.am-29-.asm.S: gmp-ecm-7.0.4+ds/athlon/Makefile.am:30: $(M4) -I../ -DOPERATION_$* `test -f $< || echo '$(srcdir)/'`$< >$*.S ############################################## gmp-ecm-7.0.4+ds/athlon/README:1:mulredc[1..20].s are size-specific asm code for mulredc. gmp-ecm-7.0.4+ds/athlon/README-2-These are generated by the Python script autogen.py. In order to avoid ############################################## gmp-ecm-7.0.4+ds/athlon/README-10- gmp-ecm-7.0.4+ds/athlon/README:11:This asm code uses no MMX/SSE2 instructions and should work on any x86 gmp-ecm-7.0.4+ds/athlon/README-12-computers. gmp-ecm-7.0.4+ds/athlon/README-13- gmp-ecm-7.0.4+ds/athlon/README:14:redc.asm is a version of redc separated from the multiplication, since gmp-ecm-7.0.4+ds/athlon/README-15-there are cases where it is needed. ############################################## gmp-ecm-7.0.4+ds/athlon/Makefile.dev-14-redc.s: redc.asm gmp-ecm-7.0.4+ds/athlon/Makefile.dev:15: m4 redc.asm > redc.s gmp-ecm-7.0.4+ds/athlon/Makefile.dev-16- ############################################## gmp-ecm-7.0.4+ds/athlon/Makefile.dev-34-clean: gmp-ecm-7.0.4+ds/athlon/Makefile.dev:35: rm redc.s *.o mulredc[0-9]*.s mulredc[0-9]*.asm test_mulredc gmp-ecm-7.0.4+ds/athlon/Makefile.dev-36- ############################################## gmp-ecm-7.0.4+ds/athlon/autogen.py-6- gmp-ecm-7.0.4+ds/athlon/autogen.py:7:def offaddr(addr, offset): gmp-ecm-7.0.4+ds/athlon/autogen.py-8- if offset == 0: ############################################## gmp-ecm-7.0.4+ds/athlon/autogen.py-12- gmp-ecm-7.0.4+ds/athlon/autogen.py:13:# Generate asm for addmul1_k gmp-ecm-7.0.4+ds/athlon/autogen.py-14-# src and dst are pointers (stored in regs) + offsets ############################################## gmp-ecm-7.0.4+ds/athlon/autogen.py-18-def addmul1_k(src, off_src, dst, off_dst, mult, k): gmp-ecm-7.0.4+ds/athlon/autogen.py:19: init = "### addmul1: src[0] is " + offaddr(src, off_src) + "\n" gmp-ecm-7.0.4+ds/athlon/autogen.py:20: init = init + "### dst[0] is " + offaddr(dst, off_dst) + "\n" gmp-ecm-7.0.4+ds/athlon/autogen.py-21- init = init + "### mult is " + mult + "\n" ############################################## gmp-ecm-7.0.4+ds/athlon/autogen.py-24- init = init + "### dst[0,k[ += mult*src[0,k[ plus carry put in ecx or ebx\n" gmp-ecm-7.0.4+ds/athlon/autogen.py:25: init = init + " movl " + offaddr(src, off_src) + ", %eax\n" gmp-ecm-7.0.4+ds/athlon/autogen.py-26- init = init + " mull " + mult + "\n" ############################################## gmp-ecm-7.0.4+ds/athlon/autogen.py-28- init = init + " movl %edx, %ecx\n" gmp-ecm-7.0.4+ds/athlon/autogen.py:29: init = init + " movl " + offaddr(src, off_src+4) + ", %eax\n" gmp-ecm-7.0.4+ds/athlon/autogen.py-30- ############################################## gmp-ecm-7.0.4+ds/athlon/autogen.py-46- blocki = re.sub('__cyhi__', cyhi, blocki) gmp-ecm-7.0.4+ds/athlon/autogen.py:47: blocki = re.sub('__xi2__', offaddr(src, off_src+(i+2)*4), blocki) gmp-ecm-7.0.4+ds/athlon/autogen.py:48: blocki = re.sub('__zi__', offaddr(dst, off_dst+i*4), blocki) gmp-ecm-7.0.4+ds/athlon/autogen.py-49- blocki = re.sub('__mult__', mult, blocki) ############################################## gmp-ecm-7.0.4+ds/athlon/autogen.py-55- final = " mull " + mult + "\n" gmp-ecm-7.0.4+ds/athlon/autogen.py:56: final = final + " addl " + cylo + ", " + offaddr(dst, off_dst+(k-2)*4) + "\n" gmp-ecm-7.0.4+ds/athlon/autogen.py-57- final = final + " adcl " + cyhi + ", %eax\n" gmp-ecm-7.0.4+ds/athlon/autogen.py-58- final = final + " adcl $0, %edx\n" gmp-ecm-7.0.4+ds/athlon/autogen.py:59: final = final + " addl %eax, " + offaddr(dst, off_dst+4*(k-1)) + "\n" gmp-ecm-7.0.4+ds/athlon/autogen.py-60- final = final + " adcl $0, %edx\n" ############################################## gmp-ecm-7.0.4+ds/athlon/autogen.py-68-def addmul1_k_var(src, off_src, dst, off_dst, mult, k): gmp-ecm-7.0.4+ds/athlon/autogen.py:69: init = "### addmul1: src[0] is " + offaddr(src, off_src) + "\n" gmp-ecm-7.0.4+ds/athlon/autogen.py:70: init = init + "### dst[0] is " + offaddr(dst, off_dst) + "\n" gmp-ecm-7.0.4+ds/athlon/autogen.py-71- init = init + "### mult is " + mult + "\n" ############################################## gmp-ecm-7.0.4+ds/athlon/autogen.py-90- for i in range(0,k): gmp-ecm-7.0.4+ds/athlon/autogen.py:91: blocki = re.sub('__xi__', offaddr(src, off_src+i*4), block) gmp-ecm-7.0.4+ds/athlon/autogen.py:92: blocki = re.sub('__zi__', offaddr(dst, off_dst+i*4), blocki) gmp-ecm-7.0.4+ds/athlon/autogen.py-93- code = code + blocki ############################################## gmp-ecm-7.0.4+ds/athlon/autogen.py-128- gmp-ecm-7.0.4+ds/athlon/autogen.py:129: INV_M = offaddr("%esp", 4*(2*k+1) + 40) gmp-ecm-7.0.4+ds/athlon/autogen.py:130: ADDR_M = offaddr("%esp", 4*(2*k+1) + 36) gmp-ecm-7.0.4+ds/athlon/autogen.py:131: ADDR_Y = offaddr("%esp", 4*(2*k+1) + 32) gmp-ecm-7.0.4+ds/athlon/autogen.py:132: ADDR_X = offaddr("%esp", 4*(2*k+1) + 28) gmp-ecm-7.0.4+ds/athlon/autogen.py:133: ADDR_Z = offaddr("%esp", 4*(2*k+1) + 24) gmp-ecm-7.0.4+ds/athlon/autogen.py-134- ############################################## gmp-ecm-7.0.4+ds/athlon/autogen.py-143- for i in range(0,2*k+1): gmp-ecm-7.0.4+ds/athlon/autogen.py:144: init = init + " movl $0, " + offaddr("%edi", 4*i) + "\n" gmp-ecm-7.0.4+ds/athlon/autogen.py-145- ############################################## gmp-ecm-7.0.4+ds/athlon/autogen.py-148- middle_code = "###########################################\n" gmp-ecm-7.0.4+ds/athlon/autogen.py:149: middle_code = middle_code + " movl $" + str(k) + ", " + offaddr("%esp", 4*(2*k+1)) + "\n" gmp-ecm-7.0.4+ds/athlon/autogen.py-150- middle_code = middle_code + """ ############################################## gmp-ecm-7.0.4+ds/athlon/autogen.py-166- middle_code = middle_code + codeaddmul gmp-ecm-7.0.4+ds/athlon/autogen.py:167: middle_code = middle_code + " addl " + carry + ", " + offaddr("%edi", 4*k) + "\n" gmp-ecm-7.0.4+ds/athlon/autogen.py:168: middle_code = middle_code + " adcl $0, " + offaddr("%edi", 4*(k+1)) + "\n" gmp-ecm-7.0.4+ds/athlon/autogen.py-169- middle_code = middle_code + " movl " + ADDR_X + ", %eax\n" ############################################## gmp-ecm-7.0.4+ds/athlon/autogen.py-173- middle_code = middle_code + codeaddmul gmp-ecm-7.0.4+ds/athlon/autogen.py:174: middle_code = middle_code + " addl " + carry + ", " + offaddr("%edi", 4*k) + "\n" gmp-ecm-7.0.4+ds/athlon/autogen.py:175: middle_code = middle_code + " adcl $0, " + offaddr("%edi", 4*(k+1)) + "\n\n" gmp-ecm-7.0.4+ds/athlon/autogen.py-176- middle_code = middle_code + " addl $4, " + ADDR_X + "\n addl $4, %edi\n" gmp-ecm-7.0.4+ds/athlon/autogen.py:177: middle_code = middle_code + " decl " + offaddr("%esp", 4*(2*k+1)) + "\n jnz Loop\n" gmp-ecm-7.0.4+ds/athlon/autogen.py-178- code = code + middle_code ############################################## gmp-ecm-7.0.4+ds/athlon/autogen.py-183- for i in range(0,k): gmp-ecm-7.0.4+ds/athlon/autogen.py:184: final = final + " movl " + offaddr("%edi", 4*i) + ", %eax\n" gmp-ecm-7.0.4+ds/athlon/autogen.py:185: final = final + " movl %eax, " + offaddr("%ebx", 4*i) + "\n" gmp-ecm-7.0.4+ds/athlon/autogen.py:186: final = final + " movl " + offaddr("%edi", 4*k) + ", %eax # carry\n" gmp-ecm-7.0.4+ds/athlon/autogen.py-187- final = final + " addl $" + str(4*(2*k+2)) + ", %esp\n" ############################################## gmp-ecm-7.0.4+ds/pentium4/Makefile.am:1:MULREDC = mulredc1.asm mulredc2.asm mulredc3.asm mulredc4.asm mulredc5.asm \ gmp-ecm-7.0.4+ds/pentium4/Makefile.am:2: mulredc6.asm mulredc7.asm mulredc8.asm mulredc9.asm mulredc10.asm \ gmp-ecm-7.0.4+ds/pentium4/Makefile.am:3: mulredc11.asm mulredc12.asm mulredc13.asm mulredc14.asm \ gmp-ecm-7.0.4+ds/pentium4/Makefile.am:4: mulredc15.asm mulredc16.asm mulredc17.asm mulredc18.asm \ gmp-ecm-7.0.4+ds/pentium4/Makefile.am:5: mulredc19.asm mulredc20.asm gmp-ecm-7.0.4+ds/pentium4/Makefile.am-6- ############################################## gmp-ecm-7.0.4+ds/pentium4/Makefile.am-11- gmp-ecm-7.0.4+ds/pentium4/Makefile.am:12:# This library definition also causes the mulredc[n].asm and redc.asm files gmp-ecm-7.0.4+ds/pentium4/Makefile.am-13-# to go in the distribution - no need for having them in EXTRA_DIST ############################################## gmp-ecm-7.0.4+ds/pentium4/Makefile.am-21- gmp-ecm-7.0.4+ds/pentium4/Makefile.am:22:# The asm code does not depend on any libraries except libc for abort() gmp-ecm-7.0.4+ds/pentium4/Makefile.am-23-# if assertions are enabled ############################################## gmp-ecm-7.0.4+ds/pentium4/Makefile.am-27-.asm.s: gmp-ecm-7.0.4+ds/pentium4/Makefile.am:28: $(M4) -I../ -DOPERATION_$* `test -f $< || echo '$(srcdir)/'`$< >$*.s gmp-ecm-7.0.4+ds/pentium4/Makefile.am-29-.asm.S: gmp-ecm-7.0.4+ds/pentium4/Makefile.am:30: $(M4) -I../ -DOPERATION_$* `test -f $< || echo '$(srcdir)/'`$< >$*.S ############################################## gmp-ecm-7.0.4+ds/pentium4/README:1:mulredc[1..20].s are size-specific asm code for mulredc. gmp-ecm-7.0.4+ds/pentium4/README-2-These are generated by the Python script autogen.py. In order to avoid ############################################## gmp-ecm-7.0.4+ds/pentium4/README-10- gmp-ecm-7.0.4+ds/pentium4/README:11:This asm code uses MMX/SSE2 instructions and might not work on old x86 gmp-ecm-7.0.4+ds/pentium4/README-12-computers. If you have this problem, you should reconfigure with ############################################## gmp-ecm-7.0.4+ds/pentium4/README-14- gmp-ecm-7.0.4+ds/pentium4/README:15:redc.asm is a version of redc separated from the multiplication, since gmp-ecm-7.0.4+ds/pentium4/README-16-there are cases where it is needed. ############################################## gmp-ecm-7.0.4+ds/pentium4/Makefile.dev-14-redc.s: redc.asm gmp-ecm-7.0.4+ds/pentium4/Makefile.dev:15: m4 redc.asm > redc.s gmp-ecm-7.0.4+ds/pentium4/Makefile.dev-16- ############################################## gmp-ecm-7.0.4+ds/pentium4/Makefile.dev-34-clean: gmp-ecm-7.0.4+ds/pentium4/Makefile.dev:35: rm redc.s *.o mulredc[0-9]*.s mulredc[0-9]*.asm test_mulredc gmp-ecm-7.0.4+ds/pentium4/Makefile.dev-36- ############################################## gmp-ecm-7.0.4+ds/pentium4/autogen.py-6- gmp-ecm-7.0.4+ds/pentium4/autogen.py:7:def offaddr(addr, offset): gmp-ecm-7.0.4+ds/pentium4/autogen.py-8- if offset == 0: ############################################## gmp-ecm-7.0.4+ds/pentium4/autogen.py-12- gmp-ecm-7.0.4+ds/pentium4/autogen.py:13:# Generate asm for addmul1_k gmp-ecm-7.0.4+ds/pentium4/autogen.py-14-# src and dst are pointers (stored in regs) + offsets ############################################## gmp-ecm-7.0.4+ds/pentium4/autogen.py-18-def addmul1_k(src, off_src, dst, off_dst, mult, k): gmp-ecm-7.0.4+ds/pentium4/autogen.py:19: init = "### addmul1: src[0] is " + offaddr(src, off_src) + "\n" gmp-ecm-7.0.4+ds/pentium4/autogen.py:20: init = init + "### dst[0] is " + offaddr(dst, off_dst) + "\n" gmp-ecm-7.0.4+ds/pentium4/autogen.py-21- init = init + "### mult is " + mult + "\n" ############################################## gmp-ecm-7.0.4+ds/pentium4/autogen.py-24- init = init + "### dst[0,k[ += mult*src[0,k[ plus carry put in ecx or ebx\n" gmp-ecm-7.0.4+ds/pentium4/autogen.py:25: init = init + " movl " + offaddr(src, off_src) + ", %eax\n" gmp-ecm-7.0.4+ds/pentium4/autogen.py-26- init = init + " mull " + mult + "\n" ############################################## gmp-ecm-7.0.4+ds/pentium4/autogen.py-45- blocki = re.sub('__cyhi__', cyhi, blocki) gmp-ecm-7.0.4+ds/pentium4/autogen.py:46: blocki = re.sub('__xii__', offaddr(src, off_src+(i+1)*4), blocki) gmp-ecm-7.0.4+ds/pentium4/autogen.py:47: blocki = re.sub('__zi__', offaddr(dst, off_dst+i*4), blocki) gmp-ecm-7.0.4+ds/pentium4/autogen.py-48- blocki = re.sub('__mult__', mult, blocki) ############################################## gmp-ecm-7.0.4+ds/pentium4/autogen.py-53- gmp-ecm-7.0.4+ds/pentium4/autogen.py:54: final = " addl " + cylo + ", " + offaddr(dst, off_dst+4*(k-1)) + "\n" gmp-ecm-7.0.4+ds/pentium4/autogen.py-55- final = final + " adcl $0, " + cyhi + "\n" ############################################## gmp-ecm-7.0.4+ds/pentium4/autogen.py-63-def addmul1_k_var(src, off_src, dst, off_dst, mult, k): gmp-ecm-7.0.4+ds/pentium4/autogen.py:64: init = "### addmul1: src[0] is " + offaddr(src, off_src) + "\n" gmp-ecm-7.0.4+ds/pentium4/autogen.py:65: init = init + "### dst[0] is " + offaddr(dst, off_dst) + "\n" gmp-ecm-7.0.4+ds/pentium4/autogen.py-66- init = init + "### mult is " + mult + "\n" ############################################## gmp-ecm-7.0.4+ds/pentium4/autogen.py-85- for i in range(0,k): gmp-ecm-7.0.4+ds/pentium4/autogen.py:86: blocki = re.sub('__xi__', offaddr(src, off_src+i*4), block) gmp-ecm-7.0.4+ds/pentium4/autogen.py:87: blocki = re.sub('__zi__', offaddr(dst, off_dst+i*4), blocki) gmp-ecm-7.0.4+ds/pentium4/autogen.py-88- code = code + blocki ############################################## gmp-ecm-7.0.4+ds/pentium4/autogen.py-123- gmp-ecm-7.0.4+ds/pentium4/autogen.py:124: INV_M = offaddr("%esp", 4*(2*k+1) + 40) gmp-ecm-7.0.4+ds/pentium4/autogen.py:125: ADDR_M = offaddr("%esp", 4*(2*k+1) + 36) gmp-ecm-7.0.4+ds/pentium4/autogen.py:126: ADDR_Y = offaddr("%esp", 4*(2*k+1) + 32) gmp-ecm-7.0.4+ds/pentium4/autogen.py:127: ADDR_X = offaddr("%esp", 4*(2*k+1) + 28) gmp-ecm-7.0.4+ds/pentium4/autogen.py:128: ADDR_Z = offaddr("%esp", 4*(2*k+1) + 24) gmp-ecm-7.0.4+ds/pentium4/autogen.py-129- ############################################## gmp-ecm-7.0.4+ds/pentium4/autogen.py-138- for i in range(0,2*k+1): gmp-ecm-7.0.4+ds/pentium4/autogen.py:139: init = init + " movl $0, " + offaddr("%edi", 4*i) + "\n" gmp-ecm-7.0.4+ds/pentium4/autogen.py-140- ############################################## gmp-ecm-7.0.4+ds/pentium4/autogen.py-143- middle_code = "###########################################\n" gmp-ecm-7.0.4+ds/pentium4/autogen.py:144: middle_code = middle_code + " movl $" + str(k) + ", " + offaddr("%esp", 4*(2*k+1)) + "\n" gmp-ecm-7.0.4+ds/pentium4/autogen.py-145- middle_code = middle_code + """ ############################################## gmp-ecm-7.0.4+ds/pentium4/autogen.py-161- middle_code = middle_code + codeaddmul gmp-ecm-7.0.4+ds/pentium4/autogen.py:162: middle_code = middle_code + " addl " + carry + ", " + offaddr("%edi", 4*k) + "\n" gmp-ecm-7.0.4+ds/pentium4/autogen.py:163: middle_code = middle_code + " adcl $0, " + offaddr("%edi", 4*(k+1)) + "\n" gmp-ecm-7.0.4+ds/pentium4/autogen.py-164- middle_code = middle_code + " movl " + ADDR_X + ", %eax\n" ############################################## gmp-ecm-7.0.4+ds/pentium4/autogen.py-168- middle_code = middle_code + codeaddmul gmp-ecm-7.0.4+ds/pentium4/autogen.py:169: middle_code = middle_code + " addl " + carry + ", " + offaddr("%edi", 4*k) + "\n" gmp-ecm-7.0.4+ds/pentium4/autogen.py:170: middle_code = middle_code + " adcl $0, " + offaddr("%edi", 4*(k+1)) + "\n\n" gmp-ecm-7.0.4+ds/pentium4/autogen.py-171- middle_code = middle_code + " addl $4, " + ADDR_X + "\n addl $4, %edi\n" gmp-ecm-7.0.4+ds/pentium4/autogen.py:172: middle_code = middle_code + " decl " + offaddr("%esp", 4*(2*k+1)) + "\n jnz Loop\n" gmp-ecm-7.0.4+ds/pentium4/autogen.py-173- code = code + middle_code ############################################## gmp-ecm-7.0.4+ds/pentium4/autogen.py-178- for i in range(0,k): gmp-ecm-7.0.4+ds/pentium4/autogen.py:179: final = final + " movl " + offaddr("%edi", 4*i) + ", %eax\n" gmp-ecm-7.0.4+ds/pentium4/autogen.py:180: final = final + " movl %eax, " + offaddr("%ebx", 4*i) + "\n" gmp-ecm-7.0.4+ds/pentium4/autogen.py:181: final = final + " movl " + offaddr("%edi", 4*k) + ", %eax # carry\n" gmp-ecm-7.0.4+ds/pentium4/autogen.py-182- final = final + " addl $" + str(4*(2*k+2)) + ", %esp\n" ############################################## gmp-ecm-7.0.4+ds/powerpc64/Makefile.am:1:MULREDC = mulredc1.asm mulredc2.asm mulredc3.asm mulredc4.asm mulredc5.asm \ gmp-ecm-7.0.4+ds/powerpc64/Makefile.am:2: mulredc6.asm mulredc7.asm mulredc8.asm mulredc9.asm mulredc10.asm \ gmp-ecm-7.0.4+ds/powerpc64/Makefile.am:3: mulredc11.asm mulredc12.asm mulredc13.asm mulredc14.asm \ gmp-ecm-7.0.4+ds/powerpc64/Makefile.am:4: mulredc15.asm mulredc16.asm mulredc17.asm mulredc18.asm \ gmp-ecm-7.0.4+ds/powerpc64/Makefile.am:5: mulredc19.asm mulredc20.asm gmp-ecm-7.0.4+ds/powerpc64/Makefile.am-6- ############################################## gmp-ecm-7.0.4+ds/powerpc64/Makefile.am-12- gmp-ecm-7.0.4+ds/powerpc64/Makefile.am:13:# This library definition also causes the mulredc[n].asm and redc.asm files gmp-ecm-7.0.4+ds/powerpc64/Makefile.am-14-# to go in the distribution - no need for having them in EXTRA_DIST ############################################## gmp-ecm-7.0.4+ds/powerpc64/Makefile.am-22- gmp-ecm-7.0.4+ds/powerpc64/Makefile.am:23:# The asm code does not depend on any libraries except libc for abort() gmp-ecm-7.0.4+ds/powerpc64/Makefile.am-24-# if assertions are enabled ############################################## gmp-ecm-7.0.4+ds/powerpc64/Makefile.am-27- gmp-ecm-7.0.4+ds/powerpc64/Makefile.am:28:# Rules for generating the .asm files from the .m4 scripts gmp-ecm-7.0.4+ds/powerpc64/Makefile.am-29-mulredc1.asm: mulredc_1_2.m4 ############################################## gmp-ecm-7.0.4+ds/powerpc64/Makefile.am-70-.asm.s: gmp-ecm-7.0.4+ds/powerpc64/Makefile.am:71: $(M4) -I../ -DOPERATION_$* `test -f $< || echo '$(srcdir)/'`$< >$*.s gmp-ecm-7.0.4+ds/powerpc64/Makefile.am-72-#.asm.S: gmp-ecm-7.0.4+ds/powerpc64/Makefile.am:73:# $(M4) -I../ -DOPERATION_$* `test -f $< || echo '$(srcdir)/'`$< >$*.S ############################################## gmp-ecm-7.0.4+ds/powerpc64/README-5- gmp-ecm-7.0.4+ds/powerpc64/README:6:mulredc[1..20].asm are size-specific asm functions for mulredc. gmp-ecm-7.0.4+ds/powerpc64/README-7-Sizes 1 and 2 may be regenerated by the m4 script mulredc_1_2.m4. ############################################## gmp-ecm-7.0.4+ds/powerpc64/README-26- gmp-ecm-7.0.4+ds/powerpc64/README:27:redc.asm is a version of redc separated from the multiplication, since gmp-ecm-7.0.4+ds/powerpc64/README-28-there are cases where it is needed. ############################################## gmp-ecm-7.0.4+ds/powerpc64/redc.asm-36- gmp-ecm-7.0.4+ds/powerpc64/redc.asm:37:dnl Use `C' to remove comments in .asm -> .s conversion. gmp-ecm-7.0.4+ds/powerpc64/redc.asm-38-dnl Copied from GMP 4.2. ############################################## gmp-ecm-7.0.4+ds/powerpc64/Makefile.dev-14-redc.s: redc.asm gmp-ecm-7.0.4+ds/powerpc64/Makefile.dev:15: m4 -I../ redc.asm > redc.s gmp-ecm-7.0.4+ds/powerpc64/Makefile.dev-16- ############################################## gmp-ecm-7.0.4+ds/powerpc64/Makefile.dev-40-clean: gmp-ecm-7.0.4+ds/powerpc64/Makefile.dev:41: rm redc.s *.o mulredc[0-9]*.s mulredc[0-9]*.asm test_mulredc gmp-ecm-7.0.4+ds/powerpc64/Makefile.dev-42- ############################################## gmp-ecm-7.0.4+ds/powerpc64/mulredc_1_2.m4-21- gmp-ecm-7.0.4+ds/powerpc64/mulredc_1_2.m4:22:dnl Use `C' to remove comments in .asm -> .s conversion. gmp-ecm-7.0.4+ds/powerpc64/mulredc_1_2.m4-23-dnl Copied from GMP 4.2. ############################################## gmp-ecm-7.0.4+ds/powerpc64/mulredc_1_2.m4-50- gmp-ecm-7.0.4+ds/powerpc64/mulredc_1_2.m4:51:define(`forloop', `pushdef(`$1', `$2')_forloop(`$1', `$2', `$3', `$4')popdef(`$1')') gmp-ecm-7.0.4+ds/powerpc64/mulredc_1_2.m4-52-define(`_forloop', gmp-ecm-7.0.4+ds/powerpc64/mulredc_1_2.m4:53: `$4`'ifelse($1, `$3', , gmp-ecm-7.0.4+ds/powerpc64/mulredc_1_2.m4:54: `define(`$1', incr($1))_forloop(`$1', `$2', `$3', `$4')')') gmp-ecm-7.0.4+ds/powerpc64/mulredc_1_2.m4-55-divert ############################################## gmp-ecm-7.0.4+ds/powerpc64/mulredc.m4-21- gmp-ecm-7.0.4+ds/powerpc64/mulredc.m4:22:dnl Use `C' to remove comments in .asm -> .s conversion. gmp-ecm-7.0.4+ds/powerpc64/mulredc.m4-23-dnl Copied from GMP 4.2. ############################################## gmp-ecm-7.0.4+ds/powerpc64/mulredc.m4-41- gmp-ecm-7.0.4+ds/powerpc64/mulredc.m4:42:define(`forloop', `pushdef(`$1', `$2')_forloop(`$1', `$2', `$3', `$4')popdef(`$1')') gmp-ecm-7.0.4+ds/powerpc64/mulredc.m4-43-define(`_forloop', gmp-ecm-7.0.4+ds/powerpc64/mulredc.m4:44: `$4`'ifelse($1, `$3', , gmp-ecm-7.0.4+ds/powerpc64/mulredc.m4:45: `define(`$1', incr($1))_forloop(`$1', `$2', `$3', `$4')')') gmp-ecm-7.0.4+ds/powerpc64/mulredc.m4-46-divert ############################################## gmp-ecm-7.0.4+ds/x86_64/Makefile.am:1:MULREDC = mulredc1.asm mulredc2.asm mulredc3.asm mulredc4.asm mulredc5.asm mulredc6.asm \ gmp-ecm-7.0.4+ds/x86_64/Makefile.am:2: mulredc7.asm mulredc8.asm mulredc9.asm mulredc10.asm mulredc11.asm \ gmp-ecm-7.0.4+ds/x86_64/Makefile.am:3: mulredc12.asm mulredc13.asm mulredc14.asm mulredc15.asm mulredc16.asm \ gmp-ecm-7.0.4+ds/x86_64/Makefile.am:4: mulredc17.asm mulredc18.asm mulredc19.asm mulredc20.asm gmp-ecm-7.0.4+ds/x86_64/Makefile.am:5:MULREDC1 = mulredc1_2.asm mulredc1_3.asm mulredc1_4.asm mulredc1_5.asm \ gmp-ecm-7.0.4+ds/x86_64/Makefile.am:6: mulredc1_6.asm mulredc1_7.asm mulredc1_8.asm mulredc1_9.asm mulredc1_10.asm \ gmp-ecm-7.0.4+ds/x86_64/Makefile.am:7: mulredc1_11.asm mulredc1_12.asm mulredc1_13.asm mulredc1_14.asm \ gmp-ecm-7.0.4+ds/x86_64/Makefile.am:8: mulredc1_15.asm mulredc1_16.asm mulredc1_17.asm mulredc1_18.asm \ gmp-ecm-7.0.4+ds/x86_64/Makefile.am:9: mulredc1_19.asm mulredc1_20.asm gmp-ecm-7.0.4+ds/x86_64/Makefile.am-10-EXTRA_DIST = autogen.py generate_all mulredc.m4 mulredc1.m4 ############################################## gmp-ecm-7.0.4+ds/x86_64/Makefile.am-14- gmp-ecm-7.0.4+ds/x86_64/Makefile.am:15:# This library definition also causes the mulredc[n].asm and mulredc1_[n].asm gmp-ecm-7.0.4+ds/x86_64/Makefile.am-16-# files to go in the distribution - no need for having them in EXTRA_DIST ############################################## gmp-ecm-7.0.4+ds/x86_64/Makefile.am-23- gmp-ecm-7.0.4+ds/x86_64/Makefile.am:24:# The asm code does not depend on any libraries except libc for abort() gmp-ecm-7.0.4+ds/x86_64/Makefile.am-25-# if assertions are enabled ############################################## gmp-ecm-7.0.4+ds/x86_64/Makefile.am-108-.asm.s: gmp-ecm-7.0.4+ds/x86_64/Makefile.am:109: $(M4) -I../ -DOPERATION_$* `test -f $< || echo '$(srcdir)/'`$< >$*.s gmp-ecm-7.0.4+ds/x86_64/Makefile.am-110-# Nothing here needs the C preprocessor, and including this rule causes ############################################## gmp-ecm-7.0.4+ds/x86_64/Makefile.am-113-#.asm.S: gmp-ecm-7.0.4+ds/x86_64/Makefile.am:114:# $(M4) -I../ -DOPERATION_$* `test -f $< || echo '$(srcdir)/'`$< >$*.S ############################################## gmp-ecm-7.0.4+ds/x86_64/README:1:mulredc[1..20].asm are size-specific asm functions for mulredc. gmp-ecm-7.0.4+ds/x86_64/README-2-These are generated by the Python autogen.py script (old version, still ############################################## gmp-ecm-7.0.4+ds/x86_64/mulredc2.asm-9-# This stuff is run through M4 twice, first when generating the gmp-ecm-7.0.4+ds/x86_64/mulredc2.asm:10:# mulredc*.asm files from the mulredc.m4 file (when preparing the distro) gmp-ecm-7.0.4+ds/x86_64/mulredc2.asm:11:# and again when generating the mulredc*.s files from the mulredc*.asm files gmp-ecm-7.0.4+ds/x86_64/mulredc2.asm-12-# when the user compiles the program. ############################################## gmp-ecm-7.0.4+ds/x86_64/mulredc3.asm-9-# This stuff is run through M4 twice, first when generating the gmp-ecm-7.0.4+ds/x86_64/mulredc3.asm:10:# mulredc*.asm files from the mulredc.m4 file (when preparing the distro) gmp-ecm-7.0.4+ds/x86_64/mulredc3.asm:11:# and again when generating the mulredc*.s files from the mulredc*.asm files gmp-ecm-7.0.4+ds/x86_64/mulredc3.asm-12-# when the user compiles the program. ############################################## gmp-ecm-7.0.4+ds/x86_64/mulredc4.asm-9-# This stuff is run through M4 twice, first when generating the gmp-ecm-7.0.4+ds/x86_64/mulredc4.asm:10:# mulredc*.asm files from the mulredc.m4 file (when preparing the distro) gmp-ecm-7.0.4+ds/x86_64/mulredc4.asm:11:# and again when generating the mulredc*.s files from the mulredc*.asm files gmp-ecm-7.0.4+ds/x86_64/mulredc4.asm-12-# when the user compiles the program. ############################################## gmp-ecm-7.0.4+ds/x86_64/mulredc5.asm-9-# This stuff is run through M4 twice, first when generating the gmp-ecm-7.0.4+ds/x86_64/mulredc5.asm:10:# mulredc*.asm files from the mulredc.m4 file (when preparing the distro) gmp-ecm-7.0.4+ds/x86_64/mulredc5.asm:11:# and again when generating the mulredc*.s files from the mulredc*.asm files gmp-ecm-7.0.4+ds/x86_64/mulredc5.asm-12-# when the user compiles the program. ############################################## gmp-ecm-7.0.4+ds/x86_64/mulredc6.asm-9-# This stuff is run through M4 twice, first when generating the gmp-ecm-7.0.4+ds/x86_64/mulredc6.asm:10:# mulredc*.asm files from the mulredc.m4 file (when preparing the distro) gmp-ecm-7.0.4+ds/x86_64/mulredc6.asm:11:# and again when generating the mulredc*.s files from the mulredc*.asm files gmp-ecm-7.0.4+ds/x86_64/mulredc6.asm-12-# when the user compiles the program. ############################################## gmp-ecm-7.0.4+ds/x86_64/mulredc7.asm-9-# This stuff is run through M4 twice, first when generating the gmp-ecm-7.0.4+ds/x86_64/mulredc7.asm:10:# mulredc*.asm files from the mulredc.m4 file (when preparing the distro) gmp-ecm-7.0.4+ds/x86_64/mulredc7.asm:11:# and again when generating the mulredc*.s files from the mulredc*.asm files gmp-ecm-7.0.4+ds/x86_64/mulredc7.asm-12-# when the user compiles the program. ############################################## gmp-ecm-7.0.4+ds/x86_64/mulredc8.asm-9-# This stuff is run through M4 twice, first when generating the gmp-ecm-7.0.4+ds/x86_64/mulredc8.asm:10:# mulredc*.asm files from the mulredc.m4 file (when preparing the distro) gmp-ecm-7.0.4+ds/x86_64/mulredc8.asm:11:# and again when generating the mulredc*.s files from the mulredc*.asm files gmp-ecm-7.0.4+ds/x86_64/mulredc8.asm-12-# when the user compiles the program. ############################################## gmp-ecm-7.0.4+ds/x86_64/mulredc9.asm-9-# This stuff is run through M4 twice, first when generating the gmp-ecm-7.0.4+ds/x86_64/mulredc9.asm:10:# mulredc*.asm files from the mulredc.m4 file (when preparing the distro) gmp-ecm-7.0.4+ds/x86_64/mulredc9.asm:11:# and again when generating the mulredc*.s files from the mulredc*.asm files gmp-ecm-7.0.4+ds/x86_64/mulredc9.asm-12-# when the user compiles the program. ############################################## gmp-ecm-7.0.4+ds/x86_64/mulredc10.asm-9-# This stuff is run through M4 twice, first when generating the gmp-ecm-7.0.4+ds/x86_64/mulredc10.asm:10:# mulredc*.asm files from the mulredc.m4 file (when preparing the distro) gmp-ecm-7.0.4+ds/x86_64/mulredc10.asm:11:# and again when generating the mulredc*.s files from the mulredc*.asm files gmp-ecm-7.0.4+ds/x86_64/mulredc10.asm-12-# when the user compiles the program. ############################################## gmp-ecm-7.0.4+ds/x86_64/mulredc11.asm-9-# This stuff is run through M4 twice, first when generating the gmp-ecm-7.0.4+ds/x86_64/mulredc11.asm:10:# mulredc*.asm files from the mulredc.m4 file (when preparing the distro) gmp-ecm-7.0.4+ds/x86_64/mulredc11.asm:11:# and again when generating the mulredc*.s files from the mulredc*.asm files gmp-ecm-7.0.4+ds/x86_64/mulredc11.asm-12-# when the user compiles the program. ############################################## gmp-ecm-7.0.4+ds/x86_64/mulredc12.asm-9-# This stuff is run through M4 twice, first when generating the gmp-ecm-7.0.4+ds/x86_64/mulredc12.asm:10:# mulredc*.asm files from the mulredc.m4 file (when preparing the distro) gmp-ecm-7.0.4+ds/x86_64/mulredc12.asm:11:# and again when generating the mulredc*.s files from the mulredc*.asm files gmp-ecm-7.0.4+ds/x86_64/mulredc12.asm-12-# when the user compiles the program. ############################################## gmp-ecm-7.0.4+ds/x86_64/mulredc13.asm-9-# This stuff is run through M4 twice, first when generating the gmp-ecm-7.0.4+ds/x86_64/mulredc13.asm:10:# mulredc*.asm files from the mulredc.m4 file (when preparing the distro) gmp-ecm-7.0.4+ds/x86_64/mulredc13.asm:11:# and again when generating the mulredc*.s files from the mulredc*.asm files gmp-ecm-7.0.4+ds/x86_64/mulredc13.asm-12-# when the user compiles the program. ############################################## gmp-ecm-7.0.4+ds/x86_64/mulredc14.asm-9-# This stuff is run through M4 twice, first when generating the gmp-ecm-7.0.4+ds/x86_64/mulredc14.asm:10:# mulredc*.asm files from the mulredc.m4 file (when preparing the distro) gmp-ecm-7.0.4+ds/x86_64/mulredc14.asm:11:# and again when generating the mulredc*.s files from the mulredc*.asm files gmp-ecm-7.0.4+ds/x86_64/mulredc14.asm-12-# when the user compiles the program. ############################################## gmp-ecm-7.0.4+ds/x86_64/mulredc15.asm-9-# This stuff is run through M4 twice, first when generating the gmp-ecm-7.0.4+ds/x86_64/mulredc15.asm:10:# mulredc*.asm files from the mulredc.m4 file (when preparing the distro) gmp-ecm-7.0.4+ds/x86_64/mulredc15.asm:11:# and again when generating the mulredc*.s files from the mulredc*.asm files gmp-ecm-7.0.4+ds/x86_64/mulredc15.asm-12-# when the user compiles the program. ############################################## gmp-ecm-7.0.4+ds/x86_64/mulredc16.asm-9-# This stuff is run through M4 twice, first when generating the gmp-ecm-7.0.4+ds/x86_64/mulredc16.asm:10:# mulredc*.asm files from the mulredc.m4 file (when preparing the distro) gmp-ecm-7.0.4+ds/x86_64/mulredc16.asm:11:# and again when generating the mulredc*.s files from the mulredc*.asm files gmp-ecm-7.0.4+ds/x86_64/mulredc16.asm-12-# when the user compiles the program. ############################################## gmp-ecm-7.0.4+ds/x86_64/mulredc17.asm-9-# This stuff is run through M4 twice, first when generating the gmp-ecm-7.0.4+ds/x86_64/mulredc17.asm:10:# mulredc*.asm files from the mulredc.m4 file (when preparing the distro) gmp-ecm-7.0.4+ds/x86_64/mulredc17.asm:11:# and again when generating the mulredc*.s files from the mulredc*.asm files gmp-ecm-7.0.4+ds/x86_64/mulredc17.asm-12-# when the user compiles the program. ############################################## gmp-ecm-7.0.4+ds/x86_64/mulredc18.asm-9-# This stuff is run through M4 twice, first when generating the gmp-ecm-7.0.4+ds/x86_64/mulredc18.asm:10:# mulredc*.asm files from the mulredc.m4 file (when preparing the distro) gmp-ecm-7.0.4+ds/x86_64/mulredc18.asm:11:# and again when generating the mulredc*.s files from the mulredc*.asm files gmp-ecm-7.0.4+ds/x86_64/mulredc18.asm-12-# when the user compiles the program. ############################################## gmp-ecm-7.0.4+ds/x86_64/mulredc19.asm-9-# This stuff is run through M4 twice, first when generating the gmp-ecm-7.0.4+ds/x86_64/mulredc19.asm:10:# mulredc*.asm files from the mulredc.m4 file (when preparing the distro) gmp-ecm-7.0.4+ds/x86_64/mulredc19.asm:11:# and again when generating the mulredc*.s files from the mulredc*.asm files gmp-ecm-7.0.4+ds/x86_64/mulredc19.asm-12-# when the user compiles the program. ############################################## gmp-ecm-7.0.4+ds/x86_64/mulredc20.asm-9-# This stuff is run through M4 twice, first when generating the gmp-ecm-7.0.4+ds/x86_64/mulredc20.asm:10:# mulredc*.asm files from the mulredc.m4 file (when preparing the distro) gmp-ecm-7.0.4+ds/x86_64/mulredc20.asm:11:# and again when generating the mulredc*.s files from the mulredc*.asm files gmp-ecm-7.0.4+ds/x86_64/mulredc20.asm-12-# when the user compiles the program. ############################################## gmp-ecm-7.0.4+ds/x86_64/autogen.py-6- gmp-ecm-7.0.4+ds/x86_64/autogen.py:7:def offaddr(addr, offset): gmp-ecm-7.0.4+ds/x86_64/autogen.py-8- if offset == 0: ############################################## gmp-ecm-7.0.4+ds/x86_64/autogen.py-12- gmp-ecm-7.0.4+ds/x86_64/autogen.py:13:# Generate asm for addmul1_k gmp-ecm-7.0.4+ds/x86_64/autogen.py-14-# src and dst are pointers (stored in regs) + offsets ############################################## gmp-ecm-7.0.4+ds/x86_64/autogen.py-20-def addmul1_k(src, off_src, dst, off_dst, mult, k): gmp-ecm-7.0.4+ds/x86_64/autogen.py:21: init = "### addmul1: src[0] is " + offaddr(src, off_src) + "\n" gmp-ecm-7.0.4+ds/x86_64/autogen.py:22: init = init + "### dst[0] is " + offaddr(dst, off_dst) + "\n" gmp-ecm-7.0.4+ds/x86_64/autogen.py-23- init = init + "### mult is " + mult + "\n" ############################################## gmp-ecm-7.0.4+ds/x86_64/autogen.py-26- init = init + "### dst[0,k[ += mult*src[0,k[ plus carry put in rcx or rbx\n" gmp-ecm-7.0.4+ds/x86_64/autogen.py:27: init = init + " movq " + offaddr(src, off_src) + ", %rax\n" gmp-ecm-7.0.4+ds/x86_64/autogen.py-28- init = init + " mulq " + mult + "\n" ############################################## gmp-ecm-7.0.4+ds/x86_64/autogen.py-47- blocki = re.sub('__cyhi__', cyhi, blocki) gmp-ecm-7.0.4+ds/x86_64/autogen.py:48: blocki = re.sub('__xii__', offaddr(src, off_src+(i+1)*8), blocki) gmp-ecm-7.0.4+ds/x86_64/autogen.py:49: blocki = re.sub('__zi__', offaddr(dst, off_dst+i*8), blocki) gmp-ecm-7.0.4+ds/x86_64/autogen.py-50- blocki = re.sub('__mult__', mult, blocki) ############################################## gmp-ecm-7.0.4+ds/x86_64/autogen.py-55- gmp-ecm-7.0.4+ds/x86_64/autogen.py:56: final = " addq " + cylo + ", " + offaddr(dst, off_dst+8*(k-1)) + "\n" gmp-ecm-7.0.4+ds/x86_64/autogen.py-57- final = final + " adcq $0, " + cyhi + "\n" ############################################## gmp-ecm-7.0.4+ds/x86_64/autogen.py-66-def mul1_k(src, off_src, dst, off_dst, mult, k): gmp-ecm-7.0.4+ds/x86_64/autogen.py:67: init = "### mul1: src[0] is " + offaddr(src, off_src) + "\n" gmp-ecm-7.0.4+ds/x86_64/autogen.py:68: init = init + "### dst[0] is " + offaddr(dst, off_dst) + "\n" gmp-ecm-7.0.4+ds/x86_64/autogen.py-69- init = init + "### mult is " + mult + "\n" ############################################## gmp-ecm-7.0.4+ds/x86_64/autogen.py-72- init = init + "### dst[0,k[ = mult*src[0,k[ plus carry put in rcx or rbx\n" gmp-ecm-7.0.4+ds/x86_64/autogen.py:73: init = init + " movq " + offaddr(src, off_src) + ", %rax\n" gmp-ecm-7.0.4+ds/x86_64/autogen.py-74- init = init + " mulq " + mult + "\n" ############################################## gmp-ecm-7.0.4+ds/x86_64/autogen.py-93- blocki = re.sub('__cyhi__', cyhi, blocki) gmp-ecm-7.0.4+ds/x86_64/autogen.py:94: blocki = re.sub('__xii__', offaddr(src, off_src+(i+1)*8), blocki) gmp-ecm-7.0.4+ds/x86_64/autogen.py:95: blocki = re.sub('__zi__', offaddr(dst, off_dst+i*8), blocki) gmp-ecm-7.0.4+ds/x86_64/autogen.py-96- blocki = re.sub('__mult__', mult, blocki) ############################################## gmp-ecm-7.0.4+ds/x86_64/autogen.py-101- gmp-ecm-7.0.4+ds/x86_64/autogen.py:102: final = " movq " + cylo + ", " + offaddr(dst, off_dst+8*(k-1)) + "\n" gmp-ecm-7.0.4+ds/x86_64/autogen.py-103- final = final + "### carry limb is in " + cyhi + "\n" ############################################## gmp-ecm-7.0.4+ds/x86_64/autogen.py-140- for i in range(0,2*k+1): gmp-ecm-7.0.4+ds/x86_64/autogen.py:141: init = init + " movq $0, " + offaddr("%rsp", 8*i) + "\n" gmp-ecm-7.0.4+ds/x86_64/autogen.py-142- ############################################## gmp-ecm-7.0.4+ds/x86_64/autogen.py-158- middle_code = middle_code + codeaddmul gmp-ecm-7.0.4+ds/x86_64/autogen.py:159: middle_code = middle_code + " addq " + carry + ", " + offaddr("%rsp", 8*k) + "\n" gmp-ecm-7.0.4+ds/x86_64/autogen.py:160: middle_code = middle_code + " adcq $0, " + offaddr("%rsp", 8*(k+1)) + "\n" gmp-ecm-7.0.4+ds/x86_64/autogen.py-161- middle_code = middle_code + " movq (%rsi), %r9\n" ############################################## gmp-ecm-7.0.4+ds/x86_64/autogen.py-163- middle_code = middle_code + codeaddmul gmp-ecm-7.0.4+ds/x86_64/autogen.py:164: middle_code = middle_code + " addq " + carry + ", " + offaddr("%rsp", 8*k) + "\n" gmp-ecm-7.0.4+ds/x86_64/autogen.py:165: middle_code = middle_code + " adcq $0, " + offaddr("%rsp", 8*(k+1)) + "\n\n" gmp-ecm-7.0.4+ds/x86_64/autogen.py-166- middle_code = middle_code + """ ############################################## gmp-ecm-7.0.4+ds/x86_64/autogen.py-176- for i in range(0,k): gmp-ecm-7.0.4+ds/x86_64/autogen.py:177: final = final + " movq " + offaddr("%rsp", 8*i) + ", %rax\n" gmp-ecm-7.0.4+ds/x86_64/autogen.py:178: final = final + " movq %rax, " + offaddr("%rdi", 8*i) + "\n" gmp-ecm-7.0.4+ds/x86_64/autogen.py:179: final = final + " movq " + offaddr("%rsp", 8*k) + ", %rax # carry\n" gmp-ecm-7.0.4+ds/x86_64/autogen.py-180- final = final + " addq $" + str(8*(k+1)) + ", %rsp\n" ############################################## gmp-ecm-7.0.4+ds/x86_64/autogen.py-221- for i in range(0,2*k+1): gmp-ecm-7.0.4+ds/x86_64/autogen.py:222: init = init + " movq $0, " + offaddr("%rsp", 8*i) + "\n" gmp-ecm-7.0.4+ds/x86_64/autogen.py-223- ############################################## gmp-ecm-7.0.4+ds/x86_64/autogen.py-229- blocki = blocki + "### Compute u and store in %r9\n" gmp-ecm-7.0.4+ds/x86_64/autogen.py:230: blocki = blocki + " movq " + offaddr("%rsi", 8*i) + ", %rax\n" gmp-ecm-7.0.4+ds/x86_64/autogen.py-231- blocki = blocki + " mulq (%r11)\n" gmp-ecm-7.0.4+ds/x86_64/autogen.py:232: blocki = blocki + " addq " + offaddr("%rsp", 8*i) + ", %rax\n" gmp-ecm-7.0.4+ds/x86_64/autogen.py-233- blocki = blocki + " mulq %r8\n" ############################################## gmp-ecm-7.0.4+ds/x86_64/autogen.py-237- blocki = blocki + codeaddmul gmp-ecm-7.0.4+ds/x86_64/autogen.py:238: blocki = blocki + " addq " + carry + ", " + offaddr("%rsp", 8*(k+i)) + "\n" gmp-ecm-7.0.4+ds/x86_64/autogen.py:239: blocki = blocki + " adcq $0, " + offaddr("%rsp", 8*(k+i+1)) + "\n" gmp-ecm-7.0.4+ds/x86_64/autogen.py:240: blocki = blocki + " movq " + offaddr("%rsi", 8*i) + ", %r9\n" gmp-ecm-7.0.4+ds/x86_64/autogen.py-241- codeaddmul, carry = addmul1_k("%r11", 0, "%rsp", 8*i, "%r9", k) gmp-ecm-7.0.4+ds/x86_64/autogen.py-242- blocki = blocki + codeaddmul gmp-ecm-7.0.4+ds/x86_64/autogen.py:243: blocki = blocki + " addq " + carry + ", " + offaddr("%rsp", 8*(k+i)) + "\n" gmp-ecm-7.0.4+ds/x86_64/autogen.py:244: blocki = blocki + " adcq $0, " + offaddr("%rsp", 8*(k+i+1)) + "\n" gmp-ecm-7.0.4+ds/x86_64/autogen.py-245- code = code + blocki ############################################## gmp-ecm-7.0.4+ds/x86_64/autogen.py-249- for i in range(0,k): gmp-ecm-7.0.4+ds/x86_64/autogen.py:250: final = final + " movq " + offaddr("%rsp", 8*(k+i)) + ", %rax\n" gmp-ecm-7.0.4+ds/x86_64/autogen.py:251: final = final + " movq %rax, " + offaddr("%rdi", 8*i) + "\n" gmp-ecm-7.0.4+ds/x86_64/autogen.py:252: final = final + " movq " + offaddr("%rsp", 16*k) + ", %rax # carry\n" gmp-ecm-7.0.4+ds/x86_64/autogen.py-253- final = final + " addq $" + str(8*(2*k+1)) + ", %rsp\n" ############################################## gmp-ecm-7.0.4+ds/x86_64/mulredc.m4-9-# This stuff is run through M4 twice, first when generating the gmp-ecm-7.0.4+ds/x86_64/mulredc.m4:10:# mulredc*.asm files from the mulredc.m4 file (when preparing the distro) gmp-ecm-7.0.4+ds/x86_64/mulredc.m4:11:# and again when generating the mulredc*.s files from the mulredc*.asm files gmp-ecm-7.0.4+ds/x86_64/mulredc.m4-12-# when the user compiles the program. ############################################## gmp-ecm-7.0.4+ds/x86_64/mulredc.m4-23- gmp-ecm-7.0.4+ds/x86_64/mulredc.m4:24:define(`forloop', `pushdef(`$1', `$2')_forloop(`$1', `$2', `$3', `$4')popdef(`$1')') gmp-ecm-7.0.4+ds/x86_64/mulredc.m4-25-define(`_forloop', gmp-ecm-7.0.4+ds/x86_64/mulredc.m4:26: `ifelse(eval($1 <= `$3'), 1, gmp-ecm-7.0.4+ds/x86_64/mulredc.m4:27: `$4'`define(`$1', incr($1))_forloop(`$1', `$2', `$3', `$4')')') gmp-ecm-7.0.4+ds/x86_64/mulredc.m4-28-divert ############################################## gmp-ecm-7.0.4+ds/x86_64/mulredc1.m4-10-# forloop(i, from, to, stmt)dnl gmp-ecm-7.0.4+ds/x86_64/mulredc1.m4:11:define(`forloop', `pushdef(`$1', `$2')_forloop(`$1', `$2', `$3', `$4')popdef(`$1')')dnl gmp-ecm-7.0.4+ds/x86_64/mulredc1.m4-12-define(`_forloop', gmp-ecm-7.0.4+ds/x86_64/mulredc1.m4:13: `ifelse(eval($1 <= `$3'), 1, gmp-ecm-7.0.4+ds/x86_64/mulredc1.m4:14: `$4'`define(`$1', incr($1))_forloop(`$1', `$2', `$3', `$4')')')dnl gmp-ecm-7.0.4+ds/x86_64/mulredc1.m4-15-divert ############################################## gmp-ecm-7.0.4+ds/Makefile.am-46- aprtcle/mpz_aprcl.c gmp-ecm-7.0.4+ds/Makefile.am:47:# Link the asm redc code (if we use it) into libecm.la gmp-ecm-7.0.4+ds/Makefile.am-48-libecm_la_CPPFLAGS = $(MULREDCINCPATH) ############################################## gmp-ecm-7.0.4+ds/acinclude.m4-86-dnl macros. gmp-ecm-7.0.4+ds/acinclude.m4:87:[define(dollarhash,``$][#'')ifelse(dollarhash(x),1,`define(t1,Y)', gmp-ecm-7.0.4+ds/acinclude.m4-88-``bad: $][# not supported (SunOS /usr/bin/m4) ############################################## gmp-ecm-7.0.4+ds/acinclude.m4-108- echo "trying $ac_dir/m4" >&AC_FD_CC gmp-ecm-7.0.4+ds/acinclude.m4:109: gmp_tmp_val=`($ac_dir/m4 conftest.m4) 2>&AC_FD_CC` gmp-ecm-7.0.4+ds/acinclude.m4-110- echo "$gmp_tmp_val" >&AC_FD_CC ############################################## gmp-ecm-7.0.4+ds/acinclude.m4-270-[AC_REQUIRE([GMP_INIT]) gmp-ecm-7.0.4+ds/acinclude.m4:271:echo ["include($1)"] >> $gmp_tmpconfigm4 gmp-ecm-7.0.4+ds/acinclude.m4-272-]) ############################################## gmp-ecm-7.0.4+ds/acinclude.m4-356- gmp-ecm-7.0.4+ds/acinclude.m4:357: asm volatile ( gmp-ecm-7.0.4+ds/acinclude.m4-358- "movdqu %0, %%xmm0\n\t" ############################################## gmp-ecm-7.0.4+ds/acinclude.m4-612-dnl can be compiled/assembled with -Wa,--noexecstack. It does not determine gmp-ecm-7.0.4+ds/acinclude.m4:613:dnl if that command-line option has any effect on general asm code. gmp-ecm-7.0.4+ds/acinclude.m4-614-AC_DEFUN([CL_AS_NOEXECSTACK],[ ############################################## gmp-ecm-7.0.4+ds/configure.ac-72-AC_ARG_ENABLE([asm-redc], gmp-ecm-7.0.4+ds/configure.ac:73:[AS_HELP_STRING([--enable-asm-redc], [use an asm redc (default=yes on x86_64 and powerpc64/elf, no on others)])]) gmp-ecm-7.0.4+ds/configure.ac-74- ############################################## gmp-ecm-7.0.4+ds/configure.ac-120- if $cpp $CPPFLAGS conftest.$ac_ext 2> /dev/null > conftest.out; then gmp-ecm-7.0.4+ds/configure.ac:121: GMP_CC="`$EGREP MPFR_OPTION_CC conftest.out | $SED -e 's/MPFR_OPTION_CC //g' | $SED -e 's/"//g'`" gmp-ecm-7.0.4+ds/configure.ac:122: GMP_CFLAGS="`$EGREP MPFR_OPTION_CFLAGS conftest.out | $SED -e 's/MPFR_OPTION_CFLAGS //g'| $SED -e 's/"//g'`" gmp-ecm-7.0.4+ds/configure.ac-123- echo "Success, GMP_CC=$GMP_CC, GMP_CFLAGS=$GMP_CFLAGS" >&AS_MESSAGE_LOG_FD ############################################## gmp-ecm-7.0.4+ds/configure.ac-212-######################## gmp-ecm-7.0.4+ds/configure.ac:213:# Enable asm redc code # gmp-ecm-7.0.4+ds/configure.ac-214-######################## gmp-ecm-7.0.4+ds/configure.ac-215-# If --(en|dis)able-asm-redc not specified, choose default value gmp-ecm-7.0.4+ds/configure.ac:216:# Test if asm redc code is available for this cpu. gmp-ecm-7.0.4+ds/configure.ac-217-# Point ASMPATH to the correct subdirectory. ############################################## gmp-ecm-7.0.4+ds/configure.ac-253- powerpc64-*-linux*) gmp-ecm-7.0.4+ds/configure.ac:254: ECM_INCLUDE([<"$srcdir"/powerpc64/powerpc-defs.m4>]) gmp-ecm-7.0.4+ds/configure.ac-255- ASMPATH=powerpc64;; ############################################## gmp-ecm-7.0.4+ds/configure.ac-258- ASMPATH=athlon;; gmp-ecm-7.0.4+ds/configure.ac:259: *) AC_MSG_ERROR([[asm redc not available on this machine $host]]);; gmp-ecm-7.0.4+ds/configure.ac-260- esac ############################################## gmp-ecm-7.0.4+ds/configure.ac-264-# do the necessary definitions and includes gmp-ecm-7.0.4+ds/configure.ac:265: AC_DEFINE([USE_ASM_REDC],1,[Define to 1 to use asm redc]) gmp-ecm-7.0.4+ds/configure.ac-266- test "x$CCAS" != x || CCAS="$CC -c" ############################################## gmp-ecm-7.0.4+ds/configure.ac-282- echo "WARNING: Your processor is recognized as Pentium3." gmp-ecm-7.0.4+ds/configure.ac:283: echo " The asm code uses SSE2, and therefore it might" gmp-ecm-7.0.4+ds/configure.ac-284- echo " fail if your proc is indeed a P3, and not a" ############################################## gmp-ecm-7.0.4+ds/configure.ac-686-if test "x$enable_asm_redc" = xyes; then gmp-ecm-7.0.4+ds/configure.ac:687: AC_MSG_NOTICE([Using asm redc code from directory $ASMPATH]) gmp-ecm-7.0.4+ds/configure.ac-688-else gmp-ecm-7.0.4+ds/configure.ac:689: AC_MSG_NOTICE([Not using asm redc code]) gmp-ecm-7.0.4+ds/configure.ac-690-fi ############################################## gmp-ecm-7.0.4+ds/longlong.h-91- LONGLONG_STANDALONE -- Avoid code that needs machine-dependent support files gmp-ecm-7.0.4+ds/longlong.h:92: NO_ASM -- Disable inline asm gmp-ecm-7.0.4+ds/longlong.h-93- ############################################## gmp-ecm-7.0.4+ds/longlong.h-110- gmp-ecm-7.0.4+ds/longlong.h:111:/* Define auxiliary asm macros. gmp-ecm-7.0.4+ds/longlong.h-112- ############################################## gmp-ecm-7.0.4+ds/longlong.h-159- For add_ssaaaa the two high and two low addends can both commute, but gmp-ecm-7.0.4+ds/longlong.h:160: unfortunately gcc only supports one "%" commutative in each asm block. gmp-ecm-7.0.4+ds/longlong.h-161- This has always been so but is only documented in recent versions ############################################## gmp-ecm-7.0.4+ds/longlong.h-186- chips they're merely libgcc calls, where we will instead want an inline gmp-ecm-7.0.4+ds/longlong.h:187: in that case (either asm or generic C). gmp-ecm-7.0.4+ds/longlong.h-188- gmp-ecm-7.0.4+ds/longlong.h:189: These builtins are better than an asm block of the same insn, since an gmp-ecm-7.0.4+ds/longlong.h:190: asm block doesn't give gcc any information about scheduling or resource gmp-ecm-7.0.4+ds/longlong.h:191: usage. We keep an asm block for use on prior versions of gcc though. gmp-ecm-7.0.4+ds/longlong.h-192- ############################################## gmp-ecm-7.0.4+ds/longlong.h-227-/* FIXME: The macros using external routines like __MPN(count_leading_zeros) gmp-ecm-7.0.4+ds/longlong.h:228: don't need to be under !NO_ASM */ gmp-ecm-7.0.4+ds/longlong.h-229-#if ! defined (NO_ASM) ############################################## gmp-ecm-7.0.4+ds/longlong.h-289-#define ALPHA_CMPBGE_0(dst, src) \ gmp-ecm-7.0.4+ds/longlong.h:290: do { asm ("cmpbge $31, %1, %0" : "=r" (dst) : "r" (src)); } while (0) gmp-ecm-7.0.4+ds/longlong.h-291-/* Zero bytes are turned into bits with cmpbge, a __clz_tab lookup counts ############################################## gmp-ecm-7.0.4+ds/longlong.h-906- gmp-ecm-7.0.4+ds/longlong.h:907:/* On x86 and x86_64, every asm implicitly clobbers "flags" and "fpsr", gmp-ecm-7.0.4+ds/longlong.h-908- so we don't need __CLOBBER_CC. */ ############################################## gmp-ecm-7.0.4+ds/longlong.h-941- gmp-ecm-7.0.4+ds/longlong.h:942: The asm block sets __shift to -3 if the high 24 bits are clear, -2 for gmp-ecm-7.0.4+ds/longlong.h-943- 16, -1 for 8, or 0 otherwise. This could be written equivalently as ############################################## gmp-ecm-7.0.4+ds/longlong.h-1015- } while (0) gmp-ecm-7.0.4+ds/longlong.h:1016:#endif /* gcc<3 asm bsrl */ gmp-ecm-7.0.4+ds/longlong.h-1017- ############################################## gmp-ecm-7.0.4+ds/longlong.h-1025- } while (0) gmp-ecm-7.0.4+ds/longlong.h:1026:#endif /* asm bsrl */ gmp-ecm-7.0.4+ds/longlong.h-1027- ############################################## gmp-ecm-7.0.4+ds/longlong.h-1037- } while (0) gmp-ecm-7.0.4+ds/longlong.h:1038:#endif /* asm bsfl */ gmp-ecm-7.0.4+ds/longlong.h-1039- ############################################## gmp-ecm-7.0.4+ds/longlong.h-1935- gmp-ecm-7.0.4+ds/longlong.h:1936:#endif /* NO_ASM */ gmp-ecm-7.0.4+ds/longlong.h-1937- ############################################## gmp-ecm-7.0.4+ds/longlong.h-2195- gmp-ecm-7.0.4+ds/longlong.h:2196:/* clz_tab needed by mpn/x86/pentium/mod_1.asm in a fat binary */ gmp-ecm-7.0.4+ds/longlong.h-2197-#if HAVE_HOST_CPU_FAMILY_x86 && WANT_FAT_BINARY ############################################## gmp-ecm-7.0.4+ds/longlong.h-2206-#if !defined (COUNT_LEADING_ZEROS_SLOW) gmp-ecm-7.0.4+ds/longlong.h:2207:/* Define count_trailing_zeros using an asm count_leading_zeros. */ gmp-ecm-7.0.4+ds/longlong.h-2208-#define count_trailing_zeros(count, x) \ ############################################## gmp-ecm-7.0.4+ds/ecm.1-496-.PP gmp-ecm-7.0.4+ds/ecm.1:497:Alexander Kruppa <(lastname)al@loria\&.fr> contributed estimates for probability of success for ECM, the new P+1 and P\-1 stage 2 (with P\&.\-L\&. Montgomery), new AMD64 asm mulredc code, and some other things; gmp-ecm-7.0.4+ds/ecm.1-498-.PP ############################################## gmp-ecm-7.0.4+ds/ChangeLog-541- gmp-ecm-7.0.4+ds/ChangeLog:542:added (sse2) clobber field in asm volatile test gmp-ecm-7.0.4+ds/ChangeLog-543- ############################################## gmp-ecm-7.0.4+ds/ChangeLog-1935- gmp-ecm-7.0.4+ds/ChangeLog:1936:the *asm files should still be distributed in case m4 is not available gmp-ecm-7.0.4+ds/ChangeLog-1937- ############################################## gmp-ecm-7.0.4+ds/ChangeLog-1950- gmp-ecm-7.0.4+ds/ChangeLog:1951:auto-generated asm files do not need to be distributed! gmp-ecm-7.0.4+ds/ChangeLog-1952- ############################################## gmp-ecm-7.0.4+ds/ChangeLog-4072- gmp-ecm-7.0.4+ds/ChangeLog:4073:Put in STRING(x) macro again, is used by SSE2 asm code gmp-ecm-7.0.4+ds/ChangeLog-4074- ############################################## gmp-ecm-7.0.4+ds/ChangeLog-4792- gmp-ecm-7.0.4+ds/ChangeLog:4793:GPU: Make all asm line volatile. Allow compilation with CUDA 5.0. gmp-ecm-7.0.4+ds/ChangeLog-4794- ############################################## gmp-ecm-7.0.4+ds/ChangeLog-7710- gmp-ecm-7.0.4+ds/ChangeLog:7711:Rewrite #define for asm statement. gmp-ecm-7.0.4+ds/ChangeLog-7712- ############################################## gmp-ecm-7.0.4+ds/ChangeLog-9800- gmp-ecm-7.0.4+ds/ChangeLog:9801:Better asm code for AMD cpus gmp-ecm-7.0.4+ds/ChangeLog-9802- ############################################## gmp-ecm-7.0.4+ds/ChangeLog-10133-Removed linker flags from LDADD to avoid spurious dependencies gmp-ecm-7.0.4+ds/ChangeLog:10134:Include mulredc in libecm.la only if asm redc is actually used gmp-ecm-7.0.4+ds/ChangeLog-10135- ############################################## gmp-ecm-7.0.4+ds/ChangeLog-10408-Small changes to make building outside of the source directory work. gmp-ecm-7.0.4+ds/ChangeLog:10409:Make libmulredc.a depend on config.m4 in all asm subdirectories. gmp-ecm-7.0.4+ds/ChangeLog-10410- ############################################## gmp-ecm-7.0.4+ds/ChangeLog-10448-Fixed incorrect reading of inv_m from the stack. gmp-ecm-7.0.4+ds/ChangeLog:10449:No longer include x86_64/redc.asm in build or distribution. gmp-ecm-7.0.4+ds/ChangeLog-10450- ############################################## gmp-ecm-7.0.4+ds/ChangeLog-10477-.S files which cause trouble on case-insensitive filesystems. gmp-ecm-7.0.4+ds/ChangeLog:10478:Removed mulredc*.asm files from SVN as these are generated code. gmp-ecm-7.0.4+ds/ChangeLog:10479:Added rules to Makefile.am to generate the mulredc*.asm files. gmp-ecm-7.0.4+ds/ChangeLog-10480- ############################################## gmp-ecm-7.0.4+ds/ChangeLog-10555-New threshold for tuning: TUNE_MULREDC_THRESH, determines when to switch gmp-ecm-7.0.4+ds/ChangeLog:10556:from asm mulredc*() functions to GMP gmp-ecm-7.0.4+ds/ChangeLog-10557-Changed functions called by mpres_mul() to reduce call overhead ############################################## gmp-ecm-7.0.4+ds/ChangeLog-10564- gmp-ecm-7.0.4+ds/ChangeLog:10565:Make asm code switch to Windows 64 ABI if WINDOWS64_ABI is defined gmp-ecm-7.0.4+ds/ChangeLog-10566-in config.m4. Completely untested. mulredc1.m4 is to be done yet ############################################## gmp-ecm-7.0.4+ds/ChangeLog-10588- gmp-ecm-7.0.4+ds/ChangeLog:10589:Commented out .asm -> .S rule to avoid problems on case-insensitive gmp-ecm-7.0.4+ds/ChangeLog-10590-filesystems ############################################## gmp-ecm-7.0.4+ds/ChangeLog-10632-it produces a 32 bit build seemingly successfully, but the 64-bit mulredc gmp-ecm-7.0.4+ds/ChangeLog:10633:asm code produces incorrect arithmetic. gmp-ecm-7.0.4+ds/ChangeLog-10634- ############################################## gmp-ecm-7.0.4+ds/ChangeLog-10806- gmp-ecm-7.0.4+ds/ChangeLog:10807:Enable asm mulredc by default only on x86_64 and 64 bit PowerPC gmp-ecm-7.0.4+ds/ChangeLog-10808-Check for GSL ############################################## gmp-ecm-7.0.4+ds/ChangeLog-10974- gmp-ecm-7.0.4+ds/ChangeLog:10975:Cleanup of tests for asm redc code, test list of cpu types only once gmp-ecm-7.0.4+ds/ChangeLog-10976-Print configuration at end of configure ############################################## gmp-ecm-7.0.4+ds/ChangeLog-11328- gmp-ecm-7.0.4+ds/ChangeLog:11329:MacOS assembler doesn't like binary constants in asm code, replaced by hex. gmp-ecm-7.0.4+ds/ChangeLog-11330-Patch supplied by "jedirock" on mersenneforum.org ############################################## gmp-ecm-7.0.4+ds/ChangeLog-11403-New config.guess don't call a Pentium 4 "pentium4" any more, but "i786", gmp-ecm-7.0.4+ds/ChangeLog:11404:the corresponding case was missing in the first test for asm eligibility. gmp-ecm-7.0.4+ds/ChangeLog-11405-And autoconf changes the m4 quote characters from ` and ' to [ and ], ############################################## gmp-ecm-7.0.4+ds/ChangeLog-11518- gmp-ecm-7.0.4+ds/ChangeLog:11519:Added i686-apple-darwin* to list of hosts that understand asm code gmp-ecm-7.0.4+ds/ChangeLog-11520- ############################################## gmp-ecm-7.0.4+ds/ChangeLog-11788- gmp-ecm-7.0.4+ds/ChangeLog:11789:incorporated asm redc code for powerpc64 from Philip McLaughlin (still to be gmp-ecm-7.0.4+ds/ChangeLog-11790-tested) ############################################## gmp-ecm-7.0.4+ds/ChangeLog-12179- gmp-ecm-7.0.4+ds/ChangeLog:12180:update YASM assembler files to match main trunk changes gmp-ecm-7.0.4+ds/ChangeLog-12181------------------------------------------------------------------------- ############################################## gmp-ecm-7.0.4+ds/ChangeLog-12223- gmp-ecm-7.0.4+ds/ChangeLog:12224:Slight improvement to asm code, suggested by Torbjorn gmp-ecm-7.0.4+ds/ChangeLog-12225- ############################################## gmp-ecm-7.0.4+ds/ChangeLog-12346-Added sp_add() C code for modulus with MSB=0, fixed comments for gmp-ecm-7.0.4+ds/ChangeLog:12347:sp_add() asm macro gmp-ecm-7.0.4+ds/ChangeLog-12348- ############################################## gmp-ecm-7.0.4+ds/ChangeLog-12714- gmp-ecm-7.0.4+ds/ChangeLog:12715:Add short description of how to use YASM with VC++ for assembler support and mention Python tests file gmp-ecm-7.0.4+ds/ChangeLog-12716------------------------------------------------------------------------- ############################################## gmp-ecm-7.0.4+ds/ChangeLog-12742- gmp-ecm-7.0.4+ds/ChangeLog:12743:Added YASM assembler code for AMD64 VC++ build gmp-ecm-7.0.4+ds/ChangeLog-12744------------------------------------------------------------------------- ############################################## gmp-ecm-7.0.4+ds/ChangeLog-13045- gmp-ecm-7.0.4+ds/ChangeLog:13046:Fixed bug in MPN_FFT_STORE: the non-asm version wrote too little data gmp-ecm-7.0.4+ds/ChangeLog-13047-due to bad pointer type. ############################################## gmp-ecm-7.0.4+ds/ChangeLog-13305- gmp-ecm-7.0.4+ds/ChangeLog:13306:Re-wrote asm macro for sp_add, sp_sub. Fixes (I hope!) a subtle bug gmp-ecm-7.0.4+ds/ChangeLog-13307-in operand constraints (edx could be used as input operand in spite of ############################################## gmp-ecm-7.0.4+ds/ChangeLog-13381- gmp-ecm-7.0.4+ds/ChangeLog:13382:Added comment on generating mulredc{1,2}.asm from Python script gmp-ecm-7.0.4+ds/ChangeLog-13383- ############################################## gmp-ecm-7.0.4+ds/ChangeLog-13390- gmp-ecm-7.0.4+ds/ChangeLog:13391:Updated Makefiles/scripts to make mulredc asm code from autogen.py/mulredc.m4 gmp-ecm-7.0.4+ds/ChangeLog-13392- ############################################## gmp-ecm-7.0.4+ds/ChangeLog-13397- gmp-ecm-7.0.4+ds/ChangeLog:13398:mulredc1.asm as generated by Python script (without my old comment edits) gmp-ecm-7.0.4+ds/ChangeLog-13399- ############################################## gmp-ecm-7.0.4+ds/ChangeLog-14003- gmp-ecm-7.0.4+ds/ChangeLog:14004:Fixed m4 quotes to allow generation of .asm files (which get processed gmp-ecm-7.0.4+ds/ChangeLog-14005-by m4 again during compilation) ############################################## gmp-ecm-7.0.4+ds/ChangeLog-15269- When asm-redc is enabled, check whether the computer is not too hold, gmp-ecm-7.0.4+ds/ChangeLog:15270: because the default asm code needs at least a PPro or a k7. gmp-ecm-7.0.4+ds/ChangeLog-15271- ############################################## gmp-ecm-7.0.4+ds/ChangeLog-15325- modified gmp-ecm-7.0.4+ds/ChangeLog:15326: Redc and combined Mul/Redc in asm for different archi (p4, athlon, gmp-ecm-7.0.4+ds/ChangeLog-15327- amd64) ############################################## gmp-ecm-7.0.4+ds/ChangeLog-15817- * trunk/redc.asm: deleted gmp-ecm-7.0.4+ds/ChangeLog:15818: Renamed redc.asm to redc.s gmp-ecm-7.0.4+ds/ChangeLog-15819- ############################################## gmp-ecm-7.0.4+ds/NEWS-87-* Improved conversion from mpz_t to residue number system in NTT code gmp-ecm-7.0.4+ds/NEWS:88:* Better asm code for AMD cpus gmp-ecm-7.0.4+ds/NEWS-89-* Use of GMP's mpn_mullo_n and mpn_redc_2 when available ############################################## gmp-ecm-7.0.4+ds/NEWS-100- (and presumably other systems) gmp-ecm-7.0.4+ds/NEWS:101:* Allow use of x86_64 asm code under MinGW gmp-ecm-7.0.4+ds/NEWS-102- ############################################## gmp-ecm-7.0.4+ds/NEWS-104-* Fixed incompatibility with GMP 4.3.0 when testing version in configure gmp-ecm-7.0.4+ds/NEWS:105:* SSE2 asm code for Visual C added in stage 2 NTT code gmp-ecm-7.0.4+ds/NEWS:106:* Small improvement to x86_64 mulredc asm code, slight speedup on Core 2 gmp-ecm-7.0.4+ds/NEWS-107-* Fixed incorrect carry propagation in subquadratic REDC code which ############################################## gmp-ecm-7.0.4+ds/TODO-60-- use mpn_addmul_2, mpn_addmul_4 in the basecase REDC [for machines gmp-ecm-7.0.4+ds/TODO:61: where it exists]. ASM code should perhaps be moved into GMP. gmp-ecm-7.0.4+ds/TODO-62-- try McLaughlin's algorithm for Montgomery's modular multiplication ############################################## gmp-ecm-7.0.4+ds/spv.c-138- gmp-ecm-7.0.4+ds/spv.c:139: asm volatile ( gmp-ecm-7.0.4+ds/spv.c-140- "movd %6, %%xmm6 \n\t" ############################################## gmp-ecm-7.0.4+ds/spv.c-294- gmp-ecm-7.0.4+ds/spv.c:295: asm volatile ( gmp-ecm-7.0.4+ds/spv.c-296- "movd %2, %%xmm4 \n\t" ############################################## gmp-ecm-7.0.4+ds/ntt_gfp.c-32- gmp-ecm-7.0.4+ds/ntt_gfp.c:33: asm volatile ( gmp-ecm-7.0.4+ds/ntt_gfp.c-34- "movd %6, %%xmm6 \n\t" ############################################## gmp-ecm-7.0.4+ds/ntt_gfp.c-362- gmp-ecm-7.0.4+ds/ntt_gfp.c:363: asm volatile ( gmp-ecm-7.0.4+ds/ntt_gfp.c-364- "movd %6, %%xmm6 \n\t" ############################################## gmp-ecm-7.0.4+ds/cudakernel.cu-297-#if defined(_MSC_VER) gmp-ecm-7.0.4+ds/cudakernel.cu:298:# define ASM asm volatile gmp-ecm-7.0.4+ds/cudakernel.cu-299-#else gmp-ecm-7.0.4+ds/cudakernel.cu:300:# define ASM asm __volatile__ gmp-ecm-7.0.4+ds/cudakernel.cu-301-#endif gmp-ecm-7.0.4+ds/cudakernel.cu-302- gmp-ecm-7.0.4+ds/cudakernel.cu:303:#define __add_cc(r,a,b) ASM ("add.cc.u32 %0, %1, %2;": "=r"(r): "r"(a), "r"(b)) gmp-ecm-7.0.4+ds/cudakernel.cu:304:#define __addc_cc(r,a,b) ASM ("addc.cc.u32 %0, %1, %2;": "=r"(r): "r"(a), "r"(b)) gmp-ecm-7.0.4+ds/cudakernel.cu:305:#define __sub_cc(r,a,b) ASM ("sub.cc.u32 %0, %1, %2;": "=r"(r): "r"(a), "r"(b)) gmp-ecm-7.0.4+ds/cudakernel.cu-306- gmp-ecm-7.0.4+ds/cudakernel.cu:307:#define __addcy(carry) ASM ("addc.s32 %0, 0, 0;": "=r"(carry)) gmp-ecm-7.0.4+ds/cudakernel.cu:308:#define __addcy2(carry) ASM ("addc.cc.s32 %0, %0, 0;": "+r"(carry)) gmp-ecm-7.0.4+ds/cudakernel.cu-309- gmp-ecm-7.0.4+ds/cudakernel.cu:310:#define __subcy(carry) ASM ("subc.s32 %0, 0, 0;": "=r"(carry)) gmp-ecm-7.0.4+ds/cudakernel.cu:311:#define __subcy2(carry) ASM ("subc.s32 %0, %0, 0;": "+r"(carry)) gmp-ecm-7.0.4+ds/cudakernel.cu-312- ############################################## gmp-ecm-7.0.4+ds/ecm.xml-706-the new P+1 and P-1 stage 2 (with P.-L. Montgomery), gmp-ecm-7.0.4+ds/ecm.xml:707:new AMD64 asm mulredc code, and some other things;</para> gmp-ecm-7.0.4+ds/ecm.xml-708-<para>Dave Newman <david.(lastname)@jesus.ox.ac.uk> ############################################## gmp-ecm-7.0.4+ds/cudakernel_default.cu-103- unsigned int thp1= (threadIdx.x + 1) % ECM_GPU_NB_DIGITS; gmp-ecm-7.0.4+ds/cudakernel_default.cu:104: asm ("add.cc.u32 %0, %1, %1;" : "=r"(r[threadIdx.x]) : "r"(a[threadIdx.x])); gmp-ecm-7.0.4+ds/cudakernel_default.cu-105- __addcy2(r[thp1]); ############################################## gmp-ecm-7.0.4+ds/build.vc12/config.h-176- gmp-ecm-7.0.4+ds/build.vc12/config.h:177:/* Define to 1 to use asm redc on x86 or x86_64 */ gmp-ecm-7.0.4+ds/build.vc12/config.h-178-# define NATIVE_REDC 1 ############################################## gmp-ecm-7.0.4+ds/build.vc12/readme.txt-5-If you wish to build the assembler code support you will need to gmp-ecm-7.0.4+ds/build.vc12/readme.txt:6:install the YASM assembler that is available at: gmp-ecm-7.0.4+ds/build.vc12/readme.txt-7- ############################################## gmp-ecm-7.0.4+ds/build.vc12/readme.txt-45-It has full support for building MPIR for 32 and 64 bit Windows systems gmp-ecm-7.0.4+ds/build.vc12/readme.txt:46:with x86 assembler support using the YASM assembler. gmp-ecm-7.0.4+ds/build.vc12/readme.txt-47- ############################################## gmp-ecm-7.0.4+ds/build.vc12/readme.txt-104- use the win32 AMD assembler files, you also have to use the gmp-ecm-7.0.4+ds/build.vc12/readme.txt:105: Visual Studio property page to define AMD_ASM (alternatively gmp-ecm-7.0.4+ds/build.vc12/readme.txt:106: you can edit the two files mulredc.asm and redc.asm in the gmp-ecm-7.0.4+ds/build.vc12/readme.txt-107- build.vc11\assembler\ directory to include the AMD assembler). ############################################## gmp-ecm-7.0.4+ds/build.vc12/vsyasm.targets-26- Condition="'@(SelectedFiles)' != ''"> gmp-ecm-7.0.4+ds/build.vc12/vsyasm.targets:27: <YASM gmp-ecm-7.0.4+ds/build.vc12/vsyasm.targets-28- Remove="@(YASM)" ############################################## gmp-ecm-7.0.4+ds/build.vc12/vsyasm.targets-44- Lines="^%(YASM_tlog.Source);@(YASM_tlog->'%(Fullpath)')" /> gmp-ecm-7.0.4+ds/build.vc12/vsyasm.targets:45: <YASM gmp-ecm-7.0.4+ds/build.vc12/vsyasm.targets-46- Condition="'@(YASM)' != '' and '%(YASM.ExcludedFromBuild)' != 'true'" ############################################## gmp-ecm-7.0.4+ds/build.vc12/vsyasm.xml-5- PageTemplate="tool" gmp-ecm-7.0.4+ds/build.vc12/vsyasm.xml:6: DisplayName="Yasm Assembler" gmp-ecm-7.0.4+ds/build.vc12/vsyasm.xml-7- Order="200"> ############################################## gmp-ecm-7.0.4+ds/build.vc12/vsyasm.xml-164- Name="0" gmp-ecm-7.0.4+ds/build.vc12/vsyasm.xml:165: DisplayName="Nasm " gmp-ecm-7.0.4+ds/build.vc12/vsyasm.xml-166- Switch="-rnasm" /> ############################################## gmp-ecm-7.0.4+ds/build.vc12/vsyasm.xml-274- Name="YASM" gmp-ecm-7.0.4+ds/build.vc12/vsyasm.xml:275: DisplayName="Yasm Assembler" /> gmp-ecm-7.0.4+ds/build.vc12/vsyasm.xml-276- <FileExtension ############################################## gmp-ecm-7.0.4+ds/build.vc12/vsyasm.xml-280- Name="YASM" gmp-ecm-7.0.4+ds/build.vc12/vsyasm.xml:281: DisplayName="Yasm Assembler" gmp-ecm-7.0.4+ds/build.vc12/vsyasm.xml-282- ItemType="YASM" /> ############################################## gmp-ecm-7.0.4+ds/build.vc12/assembler/Makefile.am:1:EXTRA_DIST = a_win32a_mulredc.asm a_win32a_redc.asm a_win32p_mulredc.asm \ gmp-ecm-7.0.4+ds/build.vc12/assembler/Makefile.am:2: a_win32p_redc.asm a_x64_mulredc.asm a_x64_redc.asm \ gmp-ecm-7.0.4+ds/build.vc12/assembler/Makefile.am:3: test_mulredc.c mulredc.h mulredc.asm redc.asm ############################################## gmp-ecm-7.0.4+ds/build.vc12/assembler/mulredc.asm-3-%include "a_x64_mulredc.asm" gmp-ecm-7.0.4+ds/build.vc12/assembler/mulredc.asm:4:%elifdef AMD_ASM gmp-ecm-7.0.4+ds/build.vc12/assembler/mulredc.asm-5-%include "a_win32a_mulredc.asm" ############################################## gmp-ecm-7.0.4+ds/build.vc12/assembler/redc.asm-2-%include "a_x64_redc.asm" gmp-ecm-7.0.4+ds/build.vc12/assembler/redc.asm:3:%elif AMD_ASM gmp-ecm-7.0.4+ds/build.vc12/assembler/redc.asm-4-%include "a_win32a_redc.asm" ############################################## gmp-ecm-7.0.4+ds/build.vc12/libecm/libecm.vcxproj-168- <ItemGroup> gmp-ecm-7.0.4+ds/build.vc12/libecm/libecm.vcxproj:169: <YASM Include="..\assembler\mulredc.asm" /> gmp-ecm-7.0.4+ds/build.vc12/libecm/libecm.vcxproj:170: <YASM Include="..\assembler\redc.asm" /> gmp-ecm-7.0.4+ds/build.vc12/libecm/libecm.vcxproj-171- </ItemGroup> ############################################## gmp-ecm-7.0.4+ds/build.vc12/libecm/libecm.vcxproj.filters-16- <ItemGroup> gmp-ecm-7.0.4+ds/build.vc12/libecm/libecm.vcxproj.filters:17: <YASM Include="..\assembler\mulredc.asm"> gmp-ecm-7.0.4+ds/build.vc12/libecm/libecm.vcxproj.filters-18- <Filter>Source Files\Assembler</Filter> gmp-ecm-7.0.4+ds/build.vc12/libecm/libecm.vcxproj.filters-19- </YASM> gmp-ecm-7.0.4+ds/build.vc12/libecm/libecm.vcxproj.filters:20: <YASM Include="..\assembler\redc.asm"> gmp-ecm-7.0.4+ds/build.vc12/libecm/libecm.vcxproj.filters-21- <Filter>Source Files\Assembler</Filter> ############################################## gmp-ecm-7.0.4+ds/build.vc12/libecm_gpu/libecm_gpu.vcxproj-227- <ItemGroup> gmp-ecm-7.0.4+ds/build.vc12/libecm_gpu/libecm_gpu.vcxproj:228: <YASM Include="..\assembler\mulredc.asm" /> gmp-ecm-7.0.4+ds/build.vc12/libecm_gpu/libecm_gpu.vcxproj:229: <YASM Include="..\assembler\redc.asm" /> gmp-ecm-7.0.4+ds/build.vc12/libecm_gpu/libecm_gpu.vcxproj-230- </ItemGroup> ############################################## gmp-ecm-7.0.4+ds/build.vc12/libecm_gpu/libecm_gpu.vcxproj.filters-169- <ItemGroup> gmp-ecm-7.0.4+ds/build.vc12/libecm_gpu/libecm_gpu.vcxproj.filters:170: <YASM Include="..\assembler\mulredc.asm"> gmp-ecm-7.0.4+ds/build.vc12/libecm_gpu/libecm_gpu.vcxproj.filters-171- <Filter>Source Files</Filter> gmp-ecm-7.0.4+ds/build.vc12/libecm_gpu/libecm_gpu.vcxproj.filters-172- </YASM> gmp-ecm-7.0.4+ds/build.vc12/libecm_gpu/libecm_gpu.vcxproj.filters:173: <YASM Include="..\assembler\redc.asm"> gmp-ecm-7.0.4+ds/build.vc12/libecm_gpu/libecm_gpu.vcxproj.filters-174- <Filter>Source Files</Filter> ############################################## gmp-ecm-7.0.4+ds/build.vc12/tune/tune.vcxproj-114- <ItemGroup> gmp-ecm-7.0.4+ds/build.vc12/tune/tune.vcxproj:115: <YASM Include="..\assembler\mulredc.asm" /> gmp-ecm-7.0.4+ds/build.vc12/tune/tune.vcxproj:116: <YASM Include="..\assembler\redc.asm" /> gmp-ecm-7.0.4+ds/build.vc12/tune/tune.vcxproj-117- </ItemGroup> ############################################## gmp-ecm-7.0.4+ds/build.vc12/tune/tune.vcxproj.filters-16- <ItemGroup> gmp-ecm-7.0.4+ds/build.vc12/tune/tune.vcxproj.filters:17: <YASM Include="..\assembler\mulredc.asm"> gmp-ecm-7.0.4+ds/build.vc12/tune/tune.vcxproj.filters-18- <Filter>Source Files\Assembler</Filter> gmp-ecm-7.0.4+ds/build.vc12/tune/tune.vcxproj.filters-19- </YASM> gmp-ecm-7.0.4+ds/build.vc12/tune/tune.vcxproj.filters:20: <YASM Include="..\assembler\redc.asm"> gmp-ecm-7.0.4+ds/build.vc12/tune/tune.vcxproj.filters-21- <Filter>Source Files\Assembler</Filter> ############################################## gmp-ecm-7.0.4+ds/debian/patches/upstream-libtoolization-version_script.patch-25-@@ -39,7 +43,11 @@ gmp-ecm-7.0.4+ds/debian/patches/upstream-libtoolization-version_script.patch:26: # Link the asm redc code (if we use it) into libecm.la gmp-ecm-7.0.4+ds/debian/patches/upstream-libtoolization-version_script.patch-27- libecm_la_CPPFLAGS = $(MULREDCINCPATH)