This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH, i386]: Committed: Fix PR target/33369 (target part): [4.3 Regression] suffix or operands invalid for `pslld'



"Uros Bizjak" <ubizjak@gmail.com> wrote on 10/09/2007 12:10:13:

> Hello!
>
> This is in fact the problem, exposed by new SLP pass that doesn't
> check target optabs if vec shift by vec constant is supported (this is
> the same problem as was fixed for PR target/22480 for loop
> vectorizer.).

Well, it does check, but later the transformation phase ignores scalar
operand and always builds a vector for SLP. The fix is attached. I am now
bootstrapping and testing it on x86_64-linux and ppc-linux. OK for mainline
once the testing completes?

Thanks,
Ira


ChangeLog:

      * tree-vect-transform.c (vect_get_slp_defs): Don't build a vector
      for oprnd1 if not required.
      (vectorizable_operation): Use scalar operand in SLP in case of
      shift with scalar argument.

(See attached file: shifts.txt)

Attachment: shifts.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]