(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
aarch64/
simd/
extq_f64_1.c
       1  /* Test the `vextq_f64' AArch64 SIMD intrinsic.  */
       2  
       3  /* { dg-do run } */
       4  /* { dg-options "-save-temps -O3 -fno-inline" } */
       5  
       6  #include "arm_neon.h"
       7  extern void abort (void);
       8  #include <stdio.h>
       9  
      10  float64x2_t
      11  test_vextq_f64_1 (float64x2_t a, float64x2_t b)
      12  {
      13    return vextq_f64 (a, b, 1);
      14  }
      15  
      16  int
      17  main (int argc, char **argv)
      18  {
      19    int i, off;
      20    float64_t arr1[] = {0, 1};
      21    float64x2_t in1 = vld1q_f64 (arr1);
      22    float64_t arr2[] = {2, 3};
      23    float64x2_t in2 = vld1q_f64 (arr2);
      24    float64_t exp[] = {1, 2};
      25    float64x2_t expected = vld1q_f64 (exp);
      26    float64x2_t actual = test_vextq_f64_1 (in1, in2);
      27  
      28    for (i = 0; i < 2; i++)
      29      if (actual[i] != expected[i])
      30        abort ();
      31  
      32    return 0;
      33  }
      34  
      35  /* { dg-final { scan-assembler-times "ext\[ \t\]+\[vV\]\[0-9\]+\.16\[bB\], ?\[vV\]\[0-9\]+\.16\[bB\], ?\[vV\]\[0-9\]+\.16\[bB\], ?#\[0-9\]+\(?:.8\)?\(?:\[ \t\]+@\[a-zA-Z0-9 \]+\)?\n" 1 } } */