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/bits.h" | 5 #include "src/base/bits.h" |
6 #include "src/compiler/instruction-selector-impl.h" | 6 #include "src/compiler/instruction-selector-impl.h" |
7 #include "src/compiler/node-matchers.h" | 7 #include "src/compiler/node-matchers.h" |
8 #include "src/compiler/node-properties.h" | 8 #include "src/compiler/node-properties.h" |
9 | 9 |
10 namespace v8 { | 10 namespace v8 { |
(...skipping 419 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
430 } | 430 } |
431 | 431 |
432 | 432 |
433 void InstructionSelector::VisitFloat64Mod(Node* node) { | 433 void InstructionSelector::VisitFloat64Mod(Node* node) { |
434 MipsOperandGenerator g(this); | 434 MipsOperandGenerator g(this); |
435 Emit(kMipsModD, g.DefineAsFixed(node, f0), g.UseFixed(node->InputAt(0), f12), | 435 Emit(kMipsModD, g.DefineAsFixed(node, f0), g.UseFixed(node->InputAt(0), f12), |
436 g.UseFixed(node->InputAt(1), f14))->MarkAsCall(); | 436 g.UseFixed(node->InputAt(1), f14))->MarkAsCall(); |
437 } | 437 } |
438 | 438 |
439 | 439 |
| 440 void InstructionSelector::VisitFloat64Max(Node* node) { UNREACHABLE(); } |
| 441 |
| 442 |
| 443 void InstructionSelector::VisitFloat64Min(Node* node) { UNREACHABLE(); } |
| 444 |
| 445 |
440 void InstructionSelector::VisitFloat64Sqrt(Node* node) { | 446 void InstructionSelector::VisitFloat64Sqrt(Node* node) { |
441 MipsOperandGenerator g(this); | 447 MipsOperandGenerator g(this); |
442 Emit(kMipsSqrtD, g.DefineAsRegister(node), g.UseRegister(node->InputAt(0))); | 448 Emit(kMipsSqrtD, g.DefineAsRegister(node), g.UseRegister(node->InputAt(0))); |
443 } | 449 } |
444 | 450 |
445 | 451 |
446 void InstructionSelector::VisitFloat64RoundDown(Node* node) { | 452 void InstructionSelector::VisitFloat64RoundDown(Node* node) { |
447 VisitRR(this, kMipsFloat64RoundDown, node); | 453 VisitRR(this, kMipsFloat64RoundDown, node); |
448 } | 454 } |
449 | 455 |
(...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
932 if (IsMipsArchVariant(kMips32r2) || IsMipsArchVariant(kMips32r6)) { | 938 if (IsMipsArchVariant(kMips32r2) || IsMipsArchVariant(kMips32r6)) { |
933 return MachineOperatorBuilder::kFloat64RoundDown | | 939 return MachineOperatorBuilder::kFloat64RoundDown | |
934 MachineOperatorBuilder::kFloat64RoundTruncate; | 940 MachineOperatorBuilder::kFloat64RoundTruncate; |
935 } | 941 } |
936 return MachineOperatorBuilder::kNoFlags; | 942 return MachineOperatorBuilder::kNoFlags; |
937 } | 943 } |
938 | 944 |
939 } // namespace compiler | 945 } // namespace compiler |
940 } // namespace internal | 946 } // namespace internal |
941 } // namespace v8 | 947 } // namespace v8 |
OLD | NEW |