• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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);
32 ICMP_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);
47 ICMP_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);
54 ICMP_U_TABLE
55 ICMP_S_TABLE
56 #undef X
57