- curr_ofs += arg->space_before;
- curr_ofs = round_up2(curr_ofs, arg->alignment);
+ /*
+ * If we wanted to build the arguments sequentially,
+ * the stack pointer for the next must be incremented,
+ * and the memory value propagated.
+ */
+ if (do_seq) {
+ curr_ofs = 0;
+ addr = curr_sp = be_new_IncSP(sp, irg, bl, curr_sp, curr_mem,
+ param_size + arg->space_before, be_stack_dir_expand);
+ }
+ else {
+ curr_ofs += arg->space_before;
+ curr_ofs = round_up2(curr_ofs, arg->alignment);