OSDN Git Service

(expand_expr, case ABS_EXPR): Don't copy twice into volatile MEM.
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 9 Oct 1993 19:19:52 +0000 (19:19 +0000)
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 9 Oct 1993 19:19:52 +0000 (19:19 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@5698 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/expr.c

index f31e048..91b2d6e 100644 (file)
@@ -5001,6 +5001,7 @@ expand_expr (exp, target, tmode, modifier)
       target = original_target;
       temp = gen_label_rtx ();
       if (target == 0 || ! safe_from_p (target, TREE_OPERAND (exp, 0))
+         || (GET_CODE (target) == MEM && MEM_VOLATILE_P (target))
          || (GET_CODE (target) == REG
              && REGNO (target) < FIRST_PSEUDO_REGISTER))
        target = gen_reg_rtx (mode);