[Bug target/101529] [11 Regression] wrong code with __builtin_convertvector() and __builtin_shufflevector() at -Og caused by r11-2192

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Jan 26 17:51:40 GMT 2022


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

--- Comment #10 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-11 branch has been updated by Andrew Pinski
<pinskia@gcc.gnu.org>:

https://gcc.gnu.org/g:193e5ee46e5a4f0650dc1ccbdaec5d2e84f2a451

commit r11-9515-g193e5ee46e5a4f0650dc1ccbdaec5d2e84f2a451
Author: Andrew Pinski <apinski@marvell.com>
Date:   Sat Nov 6 06:29:13 2021 +0000

    aarch64: [PR101529] Fix vector shuffle insertion expansion

    The function aarch64_evpc_ins would reuse the target even though
    it might be the same register as the two inputs.
    Instead of checking to see if we can reuse the target, just use the
    original input directly.

    Committed as approved after bootstrapped and tested on
    aarch64-linux-gnu with no regressions.
    Note the testcases are not backported as __builtin_shufflevector
    does not exist in GCC 11.

            PR target/101529

    gcc/ChangeLog:

            * config/aarch64/aarch64.c (aarch64_evpc_ins): Don't use target
            as an input, use original one.

    (cherry picked from commit 52fa771758635d9c53cddb9116e5a66fae592230)


More information about the Gcc-bugs mailing list