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

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

Issue 556823002: [turbofan] ARM64 branch selector additions (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 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 | Annotate | Revision Log
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/compiler/instruction-selector-impl.h" 5 #include "src/compiler/instruction-selector-impl.h"
6 #include "src/compiler/node-matchers.h" 6 #include "src/compiler/node-matchers.h"
7 7
8 namespace v8 { 8 namespace v8 {
9 namespace internal { 9 namespace internal {
10 namespace compiler { 10 namespace compiler {
(...skipping 507 matching lines...) Expand 10 before | Expand all | Expand 10 after
518 cont); 518 cont);
519 } else { 519 } else {
520 VisitCompare(selector, opcode, g.UseRegister(left), g.UseRegister(right), 520 VisitCompare(selector, opcode, g.UseRegister(left), g.UseRegister(right),
521 cont); 521 cont);
522 } 522 }
523 } 523 }
524 524
525 525
526 void InstructionSelector::VisitWord32Test(Node* node, FlagsContinuation* cont) { 526 void InstructionSelector::VisitWord32Test(Node* node, FlagsContinuation* cont) {
527 switch (node->opcode()) { 527 switch (node->opcode()) {
528 case IrOpcode::kInt32Add:
529 return VisitWordCompare(this, node, kArm64Cmn32, cont, true);
530 case IrOpcode::kInt32Sub:
531 return VisitWordCompare(this, node, kArm64Cmp32, cont, false);
528 case IrOpcode::kWord32And: 532 case IrOpcode::kWord32And:
529 return VisitWordCompare(this, node, kArm64Tst32, cont, true); 533 return VisitWordCompare(this, node, kArm64Tst32, cont, true);
530 default: 534 default:
531 break; 535 break;
532 } 536 }
533 537
534 Arm64OperandGenerator g(this); 538 Arm64OperandGenerator g(this);
535 VisitCompare(this, kArm64Tst32, g.UseRegister(node), g.UseRegister(node), 539 VisitCompare(this, kArm64Tst32, g.UseRegister(node), g.UseRegister(node),
536 cont); 540 cont);
537 } 541 }
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
657 // Caller clean up of stack for C-style calls. 661 // Caller clean up of stack for C-style calls.
658 if (is_c_frame && aligned_push_count > 0) { 662 if (is_c_frame && aligned_push_count > 0) {
659 DCHECK(deoptimization == NULL && continuation == NULL); 663 DCHECK(deoptimization == NULL && continuation == NULL);
660 Emit(kArchDrop | MiscField::encode(aligned_push_count), NULL); 664 Emit(kArchDrop | MiscField::encode(aligned_push_count), NULL);
661 } 665 }
662 } 666 }
663 667
664 } // namespace compiler 668 } // namespace compiler
665 } // namespace internal 669 } // namespace internal
666 } // namespace v8 670 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/arm64/instruction-codes-arm64.h ('k') | src/compiler/arm64/instruction-selector-arm64-unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698