https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97334

--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Richard Biener <rgue...@gcc.gnu.org>:

https://gcc.gnu.org/g:16760e5bf7028dfa36b39af305d05cdf2c15b3a9

commit r11-3750-g16760e5bf7028dfa36b39af305d05cdf2c15b3a9
Author: Richard Biener <rguent...@suse.de>
Date:   Fri Oct 9 12:24:46 2020 +0200

    tree-optimization/97334 - improve BB SLP discovery

    We're running into a multiplication with one unvectorizable
    operand we expect to build from scalars but SLP discovery
    fatally fails the build of both since one stmt is commutated:

      _60 = _58 * _59;
      _63 = _59 * _62;
      _66 = _59 * _65;
    ...

    where _59 is the "bad" operand.  The following patch makes the
    case work where the first stmt has a good operand by not fatally
    failing the SLP build for the operand but communicating upwards
    how to commutate.

    2020-10-09  Richard Biener  <rguent...@suse.de>

            PR tree-optimization/97334
            * tree-vect-slp.c (vect_build_slp_tree_1): Do not fatally
            fail lanes other than zero when BB vectorizing.

            * gcc.dg/vect/bb-slp-pr65935.c: Amend.

Reply via email to