45 lines
876 B
C
45 lines
876 B
C
#include "arm_neon.h"
|
|
|
|
#define TEST_VEOR3(T, S) T \
|
|
test_veor3q_ ## S (T a, T b, T c) \
|
|
{ \
|
|
return veor3q_ ## S (a, b, c); \
|
|
} \
|
|
|
|
#define TEST_VBCAX(T, S) T \
|
|
test_vbcaxq_ ## S (T a, T b, T c) \
|
|
{ \
|
|
return vbcaxq_ ## S (a, b, c); \
|
|
} \
|
|
|
|
|
|
TEST_VEOR3 (uint8x16_t, u8)
|
|
TEST_VEOR3 (uint16x8_t, u16)
|
|
TEST_VEOR3 (uint32x4_t, u32)
|
|
TEST_VEOR3 (uint64x2_t, u64)
|
|
TEST_VEOR3 (int8x16_t, s8)
|
|
TEST_VEOR3 (int16x8_t, s16)
|
|
TEST_VEOR3 (int32x4_t, s32)
|
|
TEST_VEOR3 (int64x2_t, s64)
|
|
|
|
uint64x2_t
|
|
test_vrax1q_u64 (uint64x2_t a, uint64x2_t b)
|
|
{
|
|
return vrax1q_u64 (a, b);
|
|
}
|
|
|
|
uint64x2_t
|
|
test_vxarq_u64 (uint64x2_t a, uint64x2_t b)
|
|
{
|
|
return vxarq_u64 (a, b, 15);
|
|
}
|
|
|
|
TEST_VBCAX (uint8x16_t, u8)
|
|
TEST_VBCAX (uint16x8_t, u16)
|
|
TEST_VBCAX (uint32x4_t, u32)
|
|
TEST_VBCAX (uint64x2_t, u64)
|
|
TEST_VBCAX (int8x16_t, s8)
|
|
TEST_VBCAX (int16x8_t, s16)
|
|
TEST_VBCAX (int32x4_t, s32)
|
|
TEST_VBCAX (int64x2_t, s64)
|
|
|