mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-17 20:49:09 +02:00
* overlfow support in second_mul
This commit is contained in:
parent
46769ccfcb
commit
29cae38f12
@ -1348,6 +1348,7 @@ interface
|
|||||||
procedure ti386addnode.second_mul;
|
procedure ti386addnode.second_mul;
|
||||||
|
|
||||||
var r:Tregister;
|
var r:Tregister;
|
||||||
|
hl4 : tasmlabel;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
{The location.register will be filled in later (JM)}
|
{The location.register will be filled in later (JM)}
|
||||||
@ -1367,6 +1368,13 @@ interface
|
|||||||
{Also allocate EDX, since it is also modified by a mul (JM).}
|
{Also allocate EDX, since it is also modified by a mul (JM).}
|
||||||
cg.getexplicitregister(exprasmlist,NR_EDX);
|
cg.getexplicitregister(exprasmlist,NR_EDX);
|
||||||
emit_reg(A_MUL,S_L,r);
|
emit_reg(A_MUL,S_L,r);
|
||||||
|
if cs_check_overflow in aktlocalswitches then
|
||||||
|
begin
|
||||||
|
objectlibrary.getlabel(hl4);
|
||||||
|
cg.a_jmp_flags(exprasmlist,F_AE,hl4);
|
||||||
|
cg.a_call_name(exprasmlist,'FPC_OVERFLOW');
|
||||||
|
cg.a_label(exprasmlist,hl4);
|
||||||
|
end;
|
||||||
{Free EDX}
|
{Free EDX}
|
||||||
cg.ungetregister(exprasmlist,NR_EDX);
|
cg.ungetregister(exprasmlist,NR_EDX);
|
||||||
{Free EAX}
|
{Free EAX}
|
||||||
@ -1581,7 +1589,10 @@ begin
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.89 2003-12-21 11:28:41 daniel
|
Revision 1.90 2003-12-23 22:13:41 peter
|
||||||
|
* overlfow support in second_mul
|
||||||
|
|
||||||
|
Revision 1.89 2003/12/21 11:28:41 daniel
|
||||||
* Some work to allow mmx instructions to be used for 32 byte sets
|
* Some work to allow mmx instructions to be used for 32 byte sets
|
||||||
|
|
||||||
Revision 1.88 2003/12/06 01:15:23 florian
|
Revision 1.88 2003/12/06 01:15:23 florian
|
||||||
|
Loading…
Reference in New Issue
Block a user