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/common-operator.h" | 5 #include "src/compiler/common-operator.h" |
6 #include "src/compiler/graph.h" | 6 #include "src/compiler/graph.h" |
7 #include "src/compiler/machine-operator.h" | 7 #include "src/compiler/machine-operator.h" |
8 #include "src/compiler/node.h" | 8 #include "src/compiler/node.h" |
9 #include "src/compiler/node-matchers.h" | 9 #include "src/compiler/node-matchers.h" |
10 #include "src/compiler/opcodes.h" | 10 #include "src/compiler/opcodes.h" |
(...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
383 USE(d7); | 383 USE(d7); |
384 const Operator* d8_op = common()->Int64Constant(8); | 384 const Operator* d8_op = common()->Int64Constant(8); |
385 Node* d8 = graph()->NewNode(d8_op); | 385 Node* d8 = graph()->NewNode(d8_op); |
386 USE(d8); | 386 USE(d8); |
387 const Operator* d9_op = common()->Int64Constant(9); | 387 const Operator* d9_op = common()->Int64Constant(9); |
388 Node* d9 = graph()->NewNode(d9_op); | 388 Node* d9 = graph()->NewNode(d9_op); |
389 USE(d8); | 389 USE(d8); |
390 const Operator* d15_op = common()->Int64Constant(15); | 390 const Operator* d15_op = common()->Int64Constant(15); |
391 Node* d15 = graph()->NewNode(d15_op); | 391 Node* d15 = graph()->NewNode(d15_op); |
392 USE(d15); | 392 USE(d15); |
| 393 const Operator* d15_32_op = common()->Int32Constant(15); |
| 394 Node* d15_32 = graph()->NewNode(d15_32_op); |
| 395 USE(d15_32); |
393 | 396 |
394 const Operator* b0_op = common()->Parameter(0); | 397 const Operator* b0_op = common()->Parameter(0); |
395 Node* b0 = graph()->NewNode(b0_op, graph()->start()); | 398 Node* b0 = graph()->NewNode(b0_op, graph()->start()); |
396 USE(b0); | 399 USE(b0); |
397 const Operator* b1_op = common()->Parameter(1); | 400 const Operator* b1_op = common()->Parameter(1); |
398 Node* b1 = graph()->NewNode(b1_op, graph()->start()); | 401 Node* b1 = graph()->NewNode(b1_op, graph()->start()); |
399 USE(b0); | 402 USE(b0); |
400 | 403 |
401 const Operator* p1_op = common()->Parameter(3); | 404 const Operator* p1_op = common()->Parameter(3); |
402 Node* p1 = graph()->NewNode(p1_op, graph()->start()); | 405 Node* p1 = graph()->NewNode(p1_op, graph()->start()); |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
444 // 2 INPUT | 447 // 2 INPUT |
445 | 448 |
446 // (B0 + B1) -> [B0, 0, B1, NULL] | 449 // (B0 + B1) -> [B0, 0, B1, NULL] |
447 BaseWithIndexAndDisplacement64Matcher match1(graph()->NewNode(a_op, b0, b1)); | 450 BaseWithIndexAndDisplacement64Matcher match1(graph()->NewNode(a_op, b0, b1)); |
448 CheckBaseWithIndexAndDisplacement(&match1, b1, 0, b0, NULL); | 451 CheckBaseWithIndexAndDisplacement(&match1, b1, 0, b0, NULL); |
449 | 452 |
450 // (B0 + D15) -> [NULL, 0, B0, D15] | 453 // (B0 + D15) -> [NULL, 0, B0, D15] |
451 BaseWithIndexAndDisplacement64Matcher match2(graph()->NewNode(a_op, b0, d15)); | 454 BaseWithIndexAndDisplacement64Matcher match2(graph()->NewNode(a_op, b0, d15)); |
452 CheckBaseWithIndexAndDisplacement(&match2, NULL, 0, b0, d15); | 455 CheckBaseWithIndexAndDisplacement(&match2, NULL, 0, b0, d15); |
453 | 456 |
| 457 BaseWithIndexAndDisplacement64Matcher match2_32( |
| 458 graph()->NewNode(a_op, b0, d15_32)); |
| 459 CheckBaseWithIndexAndDisplacement(&match2_32, NULL, 0, b0, d15_32); |
| 460 |
454 // (D15 + B0) -> [NULL, 0, B0, D15] | 461 // (D15 + B0) -> [NULL, 0, B0, D15] |
455 BaseWithIndexAndDisplacement64Matcher match3(graph()->NewNode(a_op, d15, b0)); | 462 BaseWithIndexAndDisplacement64Matcher match3(graph()->NewNode(a_op, d15, b0)); |
456 CheckBaseWithIndexAndDisplacement(&match3, NULL, 0, b0, d15); | 463 CheckBaseWithIndexAndDisplacement(&match3, NULL, 0, b0, d15); |
457 | 464 |
458 // (B0 + M1) -> [p1, 0, B0, NULL] | 465 // (B0 + M1) -> [p1, 0, B0, NULL] |
459 BaseWithIndexAndDisplacement64Matcher match4(graph()->NewNode(a_op, b0, m1)); | 466 BaseWithIndexAndDisplacement64Matcher match4(graph()->NewNode(a_op, b0, m1)); |
460 CheckBaseWithIndexAndDisplacement(&match4, p1, 0, b0, NULL); | 467 CheckBaseWithIndexAndDisplacement(&match4, p1, 0, b0, NULL); |
461 | 468 |
462 // (M1 + B0) -> [p1, 0, B0, NULL] | 469 // (M1 + B0) -> [p1, 0, B0, NULL] |
463 m1 = graph()->NewNode(m_op, p1, d1); | 470 m1 = graph()->NewNode(m_op, p1, d1); |
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
717 temp = graph()->NewNode(a_op, b0, d15); | 724 temp = graph()->NewNode(a_op, b0, d15); |
718 BaseWithIndexAndDisplacement64Matcher match50( | 725 BaseWithIndexAndDisplacement64Matcher match50( |
719 graph()->NewNode(a_op, m3, temp)); | 726 graph()->NewNode(a_op, m3, temp)); |
720 CheckBaseWithIndexAndDisplacement(&match50, m3, 0, b0, d15); | 727 CheckBaseWithIndexAndDisplacement(&match50, m3, 0, b0, d15); |
721 } | 728 } |
722 | 729 |
723 | 730 |
724 } // namespace compiler | 731 } // namespace compiler |
725 } // namespace internal | 732 } // namespace internal |
726 } // namespace v8 | 733 } // namespace v8 |
OLD | NEW |