(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
aarch64/
sve/
acle/
general-c/
unary_convert_1.c
       1  #include <arm_sve.h>
       2  
       3  void
       4  test (svbool_t pg, svint8_t s8, svuint8_t u8,
       5        svint16_t s16, svuint16_t u16, svint32_t s32, svuint32_t u32,
       6        svint64_t s64, svuint64_t u64, svfloat16_t f16, svfloat32_t f32,
       7        svfloat64_t f64)
       8  {
       9    svcvt_f64_x (pg); /* { dg-error {too few arguments to function 'svcvt_f64_x'} } */
      10    svcvt_f64_x (pg, s32, 0); /* { dg-error {too many arguments to function 'svcvt_f64_x'} } */
      11    svcvt_f64_x (s32, s32); /* { dg-error {passing 'svint32_t' to argument 1 of 'svcvt_f64_x', which expects 'svbool_t'} } */
      12    svcvt_f64_x (pg, 0); /* { dg-error {passing 'int' to argument 2 of 'svcvt_f64_x', which expects an SVE vector type} } */
      13  
      14    svcvt_f64_x (pg, s8); /* { dg-error {'svcvt_f64_x' has no form that takes 'svint8_t' arguments} } */
      15    svcvt_f64_x (pg, s16); /* { dg-error {'svcvt_f64_x' has no form that takes 'svint16_t' arguments} } */
      16    svcvt_f64_x (pg, s32);
      17    svcvt_f64_x (pg, s64);
      18    svcvt_f64_x (pg, u8); /* { dg-error {'svcvt_f64_x' has no form that takes 'svuint8_t' arguments} } */
      19    svcvt_f64_x (pg, u16); /* { dg-error {'svcvt_f64_x' has no form that takes 'svuint16_t' arguments} } */
      20    svcvt_f64_x (pg, u32);
      21    svcvt_f64_x (pg, u64);
      22    svcvt_f64_x (pg, f16);
      23    svcvt_f64_x (pg, f32);
      24    svcvt_f64_x (pg, f64); /* { dg-error {'svcvt_f64_x' has no form that takes 'svfloat64_t' arguments} } */
      25  
      26    svcvt_f32_x (pg, s8); /* { dg-error {'svcvt_f32_x' has no form that takes 'svint8_t' arguments} } */
      27    svcvt_f32_x (pg, s16); /* { dg-error {'svcvt_f32_x' has no form that takes 'svint16_t' arguments} } */
      28    svcvt_f32_x (pg, s32);
      29    svcvt_f32_x (pg, s64);
      30    svcvt_f32_x (pg, u8); /* { dg-error {'svcvt_f32_x' has no form that takes 'svuint8_t' arguments} } */
      31    svcvt_f32_x (pg, u16); /* { dg-error {'svcvt_f32_x' has no form that takes 'svuint16_t' arguments} } */
      32    svcvt_f32_x (pg, u32);
      33    svcvt_f32_x (pg, u64);
      34    svcvt_f32_x (pg, f16);
      35    svcvt_f32_x (pg, f32); /* { dg-error {'svcvt_f32_x' has no form that takes 'svfloat32_t' arguments} } */
      36    svcvt_f32_x (pg, f64);
      37  
      38    svcvt_f16_x (pg, s8); /* { dg-error {'svcvt_f16_x' has no form that takes 'svint8_t' arguments} } */
      39    svcvt_f16_x (pg, s16);
      40    svcvt_f16_x (pg, s32);
      41    svcvt_f16_x (pg, s64);
      42    svcvt_f16_x (pg, u8); /* { dg-error {'svcvt_f16_x' has no form that takes 'svuint8_t' arguments} } */
      43    svcvt_f16_x (pg, u16);
      44    svcvt_f16_x (pg, u32);
      45    svcvt_f16_x (pg, u64);
      46    svcvt_f16_x (pg, f16); /* { dg-error {'svcvt_f16_x' has no form that takes 'svfloat16_t' arguments} } */
      47    svcvt_f16_x (pg, f32);
      48    svcvt_f16_x (pg, f64);
      49  
      50    svcvt_s64_x (pg, f16);
      51    svcvt_s64_x (pg, f32);
      52    svcvt_s64_x (pg, f64);
      53  
      54    svcvt_s32_x (pg, f16);
      55    svcvt_s32_x (pg, f32);
      56    svcvt_s32_x (pg, f64);
      57  
      58    svcvt_s16_x (pg, f16);
      59    svcvt_s16_x (pg, f32); /* { dg-error {'svcvt_s16_x' has no form that takes 'svfloat32_t' arguments} } */
      60    svcvt_s16_x (pg, f64); /* { dg-error {'svcvt_s16_x' has no form that takes 'svfloat64_t' arguments} } */
      61  
      62    svcvt_u64_x (pg, f16);
      63    svcvt_u64_x (pg, f32);
      64    svcvt_u64_x (pg, f64);
      65  
      66    svcvt_u32_x (pg, f16);
      67    svcvt_u32_x (pg, f32);
      68    svcvt_u32_x (pg, f64);
      69  
      70    svcvt_u16_x (pg, f16);
      71    svcvt_u16_x (pg, f32); /* { dg-error {'svcvt_u16_x' has no form that takes 'svfloat32_t' arguments} } */
      72    svcvt_u16_x (pg, f64); /* { dg-error {'svcvt_u16_x' has no form that takes 'svfloat64_t' arguments} } */
      73  }