# Enum: com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.compiler.O

Operator for IR template.

## Constant: ADD

## Constant: AND

## Constant: CARRY

## Constant: COMPOSE_2
Description: pseudo\-operation \(convenience\): represents an [IECompose](IECompose) of two parts \(low bits, high\-bits\)

## Constant: COMPOSE_2EQ
Description: pseudo\-operation \(convenience\): represents an [IECompose](IECompose) of two **equal\-length** parts

## Constant: COND
Description: pseudo\-operation: represents an [IECond](IECond) \(operands: predicate, trueExp, falseExp\)

## Constant: DIV
Description: pseudo\-arithmetic wildcard operation for DIV\_U and DIV\_S

## Constant: DIV_S

## Constant: DIV_U

## Constant: EQ

## Constant: EXT
Description: Sign\-extend

## Constant: EXT128
Description: Sign\-extend to 128 bits

## Constant: EXT16
Description: Sign\-extend to 16 bits

## Constant: EXT32
Description: Sign\-extend to 32 bits

## Constant: EXT64
Description: Sign\-extend to 64 bits

## Constant: EXT8
Description: Sign\-extend to 8 bits

## Constant: GE_S

## Constant: GE_U

## Constant: GT_S

## Constant: GT_U

## Constant: LAND

## Constant: LE_S

## Constant: LE_U

## Constant: LNOT

## Constant: LOR

## Constant: LT_S

## Constant: LT_U

## Constant: MUL

## Constant: NCADD
Description: wildcard for no\-carry add, will match ADD, XOR, OR

## Constant: NCSUB
Description: wildcard for no\-carry sub, will match SUB, XOR

## Constant: NE

## Constant: NEG
Description: pseudo\-operator: negate the operand \(`NEG(X)` is equivalent to `SUB(0, X)`\)
 usage in reserved for multiplicative or additive `sequences`.

## Constant: NOT

## Constant: OR

## Constant: PARITY

## Constant: POW

## Constant: REM
Description: pseudo\-arithmetic wildcard operation for REM\_U and REM\_S

## Constant: REM_S

## Constant: REM_U

## Constant: SAR

## Constant: SHL

## Constant: SHR

## Constant: SLICE
Description: pseudo\-operation: represents an [IESlice](IESlice) \(operands: exp, beginSlice, endSlice\)

## Constant: SLICE_FIRST32
Description: pseudo\-operation \(convenience\): represents an [IESlice](IESlice) of the first 32 bits

## Constant: SLICE_FIRSTBIT
Description: pseudo\-operation \(convenience\): represents an [IESlice](IESlice) of the first bit, at position 0 \(LSB\)

## Constant: SLICE_HALF1
Description: pseudo\-operation \(convenience\): represents an [IESlice](IESlice) of the first half of the expression

## Constant: SLICE_HALF2
Description: pseudo\-operation \(convenience\): represents an [IESlice](IESlice) of the second half of the expression

## Constant: SLICE_HALFBIT
Description: pseudo\-operation \(convenience\): represents an [IESlice](IESlice) of the half bit, at position N/2\-1 \(HSB\) \(e.g. bit \#31 of a 64\-bit value\)

## Constant: SLICE_LASTBIT
Description: pseudo\-operation \(convenience\): represents an [IESlice](IESlice) of the last bit, at position N\-1 \(MSB\)

## Constant: SUB

## Constant: TRN
Description: Truncate or zero\-extend

## Constant: TRN128
Description: Truncate or zero\-extend to 128 bits

## Constant: TRN16
Description: Truncate or zero\-extend to 16 bits

## Constant: TRN32
Description: Truncate or zero\-extend to 32 bits

## Constant: TRN64
Description: Truncate or zero\-extend to 64 bits

## Constant: TRN8
Description: Truncate or zero\-extend to 8 bits

## Constant: XOR

## Method: getOperationType
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.OperationType`


## Method: getResultingBitsize
- return type: `int`

Description: 
return: 0 if unknown \(common case\); else, the expected resulting bitsize of the operation

## Method: isAssociative
- return type: `boolean`


## Method: isCommutative
- return type: `boolean`


## Method: isNormal
- return type: `boolean`


## Static Method: valueOf
- parameter: `name`, type: `java.lang.String`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.compiler.O`


## Static Method: values
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.compiler.O[]`


