EMIT(MIR_Binary.create(PPC_ADDIC, I(t1), I(t), IC(-1))); EMIT(MIR_Binary.create(PPC_SUBFE, def, I(t1), I(t)));
EMIT(MIR_Unary.create(PPC64_EXTSW, A(t), I(t)));  EMIT(MIR_Binary.create(PPC_ADDIC, A(t1), A(t), IC(-1))); EMIT(MIR_Binary.create(PPC_SUBFE, def, A(t1), A(t)));
  protected final void BOOLEAN_CMP_INT(OPT_RegisterOperand def,                                    OPT_ConditionOperand cmp,                                   OPT_RegisterOperand one,                                   OPT_RegisterOperand two) {    OPT_Register t1, zero, t = regpool.getInteger();    switch (cmp.value) {    case OPT_ConditionOperand.EQUAL:      {        EMIT(MIR_Binary.create(PPC_SUBF, I(t), one, two));        EMIT(MIR_Unary.create(PPC_CNTLZW, I(t), I(t)));        EMIT(MIR_Binary.create(PPC_SRWI, def, I(t), IC(LOG_BITS_IN_INT)));      }      break;    case OPT_ConditionOperand.NOT_EQUAL:      {        t1 = regpool.getInteger();        EMIT(MIR_Binary.create(PPC_SUBF, I(t), one, two));        EMIT(MIR_Binary.create(PPC_ADDIC, I(t1), I(t), IC(-1)));        EMIT(MIR_Binary.create(PPC_SUBFE, def, I(t1), I(t)));      }      break;    case OPT_ConditionOperand.LESS_EQUAL:      {        t1 = regpool.getInteger();        zero = regpool.getPhysicalRegisterSet().getTemp();        EMIT(MIR_Binary.create(PPC_SRWI, I(t), one, IC(BITS_IN_INT - 1)));        EMIT(MIR_Binary.create(PPC_SRAWI, I(t1), two, IC(BITS_IN_INT - 1)));        EMIT(MIR_Binary.create(PPC_SUBFC, I(zero), one.copyRO(), two.copyRO()));        EMIT(MIR_Binary.create(PPC_ADDE, def, I(t1), I(t)));      }      break;    case OPT_ConditionOperand.GREATER_EQUAL:      {        t1 = regpool.getInteger();        zero = regpool.getPhysicalRegisterSet().getTemp();        EMIT(MIR_Binary.create(PPC_SRWI, I(t), two, IC(BITS_IN_INT - 1)));        EMIT(MIR_Binary.create(PPC_SRAWI, I(t1), one, IC(BITS_IN_INT - 1)));        EMIT(MIR_Binary.create(PPC_SUBFC, I(zero), two.copyRO(), one.copyRO()));        EMIT(MIR_Binary.create(PPC_ADDE, def, I(t1), I(t)));      }      break;    default:      EMIT(BooleanCmp.create(BOOLEAN_CMP_INT, def, one, two, cmp, null)); // todo    }  }