public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* 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).