* unconditional gen_rtx_MULT in expr.c
@ 2011-08-24 4:55 DJ Delorie
0 siblings, 0 replies; only message in thread
From: DJ Delorie @ 2011-08-24 4:55 UTC (permalink / raw)
To: gcc
expr.c line 8139 has this:
/* Attempt to return something suitable for generating an
indexed address, for machines that support that. */
if (modifier == EXPAND_SUM && mode == ptr_mode
&& host_integerp (treeop1, 0))
{
tree exp1 = treeop1;
op0 = expand_expr (treeop0, subtarget, VOIDmode,
EXPAND_SUM);
if (!REG_P (op0))
op0 = force_operand (op0, NULL_RTX);
if (!REG_P (op0))
op0 = copy_to_mode_reg (mode, op0);
return REDUCE_BIT_FIELD (gen_rtx_MULT (mode, op0,
gen_int_mode (tree_low_cst (exp1, 0),
TYPE_MODE (TREE_TYPE (exp1)))));
}
Why isn't there a check to see if the machine actually supports that
MULT before blindly generating it? The expand_mult() that follows is
able to handle that case if the machine doesn't have indexed addresses
or a real MUL insn.
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2011-08-24 4:55 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-08-24 4:55 unconditional gen_rtx_MULT in expr.c DJ Delorie
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).