> On 01/30/2013 04:49 PM, Michael Matz wrote: > > Hmm? GCC generates code that doesn't rely on the extension taking place. > > Sure, I didn't mean to suggest it was: it's LLVM that's incorrect.
Yes, that is LLVM bug. I am surprised that it went unnoticed for so long, but I guess it is difficult to have not extended call except for libffi and hand written asm code. Doing the extensions at caller side always is however IMO a preformance bug in GCC. We can definitly drop them at -Os, for non-PRS targets and for calls within compilation unit where we know that GCC is not really producing code like in Michael's testcase. Honza