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@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

<<attachment: raybench.zip>>

_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to