Browse Source

* fixed a few merging issues
+ extended readme to explain avx tests can be run using GNU Parallel

git-svn-id: branches/tg74/avx512@42647 -

florian 6 years ago
parent
commit
537c63bd83

+ 5 - 2
tests/utils/avx/asmtestgenerator.pas

@@ -28,7 +28,7 @@ uses BaseList, Classes;
 
 type
   TOpType = (otUnknown, otXMMReg, otXMMRM, otXMMRM16, otXMMRM8, otYMMReg, otYMMRM, otZMMReg, otZMMRM, otEAX, otRAX, otMem32,
-             otMem8, otMem16, otMem64, otMem128, otMem256, otMem512, otREG64, otREG32, otREG16, otRM32, otRM64, otIMM8,
+             otMem8, otMem16, otMem64, otMem128, otMem256, otMem512, otREG64, otREG32, otREG16, otREG8, otRM32, otRM64, otIMM8,
              otXMEM32, otXMEM64, otYMEM32, otYMEM64, otZMEM32, otZMEM64,
              otB32, otB64, otKREG);
 
@@ -150,11 +150,15 @@ type
       IF_SSSE3,
       IF_SSE41,
       IF_SSE42,
+      IF_MOVBE,
+      IF_CLMUL,
       IF_AVX,
       IF_AVX2,
       IF_AVX512,
       IF_BMI1,
       IF_BMI2,
+      { Intel ADX (Multi-Precision Add-Carry Instruction Extensions) }
+      IF_ADX,
       IF_16BITONLY,
       IF_FMA,
       IF_FMA4,
@@ -1147,7 +1151,6 @@ begin
               end
               else MemRegBaseIndexCombi(sl_prefix, sSuffix, FReg32Base, FReg32Index, Item.Values);
             end
-<<<<<<< .working
             else if (AnsiSameText(sl_Operand, 'MEM512')) or
                     (AnsiSameText(sl_Operand, 'MEM512_M')) or
                     (AnsiSameText(sl_Operand, 'MEM512_MZ')) then

+ 1 - 1
tests/utils/avx/avxtestgenerator.pp

@@ -57,7 +57,7 @@ begin
           'f': MakeTestFiles(tfFPC, x64, AVX512, false, Path);
           'F': MakeTestFiles(tfFasm, x64, AVX512, false, Path);
           'n': MakeTestFiles(tfNasm, x64, AVX512, false, Path);
-          'I': MakeTestFiles(tfFPCInc, x64, Path);
+          'I': MakeTestFiles(tfFPCInc, x64, AVX512, false, Path);
         end;
       end;
     finally

+ 4 - 1
tests/utils/avx/readme.txt

@@ -37,7 +37,9 @@ fpc avxtestfilecmp
 ./avxtestgenerator -px8664 -fnasm -otmp
 cd tmp
 echo *.pp | xargs -n 1 fpc -Px86_64 -v0i
-echo *.asm | xargs -n 1 nasm -fwin64
+# echo *.asm | xargs -n 1 nasm -fwin64
+# use GNU Parallel [1]
+find . -name '*.asm' | parallel nasm -fwin64
 cd ..
 ./avxtestfilecmp -mtmp/*.o -dtmp -s
 
@@ -88,3 +90,4 @@ VMOVUPD
 VMOVUPS
 
 
+[1] O. Tange (2011): GNU Parallel - The Command-Line Power Tool, ;login: The USENIX Magazine, February 2011:42-47.