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

Side by Side Diff: src/compiler/ppc/instruction-selector-ppc.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/ppc/code-generator-ppc.cc ('k') | src/compiler/x64/code-generator-x64.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 "src/base/adapters.h" 5 #include "src/base/adapters.h"
6 #include "src/compiler/instruction-selector-impl.h" 6 #include "src/compiler/instruction-selector-impl.h"
7 #include "src/compiler/node-matchers.h" 7 #include "src/compiler/node-matchers.h"
8 #include "src/compiler/node-properties.h" 8 #include "src/compiler/node-properties.h"
9 #include "src/ppc/frames-ppc.h" 9 #include "src/ppc/frames-ppc.h"
10 10
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after
275 switch (rep) { 275 switch (rep) {
276 case kRepWord8: 276 case kRepWord8:
277 opcode = typ == kTypeInt32 ? kCheckedLoadInt8 : kCheckedLoadUint8; 277 opcode = typ == kTypeInt32 ? kCheckedLoadInt8 : kCheckedLoadUint8;
278 break; 278 break;
279 case kRepWord16: 279 case kRepWord16:
280 opcode = typ == kTypeInt32 ? kCheckedLoadInt16 : kCheckedLoadUint16; 280 opcode = typ == kTypeInt32 ? kCheckedLoadInt16 : kCheckedLoadUint16;
281 break; 281 break;
282 case kRepWord32: 282 case kRepWord32:
283 opcode = kCheckedLoadWord32; 283 opcode = kCheckedLoadWord32;
284 break; 284 break;
285 case kRepWord64:
286 opcode = kCheckedLoadWord64;
287 break;
285 case kRepFloat32: 288 case kRepFloat32:
286 opcode = kCheckedLoadFloat32; 289 opcode = kCheckedLoadFloat32;
287 break; 290 break;
288 case kRepFloat64: 291 case kRepFloat64:
289 opcode = kCheckedLoadFloat64; 292 opcode = kCheckedLoadFloat64;
290 break; 293 break;
291 default: 294 default:
292 UNREACHABLE(); 295 UNREACHABLE();
293 return; 296 return;
294 } 297 }
(...skipping 15 matching lines...) Expand all
310 switch (rep) { 313 switch (rep) {
311 case kRepWord8: 314 case kRepWord8:
312 opcode = kCheckedStoreWord8; 315 opcode = kCheckedStoreWord8;
313 break; 316 break;
314 case kRepWord16: 317 case kRepWord16:
315 opcode = kCheckedStoreWord16; 318 opcode = kCheckedStoreWord16;
316 break; 319 break;
317 case kRepWord32: 320 case kRepWord32:
318 opcode = kCheckedStoreWord32; 321 opcode = kCheckedStoreWord32;
319 break; 322 break;
323 case kRepWord64:
324 opcode = kCheckedStoreWord64;
325 break;
320 case kRepFloat32: 326 case kRepFloat32:
321 opcode = kCheckedStoreFloat32; 327 opcode = kCheckedStoreFloat32;
322 break; 328 break;
323 case kRepFloat64: 329 case kRepFloat64:
324 opcode = kCheckedStoreFloat64; 330 opcode = kCheckedStoreFloat64;
325 break; 331 break;
326 default: 332 default:
327 UNREACHABLE(); 333 UNREACHABLE();
328 return; 334 return;
329 } 335 }
(...skipping 1342 matching lines...) Expand 10 before | Expand all | Expand 10 after
1672 InstructionSelector::SupportedMachineOperatorFlags() { 1678 InstructionSelector::SupportedMachineOperatorFlags() {
1673 return MachineOperatorBuilder::kFloat64RoundDown | 1679 return MachineOperatorBuilder::kFloat64RoundDown |
1674 MachineOperatorBuilder::kFloat64RoundTruncate | 1680 MachineOperatorBuilder::kFloat64RoundTruncate |
1675 MachineOperatorBuilder::kFloat64RoundTiesAway; 1681 MachineOperatorBuilder::kFloat64RoundTiesAway;
1676 // We omit kWord32ShiftIsSafe as s[rl]w use 0x3f as a mask rather than 0x1f. 1682 // We omit kWord32ShiftIsSafe as s[rl]w use 0x3f as a mask rather than 0x1f.
1677 } 1683 }
1678 1684
1679 } // namespace compiler 1685 } // namespace compiler
1680 } // namespace internal 1686 } // namespace internal
1681 } // namespace v8 1687 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/ppc/code-generator-ppc.cc ('k') | src/compiler/x64/code-generator-x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698