On 21/11/2024 13:09, Richard Sandiford wrote:
Thanks for the updated series and sorry for the slow reply.

Claudio Bantaloukas <claudio.bantalou...@arm.com> writes:
diff --git a/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cvt_mf8.c 
b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cvt_mf8.c
new file mode 100644
index 00000000000..e65774deadc
--- /dev/null
+++ b/gcc/testsuite/gcc.target/aarch64/sve2/acle/asm/cvt_mf8.c
@@ -0,0 +1,46 @@
+/* { dg-additional-options "-march=armv8.5-a+sve2+bf16+fp8" } */
+/* { dg-require-effective-target aarch64_asm_fp8_ok }  */
+/* { dg-require-effective-target aarch64_asm_bf16_ok }  */
+/* { dg-skip-if "" { *-*-* } { "-DSTREAMING_COMPATIBLE" } { "" } } */
+
+/* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
+
+#include "test_sve_acle.h"
Sorry for not noticing this last time, but: since the intrinsics are
streaming-compatible, I think we should avoid skipping the test for
that case and instead replace the lines above with:

/* { dg-do assemble { target aarch64_asm_fp8_ok } } */
/* { dg-do compile { target { ! aarch64_asm_fp8_ok } } } */
/* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */

#include "test_sve_acle.h"

#pragma GCC target "+bf16+fp8"
#ifdef STREAMING_COMPATIBLE
#pragma GCC target "+sme2"
#endif

(untested!).  The idea behind the first two lines is to make sure
that as many testers as possible will at least cover the compilation
part of the test, including the check-function-bodes.  Testers with
modern binutils will continue to get the assembly part too.
(And fp8 should imply bf16, so I don't think we need to check both.)

The pragmas mean that we'll enable SME2 for the streaming-compatible
test, rather than skip that case altogether.

Same for the other tests.
Will do!
LGTM otherwise.

Thanks,
Richard

Reply via email to