Matthew Malcomson <matthew.malcom...@arm.com> writes: > Commit 9ceec73 introduced intrinsics for the AArch64 FP64 matrix > multiply instructions. These require binutils support for the same > instructions. > ( See https://gcc.gnu.org/ml/gcc-patches/2020-01/msg01234.html for the > testsuite failures this introduced. ) > > This patch adds a DejaGNU test to ensure this binutils support is there > and uses it in the files that need this test. > > NOTE: > I tried to find some way to run the assembly tests if the given version > of binutils is available, but run the compile tests if not. This is > pretty awkward -- It seems I either have to duplicate all the DejaGNU > comments between two files, or write filename exceptions into the > list of files that aarch64-sve-acle-asm.exp runs tests for. > > I decided to not do either, since I figure not running the tests on > older binutils isn't too bad compared to having a bunch more DejaGNU > stuff making the tests harder to read. > > Testing Done: > Checked on a cross-compiler that: > Tests running for binutils commit e264b5b7a are listed as UNSUPPORTED. > Tests running for binutils commit 26916852e all pass. > > gcc/testsuite/ChangeLog: > > 2020-01-21 Matthew Malcomson <matthew.malcom...@arm.com> > > * gcc.target/aarch64/sve/acle/asm/ld1ro_f16.c: Use require > directive. > * gcc.target/aarch64/sve/acle/asm/ld1ro_f32.c: Likewise. > * gcc.target/aarch64/sve/acle/asm/ld1ro_f64.c: Likewise. > * gcc.target/aarch64/sve/acle/asm/ld1ro_s16.c: Likewise. > * gcc.target/aarch64/sve/acle/asm/ld1ro_s32.c: Likewise. > * gcc.target/aarch64/sve/acle/asm/ld1ro_s64.c: Likewise. > * gcc.target/aarch64/sve/acle/asm/ld1ro_s8.c: Likewise. > * gcc.target/aarch64/sve/acle/asm/ld1ro_u16.c: Likewise. > * gcc.target/aarch64/sve/acle/asm/ld1ro_u32.c: Likewise. > * gcc.target/aarch64/sve/acle/asm/ld1ro_u64.c: Likewise. > * gcc.target/aarch64/sve/acle/asm/ld1ro_u8.c: Likewise. > * lib/target-supports.exp: Add assembly requirement directive. > [...] > diff --git a/gcc/testsuite/lib/target-supports.exp > b/gcc/testsuite/lib/target-supports.exp > index > cdee31e24132b591625168ab588e61a3943919b0..c9184728f26918dbaea4bb09ab99df890571069b > 100644 > --- a/gcc/testsuite/lib/target-supports.exp > +++ b/gcc/testsuite/lib/target-supports.exp > @@ -8987,7 +8987,7 @@ proc check_effective_target_aarch64_tiny { } { > # Create functions to check that the AArch64 assembler supports the > # various architecture extensions via the .arch_extension pseudo-op. > > -foreach { aarch64_ext } { "fp" "simd" "crypto" "crc" "lse" "dotprod" "sve"} { > +foreach { aarch64_ext } { "fp" "simd" "crypto" "crc" "lse" "dotprod" "sve" > "f64mm"} {
It would be good to keep this under the 80 char limit, e.g.: foreach aarch64_ext {"fp" "simd" "crypto" "crc" "lse" "dotprod" "sve" "f64mm"} { (Not that the file is very consistent about doing that.) OK with that change, thanks. Richard