1 #include "arm_neon.h"
2 
3 #define TEST_VEOR3(T, S) T \
4 test_veor3q_ ## S (T a, T b, T c) \
5 { \
6   return veor3q_ ## S (a, b, c); \
7 } \
8 
9 #define TEST_VBCAX(T, S) T \
10 test_vbcaxq_ ## S (T a, T b, T c) \
11 { \
12   return vbcaxq_ ## S (a, b, c); \
13 } \
14 
15 
TEST_VEOR3(uint8x16_t,u8)16 TEST_VEOR3 (uint8x16_t, u8)
17 TEST_VEOR3 (uint16x8_t, u16)
18 TEST_VEOR3 (uint32x4_t, u32)
19 TEST_VEOR3 (uint64x2_t, u64)
20 TEST_VEOR3 (int8x16_t, s8)
21 TEST_VEOR3 (int16x8_t, s16)
22 TEST_VEOR3 (int32x4_t, s32)
23 TEST_VEOR3 (int64x2_t, s64)
24 
25 uint64x2_t
26 test_vrax1q_u64 (uint64x2_t a, uint64x2_t b)
27 {
28   return vrax1q_u64 (a, b);
29 }
30 
31 uint64x2_t
test_vxarq_u64(uint64x2_t a,uint64x2_t b)32 test_vxarq_u64 (uint64x2_t a, uint64x2_t b)
33 {
34   return vxarq_u64 (a, b, 15);
35 }
36 
37 TEST_VBCAX (uint8x16_t, u8)
38 TEST_VBCAX (uint16x8_t, u16)
39 TEST_VBCAX (uint32x4_t, u32)
40 TEST_VBCAX (uint64x2_t, u64)
41 TEST_VBCAX (int8x16_t, s8)
42 TEST_VBCAX (int16x8_t, s16)
43 TEST_VBCAX (int32x4_t, s32)
44 TEST_VBCAX (int64x2_t, s64)
45 
46