(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
arm/
simd/
vldn_lane_bf16_1.c
       1  /* { dg-do assemble } */
       2  /* { dg-require-effective-target arm_v8_2a_bf16_neon_ok } */
       3  /* { dg-add-options arm_v8_2a_bf16_neon } */
       4  /* { dg-additional-options "-save-temps -O2 -mfloat-abi=hard" }  */
       5  /* { dg-final { check-function-bodies "**" "" } } */
       6  
       7  #include "arm_neon.h"
       8  
       9  /*
      10  **test_vld2_lane_bf16:
      11  **	...
      12  **	vld2.16	{d[0-9]+\[2\], d[0-9]+\[2\]}, \[r[0-9]+\]
      13  **	...
      14  */
      15  bfloat16x4x2_t
      16  test_vld2_lane_bf16 (const bfloat16_t *a, bfloat16x4x2_t b)
      17  {
      18    return vld2_lane_bf16 (a, b, 2);
      19  }
      20  
      21  /*
      22  **test_vld2q_lane_bf16:
      23  **	...
      24  **	vld2.16	{d[0-9]+\[2\], d[0-9]+\[2\]}, \[r[0-9]+\]
      25  **	...
      26  */
      27  bfloat16x8x2_t
      28  test_vld2q_lane_bf16 (const bfloat16_t *a, bfloat16x8x2_t b)
      29  {
      30    return vld2q_lane_bf16 (a, b, 2);
      31  }
      32  
      33  /*
      34  **test_vld3_lane_bf16:
      35  **	...
      36  **	vld3.16	{d[0-9]+\[2\], d[0-9]+\[2\], d[0-9]+\[2\]}, \[r[0-9]+\]
      37  **	...
      38  */
      39  bfloat16x4x3_t
      40  test_vld3_lane_bf16 (const bfloat16_t *a, bfloat16x4x3_t b)
      41  {
      42    return vld3_lane_bf16 (a, b, 2);
      43  }
      44  
      45  /*
      46  **test_vld3q_lane_bf16:
      47  **	...
      48  **	vld3.16	{d[0-9]+\[2\], d[0-9]+\[2\], d[0-9]+\[2\]}, \[r0\]
      49  **	...
      50  */
      51  bfloat16x8x3_t
      52  test_vld3q_lane_bf16 (const bfloat16_t *a, bfloat16x8x3_t b)
      53  {
      54    return vld3q_lane_bf16 (a, b, 2);
      55  }
      56  
      57  /*
      58  **test_vld4_lane_bf16:
      59  **	...
      60  **	vld4.16	{d[0-9]+\[2\], d[0-9]+\[2\], d[0-9]+\[2\], d[0-9]+\[2\]}, \[r0\]
      61  **	...
      62  */
      63  bfloat16x4x4_t
      64  test_vld4_lane_bf16 (const bfloat16_t *a, bfloat16x4x4_t b)
      65  {
      66    return vld4_lane_bf16 (a, b, 2);
      67  }
      68  
      69  /*
      70  **test_vld4q_lane_bf16:
      71  **	...
      72  **	vld4.16	{d[0-9]+\[2\], d[0-9]+\[2\], d[0-9]+\[2\], d[0-9]+\[2\]}, \[r0\]
      73  **	...
      74  */
      75  bfloat16x8x4_t
      76  test_vld4q_lane_bf16 (const bfloat16_t *a, bfloat16x8x4_t b)
      77  {
      78    return vld4q_lane_bf16 (a, b, 2);
      79  }