- if (IS_INT_LNG_TYPE(var->type)) {
- if (!md->params[s3].inmemory) {
- if (IS_2_WORD_TYPE(var->type)) {
- s1 = emit_load(jd, iptr, var, d);
- M_LNGMOVE(s1, d);
- }
- else {
- s1 = emit_load(jd, iptr, var, d);
- M_INTMOVE(s1, d);
- }
- }
- else {
- if (IS_2_WORD_TYPE(var->type)) {
- s1 = emit_load(jd, iptr, var, REG_ITMP12_PACKED);
- M_LST(s1, REG_SP, d);
- }
- else {
- s1 = emit_load(jd, iptr, var, REG_ITMP1);
- M_IST(s1, REG_SP, d);
- }
+ if (!md->params[i].inmemory) {
+ s1 = emit_load(jd, iptr, var, d);
+
+ switch (var->type) {
+ case TYPE_INT:
+ case TYPE_ADR:
+ M_INTMOVE(s1, d);
+ break;
+
+ case TYPE_LNG:
+ M_LNGMOVE(s1, d);
+ break;
+
+ case TYPE_FLT:
+ case TYPE_DBL:
+ M_FLTMOVE(s1, d);
+ break;