Tim Prince wrote: > Does this relate to a specific version of gcc, to a specific set of > options, and to functions eligible for inline-functions? I'm not sure. I've now removed all exotic compiler options. I now have just: g++ -c -save-temps and it still won't push arguments the natural way. Perhaps that's its correct normal behavior, but then it's wrong that it won't switch to simple pushes with -Os, because it really reduces code size. I don't understand why -mno-stack-arg-probe is making it change behavior in this regard either. There's no alloca or variable arrays on the stack involved, which is what I was expecting -mno-stack-arg-probe to make a difference to. None of the involved functions are inlineable. GCC version is 4.4.0 (MinGW).