qat.experimental.dialect.q1 package

Q1 dialect, based on the QBlox Q1 ISA.

Documentation: https://docs.qblox.com/en/main/products/qblox_instruments/q1/index.html

class AcquireImmImmImmOp(imm1, imm2, imm3, comment=None)

Bases: ImmImmImmOperation[UI5Imm, UI24Imm, DurationImm]

Update the latched parameters, interrupt currently active acquisitions and start the acquisition specified and store data in index provided by bin.

Integration is executed using a square weight with preset length from the QCoDeS parameter.

Duration specifies the amount of time spent at the beginning of the instruction in ns

property acq_idx

Semantic alias for the first generic imm field.

property bin_idx

Semantic alias for the second generic imm field.

comment

Accessor for an optional operation property.

property duration

Semantic alias for the third generic imm field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm1

Accessor for an operation property.

imm2

Accessor for an operation property.

imm3

Accessor for an operation property.

name: ClassVar[str] = 'q1.iii.acquire'

The operation name. Should be a static member of the class

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class AcquireImmRsImmOp(imm1, rs, imm2, comment=None)

Bases: ImmRsImmOperation[IntRegisterType, UI5Imm, DurationImm]

Update the latched parameters, interrupt currently active acquisitions and start the acquisition specified and store data in index provided by bin.

Integration is executed using a square weight with preset length from the QCoDeS parameter.

Duration specifies the amount of time spent at the beginning of the instruction in ns

property acq_idx

Semantic alias for the first generic imm field.

property bin_idx

Semantic alias for the generic rs field.

comment

Accessor for an optional operation property.

property duration

Semantic alias for the second generic imm field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm1

Accessor for an operation property.

imm2

Accessor for an operation property.

name: ClassVar[str] = 'q1.iri.acquire'

The operation name. Should be a static member of the class

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class AcquireTtlImmImmImmImmOp(imm1, imm2, imm3, imm4, comment=None)

Bases: ImmImmImmImmOperation[UI5Imm, UI24Imm, BoolImm, DurationImm]

Update the latched parameters, start the TTL trigger acquisition provided by the index in acquisition, store data in index provided by bin.

Enable TTL trigger by writing 1 to enable, disable after by writing 0 to enable

Duration specifies the amount of time spent at the beginning of the instruction in ns

property acq_idx

Semantic alias for the first generic imm field.

property bin_idx

Semantic alias for the second generic imm field.

comment

Accessor for an optional operation property.

property duration

Semantic alias for the fourth generic imm field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm1

Accessor for an operation property.

imm2

Accessor for an operation property.

imm3

Accessor for an operation property.

imm4

Accessor for an operation property.

name: ClassVar[str] = 'q1.iiii.acquire_ttl'

The operation name. Should be a static member of the class

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

property ttl_en

Semantic alias for the third generic imm field.

verify_()
class AcquireTtlImmRsImmImmOp(imm1, rs, imm2, imm3, comment=None)

Bases: ImmRsImmImmOperation[IntRegisterType, UI5Imm, BoolImm, DurationImm]

Update the latched parameters, start the TTL trigger acquisition provided by the index in acquisition, store data in index provided by bin.

Enable TTL trigger by writing 1 to enable, disable afterwards by writing 0 to enable

Duration specifies the amount of time spent at the beginning of the instruction in ns

property acq_idx

Semantic alias for the first generic imm field.

property bin_idx

Semantic alias for the generic rs field.

comment

Accessor for an optional operation property.

property duration

Semantic alias for the third generic imm field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm1

Accessor for an operation property.

imm2

Accessor for an operation property.

imm3

Accessor for an operation property.

name: ClassVar[str] = 'q1.irii.acquire_ttl'

The operation name. Should be a static member of the class

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

property ttl_en

Semantic alias for the second generic imm field.

verify_()
class AcquireWeightedImmImmImmImmImmOp(imm1, imm2, imm3, imm4, imm5, comment=None)

Bases: ImmImmImmImmImmOperation[UI5Imm, UI24Imm, UI6Imm, UI6Imm, DurationImm]

Update the latched parameters, interrupt currently active acquisitions and start the acquisition specified and store data in index provided by bin.

Integration is executed using weights stored at indices weight_0 for path 0 and weight_1 for path 1.

Duration specifies the amount of time spent at the beginning of the instruction in ns

property acq_idx

Semantic alias for the first generic imm field.

property bin_idx

Semantic alias for the second generic imm field.

comment

Accessor for an optional operation property.

property duration

Semantic alias for the fifth generic imm field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm1

Accessor for an operation property.

imm2

Accessor for an operation property.

imm3

Accessor for an operation property.

imm4

Accessor for an operation property.

imm5

Accessor for an operation property.

name: ClassVar[str] = 'q1.iiiii.acquire_weighted'

The operation name. Should be a static member of the class

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
property weight_idx0

Semantic alias for the third generic imm field.

property weight_idx1

Semantic alias for the fourth generic imm field.

class AcquireWeightedImmRsRsRsImmOp(imm1, rs1, rs2, rs3, imm2, comment=None)

Bases: ImmRsRsRsImmOperation[IntRegisterType, UI5Imm, DurationImm]

Update the latched parameters, interrupt currently active acquisitions and start the acquisition specified and store data in index provided by bin. Integration is executed using weights stored at indices weight_0 for path 0 and weight_1 for path 1.

Duration specifies the amount of time spent at the beginning of the instruction in ns

property acq_idx

Semantic alias for the first generic imm field.

property bin_idx

Semantic alias for the first generic rs field.

comment

Accessor for an optional operation property.

property duration

Semantic alias for the second generic imm field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm1

Accessor for an operation property.

imm2

Accessor for an operation property.

name: ClassVar[str] = 'q1.irrri.acquire_weighted'

The operation name. Should be a static member of the class

rs1

Access a non-variadic construct which appears before any variadic arguments.

rs2

Access a non-variadic construct which appears before any variadic arguments.

rs3

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
property weight_idx0

Semantic alias for the second generic rs field.

property weight_idx1

Semantic alias for the third generic rs field.

class AddRsImmRdOp(rs, imm, rd, comment=None)

Bases: RsImmRdOperation[IntRegisterType, SU32Imm]

Add a register and immediate operand and store the result in destination.

property a

Semantic alias for the generic rs field.

property b

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.rir.add'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class AddRsRsRdOp(rs1, rs2, rd, comment=None)

Bases: RsRsRdOperation[IntRegisterType]

Add two register operands and store the result in destination.

property a

Semantic alias for the first generic rs field.

property b

Semantic alias for the second generic rs field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.rrr.add'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs1

Access a non-variadic construct which appears before any variadic arguments.

rs2

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
AddressImm

alias of UI14Imm

class AndRsImmRdOp(rs, imm, rd, comment=None)

Bases: RsImmRdOperation[IntRegisterType, SU32Imm]

Bitwise AND between register and immediate operands into destination.

property a

Semantic alias for the generic rs field.

property b

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.rir.and'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class AndRsRsRdOp(rs1, rs2, rd, comment=None)

Bases: RsRsRdOperation[IntRegisterType]

Bitwise AND between two register operands into destination.

property a

Semantic alias for the first generic rs field.

property b

Semantic alias for the second generic rs field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.rrr.and'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs1

Access a non-variadic construct which appears before any variadic arguments.

rs2

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class AslRsImmRdOp(rs, imm, rd, comment=None)

Bases: RsImmRdOperation[IntRegisterType, UI32Imm]

Arithmetic left shift by immediate bit-count into destination.

property a

Semantic alias for the generic rs field.

property b

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.rir.asl'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class AslRsRsRdOp(rs1, rs2, rd, comment=None)

Bases: RsRsRdOperation[IntRegisterType]

Arithmetic left shift by register bit-count into destination.

property a

Semantic alias for the first generic rs field.

property b

Semantic alias for the second generic rs field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.rrr.asl'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs1

Access a non-variadic construct which appears before any variadic arguments.

rs2

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class AsrRsImmRdOp(rs, imm, rd, comment=None)

Bases: RsImmRdOperation[IntRegisterType, UI32Imm]

Arithmetic right shift by immediate bit-count into destination.

property a

Semantic alias for the generic rs field.

property b

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.rir.asr'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class AsrRsRsRdOp(rs1, rs2, rd, comment=None)

Bases: RsRsRdOperation[IntRegisterType]

Arithmetic right shift by register bit-count into destination.

property a

Semantic alias for the first generic rs field.

property b

Semantic alias for the second generic rs field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.rrr.asr'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs1

Access a non-variadic construct which appears before any variadic arguments.

rs2

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class BoolImm(value)

Bases: Q1Imm

Boolean immediate: {0, 1}.

name: ClassVar[str] = 'q1.bool_imm'

The attribute name should be a static field in the attribute classes.

class CmpImmRsOp(imm, rs, comment=None)

Bases: ImmRsOperation[IntRegisterType, SU32Imm]

Compare an immediate against a register operand by computing b - a to update the ALU flags.

property a

Semantic alias for the generic rs field.

property b

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.ir.cmp'

The operation name. Should be a static member of the class

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class CmpRsImmOp(rs, imm, comment=None)

Bases: RsImmOperation[IntRegisterType, SU32Imm]

Compare a register operand against an immediate by computing a - b to update the ALU flags.

property a

Semantic alias for the generic rs field.

property b

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.ri.cmp'

The operation name. Should be a static member of the class

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class CmpRsRsOp(rs1, rs2, comment=None)

Bases: RsRsOperation[IntRegisterType]

Compare two register operands by computing a - b to update the ALU flags.

property a

Semantic alias for the first generic rs field.

property b

Semantic alias for the second generic rs field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.rr.cmp'

The operation name. Should be a static member of the class

rs1

Access a non-variadic construct which appears before any variadic arguments.

rs2

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class DefDirectiveOp(alias, value, comment=None)

Bases: DefDirectiveOp, Q1AsmOperation, IRDLOperation, OneLineAssemblyPrintable, AssemblyPrintable, Operation, _IRNode, ABC, object

Define an alias in Q1 assembly via .DEF <name> <value>.

Example:

.DEF SQG_TIME 100 # Time in ns for single qubit gate wait $SQG_TIME

alias

Accessor for an operation property.

assembly_line()

Emits Q1 assembly instruction line corresponding to this operation.

Return type:

str | None

assembly_line_args()

Instruction arguments in the order they should be printed in the assembly.

Return type:

tuple[Q1Imm | LabelAttr | SSAValue | RegisterType | StringAttr | str | None, ...]

assembly_mnemonic()

Because operation name must match q1.<format>.<mnemonic>, the instruction name (mnemonic) is extracted from the operation name to be the third field.

Return type:

str

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.xx.DEF'

The operation name. Should be a static member of the class

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

