[Gmp-commit] /var/hg/gmp: Add DOS entry/exit sequences.
mercurial at gmplib.org
mercurial at gmplib.org
Mon Apr 16 20:05:24 CEST 2012
details: /var/hg/gmp/rev/b94d197b04e9
changeset: 14838:b94d197b04e9
user: Torbjorn Granlund <tege at gmplib.org>
date: Mon Apr 16 20:05:19 2012 +0200
description:
Add DOS entry/exit sequences.
diffstat:
ChangeLog | 3 +++
mpn/x86_64/fastsse/lshift-movdqu2.asm | 3 +++
mpn/x86_64/fastsse/rshift-movdqu2.asm | 6 ++++++
3 files changed, 12 insertions(+), 0 deletions(-)
diffs (86 lines):
diff -r 16444bbb5a05 -r b94d197b04e9 ChangeLog
--- a/ChangeLog Mon Apr 16 18:00:51 2012 +0200
+++ b/ChangeLog Mon Apr 16 20:05:19 2012 +0200
@@ -1,5 +1,8 @@
2012-04-16 Torbjorn Granlund <tege at gmplib.org>
+ * mpn/x86_64/fastsse/lshift-movdqu2.asm: Add DOS entry/exit sequences.
+ * mpn/x86_64/fastsse/rshift-movdqu2.asm: Likewise.
+
* mpn/x86_64/x86_64-defs.m4 (palignr): New macro.
* mpn/x86_64/fastsse/copyd-palignr.asm: Use palignr macro.
* mpn/x86_64/fastsse/copyi-palignr.asm: Likewise.
diff -r 16444bbb5a05 -r b94d197b04e9 mpn/x86_64/fastsse/lshift-movdqu2.asm
--- a/mpn/x86_64/fastsse/lshift-movdqu2.asm Mon Apr 16 18:00:51 2012 +0200
+++ b/mpn/x86_64/fastsse/lshift-movdqu2.asm Mon Apr 16 20:05:19 2012 +0200
@@ -56,6 +56,7 @@
TEXT
ALIGN(64)
PROLOGUE(mpn_lshift)
+ DOS64_ENTRY(4)
movd R32(%rcx), %xmm4
mov $64, R32(%rax)
sub R32(%rcx), R32(%rax)
@@ -139,6 +140,7 @@
psrlq %xmm5, %xmm0
por %xmm1, %xmm0
movdqa %xmm0, (rp)
+ DOS64_EXIT()
ret
C Basecase
@@ -164,5 +166,6 @@
L(end8):movq (ap), %xmm0
psllq %xmm4, %xmm0
movq %xmm0, (rp)
+ DOS64_EXIT()
ret
EPILOGUE()
diff -r 16444bbb5a05 -r b94d197b04e9 mpn/x86_64/fastsse/rshift-movdqu2.asm
--- a/mpn/x86_64/fastsse/rshift-movdqu2.asm Mon Apr 16 18:00:51 2012 +0200
+++ b/mpn/x86_64/fastsse/rshift-movdqu2.asm Mon Apr 16 20:05:19 2012 +0200
@@ -56,6 +56,7 @@
TEXT
ALIGN(64)
PROLOGUE(mpn_rshift)
+ DOS64_ENTRY(4)
movd R32(%rcx), %xmm4
mov $64, R32(%rax)
sub R32(%rcx), R32(%rax)
@@ -142,11 +143,13 @@
psllq %xmm5, %xmm0
por %xmm1, %xmm0
movdqa %xmm0, -16(rp)
+ DOS64_EXIT()
ret
L(e1): movq -8(ap), %xmm0
psrlq %xmm4, %xmm0
movq %xmm0, -8(rp)
+ DOS64_EXIT()
ret
C Basecase
@@ -156,6 +159,7 @@
movq (ap), %xmm0
psrlq %xmm4, %xmm0
movq %xmm0, (rp)
+ DOS64_EXIT()
ret
1: movq (ap), %xmm1
@@ -169,6 +173,7 @@
movq 8(ap), %xmm0
psrlq %xmm4, %xmm0
movq %xmm0, 8(rp)
+ DOS64_EXIT()
ret
1: movq 8(ap), %xmm1
@@ -180,5 +185,6 @@
movq 16(ap), %xmm0
psrlq %xmm4, %xmm0
movq %xmm0, 16(rp)
+ DOS64_EXIT()
ret
EPILOGUE()
More information about the gmp-commit
mailing list