Does gcc/g++ have a calling convention for x64 microsoft registers?
<p>I have several x86 and x64 libraries, many of which are assembler code or no source available that are built for <code>__cdecl</code> stack convention on x86 and Microsoft's x64 calling convention (RCX, RDX, R8, R9) on amd64.   They were converted from COFF32 to ELF32 and COFF64 to ELF64 and link fine using gcc/g++.  The x86 function prototypes use <code>__attribute__((cdecl, regparm(0)))</code> and work perfectly.  However, by default x64 on Linux uses a different x64 calling convention (RDI, RSI, RDX, RCX, R8, R9).  I can't seem to find how to tell gcc/g++ to use the alternate x64 calling convention that Microsoft uses?  There appears to be only two different x64 calling methods and I was hoping something like <code>__attribute__((regparm(msx64)))</code> existed in gcc/g++.   Does gcc/g++ have the ability to support the alternate calling convention?</p>

<p>TIA!!</p>