value

Accessor for an operation property.

verify_()
class DurationImm(value)

Bases: Q1Imm

RT-instruction duration in ns: [4, 65535].

The minimum value of 4 ns matches the Q1 Real-Time core clock cycle.

name: ClassVar[str] = 'q1.duration_imm'

The attribute name should be a static field in the attribute classes.

class FbAcqIqIdImmImmOp(imm1, imm2, comment=None)

Bases: ImmImmOperation[UI8Imm, DurationImm]

Configure the id tag attached to IQ data sent over LINQ (immediate variant) and wait duration ns.

Setting id = 0 disables transmission.

comment

Accessor for an optional operation property.

property duration

Semantic alias for the second generic imm field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

property id

Semantic alias for the first generic imm field.

imm1

Accessor for an operation property.

imm2

Accessor for an operation property.

name: ClassVar[str] = 'q1.ii.fb_acq_iq_id'

The operation name. Should be a static member of the class

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class FbAcqIqIdRsImmOp(rs, imm, comment=None)

Bases: RsImmOperation[IntRegisterType, DurationImm]

Configure the id tag attached to IQ data sent over LINQ (register variant) and wait duration ns.

Setting id = 0 disables transmission.

comment

Accessor for an optional operation property.

property duration

Semantic alias for the generic imm field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

property id

Semantic alias for the generic rs field.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.ri.fb_acq_iq_id'

The operation name. Should be a static member of the class

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class FbAcqIqShiftImmImmOp(imm1, imm2, comment=None)

Bases: ImmImmOperation[UI6Imm, DurationImm]

Right-shift IQ values by shift bits before LINQ transmission to reduce resolution, then wait duration ns.

comment

Accessor for an optional operation property.

property duration

Semantic alias for the second generic imm field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm1

Accessor for an operation property.

imm2

Accessor for an operation property.

name: ClassVar[str] = 'q1.ii.fb_acq_iq_shift'

The operation name. Should be a static member of the class

property shift

Semantic alias for the first generic imm field.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class FbAcqTbCfgImmImmImmImmOp(imm1, imm2, imm3, imm4, comment=None)

Bases: ImmImmImmImmOperation[UI2Imm, UI10Imm, UI7Imm, DurationImm]

Configure write-combine mode, bit position, payload length, and wait duration for thresholded-bit transmissions.

comment

Accessor for an optional operation property.

property duration

Semantic alias for the fourth generic imm field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm1

Accessor for an operation property.

imm2

Accessor for an operation property.

imm3

Accessor for an operation property.

imm4

Accessor for an operation property.

property length

Semantic alias for the third generic imm field.

name: ClassVar[str] = 'q1.iiii.fb_acq_tb_cfg'

The operation name. Should be a static member of the class

property shift

Semantic alias for the second generic imm field.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
property wc

Semantic alias for the first generic imm field.

class FbAcqTbExtraImmImmImmOp(imm1, imm2, imm3, comment=None)

Bases: ImmImmImmOperation[BoolImm, UI16Imm, DurationImm]

Enable or disable inclusion of extra bytes in the TB payload and wait duration ns.

comment

Accessor for an optional operation property.

property duration

Semantic alias for the third generic imm field.

property extra

Semantic alias for the second generic imm field.

property extra_vld

Semantic alias for the first generic imm field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm1

Accessor for an operation property.

imm2

Accessor for an operation property.

imm3

Accessor for an operation property.

name: ClassVar[str] = 'q1.iii.fb_acq_tb_extra'

The operation name. Should be a static member of the class

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class FbAcqTbIdImmImmOp(imm1, imm2, comment=None)

Bases: ImmImmOperation[UI8Imm, DurationImm]

Configure the id tag attached to thresholded bits (TB) sent over LINQ (immediate variant) and wait duration ns.

Setting id = 0 disables transmission.

comment

Accessor for an optional operation property.

property duration

Semantic alias for the second generic imm field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

property id

Semantic alias for the first generic imm field.

imm1

Accessor for an operation property.

imm2

Accessor for an operation property.

name: ClassVar[str] = 'q1.ii.fb_acq_tb_id'

The operation name. Should be a static member of the class

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class FbAcqTbIdRsImmOp(rs, imm, comment=None)

Bases: RsImmOperation[IntRegisterType, DurationImm]

Configure the id tag attached to thresholded bits (TB) sent over LINQ (register variant) and wait duration ns.

Setting id = 0 disables transmission.

comment

Accessor for an optional operation property.

property duration

Semantic alias for the generic imm field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

property id

Semantic alias for the generic rs field.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.ri.fb_acq_tb_id'

The operation name. Should be a static member of the class

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class FbAcqTbMockImmImmImmImmOp(imm1, imm2, imm3, imm4, comment=None)

Bases: ImmImmImmImmOperation[BoolImm, BoolImm, BoolImm, DurationImm]

Transmit mock thresholded bits instead of real TB data when enable = 1.

comment

Accessor for an optional operation property.

property duration

Semantic alias for the fourth generic imm field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm1

Accessor for an operation property.

imm2

Accessor for an operation property.

imm3

Accessor for an operation property.

imm4

Accessor for an operation property.

property mock_data

Semantic alias for the third generic imm field.

property mock_en

Semantic alias for the first generic imm field.

property mock_vld

Semantic alias for the second generic imm field.

name: ClassVar[str] = 'q1.iiii.fb_acq_tb_mock'

The operation name. Should be a static member of the class

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class FbAcqTbValidImmImmOp(imm1, imm2, comment=None)

Bases: ImmImmOperation[BoolImm, DurationImm]

Configure the valid bit for thresholded bits (TB) sent over LINQ (immediate variant) and wait duration ns.

comment

Accessor for an optional operation property.

property duration

Semantic alias for the second generic imm field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm1

Accessor for an operation property.

imm2

Accessor for an operation property.

name: ClassVar[str] = 'q1.ii.fb_acq_tb_valid'

The operation name. Should be a static member of the class

property tb_valid

Semantic alias for the first generic imm field.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class FbAcqTbValidRsImmOp(rs, imm, comment=None)

Bases: RsImmOperation[IntRegisterType, DurationImm]

Configure the valid bit for thresholded bits (TB) sent over LINQ (register variant) and wait duration ns.

comment

Accessor for an optional operation property.

property duration

Semantic alias for the generic imm field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.ri.fb_acq_tb_valid'

The operation name. Should be a static member of the class

rs

Access a non-variadic construct which appears before any variadic arguments.

property tb_valid

Semantic alias for the generic rs field.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class FbComCfgImmImmImmImmOp(imm1, imm2, imm3, imm4, comment=None)

Bases: ImmImmImmImmOperation[UI2Imm, UI10Imm, UI7Imm, DurationImm]

Configure write-combine mode, bit position, payload length, and wait duration for subsequent fb_com_data transmissions.

comment

Accessor for an optional operation property.

property duration

Semantic alias for the fourth generic imm field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm1

Accessor for an operation property.

imm2

Accessor for an operation property.

imm3

Accessor for an operation property.

imm4

Accessor for an operation property.

property length

Semantic alias for the third generic imm field.

name: ClassVar[str] = 'q1.iiii.fb_com_cfg'

The operation name. Should be a static member of the class

property shift

Semantic alias for the second generic imm field.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
property wc

Semantic alias for the first generic imm field.

class FbComDataImmImmImmOp(imm1, imm2, imm3, comment=None)

Bases: ImmImmImmOperation[UI8Imm, UI32Imm, DurationImm]

Send an immediate value over LINQ tagged with the given id and wait duration ns.

comment

Accessor for an optional operation property.

property duration

Semantic alias for the third generic imm field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

property id

Semantic alias for the first generic imm field.

imm1

Accessor for an operation property.

imm2

Accessor for an operation property.

imm3

Accessor for an operation property.

name: ClassVar[str] = 'q1.iii.fb_com_data'

The operation name. Should be a static member of the class

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

property value

Semantic alias for the second generic imm field.

verify_()
class FbComDataImmRsImmOp(imm1, rs, imm2, comment=None)

Bases: ImmRsImmOperation[IntRegisterType, UI8Imm, DurationImm]

Send a register value over LINQ tagged with the given id and wait duration ns.

comment

Accessor for an optional operation property.

property duration

Semantic alias for the second generic imm field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

property id

Semantic alias for the first generic imm field.

imm1

Accessor for an operation property.

imm2

Accessor for an operation property.

name: ClassVar[str] = 'q1.iri.fb_com_data'

The operation name. Should be a static member of the class

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

property value

Semantic alias for the generic rs field.

verify_()
class FbComExtraImmImmImmOp(imm1, imm2, imm3, comment=None)

Bases: ImmImmImmOperation[BoolImm, UI16Imm, DurationImm]

Enable or disable inclusion of extra bytes in the LINQ data payload and wait duration ns.

Signature: enable: I, extra: I, duration: I

comment

Accessor for an optional operation property.

property duration

Semantic alias for the third generic imm field.

property extra

Semantic alias for the second generic imm field.

property extra_vld

Semantic alias for the first generic imm field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm1

Accessor for an operation property.

imm2

Accessor for an operation property.

imm3

Accessor for an operation property.

name: ClassVar[str] = 'q1.iii.fb_com_extra'

The operation name. Should be a static member of the class

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class FbPopDataImmRdOp(imm, rd, comment=None)

Bases: ImmRdOperation[IntRegisterType, UI16Imm]

Pop the next entry whose id matches the immediate from the feedback queue and write the associated data value into the destination register.

comment

Accessor for an optional operation property.

property destination

Semantic alias for the generic rd field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

property id

Semantic alias for the generic imm field.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.ir.fb_pop_data'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class FbPullDataRsRdOp(rs, rd, comment=None)

Bases: RsRdOperation[IntRegisterType]

Pull the entry whose id matches the source register from the feedback queue and write the associated data value into the destination register.

comment

Accessor for an optional operation property.

property destination

Semantic alias for the generic rd field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

property id

Semantic alias for the generic rs field.

name: ClassVar[str] = 'q1.rr.fb_pull_data'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class IllegalOp(comment=None)

Bases: IllegalOp, NullaryOperation, Q1Instruction, Q1AsmOperation, Q1RegAllocOperation, HasRegisterConstraints, RegisterAllocatableOperation, IRDLOperation, OneLineAssemblyPrintable, AssemblyPrintable, Operation, _IRNode, ABC, object

Invalid instruction that halts the sequencer with an illegal-instruction error.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1..illegal'

The operation name. Should be a static member of the class

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class IntRegisterType(index, register_name)

Bases: IntRegisterType

Integer register type for QBlox Q1 ISA.

classmethod allocatable_registers()

Return the finite set of allocatable physical integer registers.

classmethod get_irdl_definition()

