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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |tnfchris at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
887       perm.create (SLP_TREE_LANES (rep));
888     
889       for (unsigned x = 0; x < SLP_TREE_LANES (rep); x+=2)
890         {
891           perm.quick_push (std::make_pair (0, x));
892           perm.quick_push (std::make_pair (1, x+1));
893         }

that was added in r11-6693-ge09173d84dabd186ad2463f47350c1bcabfeab8f
can't really work, it allocates just SLP_TREE_LANES (resp) elements,
but can quick_push one more elements - when SLP_TREE_LANES is odd (in this
testcase 3).  So, either some caller needs to ensure SLP_TREE_LANES is even or
this function isn't called, or it needs to be changed to handle even odd
numbers.

Reply via email to