| OLD | NEW |
| 1 //===- subzero/crosstest/test_icmp.cpp - Implementation for tests ---------===// | 1 //===- subzero/crosstest/test_icmp.cpp - Implementation for tests ---------===// |
| 2 // | 2 // |
| 3 // The Subzero Code Generator | 3 // The Subzero Code Generator |
| 4 // | 4 // |
| 5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
| 6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
| 7 // | 7 // |
| 8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
| 9 // | 9 // |
| 10 // This aims to test the icmp bitcode instruction across all PNaCl primitive | 10 // This aims to test the icmp bitcode instruction across all PNaCl primitive |
| 11 // and SIMD integer types. | 11 // and SIMD integer types. |
| 12 // | 12 // |
| 13 //===----------------------------------------------------------------------===// | 13 //===----------------------------------------------------------------------===// |
| 14 | 14 |
| 15 #include <stdint.h> | 15 #include <stdint.h> |
| 16 | 16 |
| 17 #include "test_icmp.h" | 17 #include "test_icmp.h" |
| 18 #include "xdefs.h" | 18 #include "xdefs.h" |
| 19 | 19 |
| 20 #define X(cmp, op) \ | 20 #define X(cmp, op) \ |
| 21 bool icmp##cmp(uint8_t a, uint8_t b) { return a op b; } \ | 21 bool icmp##cmp(uint8_t a, uint8_t b) { return a op b; } \ |
| 22 bool icmp##cmp(uint16_t a, uint16_t b) { return a op b; } \ | 22 bool icmp##cmp(uint16_t a, uint16_t b) { return a op b; } \ |
| 23 bool icmp##cmp(uint32_t a, uint32_t b) { return a op b; } \ | 23 bool icmp##cmp(uint32_t a, uint32_t b) { return a op b; } \ |
| 24 bool icmp##cmp(uint64 a, uint64 b) { return a op b; } \ | 24 bool icmp##cmp(uint64 a, uint64 b) { return a op b; } \ |
| 25 v4ui32 icmp##cmp(v4ui32 a, v4ui32 b) { return a op b; } \ | 25 v4ui32 icmp##cmp(v4ui32 a, v4ui32 b) { return a op b; } \ |
| 26 v8ui16 icmp##cmp(v8ui16 a, v8ui16 b) { return a op b; } \ | 26 v8ui16 icmp##cmp(v8ui16 a, v8ui16 b) { return a op b; } \ |
| 27 v16ui8 icmp##cmp(v16ui8 a, v16ui8 b) { return a op b; } | 27 v16ui8 icmp##cmp(v16ui8 a, v16ui8 b) { return a op b; } \ |
| 28 bool icmp_zero##cmp(uint8_t a) { return a op 0; } \ |
| 29 bool icmp_zero##cmp(uint16_t a) { return a op 0; } \ |
| 30 bool icmp_zero##cmp(uint32_t a) { return a op 0; } \ |
| 31 bool icmp_zero##cmp(uint64 a) { return a op 0; } |
| 28 ICMP_U_TABLE | 32 ICMP_U_TABLE |
| 29 #undef X | 33 #undef X |
| 30 | 34 |
| 31 #define X(cmp, op) \ | 35 #define X(cmp, op) \ |
| 32 bool icmp##cmp(myint8_t a, myint8_t b) { return a op b; } \ | 36 bool icmp##cmp(myint8_t a, myint8_t b) { return a op b; } \ |
| 33 bool icmp##cmp(int16_t a, int16_t b) { return a op b; } \ | 37 bool icmp##cmp(int16_t a, int16_t b) { return a op b; } \ |
| 34 bool icmp##cmp(int32_t a, int32_t b) { return a op b; } \ | 38 bool icmp##cmp(int32_t a, int32_t b) { return a op b; } \ |
| 35 bool icmp##cmp(int64 a, int64 b) { return a op b; } \ | 39 bool icmp##cmp(int64 a, int64 b) { return a op b; } \ |
| 36 v4si32 icmp##cmp(v4si32 a, v4si32 b) { return a op b; } \ | 40 v4si32 icmp##cmp(v4si32 a, v4si32 b) { return a op b; } \ |
| 37 v8si16 icmp##cmp(v8si16 a, v8si16 b) { return a op b; } \ | 41 v8si16 icmp##cmp(v8si16 a, v8si16 b) { return a op b; } \ |
| 38 v16si8 icmp##cmp(v16si8 a, v16si8 b) { return a op b; } | 42 v16si8 icmp##cmp(v16si8 a, v16si8 b) { return a op b; } \ |
| 43 bool icmp_zero##cmp(myint8_t a) { return a op 0; } \ |
| 44 bool icmp_zero##cmp(int16_t a) { return a op 0; } \ |
| 45 bool icmp_zero##cmp(int32_t a) { return a op 0; } \ |
| 46 bool icmp_zero##cmp(int64 a) { return a op 0; } |
| 39 ICMP_S_TABLE | 47 ICMP_S_TABLE |
| 40 #undef X | 48 #undef X |
| OLD | NEW |