1//===- subzero/crosstest/test_icmp.h - Test prototypes -------*- C++ -*----===//
2//
3//                        The Subzero Code Generator
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// This file declares the function prototypes for crosstesting the icmp
11// bitcode instruction.
12//
13//===----------------------------------------------------------------------===//
14
15#include "test_icmp.def"
16
17#include "vectors.h"
18#include "xdefs.h"
19
20#define X(cmp, op)                                                             \
21  bool icmp##cmp(uint8_t a, uint8_t b);                                        \
22  bool icmp##cmp(uint16_t a, uint16_t b);                                      \
23  bool icmp##cmp(uint32_t a, uint32_t b);                                      \
24  bool icmp##cmp(uint64 a, uint64 b);                                          \
25  v4ui32 icmp##cmp(v4ui32 a, v4ui32 b);                                        \
26  v8ui16 icmp##cmp(v8ui16 a, v8ui16 b);                                        \
27  v16ui8 icmp##cmp(v16ui8 a, v16ui8 b);                                        \
28  bool icmp_zero##cmp(uint8_t a);                                              \
29  bool icmp_zero##cmp(uint16_t a);                                             \
30  bool icmp_zero##cmp(uint32_t a);                                             \
31  bool icmp_zero##cmp(uint64 a);
32ICMP_U_TABLE
33#undef X
34
35#define X(cmp, op)                                                             \
36  bool icmp##cmp(myint8_t a, myint8_t b);                                      \
37  bool icmp##cmp(int16_t a, int16_t b);                                        \
38  bool icmp##cmp(int32_t a, int32_t b);                                        \
39  bool icmp##cmp(int64 a, int64 b);                                            \
40  v4si32 icmp##cmp(v4si32 a, v4si32 b);                                        \
41  v8si16 icmp##cmp(v8si16 a, v8si16 b);                                        \
42  v16si8 icmp##cmp(v16si8 a, v16si8 b);                                        \
43  bool icmp_zero##cmp(myint8_t a);                                             \
44  bool icmp_zero##cmp(int16_t a);                                              \
45  bool icmp_zero##cmp(int32_t a);                                              \
46  bool icmp_zero##cmp(int64 a);
47ICMP_S_TABLE
48#undef X
49
50#define X(cmp, op)                                                             \
51  v4si32 icmpi1##cmp(v4si32 a, v4si32 b);                                      \
52  v8si16 icmpi1##cmp(v8si16 a, v8si16 b);                                      \
53  v16si8 icmpi1##cmp(v16si8 a, v16si8 b);
54ICMP_U_TABLE
55ICMP_S_TABLE
56#undef X
57