1 /* Test the `vextQp64' ARM Neon intrinsic. */
3 /* { dg-require-effective-target arm_crypto_ok } */
4 /* { dg-options "-save-temps -O3 -fno-inline" } */
5 /* { dg-add-options arm_crypto } */
9 extern void abort (void);
12 test_vextq_p64_1 (poly64x2_t a
, poly64x2_t b
)
14 return vextq_p64(a
, b
, 1);
18 main (int argc
, char **argv
)
21 poly64x2_t in1
= {0, 1};
22 poly64x2_t in2
= {2, 3};
23 poly64x2_t actual
= test_vextq_p64_1 (in1
, in2
);
24 for (i
= 0; i
< 2; i
++)
25 if (actual
[i
] != i
+ 1)
31 /* { dg-final { scan-assembler-times "vext\.64\[ \t\]+\[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, \[qQ\]\[0-9\]+, #\[0-9\]+!?\(?:\[ \t\]+@\[a-zA-Z0-9 \]+\)?\n" 1 } } */