Mailing lists / fpc-devel / 2024-05
x86 assembler improvements, patch
5 messages · 4 people · –
- JJ. Gareth Moreton 2
- FFlorian Klämpfl 1
- MMarģers . 1
- TTomas Hajny 1
Reply by email Subscribe to this list Your subscription
Read-only archive. Use j and k to move between messages.
Shouldn't this be made as a merge request?
Marģers . wrote 45 lines
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 -
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
J. Gareth Moreton wroteShouldn'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.
Show quoted text 50 lines
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 -
> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
_______________________________________________
fpc-devel maillist -
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
Heh, that's fair. It was essentially how we did it in the past anyway!
Kit
Florian Klämpfl wrote 61 lines
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 -
>> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
> _______________________________________________
> fpc-devel maillist -
> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
_______________________________________________
fpc-devel maillist -
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
I am sure we can handle also such patches. Merge requests are easier but patches are…
Florian Klämpfl wrote 5 lines
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
Show quoted text 43 lines
>
> 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.
