Enum Class O
- All Implemented Interfaces:
Serializable
,Comparable<O>
,Constable
Operator for IR template.
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>>
-
Enum Constant Summary
Enum ConstantsEnum ConstantDescriptionpseudo-operation (convenience): represents anIECompose
of two parts (low bits, high-bits)pseudo-operation (convenience): represents anIECompose
of two equal-length partspseudo-operation: represents anIECond
(operands: predicate, trueExp, falseExp)pseudo-arithmetic wildcard operation for DIV_U and DIV_SSign-extendSign-extend to 128 bitsSign-extend to 16 bitsSign-extend to 32 bitsSign-extend to 64 bitsSign-extend to 8 bitswildcard for no-carry add, will match ADD, XOR, ORwildcard for no-carry sub, will match SUB, XORpseudo-operator: negate the operand (NEG(X)
is equivalent toSUB(0, X)
)
usage in reserved for multiplicative or additivesequences
.pseudo-arithmetic wildcard operation for REM_U and REM_Spseudo-operation: represents anIESlice
(operands: exp, beginSlice, endSlice)pseudo-operation (convenience): represents anIESlice
of the first 32 bitspseudo-operation (convenience): represents anIESlice
of the first bit, at position 0 (LSB)pseudo-operation (convenience): represents anIESlice
of the first half of the expressionpseudo-operation (convenience): represents anIESlice
of the second half of the expressionpseudo-operation (convenience): represents anIESlice
of the half bit, at position N/2-1 (HSB) (e.g.pseudo-operation (convenience): represents anIESlice
of the last bit, at position N-1 (MSB)Truncate or zero-extendTruncate or zero-extend to 128 bitsTruncate or zero-extend to 16 bitsTruncate or zero-extend to 32 bitsTruncate or zero-extend to 64 bitsTruncate or zero-extend to 8 bits -
Method Summary
-
Enum Constant Details
-
SLICE
pseudo-operation: represents anIESlice
(operands: exp, beginSlice, endSlice) -
SLICE_FIRSTBIT
pseudo-operation (convenience): represents anIESlice
of the first bit, at position 0 (LSB) -
SLICE_LASTBIT
pseudo-operation (convenience): represents anIESlice
of the last bit, at position N-1 (MSB) -
SLICE_HALFBIT
pseudo-operation (convenience): represents anIESlice
of the half bit, at position N/2-1 (HSB) (e.g. bit #31 of a 64-bit value) -
SLICE_FIRST32
pseudo-operation (convenience): represents anIESlice
of the first 32 bits -
SLICE_HALF1
pseudo-operation (convenience): represents anIESlice
of the first half of the expression -
SLICE_HALF2
pseudo-operation (convenience): represents anIESlice
of the second half of the expression -
COMPOSE_2
pseudo-operation (convenience): represents anIECompose
of two parts (low bits, high-bits) -
COMPOSE_2EQ
pseudo-operation (convenience): represents anIECompose
of two equal-length parts -
COND
pseudo-operation: represents anIECond
(operands: predicate, trueExp, falseExp) -
NEG
pseudo-operator: negate the operand (NEG(X)
is equivalent toSUB(0, X)
)
usage in reserved for multiplicative or additivesequences
. -
DIV
pseudo-arithmetic wildcard operation for DIV_U and DIV_S -
REM
pseudo-arithmetic wildcard operation for REM_U and REM_S -
NCADD
wildcard for no-carry add, will match ADD, XOR, OR -
NCSUB
wildcard for no-carry sub, will match SUB, XOR -
TRN
Truncate or zero-extend -
TRN8
Truncate or zero-extend to 8 bits -
TRN16
Truncate or zero-extend to 16 bits -
TRN32
Truncate or zero-extend to 32 bits -
TRN64
Truncate or zero-extend to 64 bits -
TRN128
Truncate or zero-extend to 128 bits -
EXT
Sign-extend -
EXT8
Sign-extend to 8 bits -
EXT16
Sign-extend to 16 bits -
EXT32
Sign-extend to 32 bits -
EXT64
Sign-extend to 64 bits -
EXT128
Sign-extend to 128 bits -
ADD
-
SUB
-
MUL
-
DIV_S
-
DIV_U
-
REM_S
-
REM_U
-
NOT
-
AND
-
OR
-
XOR
-
LOR
-
LAND
-
LNOT
-
EQ
-
NE
-
GT_S
-
GE_S
-
LT_S
-
LE_S
-
GT_U
-
GE_U
-
LT_U
-
LE_U
-
SHL
-
SHR
-
SAR
-
PARITY
-
CARRY
-
POW
-
-
Method Details
-
values
Returns an array containing the constants of this enum class, in the order they are declared.- Returns:
- an array containing the constants of this enum class, in the order they are declared
-
valueOf
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException
- if this enum class has no constant with the specified nameNullPointerException
- if the argument is null
-
isCommutative
public boolean isCommutative() -
isAssociative
public boolean isAssociative() -
getOperationType
-
isNormal
public boolean isNormal() -
getResultingBitsize
public int getResultingBitsize()- Returns:
- 0 if unknown (common case); else, the expected resulting bitsize of the operation
-