OLD | NEW |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |