summaryrefslogtreecommitdiff
path: root/mpn/x86_64/mod_34lsub1.asm
diff options
context:
space:
mode:
Diffstat (limited to 'mpn/x86_64/mod_34lsub1.asm')
-rw-r--r--mpn/x86_64/mod_34lsub1.asm12
1 files changed, 9 insertions, 3 deletions
diff --git a/mpn/x86_64/mod_34lsub1.asm b/mpn/x86_64/mod_34lsub1.asm
index 08cd7d939..ee4d0d347 100644
--- a/mpn/x86_64/mod_34lsub1.asm
+++ b/mpn/x86_64/mod_34lsub1.asm
@@ -1,7 +1,7 @@
dnl AMD64 mpn_mod_34lsub1 -- remainder modulo 2^48-1.
-dnl Copyright 2000, 2001, 2002, 2004, 2005, 2007, 2009, 2010 Free Software
-dnl Foundation, Inc.
+dnl Copyright 2000, 2001, 2002, 2004, 2005, 2007, 2009, 2010, 2011 Free
+dnl Software Foundation, Inc.
dnl This file is part of the GNU MP Library.
@@ -39,10 +39,14 @@ C mp_limb_t mpn_mod_34lsub1 (mp_srcptr up, mp_size_t n)
C TODO
C * Review feed-in and wind-down code.
+C ABI_SUPPORT(DOS64)
+C ABI_SUPPORT(ELF64)
+
ASM_START()
TEXT
ALIGN(32)
PROLOGUE(mpn_mod_34lsub1)
+ DOS64_ENTRY(2)
mov $0x0000FFFFFFFFFFFF, %r11
@@ -66,7 +70,8 @@ PROLOGUE(mpn_mod_34lsub1)
shl $16, %rdx C src[1] low
add %rdx, %rax
-L(one): ret
+L(one): DOS64_EXIT()
+ ret
C Don't change this, the wind-down code is not able to handle greater values
@@ -176,5 +181,6 @@ L(0): add %r9, %rax
add %rdx, %rax C apply 2mod3 high
add %rdi, %rax C apply 2mod3 low
+ DOS64_EXIT()
ret
EPILOGUE()