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

--- Comment #7 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-8 branch has been updated by Richard Sandiford
<rsand...@gcc.gnu.org>:

https://gcc.gnu.org/g:42a8453ae895c232082d0bcff9ae0edbe599ffc6

commit r8-10919-g42a8453ae895c232082d0bcff9ae0edbe599ffc6
Author: Richard Sandiford <richard.sandif...@arm.com>
Date:   Mon Apr 26 09:36:48 2021 +0100

    Check for matching CONST_VECTOR encodings [PR99929]

    PR99929 is one of those âhow did we get away with this for so longâ
    bugs: the equality routines weren't checking whether two variable-length
    CONST_VECTORs had the same encoding.  This meant that:

       { 1, 0, 0, 0, 0, 0, ... }

    would appear to be equal to:

       { 1, 0, 1, 0, 1, 0, ... }

    since both are represented using the elements { 1, 0 }.

    gcc/
            PR rtl-optimization/99929
            * rtl.h (same_vector_encodings_p): New function.
            * cse.c (exp_equiv_p): Check that CONST_VECTORs have the same
encoding.
            * cselib.c (rtx_equal_for_cselib_1): Likewise.
            * jump.c (rtx_renumbered_equal_p): Likewise.
            * lra-constraints.c (operands_match_p): Likewise.
            * reload.c (operands_match_p): Likewise.
            * rtl.c (rtx_equal_p_cb, rtx_equal_p): Likewise.

    (cherry picked from commit a87d3f964df31d4fbceb822c6d293e85c117d992)
  • [Bug target/99929] [8 Backport]... cvs-commit at gcc dot gnu.org via Gcc-bugs

Reply via email to