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