summaryrefslogtreecommitdiff
path: root/tests/utils
diff options
context:
space:
mode:
authorflorian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2>2019-01-20 18:50:12 +0000
committerflorian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2>2019-01-20 18:50:12 +0000
commitb569c0e1f0b8a492264bb47763b034384b5389e1 (patch)
tree8bd15413fb88adea1e71ea12bc401e0f787f6c89 /tests/utils
parent1800a617fd5ea0f35769fb668623ee743a77a147 (diff)
downloadfpc-b569c0e1f0b8a492264bb47763b034384b5389e1.tar.gz
+ patch by Marģers to support the x86 assembler instructions blsi, blsr, blsmsk, adcx, adox, movbe, pclmulqdq, resolves #34815 and #34799
+ avxopcodes tests also movbe and pclmulqdq git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@40951 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'tests/utils')
-rw-r--r--tests/utils/avx/avxopcodes.pas26
1 files changed, 23 insertions, 3 deletions
diff --git a/tests/utils/avx/avxopcodes.pas b/tests/utils/avx/avxopcodes.pas
index e5a44e5c64..d21c335375 100644
--- a/tests/utils/avx/avxopcodes.pas
+++ b/tests/utils/avx/avxopcodes.pas
@@ -51,6 +51,17 @@ end;
procedure TAVXTestGenerator.Init;
begin
+ FOpCodeList.Add('ADCX,1,1,REG32,RM32,,,');
+ FOpCodeList.Add('ADCX,1,1,REG64,RM64,,,');
+ FOpCodeList.Add('ADOX,1,1,REG32,RM32,,,');
+ FOpCodeList.Add('ADOX,1,1,REG64,RM64,,,');
+
+ FOpCodeList.Add('BLSI,1,1,REG32,RM32,,,');
+ FOpCodeList.Add('BLSI,1,1,REG64,RM64,,,');
+ FOpCodeList.Add('BLSR,1,1,REG32,RM32,,,');
+ FOpCodeList.Add('BLSR,1,1,REG64,RM64,,,');
+ FOpCodeList.Add('BLSMSK,1,1,REG32,RM32,,,');
+ FOpCodeList.Add('BLSMSK,1,1,REG64,RM64,,,');
FOpCodeList.Add('BZHI,1,1,REG32,RM32,REG32,,');
FOpCodeList.Add('BZHI,1,1,REG64,RM64,REG64,,');
FOpCodeList.Add('MULX,1,1,REG32,REG32,RM32,,');
@@ -58,8 +69,18 @@ begin
FOpCodeList.Add('PDEP,1,1,REG32,REG32,RM32,,');
FOpCodeList.Add('PDEP,1,1,REG64,REG64,RM64,,');
FOpCodeList.Add('PEXT,1,1,REG32,REG32,RM32,,');
- FOpCodeList.Add('PEXT,1,1,REG64,REG64,RM64,,');
-
+ FOpCodeList.Add('PEXT,1,1,REG64,REG64,RM64,,');
+
+ FOpCodeList.Add('MOVBE,1,1,REG16,MEM16,,,');
+ FOpCodeList.Add('MOVBE,1,1,MEM16,REG16,,,');
+ FOpCodeList.Add('MOVBE,1,1,REG32,MEM32,,,');
+ FOpCodeList.Add('MOVBE,1,1,MEM32,REG32,,,');
+ FOpCodeList.Add('MOVBE,1,1,REG64,MEM64,,,');
+ FOpCodeList.Add('MOVBE,1,1,MEM64,REG64,,,');
+
+ FOpCodeList.Add('PCLMULQDQ,1,1,XMMREG,XMMRM,IMM8,');
+ FOpCodeList.Add('VPCLMULQDQ,1,1,XMMREG,XMMREG,XMMRM,IMM8');
+
FOpCodeList.Add('VADDPD,1,1,XMMREG,XMMREG,XMMRM,');
FOpCodeList.Add('VADDPD,1,1,YMMREG,YMMREG,YMMRM,');
FOpCodeList.Add('VADDPS,1,1,XMMREG,XMMREG,XMMRM,');
@@ -811,7 +832,6 @@ begin
FOpCodeList.Add('VPGATHERQQ,1,1,XMMREG,XMEM64,XMMREG,');
FOpCodeList.Add('VPGATHERQQ,1,1,YMMREG,YMEM64,YMMREG,');
-
end;
function TAVXTestGenerator.InternalMakeTestFiles(aX64: boolean; aDestPath, aFileExt: String;