propout [edi + 8], xmm6, nil
endprop [edi + 12], xmm6, xmm4
ret
-
ENDFUNC
INTFUNC(dmul4)
propout [edi + 12], xmm7, xmm4
ret
-
ENDFUNC
INTFUNC(dmla4)
propout [edi + 12], xmm7, xmm4
ret
-
ENDFUNC
INTFUNC(mul4zc)
propout [edi + 12], xmm7, xmm4
ret
-
ENDFUNC
INTFUNC(mul4)
propout [edi + 12], xmm7, xmm4
ret
-
ENDFUNC
INTFUNC(mla4zc)
propout [edi + 12], xmm7, xmm4
ret
-
ENDFUNC
INTFUNC(mla4)
propout [edi + 12], xmm7, xmm4
ret
-
ENDFUNC
INTFUNC(mmul4)
mulcore [eax + 0], ecx, xmm4, xmm5, xmm6, xmm7
propout [edi + 0], xmm4, xmm5
jmp 5f
-
ENDFUNC
INTFUNC(mmla4)
// And, with that, we're done.
stfree 48 + 12
ret
-
ENDFUNC
INTFUNC(mont4)
// And, with that, we're done.
ret
-
ENDFUNC
///--------------------------------------------------------------------------
pushreg esi
pushreg edi
setfp
+ stalloc 32
and SP, ~15
- sub SP, 32
endprologue
// Prepare for the first iteration.
pop ebx
pop BP
ret
-
ENDFUNC
FUNC(mpxmont_mul4_x86_avx)
pushreg esi
pushreg edi
setfp
+ stalloc 112
and SP, ~15
- sub SP, 112
endprologue
// Establish the expanded operands.
popreg ebx
popreg BP
ret
-
ENDFUNC
FUNC(mpxmont_redc4_x86_avx)
pushreg edi
setfp
and SP, ~15
- sub SP, 76
+ stalloc 76
endprologue
// Establish the expanded operands and the blocks-of-4 dv limit.
popreg ebx
popreg BP
ret
-
ENDFUNC
///--------------------------------------------------------------------------
pushreg esi
pushreg edi
setfp
+ stalloc 3*32 + 4*4
and SP, ~15
- sub SP, 3*32 + 4*4
endprologue
mov eax, \n
mov [SP + 104], eax