Enum rustc_target::asm::InlineAsmRegClass [−][src]
pub enum InlineAsmRegClass {
Show 13 variants
X86(X86InlineAsmRegClass),
Arm(ArmInlineAsmRegClass),
AArch64(AArch64InlineAsmRegClass),
RiscV(RiscVInlineAsmRegClass),
Nvptx(NvptxInlineAsmRegClass),
PowerPC(PowerPCInlineAsmRegClass),
Hexagon(HexagonInlineAsmRegClass),
Mips(MipsInlineAsmRegClass),
S390x(S390xInlineAsmRegClass),
SpirV(SpirVInlineAsmRegClass),
Wasm(WasmInlineAsmRegClass),
Bpf(BpfInlineAsmRegClass),
Err,
}
Variants
X86(X86InlineAsmRegClass)
Tuple Fields of X86
Arm(ArmInlineAsmRegClass)
Tuple Fields of Arm
AArch64(AArch64InlineAsmRegClass)
Tuple Fields of AArch64
RiscV(RiscVInlineAsmRegClass)
Tuple Fields of RiscV
Nvptx(NvptxInlineAsmRegClass)
Tuple Fields of Nvptx
PowerPC(PowerPCInlineAsmRegClass)
Tuple Fields of PowerPC
Hexagon(HexagonInlineAsmRegClass)
Tuple Fields of Hexagon
Mips(MipsInlineAsmRegClass)
Tuple Fields of Mips
S390x(S390xInlineAsmRegClass)
Tuple Fields of S390x
SpirV(SpirVInlineAsmRegClass)
Tuple Fields of SpirV
Wasm(WasmInlineAsmRegClass)
Tuple Fields of Wasm
Bpf(BpfInlineAsmRegClass)
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 an 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 even differ between compilations. 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
Size for each variant:
X86
: 1 byteArm
: 1 byteAArch64
: 1 byteRiscV
: 1 byteNvptx
: 1 bytePowerPC
: 1 byteHexagon
: 0 bytesMips
: 1 byteS390x
: 1 byteSpirV
: 0 bytesWasm
: 0 bytesBpf
: 1 byteErr
: 0 bytes