Bläddra i källkod

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

git-svn-id: branches/jvmbackend@18290 -
Jonas Maebe 14 år sedan
förälder
incheckning
a2890f4463
1 ändrade filer med 14 tillägg och 1 borttagningar
  1. 14 1
      compiler/hlcgobj.pas

+ 14 - 1
compiler/hlcgobj.pas

@@ -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);