Assembly
assembly
AssemblyInstructionArg: TypeAlias = IntegerAttr | str | StringAttr
module-attribute
assembly_arg_str(arg: AssemblyInstructionArg) -> str
Source code in xdsl/dialects/x86/assembly.py
14 15 16 17 18 19 20 | |
memory_access_str(register: SSAValue, offset: IntegerAttr) -> str
Source code in xdsl/dialects/x86/assembly.py
23 24 25 26 27 28 29 | |
broadcast_memory_access_str(register: SSAValue, offset: IntegerAttr, broadcast: str) -> str
e.g. [rsi+512]{1to8}
The lane count depends on both the element width and the width of the register bank the instruction is allocated to, so it is computed by the operation rather than drawn from a fixed set.
Source code in xdsl/dialects/x86/assembly.py
32 33 34 35 36 37 38 39 40 41 42 43 44 | |
print_type_pair(printer: Printer, value: SSAValue) -> None
Source code in xdsl/dialects/x86/assembly.py
47 48 49 50 | |
parse_type_pair(parser: Parser) -> SSAValue
Source code in xdsl/dialects/x86/assembly.py
53 54 55 56 57 | |
masked_memory_access_str(register: SSAValue, offset: IntegerAttr, mask: SSAValue, z: UnitAttr | None) -> str
Returns string for asm printing of a memory access followed by the {k}
(and optionally {z}) specifiers, in AVX512 masked operations.
e.g. [rdx+8] {k1} or [rdx] {k1}{z}
Source code in xdsl/dialects/x86/assembly.py
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | |
masked_source_str(reg_in: SSAValue, mask: SSAValue, z: UnitAttr | None) -> str
Returns string for asm printing of the register followed by the {k} (and optionally {z}) specifiers, in AVX512 masked operations
Source code in xdsl/dialects/x86/assembly.py
79 80 81 82 83 84 85 86 87 88 89 | |