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 916 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
927 | 927 |
928 | 928 |
929 void InstructionSelector::VisitFloat64RoundTiesEven(Node* node) { | 929 void InstructionSelector::VisitFloat64RoundTiesEven(Node* node) { |
930 VisitRR(this, kMipsFloat64RoundTiesEven, node); | 930 VisitRR(this, kMipsFloat64RoundTiesEven, node); |
931 } | 931 } |
932 | 932 |
933 void InstructionSelector::VisitFloat32Neg(Node* node) { UNREACHABLE(); } | 933 void InstructionSelector::VisitFloat32Neg(Node* node) { UNREACHABLE(); } |
934 | 934 |
935 void InstructionSelector::VisitFloat64Neg(Node* node) { UNREACHABLE(); } | 935 void InstructionSelector::VisitFloat64Neg(Node* node) { UNREACHABLE(); } |
936 | 936 |
| 937 void InstructionSelector::VisitFloat64Ieee754Binop(Node* node, |
| 938 InstructionCode opcode) { |
| 939 MipsOperandGenerator g(this); |
| 940 Emit(opcode, g.DefineAsFixed(node, f0), g.UseFixed(node->InputAt(0), f12), |
| 941 g.UseFixed(node->InputAt(1), f14)) |
| 942 ->MarkAsCall(); |
| 943 } |
| 944 |
937 void InstructionSelector::VisitFloat64Ieee754Unop(Node* node, | 945 void InstructionSelector::VisitFloat64Ieee754Unop(Node* node, |
938 InstructionCode opcode) { | 946 InstructionCode opcode) { |
939 MipsOperandGenerator g(this); | 947 MipsOperandGenerator g(this); |
940 Emit(opcode, g.DefineAsFixed(node, f0), g.UseFixed(node->InputAt(0), f12)) | 948 Emit(opcode, g.DefineAsFixed(node, f0), g.UseFixed(node->InputAt(0), f12)) |
941 ->MarkAsCall(); | 949 ->MarkAsCall(); |
942 } | 950 } |
943 | 951 |
944 void InstructionSelector::EmitPrepareArguments( | 952 void InstructionSelector::EmitPrepareArguments( |
945 ZoneVector<PushParameter>* arguments, const CallDescriptor* descriptor, | 953 ZoneVector<PushParameter>* arguments, const CallDescriptor* descriptor, |
946 Node* node) { | 954 Node* node) { |
(...skipping 620 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1567 DCHECK(IsMipsArchVariant(kLoongson) || IsMipsArchVariant(kMips32r1) || | 1575 DCHECK(IsMipsArchVariant(kLoongson) || IsMipsArchVariant(kMips32r1) || |
1568 IsMipsArchVariant(kMips32r2)); | 1576 IsMipsArchVariant(kMips32r2)); |
1569 return MachineOperatorBuilder::AlignmentRequirements:: | 1577 return MachineOperatorBuilder::AlignmentRequirements:: |
1570 NoUnalignedAccessSupport(); | 1578 NoUnalignedAccessSupport(); |
1571 } | 1579 } |
1572 } | 1580 } |
1573 | 1581 |
1574 } // namespace compiler | 1582 } // namespace compiler |
1575 } // namespace internal | 1583 } // namespace internal |
1576 } // namespace v8 | 1584 } // namespace v8 |
OLD | NEW |