summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--mpn/x86_64/core2/lshift.asm6
-rw-r--r--mpn/x86_64/core2/rshift.asm6
3 files changed, 11 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 65f7e38d6..a36405c98 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2009-12-28 Torbjorn Granlund <tege@gmplib.org>
+
+ * mpn/x86_64/core2/lshift.asm: Tweak for better Core iN performance.
+ * mpn/x86_64/core2/rshift.asm: Likewise.
+
2009-12-27 Marco Bodrato <bodrato@mail.dm.unipi.it>
* mpn/generic/mul.c: Use toom6h and toom8h for almost balanced.
diff --git a/mpn/x86_64/core2/lshift.asm b/mpn/x86_64/core2/lshift.asm
index 876b7433a..e3e400874 100644
--- a/mpn/x86_64/core2/lshift.asm
+++ b/mpn/x86_64/core2/lshift.asm
@@ -1,6 +1,6 @@
dnl x86-64 mpn_lshift optimized for "Core 2".
-dnl Copyright 2007 Free Software Foundation, Inc.
+dnl Copyright 2007, 2009 Free Software Foundation, Inc.
dnl
dnl This file is part of the GNU MP Library.
dnl
@@ -25,7 +25,7 @@ C K8,K9: 4.25
C K10: 4.25
C P4: 14.7
C P6 core2: 1.27
-C P6 corei7: 1.75
+C P6 corei7: 1.5
C INPUT PARAMETERS
@@ -112,8 +112,8 @@ L(01): shld %cl, %r10, %r9
mov %r9, -16(rp)
L(00): shld %cl, %r11, %r10
mov -24(up), %r9
- lea -32(up), up
mov %r10, -24(rp)
+ add $-32, up
lea -32(rp), rp
sub $4, n
jnc L(top)
diff --git a/mpn/x86_64/core2/rshift.asm b/mpn/x86_64/core2/rshift.asm
index 4405723ee..485fd4b0d 100644
--- a/mpn/x86_64/core2/rshift.asm
+++ b/mpn/x86_64/core2/rshift.asm
@@ -1,6 +1,6 @@
dnl x86-64 mpn_rshift optimized for "Core 2".
-dnl Copyright 2007 Free Software Foundation, Inc.
+dnl Copyright 2007, 2009 Free Software Foundation, Inc.
dnl
dnl This file is part of the GNU MP Library.
dnl
@@ -25,7 +25,7 @@ C K8,K9: 4.25
C K10: 4.25
C P4: 14.7
C P6 core2: 1.27
-C P6 corei7: 1.75
+C P6 corei7: 1.5
C INPUT PARAMETERS
@@ -110,8 +110,8 @@ L(01): shrd %cl, %r10, %r9
mov %r9, 16(rp)
L(00): shrd %cl, %r11, %r10
mov 16(up), %r9
- lea 32(up), up
mov %r10, 24(rp)
+ add $32, up
lea 32(rp), rp
sub $4, n
jnc L(top)