avr_rtx_cost for DImode values?

Senthil Kumar Selvaraj <[email protected]>
Newsgroups gmane.comp.hardware.avr.gcc
Message-ID <[email protected]>
Hi,

  I see that the avr_rtx_costs_1 function returns relative costs for a
  variety of RTL codes, but only for non-DImode operands. For DImode,
  it returns false, and gcc uses its idea of the cost plus the costs of
  operands (found by recursing into the RTL expression) instead.

  Is there a reason why this has not been done?

  I was trying to debug compilation timeouts in the latest trunk test
  results (http://gcc.gnu.org/ml/gcc-testresults/2014-03/msg01239.html)
  - specifically 
  WARNING: program timed out.
  FAIL: gcc.c-torture/execute/20041011-1.c compilation,  -O1 

  and found that expmed.c:choose_mult_variant takes a lot of time to
  finish if a DImode value of -513 is provided. From my initial
  analysis, it looks like it has to do with cost values being off for
  DImode RTL operations (making MULT in avr_rtx_costs_1 to return
  twice the cost of SImode for DImode fixed the timeout). Has
  someone seen or fixed something like this before?

Regards
Senthil
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.