public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Ilya Enkovich <enkovich.gnu@gmail.com>
To: Jeff Law <law@redhat.com>
Cc: gcc-patches@gcc.gnu.org
Subject: Re: [PATCH, vec-tails 07/10] Support loop epilogue combining
Date: Tue, 28 Jun 2016 14:16:00 -0000	[thread overview]
Message-ID: <20160628140633.GB11812@msticlxl57.ims.intel.com> (raw)
In-Reply-To: <20160628122439.GB4143@msticlxl57.ims.intel.com>

On 28 Jun 15:24, Ilya Enkovich wrote:
> On 16 Jun 10:54, Jeff Law wrote:
> > 
> > I don't see anything particularly worrisome here either -- I have a slight
> > concern about correctness issues with only masking loads/stores and
> > reductions.  But I will defer to your judgment on whether or not there's
> > other stuff that we need to mask to combine the epilogue with the loop via
> > masking.
> 
> We have to mask operations which may cause errors if executed speculatively.
> For others we just ignore produced result.  So we don't truly mask reductions
> but fix-up their results.  I assume memory accesses are only ones we have to
> truly mask (plus non-const calls which are rejected now).  For signalling
> arithmetic I assumed we just don't vectorize it.
> 
> Basically we should act similar to if-conversion.  I'll check if it has
> restrictions I miss.

I see if-conversion pass checks non-memory statements using gimple_could_trap_p_1
but I don't see similar checks in the vectorizer.  Therefore I add similar
check into patch #05.

Currently we don't have a way to mask such statements except mask their operands
to exclude zeros, NaNs etc. and replace them with whatever we want.  This seems
inefficient though and most probably wouldn't fold into real masked instruction
on RTL.  We may handle those cases later if find them important.

Thanks,
Ilya

> 
> > 
> > Jeff
> 
> Here is an updated patch version.
> 
> Thanks,
> Ilya
> --

  reply	other threads:[~2016-06-28 14:09 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-19 19:46 Ilya Enkovich
2016-06-15 11:44 ` Richard Biener
2016-06-16 15:41   ` Ilya Enkovich
2016-06-16 15:51     ` Jeff Law
2016-06-16 16:03       ` Ilya Enkovich
2016-06-16 16:54 ` Jeff Law
2016-06-28 13:37   ` Ilya Enkovich
2016-06-28 14:16     ` Ilya Enkovich [this message]
2016-07-11 13:39     ` Ilya Enkovich
2016-07-14 22:04     ` Jeff Law
2016-07-20 14:40       ` Ilya Enkovich
2016-07-20 16:24         ` Jeff Law
2016-07-21  9:15           ` Ilya Enkovich
2016-07-21 16:34             ` Jeff Law
2016-07-22 11:36               ` Richard Biener
2016-07-25 18:01                 ` Jeff Law
2016-07-25 18:33                   ` Richard Biener
2016-07-25 21:08                     ` Jeff Law
2016-07-26  9:57                       ` Ilya Enkovich
2016-07-26 11:51                         ` Richard Biener
2016-07-26 13:03                           ` Ilya Enkovich
2016-07-26 13:05                             ` Richard Biener
2016-07-26 15:26                         ` Jeff Law
2016-07-26 15:38                           ` Ilya Enkovich
2016-08-01  9:09                             ` Ilya Enkovich
2016-08-01 16:10                               ` Jeff Law
2016-09-02 14:46                                 ` Yuri Rumyantsev
2016-09-02 16:33                                   ` Bin.Cheng
2016-09-05  7:39                                   ` Richard Biener

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=20160628140633.GB11812@msticlxl57.ims.intel.com \
    --to=enkovich.gnu@gmail.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=law@redhat.com \
    /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).