OLD | NEW |
1 // This aims to test the icmp bitcode instruction across all PNaCl | 1 //===- subzero/crosstest/test_icmp.cpp - Implementation for tests ---------===// |
2 // primitive integer types. | 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 aims to test the icmp bitcode instruction across all PNaCl primitive |
| 11 // and SIMD integer types. |
| 12 // |
| 13 //===----------------------------------------------------------------------===// |
3 | 14 |
4 #include <stdint.h> | 15 #include <stdint.h> |
5 | 16 |
6 #include "test_icmp.h" | 17 #include "test_icmp.h" |
7 | 18 |
8 #define X(cmp, op) \ | 19 #define X(cmp, op) \ |
9 bool icmp##cmp(uint8_t a, uint8_t b) { return a op b; } \ | 20 bool icmp##cmp(uint8_t a, uint8_t b) { return a op b; } \ |
10 bool icmp##cmp(uint16_t a, uint16_t b) { return a op b; } \ | 21 bool icmp##cmp(uint16_t a, uint16_t b) { return a op b; } \ |
11 bool icmp##cmp(uint32_t a, uint32_t b) { return a op b; } \ | 22 bool icmp##cmp(uint32_t a, uint32_t b) { return a op b; } \ |
12 bool icmp##cmp(uint64_t a, uint64_t b) { return a op b; } | 23 bool icmp##cmp(uint64_t a, uint64_t b) { return a op b; } \ |
| 24 v4ui32 icmp##cmp(v4ui32 a, v4ui32 b) { return a op b; } \ |
| 25 v8ui16 icmp##cmp(v8ui16 a, v8ui16 b) { return a op b; } \ |
| 26 v16ui8 icmp##cmp(v16ui8 a, v16ui8 b) { return a op b; } |
13 ICMP_U_TABLE | 27 ICMP_U_TABLE |
14 #undef X | 28 #undef X |
| 29 |
15 #define X(cmp, op) \ | 30 #define X(cmp, op) \ |
16 bool icmp##cmp(int8_t a, int8_t b) { return a op b; } \ | 31 bool icmp##cmp(int8_t a, int8_t b) { return a op b; } \ |
17 bool icmp##cmp(int16_t a, int16_t b) { return a op b; } \ | 32 bool icmp##cmp(int16_t a, int16_t b) { return a op b; } \ |
18 bool icmp##cmp(int32_t a, int32_t b) { return a op b; } \ | 33 bool icmp##cmp(int32_t a, int32_t b) { return a op b; } \ |
19 bool icmp##cmp(int64_t a, int64_t b) { return a op b; } | 34 bool icmp##cmp(int64_t a, int64_t b) { return a op b; } \ |
| 35 v4si32 icmp##cmp(v4si32 a, v4si32 b) { return a op b; } \ |
| 36 v8si16 icmp##cmp(v8si16 a, v8si16 b) { return a op b; } \ |
| 37 v16si8 icmp##cmp(v16si8 a, v16si8 b) { return a op b; } |
20 ICMP_S_TABLE | 38 ICMP_S_TABLE |
21 #undef X | 39 #undef X |
OLD | NEW |