(emit_push_insn): Handle failure of gen_movstr...
From-SVN: r3721
This commit is contained in:
parent
dac29d65d8
commit
c841050eed
40
gcc/expr.c
40
gcc/expr.c
|
@ -1911,9 +1911,13 @@ emit_push_insn (x, mode, type, size, align, partial, reg, extra,
|
||||||
&& ((unsigned) INTVAL (size)
|
&& ((unsigned) INTVAL (size)
|
||||||
< (1 << (GET_MODE_BITSIZE (QImode) - 1))))
|
< (1 << (GET_MODE_BITSIZE (QImode) - 1))))
|
||||||
{
|
{
|
||||||
emit_insn (gen_movstrqi (gen_rtx (MEM, BLKmode, temp),
|
rtx pat = gen_movstrqi (gen_rtx (MEM, BLKmode, temp),
|
||||||
xinner, size, GEN_INT (align)));
|
xinner, size, GEN_INT (align));
|
||||||
goto ret;
|
if (pat != 0)
|
||||||
|
{
|
||||||
|
emit_insn (pat);
|
||||||
|
goto ret;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_movstrhi
|
#ifdef HAVE_movstrhi
|
||||||
|
@ -1922,25 +1926,37 @@ emit_push_insn (x, mode, type, size, align, partial, reg, extra,
|
||||||
&& ((unsigned) INTVAL (size)
|
&& ((unsigned) INTVAL (size)
|
||||||
< (1 << (GET_MODE_BITSIZE (HImode) - 1))))
|
< (1 << (GET_MODE_BITSIZE (HImode) - 1))))
|
||||||
{
|
{
|
||||||
emit_insn (gen_movstrhi (gen_rtx (MEM, BLKmode, temp),
|
rtx pat = gen_movstrhi (gen_rtx (MEM, BLKmode, temp),
|
||||||
xinner, size, GEN_INT (align)));
|
xinner, size, GEN_INT (align));
|
||||||
goto ret;
|
if (pat != 0)
|
||||||
|
{
|
||||||
|
emit_insn (pat);
|
||||||
|
goto ret;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_movstrsi
|
#ifdef HAVE_movstrsi
|
||||||
if (HAVE_movstrsi)
|
if (HAVE_movstrsi)
|
||||||
{
|
{
|
||||||
emit_insn (gen_movstrsi (gen_rtx (MEM, BLKmode, temp),
|
rtx pat = gen_movstrsi (gen_rtx (MEM, BLKmode, temp),
|
||||||
xinner, size, GEN_INT (align)));
|
xinner, size, GEN_INT (align));
|
||||||
goto ret;
|
if (pat != 0)
|
||||||
|
{
|
||||||
|
emit_insn (pat);
|
||||||
|
goto ret;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_movstrdi
|
#ifdef HAVE_movstrdi
|
||||||
if (HAVE_movstrdi)
|
if (HAVE_movstrdi)
|
||||||
{
|
{
|
||||||
emit_insn (gen_movstrdi (gen_rtx (MEM, BLKmode, temp),
|
rtx pat = gen_movstrdi (gen_rtx (MEM, BLKmode, temp),
|
||||||
xinner, size, GEN_INT (align)));
|
xinner, size, GEN_INT (align));
|
||||||
goto ret;
|
if (pat != 0)
|
||||||
|
{
|
||||||
|
emit_insn (pat);
|
||||||
|
goto ret;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue