diff options
author | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 1996-12-10 20:56:07 +0000 |
---|---|---|
committer | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 1996-12-10 20:56:07 +0000 |
commit | ce46332dfe00bbaa085ca9968aba59a47f90df9a (patch) | |
tree | 18e90f8bfaed097c883104a8f4e1ad3678875f10 /gcc/optabs.c | |
parent | 25f4ea757f36c60cd8a79662d2a0fc097a8379ce (diff) | |
download | gcc-ce46332dfe00bbaa085ca9968aba59a47f90df9a.tar.gz |
Treat ZERO_EXTEND like SIGN_EXTEND in emit_unop_insn
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@13262 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/optabs.c')
-rw-r--r-- | gcc/optabs.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/optabs.c b/gcc/optabs.c index d743fc8bd5e..22a9d2a720f 100644 --- a/gcc/optabs.c +++ b/gcc/optabs.c @@ -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. */ |