1 extern void abort (void);
4 test_vextq_u32_1 (uint32x4_t a, uint32x4_t b)
6 return vextq_u32 (a, b, 1);
10 test_vextq_u32_2 (uint32x4_t a, uint32x4_t b)
12 return vextq_u32 (a, b, 2);
16 test_vextq_u32_3 (uint32x4_t a, uint32x4_t b)
18 return vextq_u32 (a, b, 3);
22 main (int argc, char **argv)
25 uint32_t arr1[] = {0, 1, 2, 3};
26 uint32x4_t in1 = vld1q_u32 (arr1);
27 uint32_t arr2[] = {4, 5, 6, 7};
28 uint32x4_t in2 = vld1q_u32 (arr2);
31 uint32x4_t actual = test_vextq_u32_1 (in1, in2);
33 for (i = 0; i < 4; i++)
35 expected = vld1q_u32 (exp);
36 for (i = 0; i < 4; i++)
37 if (actual[i] != expected[i])
40 actual = test_vextq_u32_2 (in1, in2);
41 for (i = 0; i < 4; i++)
43 expected = vld1q_u32 (exp);
44 for (i = 0; i < 4; i++)
45 if (actual[i] != expected[i])
48 actual = test_vextq_u32_3 (in1, in2);
49 for (i = 0; i < 4; i++)
51 expected = vld1q_u32 (exp);
52 for (i = 0; i < 4; i++)
53 if (actual[i] != expected[i])