[PATCH, vec-tails 04/10] Add masking cost
Ilya Enkovich
enkovich.gnu@gmail.com
Fri May 20 09:44:00 GMT 2016
2016-05-20 12:24 GMT+03:00 Richard Biener <richard.guenther@gmail.com>:
> On Thu, May 19, 2016 at 9:40 PM, Ilya Enkovich <enkovich.gnu@gmail.com> wrote:
>> Hi,
>>
>> This patch extends vectorizer cost model to include masking cost by
>> adding new cost model locations and new target hook to compute
>> masking cost.
>
> Can you explain a bit why you add separate overall
> masking_prologue/body_cost rather
> than using the existing prologue/body cost for that?
When I make a decision I need vector loop cost without masking (what
we currently
have) and with masking (what I add). This allows me to compute
profitability for
all options (scalar epilogue, combined epilogue, masked epilogue) and choose one
of them. Using existing prologue/body cost would allow me compute masking
profitability with no fall back to scalar loop profitability.
>
> I realize that the current vectorizer cost infrastructure is a big
> mess, but isn't it possible
> to achieve what you did with the current add_stmt_cost hook? (by
> inspecting stmt_info)
Cost of a statement and cost of masking a statement are different things.
Two hooks called for the same statement return different values. I can
add vect_cost_for_stmt enum elements to cover masking but I thought
having stmt_masking_cost would me more clear.
Thanks,
Ilya
>
> Richard.
>
>> Thanks,
>> Ilya
More information about the Gcc-patches
mailing list