Get the IRDL attribute definition.

classmethod index_by_name()

Returns a dictionary mapping register name to its index.

Return type:

dict[str, int]

classmethod infinite_register_prefix()

Provide the prefix for the name for a register at the given index in the “infinite” register set.

For example, if the prefix is oqc_qat_q1_, the name of the first infinite register will be oqc_qat_q1_0.

Return type:

str

name: ClassVar[str] = 'q1.reg'

The attribute name should be a static field in the attribute classes.

class JaImmOp(imm, comment=None)

Bases: JaImmOp, JumpImmOperation, Q1Instruction, Q1AsmOperation, Q1RegAllocOperation, HasRegisterConstraints, RegisterAllocatableOperation, IRDLOperation, OneLineAssemblyPrintable, AssemblyPrintable, Operation, _IRNode, ABC, object

Jump if unsigned a > b condition holds (ZF == 0 and CF == 0).

property address

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.i.ja'

The operation name. Should be a static member of the class

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class JaRsOp(rs, comment=None)

Bases: RsOperation[IntRegisterType]

Jump if unsigned a > b condition holds (ZF == 0 and CF == 0).

property address

Semantic alias for the generic rs field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.r.ja'

The operation name. Should be a static member of the class

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class JaeImmOp(imm, comment=None)

Bases: JaeImmOp, JumpImmOperation, Q1Instruction, Q1AsmOperation, Q1RegAllocOperation, HasRegisterConstraints, RegisterAllocatableOperation, IRDLOperation, OneLineAssemblyPrintable, AssemblyPrintable, Operation, _IRNode, ABC, object

Jump if unsigned a >= b condition holds (CF == 0).

property address

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.i.jae'

The operation name. Should be a static member of the class

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class JaeRsOp(rs, comment=None)

Bases: RsOperation[IntRegisterType]

Jump if unsigned a >= b condition holds (CF == 0).

property address

Semantic alias for the generic rs field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.r.jae'

The operation name. Should be a static member of the class

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class JbImmOp(imm, comment=None)

Bases: JbImmOp, JumpImmOperation, Q1Instruction, Q1AsmOperation, Q1RegAllocOperation, HasRegisterConstraints, RegisterAllocatableOperation, IRDLOperation, OneLineAssemblyPrintable, AssemblyPrintable, Operation, _IRNode, ABC, object

Jump if unsigned a < b condition holds (CF == 1).

property address

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.i.jb'

The operation name. Should be a static member of the class

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class JbRsOp(rs, comment=None)

Bases: RsOperation[IntRegisterType]

Jump if unsigned a < b condition holds (CF == 1).

property address

Semantic alias for the generic rs field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.r.jb'

The operation name. Should be a static member of the class

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class JbeImmOp(imm, comment=None)

Bases: JbeImmOp, JumpImmOperation, Q1Instruction, Q1AsmOperation, Q1RegAllocOperation, HasRegisterConstraints, RegisterAllocatableOperation, IRDLOperation, OneLineAssemblyPrintable, AssemblyPrintable, Operation, _IRNode, ABC, object

Jump if unsigned a <= b condition holds (ZF == 1 or CF == 1).

property address

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.i.jbe'

The operation name. Should be a static member of the class

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class JbeRsOp(rs, comment=None)

Bases: RsOperation[IntRegisterType]

Jump if unsigned a <= b condition holds (ZF == 1 or CF == 1).

property address

Semantic alias for the generic rs field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.r.jbe'

The operation name. Should be a static member of the class

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class JgImmOp(imm, comment=None)

Bases: JgImmOp, JumpImmOperation, Q1Instruction, Q1AsmOperation, Q1RegAllocOperation, HasRegisterConstraints, RegisterAllocatableOperation, IRDLOperation, OneLineAssemblyPrintable, AssemblyPrintable, Operation, _IRNode, ABC, object

Jump if signed a > b condition holds (ZF == 0 and NF == OF).

property address

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.i.jg'

The operation name. Should be a static member of the class

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class JgRsOp(rs, comment=None)

Bases: RsOperation[IntRegisterType]

Jump if signed a > b condition holds (ZF == 0 and NF == OF).

property address

Semantic alias for the generic rs field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.r.jg'

The operation name. Should be a static member of the class

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class JgeImmOp(imm, comment=None)

Bases: JgeImmOp, JumpImmOperation, Q1Instruction, Q1AsmOperation, Q1RegAllocOperation, HasRegisterConstraints, RegisterAllocatableOperation, IRDLOperation, OneLineAssemblyPrintable, AssemblyPrintable, Operation, _IRNode, ABC, object

Jump if signed a >= b condition holds (NF == OF).

property address

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.i.jge'

The operation name. Should be a static member of the class

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class JgeRsImmImmOp(rs, imm1, imm2, comment=None)

Bases: RsImmImmOperation[IntRegisterType, UI32Imm, UI14Imm]

Deprecated legacy jump variant for unsigned a >= b with immediate address.

property a

Semantic alias for the generic rs field.

property address

Semantic alias for the second generic imm field.

property b

Semantic alias for the first generic imm field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm1

Accessor for an operation property.

imm2

Accessor for an operation property.

name: ClassVar[str] = 'q1.rii.jge'

The operation name. Should be a static member of the class

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class JgeRsImmRsOp(rs1, imm, rs2, comment=None)

Bases: RsImmRsOperation[IntRegisterType, UI32Imm]

Deprecated legacy jump variant for unsigned a >= b with register address.

property a

Semantic alias for the first generic rs field.

property address

Semantic alias for the second generic rs field.

property b

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.rir.jge'

The operation name. Should be a static member of the class

rs1

Access a non-variadic construct which appears before any variadic arguments.

rs2

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class JgeRsOp(rs, comment=None)

Bases: RsOperation[IntRegisterType]

Jump if signed a >= b condition holds (NF == OF).

property address

Semantic alias for the generic rs field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.r.jge'

The operation name. Should be a static member of the class

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class JlImmOp(imm, comment=None)

Bases: JlImmOp, JumpImmOperation, Q1Instruction, Q1AsmOperation, Q1RegAllocOperation, HasRegisterConstraints, RegisterAllocatableOperation, IRDLOperation, OneLineAssemblyPrintable, AssemblyPrintable, Operation, _IRNode, ABC, object

Jump if signed a < b condition holds (NF != OF).

property address

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.i.jl'

The operation name. Should be a static member of the class

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class JlRsOp(rs, comment=None)

Bases: RsOperation[IntRegisterType]

Jump if signed a < b condition holds (NF != OF).

property address

Semantic alias for the generic rs field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.r.jl'

The operation name. Should be a static member of the class

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class JleImmOp(imm, comment=None)

Bases: JleImmOp, JumpImmOperation, Q1Instruction, Q1AsmOperation, Q1RegAllocOperation, HasRegisterConstraints, RegisterAllocatableOperation, IRDLOperation, OneLineAssemblyPrintable, AssemblyPrintable, Operation, _IRNode, ABC, object

Jump if signed a <= b condition holds (ZF == 1 or NF != OF).

property address

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.i.jle'

The operation name. Should be a static member of the class

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class JleRsOp(rs, comment=None)

Bases: RsOperation[IntRegisterType]

Jump if signed a <= b condition holds (ZF == 1 or NF != OF).

property address

Semantic alias for the generic rs field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.r.jle'

The operation name. Should be a static member of the class

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class JltRsImmImmOp(rs, imm1, imm2, comment=None)

Bases: RsImmImmOperation[IntRegisterType, UI32Imm, UI14Imm]

Deprecated legacy jump variant for unsigned a < b with immediate address.

property a

Semantic alias for the generic rs field.

property address

Semantic alias for the second generic imm field.

property b

Semantic alias for the first generic imm field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm1

Accessor for an operation property.

imm2

Accessor for an operation property.

name: ClassVar[str] = 'q1.rii.jlt'

The operation name. Should be a static member of the class

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class JltRsImmRsOp(rs1, imm, rs2, comment=None)

Bases: RsImmRsOperation[IntRegisterType, UI32Imm]

Deprecated legacy jump variant for unsigned a < b with register address.

property a

Semantic alias for the first generic rs field.

property address

Semantic alias for the second generic rs field.

property b

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.rir.jlt'

The operation name. Should be a static member of the class

rs1

Access a non-variadic construct which appears before any variadic arguments.

rs2

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class JmpImmOp(imm, comment=None)

Bases: JmpImmOp, JumpImmOperation, Q1Instruction, Q1AsmOperation, Q1RegAllocOperation, HasRegisterConstraints, RegisterAllocatableOperation, IRDLOperation, OneLineAssemblyPrintable, AssemblyPrintable, Operation, _IRNode, ABC, object

Unconditional jump to a target address or label.

property address

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.i.jmp'

The operation name. Should be a static member of the class

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class JmpRsOp(rs, comment=None)

Bases: RsOperation[IntRegisterType]

Unconditional jump to an address stored in a register.

property address

Semantic alias for the generic rs field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.r.jmp'

The operation name. Should be a static member of the class

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class JnoImmOp(imm, comment=None)

Bases: JnoImmOp, JumpImmOperation, Q1Instruction, Q1AsmOperation, Q1RegAllocOperation, HasRegisterConstraints, RegisterAllocatableOperation, IRDLOperation, OneLineAssemblyPrintable, AssemblyPrintable, Operation, _IRNode, ABC, object

Jump if OF == 0 to a target address or label.

property address

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.i.jno'

The operation name. Should be a static member of the class

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class JnoRsOp(rs, comment=None)

Bases: RsOperation[IntRegisterType]

Jump if OF == 0 to a register address.

property address

Semantic alias for the generic rs field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.r.jno'

The operation name. Should be a static member of the class

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class JnsImmOp(imm, comment=None)

Bases: JnsImmOp, JumpImmOperation, Q1Instruction, Q1AsmOperation, Q1RegAllocOperation, HasRegisterConstraints, RegisterAllocatableOperation, IRDLOperation, OneLineAssemblyPrintable, AssemblyPrintable, Operation, _IRNode, ABC, object

Jump if NF == 0 to a target address or label.

property address

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.i.jns'

The operation name. Should be a static member of the class

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class JnsRsOp(rs, comment=None)

Bases: RsOperation[IntRegisterType]

Jump if NF == 0 to a register address.

property address

Semantic alias for the generic rs field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.r.jns'

The operation name. Should be a static member of the class

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class JnzImmOp(imm, comment=None)

Bases: JnzImmOp, JumpImmOperation, Q1Instruction, Q1AsmOperation, Q1RegAllocOperation, HasRegisterConstraints, RegisterAllocatableOperation, IRDLOperation, OneLineAssemblyPrintable, AssemblyPrintable, Operation, _IRNode, ABC, object

