1 extern void abort (void);
4 test_vextq_p16_1 (poly16x8_t a, poly16x8_t b)
6 return vextq_p16 (a, b, 1);
10 test_vextq_p16_2 (poly16x8_t a, poly16x8_t b)
12 return vextq_p16 (a, b, 2);
16 test_vextq_p16_3 (poly16x8_t a, poly16x8_t b)
18 return vextq_p16 (a, b, 3);
22 test_vextq_p16_4 (poly16x8_t a, poly16x8_t b)
24 return vextq_p16 (a, b, 4);
28 test_vextq_p16_5 (poly16x8_t a, poly16x8_t b)
30 return vextq_p16 (a, b, 5);
34 test_vextq_p16_6 (poly16x8_t a, poly16x8_t b)
36 return vextq_p16 (a, b, 6);
40 test_vextq_p16_7 (poly16x8_t a, poly16x8_t b)
42 return vextq_p16 (a, b, 7);
46 main (int argc, char **argv)
49 poly16_t arr1[] = {0, 1, 2, 3, 4, 5, 6, 7};
50 poly16x8_t in1 = vld1q_p16 (arr1);
51 poly16_t arr2[] = {8, 9, 10, 11, 12, 13, 14, 15};
52 poly16x8_t in2 = vld1q_p16 (arr2);
55 poly16x8_t actual = test_vextq_p16_1 (in1, in2);
57 for (i = 0; i < 8; i++)
59 expected = vld1q_p16 (exp);
60 for (i = 0; i < 8; i++)
61 if (actual[i] != expected[i])
64 actual = test_vextq_p16_2 (in1, in2);
65 for (i = 0; i < 8; i++)
67 expected = vld1q_p16 (exp);
68 for (i = 0; i < 8; i++)
69 if (actual[i] != expected[i])
72 actual = test_vextq_p16_3 (in1, in2);
73 for (i = 0; i < 8; i++)
75 expected = vld1q_p16 (exp);
76 for (i = 0; i < 8; i++)
77 if (actual[i] != expected[i])
80 actual = test_vextq_p16_4 (in1, in2);
81 for (i = 0; i < 8; i++)
83 expected = vld1q_p16 (exp);
84 for (i = 0; i < 8; i++)
85 if (actual[i] != expected[i])
88 actual = test_vextq_p16_5 (in1, in2);
89 for (i = 0; i < 8; i++)
91 expected = vld1q_p16 (exp);
92 for (i = 0; i < 8; i++)
93 if (actual[i] != expected[i])
96 actual = test_vextq_p16_6 (in1, in2);
97 for (i = 0; i < 8; i++)
99 expected = vld1q_p16 (exp);
100 for (i = 0; i < 8; i++)
101 if (actual[i] != expected[i])
104 actual = test_vextq_p16_7 (in1, in2);
105 for (i = 0; i < 8; i++)
107 expected = vld1q_p16 (exp);
108 for (i = 0; i < 8; i++)
109 if (actual[i] != expected[i])