diff options
author | Alan Modra <amodra@gcc.gnu.org> | 2011-01-31 11:14:10 +1030 |
---|---|---|
committer | Alan Modra <amodra@gcc.gnu.org> | 2011-01-31 11:14:10 +1030 |
commit | 61052244711edd374a266d9157736ee1cd69327d (patch) | |
tree | 727cd2e27b25f2c094ff66d942df22297f9173f8 /gcc | |
parent | 9594f433f6f730385ad6904a61e2cf14da797641 (diff) | |
download | gcc-61052244711edd374a266d9157736ee1cd69327d.zip gcc-61052244711edd374a266d9157736ee1cd69327d.tar.gz gcc-61052244711edd374a266d9157736ee1cd69327d.tar.bz2 |
rs6000.c (print_operand): Rearrange addends in toc relative expressions as we do in print_operand_address.
* config/rs6000/rs6000.c (print_operand): Rearrange addends in
toc relative expressions as we do in print_operand_address.
From-SVN: r169427
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 33 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 15 |
2 files changed, 32 insertions, 16 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 33f73a8..cc5d34b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2011-01-31 Alan Modra <amodra@gmail.com> + + * config/rs6000/rs6000.c (print_operand): Rearrange addends in + toc relative expressions as we do in print_operand_address. + 2011-01-30 Kazu Hirata <kazu@codesourcery.com> * doc/extend.texi: Follow spelling conventions. @@ -9,7 +14,7 @@ * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*, ia64*-*-hpux*): Use hpux11.opt. -2011-01-30 Jonathan Yong <jon_y@users.sourceforge.net> +2011-01-30 Jonathan Yong <jon_y@users.sourceforge.net> * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add t-dfprules to tmake_file. @@ -25,7 +30,7 @@ Motorola 68HC11/68HC12 downloads. 2011-01-30 Gerald Pfeifer <gerald@pfeifer.com> - + * doc/extend.texi (Thread-Local): Adjust reference to Ulrich Drepper's paper. @@ -218,8 +223,8 @@ 2011-01-26 Richard Guenther <rguenther@suse.de> PR tree-optimization/47190 - * cgraphunit.c (process_common_attributes): New function. - (process_function_and_variable_attributes): Use it. + * cgraphunit.c (process_common_attributes): New function. + (process_function_and_variable_attributes): Use it. 2011-01-26 Richard Guenther <rguenther@suse.de> @@ -917,10 +922,10 @@ PR c++/47291 * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen) - (gen_scheduled_generic_parms_dies): New functions. - (gen_struct_or_union_type_die): Schedule template parameters DIEs - generation for the end of CU compilation. - (dwarf2out_finish): Generate template parameters DIEs here. + (gen_scheduled_generic_parms_dies): New functions. + (gen_struct_or_union_type_die): Schedule template parameters DIEs + generation for the end of CU compilation. + (dwarf2out_finish): Generate template parameters DIEs here. 2011-01-19 Alexandre Oliva <aoliva@redhat.com> @@ -1253,9 +1258,9 @@ 2011-01-18 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> - * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually - include. - (cortex_a9_dp): Handle neon types correctly. + * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually + include. + (cortex_a9_dp): Handle neon types correctly. 2011-01-18 Jakub Jelinek <jakub@redhat.com> @@ -1429,8 +1434,8 @@ (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise. 2011-01-17 Olivier Hainque <hainque@adacore.com> - Michael Haubenwallner <michael.haubenwallner@salomon.at> - Eric Botcazou <ebotcazou@adacore.com> + Michael Haubenwallner <michael.haubenwallner@salomon.at> + Eric Botcazou <ebotcazou@adacore.com> PR target/46655 * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only @@ -1706,7 +1711,7 @@ PR debug/PR46973 * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New static function. - (prune_unused_types_mark): Use it. + (prune_unused_types_mark): Use it. 2011-01-13 Andrey Belevantsev <abel@ispras.ru> diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 30f8b75..c5e45fb 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -1,6 +1,6 @@ /* Subroutines used for code generation on IBM RS/6000. Copyright (C) 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, - 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 + 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu) @@ -16182,7 +16182,18 @@ print_operand (FILE *file, rtx x, int code) output_address (XEXP (x, 0)); } else - output_addr_const (file, x); + { + if (toc_relative_expr_p (x)) + /* This hack along with a corresponding hack in + rs6000_output_addr_const_extra arranges to output addends + where the assembler expects to find them. eg. + (const (plus (unspec [symbol_ref ("x") tocrel]) 4)) + without this hack would be output as "x@toc+4". We + want "x+4@toc". */ + output_addr_const (file, tocrel_base); + else + output_addr_const (file, x); + } return; case '&': |