Jump if ZF == 0 to a target address or label.

property address

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.i.jnz'

The operation name. Should be a static member of the class

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class JnzRsOp(rs, comment=None)

Bases: RsOperation[IntRegisterType]

Jump if ZF == 0 to a register address.

property address

Semantic alias for the generic rs field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.r.jnz'

The operation name. Should be a static member of the class

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class JoImmOp(imm, comment=None)

Bases: JoImmOp, JumpImmOperation, Q1Instruction, Q1AsmOperation, Q1RegAllocOperation, HasRegisterConstraints, RegisterAllocatableOperation, IRDLOperation, OneLineAssemblyPrintable, AssemblyPrintable, Operation, _IRNode, ABC, object

Jump if OF == 1 to a target address or label.

property address

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.i.jo'

The operation name. Should be a static member of the class

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class JoRsOp(rs, comment=None)

Bases: RsOperation[IntRegisterType]

Jump if OF == 1 to a register address.

property address

Semantic alias for the generic rs field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.r.jo'

The operation name. Should be a static member of the class

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class JsImmOp(imm, comment=None)

Bases: JsImmOp, JumpImmOperation, Q1Instruction, Q1AsmOperation, Q1RegAllocOperation, HasRegisterConstraints, RegisterAllocatableOperation, IRDLOperation, OneLineAssemblyPrintable, AssemblyPrintable, Operation, _IRNode, ABC, object

Jump if NF == 1 to a target address or label.

property address

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.i.js'

The operation name. Should be a static member of the class

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class JsRsOp(rs, comment=None)

Bases: RsOperation[IntRegisterType]

Jump if NF == 1 to a register address.

property address

Semantic alias for the generic rs field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.r.js'

The operation name. Should be a static member of the class

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class JzImmOp(imm, comment=None)

Bases: JzImmOp, JumpImmOperation, Q1Instruction, Q1AsmOperation, Q1RegAllocOperation, HasRegisterConstraints, RegisterAllocatableOperation, IRDLOperation, OneLineAssemblyPrintable, AssemblyPrintable, Operation, _IRNode, ABC, object

Jump if ZF == 1 to a target address or label.

property address

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.i.jz'

The operation name. Should be a static member of the class

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class JzRsOp(rs, comment=None)

Bases: RsOperation[IntRegisterType]

Jump if ZF == 1 to a register address.

property address

Semantic alias for the generic rs field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.r.jz'

The operation name. Should be a static member of the class

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class LabelAttr(data)

Bases: Data[str]

name: ClassVar[str] = 'q1.label'

The attribute name should be a static field in the attribute classes.

classmethod parse_parameter(parser)

Parse the attribute parameter.

Return type:

str

print_parameter(printer)

Print the attribute parameter.

Return type:

None

class LabelOp(reference, comment=None)

Bases: LabelOp, Q1AsmOperation, IRDLOperation, OneLineAssemblyPrintable, AssemblyPrintable, Operation, _IRNode, ABC, object

Emit a textual label used as a branch or jump target.

Example:

func: # Label reference that jumping operations can refer to add R1, R2, R3

assembly_line()

Emits Q1 assembly instruction line corresponding to this operation.

Return type:

str | None

assembly_line_args()

Instruction arguments in the order they should be printed in the assembly.

Return type:

tuple[Q1Imm | LabelAttr | SSAValue | RegisterType | StringAttr | str | None, ...]

assembly_mnemonic()

Because operation name must match q1.<format>.<mnemonic>, the instruction name (mnemonic) is extracted from the operation name to be the third field.

Return type:

str

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.x.label'

The operation name. Should be a static member of the class

reference

Accessor for an operation property.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class LatchRstImmOp(imm, comment=None)

Bases: ImmOperation[DurationImm]

Resets all trigger network address counters to 0.

Duration specifies the amount of time spent at the beginning of the instruction in ns

comment

Accessor for an optional operation property.

property duration

Semantic alias for the generic imm field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.i.latch_rst'

The operation name. Should be a static member of the class

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class LatchRstRsOp(rs, comment=None)

Bases: RsOperation[IntRegisterType]

Resets all trigger network address counters to 0.

Duration specifies the amount of time spent at the beginning of the instruction in ns

comment

Accessor for an optional operation property.

property duration

Semantic alias for the generic rs field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.r.latch_rst'

The operation name. Should be a static member of the class

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class LoopRdImmOp(rd, imm, comment=None)

Bases: LoopImmOperation[IntRegisterType]

Deprecated legacy loop: decrement source and jump while the result is non-zero.

property address

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.ri.loop'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

property source

Semantic alias for the generic rd field.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class LoopRdRsOp(rd, rs, comment=None)

Bases: RdRsOperation[IntRegisterType]

Deprecated legacy loop: decrement source and jump while the result is non-zero.

property address

Semantic alias for the generic rs field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.rr.loop'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs

Access a non-variadic construct which appears before any variadic arguments.

property source

Semantic alias for the generic rd field.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class LslImmRsRdOp(imm, rs, rd, comment=None)

Bases: ImmRsRdOperation[IntRegisterType, UI32Imm]

Logical left shift an immediate operand b by a register bit-count a into destination.

property a

Semantic alias for the generic rs field.

property b

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

property dst_low

Semantic alias for the generic rd field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.irr.lsl'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class LslRsImmRdOp(rs, imm, rd, comment=None)

Bases: RsImmRdOperation[IntRegisterType, UI32Imm]

Logical left shift register operand a by an immediate bit-count b into destination.

property a

Semantic alias for the generic rs field.

property b

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

property dst_low

Semantic alias for the generic rd field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.rir.lsl'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class LslRsRsRdOp(rs1, rs2, rd, comment=None)

Bases: RsRsRdOperation[IntRegisterType]

Logical left shift register operand a by a register bit-count b into destination.

property a

Semantic alias for the first generic rs field.

property b

Semantic alias for the second generic rs field.

comment

Accessor for an optional operation property.

property dst_low

Semantic alias for the generic rd field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.rrr.lsl'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs1

Access a non-variadic construct which appears before any variadic arguments.

rs2

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class LsrImmRsRdOp(imm, rs, rd, comment=None)

Bases: ImmRsRdOperation[IntRegisterType, UI32Imm]

Logical right shift an immediate operand b by a register bit-count a into destination.

property a

Semantic alias for the generic rs field.

property b

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

property dst_low

Semantic alias for the generic rd field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.irr.lsr'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class LsrRsImmRdOp(rs, imm, rd, comment=None)

Bases: RsImmRdOperation[IntRegisterType, UI32Imm]

Logical right shift register operand a by an immediate bit-count b into destination.

property a

Semantic alias for the generic rs field.

property b

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

property dst_low

Semantic alias for the generic rd field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.rir.lsr'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class LsrRsRsRdOp(rs1, rs2, rd, comment=None)

Bases: RsRsRdOperation[IntRegisterType]

Logical right shift register operand a by a register bit-count b into destination.

property a

Semantic alias for the first generic rs field.

property b

Semantic alias for the second generic rs field.

comment

Accessor for an optional operation property.

property dst_low

Semantic alias for the generic rd field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.rrr.lsr'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs1

Access a non-variadic construct which appears before any variadic arguments.

rs2

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class MoveImmRdOp(imm, rd, comment=None)

Bases: ImmRdOperation[IntRegisterType, SU32Imm]

Copy an immediate source value into a destination register.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.ir.move'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

property source

Semantic alias for the generic imm field.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class MoveRsRdOp(rs, rd, comment=None)

Bases: RsRdOperation[IntRegisterType]

Copy a register source value into a destination register.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.rr.move'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs

Access a non-variadic construct which appears before any variadic arguments.

property source

Semantic alias for the generic rs field.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class Muls16ImmRsRdOp(imm, rs, rd, comment=None)

Bases: ImmRsRdOperation[IntRegisterType, SI16Imm]

Signed 16-bit multiplication of immediate b by register a into the low 32 bits of destination.

property a

Semantic alias for the generic rs field.

property b

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

property dst_low

Semantic alias for the generic rd field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.irr.muls16'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class Muls16RsImmRdOp(rs, imm, rd, comment=None)

Bases: RsImmRdOperation[IntRegisterType, SI16Imm]

Signed 16-bit multiplication of register a by immediate b into the low 32 bits of destination.

property a

Semantic alias for the generic rs field.

property b

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

property dst_low

Semantic alias for the generic rd field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.rir.muls16'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class Muls16RsRsRdOp(rs1, rs2, rd, comment=None)

Bases: RsRsRdOperation[IntRegisterType]

Signed 16-bit multiplication of two register operands into the low 32 bits of destination.

property a

Semantic alias for the first generic rs field.

property b

Semantic alias for the second generic rs field.

comment

Accessor for an optional operation property.

property dst_low

Semantic alias for the generic rd field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.rrr.muls16'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs1

Access a non-variadic construct which appears before any variadic arguments.

rs2

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class Muls32ImmRsRdRdOp(imm, rs, rd1, rd2, comment=None)

Bases: ImmRsRdRdOperation[IntRegisterType, SI32Imm]

Signed 32-bit multiplication of immediate b by register a, storing the low 32 bits of the 64-bit result into dst_low and the high 32 bits into dst_high.

property a

Semantic alias for the generic rs field.

property b

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

property dst_high

Semantic alias for the second generic rd field.

property dst_low

Semantic alias for the first generic rd field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.irrr.muls32'

The operation name. Should be a static member of the class

rd1: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rd2: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class Muls32RsImmRdRdOp(rs, imm, rd1, rd2, comment=None)

Bases: RsImmRdRdOperation[IntRegisterType, SI32Imm]

Signed 32-bit multiplication of register a by immediate b, storing the low 32 bits of the 64-bit result into dst_low and the high 32 bits into dst_high.

property a

Semantic alias for the generic rs field.

property b

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

property dst_high

Semantic alias for the second generic rd field.

property dst_low

Semantic alias for the first generic rd field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.rirr.muls32'

The operation name. Should be a static member of the class

rd1: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rd2: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class Muls32RsRsRdRdOp(rs1, rs2, rd1, rd2, comment=None)

Bases: RsRsRdRdOperation[IntRegisterType]

Signed 32-bit multiplication of two register operands, storing the low 32 bits of the 64-bit result into dst_low and the high 32 bits into dst_high.

property a

Semantic alias for the first generic rs field.

property b

Semantic alias for the second generic rs field.

comment

Accessor for an optional operation property.

property dst_high

Semantic alias for the second generic rd field.

property dst_low

Semantic alias for the first generic rd field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.rrrr.muls32'

The operation name. Should be a static member of the class

rd1: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rd2: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs1

Access a non-variadic construct which appears before any variadic arguments.

rs2

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class Muls32hImmRsRdOp(imm, rs, rd, comment=None)

