19a0168a9ccfa574e67baebe68650a85a18292d30Matt Wala//===- subzero/crosstest/test_icmp.h - Test prototypes -------*- C++ -*----===// 29a0168a9ccfa574e67baebe68650a85a18292d30Matt Wala// 39a0168a9ccfa574e67baebe68650a85a18292d30Matt Wala// The Subzero Code Generator 49a0168a9ccfa574e67baebe68650a85a18292d30Matt Wala// 59a0168a9ccfa574e67baebe68650a85a18292d30Matt Wala// This file is distributed under the University of Illinois Open Source 69a0168a9ccfa574e67baebe68650a85a18292d30Matt Wala// License. See LICENSE.TXT for details. 79a0168a9ccfa574e67baebe68650a85a18292d30Matt Wala// 89a0168a9ccfa574e67baebe68650a85a18292d30Matt Wala//===----------------------------------------------------------------------===// 99a0168a9ccfa574e67baebe68650a85a18292d30Matt Wala// 109a0168a9ccfa574e67baebe68650a85a18292d30Matt Wala// This file declares the function prototypes for crosstesting the icmp 119a0168a9ccfa574e67baebe68650a85a18292d30Matt Wala// bitcode instruction. 129a0168a9ccfa574e67baebe68650a85a18292d30Matt Wala// 139a0168a9ccfa574e67baebe68650a85a18292d30Matt Wala//===----------------------------------------------------------------------===// 149a0168a9ccfa574e67baebe68650a85a18292d30Matt Wala 155bc2b1d163123ef17e0a14f50aae3bc8e4cd243eJim Stichnoth#include "test_icmp.def" 165bc2b1d163123ef17e0a14f50aae3bc8e4cd243eJim Stichnoth 179a0168a9ccfa574e67baebe68650a85a18292d30Matt Wala#include "vectors.h" 181d235425dab1f3dd059973fc53f1b1d5879469e3John Porto#include "xdefs.h" 199a0168a9ccfa574e67baebe68650a85a18292d30Matt Wala 205bc2b1d163123ef17e0a14f50aae3bc8e4cd243eJim Stichnoth#define X(cmp, op) \ 215bc2b1d163123ef17e0a14f50aae3bc8e4cd243eJim Stichnoth bool icmp##cmp(uint8_t a, uint8_t b); \ 225bc2b1d163123ef17e0a14f50aae3bc8e4cd243eJim Stichnoth bool icmp##cmp(uint16_t a, uint16_t b); \ 235bc2b1d163123ef17e0a14f50aae3bc8e4cd243eJim Stichnoth bool icmp##cmp(uint32_t a, uint32_t b); \ 241d235425dab1f3dd059973fc53f1b1d5879469e3John Porto bool icmp##cmp(uint64 a, uint64 b); \ 259a0168a9ccfa574e67baebe68650a85a18292d30Matt Wala v4ui32 icmp##cmp(v4ui32 a, v4ui32 b); \ 269a0168a9ccfa574e67baebe68650a85a18292d30Matt Wala v8ui16 icmp##cmp(v8ui16 a, v8ui16 b); \ 275c87542ab707c91b1cc0d3d32ff4073e27f9bdf7David Sehr v16ui8 icmp##cmp(v16ui8 a, v16ui8 b); \ 285c87542ab707c91b1cc0d3d32ff4073e27f9bdf7David Sehr bool icmp_zero##cmp(uint8_t a); \ 295c87542ab707c91b1cc0d3d32ff4073e27f9bdf7David Sehr bool icmp_zero##cmp(uint16_t a); \ 305c87542ab707c91b1cc0d3d32ff4073e27f9bdf7David Sehr bool icmp_zero##cmp(uint32_t a); \ 315c87542ab707c91b1cc0d3d32ff4073e27f9bdf7David Sehr bool icmp_zero##cmp(uint64 a); 325bc2b1d163123ef17e0a14f50aae3bc8e4cd243eJim StichnothICMP_U_TABLE 335bc2b1d163123ef17e0a14f50aae3bc8e4cd243eJim Stichnoth#undef X 345bc2b1d163123ef17e0a14f50aae3bc8e4cd243eJim Stichnoth 355bc2b1d163123ef17e0a14f50aae3bc8e4cd243eJim Stichnoth#define X(cmp, op) \ 367da431b59be69bc6af383f3288f48f816b1c4f07Jim Stichnoth bool icmp##cmp(myint8_t a, myint8_t b); \ 375bc2b1d163123ef17e0a14f50aae3bc8e4cd243eJim Stichnoth bool icmp##cmp(int16_t a, int16_t b); \ 385bc2b1d163123ef17e0a14f50aae3bc8e4cd243eJim Stichnoth bool icmp##cmp(int32_t a, int32_t b); \ 391d235425dab1f3dd059973fc53f1b1d5879469e3John Porto bool icmp##cmp(int64 a, int64 b); \ 409a0168a9ccfa574e67baebe68650a85a18292d30Matt Wala v4si32 icmp##cmp(v4si32 a, v4si32 b); \ 419a0168a9ccfa574e67baebe68650a85a18292d30Matt Wala v8si16 icmp##cmp(v8si16 a, v8si16 b); \ 425c87542ab707c91b1cc0d3d32ff4073e27f9bdf7David Sehr v16si8 icmp##cmp(v16si8 a, v16si8 b); \ 435c87542ab707c91b1cc0d3d32ff4073e27f9bdf7David Sehr bool icmp_zero##cmp(myint8_t a); \ 445c87542ab707c91b1cc0d3d32ff4073e27f9bdf7David Sehr bool icmp_zero##cmp(int16_t a); \ 455c87542ab707c91b1cc0d3d32ff4073e27f9bdf7David Sehr bool icmp_zero##cmp(int32_t a); \ 465c87542ab707c91b1cc0d3d32ff4073e27f9bdf7David Sehr bool icmp_zero##cmp(int64 a); 479a0168a9ccfa574e67baebe68650a85a18292d30Matt WalaICMP_S_TABLE 489a0168a9ccfa574e67baebe68650a85a18292d30Matt Wala#undef X 499a0168a9ccfa574e67baebe68650a85a18292d30Matt Wala 509a0168a9ccfa574e67baebe68650a85a18292d30Matt Wala#define X(cmp, op) \ 519a0168a9ccfa574e67baebe68650a85a18292d30Matt Wala v4si32 icmpi1##cmp(v4si32 a, v4si32 b); \ 529a0168a9ccfa574e67baebe68650a85a18292d30Matt Wala v8si16 icmpi1##cmp(v8si16 a, v8si16 b); \ 539a0168a9ccfa574e67baebe68650a85a18292d30Matt Wala v16si8 icmpi1##cmp(v16si8 a, v16si8 b); 549a0168a9ccfa574e67baebe68650a85a18292d30Matt WalaICMP_U_TABLE 555bc2b1d163123ef17e0a14f50aae3bc8e4cd243eJim StichnothICMP_S_TABLE 565bc2b1d163123ef17e0a14f50aae3bc8e4cd243eJim Stichnoth#undef X 57