public final class MIR_CompareExchange8B extends ArchInstructionFormat
Instruction
contains
an explanation of the role of InstructionFormats in the
opt compiler's IR.MIR_BinaryAcc_format, MIR_BinaryAcc_traits, MIR_Branch_format, MIR_Branch_traits, MIR_CacheOp_format, MIR_CacheOp_traits, MIR_Call_format, MIR_Call_traits, MIR_CaseLabel_format, MIR_CaseLabel_traits, MIR_Compare_format, MIR_Compare_traits, MIR_CompareExchange_format, MIR_CompareExchange_traits, MIR_CompareExchange8B_format, MIR_CompareExchange8B_traits, MIR_CondBranch_format, MIR_CondBranch_traits, MIR_CondBranch2_format, MIR_CondBranch2_traits, MIR_CondMove_format, MIR_CondMove_traits, MIR_ConvertDW2QW_format, MIR_ConvertDW2QW_traits, MIR_Divide_format, MIR_Divide_traits, MIR_DoubleShift_format, MIR_DoubleShift_traits, MIR_Empty_format, MIR_Empty_traits, MIR_FSave_format, MIR_FSave_traits, MIR_Lea_format, MIR_Lea_traits, MIR_LowTableSwitch_format, MIR_LowTableSwitch_traits, MIR_Move_format, MIR_Move_traits, MIR_Multiply_format, MIR_Multiply_traits, MIR_Nullary_format, MIR_Nullary_traits, MIR_RDTSC_format, MIR_RDTSC_traits, MIR_Return_format, MIR_Return_traits, MIR_Set_format, MIR_Set_traits, MIR_Test_format, MIR_Test_traits, MIR_Trap_format, MIR_Trap_traits, MIR_TrapIf_format, MIR_TrapIf_traits, MIR_Unary_format, MIR_Unary_traits, MIR_UnaryAcc_format, MIR_UnaryAcc_traits, MIR_UnaryNoRes_format, MIR_UnaryNoRes_traits, MIR_XChng_format, MIR_XChng_traits
ALoad_format, ALoad_traits, ARCH_INDEPENDENT_INSTR_FORMAT_END_format, AStore_format, AStore_traits, Athrow_format, Athrow_traits, Attempt_format, Attempt_traits, BBend_format, BBend_traits, Binary_format, Binary_traits, BooleanCmp_format, BooleanCmp_traits, BoundsCheck_format, BoundsCheck_traits, CacheOp_format, CacheOp_traits, Call_format, Call_traits, CondMove_format, CondMove_traits, Empty_format, Empty_traits, GetField_format, GetField_traits, GetStatic_format, GetStatic_traits, Goto_format, Goto_traits, GuardedBinary_format, GuardedBinary_traits, GuardedSet_format, GuardedSet_traits, GuardedUnary_format, GuardedUnary_traits, IfCmp_format, IfCmp_traits, IfCmp2_format, IfCmp2_traits, InlineGuard_format, InlineGuard_traits, InstanceOf_format, InstanceOf_traits, InstrumentedCounter_format, InstrumentedCounter_traits, Label_format, Label_traits, Load_format, Load_traits, LookupSwitch_format, LookupSwitch_traits, LowTableSwitch_format, LowTableSwitch_traits, MIN_OPERAND_ARRAY_LENGTH, MonitorOp_format, MonitorOp_traits, Move_format, Move_traits, Multianewarray_format, Multianewarray_traits, New_format, New_traits, NewArray_format, NewArray_traits, Nullary_format, Nullary_traits, NullCheck_format, NullCheck_traits, OsrBarrier_format, OsrBarrier_traits, OsrPoint_format, OsrPoint_traits, Phi_format, Phi_traits, Prepare_format, Prepare_traits, Prologue_format, Prologue_traits, PutField_format, PutField_traits, PutStatic_format, PutStatic_traits, Return_format, Return_traits, Store_format, Store_traits, StoreCheck_format, StoreCheck_traits, TableSwitch_format, TableSwitch_traits, Trap_format, Trap_traits, TrapIf_format, TrapIf_traits, TypeCheck_format, TypeCheck_traits, Unary_format, Unary_traits, Unassigned_format, ZeroCheck_format, ZeroCheck_traits
Constructor and Description |
---|
MIR_CompareExchange8B() |
Modifier and Type | Method and Description |
---|---|
static boolean |
conforms(Instruction i)
InstructionFormat identification method for MIR_CompareExchange8B.
|
static boolean |
conforms(Operator o)
InstructionFormat identification method for MIR_CompareExchange8B.
|
static Instruction |
create(Operator o,
RegisterOperand OldValueHigh,
RegisterOperand OldValueLow,
MemoryOperand MemAddr,
RegisterOperand NewValueHigh,
RegisterOperand NewValueLow)
Create an instruction of the MIR_CompareExchange8B instruction format.
|
static MemoryOperand |
getClearMemAddr(Instruction i)
Get the operand called MemAddr from the argument
instruction clearing its instruction pointer.
|
static RegisterOperand |
getClearNewValueHigh(Instruction i)
Get the operand called NewValueHigh from the argument
instruction clearing its instruction pointer.
|
static RegisterOperand |
getClearNewValueLow(Instruction i)
Get the operand called NewValueLow from the argument
instruction clearing its instruction pointer.
|
static RegisterOperand |
getClearOldValueHigh(Instruction i)
Get the operand called OldValueHigh from the argument
instruction clearing its instruction pointer.
|
static RegisterOperand |
getClearOldValueLow(Instruction i)
Get the operand called OldValueLow from the argument
instruction clearing its instruction pointer.
|
static MemoryOperand |
getMemAddr(Instruction i)
Get the operand called MemAddr from the
argument instruction.
|
static RegisterOperand |
getNewValueHigh(Instruction i)
Get the operand called NewValueHigh from the
argument instruction.
|
static RegisterOperand |
getNewValueLow(Instruction i)
Get the operand called NewValueLow from the
argument instruction.
|
static RegisterOperand |
getOldValueHigh(Instruction i)
Get the operand called OldValueHigh from the
argument instruction.
|
static RegisterOperand |
getOldValueLow(Instruction i)
Get the operand called OldValueLow from the
argument instruction.
|
static boolean |
hasMemAddr(Instruction i)
Does the argument instruction have a non-null
operand named MemAddr?
|
static boolean |
hasNewValueHigh(Instruction i)
Does the argument instruction have a non-null
operand named NewValueHigh?
|
static boolean |
hasNewValueLow(Instruction i)
Does the argument instruction have a non-null
operand named NewValueLow?
|
static boolean |
hasOldValueHigh(Instruction i)
Does the argument instruction have a non-null
operand named OldValueHigh?
|
static boolean |
hasOldValueLow(Instruction i)
Does the argument instruction have a non-null
operand named OldValueLow?
|
static int |
indexOfMemAddr(Instruction i)
Return the index of the operand called MemAddr
in the argument instruction.
|
static int |
indexOfNewValueHigh(Instruction i)
Return the index of the operand called NewValueHigh
in the argument instruction.
|
static int |
indexOfNewValueLow(Instruction i)
Return the index of the operand called NewValueLow
in the argument instruction.
|
static int |
indexOfOldValueHigh(Instruction i)
Return the index of the operand called OldValueHigh
in the argument instruction.
|
static int |
indexOfOldValueLow(Instruction i)
Return the index of the operand called OldValueLow
in the argument instruction.
|
static Instruction |
mutate(Instruction i,
Operator o,
RegisterOperand OldValueHigh,
RegisterOperand OldValueLow,
MemoryOperand MemAddr,
RegisterOperand NewValueHigh,
RegisterOperand NewValueLow)
Mutate the argument instruction into an instruction of the
MIR_CompareExchange8B instruction format having the specified
operator and operands.
|
static void |
setMemAddr(Instruction i,
MemoryOperand MemAddr)
Set the operand called MemAddr in the argument
instruction to the argument operand.
|
static void |
setNewValueHigh(Instruction i,
RegisterOperand NewValueHigh)
Set the operand called NewValueHigh in the argument
instruction to the argument operand.
|
static void |
setNewValueLow(Instruction i,
RegisterOperand NewValueLow)
Set the operand called NewValueLow in the argument
instruction to the argument operand.
|
static void |
setOldValueHigh(Instruction i,
RegisterOperand OldValueHigh)
Set the operand called OldValueHigh in the argument
instruction to the argument operand.
|
static void |
setOldValueLow(Instruction i,
RegisterOperand OldValueLow)
Set the operand called OldValueLow in the argument
instruction to the argument operand.
|
fail, fail
public MIR_CompareExchange8B()
public static boolean conforms(Instruction i)
i
- an instructiontrue
if the InstructionFormat of the argument
instruction is MIR_CompareExchange8B or false
if it is not.public static boolean conforms(Operator o)
o
- an instructiontrue
if the InstructionFormat of the argument
operator is MIR_CompareExchange8B or false
if it is not.public static RegisterOperand getOldValueHigh(Instruction i)
i
- the instruction to fetch the operand frompublic static RegisterOperand getClearOldValueHigh(Instruction i)
i
- the instruction to fetch the operand frompublic static void setOldValueHigh(Instruction i, RegisterOperand OldValueHigh)
i
- the instruction in which to store the operandOldValueHigh
- the operand to storepublic static int indexOfOldValueHigh(Instruction i)
i
- the instruction to access.public static boolean hasOldValueHigh(Instruction i)
i
- the instruction to access.true
if the instruction has an non-null
operand named OldValueHigh or false
if it does not.public static RegisterOperand getOldValueLow(Instruction i)
i
- the instruction to fetch the operand frompublic static RegisterOperand getClearOldValueLow(Instruction i)
i
- the instruction to fetch the operand frompublic static void setOldValueLow(Instruction i, RegisterOperand OldValueLow)
i
- the instruction in which to store the operandOldValueLow
- the operand to storepublic static int indexOfOldValueLow(Instruction i)
i
- the instruction to access.public static boolean hasOldValueLow(Instruction i)
i
- the instruction to access.true
if the instruction has an non-null
operand named OldValueLow or false
if it does not.public static MemoryOperand getMemAddr(Instruction i)
i
- the instruction to fetch the operand frompublic static MemoryOperand getClearMemAddr(Instruction i)
i
- the instruction to fetch the operand frompublic static void setMemAddr(Instruction i, MemoryOperand MemAddr)
i
- the instruction in which to store the operandMemAddr
- the operand to storepublic static int indexOfMemAddr(Instruction i)
i
- the instruction to access.public static boolean hasMemAddr(Instruction i)
i
- the instruction to access.true
if the instruction has an non-null
operand named MemAddr or false
if it does not.public static RegisterOperand getNewValueHigh(Instruction i)
i
- the instruction to fetch the operand frompublic static RegisterOperand getClearNewValueHigh(Instruction i)
i
- the instruction to fetch the operand frompublic static void setNewValueHigh(Instruction i, RegisterOperand NewValueHigh)
i
- the instruction in which to store the operandNewValueHigh
- the operand to storepublic static int indexOfNewValueHigh(Instruction i)
i
- the instruction to access.public static boolean hasNewValueHigh(Instruction i)
i
- the instruction to access.true
if the instruction has an non-null
operand named NewValueHigh or false
if it does not.public static RegisterOperand getNewValueLow(Instruction i)
i
- the instruction to fetch the operand frompublic static RegisterOperand getClearNewValueLow(Instruction i)
i
- the instruction to fetch the operand frompublic static void setNewValueLow(Instruction i, RegisterOperand NewValueLow)
i
- the instruction in which to store the operandNewValueLow
- the operand to storepublic static int indexOfNewValueLow(Instruction i)
i
- the instruction to access.public static boolean hasNewValueLow(Instruction i)
i
- the instruction to access.true
if the instruction has an non-null
operand named NewValueLow or false
if it does not.public static Instruction create(Operator o, RegisterOperand OldValueHigh, RegisterOperand OldValueLow, MemoryOperand MemAddr, RegisterOperand NewValueHigh, RegisterOperand NewValueLow)
o
- the instruction's operatorOldValueHigh
- the instruction's OldValueHigh operandOldValueLow
- the instruction's OldValueLow operandMemAddr
- the instruction's MemAddr operandNewValueHigh
- the instruction's NewValueHigh operandNewValueLow
- the instruction's NewValueLow operandpublic static Instruction mutate(Instruction i, Operator o, RegisterOperand OldValueHigh, RegisterOperand OldValueLow, MemoryOperand MemAddr, RegisterOperand NewValueHigh, RegisterOperand NewValueLow)
i
- the instruction to mutateo
- the instruction's operatorOldValueHigh
- the instruction's OldValueHigh operandOldValueLow
- the instruction's OldValueLow operandMemAddr
- the instruction's MemAddr operandNewValueHigh
- the instruction's NewValueHigh operandNewValueLow
- the instruction's NewValueLow operand