diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | mpn/x86_64/core2/lshift.asm | 6 | ||||
-rw-r--r-- | mpn/x86_64/core2/rshift.asm | 6 |
3 files changed, 11 insertions, 6 deletions
@@ -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) |