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

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

https://gcc.gnu.org/g:69c4b5c519f0df37e4903992644cc29682721bc1

commit r13-468-g69c4b5c519f0df37e4903992644cc29682721bc1
Author: liuhongt <hongtao....@intel.com>
Date:   Fri May 13 15:48:01 2022 +0800

    Fix ICE caused by wrong condition.

    When d->perm[i] == d->perm[i-1] + 1 and d->perm[i] == nelt, it's not
    continuous. It should fail if there's more than 2 continuous areas.

    gcc/ChangeLog:

            PR target/105587
            * config/i386/i386-expand.cc
            (expand_vec_perm_pslldq_psrldq_por): Fail when (d->perm[i] ==
            d->perm[i-1] + 1) && d->perm[i] == nelt && start != -1.

    gcc/testsuite/ChangeLog:

            * gcc.target/i386/pr105587.c: New test.

Reply via email to