27 Jun 2012 18:07
Re: [PATCH 1/3] Add rtx costs for sse integer ops
Igor Zamyatin <izamyatin <at> gmail.com>
2012-06-27 16:07:06 GMT
2012-06-27 16:07:06 GMT
May I ask about the purpose of the following piece of change? Doesn't
it affect non-sse cases either?
<at> <at> -32038,7 +32042,15 <at> <at> ix86_rtx_costs (rtx x, int code, int
outer_code_i, int opno, int *total,
case ASHIFTRT:
case LSHIFTRT:
case ROTATERT:
- if (!TARGET_64BIT && GET_MODE (XEXP (x, 0)) == DImode)
+ if (GET_MODE_CLASS (mode) == MODE_VECTOR_INT)
+ {
+ /* ??? Should be SSE vector operation cost. */
+ /* At least for published AMD latencies, this really is the same
+ as the latency for a simple fpu operation like fabs. */
+ *total = cost->fabs;
+ return false;
+ }
+ if (GET_MODE_SIZE (mode) < UNITS_PER_WORD)
{
if (CONST_INT_P (XEXP (x, 1)))
{
It also seems that we reversed the condition for the code that is now
under if (GET_MODE_SIZE (mode) < UNITS_PER_WORD). Why do we need this?
Thanks,
Igor
-----Original Message-----
From: gcc-patches-owner <at> gcc.gnu.org
(Continue reading)
RSS Feed