Delia Burduv <delia.bur...@arm.com> writes:
> Thank you, Richard!
>
> Here is the updated patch. The test that checks for errors when bf16 is 
> disabled is in the bfcvt patch.

Looks good.  Just a couple of very minor things...

>
> Cheers,
> Delia
>
> gcc/ChangeLog:
>
> 2019-11-06  Delia Burduv  <delia.bur...@arm.com>
>
>          * config/aarch64/aarch64-simd-builtins.def
>          (bfcvtn): New built-in function.
>          (bfcvtn_q): New built-in function.
>          (bfcvtn2): New built-in function.
>          (bfcvt): New built-in function.
>          * config/aarch64/aarch64-simd.md
>          (aarch64_bfcvtn<q><mode>): New pattern.
>          (aarch64_bfcvtn2v8bf): New pattern.
>          (aarch64_bfcvtbf): New pattern.
>          * config/aarch64/arm_bf16.h (float32_t): New typedef.
>          (vcvth_bf16_f32): New intrinsic.
>          * config/aarch64/arm_bf16.h (vcvt_bf16_f32): New intrinsic.
>          (vcvtq_low_bf16_f32): New intrinsic.
>          (vcvtq_high_bf16_f32): New intrinsic.
>          * config/aarch64/iterators.md (V4SF_TO_BF): New mode iterator.
>          (UNSPEC_BFCVTN): New UNSPEC.
>          (UNSPEC_BFCVTN2): New UNSPEC.
>          (UNSPEC_BFCVT): New UNSPEC.
>          * config/arm/types.md (bf_cvt): New type.

The patch no longer changes types.md. :-)

> diff --git 
> a/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfmlalbt-compile.c 
> b/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfmlalbt-compile.c
> new file mode 100644
> index 
> 0000000000000000000000000000000000000000..9feb7ee7905cb14037427a36797fc67a6fa3fbc8
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/bfmlalbt-compile.c
> @@ -0,0 +1,67 @@
> +/* { dg-do assemble { target { aarch64*-*-* } } } */
> +/* { dg-require-effective-target arm_v8_2a_bf16_neon_ok } */
> +/* { dg-add-options arm_v8_2a_bf16_neon } */
> +/* { dg-additional-options "-save-temps" } */
> +/* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
> +
> +#include <arm_neon.h>
> +
> +/*
> +**test_bfmlalb:
> +**      bfmlalb\tv0.4s, v1.8h, v2.8h

This version uses \t while the previous one used literal tabs.
TBH I think the literal tab is nicer (and what we use for SVE FWIW).

OK with those changes, thanks.  Seems silly to ask when the changes
are so trivial, but: please could you post an updated patch so that
I can apply verbatim?

Richard

Reply via email to