Bases: ImmRsRdOperation[IntRegisterType, SI32Imm]

Signed 32-bit multiplication of immediate b by register a, storing the high 32 bits of the 64-bit result into destination.

property a

Semantic alias for the generic rs field.

property b

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

property dst_high

Semantic alias for the generic rd field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.irr.muls32h'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class Muls32hRsImmRdOp(rs, imm, rd, comment=None)

Bases: RsImmRdOperation[IntRegisterType, SI32Imm]

Signed 32-bit multiplication of register a by immediate b, storing the high 32 bits of the 64-bit result into destination.

property a

Semantic alias for the generic rs field.

property b

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

property dst_high

Semantic alias for the generic rd field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.rir.muls32h'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class Muls32hRsRsRdOp(rs1, rs2, rd, comment=None)

Bases: RsRsRdOperation[IntRegisterType]

Signed 32-bit multiplication of two register operands, storing the high 32 bits of the 64-bit result into destination.

property a

Semantic alias for the first generic rs field.

property b

Semantic alias for the second generic rs field.

comment

Accessor for an optional operation property.

property dst_high

Semantic alias for the generic rd field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.rrr.muls32h'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs1

Access a non-variadic construct which appears before any variadic arguments.

rs2

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class Muls32lImmRsRdOp(imm, rs, rd, comment=None)

Bases: ImmRsRdOperation[IntRegisterType, SI32Imm]

Signed 32-bit multiplication of immediate b by register a, storing the low 32 bits of the 64-bit result into destination.

property a

Semantic alias for the generic rs field.

property b

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

property dst_low

Semantic alias for the generic rd field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.irr.muls32l'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class Muls32lRsImmRdOp(rs, imm, rd, comment=None)

Bases: RsImmRdOperation[IntRegisterType, SI32Imm]

Signed 32-bit multiplication of register a by immediate b, storing the low 32 bits of the 64-bit result into destination.

property a

Semantic alias for the generic rs field.

property b

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

property dst_low

Semantic alias for the generic rd field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.rir.muls32l'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class Muls32lRsRsRdOp(rs1, rs2, rd, comment=None)

Bases: RsRsRdOperation[IntRegisterType]

Signed 32-bit multiplication of two register operands, storing the low 32 bits of the 64-bit result into destination.

property a

Semantic alias for the first generic rs field.

property b

Semantic alias for the second generic rs field.

comment

Accessor for an optional operation property.

property dst_low

Semantic alias for the generic rd field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.rrr.muls32l'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs1

Access a non-variadic construct which appears before any variadic arguments.

rs2

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class Mulu16ImmRsRdOp(imm, rs, rd, comment=None)

Bases: ImmRsRdOperation[IntRegisterType, UI16Imm]

Unsigned 16-bit multiplication of immediate b by register a into the low 32 bits of destination.

property a

Semantic alias for the generic rs field.

property b

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

property dst_low

Semantic alias for the generic rd field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.irr.mulu16'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class Mulu16RsImmRdOp(rs, imm, rd, comment=None)

Bases: RsImmRdOperation[IntRegisterType, UI16Imm]

Unsigned 16-bit multiplication of register a by immediate b into the low 32 bits of destination.

property a

Semantic alias for the generic rs field.

property b

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

property dst_low

Semantic alias for the generic rd field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.rir.mulu16'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class Mulu16RsRsRdOp(rs1, rs2, rd, comment=None)

Bases: RsRsRdOperation[IntRegisterType]

Unsigned 16-bit multiplication of two register operands into the low 32 bits of destination.

property a

Semantic alias for the first generic rs field.

property b

Semantic alias for the second generic rs field.

comment

Accessor for an optional operation property.

property dst_low

Semantic alias for the generic rd field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.rrr.mulu16'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs1

Access a non-variadic construct which appears before any variadic arguments.

rs2

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class Mulu32ImmRsRdRdOp(imm, rs, rd1, rd2, comment=None)

Bases: ImmRsRdRdOperation[IntRegisterType, UI32Imm]

Unsigned 32-bit multiplication of immediate b by register a, storing the low 32 bits of the 64-bit result into dst_low and the high 32 bits into dst_high.

property a

Semantic alias for the generic rs field.

property b

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

property dst_high

Semantic alias for the second generic rd field.

property dst_low

Semantic alias for the first generic rd field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.irrr.mulu32'

The operation name. Should be a static member of the class

rd1: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rd2: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class Mulu32RsImmRdRdOp(rs, imm, rd1, rd2, comment=None)

Bases: RsImmRdRdOperation[IntRegisterType, UI32Imm]

Unsigned 32-bit multiplication of register a by immediate b, storing the low 32 bits of the 64-bit result into dst_low and the high 32 bits into dst_high.

property a

Semantic alias for the generic rs field.

property b

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

property dst_high

Semantic alias for the second generic rd field.

property dst_low

Semantic alias for the first generic rd field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.rirr.mulu32'

The operation name. Should be a static member of the class

rd1: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rd2: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class Mulu32RsRsRdRdOp(rs1, rs2, rd1, rd2, comment=None)

Bases: RsRsRdRdOperation[IntRegisterType]

Unsigned 32-bit multiplication of two register operands, storing the low 32 bits of the 64-bit result into dst_low and the high 32 bits into dst_high.

property a

Semantic alias for the first generic rs field.

property b

Semantic alias for the second generic rs field.

comment

Accessor for an optional operation property.

property dst_high

Semantic alias for the second generic rd field.

property dst_low

Semantic alias for the first generic rd field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.rrrr.mulu32'

The operation name. Should be a static member of the class

rd1: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rd2: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs1

Access a non-variadic construct which appears before any variadic arguments.

rs2

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class Mulu32hImmRsRdOp(imm, rs, rd, comment=None)

Bases: ImmRsRdOperation[IntRegisterType, UI32Imm]

Unsigned 32-bit multiplication of immediate b by register a, storing the high 32 bits of the 64-bit result into destination.

property a

Semantic alias for the generic rs field.

property b

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

property dst_high

Semantic alias for the generic rd field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.irr.mulu32h'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class Mulu32hRsImmRdOp(rs, imm, rd, comment=None)

Bases: RsImmRdOperation[IntRegisterType, UI32Imm]

Unsigned 32-bit multiplication of register a by immediate b, storing the high 32 bits of the 64-bit result into destination.

property a

Semantic alias for the generic rs field.

property b

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

property dst_high

Semantic alias for the generic rd field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.rir.mulu32h'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class Mulu32hRsRsRdOp(rs1, rs2, rd, comment=None)

Bases: RsRsRdOperation[IntRegisterType]

Unsigned 32-bit multiplication of two register operands, storing the high 32 bits of the 64-bit result into destination.

property a

Semantic alias for the first generic rs field.

property b

Semantic alias for the second generic rs field.

comment

Accessor for an optional operation property.

property dst_high

Semantic alias for the generic rd field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.rrr.mulu32h'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs1

Access a non-variadic construct which appears before any variadic arguments.

rs2

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class Mulu32lImmRsRdOp(imm, rs, rd, comment=None)

Bases: ImmRsRdOperation[IntRegisterType, UI32Imm]

Unsigned 32-bit multiplication of immediate b by register a, storing the low 32 bits of the 64-bit result into destination.

property a

Semantic alias for the generic rs field.

property b

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

property dst_low

Semantic alias for the generic rd field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.irr.mulu32l'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class Mulu32lRsImmRdOp(rs, imm, rd, comment=None)

Bases: RsImmRdOperation[IntRegisterType, UI32Imm]

Unsigned 32-bit multiplication of register a by immediate b, storing the low 32 bits of the 64-bit result into destination.

property a

Semantic alias for the generic rs field.

property b

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

property dst_low

Semantic alias for the generic rd field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.rir.mulu32l'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class Mulu32lRsRsRdOp(rs1, rs2, rd, comment=None)

Bases: RsRsRdOperation[IntRegisterType]

Unsigned 32-bit multiplication of two register operands, storing the low 32 bits of the 64-bit result into destination.

property a

Semantic alias for the first generic rs field.

property b

Semantic alias for the second generic rs field.

comment

Accessor for an optional operation property.

property dst_low

Semantic alias for the generic rd field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.rrr.mulu32l'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs1

Access a non-variadic construct which appears before any variadic arguments.

rs2

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class NcoPhaseImm(value)

Bases: Q1Imm

NCO phase / phase-offset immediate: [0, 1_000_000_000] (inclusive).

name: ClassVar[str] = 'q1.nco_phase_imm'

The attribute name should be a static field in the attribute classes.

class NopOp(comment=None)

Bases: NopOp, NullaryOperation, Q1Instruction, Q1AsmOperation, Q1RegAllocOperation, HasRegisterConstraints, RegisterAllocatableOperation, IRDLOperation, OneLineAssemblyPrintable, AssemblyPrintable, Operation, _IRNode, ABC, object

No-op instruction that waits one Q1 core cycle (4 ns) without changing state.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1..nop'

The operation name. Should be a static member of the class

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class NotImmRdOp(imm, rd, comment=None)

Bases: ImmRdOperation[IntRegisterType, SU32Imm]

Bitwise invert an immediate source value and write the result to destination.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.ir.not'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

property source

Semantic alias for the generic imm field.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class NotRsRdOp(rs, rd, comment=None)

Bases: RsRdOperation[IntRegisterType]

Bitwise invert a register source value and write the result to destination.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.rr.not'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs

Access a non-variadic construct which appears before any variadic arguments.

property source

Semantic alias for the generic rs field.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class OrRsImmRdOp(rs, imm, rd, comment=None)

Bases: RsImmRdOperation[IntRegisterType, SU32Imm]

Bitwise OR between register and immediate operands into destination.

property a

Semantic alias for the generic rs field.

property b

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.rir.or'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class OrRsRsRdOp(rs1, rs2, rd, comment=None)

Bases: RsRsRdOperation[IntRegisterType]

Bitwise OR between two register operands into destination.

property a

Semantic alias for the first generic rs field.

property b

Semantic alias for the second generic rs field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.rrr.or'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs1

Access a non-variadic construct which appears before any variadic arguments.

rs2

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class PlayImmImmImmOp(imm1, imm2, imm3, comment=None)

Bases: ImmImmImmOperation[UI10Imm, UI10Imm, DurationImm]

Update the latched parameters, interrupt waves being played and start playing AWG waveforms stored at indexes wave_0 on path 0 and wave_1 on path 1.

Duration specifies the amount of time spent at the beginning of the instruction in ns

comment

Accessor for an optional operation property.

property duration

Semantic alias for the third generic imm field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm1

Accessor for an operation property.

imm2

Accessor for an operation property.

imm3

Accessor for an operation property.

name: ClassVar[str] = 'q1.iii.play'

