1  /* { dg-do compile } */
       2  
       3  #include <arm_sve.h>
       4  
       5  void fn_s8 (float d0, float d1, float d2, float d3, svint8_t x) {}
       6  void fn_s16 (float d0, float d1, float d2, float d3, svint16_t x) {}
       7  void fn_s32 (float d0, float d1, float d2, float d3, svint32_t x) {}
       8  void fn_s64 (float d0, float d1, float d2, float d3, svint64_t x) {}
       9  void fn_u8 (float d0, float d1, float d2, float d3, svuint8_t x) {}
      10  void fn_u16 (float d0, float d1, float d2, float d3, svuint16_t x) {}
      11  void fn_u32 (float d0, float d1, float d2, float d3, svuint32_t x) {}
      12  void fn_u64 (float d0, float d1, float d2, float d3, svuint64_t x) {}
      13  void fn_bf16 (float d0, float d1, float d2, float d3, svbfloat16_t x) {}
      14  void fn_f16 (float d0, float d1, float d2, float d3, svfloat16_t x) {}
      15  void fn_f32 (float d0, float d1, float d2, float d3, svfloat32_t x) {}
      16  void fn_f64 (float d0, float d1, float d2, float d3, svfloat64_t x) {}
      17  
      18  void fn_s8x2 (float d0, float d1, float d2, float d3, svint8x2_t x) {}
      19  void fn_s16x2 (float d0, float d1, float d2, float d3, svint16x2_t x) {}
      20  void fn_s32x2 (float d0, float d1, float d2, float d3, svint32x2_t x) {}
      21  void fn_s64x2 (float d0, float d1, float d2, float d3, svint64x2_t x) {}
      22  void fn_u8x2 (float d0, float d1, float d2, float d3, svuint8x2_t x) {}
      23  void fn_u16x2 (float d0, float d1, float d2, float d3, svuint16x2_t x) {}
      24  void fn_u32x2 (float d0, float d1, float d2, float d3, svuint32x2_t x) {}
      25  void fn_u64x2 (float d0, float d1, float d2, float d3, svuint64x2_t x) {}
      26  void fn_bf16x2 (float d0, float d1, float d2, float d3, svbfloat16x2_t x) {}
      27  void fn_f16x2 (float d0, float d1, float d2, float d3, svfloat16x2_t x) {}
      28  void fn_f32x2 (float d0, float d1, float d2, float d3, svfloat32x2_t x) {}
      29  void fn_f64x2 (float d0, float d1, float d2, float d3, svfloat64x2_t x) {}
      30  
      31  void fn_s8x3 (float d0, float d1, float d2, float d3, svint8x3_t x) {}
      32  void fn_s16x3 (float d0, float d1, float d2, float d3, svint16x3_t x) {}
      33  void fn_s32x3 (float d0, float d1, float d2, float d3, svint32x3_t x) {}
      34  void fn_s64x3 (float d0, float d1, float d2, float d3, svint64x3_t x) {}
      35  void fn_u8x3 (float d0, float d1, float d2, float d3, svuint8x3_t x) {}
      36  void fn_u16x3 (float d0, float d1, float d2, float d3, svuint16x3_t x) {}
      37  void fn_u32x3 (float d0, float d1, float d2, float d3, svuint32x3_t x) {}
      38  void fn_u64x3 (float d0, float d1, float d2, float d3, svuint64x3_t x) {}
      39  void fn_bf16x3 (float d0, float d1, float d2, float d3, svbfloat16x3_t x) {}
      40  void fn_f16x3 (float d0, float d1, float d2, float d3, svfloat16x3_t x) {}
      41  void fn_f32x3 (float d0, float d1, float d2, float d3, svfloat32x3_t x) {}
      42  void fn_f64x3 (float d0, float d1, float d2, float d3, svfloat64x3_t x) {}
      43  
      44  void fn_s8x4 (float d0, float d1, float d2, float d3, svint8x4_t x) {}
      45  void fn_s16x4 (float d0, float d1, float d2, float d3, svint16x4_t x) {}
      46  void fn_s32x4 (float d0, float d1, float d2, float d3, svint32x4_t x) {}
      47  void fn_s64x4 (float d0, float d1, float d2, float d3, svint64x4_t x) {}
      48  void fn_u8x4 (float d0, float d1, float d2, float d3, svuint8x4_t x) {}
      49  void fn_u16x4 (float d0, float d1, float d2, float d3, svuint16x4_t x) {}
      50  void fn_u32x4 (float d0, float d1, float d2, float d3, svuint32x4_t x) {}
      51  void fn_u64x4 (float d0, float d1, float d2, float d3, svuint64x4_t x) {}
      52  void fn_bf16x4 (float d0, float d1, float d2, float d3, svbfloat16x4_t x) {}
      53  void fn_f16x4 (float d0, float d1, float d2, float d3, svfloat16x4_t x) {}
      54  void fn_f32x4 (float d0, float d1, float d2, float d3, svfloat32x4_t x) {}
      55  void fn_f64x4 (float d0, float d1, float d2, float d3, svfloat64x4_t x) {}
      56  
      57  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_s8\n} } } */
      58  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_s16\n} } } */
      59  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_s32\n} } } */
      60  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_s64\n} } } */
      61  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_u8\n} } } */
      62  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_u16\n} } } */
      63  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_u32\n} } } */
      64  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_u64\n} } } */
      65  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_bf16\n} } } */
      66  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_f16\n} } } */
      67  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_f32\n} } } */
      68  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_f64\n} } } */
      69  
      70  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_s8x2\n} } } */
      71  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_s16x2\n} } } */
      72  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_s32x2\n} } } */
      73  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_s64x2\n} } } */
      74  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_u8x2\n} } } */
      75  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_u16x2\n} } } */
      76  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_u32x2\n} } } */
      77  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_u64x2\n} } } */
      78  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_bf16x2\n} } } */
      79  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_f16x2\n} } } */
      80  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_f32x2\n} } } */
      81  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_f64x2\n} } } */
      82  
      83  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_s8x3\n} } } */
      84  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_s16x3\n} } } */
      85  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_s32x3\n} } } */
      86  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_s64x3\n} } } */
      87  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_u8x3\n} } } */
      88  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_u16x3\n} } } */
      89  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_u32x3\n} } } */
      90  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_u64x3\n} } } */
      91  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_bf16x3\n} } } */
      92  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_f16x3\n} } } */
      93  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_f32x3\n} } } */
      94  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_f64x3\n} } } */
      95  
      96  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_s8x4\n} } } */
      97  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_s16x4\n} } } */
      98  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_s32x4\n} } } */
      99  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_s64x4\n} } } */
     100  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_u8x4\n} } } */
     101  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_u16x4\n} } } */
     102  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_u32x4\n} } } */
     103  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_u64x4\n} } } */
     104  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_bf16x4\n} } } */
     105  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_f16x4\n} } } */
     106  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_f32x4\n} } } */
     107  /* { dg-final { scan-assembler {\t\.variant_pcs\tfn_f64x4\n} } } */