(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
aarch64/
vdup_n_2.c
       1  /* { dg-do run } */
       2  /* { dg-options "-O2 -fno-inline --save-temps" } */
       3  
       4  extern void abort (void);
       5  
       6  typedef float float32x2_t __attribute__ ((__vector_size__ ((8))));
       7  typedef unsigned int uint32x2_t __attribute__ ((__vector_size__ ((8))));
       8  
       9  float32x2_t
      10  test_dup_1 (float32x2_t in)
      11  {
      12    return __builtin_shuffle (in, (uint32x2_t) {1, 1});
      13  }
      14  
      15  int
      16  main (int argc, char **argv)
      17  {
      18    float32x2_t test = {2.718, 3.141};
      19    float32x2_t res = test_dup_1 (test);
      20    if (res[0] != test[1] || res[1] != test[1])
      21      abort ();
      22    return 0;
      23  }
      24  
      25  /* { dg-final { scan-assembler-times "\[ \t\]*dup\[ \t\]+v\[0-9\]+\.2s, ?v\[0-9\]+\.s\\\[\[01\]\\\]" 1 } } */
      26  /* { dg-final { scan-assembler-not "zip" } } */
      27