mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-10-28 21:22:34 +01:00
* draft for qword mul
This commit is contained in:
parent
9594866b30
commit
bca9da0ec7
@ -117,7 +117,10 @@ end;
|
|||||||
|
|
||||||
{
|
{
|
||||||
$Log$
|
$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
|
+ get_caller_addr/frame implemented
|
||||||
|
|
||||||
Revision 1.4 2004/01/20 21:01:57 florian
|
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
|
Revision 1.1 2003/08/21 16:41:54 florian
|
||||||
* empty dummy files
|
* empty dummy files
|
||||||
+ [long|set]jmp implemented
|
+ [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$
|
$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
|
* initial revision
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user