[Bug target/103353] Indefinite recursion when compiling -mmma requiring testcase w/ -maltivec

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Aug 24 02:35:41 GMT 2022


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

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

https://gcc.gnu.org/g:501fba663052b0b4a1eb6a42c32b74c254cbedbc

commit r10-10959-g501fba663052b0b4a1eb6a42c32b74c254cbedbc
Author: Kewen Lin <linkw@linux.ibm.com>
Date:   Tue Aug 23 03:31:17 2022 -0500

    rs6000: Adjust mov optabs for opaque modes [PR103353]

    As PR103353 shows, we may want to continue to expand built-in
    function __builtin_vsx_lxvp, even if we have already emitted
    error messages about some missing required conditions.  As
    shown in that PR, without one explicit mov optab on OOmode
    provided, it would call emit_move_insn recursively.

    So this patch is to allow the mov pattern to be generated during
    expanding phase if compiler has already seen errors.

            PR target/103353

    gcc/ChangeLog:

            * config/rs6000/mma.md (define_expand movpoi): Move TARGET_MMA
condition
            check to preparation statements and add handlings for !TARGET_MMA.
            (define_expand movpxi): Likewise.

    gcc/testsuite/ChangeLog:

            * gcc.target/powerpc/pr103353.c: New test.

    (cherry picked from commit 9367e3a65f874dffc8f8a3b6760e77fd9ed67117)


More information about the Gcc-bugs mailing list