1  /* { dg-do assemble } */
       2  /* { dg-require-effective-target arm_v8_2a_bf16_neon_ok } */
       3  /* { dg-require-effective-target arm_hard_ok } */
       4  /* { dg-add-options arm_v8_2a_bf16_neon } */
       5  /* { dg-additional-options "-O3 --save-temps -mfloat-abi=hard" } */
       6  
       7  #include "arm_neon.h"
       8  
       9  void
      10  test_vst1_lane_bf16 (bfloat16_t *a, bfloat16x4_t b)
      11  {
      12    vst1_lane_bf16 (a, b, 1);
      13  }
      14  
      15  void
      16  test_vst1q_lane_bf16 (bfloat16_t *a, bfloat16x8_t b)
      17  {
      18    vst1q_lane_bf16 (a, b, 2);
      19  }
      20  
      21  /* { dg-final { scan-assembler "vst1.16\t{d0\\\[1\\\]}, \\\[r0\\\]" } } */
      22  /* { dg-final { scan-assembler "vst1.16\t{d0\\\[2\\\]}, \\\[r0\\\]" } } */