[fpc-devel] x86 assembler improvements, patch

Florian Klämpfl florian at freepascal.org
Wed May 29 23:08:38 CEST 2024


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



More information about the fpc-devel mailing list