From c841050eed727c249d687a85c2e991d971cd1ff3 Mon Sep 17 00:00:00 2001 From: Richard Stallman Date: Fri, 12 Mar 1993 23:07:38 +0000 Subject: [PATCH] (emit_push_insn): Handle failure of gen_movstr... From-SVN: r3721 --- gcc/expr.c | 40 ++++++++++++++++++++++++++++------------ 1 file changed, 28 insertions(+), 12 deletions(-) diff --git a/gcc/expr.c b/gcc/expr.c index 3ff238ca1c1..e54eeb938f5 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -1911,9 +1911,13 @@ emit_push_insn (x, mode, type, size, align, partial, reg, extra, && ((unsigned) INTVAL (size) < (1 << (GET_MODE_BITSIZE (QImode) - 1)))) { - emit_insn (gen_movstrqi (gen_rtx (MEM, BLKmode, temp), - xinner, size, GEN_INT (align))); - goto ret; + rtx pat = gen_movstrqi (gen_rtx (MEM, BLKmode, temp), + xinner, size, GEN_INT (align)); + if (pat != 0) + { + emit_insn (pat); + goto ret; + } } #endif #ifdef HAVE_movstrhi @@ -1922,25 +1926,37 @@ emit_push_insn (x, mode, type, size, align, partial, reg, extra, && ((unsigned) INTVAL (size) < (1 << (GET_MODE_BITSIZE (HImode) - 1)))) { - emit_insn (gen_movstrhi (gen_rtx (MEM, BLKmode, temp), - xinner, size, GEN_INT (align))); - goto ret; + rtx pat = gen_movstrhi (gen_rtx (MEM, BLKmode, temp), + xinner, size, GEN_INT (align)); + if (pat != 0) + { + emit_insn (pat); + goto ret; + } } #endif #ifdef HAVE_movstrsi if (HAVE_movstrsi) { - emit_insn (gen_movstrsi (gen_rtx (MEM, BLKmode, temp), - xinner, size, GEN_INT (align))); - goto ret; + rtx pat = gen_movstrsi (gen_rtx (MEM, BLKmode, temp), + xinner, size, GEN_INT (align)); + if (pat != 0) + { + emit_insn (pat); + goto ret; + } } #endif #ifdef HAVE_movstrdi if (HAVE_movstrdi) { - emit_insn (gen_movstrdi (gen_rtx (MEM, BLKmode, temp), - xinner, size, GEN_INT (align))); - goto ret; + rtx pat = gen_movstrdi (gen_rtx (MEM, BLKmode, temp), + xinner, size, GEN_INT (align)); + if (pat != 0) + { + emit_insn (pat); + goto ret; + } } #endif -- 2.30.2