rs6000, darwin - fix bootstrap.
authorIain Sandoe <iain@sandoe.co.uk>
Wed, 12 Dec 2018 08:42:28 +0000 (08:42 +0000)
committerIain Sandoe <iains@gcc.gnu.org>
Wed, 12 Dec 2018 08:42:28 +0000 (08:42 +0000)
commit66e30545db6ed4c1913e76d1085d0586ee6d055d
tree8a41b51c858c657714a18dc377185277ca1ca38b
parent0d7924f2e766834e4fec84ff093f4c355fea6be1
rs6000, darwin - fix bootstrap.

Recent changes to the lowerings for call handling in rs6000
have broken bootstrap for powerpc-darwin.  This patch modifies
the calls to handle Darwin asa subset, a subsequent patch will
split Darwin out.

2018-12-12  Iain Sandoe  <iain@sandoe.co.uk>

* config/rs6000/darwin.md (call_indirect_nonlocal_darwin64): Remove.
(call_nonlocal_darwin64): Remove.
(call_value_indirect_nonlocal_darwin64): Remove.
(call_value_nonlocal_darwin64): Remove.
* config/rs6000/rs6000.c (rs6000_call_template_1): Handle Darwin with
the same asm output as AIX/ELFv2.  (rs6000_call_sysv): Preserve the
CALL_LONG flag when needed for Darwin.
* config/rs6000/rs6000.md (define expand “call”): Expand Darwin as
per sysv.
(define_expand “call_value”): Likewise.
(define_expand “sibcall”): Likewise.
(define_expand “sibcall_value”): Likewise.
(call_indirect_nonlocal_sysv): Mark the clobber mode P.
(call_nonlocal_sysv): Likewise.
(call_nonlocal_sysv_secure): Likewise.
(call_value_indirect_nonlocal_sysv): Likewise.
(call_value_nonlocal_sysv): Likewise.
(call_value_nonlocal_sysv_secure): Likewise.
(call_local64): Mark the clobber DI.
(call_value_local64): Likewise.

From-SVN: r267046
gcc/ChangeLog
gcc/config/rs6000/darwin.md
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/rs6000.md