Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(352)

Side by Side Diff: crosstest/test_icmp.h

Issue 1406593003: Optimize 64-bit compares with zero (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Add isZero utility function, fix comments. Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | crosstest/test_icmp.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 //===- subzero/crosstest/test_icmp.h - Test prototypes -------*- C++ -*----===// 1 //===- subzero/crosstest/test_icmp.h - Test prototypes -------*- C++ -*----===//
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 file declares the function prototypes for crosstesting the icmp 10 // This file declares the function prototypes for crosstesting the icmp
11 // bitcode instruction. 11 // bitcode instruction.
12 // 12 //
13 //===----------------------------------------------------------------------===// 13 //===----------------------------------------------------------------------===//
14 14
15 #include "test_icmp.def" 15 #include "test_icmp.def"
16 16
17 #include "vectors.h" 17 #include "vectors.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); \ 21 bool icmp##cmp(uint8_t a, uint8_t b); \
22 bool icmp##cmp(uint16_t a, uint16_t b); \ 22 bool icmp##cmp(uint16_t a, uint16_t b); \
23 bool icmp##cmp(uint32_t a, uint32_t b); \ 23 bool icmp##cmp(uint32_t a, uint32_t b); \
24 bool icmp##cmp(uint64 a, uint64 b); \ 24 bool icmp##cmp(uint64 a, uint64 b); \
25 v4ui32 icmp##cmp(v4ui32 a, v4ui32 b); \ 25 v4ui32 icmp##cmp(v4ui32 a, v4ui32 b); \
26 v8ui16 icmp##cmp(v8ui16 a, v8ui16 b); \ 26 v8ui16 icmp##cmp(v8ui16 a, v8ui16 b); \
27 v16ui8 icmp##cmp(v16ui8 a, v16ui8 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);
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); \ 36 bool icmp##cmp(myint8_t a, myint8_t b); \
33 bool icmp##cmp(int16_t a, int16_t b); \ 37 bool icmp##cmp(int16_t a, int16_t b); \
34 bool icmp##cmp(int32_t a, int32_t b); \ 38 bool icmp##cmp(int32_t a, int32_t b); \
35 bool icmp##cmp(int64 a, int64 b); \ 39 bool icmp##cmp(int64 a, int64 b); \
36 v4si32 icmp##cmp(v4si32 a, v4si32 b); \ 40 v4si32 icmp##cmp(v4si32 a, v4si32 b); \
37 v8si16 icmp##cmp(v8si16 a, v8si16 b); \ 41 v8si16 icmp##cmp(v8si16 a, v8si16 b); \
38 v16si8 icmp##cmp(v16si8 a, v16si8 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);
39 ICMP_S_TABLE 47 ICMP_S_TABLE
40 #undef X 48 #undef X
41 49
42 #define X(cmp, op) \ 50 #define X(cmp, op) \
43 v4si32 icmpi1##cmp(v4si32 a, v4si32 b); \ 51 v4si32 icmpi1##cmp(v4si32 a, v4si32 b); \
44 v8si16 icmpi1##cmp(v8si16 a, v8si16 b); \ 52 v8si16 icmpi1##cmp(v8si16 a, v8si16 b); \
45 v16si8 icmpi1##cmp(v16si8 a, v16si8 b); 53 v16si8 icmpi1##cmp(v16si8 a, v16si8 b);
46 ICMP_U_TABLE 54 ICMP_U_TABLE
47 ICMP_S_TABLE 55 ICMP_S_TABLE
48 #undef X 56 #undef X
OLDNEW
« no previous file with comments | « no previous file | crosstest/test_icmp.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698