aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2005-07-30 00:22:41 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2005-07-29 22:22:41 +0000
commit3bc751bdfeb8cdd76c9a0214f0f9da6b440b590c (patch)
tree7422c6f520abc7c3130ef5743f9e08959e3f3236 /gcc/expr.c
parent0bab7d3f439709b993ee0d87316a37c78d50e266 (diff)
downloadgcc-3bc751bdfeb8cdd76c9a0214f0f9da6b440b590c.zip
gcc-3bc751bdfeb8cdd76c9a0214f0f9da6b440b590c.tar.gz
gcc-3bc751bdfeb8cdd76c9a0214f0f9da6b440b590c.tar.bz2
expr.c (expand_expr_real_1): Do not load mem targets into register.
* expr.c (expand_expr_real_1): Do not load mem targets into register. * i386.c (ix86_fixup_binary_operands): Likewise. (ix86_expand_unary_operator): Likewise. (ix86_expand_fp_absneg_operator): Likewise. * optabs.c (expand_vec_cond_expr): Validate dest. From-SVN: r102570
Diffstat (limited to 'gcc/expr.c')
-rw-r--r--gcc/expr.c12
1 files changed, 0 insertions, 12 deletions
diff --git a/gcc/expr.c b/gcc/expr.c
index c263ebf..472e10a 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -6578,18 +6578,6 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode,
target = 0;
}
- /* If will do cse, generate all results into pseudo registers
- since 1) that allows cse to find more things
- and 2) otherwise cse could produce an insn the machine
- cannot support. An exception is a CONSTRUCTOR into a multi-word
- MEM: that's much more likely to be most efficient into the MEM.
- Another is a CALL_EXPR which must return in memory. */
-
- if (! cse_not_expected && mode != BLKmode && target
- && (!REG_P (target) || REGNO (target) < FIRST_PSEUDO_REGISTER)
- && ! (code == CONSTRUCTOR && GET_MODE_SIZE (mode) > UNITS_PER_WORD)
- && ! (code == CALL_EXPR && aggregate_value_p (exp, exp)))
- target = 0;
switch (code)
{