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] |
Hello Dorit! > > I'm a little lost here, but it seems to me that returning false from > > vectorizable_operation() isn't the right thing to do to skip the > transform. > > That's probably because you placed the proposed code in the wrong place - > it should be *before* the transform part in vectorizable_operation() (I Thanks for your explanation! Attached to this message, please find an updated patch that works as expected for the tests in attached testcase. Regarding probems with (scalar) shift operations that Paolo pointed out: I have checked that patch does not break for his testcase. I'm not that familiar with generic vectorisation, but I think that this kind of (scalar) shifts should be decomposed in some other place without going through the vectorizable_operation() function. 2005-09-13 Uros Bizjak <uros@kss-loka.si> PR middle-end/22480 * tree-vect-transform.c (vectorizable_operation): Return false for scalar shift operations and for vector shift operations with non-invariant shift arguments. Use scalar tree operand op1 as a shift operand when vector shift insn pattern uses scalar shift operand. * Makefile.in (tree-vect-transform.o): Depend on recog.h. testsuite/ChangeLog: 2005-09-13 Uros Bizjak <uros@kss-loka.si> PR middle-end/22480 * gcc.dg/vect/pr22480.c: New test. Patch was regtested on i686-pc-linux-gnu for c and c++. Uros.
Attachment:
pr22480.diff
Description: Binary data
Attachment:
pr22480.c
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |