Rollup merge of #130432 - azhogin:azhogin/regparm, r=workingjubilee,pnkfelix
rust_for_linux: -Zregparm=<N> commandline flag for X86 (#116972) Command line flag `-Zregparm=<N>` for X86 (32-bit) for rust-for-linux: https://github.com/rust-lang/rust/issues/116972 Implemented in the similar way as fastcall/vectorcall support (args are marked InReg if fit).
This commit is contained in:
@@ -2096,6 +2096,18 @@ pub trait HasWasmCAbiOpt {
|
||||
fn wasm_c_abi_opt(&self) -> WasmCAbi;
|
||||
}
|
||||
|
||||
/// x86 (32-bit) abi options.
|
||||
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
|
||||
pub struct X86Abi {
|
||||
/// On x86-32 targets, the regparm N causes the compiler to pass arguments
|
||||
/// in registers EAX, EDX, and ECX instead of on the stack.
|
||||
pub regparm: Option<u32>,
|
||||
}
|
||||
|
||||
pub trait HasX86AbiOpt {
|
||||
fn x86_abi_opt(&self) -> X86Abi;
|
||||
}
|
||||
|
||||
type StaticCow<T> = Cow<'static, T>;
|
||||
|
||||
/// Optional aspects of a target specification.
|
||||
|
||||
Reference in New Issue
Block a user