Solved register save/restore bug

This commit is contained in:
Diederik Huys 2013-03-27 23:04:38 +01:00
parent fa17bab40d
commit 47fdb56d30
1 changed files with 19 additions and 0 deletions

View File

@ -29,6 +29,12 @@
GLOBAL ExSetMult GLOBAL ExSetMult
ALIGN 32 ALIGN 32
ExSetMult: ExSetMult:
push rbp
push rbx
push r12
push r13
push r14
push r15
push rdx push rdx
mov r14,[rsi+8*0] ; preload b.n[0]. This will be the case until mov r14,[rsi+8*0] ; preload b.n[0]. This will be the case until
; b.n[0] is no longer needed, then we reassign ; b.n[0] is no longer needed, then we reassign
@ -286,6 +292,13 @@ common_exit_norm:
mov [rbx+0*8],rax ; -> this.n[0] mov [rbx+0*8],rax ; -> this.n[0]
add r8,r11 add r8,r11
mov [rbx+1*8],r8 ; -> this.n[1] mov [rbx+1*8],r8 ; -> this.n[1]
pop r15
pop r14
pop r13
pop r12
pop rbx
pop rbp
ret ret
@ -305,6 +318,12 @@ common_exit_norm:
GLOBAL ExSetSquare GLOBAL ExSetSquare
ALIGN 32 ALIGN 32
ExSetSquare: ExSetSquare:
push rbp
push rbx
push r12
push r13
push r14
push r15
push rsi push rsi
mov rbp,0FFFFFFFFFFFFFh mov rbp,0FFFFFFFFFFFFFh