Bläddra i källkod

bugfix OS32

git-svn-id: branches/tg74/avx512@39647 -
tg74 7 år sedan
förälder
incheckning
7b8715184a
1 ändrade filer med 2 tillägg och 27 borttagningar
  1. 2 27
      compiler/x86/aasmcpu.pas

+ 2 - 27
compiler/x86/aasmcpu.pas

@@ -2702,7 +2702,7 @@ implementation
           end;
       end;
 
-    function process_ea_ref_16(const input:toper;out output:ea;rfield:longint):boolean;
+    function process_ea_ref_16(const input:toper;out output:ea;rfield:longint; uselargeoffset: boolean):boolean;
       var
         sym   : tasmsymbol;
         md,s,rv  : byte;
@@ -3663,7 +3663,7 @@ implementation
           begin
             needed_EVEX := false;
 
-            //if (EVEXr and EVEXv and EVEXx) = 0 then
+
             if CheckUseEVEX then
             begin
               // EVEX-Flags r,v,x indicate extended-MMregister
@@ -3674,9 +3674,6 @@ implementation
 
               needed_VEX := false;
               needed_VEX_Extension := false;  //TG TODO check
-
-              //TG TODO Dest-Register-Extention {k1..k7} or {z}
-              //        Broadcast  Disp
             end;
           end;
 
@@ -3717,38 +3714,16 @@ implementation
                                  else EVEXll := 0;
                  end;
                end;
-
-
-               //TG TODO ER, SAE
-               //break;
              end;
 
-            // if (insentry.optypes[i] and OT_VECTORMASK) = OT_VECTORMASK then
-            // begin
-            //   if oper[opidx]^.ot and OT_VECTORMASK = OT_VECTORMASK then
-            //   begin
-            //
-            //   end;
-            // end;
 
             bytes[0] := $62;
 
-            i := rex and 7;
-            //bytes[1] := ((VEXmmmmm and $03) shl 0)  or ((not(rex) and $07) shl 4) and EVEXr and EVEXb;
             bytes[1] := ((EVEXmm   and $03) shl 0)  or
                         ((not(rex) and $05) shl 5)  or
                         ((EVEXr    and $01) shl 4)  or
                         ((EVEXx    and $01) shl 6);
 
-                        i := 0;
-                        i := i or ((EVEXmm   and $03) shl 0);
-                        i := i or ((not(rex) and $05) shl 5);
-                        i := i or ((EVEXr    and $01) shl 4);
-                        i := i or ((EVEXx    and $01) shl 6);
-
-
-
-
             bytes[2] := ((EVEXpp   and $03) shl 0)  or
                         ((1        and $01) shl 2)  or  // fixed in AVX512
                         ((EVEXvvvv and $0F) shl 3)  or