http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46219
--- Comment #2 from Uros Bizjak <ubizjak at gmail dot com> 2010-10-29 08:17:17 UTC --- For some reason, memory operand is prohibited in a sibcall, see predicates.md: ;; Test for a valid operand for a call instruction. (define_predicate "call_insn_operand" (ior (match_operand 0 "constant_call_address_operand") (match_operand 0 "call_register_no_elim_operand") (match_operand 0 "memory_operand"))) ;; Similarly, but for tail calls, in which we cannot allow memory references. (define_predicate "sibcall_insn_operand" (ior (match_operand 0 "constant_call_address_operand") (match_operand 0 "register_no_elim_operand")))