[fpc-devel] x86 assembler improvements, patch

J. Gareth Moreton gareth at moreton-family.com
Thu May 30 04:58:25 CEST 2024


Heh, that's fair.  It was essentially how we did it in the past anyway!

Kit

On 29/05/2024 22: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.
>
>>
>> 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.
>>>
>>>
>>> _______________________________________________
>>> fpc-devel maillist  -  fpc-devel at lists.freepascal.org
>>> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
>> _______________________________________________
>> fpc-devel maillist  -  fpc-devel at lists.freepascal.org
>> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
>
> _______________________________________________
> fpc-devel maillist  -  fpc-devel at lists.freepascal.org
> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
>


More information about the fpc-devel mailing list