Merge pull request #2678 from cfallin/x64-fastcall
x86-64 Windows fastcall ABI support.
This commit is contained in:
@@ -216,6 +216,25 @@ pub(crate) fn define() -> SettingGroup {
|
||||
0,
|
||||
);
|
||||
|
||||
settings.add_bool(
|
||||
"enable_llvm_abi_extensions",
|
||||
r#"
|
||||
Enable various ABI extensions defined by LLVM's behavior.
|
||||
|
||||
In some cases, LLVM's implementation of an ABI (calling convention)
|
||||
goes beyond a standard and supports additional argument types or
|
||||
behavior. This option instructs Cranelift codegen to follow LLVM's
|
||||
behavior where applicable.
|
||||
|
||||
Currently, this applies only to Windows Fastcall on x86-64, and
|
||||
allows an `i128` argument to be spread across two 64-bit integer
|
||||
registers. The Fastcall implementation otherwise does not support
|
||||
`i128` arguments, and will panic if they are present and this
|
||||
option is not set.
|
||||
"#,
|
||||
false,
|
||||
);
|
||||
|
||||
// BaldrMonkey requires that not-yet-relocated function addresses be encoded
|
||||
// as all-ones bitpatterns.
|
||||
settings.add_bool(
|
||||
|
||||
Reference in New Issue
Block a user