From 6f1f278fc4f3e6ad4bca3639b21893bb1d845e06 Mon Sep 17 00:00:00 2001 From: amodra Date: Mon, 7 Nov 2011 01:14:33 +0000 Subject: [PATCH] PR target/30282 * config/rs6000/rs6000.c (rs6000_emit_stack_reset): Always emit blockage for ABI_V4. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181056 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 10 ++++++++-- gcc/config/rs6000/rs6000.c | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4ea622e..b3a5be1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2011-11-07 Alan Modra + + PR target/30282 + * config/rs6000/rs6000.c (rs6000_emit_stack_reset): Always emit + blockage for ABI_V4. + 2011-11-06 Dave Korn * config/i386/cygwin.h (LIBGCJ_SONAME): Updated to match recent @@ -147,7 +153,7 @@ * optabs.c (expand_sync_operation, expand_sync_fetch_operation): Remove. (expand_sync_lock_test_and_set): Remove. (expand_atomic_load, expand_atomic_store): New. - (expand_atomic_exchange): New. + (expand_atomic_exchange): New. (expand_atomic_compare_and_swap): New. Implements atomic_compare_exchange via compare and swap. (struct atomic_op_functions): Opcode table struct for fetch ops. @@ -5806,7 +5812,7 @@ * hwint.h (HOST_WIDE_INT_PRINT_HEX_PURE): Add. * lto-streamer.c (lto_get_section_name): Remove crc32_string. - Handle numerical random seed. + Handle numerical random seed. * lto-streamer.h (lto_file_decl_data): Change id to unsigned HOST_WIDE_INT. * toplev.c (random_seed): Add. diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 779086a..aa04fdd 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -19661,7 +19661,7 @@ rs6000_emit_stack_reset (rs6000_stack_t *info, { /* This blockage is needed so that sched doesn't decide to move the sp change before the register restores. */ - if (frame_reg_rtx != sp_reg_rtx + if (DEFAULT_ABI == ABI_V4 || (TARGET_SPE_ABI && info->spe_64bit_regs_used != 0 && info->first_gp_reg_save != 32)) -- 2.7.4