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 <li...@gcc.gnu.org>: https://gcc.gnu.org/g:501fba663052b0b4a1eb6a42c32b74c254cbedbc commit r10-10959-g501fba663052b0b4a1eb6a42c32b74c254cbedbc Author: Kewen Lin <li...@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)