Home | History | Annotate | Download | only in crosstest
      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