public final void emitLVALAddr (int RT, Address addr) {  long val = addr.toLong(); if (!fits(val,48)){ emitADDIS(RT, (int)(val>>>48)); emitORI(RT, RT, (int)((val>>>32)&0xFFFF)); emitSLDI(RT,RT,32); emitORIS(RT, RT, (int)((val>>>16)&0xFFFF)); emitORI(RT, RT, (int)(val&0xFFFF)); } else if (!fits(val,32)){ emitLI(RT, (int)(val>>>32)); emitSLDI(RT,RT,32); emitORIS(RT, RT, (int)((val>>>16)&0xFFFF)); emitORI(RT, RT, (int)(val&0xFFFF)); } else  int val = addr.toInt();  if (!fits(val,16)){ emitADDIS(RT, (int)(val>>>16)); emitORI(RT, RT, (int)(val&0xFFFF)); } else { emitLI(RT, (int)val); }
public final void emitLVALAddr (int RT, Offset off) { emitLVALAddr (RT, off.toWord().toAddress());
  public final void emitLVALAddr (int RT, Address addr) {//-#if RVM_FOR_64_ADDR    long val = addr.toLong();    if (!fits(val,48)){      emitADDIS(RT, (int)(val>>>48));      emitORI(RT, RT, (int)((val>>>32)&0xFFFF));      emitSLDI(RT,RT,32);      emitORIS(RT, RT, (int)((val>>>16)&0xFFFF));      emitORI(RT, RT, (int)(val&0xFFFF));    } else if (!fits(val,32)){      emitLI(RT, (int)(val>>>32));      emitSLDI(RT,RT,32);      emitORIS(RT, RT, (int)((val>>>16)&0xFFFF));      emitORI(RT, RT, (int)(val&0xFFFF));    } else //-#else    int val = addr.toInt();//-#endif             if (!fits(val,16)){      emitADDIS(RT, (int)(val>>>16));      emitORI(RT, RT, (int)(val&0xFFFF));    } else {      emitLI(RT, (int)val);    }  }