projects
/
mono.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
cb7c762
)
[arm] Fix register assignments during hfa parameter passing. Fixes pinvoke_ppdcd...
author
Zoltan Varga
<vargaz@gmail.com>
Thu, 12 Nov 2015 23:48:59 +0000
(18:48 -0500)
committer
Zoltan Varga
<vargaz@gmail.com>
Thu, 12 Nov 2015 23:48:59 +0000
(18:48 -0500)
mono/mini/mini-arm.c
patch
|
blob
|
history
diff --git
a/mono/mini/mini-arm.c
b/mono/mini/mini-arm.c
index 08307072a203768d31225a1e2cfe47cc31c9124c..fb502fb547452824c7e66b227f86219687f9d9a7 100644
(file)
--- a/
mono/mini/mini-arm.c
+++ b/
mono/mini/mini-arm.c
@@
-1636,7
+1636,10
@@
get_call_info (MonoMemPool *mp, MonoMethodSignature *sig)
ainfo->reg = fpr;
ainfo->nregs = nfields;
ainfo->esize = esize;
- fpr += nfields;
+ if (esize == 4)
+ fpr += nfields;
+ else
+ fpr += nfields * 2;
break;
} else {
fpr = ARM_VFP_F16;
@@
-2641,7
+2644,7
@@
mono_arch_emit_outarg_vt (MonoCompile *cfg, MonoInst *ins, MonoInst *src)
call->float_args = g_slist_append_mempool (cfg->mempool, call->float_args, fad);
} else {
- add_outarg_reg (cfg, call, RegTypeFP, ainfo->reg +
i
, load);
+ add_outarg_reg (cfg, call, RegTypeFP, ainfo->reg +
(i * 2)
, load);
}
}
break;