aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJohn David Anglin <dave.anglin@nrc-cnrc.gc.ca>2008-10-04 18:03:07 +0000
committerJohn David Anglin <danglin@gcc.gnu.org>2008-10-04 18:03:07 +0000
commit0b076fea2aa7a89c51da1d9e49c01a4473029f8b (patch)
tree0d2c822d46d71fefe5d20322069cc3c6193850ac /gcc
parenta3cb4b82a7bdde0ddc04d493c40cfddcfb6d8452 (diff)
downloadgcc-0b076fea2aa7a89c51da1d9e49c01a4473029f8b.zip
gcc-0b076fea2aa7a89c51da1d9e49c01a4473029f8b.tar.gz
gcc-0b076fea2aa7a89c51da1d9e49c01a4473029f8b.tar.bz2
re PR target/37603 (FAIL: gcc.c-torture/compile/pr36141.c at -O1 and above)
PR target/37603 * pa.c (legitimize_pic_address): Force function labels to memory in word mode. From-SVN: r140870
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/pa/pa.c4
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index dc43fed..5ea1c93 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2000-10-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/37603
+ * pa.c (legitimize_pic_address): Force function labels to memory in
+ word mode.
+
2008-10-04 Anton Blanchard <anton@samba.org>
* config/rs6000/rs6000.c (rs6000_emit_sync): Use gen_lwsync().
diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c
index c9c6525..652eba5 100644
--- a/gcc/config/pa/pa.c
+++ b/gcc/config/pa/pa.c
@@ -714,8 +714,8 @@ legitimize_pic_address (rtx orig, enum machine_mode mode, rtx reg)
if (function_label_operand (orig, mode))
{
- /* Force function label into memory. */
- orig = XEXP (force_const_mem (mode, orig), 0);
+ /* Force function label into memory in word mode. */
+ orig = XEXP (force_const_mem (word_mode, orig), 0);
/* Load plabel address from DLT. */
emit_move_insn (tmp_reg,
gen_rtx_PLUS (word_mode, pic_offset_table_rtx,