burs.append(MIR_Binary.create(PPC_SRWI, R(t), R(two), I(31))); burs.append(MIR_Binary.create(PPC_SRAWI, R(t1), R(one), I(31))); burs.append(MIR_Binary.create(PPC_SUBFC, R(zero), R(two), R(one))); burs.append(MIR_Binary.create(PPC_ADDE, R(def), R(t1), R(t)));
burs.append(MIR_Binary.create(PPC_SRWI, R(t), two, I(31))); burs.append(MIR_Binary.create(PPC_SRAWI, R(t1), one, I(31))); burs.append(MIR_Binary.create(PPC_SUBFC, R(zero), two.copyRO(), one.copyRO())); burs.append(MIR_Binary.create(PPC_ADDE, def, R(t1), R(t)));
  boolean boolean_cmp (OPT_BURS burs, OPT_Register def, 		       OPT_Register one, 		       OPT_Register two, OPT_ConditionOperand cmp,		       OPT_Instruction inst) {    OPT_Register t1, zero, t = burs.ir.regpool.getInteger(false);    switch (cmp.value) {    case OPT_ConditionOperand.EQUAL:      {	burs.append(MIR_Binary.create(PPC_SUBF, R(t), R(one), R(two)));	burs.append(MIR_Unary.create(PPC_CNTLZW, R(t), R(t)));	burs.append(MIR_Binary.create(PPC_SRWI, R(def), R(t), I(5)));      }      break;    case OPT_ConditionOperand.NOT_EQUAL:      {	t1 = burs.ir.regpool.getInteger(false);	burs.append(MIR_Binary.create(PPC_SUBF, R(t), R(one), R(two)));	burs.append(MIR_Binary.create(PPC_ADDIC, R(t1), R(t), I(-1)));	burs.append(MIR_Binary.create(PPC_SUBFE, R(def), R(t1), R(t)));      }      break;    case OPT_ConditionOperand.LESS_EQUAL:      {	t1 = burs.ir.regpool.getInteger(false);	zero = burs.ir.regpool.getPhysicalRegisterSet().getTemp();	burs.append(MIR_Binary.create(PPC_SRWI, R(t), R(one), I(31)));	burs.append(MIR_Binary.create(PPC_SRAWI, R(t1), R(two), I(31)));	burs.append(MIR_Binary.create(PPC_SUBFC, R(zero), R(one), R(two)));	burs.append(MIR_Binary.create(PPC_ADDE, R(def), R(t1), R(t)));      }      break;    case OPT_ConditionOperand.GREATER_EQUAL:      {	t1 = burs.ir.regpool.getInteger(false);	zero = burs.ir.regpool.getPhysicalRegisterSet().getTemp();	burs.append(MIR_Binary.create(PPC_SRWI, R(t), R(two), I(31)));	burs.append(MIR_Binary.create(PPC_SRAWI, R(t1), R(one), I(31)));	burs.append(MIR_Binary.create(PPC_SUBFC, R(zero), R(two), R(one)));	burs.append(MIR_Binary.create(PPC_ADDE, R(def), R(t1), R(t)));      }      break;    default:      return false;    }    return true;  }