(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
aarch64/
simd/
trn_zip_p64_1.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O" } */
       3  
       4  #include <arm_neon.h>
       5  
       6  poly64x2_t
       7  foo (poly64x2_t a, poly64x2_t b)
       8  {
       9    return vtrn1q_p64 (a, b);
      10  }
      11  
      12  poly64x2_t
      13  foo1 (poly64x2_t a, poly64x2_t b)
      14  {
      15    return vtrn2q_p64 (a, b);
      16  }
      17  
      18  poly64x2_t
      19  foo2 (poly64x2_t a, poly64x2_t b)
      20  {
      21    return vuzp1q_p64 (a, b);
      22  }
      23  
      24  poly64x2_t
      25  foo3 (poly64x2_t a, poly64x2_t b)
      26  {
      27    return vuzp2q_p64 (a, b);
      28  }
      29  
      30  poly64x2_t
      31  foo4 (poly64x2_t a, poly64x2_t b)
      32  {
      33    return vzip1q_p64 (a, b);
      34  }
      35  
      36  poly64x2_t
      37  foo5 (poly64x2_t a, poly64x2_t b)
      38  {
      39    return vzip2q_p64 (a, b);
      40  }
      41  
      42  /* { dg-final { scan-assembler-times {zip1\tv0.2d, v0.2d, v1.2d} 3 } } */
      43  /* { dg-final { scan-assembler-times {zip2\tv0.2d, v0.2d, v1.2d} 3 } } */
      44