[Gmp-commit] /var/hg/gmp: 4 new changesets
mercurial at gmplib.org
mercurial at gmplib.org
Wed May 3 17:14:56 UTC 2017
details: /var/hg/gmp/rev/36d802618d2d
changeset: 17374:36d802618d2d
user: Torbjorn Granlund <tg at gmplib.org>
date: Wed May 03 19:11:55 2017 +0200
description:
Remove spurious DOS decls.
details: /var/hg/gmp/rev/8a865fcd2bf3
changeset: 17375:8a865fcd2bf3
user: Torbjorn Granlund <tg at gmplib.org>
date: Wed May 03 19:12:01 2017 +0200
description:
Remove spurious DOS decls.
details: /var/hg/gmp/rev/84d6122a67b9
changeset: 17376:84d6122a67b9
user: Torbjorn Granlund <tg at gmplib.org>
date: Wed May 03 19:13:29 2017 +0200
description:
Adjust c/l number.
details: /var/hg/gmp/rev/a1a2fcae1874
changeset: 17377:a1a2fcae1874
user: Torbjorn Granlund <tg at gmplib.org>
date: Wed May 03 19:13:56 2017 +0200
description:
Tune.
diffstat:
mpn/x86_64/bd1/mul_1.asm | 2 +-
mpn/x86_64/core2/aorsmul_1.asm | 19 ++++++++++---------
mpn/x86_64/zen/aorsmul_1.asm | 7 -------
mpn/x86_64/zen/mul_1.asm | 11 ++---------
4 files changed, 13 insertions(+), 26 deletions(-)
diffs (121 lines):
diff -r 53dd1100466a -r a1a2fcae1874 mpn/x86_64/bd1/mul_1.asm
--- a/mpn/x86_64/bd1/mul_1.asm Wed May 03 18:52:18 2017 +0200
+++ b/mpn/x86_64/bd1/mul_1.asm Wed May 03 19:13:56 2017 +0200
@@ -48,7 +48,7 @@
C Intel BWL 2.49
C Intel SKL 2.50
C Intel atom 20.3
-C Intel SLM 8
+C Intel SLM 7.8
C VIA nano 4.25
C The loop of this code is the result of running a code generation and
diff -r 53dd1100466a -r a1a2fcae1874 mpn/x86_64/core2/aorsmul_1.asm
--- a/mpn/x86_64/core2/aorsmul_1.asm Wed May 03 18:52:18 2017 +0200
+++ b/mpn/x86_64/core2/aorsmul_1.asm Wed May 03 19:13:56 2017 +0200
@@ -48,7 +48,7 @@
C Intel BWL 2.87
C Intel SKL 2.79
C Intel atom 20.6
-C Intel SLM 8
+C Intel SLM 7.6
C VIA nano 5.25
C INPUT PARAMETERS
@@ -116,23 +116,24 @@
mul %rcx
L(start_nc):
- bt $0, R32(%rbx)
- jc L(odd)
+ test $1, R8(%rbx)
+ jnz L(odd)
lea (%rax), %r11
mov 8(up,%rbx,8), %rax
lea (%rdx), %rbp
mul %rcx
add $2, %rbx
- jns L(n2)
+ jz L(n2)
lea (%rax), %r8
mov (up,%rbx,8), %rax
lea (%rdx), %r9
jmp L(mid)
-L(odd): add $1, %rbx
- jns L(n1)
+ ALIGN(8)
+L(odd): inc %rbx
+ jz L(n1)
lea (%rax), %r8
mov (up,%rbx,8), %rax
@@ -169,16 +170,16 @@
ADDSUB %r8, %r10
adc %r9, %r11
mov %r10, -8(rp)
- adc $0, %rbp
+ adc %rbx, %rbp C rbx = 0
L(n2): mov (rp), %r10
ADDSUB %r11, %r10
adc %rbp, %rax
mov %r10, (rp)
- adc $0, %rdx
+ adc %rbx, %rdx C rbx = 0
L(n1): mov 8(rp), %r10
ADDSUB %rax, %r10
mov %r10, 8(rp)
- mov R32(%rbx), R32(%rax) C zero rax
+ mov R32(%rbx), R32(%rax) C rbx = 0
adc %rdx, %rax
pop %rbp
pop %rbx
diff -r 53dd1100466a -r a1a2fcae1874 mpn/x86_64/zen/aorsmul_1.asm
--- a/mpn/x86_64/zen/aorsmul_1.asm Wed May 03 18:52:18 2017 +0200
+++ b/mpn/x86_64/zen/aorsmul_1.asm Wed May 03 19:13:56 2017 +0200
@@ -74,13 +74,6 @@
MULFUNC_PROLOGUE(mpn_addmul_1 mpn_submul_1)
-IFDOS(` define(`up', ``%rsi'') ') dnl
-IFDOS(` define(`rp', ``%rcx'') ') dnl
-IFDOS(` define(`vl', ``%r9'') ') dnl
-IFDOS(` define(`r9', ``rdi'') ') dnl
-IFDOS(` define(`n', ``%r8'') ') dnl
-IFDOS(` define(`r8', ``r11'') ') dnl
-
ASM_START()
TEXT
ALIGN(16)
diff -r 53dd1100466a -r a1a2fcae1874 mpn/x86_64/zen/mul_1.asm
--- a/mpn/x86_64/zen/mul_1.asm Wed May 03 18:52:18 2017 +0200
+++ b/mpn/x86_64/zen/mul_1.asm Wed May 03 19:13:56 2017 +0200
@@ -61,13 +61,6 @@
define(`n', `%rcx')
define(`v0', `%rdx')
-IFDOS(` define(`up', ``%rsi'') ') dnl
-IFDOS(` define(`rp', ``%rcx'') ') dnl
-IFDOS(` define(`v0', ``%r9'') ') dnl
-IFDOS(` define(`r9', ``rdi'') ') dnl
-IFDOS(` define(`n', ``%r8'') ') dnl
-IFDOS(` define(`r8', ``r11'') ') dnl
-
ASM_START()
TEXT
ALIGN(16)
@@ -114,10 +107,10 @@
L(b2): mov %r8, %r10 C carry-in limb
mulx( %r9, %r13, %r12)
- .byte 0xc4,0xe2,0xe3,0xf6,0x44,0xce,0x08 C mulx 8(up,n,8), %rbx, %rax
+ .byte 0xc4,0xe2,0xe3,0xf6,0x44,0xce,0x08 C mulx 8(up,n,8), %rbx, %rax
sub $-2, n
jz L(wd2)
- .byte 0xc4,0x62,0xb3,0xf6,0x04,0xce C mulx (up,n,8), %r9, %r8
+ .byte 0xc4,0x62,0xb3,0xf6,0x04,0xce C mulx (up,n,8), %r9, %r8
add %r10, %r13
jmp L(lo2)
More information about the gmp-commit
mailing list