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 <algorithm> | 5 #include <algorithm> |
6 | 6 |
7 #include "src/base/adapters.h" | 7 #include "src/base/adapters.h" |
8 #include "src/compiler/instruction-selector-impl.h" | 8 #include "src/compiler/instruction-selector-impl.h" |
9 #include "src/compiler/node-matchers.h" | 9 #include "src/compiler/node-matchers.h" |
10 #include "src/compiler/node-properties.h" | 10 #include "src/compiler/node-properties.h" |
(...skipping 2439 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2450 | 2450 |
2451 #define SIMD_BINOP_LIST(V) \ | 2451 #define SIMD_BINOP_LIST(V) \ |
2452 V(I32x4Add) \ | 2452 V(I32x4Add) \ |
2453 V(I32x4AddHoriz) \ | 2453 V(I32x4AddHoriz) \ |
2454 V(I32x4Sub) \ | 2454 V(I32x4Sub) \ |
2455 V(I32x4Mul) \ | 2455 V(I32x4Mul) \ |
2456 V(I32x4MinS) \ | 2456 V(I32x4MinS) \ |
2457 V(I32x4MaxS) \ | 2457 V(I32x4MaxS) \ |
2458 V(I32x4Eq) \ | 2458 V(I32x4Eq) \ |
2459 V(I32x4Ne) \ | 2459 V(I32x4Ne) \ |
| 2460 V(I32x4GtS) \ |
| 2461 V(I32x4GeS) \ |
2460 V(I32x4MinU) \ | 2462 V(I32x4MinU) \ |
2461 V(I32x4MaxU) \ | 2463 V(I32x4MaxU) \ |
| 2464 V(I32x4GtU) \ |
| 2465 V(I32x4GeU) \ |
2462 V(I16x8Add) \ | 2466 V(I16x8Add) \ |
2463 V(I16x8AddSaturateS) \ | 2467 V(I16x8AddSaturateS) \ |
2464 V(I16x8AddHoriz) \ | 2468 V(I16x8AddHoriz) \ |
2465 V(I16x8Sub) \ | 2469 V(I16x8Sub) \ |
2466 V(I16x8SubSaturateS) \ | 2470 V(I16x8SubSaturateS) \ |
2467 V(I16x8Mul) \ | 2471 V(I16x8Mul) \ |
2468 V(I16x8MinS) \ | 2472 V(I16x8MinS) \ |
2469 V(I16x8MaxS) \ | 2473 V(I16x8MaxS) \ |
2470 V(I16x8Eq) \ | 2474 V(I16x8Eq) \ |
2471 V(I16x8Ne) \ | 2475 V(I16x8Ne) \ |
| 2476 V(I16x8GtS) \ |
| 2477 V(I16x8GeS) \ |
2472 V(I16x8AddSaturateU) \ | 2478 V(I16x8AddSaturateU) \ |
2473 V(I16x8SubSaturateU) \ | 2479 V(I16x8SubSaturateU) \ |
2474 V(I16x8MinU) \ | 2480 V(I16x8MinU) \ |
2475 V(I16x8MaxU) \ | 2481 V(I16x8MaxU) \ |
| 2482 V(I16x8GtU) \ |
| 2483 V(I16x8GeU) \ |
2476 V(I8x16Add) \ | 2484 V(I8x16Add) \ |
2477 V(I8x16AddSaturateS) \ | 2485 V(I8x16AddSaturateS) \ |
2478 V(I8x16Sub) \ | 2486 V(I8x16Sub) \ |
2479 V(I8x16SubSaturateS) \ | 2487 V(I8x16SubSaturateS) \ |
2480 V(I8x16MinS) \ | 2488 V(I8x16MinS) \ |
2481 V(I8x16MaxS) \ | 2489 V(I8x16MaxS) \ |
2482 V(I8x16Eq) \ | 2490 V(I8x16Eq) \ |
2483 V(I8x16Ne) \ | 2491 V(I8x16Ne) \ |
| 2492 V(I8x16GtS) \ |
| 2493 V(I8x16GeS) \ |
2484 V(I8x16AddSaturateU) \ | 2494 V(I8x16AddSaturateU) \ |
2485 V(I8x16SubSaturateU) \ | 2495 V(I8x16SubSaturateU) \ |
2486 V(I8x16MinU) \ | 2496 V(I8x16MinU) \ |
2487 V(I8x16MaxU) \ | 2497 V(I8x16MaxU) \ |
| 2498 V(I8x16GtU) \ |
| 2499 V(I8x16GeU) \ |
2488 V(S128And) \ | 2500 V(S128And) \ |
2489 V(S128Or) \ | 2501 V(S128Or) \ |
2490 V(S128Xor) | 2502 V(S128Xor) |
2491 | 2503 |
2492 #define SIMD_UNOP_LIST(V) V(S128Not) | 2504 #define SIMD_UNOP_LIST(V) \ |
| 2505 V(I32x4Neg) \ |
| 2506 V(I16x8Neg) \ |
| 2507 V(I8x16Neg) \ |
| 2508 V(S128Not) |
2493 | 2509 |
2494 #define SIMD_SHIFT_OPCODES(V) \ | 2510 #define SIMD_SHIFT_OPCODES(V) \ |
2495 V(I32x4Shl) \ | 2511 V(I32x4Shl) \ |
2496 V(I32x4ShrS) \ | 2512 V(I32x4ShrS) \ |
2497 V(I32x4ShrU) \ | 2513 V(I32x4ShrU) \ |
2498 V(I16x8Shl) \ | 2514 V(I16x8Shl) \ |
2499 V(I16x8ShrS) \ | 2515 V(I16x8ShrS) \ |
2500 V(I16x8ShrU) | 2516 V(I16x8ShrU) |
2501 | 2517 |
2502 void InstructionSelector::VisitS128Zero(Node* node) { | 2518 void InstructionSelector::VisitS128Zero(Node* node) { |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2603 // static | 2619 // static |
2604 MachineOperatorBuilder::AlignmentRequirements | 2620 MachineOperatorBuilder::AlignmentRequirements |
2605 InstructionSelector::AlignmentRequirements() { | 2621 InstructionSelector::AlignmentRequirements() { |
2606 return MachineOperatorBuilder::AlignmentRequirements:: | 2622 return MachineOperatorBuilder::AlignmentRequirements:: |
2607 FullUnalignedAccessSupport(); | 2623 FullUnalignedAccessSupport(); |
2608 } | 2624 } |
2609 | 2625 |
2610 } // namespace compiler | 2626 } // namespace compiler |
2611 } // namespace internal | 2627 } // namespace internal |
2612 } // namespace v8 | 2628 } // namespace v8 |
OLD | NEW |