(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
arm/
simd/
bf16_vstn_1.c
       1  /* { dg-do assemble } */
       2  /* { dg-require-effective-target arm_hard_ok } */
       3  /* { dg-require-effective-target arm_v8_2a_bf16_neon_ok } */
       4  /* { dg-add-options arm_v8_2a_bf16_neon } */
       5  /* { dg-additional-options "-save-temps -O2 -mfloat-abi=hard" }  */
       6  /* { dg-final { check-function-bodies "**" "" } } */
       7  
       8  #include "arm_neon.h"
       9  
      10  /*
      11  **test_vst2_bf16:
      12  **	...
      13  **	vst2.16	{d0-d1}, \[r0\]
      14  **	bx	lr
      15  */
      16  void
      17  test_vst2_bf16 (bfloat16_t *ptr, bfloat16x4x2_t val)
      18  {
      19    vst2_bf16 (ptr, val);
      20  }
      21  
      22  /*
      23  **test_vst2q_bf16:
      24  **      ...
      25  **	vst2.16	{d0-d3}, \[r0\]
      26  **	bx	lr
      27  */
      28  void
      29  test_vst2q_bf16 (bfloat16_t *ptr, bfloat16x8x2_t val)
      30  {
      31    vst2q_bf16 (ptr, val);
      32  }
      33  
      34  /*
      35  **test_vst3_bf16:
      36  **      ...
      37  **	vst3.16	{d0-d2}, \[r0\]
      38  **	bx	lr
      39  */
      40  void
      41  test_vst3_bf16 (bfloat16_t *ptr, bfloat16x4x3_t val)
      42  {
      43    vst3_bf16 (ptr, val);
      44  }
      45  
      46  /*
      47  **test_vst3q_bf16:
      48  **      ...
      49  **	vst3.16	{d17, d19, d21}, \[r0\]
      50  **	bx	lr
      51  */
      52  void
      53  test_vst3q_bf16 (bfloat16_t *ptr, bfloat16x8x3_t val)
      54  {
      55    vst3q_bf16 (ptr, val);
      56  }
      57  
      58  /*
      59  **test_vst4_bf16:
      60  **      ...
      61  **	vst4.16	{d0-d3}, \[r0\]
      62  **	bx	lr
      63  */
      64  void
      65  test_vst4_bf16 (bfloat16_t *ptr, bfloat16x4x4_t val)
      66  {
      67    vst4_bf16 (ptr, val);
      68  }
      69  
      70  /*
      71  **test_vst4q_bf16:
      72  **      ...
      73  **	vst4.16	{d1, d3, d5, d7}, \[r0\]
      74  **	bx	lr
      75  */
      76  void
      77  test_vst4q_bf16 (bfloat16_t *ptr, bfloat16x8x4_t val)
      78  {
      79    vst4q_bf16 (ptr, val);
      80  }
      81  
      82  int main()
      83  {
      84    return 0;
      85  }