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 1322 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1333 | 1333 |
1334 | 1334 |
1335 void InstructionSelector::VisitFloat64RoundTiesEven(Node* node) { | 1335 void InstructionSelector::VisitFloat64RoundTiesEven(Node* node) { |
1336 VisitRR(this, kMips64Float64RoundTiesEven, node); | 1336 VisitRR(this, kMips64Float64RoundTiesEven, node); |
1337 } | 1337 } |
1338 | 1338 |
1339 void InstructionSelector::VisitFloat32Neg(Node* node) { UNREACHABLE(); } | 1339 void InstructionSelector::VisitFloat32Neg(Node* node) { UNREACHABLE(); } |
1340 | 1340 |
1341 void InstructionSelector::VisitFloat64Neg(Node* node) { UNREACHABLE(); } | 1341 void InstructionSelector::VisitFloat64Neg(Node* node) { UNREACHABLE(); } |
1342 | 1342 |
| 1343 void InstructionSelector::VisitFloat64Ieee754Binop(Node* node, |
| 1344 InstructionCode opcode) { |
| 1345 Mips64OperandGenerator g(this); |
| 1346 Emit(opcode, g.DefineAsFixed(node, f0), g.UseFixed(node->InputAt(0), f12), |
| 1347 g.UseFixed(node->InputAt(1), f14)) |
| 1348 ->MarkAsCall(); |
| 1349 } |
| 1350 |
1343 void InstructionSelector::VisitFloat64Ieee754Unop(Node* node, | 1351 void InstructionSelector::VisitFloat64Ieee754Unop(Node* node, |
1344 InstructionCode opcode) { | 1352 InstructionCode opcode) { |
1345 Mips64OperandGenerator g(this); | 1353 Mips64OperandGenerator g(this); |
1346 Emit(opcode, g.DefineAsFixed(node, f0), g.UseFixed(node->InputAt(0), f12)) | 1354 Emit(opcode, g.DefineAsFixed(node, f0), g.UseFixed(node->InputAt(0), f12)) |
1347 ->MarkAsCall(); | 1355 ->MarkAsCall(); |
1348 } | 1356 } |
1349 | 1357 |
1350 void InstructionSelector::EmitPrepareArguments( | 1358 void InstructionSelector::EmitPrepareArguments( |
1351 ZoneVector<PushParameter>* arguments, const CallDescriptor* descriptor, | 1359 ZoneVector<PushParameter>* arguments, const CallDescriptor* descriptor, |
1352 Node* node) { | 1360 Node* node) { |
(...skipping 722 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2075 } else { | 2083 } else { |
2076 DCHECK(kArchVariant == kMips64r2); | 2084 DCHECK(kArchVariant == kMips64r2); |
2077 return MachineOperatorBuilder::AlignmentRequirements:: | 2085 return MachineOperatorBuilder::AlignmentRequirements:: |
2078 NoUnalignedAccessSupport(); | 2086 NoUnalignedAccessSupport(); |
2079 } | 2087 } |
2080 } | 2088 } |
2081 | 2089 |
2082 } // namespace compiler | 2090 } // namespace compiler |
2083 } // namespace internal | 2091 } // namespace internal |
2084 } // namespace v8 | 2092 } // namespace v8 |
OLD | NEW |