Add OperandKind to the meta language.
We have a two-level type system: OperandKinds and ValueTypes. The value types only apply to value operands, but there are many more kinds of operands: immediate numbers, condition codes, basic block references, etc.
This commit is contained in:
@@ -1,25 +1,25 @@
|
||||
"""
|
||||
The cretonne.immdiates module predefines all the Cretonne immediate operand
|
||||
The cretonne.immediates module predefines all the Cretonne immediate operand
|
||||
types.
|
||||
"""
|
||||
|
||||
from . import ImmediateType
|
||||
from . import ImmediateKind
|
||||
|
||||
#: A 64-bit immediate integer operand.
|
||||
#:
|
||||
#: This type of immediate integer can interact with SSA values with any
|
||||
#: :py:class:`cretonne.IntType` type.
|
||||
imm64 = ImmediateType('imm64', 'A 64-bit immediate integer.')
|
||||
imm64 = ImmediateKind('imm64', 'A 64-bit immediate integer.')
|
||||
|
||||
#: A 32-bit immediate floating point operand.
|
||||
#:
|
||||
#: IEEE 754-2008 binary32 interchange format.
|
||||
ieee32 = ImmediateType('ieee32', 'A 32-bit immediate floating point number.')
|
||||
ieee32 = ImmediateKind('ieee32', 'A 32-bit immediate floating point number.')
|
||||
|
||||
#: A 64-bit immediate floating point operand.
|
||||
#:
|
||||
#: IEEE 754-2008 binary64 interchange format.
|
||||
ieee64 = ImmediateType('ieee64', 'A 64-bit immediate floating point number.')
|
||||
ieee64 = ImmediateKind('ieee64', 'A 64-bit immediate floating point number.')
|
||||
|
||||
#: A large SIMD vector constant.
|
||||
immvector = ImmediateType('immvector', 'An immediate SIMD vector.')
|
||||
immvector = ImmediateKind('immvector', 'An immediate SIMD vector.')
|
||||
|
||||
Reference in New Issue
Block a user