The operation name. Should be a static member of the class

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
property wave0

Semantic alias for the first generic imm field.

property wave1

Semantic alias for the second generic imm field.

class PlayRsRsImmOp(rs1, rs2, imm, comment=None)

Bases: RsRsImmOperation[IntRegisterType, DurationImm]

Update the latched parameters, interrupt waves being played and start playing AWG waveforms stored at indexes wave_0 on path 0 and wave_1 on path 1.

Duration specifies the amount of time spent at the beginning of the instruction in ns

comment

Accessor for an optional operation property.

property duration

Semantic alias for the first generic imm field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.rri.play'

The operation name. Should be a static member of the class

rs1

Access a non-variadic construct which appears before any variadic arguments.

rs2

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
property wave0

Semantic alias for the first generic rs field.

property wave1

Semantic alias for the second generic rs field.

exception Q1AsmParseError

Bases: ValueError

Raised when Q1 assembly cannot be parsed.

class Q1Imm(value)

Bases: Data[int]

Base class for all Q1 immediate value attributes.

Subclasses set _MIN and _MAX (inclusive) and inherit the construction-time and IR-level validation. They may also override _validate() to add extra constraints (e.g. alignment, enum membership).

classmethod parse_parameter(parser)

Parse the attribute parameter.

Return type:

int

print_parameter(printer)

Print the attribute parameter.

Return type:

None

verify()

Check that the attribute parameters satisfy the expected invariants. Raise a VerifyException otherwise.

Return type:

None

class Q1RegisterType(index, register_name)

Bases: RegisterType, ABC

A register type in the QBlox Q1 ISA.

classmethod gpr_register(index)

Get the general-purpose register at the given index.

Return type:

Q1RegisterType

class Q1asmTarget

Bases: Target

emit(ctx, module, output)

Emits a Q1 module to Q1 assembly.

Parameters:
  • ctx (Context) – xDSL context for the emission target.

  • module (ModuleOp) – Module containing Q1 dialect operations.

  • output (IO[str]) – Text stream receiving the printed assembly.

Return type:

None

name: ClassVar[str] = 'q1asm'
class Registers

Bases: object

Named register constants and classes.

GPR = (IntRegisterType(index=IntAttr(data=0), register_name=StringAttr(data='R0')), IntRegisterType(index=IntAttr(data=1), register_name=StringAttr(data='R1')), IntRegisterType(index=IntAttr(data=2), register_name=StringAttr(data='R2')), IntRegisterType(index=IntAttr(data=3), register_name=StringAttr(data='R3')), IntRegisterType(index=IntAttr(data=4), register_name=StringAttr(data='R4')), IntRegisterType(index=IntAttr(data=5), register_name=StringAttr(data='R5')), IntRegisterType(index=IntAttr(data=6), register_name=StringAttr(data='R6')), IntRegisterType(index=IntAttr(data=7), register_name=StringAttr(data='R7')), IntRegisterType(index=IntAttr(data=8), register_name=StringAttr(data='R8')), IntRegisterType(index=IntAttr(data=9), register_name=StringAttr(data='R9')), IntRegisterType(index=IntAttr(data=10), register_name=StringAttr(data='R10')), IntRegisterType(index=IntAttr(data=11), register_name=StringAttr(data='R11')), IntRegisterType(index=IntAttr(data=12), register_name=StringAttr(data='R12')), IntRegisterType(index=IntAttr(data=13), register_name=StringAttr(data='R13')), IntRegisterType(index=IntAttr(data=14), register_name=StringAttr(data='R14')), IntRegisterType(index=IntAttr(data=15), register_name=StringAttr(data='R15')), IntRegisterType(index=IntAttr(data=16), register_name=StringAttr(data='R16')), IntRegisterType(index=IntAttr(data=17), register_name=StringAttr(data='R17')), IntRegisterType(index=IntAttr(data=18), register_name=StringAttr(data='R18')), IntRegisterType(index=IntAttr(data=19), register_name=StringAttr(data='R19')), IntRegisterType(index=IntAttr(data=20), register_name=StringAttr(data='R20')), IntRegisterType(index=IntAttr(data=21), register_name=StringAttr(data='R21')), IntRegisterType(index=IntAttr(data=22), register_name=StringAttr(data='R22')), IntRegisterType(index=IntAttr(data=23), register_name=StringAttr(data='R23')), IntRegisterType(index=IntAttr(data=24), register_name=StringAttr(data='R24')), IntRegisterType(index=IntAttr(data=25), register_name=StringAttr(data='R25')), IntRegisterType(index=IntAttr(data=26), register_name=StringAttr(data='R26')), IntRegisterType(index=IntAttr(data=27), register_name=StringAttr(data='R27')), IntRegisterType(index=IntAttr(data=28), register_name=StringAttr(data='R28')), IntRegisterType(index=IntAttr(data=29), register_name=StringAttr(data='R29')), IntRegisterType(index=IntAttr(data=30), register_name=StringAttr(data='R30')), IntRegisterType(index=IntAttr(data=31), register_name=StringAttr(data='R31')), IntRegisterType(index=IntAttr(data=32), register_name=StringAttr(data='R32')), IntRegisterType(index=IntAttr(data=33), register_name=StringAttr(data='R33')), IntRegisterType(index=IntAttr(data=34), register_name=StringAttr(data='R34')), IntRegisterType(index=IntAttr(data=35), register_name=StringAttr(data='R35')), IntRegisterType(index=IntAttr(data=36), register_name=StringAttr(data='R36')), IntRegisterType(index=IntAttr(data=37), register_name=StringAttr(data='R37')), IntRegisterType(index=IntAttr(data=38), register_name=StringAttr(data='R38')), IntRegisterType(index=IntAttr(data=39), register_name=StringAttr(data='R39')), IntRegisterType(index=IntAttr(data=40), register_name=StringAttr(data='R40')), IntRegisterType(index=IntAttr(data=41), register_name=StringAttr(data='R41')), IntRegisterType(index=IntAttr(data=42), register_name=StringAttr(data='R42')), IntRegisterType(index=IntAttr(data=43), register_name=StringAttr(data='R43')), IntRegisterType(index=IntAttr(data=44), register_name=StringAttr(data='R44')), IntRegisterType(index=IntAttr(data=45), register_name=StringAttr(data='R45')), IntRegisterType(index=IntAttr(data=46), register_name=StringAttr(data='R46')), IntRegisterType(index=IntAttr(data=47), register_name=StringAttr(data='R47')), IntRegisterType(index=IntAttr(data=48), register_name=StringAttr(data='R48')), IntRegisterType(index=IntAttr(data=49), register_name=StringAttr(data='R49')), IntRegisterType(index=IntAttr(data=50), register_name=StringAttr(data='R50')), IntRegisterType(index=IntAttr(data=51), register_name=StringAttr(data='R51')), IntRegisterType(index=IntAttr(data=52), register_name=StringAttr(data='R52')), IntRegisterType(index=IntAttr(data=53), register_name=StringAttr(data='R53')), IntRegisterType(index=IntAttr(data=54), register_name=StringAttr(data='R54')), IntRegisterType(index=IntAttr(data=55), register_name=StringAttr(data='R55')), IntRegisterType(index=IntAttr(data=56), register_name=StringAttr(data='R56')), IntRegisterType(index=IntAttr(data=57), register_name=StringAttr(data='R57')), IntRegisterType(index=IntAttr(data=58), register_name=StringAttr(data='R58')), IntRegisterType(index=IntAttr(data=59), register_name=StringAttr(data='R59')), IntRegisterType(index=IntAttr(data=60), register_name=StringAttr(data='R60')), IntRegisterType(index=IntAttr(data=61), register_name=StringAttr(data='R61')), IntRegisterType(index=IntAttr(data=62), register_name=StringAttr(data='R62')), IntRegisterType(index=IntAttr(data=63), register_name=StringAttr(data='R63')))
R0 = IntRegisterType(index=IntAttr(data=0), register_name=StringAttr(data='R0'))
R1 = IntRegisterType(index=IntAttr(data=1), register_name=StringAttr(data='R1'))
R10 = IntRegisterType(index=IntAttr(data=10), register_name=StringAttr(data='R10'))
R11 = IntRegisterType(index=IntAttr(data=11), register_name=StringAttr(data='R11'))
R12 = IntRegisterType(index=IntAttr(data=12), register_name=StringAttr(data='R12'))
R13 = IntRegisterType(index=IntAttr(data=13), register_name=StringAttr(data='R13'))
R14 = IntRegisterType(index=IntAttr(data=14), register_name=StringAttr(data='R14'))
R15 = IntRegisterType(index=IntAttr(data=15), register_name=StringAttr(data='R15'))
R16 = IntRegisterType(index=IntAttr(data=16), register_name=StringAttr(data='R16'))
R17 = IntRegisterType(index=IntAttr(data=17), register_name=StringAttr(data='R17'))
R18 = IntRegisterType(index=IntAttr(data=18), register_name=StringAttr(data='R18'))
R19 = IntRegisterType(index=IntAttr(data=19), register_name=StringAttr(data='R19'))
R2 = IntRegisterType(index=IntAttr(data=2), register_name=StringAttr(data='R2'))
R20 = IntRegisterType(index=IntAttr(data=20), register_name=StringAttr(data='R20'))
R21 = IntRegisterType(index=IntAttr(data=21), register_name=StringAttr(data='R21'))
R22 = IntRegisterType(index=IntAttr(data=22), register_name=StringAttr(data='R22'))
R23 = IntRegisterType(index=IntAttr(data=23), register_name=StringAttr(data='R23'))
R24 = IntRegisterType(index=IntAttr(data=24), register_name=StringAttr(data='R24'))
R25 = IntRegisterType(index=IntAttr(data=25), register_name=StringAttr(data='R25'))
R26 = IntRegisterType(index=IntAttr(data=26), register_name=StringAttr(data='R26'))
R27 = IntRegisterType(index=IntAttr(data=27), register_name=StringAttr(data='R27'))
R28 = IntRegisterType(index=IntAttr(data=28), register_name=StringAttr(data='R28'))
R29 = IntRegisterType(index=IntAttr(data=29), register_name=StringAttr(data='R29'))
R3 = IntRegisterType(index=IntAttr(data=3), register_name=StringAttr(data='R3'))
R30 = IntRegisterType(index=IntAttr(data=30), register_name=StringAttr(data='R30'))
R31 = IntRegisterType(index=IntAttr(data=31), register_name=StringAttr(data='R31'))
R32 = IntRegisterType(index=IntAttr(data=32), register_name=StringAttr(data='R32'))
R33 = IntRegisterType(index=IntAttr(data=33), register_name=StringAttr(data='R33'))
R34 = IntRegisterType(index=IntAttr(data=34), register_name=StringAttr(data='R34'))
R35 = IntRegisterType(index=IntAttr(data=35), register_name=StringAttr(data='R35'))
R36 = IntRegisterType(index=IntAttr(data=36), register_name=StringAttr(data='R36'))
R37 = IntRegisterType(index=IntAttr(data=37), register_name=StringAttr(data='R37'))
R38 = IntRegisterType(index=IntAttr(data=38), register_name=StringAttr(data='R38'))
R39 = IntRegisterType(index=IntAttr(data=39), register_name=StringAttr(data='R39'))
R4 = IntRegisterType(index=IntAttr(data=4), register_name=StringAttr(data='R4'))
R40 = IntRegisterType(index=IntAttr(data=40), register_name=StringAttr(data='R40'))
R41 = IntRegisterType(index=IntAttr(data=41), register_name=StringAttr(data='R41'))
R42 = IntRegisterType(index=IntAttr(data=42), register_name=StringAttr(data='R42'))
R43 = IntRegisterType(index=IntAttr(data=43), register_name=StringAttr(data='R43'))
R44 = IntRegisterType(index=IntAttr(data=44), register_name=StringAttr(data='R44'))
R45 = IntRegisterType(index=IntAttr(data=45), register_name=StringAttr(data='R45'))
R46 = IntRegisterType(index=IntAttr(data=46), register_name=StringAttr(data='R46'))
R47 = IntRegisterType(index=IntAttr(data=47), register_name=StringAttr(data='R47'))
R48 = IntRegisterType(index=IntAttr(data=48), register_name=StringAttr(data='R48'))
R49 = IntRegisterType(index=IntAttr(data=49), register_name=StringAttr(data='R49'))
R5 = IntRegisterType(index=IntAttr(data=5), register_name=StringAttr(data='R5'))
R50 = IntRegisterType(index=IntAttr(data=50), register_name=StringAttr(data='R50'))
R51 = IntRegisterType(index=IntAttr(data=51), register_name=StringAttr(data='R51'))
R52 = IntRegisterType(index=IntAttr(data=52), register_name=StringAttr(data='R52'))
R53 = IntRegisterType(index=IntAttr(data=53), register_name=StringAttr(data='R53'))
R54 = IntRegisterType(index=IntAttr(data=54), register_name=StringAttr(data='R54'))
R55 = IntRegisterType(index=IntAttr(data=55), register_name=StringAttr(data='R55'))
R56 = IntRegisterType(index=IntAttr(data=56), register_name=StringAttr(data='R56'))
R57 = IntRegisterType(index=IntAttr(data=57), register_name=StringAttr(data='R57'))
R58 = IntRegisterType(index=IntAttr(data=58), register_name=StringAttr(data='R58'))
R59 = IntRegisterType(index=IntAttr(data=59), register_name=StringAttr(data='R59'))
R6 = IntRegisterType(index=IntAttr(data=6), register_name=StringAttr(data='R6'))
R60 = IntRegisterType(index=IntAttr(data=60), register_name=StringAttr(data='R60'))
R61 = IntRegisterType(index=IntAttr(data=61), register_name=StringAttr(data='R61'))
R62 = IntRegisterType(index=IntAttr(data=62), register_name=StringAttr(data='R62'))
R63 = IntRegisterType(index=IntAttr(data=63), register_name=StringAttr(data='R63'))
R7 = IntRegisterType(index=IntAttr(data=7), register_name=StringAttr(data='R7'))
R8 = IntRegisterType(index=IntAttr(data=8), register_name=StringAttr(data='R8'))
R9 = IntRegisterType(index=IntAttr(data=9), register_name=StringAttr(data='R9'))
UNALLOCATED_INT = IntRegisterType(index=NoneAttr(), register_name=StringAttr(data=''))
class ResetPhOp(comment=None)

