| 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/compiler/instruction-selector-impl.h" | 5 #include "src/compiler/instruction-selector-impl.h" |
| 6 #include "src/compiler/node-matchers.h" | 6 #include "src/compiler/node-matchers.h" |
| 7 #include "src/compiler/node-properties.h" | 7 #include "src/compiler/node-properties.h" |
| 8 | 8 |
| 9 namespace v8 { | 9 namespace v8 { |
| 10 namespace internal { | 10 namespace internal { |
| (...skipping 1258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1269 Emit(kArm64Lsr, g.DefineAsRegister(node), g.UseRegister(m.left().node()), | 1269 Emit(kArm64Lsr, g.DefineAsRegister(node), g.UseRegister(m.left().node()), |
| 1270 g.UseImmediate(m.right().node())); | 1270 g.UseImmediate(m.right().node())); |
| 1271 return; | 1271 return; |
| 1272 } | 1272 } |
| 1273 } | 1273 } |
| 1274 | 1274 |
| 1275 Emit(kArm64Mov32, g.DefineAsRegister(node), g.UseRegister(node->InputAt(0))); | 1275 Emit(kArm64Mov32, g.DefineAsRegister(node), g.UseRegister(node->InputAt(0))); |
| 1276 } | 1276 } |
| 1277 | 1277 |
| 1278 | 1278 |
| 1279 void InstructionSelector::VisitBitcastFloat32ToInt32(Node* node) { |
| 1280 VisitRR(this, kArm64Float64ExtractLowWord32, node); |
| 1281 } |
| 1282 |
| 1283 |
| 1284 void InstructionSelector::VisitBitcastFloat64ToInt64(Node* node) { |
| 1285 VisitRR(this, kArm64U64MoveFloat64, node); |
| 1286 } |
| 1287 |
| 1288 |
| 1289 void InstructionSelector::VisitBitcastInt32ToFloat32(Node* node) { |
| 1290 VisitRR(this, kArm64Float64MoveU64, node); |
| 1291 } |
| 1292 |
| 1293 |
| 1294 void InstructionSelector::VisitBitcastInt64ToFloat64(Node* node) { |
| 1295 VisitRR(this, kArm64Float64MoveU64, node); |
| 1296 } |
| 1297 |
| 1298 |
| 1279 void InstructionSelector::VisitFloat32Add(Node* node) { | 1299 void InstructionSelector::VisitFloat32Add(Node* node) { |
| 1280 VisitRRR(this, kArm64Float32Add, node); | 1300 VisitRRR(this, kArm64Float32Add, node); |
| 1281 } | 1301 } |
| 1282 | 1302 |
| 1283 | 1303 |
| 1284 void InstructionSelector::VisitFloat64Add(Node* node) { | 1304 void InstructionSelector::VisitFloat64Add(Node* node) { |
| 1285 VisitRRR(this, kArm64Float64Add, node); | 1305 VisitRRR(this, kArm64Float64Add, node); |
| 1286 } | 1306 } |
| 1287 | 1307 |
| 1288 | 1308 |
| (...skipping 794 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2083 MachineOperatorBuilder::kFloat64RoundTruncate | | 2103 MachineOperatorBuilder::kFloat64RoundTruncate | |
| 2084 MachineOperatorBuilder::kFloat64RoundTiesAway | | 2104 MachineOperatorBuilder::kFloat64RoundTiesAway | |
| 2085 MachineOperatorBuilder::kWord32ShiftIsSafe | | 2105 MachineOperatorBuilder::kWord32ShiftIsSafe | |
| 2086 MachineOperatorBuilder::kInt32DivIsSafe | | 2106 MachineOperatorBuilder::kInt32DivIsSafe | |
| 2087 MachineOperatorBuilder::kUint32DivIsSafe; | 2107 MachineOperatorBuilder::kUint32DivIsSafe; |
| 2088 } | 2108 } |
| 2089 | 2109 |
| 2090 } // namespace compiler | 2110 } // namespace compiler |
| 2091 } // namespace internal | 2111 } // namespace internal |
| 2092 } // namespace v8 | 2112 } // namespace v8 |
| OLD | NEW |