mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-20 22:51:20 +02:00
* emit MUL instead of IMUL in ti8086addnode.second_mul when overflow checking is
off and the multiplication is 16->16 git-svn-id: trunk@26495 -
This commit is contained in:
parent
76c40a49db
commit
3f4111ac37
@ -616,6 +616,13 @@ interface
|
|||||||
begin
|
begin
|
||||||
pass_left_right;
|
pass_left_right;
|
||||||
|
|
||||||
|
{ MUL is faster than IMUL on the 8086 & 8088 (and equal in speed on 286+),
|
||||||
|
but it's only safe to use in place of IMUL when overflow checking is off
|
||||||
|
and we're doing a 16-bit>16-bit multiplication }
|
||||||
|
if not (cs_check_overflow in current_settings.localswitches) and
|
||||||
|
(not is_32bitint(resultdef)) then
|
||||||
|
unsigned:=true;
|
||||||
|
|
||||||
{The location.register will be filled in later (JM)}
|
{The location.register will be filled in later (JM)}
|
||||||
location_reset(location,LOC_REGISTER,def_cgsize(resultdef));
|
location_reset(location,LOC_REGISTER,def_cgsize(resultdef));
|
||||||
{ Mul supports registers and references, so if not register/reference,
|
{ Mul supports registers and references, so if not register/reference,
|
||||||
|
Loading…
Reference in New Issue
Block a user