pub enum AliasNoMatchHint {
Show 58 variants
InvalidGeneratedConditionCode,
CompareTestNeedsAtLeastTwoOperands,
CompareTestFirstOperandMustBeGpr,
MovNeedsExactlyTwoOperands,
MovDestinationMustBeGpr,
MovSourceMustBeGprOrZero,
MulNeedsExactlyThreeOperands,
MulDestinationMustBeDataGpr,
MulSourcesMustMatchDestinationWidth,
RorNeedsExactlyThreeOperands,
RorDestinationMustBeDataGpr,
RorSourceMustMatchDestinationWidth,
RorShiftMustBeImmediateOrMatchingRegister,
ShiftImmediateNeedsExactlyThreeOperands,
ShiftImmediateDestinationMustBeDataGpr,
ShiftImmediateSourceMustMatchDestinationWidth,
ShiftImmediateAmountMustBeImmediate,
ShiftImmediateAmountOutOfRange {
bits: u8,
},
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,
MAddLongNeedsExactlyThreeOperands,
MAddLongDestinationMustBeX,
MAddLongSourcesMustBeW,
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.
MulNeedsExactlyThreeOperands
mul alias expects exactly three operands.
MulDestinationMustBeDataGpr
mul destination must be a data GPR (Wn/Xn).
MulSourcesMustMatchDestinationWidth
mul sources must be data GPRs matching destination width.
RorNeedsExactlyThreeOperands
ror alias expects exactly three operands.
RorDestinationMustBeDataGpr
ror destination must be a data GPR (Wn/Xn).
RorSourceMustMatchDestinationWidth
ror source must match destination width in data GPR class.
RorShiftMustBeImmediateOrMatchingRegister
ror shift must be immediate or same-width data GPR register.
ShiftImmediateNeedsExactlyThreeOperands
lsl/lsr/asr immediate alias expects exactly three operands.
ShiftImmediateDestinationMustBeDataGpr
lsl/lsr/asr immediate destination must be a data GPR (Wn/Xn).
ShiftImmediateSourceMustMatchDestinationWidth
lsl/lsr/asr immediate source must match destination width.
ShiftImmediateAmountMustBeImmediate
lsl/lsr/asr immediate shift must be an immediate.
ShiftImmediateAmountOutOfRange
lsl/lsr/asr immediate shift out of range.
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.
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.
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.
MAddLongNeedsExactlyThreeOperands
smull/umull alias expects exactly three operands.
MAddLongDestinationMustBeX
smull/umull destination must be 64-bit data GPR (Xd).
MAddLongSourcesMustBeW
smull/umull sources must be 32-bit data GPRs (Wn, Wm).
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
impl Clone for AliasNoMatchHint
Source§fn clone(&self) -> AliasNoMatchHint
fn clone(&self) -> AliasNoMatchHint
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more