* assembler version of mod_qword_word reactivated

This commit is contained in:
florian 2004-07-25 11:50:39 +00:00
parent c1e1d4f8d8
commit 051126d079

View File

@ -90,11 +90,8 @@
end;
(*
This does not work correctly
{$define FPC_SYSTEM_HAS_MOD_QWORD}
function fpc_mod_qword(n,z : qword) : qword;[public,alias: 'FPC_MOD_QWORD']; {$ifdef hascompilerproc} compilerproc; {$endif}
function fpc_mod_qword(n,z : qword) : qword;assembler;[public,alias: 'FPC_MOD_QWORD']; {$ifdef hascompilerproc} compilerproc; {$endif}
var
shift,lzz,lzn : longint;
saveebx,saveedi : longint;
@ -112,6 +109,7 @@
pushl $200
call HandleErrorFrame
jmp .Lexit
.Lnodivzero:
movl z+4,%edx
movl z,%eax
testl %ecx,%ecx
@ -144,7 +142,7 @@
shrdl %cl,%edi,%ebx
shrdl %cl,%edx,%eax
shrl %cl,%edx
rorl $1,%edi
roll $1,%edi
divl %ebx
movl z,%ebx
movl %eax,%ecx
@ -164,8 +162,6 @@
movl saveebx,%ebx
movl saveedi,%edi
end;
*)
{$define FPC_SYSTEM_HAS_MUL_QWORD}
{ multiplies two qwords
@ -209,7 +205,10 @@
{
$Log$
Revision 1.3 2004-05-10 20:58:20 florian
Revision 1.4 2004-07-25 11:50:39 florian
* assembler version of mod_qword_word reactivated
Revision 1.3 2004/05/10 20:58:20 florian
* fpc_mul_qword uses always the assembler implementation
Revision 1.2 2003/12/23 23:09:43 peter