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

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

Issue 432373002: [turbofan] Add support for Int32SubWithOverflow. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 4 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 343 matching lines...) Expand 10 before | Expand all | Expand 10 after
354 VisitBinop(selector, node, sub_opcode, kArithimeticImm, false); 354 VisitBinop(selector, node, sub_opcode, kArithimeticImm, false);
355 } 355 }
356 } 356 }
357 357
358 358
359 void InstructionSelector::VisitInt32Sub(Node* node) { 359 void InstructionSelector::VisitInt32Sub(Node* node) {
360 VisitSub<int32_t>(this, node, kArm64Sub32, kArm64Neg32); 360 VisitSub<int32_t>(this, node, kArm64Sub32, kArm64Neg32);
361 } 361 }
362 362
363 363
364 void InstructionSelector::VisitInt32SubWithOverflow(Node* node) {
365 VisitBinopWithOverflow(this, node, kArm64Sub32);
366 }
367
368
364 void InstructionSelector::VisitInt64Sub(Node* node) { 369 void InstructionSelector::VisitInt64Sub(Node* node) {
365 VisitSub<int64_t>(this, node, kArm64Sub, kArm64Neg); 370 VisitSub<int64_t>(this, node, kArm64Sub, kArm64Neg);
366 } 371 }
367 372
368 373
369 void InstructionSelector::VisitInt32Mul(Node* node) { 374 void InstructionSelector::VisitInt32Mul(Node* node) {
370 VisitRRR(this, kArm64Mul32, node); 375 VisitRRR(this, kArm64Mul32, node);
371 } 376 }
372 377
373 378
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after
649 // Caller clean up of stack for C-style calls. 654 // Caller clean up of stack for C-style calls.
650 if (is_c_frame && aligned_push_count > 0) { 655 if (is_c_frame && aligned_push_count > 0) {
651 ASSERT(deoptimization == NULL && continuation == NULL); 656 ASSERT(deoptimization == NULL && continuation == NULL);
652 Emit(kArm64Drop | MiscField::encode(aligned_push_count), NULL); 657 Emit(kArm64Drop | MiscField::encode(aligned_push_count), NULL);
653 } 658 }
654 } 659 }
655 660
656 } // namespace compiler 661 } // namespace compiler
657 } // namespace internal 662 } // namespace internal
658 } // namespace v8 663 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/arm64/code-generator-arm64.cc ('k') | src/compiler/ia32/instruction-selector-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698