s.insertBack(MIR_Load.create(PPC64_LD, L(r), L(FP), I(location)));   } else if (type == LONG_VALUE) { s.insertBack(MIR_Load.create(PPC64_LD, L(r), L(FP), I(location)));
  final void insertUnspillBefore(OPT_Instruction s, OPT_Register r,                                  byte type, int location) {        OPT_PhysicalRegisterSet phys = ir.regpool.getPhysicalRegisterSet();    OPT_Register FP = phys.getFP();    if (type == CONDITION_VALUE) {      OPT_Register temp = phys.getTemp();      s.insertBack(MIR_Load.create(PPC_LWZ, R(temp), R(FP),                                   I(location)));    } else if (type == DOUBLE_VALUE) {        s.insertBack(MIR_Load.create(PPC_LFD, D(r), R(FP), I(location)));    } else if (type == FLOAT_VALUE) {      s.insertBack(MIR_Load.create(PPC_LFS, F(r), R(FP), I(location)));    } else if (type == INT_VALUE) { // integer or half of long      s.insertBack(MIR_Load.create(PPC_LWZ, R(r), R(FP), I(location)));    } else {      throw new OPT_OptimizingCompilerException("insertUnspillBefore",                                                 "unknown type:" + type);    }  }