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 876 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
887 | 887 |
888 void InstructionSelector::VisitFloat32RoundTiesEven(Node* node) { | 888 void InstructionSelector::VisitFloat32RoundTiesEven(Node* node) { |
889 VisitRR(this, kMipsFloat32RoundTiesEven, node); | 889 VisitRR(this, kMipsFloat32RoundTiesEven, node); |
890 } | 890 } |
891 | 891 |
892 | 892 |
893 void InstructionSelector::VisitFloat64RoundTiesEven(Node* node) { | 893 void InstructionSelector::VisitFloat64RoundTiesEven(Node* node) { |
894 VisitRR(this, kMipsFloat64RoundTiesEven, node); | 894 VisitRR(this, kMipsFloat64RoundTiesEven, node); |
895 } | 895 } |
896 | 896 |
897 void InstructionSelector::VisitFloat32Neg(Node* node) { UNREACHABLE(); } | 897 void InstructionSelector::VisitFloat32Neg(Node* node) { |
| 898 VisitRR(this, kMipsNegS, node); |
| 899 } |
898 | 900 |
899 void InstructionSelector::VisitFloat64Neg(Node* node) { UNREACHABLE(); } | 901 void InstructionSelector::VisitFloat64Neg(Node* node) { |
| 902 VisitRR(this, kMipsNegD, node); |
| 903 } |
900 | 904 |
901 void InstructionSelector::VisitFloat64Ieee754Binop(Node* node, | 905 void InstructionSelector::VisitFloat64Ieee754Binop(Node* node, |
902 InstructionCode opcode) { | 906 InstructionCode opcode) { |
903 MipsOperandGenerator g(this); | 907 MipsOperandGenerator g(this); |
904 Emit(opcode, g.DefineAsFixed(node, f0), g.UseFixed(node->InputAt(0), f2), | 908 Emit(opcode, g.DefineAsFixed(node, f0), g.UseFixed(node->InputAt(0), f2), |
905 g.UseFixed(node->InputAt(1), f4)) | 909 g.UseFixed(node->InputAt(1), f4)) |
906 ->MarkAsCall(); | 910 ->MarkAsCall(); |
907 } | 911 } |
908 | 912 |
909 void InstructionSelector::VisitFloat64Ieee754Unop(Node* node, | 913 void InstructionSelector::VisitFloat64Ieee754Unop(Node* node, |
(...skipping 740 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1650 DCHECK(IsMipsArchVariant(kLoongson) || IsMipsArchVariant(kMips32r1) || | 1654 DCHECK(IsMipsArchVariant(kLoongson) || IsMipsArchVariant(kMips32r1) || |
1651 IsMipsArchVariant(kMips32r2)); | 1655 IsMipsArchVariant(kMips32r2)); |
1652 return MachineOperatorBuilder::AlignmentRequirements:: | 1656 return MachineOperatorBuilder::AlignmentRequirements:: |
1653 NoUnalignedAccessSupport(); | 1657 NoUnalignedAccessSupport(); |
1654 } | 1658 } |
1655 } | 1659 } |
1656 | 1660 |
1657 } // namespace compiler | 1661 } // namespace compiler |
1658 } // namespace internal | 1662 } // namespace internal |
1659 } // namespace v8 | 1663 } // namespace v8 |
OLD | NEW |