On Thu, 26 Jun 2014, Jakub Jelinek wrote:
> On Thu, Jun 26, 2014 at 01:16:41PM +0200, Marc Glisse wrote:
> > >+if (compute_type == TREE_TYPE (type)
> > >+&& !VECTOR_INTEGER_TYPE_P (TREE_TYPE (rhs2)))
> > >+ {
> > >+optab oplv, opl, oprv, opr, opo;
> > >+oplv = opta
On Thu, Jun 26, 2014 at 01:16:41PM +0200, Marc Glisse wrote:
> >+ if (compute_type == TREE_TYPE (type)
> >+ && !VECTOR_INTEGER_TYPE_P (TREE_TYPE (rhs2)))
> >+{
> >+ optab oplv, opl, oprv, opr, opo;
> >+ oplv = optab_for_tree_code (LSHIFT_EXPR, type, optab_vec
On Thu, 26 Jun 2014, Jakub Jelinek wrote:
So like this? I've also changed get_compute_type so that it will DTRT
even for -mavx and V4DImode vectors, so e.g. f5/f6/f8 routines in
avx-pr57233.c improve. Also, even for shifts by scalar, if e.g. target
doesn't have shifts by scalar at all, and onl
On Thu, Jun 26, 2014 at 08:10:15AM +0200, Jakub Jelinek wrote:
> > >+compute_type = get_compute_type (LSHIFT_EXPR, opl, type);
> > >+if (compute_type == TREE_TYPE (type)
> > >+|| compute_type != get_compute_type (RSHIFT_EXPR, opr, type)
> > >+|| compute_type
On Thu, Jun 26, 2014 at 07:43:55AM +0200, Marc Glisse wrote:
> >+ if (compute_type == TREE_TYPE (type)
> >+ && !VECTOR_INTEGER_TYPE_P (TREE_TYPE (rhs2)))
> >+{
> >+ optab oplv, opl, oprv, opr, opo;
> >+ oplv = optab_for_tree_code (LSHIFT_EXPR, type, optab_vec
On Wed, 25 Jun 2014, Jakub Jelinek wrote:
Since we've started folding (a << n) | (a >> (bitsize - n)) etc.
into rotates even vectors, we've regressed code quality on targets
where we do have vector shifts, but don't have vector rotates.
The following patch attempts to fix it, by telling veclowe
Hi!
Since we've started folding (a << n) | (a >> (bitsize - n)) etc.
into rotates even vectors, we've regressed code quality on targets
where we do have vector shifts, but don't have vector rotates.
The following patch attempts to fix it, by telling veclower pass
not to actually lower it if we ha