Module gen_asm

Source
Expand description

Generate the Cranelift-specific integration of the x64 assembler.

EnumsΒ§

IsleConstructor πŸ”’
Different kinds of ISLE constructors generated for a particular instruction.

ConstantsΒ§

ASM πŸ”’
This factors out use of the assembler crate name.

FunctionsΒ§

generate_isle
Generate the ISLE definitions that match the isle_assembler_methods! macro above.
generate_isle_inst_decls πŸ”’
Generate a β€œraw” constructor that simply constructs, but does not emit the assembly instruction:
generate_macro_inst_fn πŸ”’
fn x64_<inst>(&mut self, <params>) -> Inst<R> { ... }
generate_rust_macro
Generate the isle_assembler_methods! macro.
include_inst πŸ”’
is_raw_operand_param πŸ”’
Returns whether o is included in the *_raw constructor generated in ISLE/Rust.
isle_constructors πŸ”’
Returns the ISLE constructors that are going to be used when generating this instruction.
isle_param_for_ctor πŸ”’
Returns the parameter type used for the IsleConstructor variant provided.
isle_param_raw πŸ”’
Returns the type of this operand in ISLE as a part of the ISLE β€œraw” constructors.
rust_convert_isle_to_assembler πŸ”’
Returns the conversion function, if any, when converting the ISLE type for this parameter to the assembler type for this parameter. Effectively converts self.rust_param_raw() to the assembler type.
rust_param_raw πŸ”’
Returns the Rust type used for the IsleConstructorRaw variants.