* Xtensa: more fixes for load_reg/ref_reg/ref

git-svn-id: trunk@44369 -
This commit is contained in:
florian 2020-03-26 21:54:40 +00:00
parent 47f6af4416
commit 7e4ee79e65

View File

@ -213,13 +213,15 @@ implementation
else else
InternalError(2020030804); InternalError(2020030804);
end; end;
href:=ref; href:=ref;
if assigned(href.symbol) or if assigned(href.symbol) or
(href.index<>NR_NO) or (href.index<>NR_NO) or
((op=A_S8I) and ((href.offset<0) or (href.offset>255))) or ((op=A_S8I) and ((href.offset<0) or (href.offset>255))) or
((op=A_S16I) and ((href.offset<0) or (href.offset>510))) or ((op=A_S16I) and ((href.offset<0) or (href.offset>510) or (href.offset mod 2<>0))) or
((op=A_S32I) and ((href.offset<0) or (href.offset>1020))) then ((op=A_S32I) and ((href.offset<0) or (href.offset>1020) or (href.offset mod 4<>0))) then
fixref(list,href); fixref(list,href);
list.concat(taicpu.op_reg_ref(op,reg,href)); list.concat(taicpu.op_reg_ref(op,reg,href));
end; end;
@ -244,14 +246,13 @@ implementation
else else
internalerror(2020030801); internalerror(2020030801);
end; end;
href:=ref;
fixref(list,href);
href:=ref;
if assigned(href.symbol) or if assigned(href.symbol) or
(href.index<>NR_NO) or (href.index<>NR_NO) or
((op=A_L8UI) and ((href.offset<0) or (href.offset>255))) or ((op=A_L8UI) and ((href.offset<0) or (href.offset>255))) or
((op in [A_L16SI,A_L16UI]) and ((href.offset<0) or (href.offset>510))) or ((op in [A_L16SI,A_L16UI]) and ((href.offset<0) or (href.offset>510) or (href.offset mod 2<>0))) or
((op=A_L32I) and ((href.offset<0) or (href.offset>1020))) then ((op=A_L32I) and ((href.offset<0) or (href.offset>1020) or (href.offset mod 4<>0))) then
fixref(list,href); fixref(list,href);
list.concat(taicpu.op_reg_ref(op,reg,href)); list.concat(taicpu.op_reg_ref(op,reg,href));