[Bug tree-optimization/97081] [8/9/10 Regression] wrong code for rotate vectorization (x86 target)

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Oct 28 09:32:17 GMT 2020


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

--- Comment #9 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-10 branch has been updated by Richard Biener
<rguenth@gcc.gnu.org>:

https://gcc.gnu.org/g:ca84557f3024c75ede850007099ec9b2c19e9f8a

commit r10-8948-gca84557f3024c75ede850007099ec9b2c19e9f8a
Author: Richard Biener <rguenther@suse.de>
Date:   Fri Sep 18 13:36:24 2020 +0200

    tree-optimization/97081 - fix wrong-code with vectorized shift

    This corrects the mask for creation of x << s | x >> (-x & mask)
    from a rotate x <<r s to use the precision of x.

    2020-09-18  Richard Biener  <rguenther@suse.de>

            PR tree-optimization/97081
            * tree-vect-patterns.c (vect_recog_rotate_pattern): Use the
            precision of the shifted operand to determine the mask.

            * gcc.dg/vect/pr97081.c: New testcase.

    (cherry picked from commit 9c9b88fdcff3520b2c4fb520c5d3b422eaa9a72f)


More information about the Gcc-bugs mailing list