diff options
Diffstat (limited to 'mpn/x86_64/core2/rsh1aors_n.asm')
-rw-r--r-- | mpn/x86_64/core2/rsh1aors_n.asm | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/mpn/x86_64/core2/rsh1aors_n.asm b/mpn/x86_64/core2/rsh1aors_n.asm index eb52efc08..b350e4a43 100644 --- a/mpn/x86_64/core2/rsh1aors_n.asm +++ b/mpn/x86_64/core2/rsh1aors_n.asm @@ -1,6 +1,6 @@ dnl Intel P6/64 mpn_rsh1add_n and mpn_rsh1sub_n -- rp[] = (up[] +- vp[]) >> 1 -dnl Copyright 2003, 2005, 2009, 2010 Free Software Foundation, Inc. +dnl Copyright 2003, 2005, 2009, 2010, 2011 Free Software Foundation, Inc. dnl This file is part of the GNU MP Library. @@ -49,11 +49,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 push %rbp @@ -66,6 +79,7 @@ EPILOGUE() ALIGN(16) PROLOGUE(func_n) + DOS64_ENTRY(4) push %rbx push %rbp @@ -171,5 +185,6 @@ L(end): shrd $1, %rbx, %rbp mov %rbp, (rp) pop %rbp pop %rbx + DOS64_EXIT() ret EPILOGUE() |