IC(location)));
IC(location + BYTES_IN_ADDRESS - BYTES_IN_FLOAT)));
  final void insertSpillBefore(OPT_Instruction s, OPT_Register r,                               byte type, int location) {    OPT_PhysicalRegisterSet phys = ir.regpool.getPhysicalRegisterSet();    OPT_Register FP = phys.getFP();    if (type == FLOAT_VALUE) {      s.insertBack(MIR_Store.create(PPC_STFS, F(r), A(FP),                                    IC(location)));    } else if (type == DOUBLE_VALUE) {      s.insertBack(MIR_Store.create(PPC_STFD, D(r), A(FP),                                    IC(location)));    } else if (type == INT_VALUE) {      // integer or half of long      s.insertBack(MIR_Store.create(PPC_STAddr, A(r), A(FP),                                    IC(location)));    } else      throw new OPT_OptimizingCompilerException("insertSpillBefore",                                                 "unsupported type " +                                                type);  }