rs6000.c (rs6000_function_arg): Remove CALL_LIBCALL when returning call_cookie.
gcc/ * config/rs6000/rs6000.c (rs6000_function_arg): Remove CALL_LIBCALL when returning call_cookie. (rs6000_function_ok_for_sibcall): Allow sibcalls via function pointers, to functions with no more vector args than the current function, and some non-local calls for ABI_V4. * config/rs6000/rs6000.md (sibcall_nonlocal_aix32, sibcall_nonlocal_aix64): Combine to .. (sibcall_nonlocal_aix<mode>): ..this. Handle function pointer calls. (sibcall_value_nonlocal_aix32, sibcall_value_nonlocal_aix64): Combine.. (sibcall_value_nonlocal_aix<mode>): ..likewise. (*sibcall_nonlocal_sysv<mode>): Handle function pointer calls. (sibcall_value_nonlocal_sysv<mode>): Likewise. Correct call cookie operand. * config/rs6000/darwin.md (sibcall_nonlocal_darwin64, sibcall_value_nonlocal_darwin64, sibcall_symbolic_64, sibcall_value_symbolic_64): Delete. gcc/testsuite/ * gcc.target/powerpc/ppc-pow.c: Allow for tail calls. From-SVN: r172855
Showing
Please
register
or
sign in
to comment