blob: e4d33fce346beb554d379d08c209e9539ddee148 [file] [log] [blame]
/* Test the `vextQp64' ARM Neon intrinsic. */
/* { dg-require-effective-target arm_crypto_ok } */
/* { dg-options "-save-temps -O3 -fno-inline" } */
/* { dg-add-options arm_crypto } */
#include "arm_neon.h"
extern void abort (void);
poly64x2_t
test_vextq_p64_1 (poly64x2_t a, poly64x2_t b)
{
return vextq_p64(a, b, 1);
}
int
main (int argc, char **argv)
{
int i, off;
poly64x2_t in1 = {0, 1};
poly64x2_t in2 = {2, 3};
poly64x2_t actual = test_vextq_p64_1 (in1, in2);
for (i = 0; i < 2; i++)
if (actual[i] != i + 1)
abort ();
return 0;
}
/* { 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 } } */