]> git.ipfire.org Git - thirdparty/gcc.git/commit
aarch64: Avoid using mismatched ZERO ZA sizes
authorRichard Sandiford <richard.sandiford@arm.com>
Fri, 12 Apr 2024 16:41:32 +0000 (17:41 +0100)
committerRichard Sandiford <richard.sandiford@arm.com>
Fri, 12 Apr 2024 16:41:32 +0000 (17:41 +0100)
commit9b8c6fffcb199b51bb9c4f46f2834f5fd0149d01
tree6d98c660d3aefb59f6aad5156f13ac1b79a21d8c
parenta76f236e084cbd02e4e3711cdfc3191dc7eeb460
aarch64: Avoid using mismatched ZERO ZA sizes

The svzero_mask_za intrinsic tried to use the shortest combination
of .b, .h, .s and .d tiles, allowing mixtures of sizes where necessary.
However, Iain S pointed out that LLVM instead requires the tiles to
have the same suffix.  GAS supports both versions, so this patch
generates the LLVM-friendly form.

gcc/
* config/aarch64/aarch64.cc (aarch64_output_sme_zero_za): Require
all tiles to have the same suffix.

gcc/testsuite/
* gcc.target/aarch64/sme/acle-asm/zero_mask_za.c (zero_mask_za_ab)
(zero_mask_za_d7, zero_mask_za_bf): Expect a list of .d tiles instead
of a mixture.
gcc/config/aarch64/aarch64.cc
gcc/testsuite/gcc.target/aarch64/sme/acle-asm/zero_mask_za.c