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 1282 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1293 | 1293 |
1294 void InstructionSelector::VisitFloat32RoundTiesEven(Node* node) { | 1294 void InstructionSelector::VisitFloat32RoundTiesEven(Node* node) { |
1295 VisitRR(this, kMips64Float32RoundTiesEven, node); | 1295 VisitRR(this, kMips64Float32RoundTiesEven, node); |
1296 } | 1296 } |
1297 | 1297 |
1298 | 1298 |
1299 void InstructionSelector::VisitFloat64RoundTiesEven(Node* node) { | 1299 void InstructionSelector::VisitFloat64RoundTiesEven(Node* node) { |
1300 VisitRR(this, kMips64Float64RoundTiesEven, node); | 1300 VisitRR(this, kMips64Float64RoundTiesEven, node); |
1301 } | 1301 } |
1302 | 1302 |
1303 void InstructionSelector::VisitFloat32Neg(Node* node) { UNREACHABLE(); } | 1303 void InstructionSelector::VisitFloat32Neg(Node* node) { |
| 1304 VisitRR(this, kMips64NegS, node); |
| 1305 } |
1304 | 1306 |
1305 void InstructionSelector::VisitFloat64Neg(Node* node) { UNREACHABLE(); } | 1307 void InstructionSelector::VisitFloat64Neg(Node* node) { |
| 1308 VisitRR(this, kMips64NegD, node); |
| 1309 } |
1306 | 1310 |
1307 void InstructionSelector::VisitFloat64Ieee754Binop(Node* node, | 1311 void InstructionSelector::VisitFloat64Ieee754Binop(Node* node, |
1308 InstructionCode opcode) { | 1312 InstructionCode opcode) { |
1309 Mips64OperandGenerator g(this); | 1313 Mips64OperandGenerator g(this); |
1310 Emit(opcode, g.DefineAsFixed(node, f0), g.UseFixed(node->InputAt(0), f2), | 1314 Emit(opcode, g.DefineAsFixed(node, f0), g.UseFixed(node->InputAt(0), f2), |
1311 g.UseFixed(node->InputAt(1), f4)) | 1315 g.UseFixed(node->InputAt(1), f4)) |
1312 ->MarkAsCall(); | 1316 ->MarkAsCall(); |
1313 } | 1317 } |
1314 | 1318 |
1315 void InstructionSelector::VisitFloat64Ieee754Unop(Node* node, | 1319 void InstructionSelector::VisitFloat64Ieee754Unop(Node* node, |
(...skipping 839 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2155 } else { | 2159 } else { |
2156 DCHECK(kArchVariant == kMips64r2); | 2160 DCHECK(kArchVariant == kMips64r2); |
2157 return MachineOperatorBuilder::AlignmentRequirements:: | 2161 return MachineOperatorBuilder::AlignmentRequirements:: |
2158 NoUnalignedAccessSupport(); | 2162 NoUnalignedAccessSupport(); |
2159 } | 2163 } |
2160 } | 2164 } |
2161 | 2165 |
2162 } // namespace compiler | 2166 } // namespace compiler |
2163 } // namespace internal | 2167 } // namespace internal |
2164 } // namespace v8 | 2168 } // namespace v8 |
OLD | NEW |