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

Side by Side Diff: test/cctest/compiler/value-helper.h

Issue 1526293002: [turbofan] Fixed a bug in TryTruncateFloatXXToInt64 with INT64_MIN. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Use constants with comments instead of type casts Created 5 years 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 | « test/cctest/compiler/test-run-machops.cc ('k') | test/cctest/wasm/test-run-wasm.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8_CCTEST_COMPILER_VALUE_HELPER_H_ 5 #ifndef V8_CCTEST_COMPILER_VALUE_HELPER_H_
6 #define V8_CCTEST_COMPILER_VALUE_HELPER_H_ 6 #define V8_CCTEST_COMPILER_VALUE_HELPER_H_
7 7
8 #include <stdint.h>
9
8 #include "src/compiler/common-operator.h" 10 #include "src/compiler/common-operator.h"
9 #include "src/compiler/node.h" 11 #include "src/compiler/node.h"
10 #include "src/compiler/node-matchers.h" 12 #include "src/compiler/node-matchers.h"
11 #include "src/isolate.h" 13 #include "src/isolate.h"
12 #include "src/objects.h" 14 #include "src/objects.h"
13 #include "test/cctest/cctest.h" 15 #include "test/cctest/cctest.h"
14 16
15 namespace v8 { 17 namespace v8 {
16 namespace internal { 18 namespace internal {
17 namespace compiler { 19 namespace compiler {
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 void CheckTrue(Node* node) { 55 void CheckTrue(Node* node) {
54 CheckHeapConstant(isolate_->heap()->true_value(), node); 56 CheckHeapConstant(isolate_->heap()->true_value(), node);
55 } 57 }
56 58
57 void CheckFalse(Node* node) { 59 void CheckFalse(Node* node) {
58 CheckHeapConstant(isolate_->heap()->false_value(), node); 60 CheckHeapConstant(isolate_->heap()->false_value(), node);
59 } 61 }
60 62
61 static std::vector<float> float32_vector() { 63 static std::vector<float> float32_vector() {
62 static const float nan = std::numeric_limits<float>::quiet_NaN(); 64 static const float nan = std::numeric_limits<float>::quiet_NaN();
63 static const float kValues[] = {-std::numeric_limits<float>::infinity(), 65 static const float kValues[] = {
64 -2.70497e+38f, 66 -std::numeric_limits<float>::infinity(),
65 -1.4698e+37f, 67 -2.70497e+38f,
66 -1.22813e+35f, 68 -1.4698e+37f,
67 -1.20555e+35f, 69 -1.22813e+35f,
68 -1.34584e+34f, 70 -1.20555e+35f,
69 -1.0079e+32f, 71 -1.34584e+34f,
70 -6.49364e+26f, 72 -1.0079e+32f,
71 -3.06077e+25f, 73 -6.49364e+26f,
72 -1.46821e+25f, 74 -3.06077e+25f,
73 -1.17658e+23f, 75 -1.46821e+25f,
74 -1.9617e+22f, 76 -1.17658e+23f,
75 -2.7357e+20f, 77 -1.9617e+22f,
76 -1.48708e+13f, 78 -2.7357e+20f,
77 -1.89633e+12f, 79 -9223372036854775808.0f, // INT64_MIN
78 -4.66622e+11f, 80 -1.48708e+13f,
79 -2.22581e+11f, 81 -1.89633e+12f,
80 -1.45381e+10f, 82 -4.66622e+11f,
81 -1.3956e+09f, 83 -2.22581e+11f,
82 -1.32951e+09f, 84 -1.45381e+10f,
83 -1.30721e+09f, 85 -1.3956e+09f,
84 -1.19756e+09f, 86 -1.32951e+09f,
85 -9.26822e+08f, 87 -1.30721e+09f,
86 -6.35647e+08f, 88 -1.19756e+09f,
87 -4.00037e+08f, 89 -9.26822e+08f,
88 -1.81227e+08f, 90 -6.35647e+08f,
89 -5.09256e+07f, 91 -4.00037e+08f,
90 -964300.0f, 92 -1.81227e+08f,
91 -192446.0f, 93 -5.09256e+07f,
92 -28455.0f, 94 -964300.0f,
93 -27194.0f, 95 -192446.0f,
94 -26401.0f, 96 -28455.0f,
95 -20575.0f, 97 -27194.0f,
96 -17069.0f, 98 -26401.0f,
97 -9167.0f, 99 -20575.0f,
98 -960.178f, 100 -17069.0f,
99 -113.0f, 101 -9167.0f,
100 -62.0f, 102 -960.178f,
101 -15.0f, 103 -113.0f,
102 -7.0f, 104 -62.0f,
103 -0.0256635f, 105 -15.0f,
104 -4.60374e-07f, 106 -7.0f,
105 -3.63759e-10f, 107 -0.0256635f,
106 -4.30175e-14f, 108 -4.60374e-07f,
107 -5.27385e-15f, 109 -3.63759e-10f,
108 -1.48084e-15f, 110 -4.30175e-14f,
109 -1.05755e-19f, 111 -5.27385e-15f,
110 -3.2995e-21f, 112 -1.48084e-15f,
111 -1.67354e-23f, 113 -1.05755e-19f,
112 -1.11885e-23f, 114 -3.2995e-21f,
113 -1.78506e-30f, 115 -1.67354e-23f,
114 -5.07594e-31f, 116 -1.11885e-23f,
115 -3.65799e-31f, 117 -1.78506e-30f,
116 -1.43718e-34f, 118 -5.07594e-31f,
117 -1.27126e-38f, 119 -3.65799e-31f,
118 -0.0f, 120 -1.43718e-34f,
119 0.0f, 121 -1.27126e-38f,
120 1.17549e-38f, 122 -0.0f,
121 1.56657e-37f, 123 0.0f,
122 4.08512e-29f, 124 1.17549e-38f,
123 3.31357e-28f, 125 1.56657e-37f,
124 6.25073e-22f, 126 4.08512e-29f,
125 4.1723e-13f, 127 3.31357e-28f,
126 1.44343e-09f, 128 6.25073e-22f,
127 5.27004e-08f, 129 4.1723e-13f,
128 9.48298e-08f, 130 1.44343e-09f,
129 5.57888e-07f, 131 5.27004e-08f,
130 4.89988e-05f, 132 9.48298e-08f,
131 0.244326f, 133 5.57888e-07f,
132 12.4895f, 134 4.89988e-05f,
133 19.0f, 135 0.244326f,
134 47.0f, 136 12.4895f,
135 106.0f, 137 19.0f,
136 538.324f, 138 47.0f,
137 564.536f, 139 106.0f,
138 819.124f, 140 538.324f,
139 7048.0f, 141 564.536f,
140 12611.0f, 142 819.124f,
141 19878.0f, 143 7048.0f,
142 20309.0f, 144 12611.0f,
143 797056.0f, 145 19878.0f,
144 1.77219e+09f, 146 20309.0f,
145 1.51116e+11f, 147 797056.0f,
146 4.18193e+13f, 148 1.77219e+09f,
147 3.59167e+16f, 149 1.51116e+11f,
148 3.38211e+19f, 150 4.18193e+13f,
149 2.67488e+20f, 151 3.59167e+16f,
150 1.78831e+21f, 152 9223372036854775807.0f, // INT64_MAX
151 9.20914e+21f, 153 18446744073709551615.0f, // UINT64_MAX
152 8.35654e+23f, 154 3.38211e+19f,
153 1.4495e+24f, 155 2.67488e+20f,
154 5.94015e+25f, 156 1.78831e+21f,
155 4.43608e+30f, 157 9.20914e+21f,
156 2.44502e+33f, 158 8.35654e+23f,
157 2.61152e+33f, 159 1.4495e+24f,
158 1.38178e+37f, 160 5.94015e+25f,
159 1.71306e+37f, 161 4.43608e+30f,
160 3.31899e+38f, 162 2.44502e+33f,
161 3.40282e+38f, 163 2.61152e+33f,
162 std::numeric_limits<float>::infinity(), 164 1.38178e+37f,
163 nan, 165 1.71306e+37f,
164 -nan}; 166 3.31899e+38f,
167 3.40282e+38f,
168 std::numeric_limits<float>::infinity(),
169 nan,
170 -nan,
171 };
165 return std::vector<float>(&kValues[0], &kValues[arraysize(kValues)]); 172 return std::vector<float>(&kValues[0], &kValues[arraysize(kValues)]);
166 } 173 }
167 174
168 static std::vector<double> float64_vector() { 175 static std::vector<double> float64_vector() {
169 static const double nan = std::numeric_limits<double>::quiet_NaN(); 176 static const double nan = std::numeric_limits<double>::quiet_NaN();
170 static const double values[] = {0.125, 177 static const double values[] = {-2e66,
178 -9223373136366403584.0,
179 -9223372036854775808.0, // INT64_MIN
180 -2147483649.5,
181 -2147483648.25,
182 -2147483648.0,
183 -2147483647.875,
184 -2147483647.125,
185 -2147483647.0,
186 -999.75,
187 -2e66,
188 -1.75,
189 -0.5,
190 -0.0,
191 0.0,
192 3e-88,
193 0.125,
171 0.25, 194 0.25,
172 0.375, 195 0.375,
173 0.5, 196 0.5,
174 -0.5,
175 1.25, 197 1.25,
176 -1.75,
177 2, 198 2,
199 3.1e7,
178 5.125, 200 5.125,
179 6.25, 201 6.25,
180 0.0, 202 888,
181 -0.0,
182 982983.25, 203 982983.25,
183 888,
184 2147483647.0, 204 2147483647.0,
185 -999.75,
186 3.1e7,
187 -2e66,
188 2e66,
189 3e-88,
190 -2147483648.0,
191 V8_INFINITY,
192 -V8_INFINITY,
193 -nan,
194 nan,
195 2147483647.375, 205 2147483647.375,
196 2147483647.75, 206 2147483647.75,
197 2147483648.0, 207 2147483648.0,
198 2147483648.25, 208 2147483648.25,
199 2147483649.25, 209 2147483649.25,
200 -2147483647.0, 210 9223372036854775807.0, // INT64_MAX
201 -2147483647.125, 211 9223373136366403584.0,
202 -2147483647.875, 212 18446744073709551615.0, // UINT64_MAX
203 -2147483648.25, 213 2e66,
204 -2147483649.5}; 214 V8_INFINITY,
215 -V8_INFINITY,
216 -nan,
217 nan};
205 return std::vector<double>(&values[0], &values[arraysize(values)]); 218 return std::vector<double>(&values[0], &values[arraysize(values)]);
206 } 219 }
207 220
208 static const std::vector<int32_t> int32_vector() { 221 static const std::vector<int32_t> int32_vector() {
209 std::vector<uint32_t> values = uint32_vector(); 222 std::vector<uint32_t> values = uint32_vector();
210 return std::vector<int32_t>(values.begin(), values.end()); 223 return std::vector<int32_t>(values.begin(), values.end());
211 } 224 }
212 225
213 static const std::vector<uint32_t> uint32_vector() { 226 static const std::vector<uint32_t> uint32_vector() {
214 static const uint32_t kValues[] = { 227 static const uint32_t kValues[] = {
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
293 306
294 #define FOR_INT32_SHIFTS(var) for (int32_t var = 0; var < 32; var++) 307 #define FOR_INT32_SHIFTS(var) for (int32_t var = 0; var < 32; var++)
295 308
296 #define FOR_UINT32_SHIFTS(var) for (uint32_t var = 0; var < 32; var++) 309 #define FOR_UINT32_SHIFTS(var) for (uint32_t var = 0; var < 32; var++)
297 310
298 } // namespace compiler 311 } // namespace compiler
299 } // namespace internal 312 } // namespace internal
300 } // namespace v8 313 } // namespace v8
301 314
302 #endif // V8_CCTEST_COMPILER_VALUE_HELPER_H_ 315 #endif // V8_CCTEST_COMPILER_VALUE_HELPER_H_
OLDNEW
« no previous file with comments | « test/cctest/compiler/test-run-machops.cc ('k') | test/cctest/wasm/test-run-wasm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698