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]

[patch, vect] Fix PR 37161


Hi,

My recent patch to support multiple types in SLP caused
gfortran.dg/vect/pr33301.f to ICE, since it didn't take into account cases
with promotion operation from loop invariant RHS (see PR 33301 for more
details). This patch adds the checks of RHS type to the SLP analysis
similar to the checks in loop-based vectorization added by Dorit as a fix
of PR 33301.

Bootstrapped with vectorization enabled on x86_64-linux and tested on
vectorization testsuite on x86_64-linux and ppc-linux. Now fully testing it
on x86_64-linux. O.K. for mainline once the testing completes?

Thanks,
Ira

ChangeLog:

      * tree-vect-analyze.c (vect_build_slp_tree): Take the type of RHS
into
      account if necessary. Remove redundant code.
      * tree-vect-transform.c (vect_get_constant_vectors): Add argument.
      (vect_get_slp_defs): Take the type of RHS into account if necessary.
      Call vect_get_constant_vectors with additional argument.

(See attached file: pr37161.txt)

Attachment: pr37161.txt
Description: Text document


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