case INT_COND_MOVE_opcode: case LONG_COND_MOVE_opcode: case FLOAT_COND_MOVE_opcode: case DOUBLE_COND_MOVE_opcode: case REF_COND_MOVE_opcode:
  public static boolean shouldMove (OPT_Instruction inst, OPT_IR ir) {    if ((  inst.isAllocation())	|| inst.isDynamicLinkingPoint()	|| inst.operator.opcode >= ARCH_INDEPENDENT_END_opcode)      return false;        if (ir.IRStage != ir.HIR	&& ((  inst.isPEI())	    || inst.isThrow()	    || inst.isLoad()	    || inst.isStore()))	return false;    switch (inst.operator.opcode) {    case INT_MOVE_opcode:    case LONG_MOVE_opcode:      //  OPT_Operand ival = Move.getVal(inst);      //if (ival instanceof OPT_ConstantOperand)      //return  false;      // fall through    case PUTSTATIC_opcode:    case PUTSTATIC_UNRESOLVED_opcode:    case PUTFIELD_opcode:    case PUTFIELD_UNRESOLVED_opcode:    case GETSTATIC_UNRESOLVED_opcode:    case GETFIELD_UNRESOLVED_opcode:    case GETSTATIC_opcode:    case GETFIELD_opcode:    case INT_ALOAD_opcode:    case LONG_ALOAD_opcode:    case FLOAT_ALOAD_opcode:    case DOUBLE_ALOAD_opcode:    case REF_ALOAD_opcode:    case BYTE_ALOAD_opcode:    case UBYTE_ALOAD_opcode:    case SHORT_ALOAD_opcode:    case USHORT_ALOAD_opcode:    case INT_ASTORE_opcode:    case LONG_ASTORE_opcode:    case FLOAT_ASTORE_opcode:    case DOUBLE_ASTORE_opcode:    case REF_ASTORE_opcode:    case BYTE_ASTORE_opcode:    case SHORT_ASTORE_opcode:    case GET_CLASS_OBJECT_opcode:    case CHECKCAST_opcode:    case CHECKCAST_NOTNULL_opcode:    case CHECKCAST_INTERFACE_NOTNULL_opcode:    case INSTANCEOF_opcode:    case INSTANCEOF_NOTNULL_opcode:    case PI_opcode:    case FLOAT_MOVE_opcode:    case DOUBLE_MOVE_opcode:    case REF_MOVE_opcode:    case GUARD_MOVE_opcode:    case GUARD_COMBINE_opcode:    case TRAP_IF_opcode:    case INT_ADD_opcode:    case LONG_ADD_opcode:    case FLOAT_ADD_opcode:    case DOUBLE_ADD_opcode:    case INT_SUB_opcode:    case LONG_SUB_opcode:    case FLOAT_SUB_opcode:    case DOUBLE_SUB_opcode:    case INT_MUL_opcode:    case LONG_MUL_opcode:    case FLOAT_MUL_opcode:    case DOUBLE_MUL_opcode:    case INT_DIV_opcode:    case LONG_DIV_opcode:    case FLOAT_DIV_opcode:    case DOUBLE_DIV_opcode:    case INT_REM_opcode:    case LONG_REM_opcode:    case FLOAT_REM_opcode:    case DOUBLE_REM_opcode:    case INT_NEG_opcode:    case LONG_NEG_opcode:    case FLOAT_NEG_opcode:    case DOUBLE_NEG_opcode:    case INT_SHL_opcode:    case LONG_SHL_opcode:    case INT_SHR_opcode:    case LONG_SHR_opcode:    case INT_USHR_opcode:    case LONG_USHR_opcode:    case INT_AND_opcode:    case LONG_AND_opcode:    case INT_OR_opcode:    case LONG_OR_opcode:    case INT_XOR_opcode:    case INT_NOT_opcode:    case LONG_NOT_opcode:    case LONG_XOR_opcode:    case INT_2LONG_opcode:    case INT_2FLOAT_opcode:    case INT_2DOUBLE_opcode:    case LONG_2INT_opcode:    case LONG_2FLOAT_opcode:    case LONG_2DOUBLE_opcode:    case FLOAT_2INT_opcode:    case FLOAT_2LONG_opcode:    case FLOAT_2DOUBLE_opcode:    case DOUBLE_2INT_opcode:    case DOUBLE_2LONG_opcode:    case DOUBLE_2FLOAT_opcode:    case INT_2BYTE_opcode:    case INT_2USHORT_opcode:    case INT_2SHORT_opcode:    case LONG_CMP_opcode:    case FLOAT_CMPL_opcode:    case FLOAT_CMPG_opcode:    case DOUBLE_CMPL_opcode:    case DOUBLE_CMPG_opcode:    case NULL_CHECK_opcode:    case BOUNDS_CHECK_opcode:    case INT_ZERO_CHECK_opcode:    case LONG_ZERO_CHECK_opcode:    case OBJARRAY_STORE_CHECK_opcode:    case BOOLEAN_NOT_opcode:    case BOOLEAN_CMP_opcode:    case FLOAT_AS_INT_BITS_opcode:    case INT_BITS_AS_FLOAT_opcode:    case DOUBLE_AS_LONG_BITS_opcode:    case LONG_BITS_AS_DOUBLE_opcode:    case ARRAYLENGTH_opcode:    case GET_OBJ_TIB_opcode:    case GET_OBJ_RAW_opcode:    case GET_CLASS_TIB_opcode:    case GET_TYPE_FROM_TIB_opcode:    case GET_SUPERCLASS_IDS_FROM_TIB_opcode:    case GET_DOES_IMPLEMENT_FROM_TIB_opcode:    case GET_ARRAY_ELEMENT_TIB_FROM_TIB_opcode:      return !(OPT_GCP.usesOrDefsPhysicalRegister(inst));    }    return false;  }