+ override get_address_type for the i8086 code generator and return near pointer

types, because that's what's needed for the i8086 address calculations in
  update_reference_reg_mul (the indexing operation is performed on the offset
  only)

git-svn-id: branches/wasm@48161 -
This commit is contained in:
nickysn 2021-01-15 15:47:38 +00:00
parent 34d3d39dbe
commit a69f7094dd

View File

@ -48,6 +48,7 @@ interface
{ tx86vecnode doesn't work for i8086, so we inherit tcgvecnode }
ti8086vecnode = class(tcgvecnode)
protected
function get_address_type: tdef;override;
function first_arraydef: tnode;override;
procedure update_reference_reg_mul(maybe_const_reg: tregister; regsize: tdef; l: aint);override;
end;
@ -186,6 +187,12 @@ implementation
TI8086VECNODE
*****************************************************************************}
function ti8086vecnode.get_address_type: tdef;
begin
tx86pointerdef(cpointerdef).getreusablex86(resultdef,x86pt_near);
end;
function ti8086vecnode.first_arraydef: tnode;
var
arraydef: tcpuarraydef;