mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-15 10:40:13 +02:00
* renamed getmmcgsize to getintmmcgsize + comment
git-svn-id: trunk@24744 -
This commit is contained in:
parent
2dd75e707e
commit
978b5530ec
@ -331,7 +331,10 @@ unit hlcg2ll;
|
||||
procedure gen_load_cgpara_loc(list: TAsmList; vardef: tdef; const para: TCGPara; var destloc: tlocation; reusepara: boolean); override;
|
||||
|
||||
protected
|
||||
function getmmcgsize(reg: tregister; size: tcgsize): tcgsize; virtual;
|
||||
{ returns the equivalent MM size for a vector register that contains
|
||||
a record, because in that case "size" will contain a cgsize
|
||||
representing an integer size}
|
||||
function getintmmcgsize(reg: tregister; size: tcgsize): tcgsize; virtual;
|
||||
end;
|
||||
|
||||
|
||||
@ -670,7 +673,7 @@ implementation
|
||||
{ sanity check }
|
||||
if def_cgsize(fromsize)<>loc.size then
|
||||
internalerror(2012071226);
|
||||
tocgsize:=getmmcgsize(reg,def_cgsize(tosize));
|
||||
tocgsize:=getintmmcgsize(reg,def_cgsize(tosize));
|
||||
case loc.loc of
|
||||
LOC_SUBSETREG,LOC_CSUBSETREG,
|
||||
LOC_SUBSETREF,LOC_CSUBSETREF:
|
||||
@ -692,8 +695,8 @@ implementation
|
||||
{ no vector support yet }
|
||||
if shuffle<>mms_movescalar then
|
||||
internalerror(2012062305);
|
||||
fromcgsize:=getmmcgsize(reg1,def_cgsize(fromsize));
|
||||
tocgsize:=getmmcgsize(reg2,def_cgsize(tosize));
|
||||
fromcgsize:=getintmmcgsize(reg1,def_cgsize(fromsize));
|
||||
tocgsize:=getintmmcgsize(reg2,def_cgsize(tosize));
|
||||
{ records may be stored in mmregisters, but def_cgsize will return an
|
||||
integer size for them... }
|
||||
cg.a_loadmm_reg_reg(list,fromcgsize,tocgsize,reg1,reg2,shuffle);
|
||||
@ -708,7 +711,7 @@ implementation
|
||||
internalerror(2012062306);
|
||||
{ records may be stored in mmregisters, but def_cgsize will return an
|
||||
integer size for them... }
|
||||
tocgsize:=getmmcgsize(reg,def_cgsize(tosize));
|
||||
tocgsize:=getintmmcgsize(reg,def_cgsize(tosize));
|
||||
cg.a_loadmm_ref_reg(list,def_cgsize(fromsize),tocgsize,ref,reg,shuffle);
|
||||
end;
|
||||
|
||||
@ -721,7 +724,7 @@ implementation
|
||||
internalerror(2012062307);
|
||||
{ records may be stored in mmregisters, but def_cgsize will return an
|
||||
integer size for them... }
|
||||
fromcgsize:=getmmcgsize(reg,def_cgsize(fromsize));
|
||||
fromcgsize:=getintmmcgsize(reg,def_cgsize(fromsize));
|
||||
cg.a_loadmm_reg_ref(list,fromcgsize,def_cgsize(tosize),reg,ref,shuffle);
|
||||
end;
|
||||
|
||||
@ -737,7 +740,7 @@ implementation
|
||||
internalerror(2012071216);
|
||||
{ records may be stored in mmregisters, but def_cgsize will return an
|
||||
integer size for them... }
|
||||
fromcgsize:=getmmcgsize(reg,def_cgsize(fromsize));
|
||||
fromcgsize:=getintmmcgsize(reg,def_cgsize(fromsize));
|
||||
cg.a_loadmm_reg_loc(list,fromcgsize,reg,loc,shuffle);
|
||||
end;
|
||||
|
||||
@ -750,7 +753,7 @@ implementation
|
||||
internalerror(2012071217);
|
||||
{ records may be stored in mmregisters, but def_cgsize will return an
|
||||
integer size for them... }
|
||||
fromcgsize:=getmmcgsize(reg,def_cgsize(fromsize));
|
||||
fromcgsize:=getintmmcgsize(reg,def_cgsize(fromsize));
|
||||
cg.a_loadmm_reg_cgpara(list,fromcgsize,reg,cgpara,shuffle);
|
||||
end;
|
||||
|
||||
@ -814,7 +817,7 @@ implementation
|
||||
internalerror(2012071227);
|
||||
{ records may be stored in mmregisters, but def_cgsize will return an
|
||||
integer size for them... }
|
||||
tocgsize:=getmmcgsize(mmreg,def_cgsize(tosize));
|
||||
tocgsize:=getintmmcgsize(mmreg,def_cgsize(tosize));
|
||||
cg.a_loadmm_intreg_reg(list,def_cgsize(fromsize),tocgsize,intreg,mmreg,shuffle);
|
||||
end;
|
||||
|
||||
@ -827,7 +830,7 @@ implementation
|
||||
internalerror(2012071228);
|
||||
{ records may be stored in mmregisters, but def_cgsize will return an
|
||||
integer size for them... }
|
||||
fromcgsize:=getmmcgsize(mmreg,def_cgsize(fromsize));
|
||||
fromcgsize:=getintmmcgsize(mmreg,def_cgsize(fromsize));
|
||||
cg.a_loadmm_reg_intreg(list,fromcgsize,def_cgsize(tosize),mmreg,intreg,shuffle);
|
||||
end;
|
||||
|
||||
@ -1559,7 +1562,7 @@ implementation
|
||||
ncgutil.gen_load_cgpara_loc(list, vardef, para, destloc, reusepara);
|
||||
end;
|
||||
|
||||
function thlcg2ll.getmmcgsize(reg: tregister; size: tcgsize): tcgsize;
|
||||
function thlcg2ll.getintmmcgsize(reg: tregister; size: tcgsize): tcgsize;
|
||||
begin
|
||||
result:=size;
|
||||
if getregtype(reg)=R_MMREGISTER then
|
||||
|
Loading…
Reference in New Issue
Block a user