diff options
author | florian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2019-01-20 18:50:12 +0000 |
---|---|---|
committer | florian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2019-01-20 18:50:12 +0000 |
commit | b569c0e1f0b8a492264bb47763b034384b5389e1 (patch) | |
tree | 8bd15413fb88adea1e71ea12bc401e0f787f6c89 /tests/utils | |
parent | 1800a617fd5ea0f35769fb668623ee743a77a147 (diff) | |
download | fpc-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.pas | 26 |
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; |