public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Richard Biener <richard.guenther@gmail.com>
To: Ilya Enkovich <enkovich.gnu@gmail.com>
Cc: GCC Patches <gcc-patches@gcc.gnu.org>
Subject: Re: [PATCH, vec-tails 04/10] Add masking cost
Date: Fri, 20 May 2016 11:15:00 -0000	[thread overview]
Message-ID: <CAFiYyc2Z-Yn7=AmPf=jyCoFqT4VUKxZPdDwUtonatOy+1snq6Q@mail.gmail.com> (raw)
In-Reply-To: <CAMbmDYYyeTJQLQ_8sscYnrd9bw1OgFkRtZYQdrB_1hORHZe36g@mail.gmail.com>

On Fri, May 20, 2016 at 11:44 AM, Ilya Enkovich <enkovich.gnu@gmail.com> wrote:
> 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.

Yes, but for this kind of purpose you could simply re-start
separate costing via the init_cost hook?

>> 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.

I agree we need some kind of overloading and I'm not against a separate hook
for this.  On a related note what is "masking cost" here?  I could imagine
that masking doesn't unconditionally add a cost to a stmt but its execution
cost may now depend on whether an element is masked or not.

Does the hook return the cost of the masked stmt or the cost of masking
the stmt only (so you need to do add_stmt_cost as well on the same stmt)?

Thanks,
Richard.

> Thanks,
> Ilya
>
>>
>> Richard.
>>
>>> Thanks,
>>> Ilya

  reply	other threads:[~2016-05-20 11:15 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-19 19:41 Ilya Enkovich
2016-05-20  9:24 ` Richard Biener
2016-05-20  9:44   ` Ilya Enkovich
2016-05-20 11:15     ` Richard Biener [this message]
2016-05-20 11:32       ` Ilya Enkovich
2016-06-16  6:06         ` Jeff Law
2016-06-16  6:17 ` Jeff Law
2016-06-22 14:16   ` Ilya Enkovich
2016-07-11 13:38     ` Ilya Enkovich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAFiYyc2Z-Yn7=AmPf=jyCoFqT4VUKxZPdDwUtonatOy+1snq6Q@mail.gmail.com' \
    --to=richard.guenther@gmail.com \
    --cc=enkovich.gnu@gmail.com \
    --cc=gcc-patches@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).