Bases: ResetPhOp, NullaryOperation, Q1Instruction, Q1AsmOperation, Q1RegAllocOperation, HasRegisterConstraints, RegisterAllocatableOperation, IRDLOperation, OneLineAssemblyPrintable, AssemblyPrintable, Operation, _IRNode, ABC, object

Set the latched phase-reset flag to reset NCO phase accumulation.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1..reset_ph'

The operation name. Should be a static member of the class

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class SI16Imm(value)

Bases: Q1Imm

16-bit signed immediate: [-32768, 32767].

name: ClassVar[str] = 'q1.si16_imm'

The attribute name should be a static field in the attribute classes.

class SI32Imm(value)

Bases: Q1Imm

32-bit signed immediate: [-2^31, 2^31 - 1].

name: ClassVar[str] = 'q1.si32_imm'

The attribute name should be a static field in the attribute classes.

class SU32Imm(value)

Bases: Q1Imm

32-bit signed-or-unsigned immediate: [-2^31, 2^32 - 1].

Used by Q1 instructions whose immediate operand accepts either signed or unsigned 32-bit representation (e.g. move, not, generic ALU).

name: ClassVar[str] = 'q1.su32_imm'

The attribute name should be a static field in the attribute classes.

class SetAwgGainImmImmOp(imm1, imm2, comment=None)

Bases: ImmImmOperation[SI16Imm, SI16Imm]

Set latched AWG gains for both output paths from immediate values.

comment

Accessor for an optional operation property.

property gain0

Semantic alias for the first generic imm field.

property gain1

Semantic alias for the second generic imm field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm1

Accessor for an operation property.

imm2

Accessor for an operation property.

name: ClassVar[str] = 'q1.ii.set_awg_gain'

The operation name. Should be a static member of the class

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class SetAwgGainRsRsOp(rs1, rs2, comment=None)

Bases: RsRsOperation[IntRegisterType]

Set latched AWG gains for both output paths from register values.

comment

Accessor for an optional operation property.

property gain0

Semantic alias for the first generic rs field.

property gain1

Semantic alias for the second generic rs field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.rr.set_awg_gain'

The operation name. Should be a static member of the class

rs1

Access a non-variadic construct which appears before any variadic arguments.

rs2

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class SetAwgOffsImmImmOp(imm1, imm2, comment=None)

Bases: ImmImmOperation[SI16Imm, SI16Imm]

Set latched AWG offsets for both output paths from immediate values.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm1

Accessor for an operation property.

imm2

Accessor for an operation property.

name: ClassVar[str] = 'q1.ii.set_awg_offs'

The operation name. Should be a static member of the class

property offs0

Semantic alias for the first generic imm field.

property offs1

Semantic alias for the second generic imm field.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class SetAwgOffsRsRsOp(rs1, rs2, comment=None)

Bases: RsRsOperation[IntRegisterType]

Set latched AWG offsets for both output paths from register values.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.rr.set_awg_offs'

The operation name. Should be a static member of the class

property offs0

Semantic alias for the first generic rs field.

property offs1

Semantic alias for the second generic rs field.

rs1

Access a non-variadic construct which appears before any variadic arguments.

rs2

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class SetCondImmImmImmImmOp(imm1, imm2, imm3, imm4, comment=None)

Bases: ImmImmImmImmOperation[BoolImm, UI4Imm, UI3Imm, UI16Imm]

Configure conditional execution from trigger-network condition parameters.

comment

Accessor for an optional operation property.

property cond_en

Semantic alias for the first generic imm field.

property else_cnt

Semantic alias for the fourth generic imm field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm1

Accessor for an operation property.

imm2

Accessor for an operation property.

imm3

Accessor for an operation property.

imm4

Accessor for an operation property.

property mask

Semantic alias for the second generic imm field.

name: ClassVar[str] = 'q1.iiii.set_cond'

The operation name. Should be a static member of the class

property op

Semantic alias for the third generic imm field.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class SetCondRsRsRsImmOp(rs1, rs2, rs3, imm, comment=None)

Bases: RsRsRsImmOperation[IntRegisterType, UI16Imm]

Configure conditional execution from register-based condition parameters.

comment

Accessor for an optional operation property.

property cond_en

Semantic alias for the first generic rs field.

property else_cnt

Semantic alias for the generic imm field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

property mask

Semantic alias for the second generic rs field.

name: ClassVar[str] = 'q1.rrri.set_cond'

The operation name. Should be a static member of the class

property op

Semantic alias for the third generic rs field.

rs1

Access a non-variadic construct which appears before any variadic arguments.

rs2

Access a non-variadic construct which appears before any variadic arguments.

rs3

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class SetFreqImmOp(imm, comment=None)

Bases: ImmOperation[SI32Imm]

Set the latched NCO frequency from an immediate source.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.i.set_freq'

The operation name. Should be a static member of the class

property nco_freq

Semantic alias for the generic imm field.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class SetFreqRsOp(rs, comment=None)

Bases: RsOperation[IntRegisterType]

Set the latched NCO frequency from a register source.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.r.set_freq'

The operation name. Should be a static member of the class

property nco_freq

Semantic alias for the generic rs field.

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class SetLatchEnImmImmOp(imm1, imm2, comment=None)

Bases: ImmImmOperation[BoolImm, DurationImm]

Enable/Disable all trigger network address counters from an immediate value. When enabled counters will count all triggers on the trigger network. When disabled the counters hold their previous values.

Duration specifies the amount of time spent on the instruction in ns

comment

Accessor for an optional operation property.

property duration

Semantic alias for the second generic imm field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm1

Accessor for an operation property.

imm2

Accessor for an operation property.

property latch_en

Semantic alias for the first generic imm field.

name: ClassVar[str] = 'q1.ii.set_latch_en'

The operation name. Should be a static member of the class

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class SetLatchEnRsImmOp(rs, imm, comment=None)

Bases: RsImmOperation[IntRegisterType, DurationImm]

Enable/Disable all trigger network address counters. When enabled counters will count all triggers on the trigger network. When disabled the counters hold their previous values.

Duration specifies the amount of time spent on the instruction in ns

comment

Accessor for an optional operation property.

property duration

Semantic alias for the generic imm field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

property latch_en

Semantic alias for the generic rs field.

name: ClassVar[str] = 'q1.ri.set_latch_en'

The operation name. Should be a static member of the class

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class SetMrkImmOp(imm, comment=None)

Bases: ImmOperation[UI4Imm]

Set marker output mask from an immediate source.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

property mrk

Semantic alias for the generic imm field.

name: ClassVar[str] = 'q1.i.set_mrk'

The operation name. Should be a static member of the class

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class SetMrkRsOp(rs, comment=None)

Bases: RsOperation[IntRegisterType]

Set marker output mask from a register source.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

property mrk

Semantic alias for the generic rs field.

name: ClassVar[str] = 'q1.r.set_mrk'

The operation name. Should be a static member of the class

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class SetPhDeltaImmOp(imm, comment=None)

Bases: ImmOperation[NcoPhaseImm]

