blob: 8a264d06efcb0266ade951dcb9bc50d45890a47b [file] [log] [blame]
Matt Wala9a0168a2014-07-23 14:56:10 -07001//===- 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
Jim Stichnoth5bc2b1d2014-05-22 13:38:48 -070015#include "test_icmp.def"
16
Matt Wala9a0168a2014-07-23 14:56:10 -070017#include "vectors.h"
18
Jim Stichnoth5bc2b1d2014-05-22 13:38:48 -070019#define X(cmp, op) \
20 bool icmp##cmp(uint8_t a, uint8_t b); \
21 bool icmp##cmp(uint16_t a, uint16_t b); \
22 bool icmp##cmp(uint32_t a, uint32_t b); \
Matt Wala9a0168a2014-07-23 14:56:10 -070023 bool icmp##cmp(uint64_t a, uint64_t b); \
24 v4ui32 icmp##cmp(v4ui32 a, v4ui32 b); \
25 v8ui16 icmp##cmp(v8ui16 a, v8ui16 b); \
26 v16ui8 icmp##cmp(v16ui8 a, v16ui8 b);
Jim Stichnoth5bc2b1d2014-05-22 13:38:48 -070027ICMP_U_TABLE
28#undef X
29
30#define X(cmp, op) \
Jim Stichnoth7da431b2014-08-05 11:22:37 -070031 bool icmp##cmp(myint8_t a, myint8_t b); \
Jim Stichnoth5bc2b1d2014-05-22 13:38:48 -070032 bool icmp##cmp(int16_t a, int16_t b); \
33 bool icmp##cmp(int32_t a, int32_t b); \
Matt Wala9a0168a2014-07-23 14:56:10 -070034 bool icmp##cmp(int64_t a, int64_t b); \
35 v4si32 icmp##cmp(v4si32 a, v4si32 b); \
36 v8si16 icmp##cmp(v8si16 a, v8si16 b); \
37 v16si8 icmp##cmp(v16si8 a, v16si8 b);
38ICMP_S_TABLE
39#undef X
40
41#define X(cmp, op) \
42 v4si32 icmpi1##cmp(v4si32 a, v4si32 b); \
43 v8si16 icmpi1##cmp(v8si16 a, v8si16 b); \
44 v16si8 icmpi1##cmp(v16si8 a, v16si8 b);
45ICMP_U_TABLE
Jim Stichnoth5bc2b1d2014-05-22 13:38:48 -070046ICMP_S_TABLE
47#undef X