+ basic implementation of concatcopy based on a_load(fpu)_ref_ref

git-svn-id: branches/jvmbackend@18290 -
This commit is contained in:
Jonas Maebe 2011-08-20 07:35:25 +00:00
parent 85e866a121
commit a2890f4463

View File

@ -326,7 +326,7 @@ unit hlcgobj;
@param(dest Destination reference of copy)
}
procedure g_concatcopy(list : TAsmList;size: tdef; const source,dest : treference);virtual;abstract;
procedure g_concatcopy(list : TAsmList;size: tdef; const source,dest : treference);virtual;
{# This should emit the opcode to copy len bytes from the an unaligned source
to destination.
@ -1479,6 +1479,19 @@ implementation
end;
end;
procedure thlcgobj.g_concatcopy(list: TAsmList; size: tdef; const source, dest: treference);
begin
{
if use_vectorfpu(size) then
a_loadmm_ref_ref()
else
}
if size.typ<>floatdef then
a_load_ref_ref(list,size,size,source,dest)
else
a_loadfpu_ref_ref(list,size,size,source,dest);
end;
procedure thlcgobj.g_concatcopy_unaligned(list: TAsmList; size: tdef; const source, dest: treference);
begin
g_concatcopy(list,size,source,dest);