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

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

Issue 2252863003: [turbofan] Add Float32(Max|Min) machine operators. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Type is number now. Created 4 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
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/base/bits.h" 6 #include "src/base/bits.h"
7 #include "src/compiler/instruction-selector-impl.h" 7 #include "src/compiler/instruction-selector-impl.h"
8 #include "src/compiler/node-matchers.h" 8 #include "src/compiler/node-matchers.h"
9 #include "src/compiler/node-properties.h" 9 #include "src/compiler/node-properties.h"
10 10
(...skipping 1458 matching lines...) Expand 10 before | Expand all | Expand 10 after
1469 VisitRRR(this, kArmVdivF64, node); 1469 VisitRRR(this, kArmVdivF64, node);
1470 } 1470 }
1471 1471
1472 1472
1473 void InstructionSelector::VisitFloat64Mod(Node* node) { 1473 void InstructionSelector::VisitFloat64Mod(Node* node) {
1474 ArmOperandGenerator g(this); 1474 ArmOperandGenerator g(this);
1475 Emit(kArmVmodF64, g.DefineAsFixed(node, d0), g.UseFixed(node->InputAt(0), d0), 1475 Emit(kArmVmodF64, g.DefineAsFixed(node, d0), g.UseFixed(node->InputAt(0), d0),
1476 g.UseFixed(node->InputAt(1), d1))->MarkAsCall(); 1476 g.UseFixed(node->InputAt(1), d1))->MarkAsCall();
1477 } 1477 }
1478 1478
1479 void InstructionSelector::VisitFloat32Max(Node* node) {
1480 VisitRRR(this, kArmFloat32Max, node);
1481 }
1482
1479 void InstructionSelector::VisitFloat64Max(Node* node) { 1483 void InstructionSelector::VisitFloat64Max(Node* node) {
1480 VisitRRR(this, kArmFloat64Max, node); 1484 VisitRRR(this, kArmFloat64Max, node);
1481 } 1485 }
1482 1486
1483 void InstructionSelector::VisitFloat64SilenceNaN(Node* node) { 1487 void InstructionSelector::VisitFloat64SilenceNaN(Node* node) {
1484 VisitRR(this, kArmFloat64SilenceNaN, node); 1488 VisitRR(this, kArmFloat64SilenceNaN, node);
1485 } 1489 }
1486 1490
1491 void InstructionSelector::VisitFloat32Min(Node* node) {
1492 VisitRRR(this, kArmFloat32Min, node);
1493 }
1494
1487 void InstructionSelector::VisitFloat64Min(Node* node) { 1495 void InstructionSelector::VisitFloat64Min(Node* node) {
1488 VisitRRR(this, kArmFloat64Min, node); 1496 VisitRRR(this, kArmFloat64Min, node);
1489 } 1497 }
1490 1498
1491 void InstructionSelector::VisitFloat32Abs(Node* node) { 1499 void InstructionSelector::VisitFloat32Abs(Node* node) {
1492 VisitRR(this, kArmVabsF32, node); 1500 VisitRR(this, kArmVabsF32, node);
1493 } 1501 }
1494 1502
1495 1503
1496 void InstructionSelector::VisitFloat64Abs(Node* node) { 1504 void InstructionSelector::VisitFloat64Abs(Node* node) {
(...skipping 761 matching lines...) Expand 10 before | Expand all | Expand 10 after
2258 Vector<MachineType> req_aligned = Vector<MachineType>::New(2); 2266 Vector<MachineType> req_aligned = Vector<MachineType>::New(2);
2259 req_aligned[0] = MachineType::Float32(); 2267 req_aligned[0] = MachineType::Float32();
2260 req_aligned[1] = MachineType::Float64(); 2268 req_aligned[1] = MachineType::Float64();
2261 return MachineOperatorBuilder::AlignmentRequirements:: 2269 return MachineOperatorBuilder::AlignmentRequirements::
2262 SomeUnalignedAccessUnsupported(req_aligned, req_aligned); 2270 SomeUnalignedAccessUnsupported(req_aligned, req_aligned);
2263 } 2271 }
2264 2272
2265 } // namespace compiler 2273 } // namespace compiler
2266 } // namespace internal 2274 } // namespace internal
2267 } // namespace v8 2275 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/arm/instruction-scheduler-arm.cc ('k') | src/compiler/arm64/code-generator-arm64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698