From: Richard Kenner Date: Wed, 27 Dec 1995 20:25:01 +0000 (-0500) Subject: (emit_unop_insn): Don't do -fforce-mem for SIGN_EXTEND. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8e1e2862ad00842e7cd07d024e9044f0bdc7e6ee;p=gcc.git (emit_unop_insn): Don't do -fforce-mem for SIGN_EXTEND. From-SVN: r10872 --- diff --git a/gcc/optabs.c b/gcc/optabs.c index bb1b8398945..cae4c4e9bd0 100644 --- a/gcc/optabs.c +++ b/gcc/optabs.c @@ -2374,7 +2374,9 @@ emit_unop_insn (icode, target, op0, code) op0 = protect_from_queue (op0, 0); - if (flag_force_mem) + /* Sign extension from memory is often done specially on RISC + machines, so forcing into a register here can pessimize code. */ + if (flag_force_mem && code != SIGN_EXTEND) op0 = force_not_mem (op0); /* Now, if insn does not accept our operands, put them into pseudos. */