OSDN Git Service

Treat ZERO_EXTEND like SIGN_EXTEND in emit_unop_insn
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 10 Dec 1996 20:56:07 +0000 (20:56 +0000)
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 10 Dec 1996 20:56:07 +0000 (20:56 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@13262 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/optabs.c

index d743fc8..22a9d2a 100644 (file)
@@ -2388,9 +2388,10 @@ emit_unop_insn (icode, target, op0, code)
 
   op0 = protect_from_queue (op0, 0);
 
-  /* 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)
+  /* Sign and zero 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 && code != ZERO_EXTEND)
     op0 = force_not_mem (op0);
 
   /* Now, if insn does not accept our operands, put them into pseudos.  */