float argument passing in registers
The removed code was not prepared for handling register numbers constructed by
PACK_REGS and would produce illegal instructions.
if (!md->params[i].inmemory) {
s = md->params[i].regoff;
if (!md->params[i].inmemory) {
s = md->params[i].regoff;
-#if defined(ENABLE_SOFTFLOAT)
switch (md->paramtypes[i].type) {
case TYPE_INT:
case TYPE_FLT:
switch (md->paramtypes[i].type) {
case TYPE_INT:
case TYPE_FLT:
M_LST(s, REG_SP, i * 8);
break;
}
M_LST(s, REG_SP, i * 8);
break;
}
-#else
- switch (md->paramtypes[i].type) {
- case TYPE_ADR:
- case TYPE_INT:
- M_IST(s, REG_SP, i * 8);
- break;
- case TYPE_LNG:
- M_LST(s, REG_SP, i * 8);
- break;
- case TYPE_FLT:
- M_FST(s, REG_SP, i * 8);
- break;
- case TYPE_DBL:
- M_DST(s, REG_SP, i * 8);
- break;
- }
-#endif
if (!md->params[i].inmemory) {
s = md->params[i].regoff;
if (!md->params[i].inmemory) {
s = md->params[i].regoff;
-#if defined(ENABLE_SOFTFLOAT)
switch (md->paramtypes[i].type) {
case TYPE_INT:
case TYPE_FLT:
switch (md->paramtypes[i].type) {
case TYPE_INT:
case TYPE_FLT:
M_LLD(s, REG_SP, i * 8);
break;
}
M_LLD(s, REG_SP, i * 8);
break;
}
-#else
- switch (md->paramtypes[i].type) {
- case TYPE_ADR:
- case TYPE_INT:
- M_ILD(s, REG_SP, i * 8);
- break;
- case TYPE_LNG:
- M_LLD(s, REG_SP, i * 8);
- break;
- case TYPE_FLT:
- M_FLD(s, REG_SP, i * 8);
- break;
- case TYPE_DBL:
- M_DLD(s, REG_SP, i * 8);
- break;
- }
-#endif