diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-07-29 22:22:41 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-07-29 22:22:41 +0000 |
commit | c9f7685f6573c9c5db98cb3837131de4ed29f80e (patch) | |
tree | 7422c6f520abc7c3130ef5743f9e08959e3f3236 /gcc/expr.c | |
parent | 4f8bd4e3de4684ce7fef8dfff7710a5814205f47 (diff) | |
download | gcc-c9f7685f6573c9c5db98cb3837131de4ed29f80e.tar.gz |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102570 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/expr.c')
-rw-r--r-- | gcc/expr.c | 12 |
1 files changed, 0 insertions, 12 deletions
diff --git a/gcc/expr.c b/gcc/expr.c index c263ebf95e8..472e10a1579 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) { |