Enum rustc_target::asm::InlineAsmRegClass [−][src]
pub enum InlineAsmRegClass {
X86(X86InlineAsmRegClass),
Arm(ArmInlineAsmRegClass),
AArch64(AArch64InlineAsmRegClass),
RiscV(RiscVInlineAsmRegClass),
Nvptx(NvptxInlineAsmRegClass),
PowerPC(PowerPCInlineAsmRegClass),
Hexagon(HexagonInlineAsmRegClass),
Mips(MipsInlineAsmRegClass),
SpirV(SpirVInlineAsmRegClass),
Wasm(WasmInlineAsmRegClass),
Bpf(BpfInlineAsmRegClass),
Err,
}Variants
Tuple Fields of X86
Tuple Fields of Arm
Tuple Fields of AArch64
Tuple Fields of RiscV
Tuple Fields of Nvptx
Tuple Fields of PowerPC
Tuple Fields of Hexagon
Tuple Fields of Mips
Tuple Fields of SpirV
Tuple Fields of Wasm
Tuple Fields of Bpf
Implementations
Returns a suggested register class to use for this type. This is called
after type checking via supported_types fails to give a better error
message to the user.
pub fn suggest_modifier(
self,
arch: InlineAsmArch,
ty: InlineAsmType
) -> Option<(char, &'static str)>
pub fn suggest_modifier(
self,
arch: InlineAsmArch,
ty: InlineAsmType
) -> Option<(char, &'static str)>
Returns a suggested template modifier to use for this type and an example of a register named formatted with it.
Such suggestions are useful if a type smaller than the full register size is used and a modifier can be used to point to the subregister of the correct size.
Returns the default modifier for this register and an example of a register named formatted with it.
This is only needed when the register class can suggest a modifier, so that the user can be shown how to get the default behavior without a warning.
pub fn supported_types(
self,
arch: InlineAsmArch
) -> &'static [(InlineAsmType, Option<&'static str>)]
pub fn supported_types(
self,
arch: InlineAsmArch
) -> &'static [(InlineAsmType, Option<&'static str>)]
Returns a list of supported types for this register class, each with a options target feature required to use this type.
Returns the list of template modifiers that can be used with this register class.
Returns whether registers in this class can only be used as clobbers and not as inputs/outputs.
Trait Implementations
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
Auto Trait Implementations
impl RefUnwindSafe for InlineAsmRegClass
impl Send for InlineAsmRegClass
impl Sync for InlineAsmRegClass
impl Unpin for InlineAsmRegClass
impl UnwindSafe for InlineAsmRegClass
Blanket Implementations
Mutably borrows from an owned value. Read more
Layout
Note: Most layout information is completely unstable and may be different between compiler versions and platforms. The only exception is types with certain repr(...) attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.
Size: 2 bytes