pub enum IsleConstructor {
RetMemorySideEffect,
RetGpr,
RetXmm,
}
Expand description
Different kinds of ISLE constructors generated for a particular instruction.
One instruction may generate a single constructor or multiple constructors.
For example an instruction that writes its result to a register will
generate only a single constructor. An instruction where the destination
read/write operand is GprMem
will generate two constructors though, one
for memory and one for in registers.
Variants§
RetMemorySideEffect
This constructor only produces a side effect, meaning that the instruction does not produce results in registers. This may produce a result in memory, however.
RetGpr
This constructor produces a Gpr
value, meaning that it will write the
result to a Gpr
.
RetXmm
This constructor produces an Xmm
value, meaning that it will write the
result to an Xmm
.
Implementations§
Source§impl IsleConstructor
impl IsleConstructor
Sourcepub fn result_ty(&self) -> &'static str
pub fn result_ty(&self) -> &'static str
Returns the result type, in ISLE, that this constructor generates.
Sourcepub fn conversion_constructor(&self) -> &'static str
pub fn conversion_constructor(&self) -> &'static str
Returns the constructor used to convert an AssemblerOutput
into the
type returned by Self::result_ty
.
Trait Implementations§
Source§impl Clone for IsleConstructor
impl Clone for IsleConstructor
Source§fn clone(&self) -> IsleConstructor
fn clone(&self) -> IsleConstructor
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more