aboutsummaryrefslogtreecommitdiff
path: root/gcc/reload1.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2003-01-07 22:09:21 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2003-01-07 21:09:21 +0000
commit068f5deabfc16d0a4ae112d185c85d9f6bc76eed (patch)
tree0f2ce69928d0a8166860b927857a84fead2f2d9f /gcc/reload1.c
parenteb70d86d7eed92f410073ac5312c89840b209d7c (diff)
downloadgcc-068f5deabfc16d0a4ae112d185c85d9f6bc76eed.zip
gcc-068f5deabfc16d0a4ae112d185c85d9f6bc76eed.tar.gz
gcc-068f5deabfc16d0a4ae112d185c85d9f6bc76eed.tar.bz2
re PR target/8322 (SSE2 intrinsics broken?)
* genopinit.c (optabs): Add addc_optab. * ifcvt.c (noce_try_store_flag): Rename to ... (noce_try_addcc): ... this one; handle generic conditional increment. (noce_process_if_block): Update noce_try_addcc call. * optabs.c (emit_conditional_add): New. (init_obtabs): Initialize addc_optab. * optabs.h (optab_index): Add OTI_addcc. (addcc_optab): New macro. * md.texi: Document addMcc PR target/8322 * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads. * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts. * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts. * reload1.c (delete_output_reload): Avoid repeated attempts to delete insn. From-SVN: r61019
Diffstat (limited to 'gcc/reload1.c')
-rw-r--r--gcc/reload1.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c
index aeb740e..4020407 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -7608,6 +7608,11 @@ delete_output_reload (insn, j, last_reload_reg)
rtx i1;
rtx substed;
+ /* It is possible that this reload has been only used to set another reload
+ we eliminated earlier and thus deleted this instruction too. */
+ if (INSN_DELETED_P (output_reload_insn))
+ return;
+
/* Get the raw pseudo-register referred to. */
while (GET_CODE (reg) == SUBREG)