aarch64: Fix up bfmlal lane pattern [PR104921]
commit277e1f30a5e4e634304a7b8a532825119f0ea47f
authorAlex Coplan <alex.coplan@arm.com>
Mon, 6 Feb 2023 14:32:21 +0000 (6 14:32 +0000)
committerAlex Coplan <alex.coplan@arm.com>
Mon, 6 Feb 2023 14:32:21 +0000 (6 14:32 +0000)
tree734305a13f47ddd0132d4a565f55c9235a262126
parent0afcb713217628de46a6e912eea286ed612ebcbc
aarch64: Fix up bfmlal lane pattern [PR104921]

As the testcase shows, this pattern had an incorrect constraint leading
to GCC's output getting rejected by the assembler.

This patch fixes the constraint accordingly.

The test is split into two: one that can run without bf16 support from
the assembler and another that checks that the output actually assembles
when such support is available.

Bootstrapped/regtested on aarch64-linux-gnu.

OK for GCC 13? Or better to wait for next stage 1? What about backports?

Thanks,
Alex

gcc/ChangeLog:

PR target/104921
* config/aarch64/aarch64-simd.md (aarch64_bfmlal<bt>_lane<q>v4sf):
Use correct constraint for operand 3.

gcc/testsuite/ChangeLog:

PR target/104921
* gcc.target/aarch64/pr104921-1.c: New test.
* gcc.target/aarch64/pr104921-2.c: New test.
* gcc.target/aarch64/pr104921.x: Include file for new tests.
gcc/config/aarch64/aarch64-simd.md
gcc/testsuite/gcc.target/aarch64/pr104921-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/pr104921-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/pr104921.x [new file with mode: 0644]