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] |
"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] |