qat.experimental.dialect.q1_cf.ir.attrs module
Predicate attributes for the q1_cf conditional branches.
Two enumerations classify the conditions a branch may test:
UnaryPredicate— a condition-code test (zero/sign) on a single register.BinaryPredicate— a signed/unsigned comparison between two operands, matching thearith.cmpipredicate set.
Each enumeration is wrapped in an EnumAttribute so it can be
attached to an operation as a property.
Reference: https://docs.qblox.com/en/main/products/qblox_instruments/q1/index.html
- class BinaryPredicate(value)
Bases:
StrEnumComparison applied between two operand values.
- eq = 'eq'
- ne = 'ne'
- sge = 'sge'
- sgt = 'sgt'
- sle = 'sle'
- slt = 'slt'
- uge = 'uge'
- ugt = 'ugt'
- ule = 'ule'
- ult = 'ult'
- class BinaryPredicateAttr(data)
Bases:
EnumAttribute[BinaryPredicate],SpacedOpaqueSyntaxAttributeAttribute wrapper carrying a
BinaryPredicate.- data: DataElement
- enum_type
alias of
BinaryPredicate
- name: ClassVar[str] = 'q1_cf.binary_predicate'
The attribute name should be a static field in the attribute classes.
- class UnaryPredicate(value)
Bases:
StrEnumCondition-code test applied to a single register value.
- eqz = 'eqz'
- gez = 'gez'
- ltz = 'ltz'
- nez = 'nez'
- class UnaryPredicateAttr(data)
Bases:
EnumAttribute[UnaryPredicate],SpacedOpaqueSyntaxAttributeAttribute wrapper carrying a
UnaryPredicate.- data: DataElement
- enum_type
alias of
UnaryPredicate
- name: ClassVar[str] = 'q1_cf.unary_predicate'
The attribute name should be a static field in the attribute classes.