rs6000.c (create_TOC_reference): Wrap high part of toc-relative address in CONST.
authorAlan Modra <amodra@gmail.com>
Mon, 20 Jun 2011 05:12:10 +0000 (14:42 +0930)
committerAlan Modra <amodra@gcc.gnu.org>
Mon, 20 Jun 2011 05:12:10 +0000 (14:42 +0930)
commit3bae1d98650efce91703cc4cb37231bf8c12ef94
treea7c8d0569095d18c55aee8e1f58232219baf0804
parent8fe2f96186ca193a2216da101a00cc02e93f1842
rs6000.c (create_TOC_reference): Wrap high part of toc-relative address in CONST.

* config/rs6000/rs6000.c (create_TOC_reference): Wrap high part
of toc-relative address in CONST.
(rs6000_delegitimize_address): Recognize changed address.
(rs6000_legitimize_reload_address): Likewise.
(rs6000_emit_move): Don't force these constants to memory.
* config/rs6000/rs6000.md (tls_gd, tls_gd_high): Wrap high part of
toc-relative address in CONST.
(tls_ld, tls_ld_high, tls_got_dtprel, tls_got_dtprel_high): Likewise.
(tls_got_tprel, tls_got_tprel_high, largetoc_high): Likewise.

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