parent
f0a45d37ea
commit
d072107f23
|
@ -638,8 +638,9 @@ struct rt_cargs {int gregs, fregs; };
|
|||
|
||||
#define FUNCTION_ARG(CUM, MODE, TYPE, NAMED) \
|
||||
(! (NAMED) ? 0 \
|
||||
: USE_FP_REG(MODE,CUM) ? gen_rtx(REG, (MODE),(CUM.fregs) + 17) \
|
||||
: (CUM).gregs < 4 ? gen_rtx(REG, (MODE), 2 + (CUM).gregs) : 0)
|
||||
: ((TYPE) != 0 && TREE_CODE (TYPE_CODE (TYPE)) != INTEGER_CST) \
|
||||
: USE_FP_REG(MODE,CUM) ? gen_rtx(REG, (MODE),(CUM.fregs) + 17) \
|
||||
: (CUM).gregs < 4 ? gen_rtx(REG, (MODE), 2 + (CUM).gregs) : 0)
|
||||
|
||||
/* For an arg passed partly in registers and partly in memory,
|
||||
this is the number of registers used.
|
||||
|
|
|
@ -714,7 +714,8 @@ struct rs6000_args {int words, fregno, nargs_prototype; };
|
|||
|
||||
#define FUNCTION_ARG(CUM, MODE, TYPE, NAMED) \
|
||||
(! (NAMED) ? 0 \
|
||||
: USE_FP_FOR_ARG_P (CUM, MODE, TYPE) \
|
||||
: ((TYPE) != 0 && TREE_CODE (TYPE_CODE (TYPE)) != INTEGER_CST) \
|
||||
: USE_FP_FOR_ARG_P (CUM, MODE, TYPE) \
|
||||
? ((CUM).nargs_prototype > 0 \
|
||||
? gen_rtx (REG, MODE, (CUM).fregno) \
|
||||
: ((CUM).words < 8 \
|
||||
|
|
14
gcc/explow.c
14
gcc/explow.c
|
@ -751,18 +751,21 @@ emit_stack_save (save_level, psave, after)
|
|||
abort ();
|
||||
}
|
||||
|
||||
if (sa != 0)
|
||||
sa = validize_mem (sa);
|
||||
|
||||
if (after)
|
||||
{
|
||||
rtx seq;
|
||||
|
||||
start_sequence ();
|
||||
emit_insn (fcn (validize_mem (sa), stack_pointer_rtx));
|
||||
emit_insn (fcn (sa, stack_pointer_rtx));
|
||||
seq = gen_sequence ();
|
||||
end_sequence ();
|
||||
emit_insn_after (seq, after);
|
||||
}
|
||||
else
|
||||
emit_insn (fcn (validize_mem (sa), stack_pointer_rtx));
|
||||
emit_insn (fcn (sa, stack_pointer_rtx));
|
||||
}
|
||||
|
||||
/* Restore the stack pointer for the purpose in SAVE_LEVEL. SA is the save
|
||||
|
@ -804,18 +807,21 @@ emit_stack_restore (save_level, sa, after)
|
|||
#endif
|
||||
}
|
||||
|
||||
if (sa != 0)
|
||||
sa = validize_mem (sa);
|
||||
|
||||
if (after)
|
||||
{
|
||||
rtx seq;
|
||||
|
||||
start_sequence ();
|
||||
emit_insn (fcn (stack_pointer_rtx, validize_mem (sa)));
|
||||
emit_insn (fcn (stack_pointer_rtx, sa));
|
||||
seq = gen_sequence ();
|
||||
end_sequence ();
|
||||
emit_insn_after (seq, after);
|
||||
}
|
||||
else
|
||||
emit_insn (fcn (stack_pointer_rtx, validize_mem (sa)));
|
||||
emit_insn (fcn (stack_pointer_rtx, sa));
|
||||
}
|
||||
|
||||
/* Return an rtx representing the address of an area of memory dynamically
|
||||
|
|
Loading…
Reference in New Issue