public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: "H.J. Lu" <hjl.tools@gmail.com>
To: Michael Matz <matz@suse.de>
Cc: gcc-patches@gcc.gnu.org, Ira Rosen <IRAR@il.ibm.com>
Subject: Re: Fix PR43432, vectorize backwards stepping loads
Date: Sat, 18 Sep 2010 16:59:00 -0000	[thread overview]
Message-ID: <AANLkTi=jMLfywDVZYYUOG=qFRQ9xwH1rpL5HtgQ46Xfv@mail.gmail.com> (raw)
In-Reply-To: <AANLkTinYWMVDkWEX=TxzhOW-eO+KJ8bFvzxkiTY1GoyR@mail.gmail.com>

On Fri, Sep 17, 2010 at 9:00 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Thu, Sep 9, 2010 at 7:30 AM, Michael Matz <matz@suse.de> wrote:
>> Hi,
>>
>> On Wed, 8 Sep 2010, Ira Rosen wrote:
>>
>>> > Regstrapped on x86_64-linux.  I've had to add x86_64-*-* to
>>> > target-supports.exp/vect_perm recognition which in turn makes
>>> > vect/slp-perm-8.c and vect/slp-perm-9.c fail then.  That's most probably
>>> > because while x86_64 supports permutation for 4 and 8-sized elements it
>>> > doesn't do so for char (slp-perm-8.c) or short (slp-perm-9.c).  I'm going
>>> > to investigate this but seek feedback on the patch itself already now.
>>> >
>>>
>>> Looks good to me.
>>
>> Okay, so here's the complete patch.  Functionality is unchanged, but I
>> extended the testsuite to have vect_perm_byte and vect_perm_short
>> predicates (using them in slp-perm-8.c and slp-perm-9.c), so that I can
>> enable vect_perm on x86_64.  With this one I get no regressions on
>> x86_64-linux (all default languages).  Okay for trunk?
>>
>>
>> Ciao,
>> Michael.
>> --
>>        PR tree-optimization/43432
>>        * tree-vect-data-refs.c (vect_analyze_data_ref_access):
>>        Accept backwards consecutive accesses.
>>        (vect_create_data_ref_ptr): If step is negative generate
>>        decreasing IVs.
>>        * tree-vect-stmts.c (vectorizable_store): Reject negative steps.
>>        (perm_mask_for_reverse, reverse_vec_elements): New functions.
>>        (vectorizable_load): Handle loads with negative steps when easily
>>        possible.
>>
>> testsuite/
>>        PR tree-optimization/43432
>>        * lib/target-supports.exp (check_effective_target_vect_perm_byte,
>>        check_effective_target_vect_perm_short): New predicates.
>>        (check_effective_target_vect_perm): Include x86_64.
>>        * gcc.dg/vect/pr43432.c: New test.
>>        * gcc.dg/vect/vect-114.c: Adjust.
>>        * gcc.dg/vect/vect-15.c: Ditto.
>>        * gcc.dg/vect/slp-perm-8.c: Use new predicate.
>>        * gcc.dg/vect/slp-perm-9.c: Ditto.
>>
>
> This may have caused:
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45706
>

This also caused:

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45720

-- 
H.J.

  reply	other threads:[~2010-09-18 15:57 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-07 13:11 Michael Matz
2010-09-08  7:51 ` Ira Rosen
2010-09-09 15:01   ` Michael Matz
2010-09-09 15:08     ` Paolo Carlini
2010-09-09 15:22       ` Michael Matz
2010-09-09 16:39         ` Paolo Carlini
2010-09-12 11:23     ` Ira Rosen
2010-09-17 16:55     ` H.J. Lu
2010-09-18 16:59       ` H.J. Lu [this message]
2010-09-24 15:31         ` H.J. Lu
2010-09-24 17:58           ` Ira Rosen

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='AANLkTi=jMLfywDVZYYUOG=qFRQ9xwH1rpL5HtgQ46Xfv@mail.gmail.com' \
    --to=hjl.tools@gmail.com \
    --cc=IRAR@il.ibm.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=matz@suse.de \
    /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).