aboutsummaryrefslogtreecommitdiff
path: root/gcc/expmed.c
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1992-06-28 06:10:54 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1992-06-28 06:10:54 -0400
commit4b980e20ad0778782fdf76e58a71d4a88b5a3df0 (patch)
treeb215796c829e5f18a18e35ba251206bb77efe9af /gcc/expmed.c
parentca3c6eae463a45719741d379a9c52fec613fd2fd (diff)
downloadgcc-4b980e20ad0778782fdf76e58a71d4a88b5a3df0.zip
gcc-4b980e20ad0778782fdf76e58a71d4a88b5a3df0.tar.gz
gcc-4b980e20ad0778782fdf76e58a71d4a88b5a3df0.tar.bz2
*** empty log message ***
From-SVN: r1318
Diffstat (limited to 'gcc/expmed.c')
-rw-r--r--gcc/expmed.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/expmed.c b/gcc/expmed.c
index 9d0962e..a251644 100644
--- a/gcc/expmed.c
+++ b/gcc/expmed.c
@@ -2782,6 +2782,12 @@ emit_store_flag (target, code, op0, op1, mode, unsignedp, normalizep)
else
op0 = subtarget;
+ /* If we want to keep subexpressions around, don't reuse our
+ last target. */
+
+ if (preserve_subexpressions_p ())
+ subtarget = 0;
+
/* Now normalize to the proper value in COMPARE_MODE. Sometimes
we don't have to do anything. */
if (normalizep == 0 || normalizep == STORE_FLAG_VALUE)