aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1994-05-13 15:12:01 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1994-05-13 15:12:01 -0400
commit6cdbaec41bb6b33c0f5bb30770a70b6a8af8af59 (patch)
tree3bc211e5132e0db289121bd58f45cff2c60f7004
parent95da80ce8060d23659688dab31962d53ba387772 (diff)
downloadgcc-6cdbaec41bb6b33c0f5bb30770a70b6a8af8af59.zip
gcc-6cdbaec41bb6b33c0f5bb30770a70b6a8af8af59.tar.gz
gcc-6cdbaec41bb6b33c0f5bb30770a70b6a8af8af59.tar.bz2
(cse_insn): Correctly check for two modes being the same number of
words. From-SVN: r7292
-rw-r--r--gcc/cse.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/cse.c b/gcc/cse.c
index 926f06b..6eb8758 100644
--- 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)