1 /* Test the `vextQp64' ARM Neon intrinsic. */
4 /* { dg-require-effective-target arm_crypto_ok } */
5 /* { dg-options "-save-temps -O3 -fno-inline" } */
6 /* { dg-add-options arm_crypto } */
10 extern void abort (void);
13 test_vextq_p64_1 (poly64x2_t a
, poly64x2_t b
)
15 return vextq_p64(a
, b
, 1);
19 main (int argc
, char **argv
)
22 poly64x2_t in1
= {0, 1};
23 poly64x2_t in2
= {2, 3};
24 poly64x2_t actual
= test_vextq_p64_1 (in1
, in2
);
25 for (i
= 0; i
< 2; i
++)
26 if (actual
[i
] != i
+ 1)
32 /* { 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 } } */
33 /* { dg-final { cleanup-saved-temps } } */