(cse_insn): Correctly check for two modes being the same number of
authorRichard Kenner <kenner@gcc.gnu.org>
Fri, 13 May 1994 19:12:01 +0000 (15:12 -0400)
committerRichard Kenner <kenner@gcc.gnu.org>
Fri, 13 May 1994 19:12:01 +0000 (15:12 -0400)
words.

From-SVN: r7292

gcc/cse.c

index 926f06b68a02379c1b52b112550b3ccc6b4a5259..6eb8758a2b9036a7729be562578155866fcd3d6e 100644 (file)
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -7128,8 +7128,9 @@ cse_insn (insn, in_libcall_block)
           already entered SRC and DEST of the SET in the table.  */
 
        if (GET_CODE (dest) == SUBREG
-           && (GET_MODE_SIZE (GET_MODE (SUBREG_REG (dest))) / UNITS_PER_WORD
-               == GET_MODE_SIZE (GET_MODE (dest)) / UNITS_PER_WORD)
+           && (((GET_MODE_SIZE (GET_MODE (SUBREG_REG (dest))) - 1)
+                / UNITS_PER_WORD)
+               == (GET_MODE_SIZE (GET_MODE (dest)) - 1)/ UNITS_PER_WORD)
            && (GET_MODE_SIZE (GET_MODE (dest))
                >= GET_MODE_SIZE (GET_MODE (SUBREG_REG (dest))))
            && sets[i].src_elt != 0)