On 05/22/2014 02:33 PM, Kai Tietz wrote: > * config/i386/i386.c (ix86_expand_call): Enforce for sibcalls > on memory the use of accumulator-register.
I don't like this at all. I'm fine with allowing memories that are fully symbolic, e.g. extern void (*foo)(void); void f(void) { foo(); } but any time you've got to use one insn to form the address in %eax, you might as well have also issued the memory load into %eax. And if the memory load is moved earlier, you no longer need to constrain to %eax, but let the register allocator choose the call-clobbered register to use. r~