summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/aarch64/sha3.h
blob: c8537c251963317258237f5346b9ff3a7282de5a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#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)