]> git.ipfire.org Git - thirdparty/gcc.git/commit
rs6000, darwin - fix bootstrap.
authoriains <iains@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 12 Dec 2018 08:42:28 +0000 (08:42 +0000)
committeriains <iains@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 12 Dec 2018 08:42:28 +0000 (08:42 +0000)
commit711fc91cd11e18ea9b17bc0a1e7a175c4a9f17f7
tree8a41b51c858c657714a18dc377185277ca1ca38b
parent0eed6e63fb52ce155e3d0522dcc51bead30e05bc
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267046 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/rs6000/darwin.md
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/rs6000.md