| 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 |