> In this case, the stX 0,N(31) is spilling an argument, even though r0 > is not an argument register. ('evstdd' is an E500 instruction that > is definitely an argument spill.) Dough! > Clearly, both your function and mine need to go into the test suite... I can add a new testcase in Ada for the prologue we saw. > What if we did something like this? It'd need to be combined with the > rest of your change, I'm just sketching: Attached is a revised version incorporating your changes. Could you give it a shot against your function, and let me know if it works for you? It works for me, and doesn't introduce any regression on our powerpc-aix-5.1 machine. 2004-04-16 Joel Brobecker * rs6000-tdep.c (store_param_on_stack_p): New function, an improved version of some code extracted from skip_prologue(). (skip_prologue): Use store_param_on_stack_p() to detect instructions saving a parameter on the stack. Detect when r0 is used to save a parameter. Do not mark "li rx, SIMM" instructions as part of the prologue, unless the following instruction is also part of the prologue. I'll followup with a testcase soon. Thanks, -- Joel