diff options
author | Richard Stallman <rms@gnu.org> | 1992-07-04 19:02:06 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1992-07-04 19:02:06 +0000 |
commit | d80e9fd70ca8fb31e4138b7bd433ab38fcdb0b1d (patch) | |
tree | 3d82c6e1f7a28f250f613143b57563db67d2d6a7 | |
parent | 6aeff4656b006b41fefc77bd7a8cffb8e7195a71 (diff) | |
download | gcc-d80e9fd70ca8fb31e4138b7bd433ab38fcdb0b1d.zip gcc-d80e9fd70ca8fb31e4138b7bd433ab38fcdb0b1d.tar.gz gcc-d80e9fd70ca8fb31e4138b7bd433ab38fcdb0b1d.tar.bz2 |
*** empty log message ***
From-SVN: r1432
-rw-r--r-- | gcc/cse.c | 18 | ||||
-rw-r--r-- | gcc/reorg.c | 8 |
2 files changed, 19 insertions, 7 deletions
@@ -2879,7 +2879,14 @@ simplify_unary_operation (code, mode, op, op_mode) if (op_mode == VOIDmode) op_mode = mode; if (GET_MODE_BITSIZE (op_mode) == HOST_BITS_PER_INT) - val = arg0; + { + /* If we were really extending the mode, + we would have to distinguish between zero-extension + and sign-extension. */ + if (width != GET_MODE_BITSIZE (op_mode)) + abort (); + val = arg0; + } else if (GET_MODE_BITSIZE (op_mode) < HOST_BITS_PER_INT) val = arg0 & ~((-1) << GET_MODE_BITSIZE (op_mode)); else @@ -2890,7 +2897,14 @@ simplify_unary_operation (code, mode, op, op_mode) if (op_mode == VOIDmode) op_mode = mode; if (GET_MODE_BITSIZE (op_mode) == HOST_BITS_PER_INT) - val = arg0; + { + /* If we were really extending the mode, + we would have to distinguish between zero-extension + and sign-extension. */ + if (width != GET_MODE_BITSIZE (op_mode)) + abort (); + val = arg0; + } else if (GET_MODE_BITSIZE (op_mode) < HOST_BITS_PER_INT) { val = arg0 & ~((-1) << GET_MODE_BITSIZE (op_mode)); diff --git a/gcc/reorg.c b/gcc/reorg.c index 50c97c3..dfeab51 100644 --- a/gcc/reorg.c +++ b/gcc/reorg.c @@ -19,11 +19,6 @@ You should have received a copy of the GNU General Public License along with GNU CC; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ - -#include "insn-attr.h" - -#ifdef DELAY_SLOTS - /* Instruction reorganization pass. This pass runs after register allocation and final jump @@ -125,6 +120,9 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "flags.h" #include "output.h" #include "obstack.h" +#include "insn-attr.h" + +#ifdef DELAY_SLOTS #define obstack_chunk_alloc xmalloc #define obstack_chunk_free free |