Browse Source

avxtestgenerator: working on new tests for compressed disp8*N

git-svn-id: branches/tg74/avx512-0037785@48845 -
tg74 4 years ago
parent
commit
efcc3b2eba
1 changed files with 51 additions and 0 deletions
  1. 51 0
      tests/utils/avx/asmtestgenerator.pas

+ 51 - 0
tests/utils/avx/asmtestgenerator.pas

@@ -4783,6 +4783,35 @@ begin
                      (OItem4.OpTyp in BMEMTYPES) then iOpNumMRef := 4;
 
             case il_Operands of
+                2: begin
+                     sLogMsg := '';
+                     sLogMsg := MapOperand(OItem1.Optyp) + MapOperand(OItem2.Optyp) + MapOperand(OItem3.Optyp);
+                     if sLogMsg <> '' then
+                     begin
+                       //if (sLogMsg <> 'RMI') and
+                       //   (sLogMsg <> 'RRM') and
+                       //   (sLogMsg <> 'RMR') and
+                       //   (sLogMsg <> 'KKK') and
+                       //   (sLogMsg <> 'KKI') and
+                       //   (sLogMsg <> 'XXX') and
+                       //   (sLogMsg <> 'YYY') and
+                       //   (sLogMsg <> 'ZZZ') and
+                       //   (sLogMsg <> 'XXI') and
+                       //   (sLogMsg <> 'YYI') and
+                       //   (sLogMsg <> 'ZZI') and
+                       //   (sLogMsg <> 'XYI') and
+                       //   (sLogMsg <> 'YZI') and
+                       //   (sLogMsg <> 'XZI') and
+                       //   (sLogMsg <> 'RXI') and
+                       //   (sLogMsg <> 'RYI') and
+                       //   (sLogMsg <> 'RZI') and
+                       //
+                       //
+                       //   (sLogMsg <> 'XXR') then
+
+                       writeln('offen : ' + sLogMsg + ' (' + aInst + ')');
+                     end;
+                   end;
                 3: if (OItem1.OpTyp = otKReg) and
                       (OItem2.OpTyp = otXMMReg) and
                       (OItem3.OpTyp in MEMTYPES) then OpMode := omKXM
@@ -5069,6 +5098,28 @@ begin
 
                                      result.Add(AsmCodeBlockCompare(iAsmCounter, cmKORTESTNC));
                                    end;
+                            omMYI: begin
+                                     result.Add(format('%20s %6s + $2000, %6s, %s', [aInst, OItem1.Values[il_Op1], OItem2.Values[il_Op2], OItem3.Values[il_Op3] ]));
+                                     result.Add(format('%20s %6s, %s',              ['vmovdqu', 'ymm0', OItem1.Values[il_Op1]]));
+                                     result.Add(format('%20s %6s, %s + $2000',      ['vmovdqu', 'ymm1', OItem1.Values[il_Op1]]));
+
+                                     result.Add(format('%20s %6s, %6s, %s',         ['vpcmpeqd', 'K2', 'YMM0', 'YMM1']));
+
+                                     result.Add(AsmCodeBlockCompare(iAsmCounter, cmKORTESTNC));
+                                   end;
+                            omMZI: begin
+                                     result.Add(format('%20s %6s + $2000, %6s, %s', [aInst, OItem1.Values[il_Op1], OItem2.Values[il_Op2], OItem3.Values[il_Op3] ]));
+                                     result.Add(format('%20s %6s, %s',              ['vmovdqu', 'zmm0', OItem1.Values[il_Op1]]));
+                                     result.Add(format('%20s %6s, %s + $2000',      ['vmovdqu', 'zmm1', OItem1.Values[il_Op1]]));
+
+                                     result.Add(format('%20s %6s, %6s, %s',         ['vpcmpeqq', 'K2', 'ZMM0', 'ZMM1']));
+
+                                     result.Add(AsmCodeBlockCompare(iAsmCounter, cmKORTESTNC));
+                                   end;
+
+
+
+
                           omXB32I,
                           omXB64I: begin
                                      sMREF := OItem2.Values[il_Op2];