]> gcc.gnu.org Git - gcc.git/commitdiff
(emit_unop_insn): Don't do -fforce-mem for SIGN_EXTEND.
authorRichard Kenner <kenner@gcc.gnu.org>
Wed, 27 Dec 1995 20:25:01 +0000 (15:25 -0500)
committerRichard Kenner <kenner@gcc.gnu.org>
Wed, 27 Dec 1995 20:25:01 +0000 (15:25 -0500)
From-SVN: r10872

gcc/optabs.c

index bb1b8398945bf0c594638eb861fc05161d772a91..cae4c4e9bd090e4e940b4037b3d3a36bef71042a 100644 (file)
@@ -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.  */
This page took 0.059001 seconds and 5 git commands to generate.