[fpc-devel] x86 assembler improvements, patch

Tomas Hajny XHajT03 at hajny.biz
Thu May 30 09:56:43 CEST 2024


On 2024-05-29 23:08, Florian Klämpfl via fpc-devel wrote:
> On 29.05.24 13:09, J. Gareth Moreton via fpc-devel wrote:
>> Shouldn't this be made as a merge request?
> 
> I am sure we can handle also such patches. Merge requests are easier
> but patches are perfectly fine as well.

Indeed. Nevertheless, it might be better to add the patches to a Gitlab 
bug tracker record (or multiple records) and possibly just sending a 
note with comments here - both because the bigger attachments need 
moderator approval, but also (more importantly) because the Gitlab 
ticket is easier to track than just an e-mail.

Tomas


> 
>> 
>> On 28/05/2024 07:12, Marģers . via fpc-devel wrote:
>>> Some compiler x86 assembler improvements
>>> 
>>> 1) patch for fpc 3.3.1 (attachment: mkx86ins_version_bump.patch)
>>> compiler/utils/mkx86ins.pp
>>> Version bumped from 1.6.1 to 1.6.2
>>> There has been changes to code, so version has to represent that.
>>> 
>>> 2) Patch to enable ENTER asm instruction (attachment: 
>>> enable_asm_instr_enter.patch)
>>> same for fpc 3.3.1 and fixes 3.2
>>> 
>>> 3) patch for fpc 3.3.1 compiler/x86/x86ins.dat (attachment: 
>>> x86ins_4_fpc331.patch)
>>> 3.1)
>>> Rename 3DNow instruction (fixed long lasting typo in mnemonic).
>>> PMULHRWA  --> PMULHRW
>>> 3.2)
>>> Add vpclmullqlqdq, vpclmulhqlqdq, vpclmullqhqdq, vpclmulhqhqdq.
>>> 3.3)
>>> Fix "typo" for SHA1MSG2
>>> 
>>> 
>>> 4) patch asm instructions for fixes 3.2 (attachment: 
>>> x86ins_4_fixes32.patch)
>>> add missing instructions of BMI1, BMI2, ADX, CMUL, SHA, XSAVE, MOVBE
>>> no "code" changes, only x86ins.dat and generated files with mkx86ins
>>> Some instructions deliberately have wrong tags in order to make no 
>>> changes beside x86ins.dat.
>>> 
>>> 
>>> 5) patch prof of concept back port asm instructions to fpc 3.0.4 
>>> (attachment: x86ins_4_fpc304.patch)
>>> add missing instructions of BMI1, BMI2, ADX, CMUL, SHA, XSAVE, MOVBE, 
>>> RAND
>>> no "code" changes, but const maxinfolen = 8; to maxinfolen = 9;
>>> x86ins.dat and generated files with mkx86ins
>>> I did this to make an argument that it's safe to add asm instructions 
>>> to fpc 3.2.3
>>> Engine, that supports those instruction, is in production for a while 
>>> now.


More information about the fpc-devel mailing list