* use sizeuinttype, instead of ptruinttype for the indexdef conversion in

tcgvecnode.pass_generate_code. This avoids a meaningless conversion to 32-bit
  (and using the cwd instruction) on i8086 in the far data memory models.

git-svn-id: trunk@39472 -
This commit is contained in:
nickysn 2018-07-19 15:27:14 +00:00
parent 0e6b9951ee
commit 42432d4ef3

View File

@ -1074,8 +1074,8 @@ implementation
if not(right.location.loc in [LOC_CREGISTER,LOC_REGISTER]) or
not valid_index_size(right.location.size) then
begin
hlcg.location_force_reg(current_asmdata.CurrAsmList,right.location,right.resultdef,ptruinttype,true);
indexdef:=ptruinttype
hlcg.location_force_reg(current_asmdata.CurrAsmList,right.location,right.resultdef,sizeuinttype,true);
indexdef:=sizeuinttype
end
else
indexdef:=right.resultdef;