Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4)

Side by Side Diff: src/compiler/x64/instruction-selector-x64.cc

Issue 2829483002: [wasm] Implement first set of SIMD I8x16 ops (Closed)
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/compiler/x64/instruction-scheduler-x64.cc ('k') | test/cctest/wasm/test-run-wasm-simd.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « src/compiler/x64/instruction-scheduler-x64.cc ('k') | test/cctest/wasm/test-run-wasm-simd.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698