diff options
author | Ian Lance Taylor <ian@gcc.gnu.org> | 1996-12-10 20:56:07 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 1996-12-10 20:56:07 +0000 |
commit | bd8c4b14b51412daa1eaeeb11b9742cd395d5cda (patch) | |
tree | 18e90f8bfaed097c883104a8f4e1ad3678875f10 /gcc | |
parent | 8e90e2734ed1211709aa2aaf828b7bad1a91eaaf (diff) | |
download | gcc-bd8c4b14b51412daa1eaeeb11b9742cd395d5cda.zip gcc-bd8c4b14b51412daa1eaeeb11b9742cd395d5cda.tar.gz gcc-bd8c4b14b51412daa1eaeeb11b9742cd395d5cda.tar.bz2 |
Treat ZERO_EXTEND like SIGN_EXTEND in emit_unop_insn
From-SVN: r13262
Diffstat (limited to 'gcc')
-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 d743fc8..22a9d2a 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. */ |