Skip to main content

AliasNoMatchHint

Enum AliasNoMatchHint 

Source
pub enum AliasNoMatchHint {
Show 43 variants InvalidGeneratedConditionCode, CompareTestNeedsAtLeastTwoOperands, CompareTestFirstOperandMustBeGpr, MovNeedsExactlyTwoOperands, MovDestinationMustBeGpr, MovSourceMustBeGprOrZero, MvnOperandFormInvalid, MvnDestinationMustBeGpr, MvnSourceMustBeGpr, MvnOptionalShiftMustBeImmediateOrLsl, CincNeedsExactlyThreeOperands, CincOperandsMustBeGpr, CincThirdMustBeCondition, CsetNeedsExactlyTwoOperands, CsetDestinationMustBeGpr, CsetSecondMustBeCondition, CnegNeedsExactlyThreeOperands, CnegDestinationMustBeGpr, CnegSourceMustBeGpr, CnegThirdMustBeCondition, BitfieldNeedsExactlyFourOperands, BitfieldDestinationMustBeGpr, BitfieldSourceMustBeGpr, BitfieldSourceWidthMustMatchDestination, BitfieldLsbMustBeImmediate, BitfieldWidthMustBeImmediate, BitfieldRangeInvalid { bits: u8, }, BfcNeedsExactlyThreeOperands, BfcDestinationMustBeGpr, BfcLsbMustBeImmediate, BfcWidthMustBeImmediate, BfcRangeInvalid { bits: u8, }, ExtendLongNeedsAtLeastTwoOperands, StsetlNeedsExactlyTwoOperands, StsetlFirstOperandMustBeGpr, StsetlMemoryOffsetOnly, StsetlMemoryBaseMustBeGpr, StsetlSecondOperandInvalid, DcNeedsExactlyTwoOperands, DcFirstOperandMustBeImmediateSubop, DcSecondOperandMustBeRegister, DcSubopMustBeNonNegativeU32, DcSubopUnsupportedBits,
}
Expand description

Structured alias mismatch hint.

Variants§

§

InvalidGeneratedConditionCode

Generated conditional-branch alias metadata is invalid.

§

CompareTestNeedsAtLeastTwoOperands

Compare/test alias requires at least two operands.

§

CompareTestFirstOperandMustBeGpr

Compare/test first operand must be a GPR.

§

MovNeedsExactlyTwoOperands

mov alias expects exactly two operands.

§

MovDestinationMustBeGpr

mov destination must be a GPR.

§

MovSourceMustBeGprOrZero

mov source must be GPR or zero immediate.

§

MvnOperandFormInvalid

mvn operand form is invalid.

§

MvnDestinationMustBeGpr

mvn destination must be a GPR.

§

MvnSourceMustBeGpr

mvn source must be a GPR.

§

MvnOptionalShiftMustBeImmediateOrLsl

mvn optional third operand must be immediate/lsl.

§

CincNeedsExactlyThreeOperands

cinc alias expects exactly three operands.

§

CincOperandsMustBeGpr

cinc operands must be GPRs.

§

CincThirdMustBeCondition

cinc third operand must be condition.

§

CsetNeedsExactlyTwoOperands

cset/csetm alias expects exactly two operands.

§

CsetDestinationMustBeGpr

cset/csetm destination must be GPR.

§

CsetSecondMustBeCondition

cset/csetm second operand must be condition.

§

CnegNeedsExactlyThreeOperands

cneg alias expects exactly three operands.

§

CnegDestinationMustBeGpr

cneg destination must be GPR.

§

CnegSourceMustBeGpr

cneg source must be GPR.

§

CnegThirdMustBeCondition

cneg third operand must be condition.

§

BitfieldNeedsExactlyFourOperands

Bitfield alias expects exactly four operands.

§

BitfieldDestinationMustBeGpr

Bitfield destination must be GPR.

§

BitfieldSourceMustBeGpr

Bitfield source must be GPR.

§

BitfieldSourceWidthMustMatchDestination

Bitfield source width must match destination width.

§

BitfieldLsbMustBeImmediate

Bitfield lsb must be immediate.

§

BitfieldWidthMustBeImmediate

Bitfield width must be immediate.

§

BitfieldRangeInvalid

Bitfield lsb/width range is invalid.

Fields

§bits: u8

Destination bit width (32 or 64).

§

BfcNeedsExactlyThreeOperands

bfc alias expects exactly three operands.

§

BfcDestinationMustBeGpr

bfc destination must be GPR.

§

BfcLsbMustBeImmediate

bfc lsb must be immediate.

§

BfcWidthMustBeImmediate

bfc width must be immediate.

§

BfcRangeInvalid

bfc lsb/width range is invalid.

Fields

§bits: u8

Destination bit width (32 or 64).

§

ExtendLongNeedsAtLeastTwoOperands

Extend-long alias requires at least two operands.

§

StsetlNeedsExactlyTwoOperands

stsetl expects exactly two operands.

§

StsetlFirstOperandMustBeGpr

stsetl first operand must be GPR.

§

StsetlMemoryOffsetOnly

stsetl memory form only supports [rn] or [rn, #0].

§

StsetlMemoryBaseMustBeGpr

stsetl memory base must be GPR.

§

StsetlSecondOperandInvalid

stsetl second operand form is invalid.

§

DcNeedsExactlyTwoOperands

dc expects exactly two operands.

§

DcFirstOperandMustBeImmediateSubop

dc first operand must be immediate subop.

§

DcSecondOperandMustBeRegister

dc second operand must be register.

§

DcSubopMustBeNonNegativeU32

dc subop must be non-negative 32-bit.

§

DcSubopUnsupportedBits

dc subop has unsupported bits.

Trait Implementations§

Source§

impl Clone for AliasNoMatchHint

Source§

fn clone(&self) -> AliasNoMatchHint

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for AliasNoMatchHint

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for AliasNoMatchHint

Source§

fn eq(&self, other: &AliasNoMatchHint) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for AliasNoMatchHint

Source§

impl Eq for AliasNoMatchHint

Source§

impl StructuralPartialEq for AliasNoMatchHint

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.