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

Side by Side Diff: src/wasm/wasm-macro-gen.h

Issue 2683713003: [Turbofan] Add more non-arithmetic SIMD operations. (Closed)
Patch Set: Rebase. Created 3 years, 10 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/wasm-compiler.cc ('k') | src/wasm/wasm-opcodes.h » ('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 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 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 #ifndef V8_WASM_MACRO_GEN_H_ 5 #ifndef V8_WASM_MACRO_GEN_H_
6 #define V8_WASM_MACRO_GEN_H_ 6 #define V8_WASM_MACRO_GEN_H_
7 7
8 #include "src/wasm/wasm-opcodes.h" 8 #include "src/wasm/wasm-opcodes.h"
9 9
10 #include "src/zone/zone-containers.h" 10 #include "src/zone/zone-containers.h"
(...skipping 603 matching lines...) Expand 10 before | Expand all | Expand 10 after
614 614
615 //------------------------------------------------------------------------------ 615 //------------------------------------------------------------------------------
616 // Memory Operations. 616 // Memory Operations.
617 //------------------------------------------------------------------------------ 617 //------------------------------------------------------------------------------
618 #define WASM_GROW_MEMORY(x) x, kExprGrowMemory, 0 618 #define WASM_GROW_MEMORY(x) x, kExprGrowMemory, 0
619 #define WASM_MEMORY_SIZE kExprMemorySize, 0 619 #define WASM_MEMORY_SIZE kExprMemorySize, 0
620 620
621 //------------------------------------------------------------------------------ 621 //------------------------------------------------------------------------------
622 // Simd Operations. 622 // Simd Operations.
623 //------------------------------------------------------------------------------ 623 //------------------------------------------------------------------------------
624 #define WASM_SIMD_F32x4_SPLAT(x) x, kSimdPrefix, kExprF32x4Splat & 0xff 624 // TODO(bbudge) Migrate these into tests.
625 #define WASM_SIMD_F32x4_EXTRACT_LANE(lane, x) \ 625 #define WASM_SIMD_F32x4_SPLAT(x) \
626 x, kSimdPrefix, kExprF32x4ExtractLane & 0xff, static_cast<byte>(lane) 626 x, kSimdPrefix, static_cast<byte>(kExprF32x4Splat)
627 #define WASM_SIMD_F32x4_REPLACE_LANE(lane, x, y) \ 627 #define WASM_SIMD_F32x4_EXTRACT_LANE(lane, x) \
628 x, y, kSimdPrefix, kExprF32x4ReplaceLane & 0xff, static_cast<byte>(lane) 628 x, kSimdPrefix, static_cast<byte>(kExprF32x4ExtractLane), \
629 #define WASM_SIMD_F32x4_FROM_I32x4(x) \ 629 static_cast<byte>(lane)
630 x, kSimdPrefix, kExprF32x4SConvertI32x4 & 0xff 630 #define WASM_SIMD_F32x4_REPLACE_LANE(lane, x, y) \
631 #define WASM_SIMD_F32x4_FROM_U32x4(x) \ 631 x, y, kSimdPrefix, static_cast<byte>(kExprF32x4ReplaceLane), \
632 x, kSimdPrefix, kExprF32x4UConvertI32x4 & 0xff 632 static_cast<byte>(lane)
633 #define WASM_SIMD_F32x4_ADD(x, y) x, y, kSimdPrefix, kExprF32x4Add & 0xff 633 #define WASM_SIMD_F32x4_ADD(x, y) \
634 #define WASM_SIMD_F32x4_SUB(x, y) x, y, kSimdPrefix, kExprF32x4Sub & 0xff 634 x, y, kSimdPrefix, static_cast<byte>(kExprF32x4Add)
635 #define WASM_SIMD_F32x4_SUB(x, y) \
636 x, y, kSimdPrefix, static_cast<byte>(kExprF32x4Sub)
635 637
636 #define WASM_SIMD_I32x4_SPLAT(x) x, kSimdPrefix, kExprI32x4Splat & 0xff 638 #define WASM_SIMD_I32x4_SPLAT(x) \
637 #define WASM_SIMD_I32x4_EXTRACT_LANE(lane, x) \ 639 x, kSimdPrefix, static_cast<byte>(kExprI32x4Splat)
638 x, kSimdPrefix, kExprI32x4ExtractLane & 0xff, static_cast<byte>(lane) 640 #define WASM_SIMD_I32x4_EXTRACT_LANE(lane, x) \
639 #define WASM_SIMD_I32x4_REPLACE_LANE(lane, x, y) \ 641 x, kSimdPrefix, static_cast<byte>(kExprI32x4ExtractLane), \
640 x, y, kSimdPrefix, kExprI32x4ReplaceLane & 0xff, static_cast<byte>(lane) 642 static_cast<byte>(lane)
641 #define WASM_SIMD_I32x4_FROM_F32x4(x) \ 643 #define WASM_SIMD_I32x4_REPLACE_LANE(lane, x, y) \
642 x, kSimdPrefix, kExprI32x4SConvertF32x4 & 0xff 644 x, y, kSimdPrefix, static_cast<byte>(kExprI32x4ReplaceLane), \
643 #define WASM_SIMD_U32x4_FROM_F32x4(x) \ 645 static_cast<byte>(lane)
644 x, kSimdPrefix, kExprI32x4UConvertF32x4 & 0xff 646 #define WASM_SIMD_I32x4_ADD(x, y) \
645 #define WASM_SIMD_S32x4_SELECT(x, y, z) \ 647 x, y, kSimdPrefix, static_cast<byte>(kExprI32x4Add)
646 x, y, z, kSimdPrefix, kExprS32x4Select & 0xff 648 #define WASM_SIMD_I32x4_SUB(x, y) \
647 #define WASM_SIMD_I32x4_ADD(x, y) x, y, kSimdPrefix, kExprI32x4Add & 0xff 649 x, y, kSimdPrefix, static_cast<byte>(kExprI32x4Sub)
648 #define WASM_SIMD_I32x4_SUB(x, y) x, y, kSimdPrefix, kExprI32x4Sub & 0xff
649
650 #define WASM_SIMD_I16x8_SPLAT(x) x, kSimdPrefix, kExprI16x8Splat & 0xff
651 #define WASM_SIMD_I16x8_EXTRACT_LANE(lane, x) \
652 x, kSimdPrefix, kExprI16x8ExtractLane & 0xff, static_cast<byte>(lane)
653 #define WASM_SIMD_I16x8_REPLACE_LANE(lane, x, y) \
654 x, y, kSimdPrefix, kExprI16x8ReplaceLane & 0xff, static_cast<byte>(lane)
655
656 #define WASM_SIMD_I8x16_SPLAT(x) x, kSimdPrefix, kExprI8x16Splat & 0xff
657 #define WASM_SIMD_I8x16_EXTRACT_LANE(lane, x) \
658 x, kSimdPrefix, kExprI8x16ExtractLane & 0xff, static_cast<byte>(lane)
659 #define WASM_SIMD_I8x16_REPLACE_LANE(lane, x, y) \
660 x, y, kSimdPrefix, kExprI8x16ReplaceLane & 0xff, static_cast<byte>(lane)
661 650
662 #define SIG_ENTRY_v_v kWasmFunctionTypeForm, 0, 0 651 #define SIG_ENTRY_v_v kWasmFunctionTypeForm, 0, 0
663 #define SIZEOF_SIG_ENTRY_v_v 3 652 #define SIZEOF_SIG_ENTRY_v_v 3
664 653
665 #define SIG_ENTRY_v_x(a) kWasmFunctionTypeForm, 1, a, 0 654 #define SIG_ENTRY_v_x(a) kWasmFunctionTypeForm, 1, a, 0
666 #define SIG_ENTRY_v_xx(a, b) kWasmFunctionTypeForm, 2, a, b, 0 655 #define SIG_ENTRY_v_xx(a, b) kWasmFunctionTypeForm, 2, a, b, 0
667 #define SIG_ENTRY_v_xxx(a, b, c) kWasmFunctionTypeForm, 3, a, b, c, 0 656 #define SIG_ENTRY_v_xxx(a, b, c) kWasmFunctionTypeForm, 3, a, b, c, 0
668 #define SIZEOF_SIG_ENTRY_v_x 4 657 #define SIZEOF_SIG_ENTRY_v_x 4
669 #define SIZEOF_SIG_ENTRY_v_xx 5 658 #define SIZEOF_SIG_ENTRY_v_xx 5
670 #define SIZEOF_SIG_ENTRY_v_xxx 6 659 #define SIZEOF_SIG_ENTRY_v_xxx 6
(...skipping 10 matching lines...) Expand all
681 #define WASM_BRV(depth, val) val, kExprBr, static_cast<byte>(depth) 670 #define WASM_BRV(depth, val) val, kExprBr, static_cast<byte>(depth)
682 #define WASM_BRV_IF(depth, val, cond) \ 671 #define WASM_BRV_IF(depth, val, cond) \
683 val, cond, kExprBrIf, static_cast<byte>(depth) 672 val, cond, kExprBrIf, static_cast<byte>(depth)
684 #define WASM_BRV_IFD(depth, val, cond) \ 673 #define WASM_BRV_IFD(depth, val, cond) \
685 val, cond, kExprBrIf, static_cast<byte>(depth), kExprDrop 674 val, cond, kExprBrIf, static_cast<byte>(depth), kExprDrop
686 #define WASM_IFB(cond, ...) cond, kExprIf, kLocalVoid, __VA_ARGS__, kExprEnd 675 #define WASM_IFB(cond, ...) cond, kExprIf, kLocalVoid, __VA_ARGS__, kExprEnd
687 #define WASM_BR_TABLEV(val, key, count, ...) \ 676 #define WASM_BR_TABLEV(val, key, count, ...) \
688 val, key, kExprBrTable, U32V_1(count), __VA_ARGS__ 677 val, key, kExprBrTable, U32V_1(count), __VA_ARGS__
689 678
690 #endif // V8_WASM_MACRO_GEN_H_ 679 #endif // V8_WASM_MACRO_GEN_H_
OLDNEW
« no previous file with comments | « src/compiler/wasm-compiler.cc ('k') | src/wasm/wasm-opcodes.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698