summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTorbjorn Granlund <tg@gmplib.org>2017-04-25 22:23:51 +0200
committerTorbjorn Granlund <tg@gmplib.org>2017-04-25 22:23:51 +0200
commit1bd24a773fd83c45da557b512bffc07db89119e8 (patch)
treeab4fec371adffd9c627f44a84f5425c9eafcda0b
parentda40edd3d33bb3363eded7f958f27d0cf1ab61d1 (diff)
downloadgmp-1bd24a773fd83c45da557b512bffc07db89119e8.tar.gz
Allocate correct DOS64 frame.
-rw-r--r--mpn/x86_64/divrem_2.asm2
-rw-r--r--mpn/x86_64/fat/fat_entry.asm2
-rw-r--r--mpn/x86_64/mod_1_1.asm2
-rw-r--r--mpn/x86_64/mod_1_2.asm2
-rw-r--r--mpn/x86_64/mod_1_4.asm2
5 files changed, 10 insertions, 0 deletions
diff --git a/mpn/x86_64/divrem_2.asm b/mpn/x86_64/divrem_2.asm
index 296c9b673..20811ccbc 100644
--- a/mpn/x86_64/divrem_2.asm
+++ b/mpn/x86_64/divrem_2.asm
@@ -100,8 +100,10 @@ L(2):
push %r11
IFSTD(` mov %r11, %rdi ')
IFDOS(` mov %r11, %rcx ')
+IFDOS(` sub $32, %rsp ')
ASSERT(nz, `test $15, %rsp')
CALL( mpn_invert_limb)
+IFDOS(` add $32, %rsp ')
pop %r11
pop %r10
pop %r8
diff --git a/mpn/x86_64/fat/fat_entry.asm b/mpn/x86_64/fat/fat_entry.asm
index 8f7599dd5..5f244ac2b 100644
--- a/mpn/x86_64/fat/fat_entry.asm
+++ b/mpn/x86_64/fat/fat_entry.asm
@@ -167,7 +167,9 @@ IFSTD(` push %rsi ')
push %r8
push %r9
push %rax
+IFDOS(` sub $32, %rsp ')
CALL( __gmpn_cpuvec_init)
+IFDOS(` add $32, %rsp ')
pop %rax
pop %r9
pop %r8
diff --git a/mpn/x86_64/mod_1_1.asm b/mpn/x86_64/mod_1_1.asm
index 09b5dd1e1..255305f3f 100644
--- a/mpn/x86_64/mod_1_1.asm
+++ b/mpn/x86_64/mod_1_1.asm
@@ -198,8 +198,10 @@ PROLOGUE(mpn_mod_1_1p_cps)
sal R8(%rcx), %r12
IFSTD(` mov %r12, %rdi ') C pass parameter
IFDOS(` mov %r12, %rcx ') C pass parameter
+IFDOS(` sub $32, %rsp ')
ASSERT(nz, `test $15, %rsp')
CALL( mpn_invert_limb)
+IFDOS(` add $32, %rsp ')
neg %r12
mov %r12, %r8
mov %rax, (%rbx) C store bi
diff --git a/mpn/x86_64/mod_1_2.asm b/mpn/x86_64/mod_1_2.asm
index 09d856e6e..40fcaebf4 100644
--- a/mpn/x86_64/mod_1_2.asm
+++ b/mpn/x86_64/mod_1_2.asm
@@ -183,8 +183,10 @@ PROLOGUE(mpn_mod_1s_2p_cps)
sal R8(%rcx), %r12 C b << cnt
IFSTD(` mov %r12, %rdi ') C pass parameter
IFDOS(` mov %r12, %rcx ') C pass parameter
+IFDOS(` sub $32, %rsp ')
ASSERT(nz, `test $15, %rsp')
CALL( mpn_invert_limb)
+IFDOS(` add $32, %rsp ')
mov %r12, %r8
mov %rax, %r11
mov %rax, (%rbx) C store bi
diff --git a/mpn/x86_64/mod_1_4.asm b/mpn/x86_64/mod_1_4.asm
index ae34617c7..6cf304cf2 100644
--- a/mpn/x86_64/mod_1_4.asm
+++ b/mpn/x86_64/mod_1_4.asm
@@ -190,8 +190,10 @@ PROLOGUE(mpn_mod_1s_4p_cps)
sal R8(%rcx), %r12 C b << cnt
IFSTD(` mov %r12, %rdi ') C pass parameter
IFDOS(` mov %r12, %rcx ') C pass parameter
+IFDOS(` sub $32, %rsp ')
ASSERT(nz, `test $15, %rsp')
CALL( mpn_invert_limb)
+IFDOS(` add $32, %rsp ')
mov %r12, %r8
mov %rax, %r11
mov %rax, (%rbx) C store bi