-#else
- if ((p == 0) ||
- ((p == 1) && IS_FLT_DBL_TYPE(md->paramtypes[0].type))) {
- s2 = rd->argfltregs[s1];
- if (!(var->flags & INMEMORY)) { /* reg arg -> register */
- if (IS_2_WORD_TYPE(t))
- M_DBLMOVE(s2, var->vv.regoff);
- else
- M_FLTMOVE(s2, var->vv.regoff);
- }
- else { /* reg arg -> spilled */
- if (IS_2_WORD_TYPE(t))
- M_DST(s2, REG_SP, var->vv.regoff * 8);
- else
- M_FST(s2, REG_SP, var->vv.regoff * 8);
- }
- }
- else {
- if (IS_2_WORD_TYPE(t)) {
- s2 = PACK_REGS(rd->argintregs[GET_LOW_REG(s1)],
- rd->argintregs[GET_HIGH_REG(s1)]);
- if (!(var->flags & INMEMORY)) {
- M_MTC1(GET_LOW_REG(s2), var->vv.regoff);
- M_MTC1(GET_HIGH_REG(s2), var->vv.regoff + 1);
- M_NOP;
- }
- else
- M_LST(s2, REG_SP, var->vv.regoff * 8);
- }
- else {
- s2 = rd->argintregs[s1];
- if (!(var->flags & INMEMORY)) {
- M_MTC1(s2, var->vv.regoff);
- M_NOP;
- }
- else
- M_IST(s2, REG_SP, var->vv.regoff * 8);
- }
- }
-#endif
-
- } else { /* stack arguments */
- if (!(var->flags & INMEMORY)) { /* stack-arg -> register */