aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1992-07-04 19:02:06 +0000
committerRichard Stallman <rms@gnu.org>1992-07-04 19:02:06 +0000
commitd80e9fd70ca8fb31e4138b7bd433ab38fcdb0b1d (patch)
tree3d82c6e1f7a28f250f613143b57563db67d2d6a7
parent6aeff4656b006b41fefc77bd7a8cffb8e7195a71 (diff)
downloadgcc-d80e9fd70ca8fb31e4138b7bd433ab38fcdb0b1d.zip
gcc-d80e9fd70ca8fb31e4138b7bd433ab38fcdb0b1d.tar.gz
gcc-d80e9fd70ca8fb31e4138b7bd433ab38fcdb0b1d.tar.bz2
*** empty log message ***
From-SVN: r1432
-rw-r--r--gcc/cse.c18
-rw-r--r--gcc/reorg.c8
2 files changed, 19 insertions, 7 deletions
diff --git a/gcc/cse.c b/gcc/cse.c
index 334d899..e4ed58c 100644
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -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