Set the latched instantaneous phase-kick source from an immediate.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.i.set_ph_delta'

The operation name. Should be a static member of the class

property nco_delta_po

Semantic alias for the generic imm field.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class SetPhDeltaRsOp(rs, comment=None)

Bases: RsOperation[IntRegisterType]

Set the latched instantaneous phase-kick source from a register.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.r.set_ph_delta'

The operation name. Should be a static member of the class

property nco_delta_po

Semantic alias for the generic rs field.

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class SetPhImmOp(imm, comment=None)

Bases: ImmOperation[NcoPhaseImm]

Set the latched NCO phase-offset source from an immediate.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.i.set_ph'

The operation name. Should be a static member of the class

property nco_po

Semantic alias for the generic imm field.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class SetPhRsOp(rs, comment=None)

Bases: RsOperation[IntRegisterType]

Set the latched NCO phase-offset source from a register.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.r.set_ph'

The operation name. Should be a static member of the class

property nco_po

Semantic alias for the generic rs field.

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class StopImmOp(imm, comment=None)

Bases: ImmOperation[SI32Imm]

Stop the sequencer using an immediate stop code.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.i.stop'

The operation name. Should be a static member of the class

property status

Semantic alias for the generic imm field.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class StopOp(comment=None)

Bases: StopOp, NullaryOperation, Q1Instruction, Q1AsmOperation, Q1RegAllocOperation, HasRegisterConstraints, RegisterAllocatableOperation, IRDLOperation, OneLineAssemblyPrintable, AssemblyPrintable, Operation, _IRNode, ABC, object

Stop the sequencer with default stop code 0 (pseudo-op for stop 0).

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1..stop'

The operation name. Should be a static member of the class

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class StopRsOp(rs, comment=None)

Bases: RsOperation[IntRegisterType]

Stop the sequencer using a stop code read from a register.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.r.stop'

The operation name. Should be a static member of the class

rs

Access a non-variadic construct which appears before any variadic arguments.

property status

Semantic alias for the generic rs field.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class SubRsImmRdOp(rs, imm, rd, comment=None)

Bases: RsImmRdOperation[IntRegisterType, SU32Imm]

Subtract an immediate operand from a register operand into destination.

property a

Semantic alias for the generic rs field.

property b

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.rir.sub'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class SubRsRsRdOp(rs1, rs2, rd, comment=None)

Bases: RsRsRdOperation[IntRegisterType]

Subtract a register operand from another register operand into destination.

property a

Semantic alias for the first generic rs field.

property b

Semantic alias for the second generic rs field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.rrr.sub'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs1

Access a non-variadic construct which appears before any variadic arguments.

rs2

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class TestImmRsOp(imm, rs, comment=None)

Bases: ImmRsOperation[IntRegisterType, SU32Imm]

Test an immediate against a register operand by computing b & a to update the ALU flags.

Note

Opts out of pytest collection (__test__ = False) because the Test prefix is reserved as the default pytest test-class pattern, but this is an ISA op class.

property a

Semantic alias for the generic rs field.

property b

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.ir.test'

The operation name. Should be a static member of the class

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class TestRsImmOp(rs, imm, comment=None)

Bases: RsImmOperation[IntRegisterType, SU32Imm]

Test a register operand against an immediate by computing a & b to update the ALU flags.

Note

Opts out of pytest collection (__test__ = False) because the Test prefix is reserved as the default pytest test-class pattern, but this is an ISA op class.

property a

Semantic alias for the generic rs field.

property b

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.ri.test'

The operation name. Should be a static member of the class

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class TestRsRsOp(rs1, rs2, comment=None)

Bases: RsRsOperation[IntRegisterType]

Test two register operands by computing a & b to update the ALU flags.

Note

Opts out of pytest collection (__test__ = False) because the Test prefix is reserved as the default pytest test-class pattern, but this is an ISA op class.

property a

Semantic alias for the first generic rs field.

property b

Semantic alias for the second generic rs field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.rr.test'

The operation name. Should be a static member of the class

rs1

Access a non-variadic construct which appears before any variadic arguments.

rs2

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class UI10Imm(value)

Bases: Q1Imm

10-bit unsigned immediate: [0, 1023].

name: ClassVar[str] = 'q1.ui10_imm'

The attribute name should be a static field in the attribute classes.

class UI14Imm(value)

Bases: Q1Imm

14-bit unsigned immediate: [0, 16383].

name: ClassVar[str] = 'q1.ui14_imm'

The attribute name should be a static field in the attribute classes.

class UI16Imm(value)

Bases: Q1Imm

16-bit unsigned immediate: [0, 65535].

name: ClassVar[str] = 'q1.ui16_imm'

The attribute name should be a static field in the attribute classes.

class UI24Imm(value)

Bases: Q1Imm

24-bit unsigned immediate: [0, 16_777_215].

name: ClassVar[str] = 'q1.ui24_imm'

The attribute name should be a static field in the attribute classes.

class UI2Imm(value)

Bases: Q1Imm

2-bit unsigned immediate: [0, 3].

name: ClassVar[str] = 'q1.ui2_imm'

The attribute name should be a static field in the attribute classes.

class UI32Imm(value)

Bases: Q1Imm

32-bit unsigned immediate: [0, 2^32 - 1].

name: ClassVar[str] = 'q1.ui32_imm'

The attribute name should be a static field in the attribute classes.

class UI3Imm(value)

Bases: Q1Imm

3-bit unsigned immediate: [0, 7].

name: ClassVar[str] = 'q1.ui3_imm'

The attribute name should be a static field in the attribute classes.

class UI4Imm(value)

Bases: Q1Imm

4-bit unsigned immediate: [0, 15].

name: ClassVar[str] = 'q1.ui4_imm'

The attribute name should be a static field in the attribute classes.

class UI5Imm(value)

Bases: Q1Imm

5-bit unsigned immediate: [0, 31].

name: ClassVar[str] = 'q1.ui5_imm'

The attribute name should be a static field in the attribute classes.

class UI6Imm(value)

Bases: Q1Imm

6-bit unsigned immediate: [0, 63].

name: ClassVar[str] = 'q1.ui6_imm'

The attribute name should be a static field in the attribute classes.

class UI7Imm(value)

Bases: Q1Imm

7-bit unsigned immediate: [0, 127].

name: ClassVar[str] = 'q1.ui7_imm'

The attribute name should be a static field in the attribute classes.

class UI8Imm(value)

Bases: Q1Imm

8-bit unsigned immediate: [0, 255].

name: ClassVar[str] = 'q1.ui8_imm'

The attribute name should be a static field in the attribute classes.

class UpdParamImmOp(imm, comment=None)

Bases: ImmOperation[DurationImm]

Update the latched parameters and then wait for number of ns specified by duration.

comment

Accessor for an optional operation property.

property duration

Semantic alias for the generic imm field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.i.upd_param'

The operation name. Should be a static member of the class

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class WaitImmOp(imm, comment=None)

Bases: ImmOperation[DurationImm]

Waits for the specified duration in ns.

comment

Accessor for an optional operation property.

property duration

Semantic alias for the generic imm field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.i.wait'

The operation name. Should be a static member of the class

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class WaitRsOp(rs, comment=None)

Bases: RsOperation[IntRegisterType]

Waits for the specified duration in ns.

comment

Accessor for an optional operation property.

property duration

Semantic alias for the generic rs field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.r.wait'

The operation name. Should be a static member of the class

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class WaitSyncImmOp(imm, comment=None)

Bases: ImmOperation[DurationImm]

Wait for SYNQ to complete all previous tasks of all the sequencers.

Duration specifies the amount of time spent at the beginning of the instruction in ns

comment

Accessor for an optional operation property.

property duration

Semantic alias for the generic imm field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.i.wait_sync'

The operation name. Should be a static member of the class

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class WaitSyncRsOp(rs, comment=None)

Bases: RsOperation[IntRegisterType]

Wait for SYNQ to complete all previous tasks of all the sequencers.

Duration specifies the amount of time spent at the beginning of the instruction in ns

comment

Accessor for an optional operation property.

property duration

Semantic alias for the generic rs field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.r.wait_sync'

The operation name. Should be a static member of the class

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class WaitTriggerImmImmOp(imm1, imm2, comment=None)

Bases: ImmImmOperation[UI4Imm, DurationImm]

Wait for a hardware trigger. Duration specifies the timeout in ns.

Warning: Minimum time between wait_trigger and set_cond is 8ns.

comment

Accessor for an optional operation property.

property duration

Semantic alias for the second generic imm field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm1

Accessor for an operation property.

imm2

Accessor for an operation property.

name: ClassVar[str] = 'q1.ii.wait_trigger'

The operation name. Should be a static member of the class

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

property trig_addr

Semantic alias for the first generic imm field.

verify_()
class WaitTriggerRsRsOp(rs1, rs2, comment=None)

Bases: RsRsOperation[IntRegisterType]

Wait for a hardware trigger.

Duration specifies the timeout in ns.

comment

Accessor for an optional operation property.

property duration

Semantic alias for the second generic rs field.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.rr.wait_trigger'

The operation name. Should be a static member of the class

rs1

Access a non-variadic construct which appears before any variadic arguments.

rs2

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

property trig_addr

Semantic alias for the first generic rs field.

verify_()
class XorRsImmRdOp(rs, imm, rd, comment=None)

Bases: RsImmRdOperation[IntRegisterType, SU32Imm]

Bitwise XOR between register and immediate operands into destination.

property a

Semantic alias for the generic rs field.

property b

Semantic alias for the generic imm field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

imm

Accessor for an operation property.

name: ClassVar[str] = 'q1.rir.xor'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
class XorRsRsRdOp(rs1, rs2, rd, comment=None)

Bases: RsRsRdOperation[IntRegisterType]

Bitwise XOR between two register operands into destination.

property a

Semantic alias for the first generic rs field.

property b

Semantic alias for the second generic rs field.

comment

Accessor for an optional operation property.

classmethod get_irdl_definition()

Get the IRDL operation definition.

name: ClassVar[str] = 'q1.rrr.xor'

The operation name. Should be a static member of the class

rd: OpResult[RInvT]

Access a non-variadic construct which appears before any variadic arguments.

rs1

Access a non-variadic construct which appears before any variadic arguments.

rs2

Access a non-variadic construct which appears before any variadic arguments.

traits: ClassVar[OpTraits] = <xdsl.ir.core.OpTraits object>

Traits attached to an operation definition. This is a static field, and is made empty by default by PyRDL if not set by the operation definition.

verify_()
emit_program(region, output)

Emits Q1 assembly for all ops in a region.

Parameters:
  • region (Region) – Region containing Q1 operations.

  • output (IO[str]) – Text stream receiving the printed assembly.

Return type:

None

Subpackages

Submodules