summaryrefslogtreecommitdiff
path: root/mpn/x86_64/coreisbr/aors_n.asm
diff options
context:
space:
mode:
Diffstat (limited to 'mpn/x86_64/coreisbr/aors_n.asm')
-rw-r--r--mpn/x86_64/coreisbr/aors_n.asm14
1 files changed, 14 insertions, 0 deletions
diff --git a/mpn/x86_64/coreisbr/aors_n.asm b/mpn/x86_64/coreisbr/aors_n.asm
index 66a5e3b60..4d8d1cccf 100644
--- a/mpn/x86_64/coreisbr/aors_n.asm
+++ b/mpn/x86_64/coreisbr/aors_n.asm
@@ -49,10 +49,22 @@ ifdef(`OPERATION_sub_n', `
MULFUNC_PROLOGUE(mpn_add_n mpn_add_nc mpn_sub_n mpn_sub_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)
+ DOS64_ENTRY(4)
xor %r8, %r8
L(ent): mov R32(n), R32(%rax)
shr $2, n
@@ -144,5 +156,7 @@ L(e1): ADCSBB 16(vp), %r10
ret
EPILOGUE()
PROLOGUE(func_nc)
+ DOS64_ENTRY(4)
+IFDOS(` mov 56(%rsp), %r8 ')
jmp L(ent)
EPILOGUE()