title: Calling convention on x64
body: <p>I saw in several places that Microsoft calling conventions for <code>x64</code> platforms were narrowed down to just one: Caller cleans stack (<code>cdecl</code>), and parameters are passed in a combination of stack and registers (I am not going into the exact details here). I assume that if this is the calling convention of the OS, then probably all other compilers targeting Windows (e.g. mingw-w64) follow it, too.</p>
  
  <p>Is this calling convention true also on other major platforms (<code>x64</code> Linux, etc.)? Or does Linux still use multiple calling conventions, or even just one but a different one? Do <code>GCC</code> or <code>Clang</code> allow for multiple calling conventions on <code>x64</code> Linux?</p>