[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[avr-gcc-list] avr_rtx_cost for DImode values?
From: |
Senthil Kumar Selvaraj |
Subject: |
[avr-gcc-list] avr_rtx_cost for DImode values? |
Date: |
Tue, 18 Mar 2014 23:03:54 +0530 |
User-agent: |
Mutt/1.5.22 (2013-10-16) |
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
- [avr-gcc-list] avr_rtx_cost for DImode values?,
Senthil Kumar Selvaraj <=