[fpc-devel] Rules about record types and internal storage

J. Gareth Moreton gareth at moreton-family.com
Thu Apr 2 22:32:48 CEST 2020


Hi Jonas,

I brought that up because Florian once asked about just doing everything 
as vectorcall on Win64 because the calling convention, by and large, is 
a compatible extension to its default one.  I think issues of 
compatibility and third-party interfacing makes it not the best idea 
unless there's a way to override it (which you can do by specifying the 
'ms_abi_default' directive, even though that's not the nicest name to 
remember!)

I'm partly driven by the results from 
http://runtimeterror.com/tools/raybench/, thinking "yeah, we can do 
better than that!".  Speaking of that, I attached the assembler dumps 
for raybench.pas for comparisons, and it looks like 3.2.0 performs 
slightly worse in a couple of places, but a number of things have been 
addressed by 3.3.1 optimisations already (there's an assembler dump for 
that in the ZIP file too, which also has a load of debug comments).

Gareth aka. Kit

On 02/04/2020 18:02, Jonas Maebe wrote:
> On 02/04/2020 17:59, J. Gareth Moreton wrote:
>> For a reference, it's the /Gv compiler option:
>> https://docs.microsoft.com/en-us/cpp/cpp/vectorcall?view=vs-2019
> https://www.freepascal.org/docs-html/prog/progsu7.html
>
> and
>
> fpc -h
> ...
>        -Cc<x>     Set default calling convention to <x>
>
>
> Jonas
> _______________________________________________
> fpc-devel maillist  -  fpc-devel at lists.freepascal.org
> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
>


-- 
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus
-------------- next part --------------
A non-text attachment was scrubbed...
Name: raybench.zip
Type: application/x-zip-compressed
Size: 11569 bytes
Desc: not available
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20200402/dd0cca7b/attachment-0001.bin>


More information about the fpc-devel mailing list