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

Sven Barth pascaldragon at googlemail.com
Thu Apr 2 17:16:49 CEST 2020

Sven Barth <pascaldragon at googlemail.com> schrieb am Do., 2. Apr. 2020,

> P.S. Of course you can force it by forcing the vector to be an m128 type
>> and specifying vectorcall for x86_64-win64, but not everyone will know
>> to do that and it gets unwieldly rather quickly.  Speaking of
>> vectorcall, I'm wondering if we can introduce 'fastcall' as an alias for
>> 'ms_abi_default', mostly so if we follow Microsoft Visual C++'s example
>> of automatically making all routines vectorcall (which is closer to the
>> System V ABI used by linux and will make vectorisation easier), we can
>> force the default one if we need a routine that, say, has to interface
>> with a third-party library ('fastcall' under win32 is what the MS ABI is
>> based off... first parameter in ECX, second in EDX and everything else
>> on the stack).
> Please provide a source for your statement that MSVC uses vectorcall by
> default. Cause I highly doubt that as Microsoft is huge on backwards
> compatibility especially regarding the lower level stuff.

Just checked myself: cdecl is the default. So nothing needs to be changed
here for us.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20200402/2566821d/attachment.html>

More information about the fpc-devel mailing list