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

Side by Side Diff: src/compiler/x64/instruction-selector-x64.cc

Issue 1310323006: [turbofan] support for Int64 in CheckedLoad/CheckedStore on 64-bit platforms. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 3 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 | « src/compiler/x64/code-generator-x64.cc ('k') | src/compiler/x87/code-generator-x87.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 #include <algorithm> 5 #include <algorithm>
6 6
7 #include "src/base/adapters.h" 7 #include "src/base/adapters.h"
8 #include "src/compiler/instruction-selector-impl.h" 8 #include "src/compiler/instruction-selector-impl.h"
9 #include "src/compiler/node-matchers.h" 9 #include "src/compiler/node-matchers.h"
10 #include "src/compiler/node-properties.h" 10 #include "src/compiler/node-properties.h"
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 switch (rep) { 226 switch (rep) {
227 case kRepWord8: 227 case kRepWord8:
228 opcode = typ == kTypeInt32 ? kCheckedLoadInt8 : kCheckedLoadUint8; 228 opcode = typ == kTypeInt32 ? kCheckedLoadInt8 : kCheckedLoadUint8;
229 break; 229 break;
230 case kRepWord16: 230 case kRepWord16:
231 opcode = typ == kTypeInt32 ? kCheckedLoadInt16 : kCheckedLoadUint16; 231 opcode = typ == kTypeInt32 ? kCheckedLoadInt16 : kCheckedLoadUint16;
232 break; 232 break;
233 case kRepWord32: 233 case kRepWord32:
234 opcode = kCheckedLoadWord32; 234 opcode = kCheckedLoadWord32;
235 break; 235 break;
236 case kRepWord64:
237 opcode = kCheckedLoadWord64;
238 break;
236 case kRepFloat32: 239 case kRepFloat32:
237 opcode = kCheckedLoadFloat32; 240 opcode = kCheckedLoadFloat32;
238 break; 241 break;
239 case kRepFloat64: 242 case kRepFloat64:
240 opcode = kCheckedLoadFloat64; 243 opcode = kCheckedLoadFloat64;
241 break; 244 break;
242 default: 245 default:
243 UNREACHABLE(); 246 UNREACHABLE();
244 return; 247 return;
245 } 248 }
(...skipping 27 matching lines...) Expand all
273 switch (rep) { 276 switch (rep) {
274 case kRepWord8: 277 case kRepWord8:
275 opcode = kCheckedStoreWord8; 278 opcode = kCheckedStoreWord8;
276 break; 279 break;
277 case kRepWord16: 280 case kRepWord16:
278 opcode = kCheckedStoreWord16; 281 opcode = kCheckedStoreWord16;
279 break; 282 break;
280 case kRepWord32: 283 case kRepWord32:
281 opcode = kCheckedStoreWord32; 284 opcode = kCheckedStoreWord32;
282 break; 285 break;
286 case kRepWord64:
287 opcode = kCheckedStoreWord64;
288 break;
283 case kRepFloat32: 289 case kRepFloat32:
284 opcode = kCheckedStoreFloat32; 290 opcode = kCheckedStoreFloat32;
285 break; 291 break;
286 case kRepFloat64: 292 case kRepFloat64:
287 opcode = kCheckedStoreFloat64; 293 opcode = kCheckedStoreFloat64;
288 break; 294 break;
289 default: 295 default:
290 UNREACHABLE(); 296 UNREACHABLE();
291 return; 297 return;
292 } 298 }
(...skipping 1385 matching lines...) Expand 10 before | Expand all | Expand 10 after
1678 if (CpuFeatures::IsSupported(SSE4_1)) { 1684 if (CpuFeatures::IsSupported(SSE4_1)) {
1679 flags |= MachineOperatorBuilder::kFloat64RoundDown | 1685 flags |= MachineOperatorBuilder::kFloat64RoundDown |
1680 MachineOperatorBuilder::kFloat64RoundTruncate; 1686 MachineOperatorBuilder::kFloat64RoundTruncate;
1681 } 1687 }
1682 return flags; 1688 return flags;
1683 } 1689 }
1684 1690
1685 } // namespace compiler 1691 } // namespace compiler
1686 } // namespace internal 1692 } // namespace internal
1687 } // namespace v8 1693 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/x64/code-generator-x64.cc ('k') | src/compiler/x87/code-generator-x87.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698