aboutsummaryrefslogtreecommitdiffstats
path: root/arm/Asmexpand.ml
diff options
context:
space:
mode:
Diffstat (limited to 'arm/Asmexpand.ml')
-rw-r--r--arm/Asmexpand.ml4
1 files changed, 2 insertions, 2 deletions
diff --git a/arm/Asmexpand.ml b/arm/Asmexpand.ml
index 77714721..5415f78e 100644
--- a/arm/Asmexpand.ml
+++ b/arm/Asmexpand.ml
@@ -257,7 +257,7 @@ let align n a = (n + a - 1) land (-a)
let rec next_arg_location ir ofs = function
| [] ->
- Int32.of_int (16 + ofs)
+ Int32.of_int (ir * 4 + ofs)
| (Tint | Tsingle | Tany32) :: l ->
if ir < 4
then next_arg_location (ir + 1) ofs l
@@ -265,7 +265,7 @@ let rec next_arg_location ir ofs = function
| (Tfloat | Tlong | Tany64) :: l ->
if ir < 3
then next_arg_location (align ir 2 + 2) ofs l
- else next_arg_location ir (align ofs 8 + 8) l
+ else next_arg_location 4 (align ofs 8 + 8) l
let expand_builtin_va_start r =
if not !current_function.fn_sig.sig_cc.cc_vararg then