]> git.ipfire.org Git - people/ms/gcc.git/commit
rs6000: Teach rs6000_opaque_type_invalid_use_p about inline asm [PR108272]
authorKewen Lin <linkw@linux.ibm.com>
Mon, 16 Jan 2023 08:15:39 +0000 (02:15 -0600)
committerKewen Lin <linkw@linux.ibm.com>
Mon, 13 Feb 2023 02:06:30 +0000 (20:06 -0600)
commit79a81d526babb6ffb6d85b4a05b29269470ab49d
tree95bb6eaf6b46f27aa5a29353850d947ea0eb821f
parent11e6c122c54c964a3fa239d340902b457b57b72d
rs6000: Teach rs6000_opaque_type_invalid_use_p about inline asm [PR108272]

As PR108272 shows, there are some invalid uses of MMA opaque
types in inline asm statements.  This patch is to teach the
function rs6000_opaque_type_invalid_use_p for inline asm,
check and error any invalid use of MMA opaque types in input
and output operands.

PR target/108272

gcc/ChangeLog:

* config/rs6000/rs6000.c (rs6000_opaque_type_invalid_use_p): Add the
support for invalid uses in inline asm, factor out the checking and
erroring to lambda function check_and_error_invalid_use.

gcc/testsuite/ChangeLog:

* gcc.target/powerpc/pr108272-1.c: New test.
* gcc.target/powerpc/pr108272-2.c: New test.
* gcc.target/powerpc/pr108272-3.c: New test.
* gcc.target/powerpc/pr108272-4.c: New test.

(cherry picked from commit 074b0c03eabeb8e9c8de813c81bf87a1f88fdb65)
gcc/config/rs6000/rs6000.c
gcc/testsuite/gcc.target/powerpc/pr108272-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/pr108272-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/pr108272-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/pr108272-4.c [new file with mode: 0644]