optabs.c (expand_binop): Make sure the first subword's result gets stored.
authorDJ Delorie <dj@redhat.com>
Wed, 23 Mar 2005 03:04:10 +0000 (22:04 -0500)
committerDJ Delorie <dj@gcc.gnu.org>
Wed, 23 Mar 2005 03:04:10 +0000 (22:04 -0500)
* optabs.c (expand_binop): Make sure the first subword's result
gets stored.

From-SVN: r96921

gcc/ChangeLog
gcc/optabs.c

index 8f354b5cf2f521671e90200f0bd904fe6b2437f0..61dc2dd4c5c9593e7057aa8cb5946e5e6219d9f8 100644 (file)
@@ -1,3 +1,8 @@
+2005-03-23  DJ Delorie  <dj@redhat.com>
+
+       * optabs.c (expand_binop): Make sure the first subword's result
+       gets stored.
+
 2005-03-23  Joseph S. Myers  <joseph@codesourcery.com>
 
        * c-common.c (c_common_truthvalue_conversion): Adjust comment.
index 57c3339437b5e72ae3e8e6c35d453759983ce296..2a792857fa16a243faccf7597fb73c09abbe6e43 100644 (file)
@@ -1534,6 +1534,11 @@ expand_binop (enum machine_mode mode, optab binoptab, rtx op0, rtx op1,
                }
              emit_move_insn (target_piece, newx);
            }
+         else
+           {
+             if (x != target_piece)
+               emit_move_insn (target_piece, x);
+           }
 
          carry_in = carry_out;
        }