[Gmp-commit] /var/hg/gmp: Preserve xmm6-xmm8 under DOS.
mercurial at gmplib.org
mercurial at gmplib.org
Wed Sep 18 00:30:22 CEST 2013
details: /var/hg/gmp/rev/52121fb11f27
changeset: 15996:52121fb11f27
user: Torbjorn Granlund <tege at gmplib.org>
date: Mon Sep 16 19:57:46 2013 +0200
description:
Preserve xmm6-xmm8 under DOS.
diffstat:
mpn/x86_64/fastsse/copyi-palignr.asm | 14 ++++++++++++--
1 files changed, 12 insertions(+), 2 deletions(-)
diffs (43 lines):
diff -r c86c76910610 -r 52121fb11f27 mpn/x86_64/fastsse/copyi-palignr.asm
--- a/mpn/x86_64/fastsse/copyi-palignr.asm Sun Sep 15 23:39:03 2013 +0200
+++ b/mpn/x86_64/fastsse/copyi-palignr.asm Mon Sep 16 19:57:46 2013 +0200
@@ -125,6 +125,11 @@
cmp $16, n
jc L(ued0)
+IFDOS(` add $-48, %rsp ')
+IFDOS(` movdqa %xmm6, (%rsp) ')
+IFDOS(` movdqa %xmm7, 16(%rsp) ')
+IFDOS(` movdqa %xmm8, 32(%rsp) ')
+
movaps 120(up), %xmm7
movaps 104(up), %xmm6
movaps 88(up), %xmm5
@@ -187,20 +192,25 @@
movdqa %xmm0, (rp)
lea 128(rp), rp
+IFDOS(` movdqa (%rsp), %xmm6 ')
+IFDOS(` movdqa 16(%rsp), %xmm7 ')
+IFDOS(` movdqa 32(%rsp), %xmm8 ')
+IFDOS(` add $48, %rsp ')
+
L(ued0):test $8, R8(n)
jz 1f
movaps 56(up), %xmm3
movaps 40(up), %xmm2
movaps 24(up), %xmm1
movaps 8(up), %xmm0
- movaps -8(up), %xmm8
+ movaps -8(up), %xmm4
palignr($8, %xmm2, %xmm3)
movdqa %xmm3, 48(rp)
palignr($8, %xmm1, %xmm2)
movdqa %xmm2, 32(rp)
palignr($8, %xmm0, %xmm1)
movdqa %xmm1, 16(rp)
- palignr($8, %xmm8, %xmm0)
+ palignr($8, %xmm4, %xmm0)
lea 64(up), up
movdqa %xmm0, (rp)
lea 64(rp), rp
More information about the gmp-commit
mailing list