소스 검색

cleanup bugfix 0037785

git-svn-id: branches/tg74/avx512-0037785@48145 -
tg74 4 년 전
부모
커밋
64e796ace2
2개의 변경된 파일9개의 추가작업 그리고 3개의 파일을 삭제
  1. 7 1
      compiler/x86/aasmcpu.pas
  2. 2 2
      compiler/x86/rax86.pas

+ 7 - 1
compiler/x86/aasmcpu.pas

@@ -4910,6 +4910,7 @@ implementation
     var
       AsmOp: TasmOp;
       i,j: longint;
+      iCntOpcodeValError: longint;
       insentry  : PInsEntry;
 
       MRefInfo: TMemRefSizeInfo;
@@ -4971,6 +4972,7 @@ implementation
       new(InsTabMemRefSizeInfoCache);
       FillChar(InsTabMemRefSizeInfoCache^,sizeof(TInsTabMemRefSizeInfoCache),0);
 
+      iCntOpcodeValError := 0;
       for AsmOp := low(TAsmOp) to high(TAsmOp) do
       begin
         i := InsTabCache^[AsmOp];
@@ -5506,7 +5508,8 @@ implementation
              (not(InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize in MemRefMultiples)) then
           begin
             // combination (attsuffix <> "AttSufNONE") and (MemRefSize is not in MemRefMultiples) is not supported =>> check opcode-definition in x86ins.dat');
-            //InternalError(20210102);
+
+            inc(iCntOpcodeValError);
             Str(gas_needsuffix[AsmOp],hs1);
             Str(InsTabMemRefSizeInfoCache^[AsmOp].MemRefSize,hs2);
             Message3(asmr_e_not_supported_combination_attsuffix_memrefsize_type,
@@ -5515,6 +5518,9 @@ implementation
         end;
       end;
 
+      if iCntOpcodeValError > 0 then
+       InternalError(2021011201);
+
       for AsmOp := low(TAsmOp) to high(TAsmOp) do
       begin
 

+ 2 - 2
compiler/x86/rax86.pas

@@ -1682,8 +1682,8 @@ begin
                     ;
                 end;
               end;
-            A_MOVSS,
-            A_VMOVSS,
+            //A_MOVSS,
+            //A_VMOVSS,
             A_MOVD : { movd is a move from a mmx register to a
                        32 bit register or memory, so no opsize is correct here PM }
               exit;