EMIT(MIR_BinaryAcc.mutate(s, IA32_ADD, R(lhsReg), IC(high)));
EMIT(MIR_BinaryAcc.mutate(s, IA32_ADD, new OPT_RegisterOperand(lhsReg, VM_TypeReference.Int), IC(high)));
  protected final void LONG_ADD(OPT_Instruction s,                                OPT_RegisterOperand result,                                OPT_Operand value) {    OPT_Register lhsReg = result.register;    OPT_Register lowlhsReg = regpool.getSecondReg(lhsReg);    if (value instanceof OPT_RegisterOperand) {      OPT_Register rhsReg = ((OPT_RegisterOperand)value).register;      OPT_Register lowrhsReg = regpool.getSecondReg(rhsReg);      EMIT(MIR_BinaryAcc.create(IA32_ADD, R(lowlhsReg), R(lowrhsReg)));      EMIT(MIR_BinaryAcc.mutate(s, IA32_ADC, R(lhsReg), R(rhsReg)));    } else {      OPT_LongConstantOperand rhs = (OPT_LongConstantOperand)value;      int low = rhs.lower32();      int high = rhs.upper32();      if (low == 0) {        EMIT(MIR_BinaryAcc.mutate(s, IA32_ADD, R(lhsReg), IC(high)));      } else {        EMIT(MIR_BinaryAcc.create(IA32_ADD, R(lowlhsReg), IC(low)));        EMIT(MIR_BinaryAcc.mutate(s, IA32_ADC, R(lhsReg), IC(high)));      }    }  }