diff options
author | David Edelsohn <dje.gcc@gmail.com> | 2014-12-08 23:47:39 +0000 |
---|---|---|
committer | David Edelsohn <dje@gcc.gnu.org> | 2014-12-08 18:47:39 -0500 |
commit | ca9f165c10137135232bbf89f2f0cbd7969e4531 (patch) | |
tree | 8840340860d509ce5e64bbce60b4032baa85b108 /gcc | |
parent | bc3518da23383b0e173020a46334fe22b6b67891 (diff) | |
download | gcc-ca9f165c10137135232bbf89f2f0cbd7969e4531.zip gcc-ca9f165c10137135232bbf89f2f0cbd7969e4531.tar.gz gcc-ca9f165c10137135232bbf89f2f0cbd7969e4531.tar.bz2 |
re PR target/64226 (Secondary reload incorrect TOC address)
PR target/64226
* config/rs6000/rs6000.c (rs6000_secondary_reload_inner)
[SYMBOL_REF]: Do not explicitly call create_TOC_reference for
TARGET_TOC. Always use rs6000_emit_move.
From-SVN: r218497
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 7 |
2 files changed, 8 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8e8de74..8154a32 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2014-12-08 David Edelsohn <dje.gcc@gmail.com> + + PR target/64226 + * config/rs6000/rs6000.c (rs6000_secondary_reload_inner) + [SYMBOL_REF]: Do not explicitly call create_TOC_reference for + TARGET_TOC. Always use rs6000_emit_move. + 2014-12-08 Mark Wielaard <mjw@redhat.com> PR debug/60782 diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 8c492cc..f3818e6 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -17379,12 +17379,7 @@ rs6000_secondary_reload_inner (rtx reg, rtx mem, rtx scratch, bool store_p) case SYMBOL_REF: case CONST: case LABEL_REF: - if (TARGET_TOC) - emit_insn (gen_rtx_SET (VOIDmode, scratch, - create_TOC_reference (addr, scratch))); - else - rs6000_emit_move (scratch, addr, Pmode); - + rs6000_emit_move (scratch, addr, Pmode); new_addr = scratch; break; |