final X86Register.GPR r = addr.getRegister();
if (os.isCode32()) {
final X86Register.GPR msb = (X86Register.GPR) L1AHelper.requestRegister(ec, JvmType.INT, false);
addr.release(ec);
L1AHelper.releaseRegister(ec, msb);
os.writeMOV(X86CompilerConstants.INTSIZE, msb, r, X86CompilerConstants.MSB);
os.writeMOV(X86CompilerConstants.INTSIZE, r, r, X86CompilerConstants.LSB);
vstack.push(L1AHelper.requestDoubleWordRegisters(ec, methodToType(mcode), r, msb));
} else {
final DoubleWordItem result = L1AHelper.requestDoubleWordRegisters(ec, methodToType(mcode));
os.writeMOV(BITS64, result.getRegister(ec), r, 0);