mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-09 19:08:15 +02:00
+ Xtensa: make use of the LSX/SSX instructions
git-svn-id: trunk@47564 -
This commit is contained in:
parent
9dcf85a8ef
commit
4a05053650
@ -100,8 +100,13 @@ unit agcpugas;
|
||||
begin
|
||||
s:=gas_regname(base);
|
||||
if index<>NR_NO then
|
||||
Internalerror(2020030802);
|
||||
s:=s+','+tostr(offset);
|
||||
begin
|
||||
s:=s+','+gas_regname(index);
|
||||
if offset<>0 then
|
||||
Internalerror(2020112402);
|
||||
end
|
||||
else
|
||||
s:=s+','+tostr(offset);
|
||||
end;
|
||||
end;
|
||||
getreferencestring:=s;
|
||||
|
@ -1179,11 +1179,14 @@ implementation
|
||||
InternalError(2020032602);
|
||||
href:=ref;
|
||||
if assigned(href.symbol) or
|
||||
(href.index<>NR_NO) or
|
||||
((href.index<>NR_NO) and (href.offset<>0)) or
|
||||
(((href.offset<0) or (href.offset>1020) or (href.offset mod 4<>0))) then
|
||||
fixref(list,href);
|
||||
|
||||
list.concat(taicpu.op_reg_ref(A_LSI,reg,href));
|
||||
if (href.base<>NR_NO) and (href.index<>NR_NO) then
|
||||
list.concat(taicpu.op_reg_ref(A_LSX,reg,href))
|
||||
else
|
||||
list.concat(taicpu.op_reg_ref(A_LSI,reg,href));
|
||||
|
||||
if fromsize<>tosize then
|
||||
a_loadfpu_reg_reg(list,fromsize,tosize,reg,reg);
|
||||
@ -1198,11 +1201,14 @@ implementation
|
||||
InternalError(2020032604);
|
||||
href:=ref;
|
||||
if assigned(href.symbol) or
|
||||
(href.index<>NR_NO) or
|
||||
((href.index<>NR_NO) and (href.offset<>0)) or
|
||||
(((href.offset<0) or (href.offset>1020) or (href.offset mod 4<>0))) then
|
||||
fixref(list,href);
|
||||
|
||||
list.concat(taicpu.op_reg_ref(A_SSI,reg,href));
|
||||
if (href.base<>NR_NO) and (href.index<>NR_NO) then
|
||||
list.concat(taicpu.op_reg_ref(A_SSX,reg,href))
|
||||
else
|
||||
list.concat(taicpu.op_reg_ref(A_SSI,reg,href));
|
||||
end;
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user