Sfoglia il codice sorgente

working on internal assembler-reader x86 opsize local var

git-svn-id: branches/tg74/avx512-0037785@47707 -
tg74 4 anni fa
parent
commit
b3680eb5bd
1 ha cambiato i file con 36 aggiunte e 5 eliminazioni
  1. 36 5
      compiler/x86/rax86.pas

+ 36 - 5
compiler/x86/rax86.pas

@@ -1304,6 +1304,41 @@ begin
                     Internalerror(2019081008);
                     Internalerror(2019081008);
                 end;
                 end;
               end;
               end;
+          OPR_LOCAL:
+                if not(ExistsBCST) then
+                begin
+                  case MemRefInfo(opcode).MemRefSize of
+                      msiMultipleMinSize8:
+                              begin
+                                Message2(asmr_w_check_mem_operand_automap_multiple_size, GetString(false), '"8 bit memory operand"');
+                              end;
+                      msiMultipleMinSize16:
+                              begin
+                                Message2(asmr_w_check_mem_operand_automap_multiple_size, GetString(false), '"16 bit memory operand"');
+                              end;
+                      msiMultipleMinSize32:
+                              begin
+                                Message2(asmr_w_check_mem_operand_automap_multiple_size, GetString(false), '"32 bit memory operand"');
+                              end;
+                      msiMultipleMinSize64:
+                              begin
+                                Message2(asmr_w_check_mem_operand_automap_multiple_size, GetString(false), '"64 bit memory operand"');
+                              end;
+                      msiMultipleMinSize128:
+                              begin
+                                Message2(asmr_w_check_mem_operand_automap_multiple_size, GetString(false), '"128 bit memory operand"');
+                              end;
+                      msiMultipleMinSize256:
+                              begin
+                                Message2(asmr_w_check_mem_operand_automap_multiple_size, GetString(false), '"256 bit memory operand"');
+                              end;
+                      msiMultipleMinSize512:
+                              begin
+                                Message2(asmr_w_check_mem_operand_automap_multiple_size, GetString(false), '"512 bit memory operand"');
+                              end;
+                      else;
+                  end;
+                end;
           OPR_CONSTANT:
           OPR_CONSTANT:
                 case MemRefInfo(opcode).ConstSize of
                 case MemRefInfo(opcode).ConstSize of
                    csiMem8: begin
                    csiMem8: begin
@@ -2226,11 +2261,7 @@ begin
                              else
                              else
                                if getregtype(opr.reg)=R_ADDRESSREGISTER then
                                if getregtype(opr.reg)=R_ADDRESSREGISTER then
                                begin
                                begin
-                                 // 14102020 TG TODO CHECK
-                                 if (opr.reg >= NR_K0) and (opr.reg >= NR_K7) then
-                                 begin
-                                   s:=s+'k' + regnr;
-                                 end;
+                                 s:=s+'k' + regnr;
                                end;
                                end;
 
 
                            end;
                            end;