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 2422 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2433 } | 2433 } |
2434 VISIT_ATOMIC_BINOP(Add) | 2434 VISIT_ATOMIC_BINOP(Add) |
2435 VISIT_ATOMIC_BINOP(Sub) | 2435 VISIT_ATOMIC_BINOP(Sub) |
2436 VISIT_ATOMIC_BINOP(And) | 2436 VISIT_ATOMIC_BINOP(And) |
2437 VISIT_ATOMIC_BINOP(Or) | 2437 VISIT_ATOMIC_BINOP(Or) |
2438 VISIT_ATOMIC_BINOP(Xor) | 2438 VISIT_ATOMIC_BINOP(Xor) |
2439 #undef VISIT_ATOMIC_BINOP | 2439 #undef VISIT_ATOMIC_BINOP |
2440 | 2440 |
2441 #define SIMD_TYPES(V) \ | 2441 #define SIMD_TYPES(V) \ |
2442 V(I32x4) \ | 2442 V(I32x4) \ |
2443 V(I16x8) | 2443 V(I16x8) \ |
| 2444 V(I8x16) |
2444 | 2445 |
2445 #define SIMD_FORMAT_LIST(V) \ | 2446 #define SIMD_FORMAT_LIST(V) \ |
2446 V(32x4) \ | 2447 V(32x4) \ |
2447 V(16x8) | 2448 V(16x8) \ |
| 2449 V(8x16) |
2448 | 2450 |
2449 #define SIMD_ZERO_OP_LIST(V) \ | 2451 #define SIMD_ZERO_OP_LIST(V) \ |
2450 V(S128Zero) \ | 2452 V(S128Zero) \ |
2451 V(S1x4Zero) \ | 2453 V(S1x4Zero) \ |
2452 V(S1x8Zero) \ | 2454 V(S1x8Zero) \ |
2453 V(S1x16Zero) | 2455 V(S1x16Zero) |
2454 | 2456 |
2455 #define SIMD_BINOP_LIST(V) \ | 2457 #define SIMD_BINOP_LIST(V) \ |
2456 V(I32x4Add) \ | 2458 V(I32x4Add) \ |
2457 V(I32x4Sub) \ | 2459 V(I32x4Sub) \ |
2458 V(I32x4Mul) \ | 2460 V(I32x4Mul) \ |
2459 V(I32x4MinS) \ | 2461 V(I32x4MinS) \ |
2460 V(I32x4MaxS) \ | 2462 V(I32x4MaxS) \ |
2461 V(I32x4Eq) \ | 2463 V(I32x4Eq) \ |
2462 V(I32x4Ne) \ | 2464 V(I32x4Ne) \ |
2463 V(I32x4MinU) \ | 2465 V(I32x4MinU) \ |
2464 V(I32x4MaxU) \ | 2466 V(I32x4MaxU) \ |
2465 V(I16x8Add) \ | 2467 V(I16x8Add) \ |
2466 V(I16x8AddSaturateS) \ | 2468 V(I16x8AddSaturateS) \ |
2467 V(I16x8Sub) \ | 2469 V(I16x8Sub) \ |
2468 V(I16x8SubSaturateS) \ | 2470 V(I16x8SubSaturateS) \ |
2469 V(I16x8Mul) \ | 2471 V(I16x8Mul) \ |
2470 V(I16x8MinS) \ | 2472 V(I16x8MinS) \ |
2471 V(I16x8MaxS) \ | 2473 V(I16x8MaxS) \ |
2472 V(I16x8Eq) \ | 2474 V(I16x8Eq) \ |
2473 V(I16x8Ne) \ | 2475 V(I16x8Ne) \ |
2474 V(I16x8AddSaturateU) \ | 2476 V(I16x8AddSaturateU) \ |
2475 V(I16x8SubSaturateU) \ | 2477 V(I16x8SubSaturateU) \ |
2476 V(I16x8MinU) \ | 2478 V(I16x8MinU) \ |
2477 V(I16x8MaxU) | 2479 V(I16x8MaxU) \ |
| 2480 V(I8x16Add) \ |
| 2481 V(I8x16AddSaturateS) \ |
| 2482 V(I8x16Sub) \ |
| 2483 V(I8x16SubSaturateS) \ |
| 2484 V(I8x16MinS) \ |
| 2485 V(I8x16MaxS) \ |
| 2486 V(I8x16Eq) \ |
| 2487 V(I8x16Ne) \ |
| 2488 V(I8x16AddSaturateU) \ |
| 2489 V(I8x16SubSaturateU) \ |
| 2490 V(I8x16MinU) \ |
| 2491 V(I8x16MaxU) |
2478 | 2492 |
2479 #define SIMD_SHIFT_OPCODES(V) \ | 2493 #define SIMD_SHIFT_OPCODES(V) \ |
2480 V(I32x4Shl) \ | 2494 V(I32x4Shl) \ |
2481 V(I32x4ShrS) \ | 2495 V(I32x4ShrS) \ |
2482 V(I32x4ShrU) \ | 2496 V(I32x4ShrU) \ |
2483 V(I16x8Shl) \ | 2497 V(I16x8Shl) \ |
2484 V(I16x8ShrS) \ | 2498 V(I16x8ShrS) \ |
2485 V(I16x8ShrU) | 2499 V(I16x8ShrU) |
2486 | 2500 |
2487 #define VISIT_SIMD_SPLAT(Type) \ | 2501 #define VISIT_SIMD_SPLAT(Type) \ |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2585 // static | 2599 // static |
2586 MachineOperatorBuilder::AlignmentRequirements | 2600 MachineOperatorBuilder::AlignmentRequirements |
2587 InstructionSelector::AlignmentRequirements() { | 2601 InstructionSelector::AlignmentRequirements() { |
2588 return MachineOperatorBuilder::AlignmentRequirements:: | 2602 return MachineOperatorBuilder::AlignmentRequirements:: |
2589 FullUnalignedAccessSupport(); | 2603 FullUnalignedAccessSupport(); |
2590 } | 2604 } |
2591 | 2605 |
2592 } // namespace compiler | 2606 } // namespace compiler |
2593 } // namespace internal | 2607 } // namespace internal |
2594 } // namespace v8 | 2608 } // namespace v8 |
OLD | NEW |