gcc.target/aarch64/advsimd-intrinsics/bf16_vldn.c and gcc.target/aarch64/advsimd-intrinsics/bf16_vstn.c were failing for big-endian targets because the <Vmtype> in aarch64_be_ld1<mode> and aarch64_be_st1<mode> had no expansion for the bfloat16 modes.
Tested on aarch64-linux-gnu and aarch64_be-elf, pushed. Richard 2020-03-17 Richard Sandiford <richard.sandif...@arm.com> gcc/ * config/aarch64/iterators.md (Vmtype): Handle V4BF and V8BF. --- gcc/config/aarch64/iterators.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gcc/config/aarch64/iterators.md b/gcc/config/aarch64/iterators.md index 95fa3e4baa1..8e434389e59 100644 --- a/gcc/config/aarch64/iterators.md +++ b/gcc/config/aarch64/iterators.md @@ -1000,7 +1000,8 @@ (define_mode_attr Vmtype [(V8QI ".8b") (V16QI ".16b") (V4HI ".4h") (V8HI ".8h") (V2SI ".2s") (V4SI ".4s") (V2DI ".2d") (V4HF ".4h") - (V8HF ".8h") (V2SF ".2s") + (V8HF ".8h") (V4BF ".4h") + (V8BF ".8h") (V2SF ".2s") (V4SF ".4s") (V2DF ".2d") (DI "") (SI "") (HI "") (QI "")