4 ms·
https://docs.microsoft.com/en-us/cpp/build/x64-calling-convention?view=vs-2019 https://docs.microsoft.com/en-us/cpp/build/x64-calling-conve... After you read t
by CalChris 8y ago
https://docs.microsoft.com/en-us/cpp/build/x64-calling-convention?view=vs-2019 https://docs.microsoft.com/en-us/cpp/build/x64-calling-conve...
After you read that, you might want to look at the LLVM source
https://github.com/llvm-mirror/llvm/blob/master/lib/Target/X86/X86CallingConv.td https://github.com/llvm-mirror/llvm/blob/master/lib/Target/X...
/// The C convention as implemented on Windows/x86-64 and
/// AArch64. This convention differs from the more common
/// \c X86_64_SysV convention in a number of ways, most notably in
/// that XMM registers used to pass arguments are shadowed by GPRs,
/// and vice versa.
/// On AArch64, this is identical to the normal C (AAPCS) calling
/// convention for normal functions, but floats are passed in integer
/// registers to variadic functions.