(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
aarch64/
sve/
pr100048.c
       1  /* { dg-additional-options "-O2 -fno-schedule-insns" } */
       2  /* { dg-final { check-function-bodies "**" "" "-DCHECK_ASM" } } */
       3  
       4  #include "arm_sve.h"
       5  
       6  /*
       7  ** foo:
       8  **        ptrue   (p[0-7])\.d, all
       9  **        pfalse  (p[0-7])\.b
      10  **        ptrue   (p[0-7])\.s, all
      11  **        trn1    (p[0-7])\.d, \2\.d, \3\.d
      12  **        trn1    \2\.d, \1\.d, \3\.d
      13  **        faddv   (h[0-31]), \4\, (z[0-31]).h
      14  **        faddv   (h[0-31]), \2\, \6\.h
      15  **        str     \5, [x0]
      16  **        str     \7, [x0, 2]
      17  **        ret
      18  */
      19  void foo(svfloat16_t in, float16_t *dst) {
      20    const svbool_t pg_q0 = svdupq_n_b16(1, 0, 1, 0, 0, 0, 0, 0);
      21    const svbool_t pg_f0 = svdupq_n_b16(1, 0, 0, 0, 0, 0, 0, 0);
      22    dst[0] = svaddv_f16(pg_f0, in);
      23    dst[1] = svaddv_f16(pg_q0, in);
      24  }
      25