]> git.ipfire.org Git - thirdparty/gcc.git/commit
rs6000: Adjust mov optabs for opaque modes [PR103353]
authorKewen Lin <linkw@linux.ibm.com>
Tue, 23 Aug 2022 08:31:17 +0000 (03:31 -0500)
committerKewen Lin <linkw@linux.ibm.com>
Wed, 24 Aug 2022 02:33:22 +0000 (21:33 -0500)
commit501fba663052b0b4a1eb6a42c32b74c254cbedbc
tree9aae797bc7a39cebc40be271b5b1534a0dee3873
parent9b72dfbcc08bc5ecb7fecb6750a07cdb90658cce
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)
gcc/config/rs6000/mma.md
gcc/testsuite/gcc.target/powerpc/pr103353.c [new file with mode: 0644]