On 20/01/2020 14:53, Christophe Lyon wrote: > On Thu, 9 Jan 2020 at 16:53, Matthew Malcomson > <matthew.malcom...@arm.com> wrote: >> >> + (match_test "aarch64_sve_ld1ro_operand_p (op, DImode)"))) >> + > > >> (define_predicate "aarch64_sve_ldff1_operand" >> (and (match_code "mem") > >> (match_test "aarch64_sve_ldff1_operand_p (op)"))) > > > Hi, > >> diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_f16.c >> b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_f16.c >> new file mode 100644 >> index >> 0000000000000000000000000000000000000000..7badc75a43ab2009e9406afc04c980fc01834716 >> --- /dev/null >> +++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_f16.c >> @@ -0,0 +1,119 @@ >> +/* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */ >> +/* { dg-additional-options "-march=armv8.6-a+sve+f64mm" } */ > > What is the binutils version requirement for this? > Some validations using binutils-2.33.1 exhibit failures like: > /xgcc > -B/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-aarch64-none-linux-gnu/gcc3/gcc/ > -fno-diagnostics-show-caret -fno-diagnostics-show-line-numbers > -fdiagnostics-color=never -fdiagnostics-urls=never -std=c90 -O0 -g > -DTEST_FULL -march=armv8.2-a+sve -fno-ipa-icf > -march=armv8.6-a+sve+f64mm -c -o ld1ro_s16.o > /gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_s16.c > Assembler messages: > Error: unknown architecture `armv8.6-a+sve+f64mm' > > Error: unrecognized option -march=armv8.6-a+sve+f64mm > compiler exited with status 1 > FAIL: gcc.target/aarch64/sve/acle/asm/ld1ro_s16.c -std=c90 -O0 -g > -DTEST_FULL 1 blank line(s) in output > FAIL: gcc.target/aarch64/sve/acle/asm/ld1ro_s16.c -std=c90 -O0 -g > -DTEST_FULL (test for excess errors) > Excess errors: > Assembler messages: > Error: unknown architecture `armv8.6-a+sve+f64mm' > Error: unrecognized option -march=armv8.6-a+sve+f64mm > > > while other configurations using 2.32 binutils seem to pass this test: > /xgcc > -B/home/tcwg-buildslave/workspace/tcwg-buildfarm__0/_build/builds/aarch64-unknown-linux-gnu/aarch64-unknown-linux-gnu/gcc.git~master_rev_3684bbb022cd75da55e1457673f269980aa12cdf-stage2/gcc/ > /home/tcwg-buildslave/workspace/tcwg-buildfarm__0/snapshots/gcc.git~master_rev_3684bbb022cd75da55e1457673f269980aa12cdf/gcc/testsuite/gcc.target/aarch64/sve/acle/asm/ld1ro_f16.c > -fno-diagnostics-show-caret -fno-diagnostics-show-line-numbers > -fdiagnostics-color=never -fdiagnostics-urls=never -std=c90 -O0 -g > -DTEST_FULL -march=armv8.2-a+sve -fno-ipa-icf > -march=armv8.6-a+sve+f64mm -S -o ld1ro_f16.s > PASS: gcc.target/aarch64/sve/acle/asm/ld1ro_f16.c -std=c90 -O0 -g > -DTEST_FULL (test for excess errors) > > Ha... took me a while to realize that in the latter case we stop after > generating the .s file and do not call the assembler... > > > So... do we want/need additional consistency checks between gcc and > gas versions? >
Ah! Yes, that should certainly be done. I'll start that now. Thanks for pointing it out -- it seems I really did not take enough care with this patch... MM > > Thanks, > > Christophe > > >> +