blob: d5aa215c21a3f7086ec22a39a028b352e3cd5aca [file] [log] [blame]
/* { dg-do assemble { target { aarch64*-*-* } } } */
/* { dg-require-effective-target arm_v8_2a_bf16_neon_ok } */
/* { dg-additional-options "-march=armv8.2-a+bf16 -O3 --save-temps -std=gnu90" } */
#include "arm_neon.h"
bfloat16x4_t __attribute__((noinline,noclone))
test_vcopy_lane_bf16 (bfloat16x4_t a, bfloat16x4_t b)
{
return vcopy_lane_bf16 (a, 1, b, 2);
}
bfloat16x8_t __attribute__((noinline,noclone))
test_vcopyq_lane_bf16 (bfloat16x8_t a, bfloat16x4_t b)
{
return vcopyq_lane_bf16 (a, 1, b, 2);
}
bfloat16x4_t __attribute__((noinline,noclone))
test_vcopy_laneq_bf16 (bfloat16x4_t a, bfloat16x8_t b)
{
return vcopy_laneq_bf16 (a, 1, b, 2);
}
bfloat16x8_t __attribute__((noinline,noclone))
test_vcopyq_laneq_bf16 (bfloat16x8_t a, bfloat16x8_t b)
{
return vcopyq_laneq_bf16 (a, 1, b, 2);
}
/* { dg-final { scan-assembler-times "ins\\tv0.h\\\[1\\\], v1.h\\\[2\\\]" 2 } } */
/* { dg-final { scan-assembler-times "ins\\tv0.h\\\[1\\\], v1.h\\\[0\\\]" 2 } } */