mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-10-20 13:11:40 +02:00
* draft for qword mul
This commit is contained in:
parent
9594866b30
commit
bca9da0ec7
@ -117,7 +117,10 @@ end;
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.5 2004-01-21 23:12:07 florian
|
||||
Revision 1.6 2004-03-14 21:45:11 florian
|
||||
* draft for qword mul
|
||||
|
||||
Revision 1.5 2004/01/21 23:12:07 florian
|
||||
+ get_caller_addr/frame implemented
|
||||
|
||||
Revision 1.4 2004/01/20 21:01:57 florian
|
||||
@ -135,4 +138,4 @@ end;
|
||||
Revision 1.1 2003/08/21 16:41:54 florian
|
||||
* empty dummy files
|
||||
+ [long|set]jmp implemented
|
||||
}
|
||||
}
|
||||
|
@ -14,8 +14,28 @@
|
||||
|
||||
**********************************************************************}
|
||||
|
||||
{!!!!
|
||||
function fpc_mul_qword(f1,f2 : qword;checkoverflow : longbool) : qword;[public,alias: 'FPC_MUL_QWORD']; {$ifdef hascompilerproc} compilerproc; {$endif}
|
||||
asm
|
||||
mov r6,#0
|
||||
umull r4,r5,r0,r2
|
||||
umlal r5,r6,r0,r3
|
||||
{ overflow? }
|
||||
or r0,r1,r3
|
||||
umlal r5,r6,r1,r2
|
||||
{ check for overflow }
|
||||
ors r6,r6,r0
|
||||
mov r0,r4
|
||||
mov r1,r5
|
||||
end;
|
||||
}
|
||||
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.1 2003-11-03 17:28:21 florian
|
||||
Revision 1.2 2004-03-14 21:45:11 florian
|
||||
* draft for qword mul
|
||||
|
||||
Revision 1.1 2003/11/03 17:28:21 florian
|
||||
* initial revision
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user