Apologies - I wasn't clear.  There is an option in the MSVC compiler to default to vectorcall, but you have to specify it.

Gareth aka. Kit

On 02/04/2020 16:16, Sven Barth via fpc-devel wrote:
Sven Barth <pascaldra...@googlemail.com <mailto:pascaldra...@googlemail.com>> schrieb am Do., 2. Apr. 2020, 17:10:

        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.

Regards,
Sven


_______________________________________________
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
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to