Remove #if 0. Copy operands[1] to pseudo for simplify_gen_subreg.
authorFariborz Jahanian <fjahanian@apple.com>
Fri, 30 Jan 2004 18:51:35 +0000 (18:51 +0000)
committerFariborz Jahanian <fjahanian@gcc.gnu.org>
Fri, 30 Jan 2004 18:51:35 +0000 (18:51 +0000)
OKed by David Edehlson.

From-SVN: r76984

gcc/ChangeLog
gcc/config/rs6000/rs6000.c

index bb3578e..11c3060 100644 (file)
@@ -1,3 +1,8 @@
+2004-01-30  Fariborz Jahanian <fjahanian@apple.com>
+        
+        * config/rs6000/rs6000.c (rs6000_emit_move): Remove #if 0. 
+       Copy operands[1] to pseudo for simplify_gen_subreg.
+
 2004-01-30  Kazu Hirata  <kazu@cs.umass.edu>
 
        * gcse.c (bypass_block): Fix a typo in the previous check-in
index 4969cd1..c2daec6 100644 (file)
@@ -3426,7 +3426,6 @@ rs6000_emit_move (rtx dest, rtx source, enum machine_mode mode)
                      adjust_address (operands[1], SImode, 4));
       return;
     }
-#if 0
     else if (mode == DImode && TARGET_POWERPC64
                && GET_CODE (operands[0]) == REG
                && GET_CODE (operands[1]) == MEM && optimize > 0
@@ -3462,11 +3461,11 @@ rs6000_emit_move (rtx dest, rtx source, enum machine_mode mode)
                        gen_rtx_LSHIFTRT (DImode, operands[1], GEN_INT (32)));
         emit_move_insn (adjust_address (operands[0], SImode, 0),
                        simplify_gen_subreg (SImode, reg, DImode, 0));
+        emit_move_insn (reg, operands[1]);
         emit_move_insn (adjust_address (operands[0], SImode, 4),
-                       simplify_gen_subreg (SImode, operands[1], DImode, 0));
+                       simplify_gen_subreg (SImode, reg, DImode, 0));
         return;
       }
-#endif
   
   if (!no_new_pseudos)
     {