summaryrefslogtreecommitdiff
path: root/mpn/x86_64/rsh1aors_n.asm
diff options
context:
space:
mode:
Diffstat (limited to 'mpn/x86_64/rsh1aors_n.asm')
-rw-r--r--mpn/x86_64/rsh1aors_n.asm17
1 files changed, 16 insertions, 1 deletions
diff --git a/mpn/x86_64/rsh1aors_n.asm b/mpn/x86_64/rsh1aors_n.asm
index c4a336446..1b6a103f1 100644
--- a/mpn/x86_64/rsh1aors_n.asm
+++ b/mpn/x86_64/rsh1aors_n.asm
@@ -1,7 +1,7 @@
dnl AMD64 mpn_rsh1add_n -- rp[] = (up[] + vp[]) >> 1
dnl AMD64 mpn_rsh1sub_n -- rp[] = (up[] - vp[]) >> 1
-dnl Copyright 2003, 2005, 2009 Free Software Foundation, Inc.
+dnl Copyright 2003, 2005, 2009, 2011 Free Software Foundation, Inc.
dnl This file is part of the GNU MP Library.
@@ -53,11 +53,24 @@ ifdef(`OPERATION_rsh1sub_n', `
MULFUNC_PROLOGUE(mpn_rsh1add_n mpn_rsh1add_nc mpn_rsh1sub_n mpn_rsh1sub_nc)
+ifdef(`HOST_DOS64',`
+ define(`IFDOS', `$1')
+ define(`IFELF', `')
+',`
+ define(`IFDOS', `')
+ define(`IFELF', `$1')
+')
+
+ABI_SUPPORT(DOS64)
+ABI_SUPPORT(ELF64)
+
ASM_START()
TEXT
ALIGN(16)
PROLOGUE(func_nc)
+ DOS64_ENTRY(4)
+IFDOS(` mov 56(%rsp), %r8 ')
push %rbx
xor R32(%rax), R32(%rax)
@@ -69,6 +82,7 @@ EPILOGUE()
ALIGN(16)
PROLOGUE(func_n)
+ DOS64_ENTRY(4)
push %rbx
xor R32(%rax), R32(%rax)
@@ -169,5 +183,6 @@ L(top): add %rbx, %rbx C rotate carry limb, restore acy
L(end): mov %rbx, (rp)
pop %rbx
+ DOS64_EXIT()
ret
EPILOGUE()