* regmove.c (copy_src_to_dest): Check that modes match.
authorJ"orn Rennecke <amylaar@cygnus.co.uk>
Thu, 17 Sep 1998 04:27:27 +0000 (04:27 +0000)
committerJoern Rennecke <amylaar@gcc.gnu.org>
Thu, 17 Sep 1998 04:27:27 +0000 (05:27 +0100)
From-SVN: r22460

gcc/ChangeLog
gcc/regmove.c

index a581b4758acdf3ef79331fbc61bc6e6391fe4e51..791cc44d7a057eb0c1586945515e722c8502b013 100644 (file)
@@ -1,3 +1,7 @@
+Thu Sep 17 12:24:33 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * regmove.c (copy_src_to_dest): Check that modes match.
+
 Wed Sep 16 22:10:42 1998  Robert Lipe  <robertl@dgii.com>
 
        * config/i386/sco5.h (SUPPORTS_WEAK): True only if targeting ELF.
index d8dec1faed07b5c2480e2dd8bc8b7b4a38998ec5..7f94be4ff89381a9123129a0ba880a8196947350 100644 (file)
@@ -617,7 +617,8 @@ copy_src_to_dest (insn, src, dest, loop_depth)
       && GET_CODE (dest) == REG
       && REG_LIVE_LENGTH (REGNO (dest)) > 0
       && (set = single_set (insn)) != NULL_RTX
-      && !reg_mentioned_p (dest, SET_SRC (set)))
+      && !reg_mentioned_p (dest, SET_SRC (set))
+      && GET_MODE (src) == GET_MODE (dest))
     {
       int old_num_regs = reg_rtx_no;