1
2
3 package ssagen
4
5 import (
6 "cmd/compile/internal/ir"
7 "cmd/compile/internal/ssa"
8 "cmd/compile/internal/ssa/ssaop"
9 "cmd/compile/internal/types"
10 "cmd/internal/sys"
11 )
12
13 func initWasmSIMD() {
14 makeSimdOp1 := func(op ssaop.Op) func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value {
15 return func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value {
16 return s.newValue1(op, types.TypeVec128, args[0])
17 }
18 }
19 makeSimdOp2 := func(op ssaop.Op) func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value {
20 return func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value {
21 return s.newValue2(op, types.TypeVec128, args[0], args[1])
22 }
23 }
24 makeSimdOp3 := func(op ssaop.Op) func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value {
25 return func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value {
26 return s.newValue3(op, types.TypeVec128, args[0], args[1], args[2])
27 }
28 }
29
30
31 makeAsOp := func() func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value {
32 return func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value {
33 return args[0]
34 }
35 }
36
37
38 makeToMask := func(op, xor ssaop.Op) func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value {
39 return func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value {
40 return s.newValue2(op, types.TypeVec128, args[0], s.newValue2(xor, n.Type(), args[0], args[0]))
41 }
42 }
43
44 makeSimdOp1Imm8 := func(op ssaop.Op, immLimit uint64) func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value {
45 return func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value {
46 t := n.Type()
47 if args[1].Op == ssaop.OpConst8 && uint64(args[1].AuxInt) < immLimit {
48 return s.newValue1I(op, t, args[1].AuxInt, args[0])
49 }
50 return immJumpTableN(s, args[1], n, immLimit, func(sNew *state, idx int) {
51
52 s.vars[n] = sNew.newValue1I(op, t, int64(int8(idx)), args[0])
53 })
54 }
55 }
56
57 makeSimdOp2Imm8 := func(op ssaop.Op, immLimit uint64) func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value {
58 return func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value {
59 t := types.TypeVec128
60 if args[1].Op == ssaop.OpConst8 && uint64(args[1].AuxInt) < immLimit {
61 return s.newValue2I(op, t, args[1].AuxInt, args[0], args[2])
62 }
63 return immJumpTableN(s, args[1], n, immLimit, func(sNew *state, idx int) {
64
65 s.vars[n] = sNew.newValue2I(op, t, int64(int8(idx)), args[0], args[2])
66 })
67 }
68 }
69
70 addWasmSIMD := func(pkg, fn string, builder func(s *state, n *ir.CallExpr, args []*ssa.Value) *ssa.Value) {
71 intrinsics.add(sys.ArchWasm, pkg, fn, builder)
72 }
73
74 addWasmSIMD("simd/archsimd", "Int8x16.Abs", makeSimdOp1(ssaop.OpAbsInt8x16))
75 addWasmSIMD("simd/archsimd", "Int16x8.Abs", makeSimdOp1(ssaop.OpAbsInt16x8))
76 addWasmSIMD("simd/archsimd", "Int32x4.Abs", makeSimdOp1(ssaop.OpAbsInt32x4))
77 addWasmSIMD("simd/archsimd", "Float32x4.Abs", makeSimdOp1(ssaop.OpAbsFloat32x4))
78 addWasmSIMD("simd/archsimd", "Int64x2.Abs", makeSimdOp1(ssaop.OpAbsInt64x2))
79 addWasmSIMD("simd/archsimd", "Float64x2.Abs", makeSimdOp1(ssaop.OpAbsFloat64x2))
80 addWasmSIMD("simd/archsimd", "Int8x16.Add", makeSimdOp2(ssaop.OpAddInt8x16))
81 addWasmSIMD("simd/archsimd", "Uint8x16.Add", makeSimdOp2(ssaop.OpAddInt8x16))
82 addWasmSIMD("simd/archsimd", "Int16x8.Add", makeSimdOp2(ssaop.OpAddInt16x8))
83 addWasmSIMD("simd/archsimd", "Uint16x8.Add", makeSimdOp2(ssaop.OpAddInt16x8))
84 addWasmSIMD("simd/archsimd", "Int32x4.Add", makeSimdOp2(ssaop.OpAddInt32x4))
85 addWasmSIMD("simd/archsimd", "Uint32x4.Add", makeSimdOp2(ssaop.OpAddInt32x4))
86 addWasmSIMD("simd/archsimd", "Float32x4.Add", makeSimdOp2(ssaop.OpAddFloat32x4))
87 addWasmSIMD("simd/archsimd", "Int64x2.Add", makeSimdOp2(ssaop.OpAddInt64x2))
88 addWasmSIMD("simd/archsimd", "Uint64x2.Add", makeSimdOp2(ssaop.OpAddInt64x2))
89 addWasmSIMD("simd/archsimd", "Float64x2.Add", makeSimdOp2(ssaop.OpAddFloat64x2))
90 addWasmSIMD("simd/archsimd", "Int8x16.AddSaturated", makeSimdOp2(ssaop.OpAddSaturatedInt8x16))
91 addWasmSIMD("simd/archsimd", "Uint8x16.AddSaturated", makeSimdOp2(ssaop.OpAddSaturatedUint8x16))
92 addWasmSIMD("simd/archsimd", "Int16x8.AddSaturated", makeSimdOp2(ssaop.OpAddSaturatedInt16x8))
93 addWasmSIMD("simd/archsimd", "Uint16x8.AddSaturated", makeSimdOp2(ssaop.OpAddSaturatedUint16x8))
94 addWasmSIMD("simd/archsimd", "Int8x16.And", makeSimdOp2(ssaop.OpAndInt8x16))
95 addWasmSIMD("simd/archsimd", "Uint8x16.And", makeSimdOp2(ssaop.OpAndUint8x16))
96 addWasmSIMD("simd/archsimd", "Mask8x16.And", makeSimdOp2(ssaop.OpAndInt8x16))
97 addWasmSIMD("simd/archsimd", "Int16x8.And", makeSimdOp2(ssaop.OpAndInt16x8))
98 addWasmSIMD("simd/archsimd", "Uint16x8.And", makeSimdOp2(ssaop.OpAndUint16x8))
99 addWasmSIMD("simd/archsimd", "Mask16x8.And", makeSimdOp2(ssaop.OpAndInt16x8))
100 addWasmSIMD("simd/archsimd", "Int32x4.And", makeSimdOp2(ssaop.OpAndInt32x4))
101 addWasmSIMD("simd/archsimd", "Uint32x4.And", makeSimdOp2(ssaop.OpAndUint32x4))
102 addWasmSIMD("simd/archsimd", "Mask32x4.And", makeSimdOp2(ssaop.OpAndInt32x4))
103 addWasmSIMD("simd/archsimd", "Int64x2.And", makeSimdOp2(ssaop.OpAndInt64x2))
104 addWasmSIMD("simd/archsimd", "Uint64x2.And", makeSimdOp2(ssaop.OpAndUint64x2))
105 addWasmSIMD("simd/archsimd", "Mask64x2.And", makeSimdOp2(ssaop.OpAndInt64x2))
106 addWasmSIMD("simd/archsimd", "Int8x16.AndNot", makeSimdOp2(ssaop.OpAndNotInt8x16))
107 addWasmSIMD("simd/archsimd", "Uint8x16.AndNot", makeSimdOp2(ssaop.OpAndNotUint8x16))
108 addWasmSIMD("simd/archsimd", "Mask8x16.AndNot", makeSimdOp2(ssaop.OpAndNotInt8x16))
109 addWasmSIMD("simd/archsimd", "Int16x8.AndNot", makeSimdOp2(ssaop.OpAndNotInt16x8))
110 addWasmSIMD("simd/archsimd", "Uint16x8.AndNot", makeSimdOp2(ssaop.OpAndNotUint16x8))
111 addWasmSIMD("simd/archsimd", "Mask16x8.AndNot", makeSimdOp2(ssaop.OpAndNotInt16x8))
112 addWasmSIMD("simd/archsimd", "Int32x4.AndNot", makeSimdOp2(ssaop.OpAndNotInt32x4))
113 addWasmSIMD("simd/archsimd", "Uint32x4.AndNot", makeSimdOp2(ssaop.OpAndNotUint32x4))
114 addWasmSIMD("simd/archsimd", "Mask32x4.AndNot", makeSimdOp2(ssaop.OpAndNotInt32x4))
115 addWasmSIMD("simd/archsimd", "Int64x2.AndNot", makeSimdOp2(ssaop.OpAndNotInt64x2))
116 addWasmSIMD("simd/archsimd", "Uint64x2.AndNot", makeSimdOp2(ssaop.OpAndNotUint64x2))
117 addWasmSIMD("simd/archsimd", "Mask64x2.AndNot", makeSimdOp2(ssaop.OpAndNotInt64x2))
118 addWasmSIMD("simd/archsimd", "Uint8x16.Average", makeSimdOp2(ssaop.OpAverageUint8x16))
119 addWasmSIMD("simd/archsimd", "Uint16x8.Average", makeSimdOp2(ssaop.OpAverageUint16x8))
120 addWasmSIMD("simd/archsimd", "Int8x16.BitSelect", makeSimdOp3(ssaop.OpBitSelectInt8x16))
121 addWasmSIMD("simd/archsimd", "Uint8x16.BitSelect", makeSimdOp3(ssaop.OpBitSelectUint8x16))
122 addWasmSIMD("simd/archsimd", "Int16x8.BitSelect", makeSimdOp3(ssaop.OpBitSelectInt16x8))
123 addWasmSIMD("simd/archsimd", "Uint16x8.BitSelect", makeSimdOp3(ssaop.OpBitSelectUint16x8))
124 addWasmSIMD("simd/archsimd", "Int32x4.BitSelect", makeSimdOp3(ssaop.OpBitSelectInt32x4))
125 addWasmSIMD("simd/archsimd", "Uint32x4.BitSelect", makeSimdOp3(ssaop.OpBitSelectUint32x4))
126 addWasmSIMD("simd/archsimd", "Int64x2.BitSelect", makeSimdOp3(ssaop.OpBitSelectInt64x2))
127 addWasmSIMD("simd/archsimd", "Uint64x2.BitSelect", makeSimdOp3(ssaop.OpBitSelectUint64x2))
128 addWasmSIMD("simd/archsimd", "Float32x4.Ceil", makeSimdOp1(ssaop.OpCeilFloat32x4))
129 addWasmSIMD("simd/archsimd", "Float64x2.Ceil", makeSimdOp1(ssaop.OpCeilFloat64x2))
130 addWasmSIMD("simd/archsimd", "Int32x4.ConvertLo2ToFloat64", makeSimdOp1(ssaop.OpConvertLo2ToFloat64Int32x4))
131 addWasmSIMD("simd/archsimd", "Uint32x4.ConvertLo2ToFloat64", makeSimdOp1(ssaop.OpConvertLo2ToFloat64Uint32x4))
132 addWasmSIMD("simd/archsimd", "Int32x4.ConvertToFloat32", makeSimdOp1(ssaop.OpConvertToFloat32Int32x4))
133 addWasmSIMD("simd/archsimd", "Uint32x4.ConvertToFloat32", makeSimdOp1(ssaop.OpConvertToFloat32Uint32x4))
134 addWasmSIMD("simd/archsimd", "Float32x4.ConvertToInt32", makeSimdOp1(ssaop.OpConvertToInt32Float32x4))
135 addWasmSIMD("simd/archsimd", "Float32x4.ConvertToUint32", makeSimdOp1(ssaop.OpConvertToUint32Float32x4))
136 addWasmSIMD("simd/archsimd", "Float32x4.Div", makeSimdOp2(ssaop.OpDivFloat32x4))
137 addWasmSIMD("simd/archsimd", "Float64x2.Div", makeSimdOp2(ssaop.OpDivFloat64x2))
138 addWasmSIMD("simd/archsimd", "Int8x16.Equal", makeSimdOp2(ssaop.OpEqualInt8x16))
139 addWasmSIMD("simd/archsimd", "Uint8x16.Equal", makeSimdOp2(ssaop.OpEqualUint8x16))
140 addWasmSIMD("simd/archsimd", "Int16x8.Equal", makeSimdOp2(ssaop.OpEqualInt16x8))
141 addWasmSIMD("simd/archsimd", "Uint16x8.Equal", makeSimdOp2(ssaop.OpEqualUint16x8))
142 addWasmSIMD("simd/archsimd", "Int32x4.Equal", makeSimdOp2(ssaop.OpEqualInt32x4))
143 addWasmSIMD("simd/archsimd", "Uint32x4.Equal", makeSimdOp2(ssaop.OpEqualUint32x4))
144 addWasmSIMD("simd/archsimd", "Float32x4.Equal", makeSimdOp2(ssaop.OpEqualFloat32x4))
145 addWasmSIMD("simd/archsimd", "Int64x2.Equal", makeSimdOp2(ssaop.OpEqualInt64x2))
146 addWasmSIMD("simd/archsimd", "Uint64x2.Equal", makeSimdOp2(ssaop.OpEqualUint64x2))
147 addWasmSIMD("simd/archsimd", "Float64x2.Equal", makeSimdOp2(ssaop.OpEqualFloat64x2))
148 addWasmSIMD("simd/archsimd", "Int32x4.ExtendHi2ToInt64", makeSimdOp1(ssaop.OpExtendHi2ToInt64Int32x4))
149 addWasmSIMD("simd/archsimd", "Uint32x4.ExtendHi2ToUint64", makeSimdOp1(ssaop.OpExtendHi2ToUint64Uint32x4))
150 addWasmSIMD("simd/archsimd", "Int16x8.ExtendHi4ToInt32", makeSimdOp1(ssaop.OpExtendHi4ToInt32Int16x8))
151 addWasmSIMD("simd/archsimd", "Uint16x8.ExtendHi4ToUint32", makeSimdOp1(ssaop.OpExtendHi4ToUint32Uint16x8))
152 addWasmSIMD("simd/archsimd", "Int8x16.ExtendHi8ToInt16", makeSimdOp1(ssaop.OpExtendHi8ToInt16Int8x16))
153 addWasmSIMD("simd/archsimd", "Uint8x16.ExtendHi8ToUint16", makeSimdOp1(ssaop.OpExtendHi8ToUint16Uint8x16))
154 addWasmSIMD("simd/archsimd", "Int32x4.ExtendLo2ToInt64", makeSimdOp1(ssaop.OpExtendLo2ToInt64Int32x4))
155 addWasmSIMD("simd/archsimd", "Uint32x4.ExtendLo2ToUint64", makeSimdOp1(ssaop.OpExtendLo2ToUint64Uint32x4))
156 addWasmSIMD("simd/archsimd", "Int16x8.ExtendLo4ToInt32", makeSimdOp1(ssaop.OpExtendLo4ToInt32Int16x8))
157 addWasmSIMD("simd/archsimd", "Uint16x8.ExtendLo4ToUint32", makeSimdOp1(ssaop.OpExtendLo4ToUint32Uint16x8))
158 addWasmSIMD("simd/archsimd", "Int8x16.ExtendLo8ToInt16", makeSimdOp1(ssaop.OpExtendLo8ToInt16Int8x16))
159 addWasmSIMD("simd/archsimd", "Uint8x16.ExtendLo8ToUint16", makeSimdOp1(ssaop.OpExtendLo8ToUint16Uint8x16))
160 addWasmSIMD("simd/archsimd", "Float32x4.Floor", makeSimdOp1(ssaop.OpFloorFloat32x4))
161 addWasmSIMD("simd/archsimd", "Float64x2.Floor", makeSimdOp1(ssaop.OpFloorFloat64x2))
162 addWasmSIMD("simd/archsimd", "Int8x16.GetElem", makeSimdOp1Imm8(ssaop.OpGetElemInt8x16, 16))
163 addWasmSIMD("simd/archsimd", "Uint8x16.GetElem", makeSimdOp1Imm8(ssaop.OpGetElemUint8x16, 16))
164 addWasmSIMD("simd/archsimd", "Int16x8.GetElem", makeSimdOp1Imm8(ssaop.OpGetElemInt16x8, 8))
165 addWasmSIMD("simd/archsimd", "Uint16x8.GetElem", makeSimdOp1Imm8(ssaop.OpGetElemUint16x8, 8))
166 addWasmSIMD("simd/archsimd", "Int32x4.GetElem", makeSimdOp1Imm8(ssaop.OpGetElemInt32x4, 4))
167 addWasmSIMD("simd/archsimd", "Uint32x4.GetElem", makeSimdOp1Imm8(ssaop.OpGetElemUint32x4, 4))
168 addWasmSIMD("simd/archsimd", "Float32x4.GetElem", makeSimdOp1Imm8(ssaop.OpGetElemFloat32x4, 4))
169 addWasmSIMD("simd/archsimd", "Int64x2.GetElem", makeSimdOp1Imm8(ssaop.OpGetElemInt64x2, 2))
170 addWasmSIMD("simd/archsimd", "Uint64x2.GetElem", makeSimdOp1Imm8(ssaop.OpGetElemUint64x2, 2))
171 addWasmSIMD("simd/archsimd", "Float64x2.GetElem", makeSimdOp1Imm8(ssaop.OpGetElemFloat64x2, 2))
172 addWasmSIMD("simd/archsimd", "Int8x16.Greater", makeSimdOp2(ssaop.OpGreaterInt8x16))
173 addWasmSIMD("simd/archsimd", "Uint8x16.Greater", makeSimdOp2(ssaop.OpGreaterUint8x16))
174 addWasmSIMD("simd/archsimd", "Int16x8.Greater", makeSimdOp2(ssaop.OpGreaterInt16x8))
175 addWasmSIMD("simd/archsimd", "Uint16x8.Greater", makeSimdOp2(ssaop.OpGreaterUint16x8))
176 addWasmSIMD("simd/archsimd", "Int32x4.Greater", makeSimdOp2(ssaop.OpGreaterInt32x4))
177 addWasmSIMD("simd/archsimd", "Uint32x4.Greater", makeSimdOp2(ssaop.OpGreaterUint32x4))
178 addWasmSIMD("simd/archsimd", "Float32x4.Greater", makeSimdOp2(ssaop.OpGreaterFloat32x4))
179 addWasmSIMD("simd/archsimd", "Int64x2.Greater", makeSimdOp2(ssaop.OpGreaterInt64x2))
180 addWasmSIMD("simd/archsimd", "Float64x2.Greater", makeSimdOp2(ssaop.OpGreaterFloat64x2))
181 addWasmSIMD("simd/archsimd", "Int8x16.GreaterEqual", makeSimdOp2(ssaop.OpGreaterEqualInt8x16))
182 addWasmSIMD("simd/archsimd", "Uint8x16.GreaterEqual", makeSimdOp2(ssaop.OpGreaterEqualUint8x16))
183 addWasmSIMD("simd/archsimd", "Int16x8.GreaterEqual", makeSimdOp2(ssaop.OpGreaterEqualInt16x8))
184 addWasmSIMD("simd/archsimd", "Uint16x8.GreaterEqual", makeSimdOp2(ssaop.OpGreaterEqualUint16x8))
185 addWasmSIMD("simd/archsimd", "Int32x4.GreaterEqual", makeSimdOp2(ssaop.OpGreaterEqualInt32x4))
186 addWasmSIMD("simd/archsimd", "Uint32x4.GreaterEqual", makeSimdOp2(ssaop.OpGreaterEqualUint32x4))
187 addWasmSIMD("simd/archsimd", "Float32x4.GreaterEqual", makeSimdOp2(ssaop.OpGreaterEqualFloat32x4))
188 addWasmSIMD("simd/archsimd", "Int64x2.GreaterEqual", makeSimdOp2(ssaop.OpGreaterEqualInt64x2))
189 addWasmSIMD("simd/archsimd", "Float64x2.GreaterEqual", makeSimdOp2(ssaop.OpGreaterEqualFloat64x2))
190 addWasmSIMD("simd/archsimd", "Int8x16.Less", makeSimdOp2(ssaop.OpLessInt8x16))
191 addWasmSIMD("simd/archsimd", "Uint8x16.Less", makeSimdOp2(ssaop.OpLessUint8x16))
192 addWasmSIMD("simd/archsimd", "Int16x8.Less", makeSimdOp2(ssaop.OpLessInt16x8))
193 addWasmSIMD("simd/archsimd", "Uint16x8.Less", makeSimdOp2(ssaop.OpLessUint16x8))
194 addWasmSIMD("simd/archsimd", "Int32x4.Less", makeSimdOp2(ssaop.OpLessInt32x4))
195 addWasmSIMD("simd/archsimd", "Uint32x4.Less", makeSimdOp2(ssaop.OpLessUint32x4))
196 addWasmSIMD("simd/archsimd", "Float32x4.Less", makeSimdOp2(ssaop.OpLessFloat32x4))
197 addWasmSIMD("simd/archsimd", "Int64x2.Less", makeSimdOp2(ssaop.OpLessInt64x2))
198 addWasmSIMD("simd/archsimd", "Float64x2.Less", makeSimdOp2(ssaop.OpLessFloat64x2))
199 addWasmSIMD("simd/archsimd", "Int8x16.LessEqual", makeSimdOp2(ssaop.OpLessEqualInt8x16))
200 addWasmSIMD("simd/archsimd", "Uint8x16.LessEqual", makeSimdOp2(ssaop.OpLessEqualUint8x16))
201 addWasmSIMD("simd/archsimd", "Int16x8.LessEqual", makeSimdOp2(ssaop.OpLessEqualInt16x8))
202 addWasmSIMD("simd/archsimd", "Uint16x8.LessEqual", makeSimdOp2(ssaop.OpLessEqualUint16x8))
203 addWasmSIMD("simd/archsimd", "Int32x4.LessEqual", makeSimdOp2(ssaop.OpLessEqualInt32x4))
204 addWasmSIMD("simd/archsimd", "Uint32x4.LessEqual", makeSimdOp2(ssaop.OpLessEqualUint32x4))
205 addWasmSIMD("simd/archsimd", "Float32x4.LessEqual", makeSimdOp2(ssaop.OpLessEqualFloat32x4))
206 addWasmSIMD("simd/archsimd", "Int64x2.LessEqual", makeSimdOp2(ssaop.OpLessEqualInt64x2))
207 addWasmSIMD("simd/archsimd", "Float64x2.LessEqual", makeSimdOp2(ssaop.OpLessEqualFloat64x2))
208 addWasmSIMD("simd/archsimd", "Int8x16.LookupOrZero", makeSimdOp2(ssaop.OpLookupOrZeroInt8x16))
209 addWasmSIMD("simd/archsimd", "Int8x16.Max", makeSimdOp2(ssaop.OpMaxInt8x16))
210 addWasmSIMD("simd/archsimd", "Uint8x16.Max", makeSimdOp2(ssaop.OpMaxUint8x16))
211 addWasmSIMD("simd/archsimd", "Int16x8.Max", makeSimdOp2(ssaop.OpMaxInt16x8))
212 addWasmSIMD("simd/archsimd", "Uint16x8.Max", makeSimdOp2(ssaop.OpMaxUint16x8))
213 addWasmSIMD("simd/archsimd", "Int32x4.Max", makeSimdOp2(ssaop.OpMaxInt32x4))
214 addWasmSIMD("simd/archsimd", "Uint32x4.Max", makeSimdOp2(ssaop.OpMaxUint32x4))
215 addWasmSIMD("simd/archsimd", "Float32x4.Max", makeSimdOp2(ssaop.OpMaxFloat32x4))
216 addWasmSIMD("simd/archsimd", "Float64x2.Max", makeSimdOp2(ssaop.OpMaxFloat64x2))
217 addWasmSIMD("simd/archsimd", "Int8x16.Min", makeSimdOp2(ssaop.OpMinInt8x16))
218 addWasmSIMD("simd/archsimd", "Uint8x16.Min", makeSimdOp2(ssaop.OpMinUint8x16))
219 addWasmSIMD("simd/archsimd", "Int16x8.Min", makeSimdOp2(ssaop.OpMinInt16x8))
220 addWasmSIMD("simd/archsimd", "Uint16x8.Min", makeSimdOp2(ssaop.OpMinUint16x8))
221 addWasmSIMD("simd/archsimd", "Int32x4.Min", makeSimdOp2(ssaop.OpMinInt32x4))
222 addWasmSIMD("simd/archsimd", "Uint32x4.Min", makeSimdOp2(ssaop.OpMinUint32x4))
223 addWasmSIMD("simd/archsimd", "Float32x4.Min", makeSimdOp2(ssaop.OpMinFloat32x4))
224 addWasmSIMD("simd/archsimd", "Float64x2.Min", makeSimdOp2(ssaop.OpMinFloat64x2))
225 addWasmSIMD("simd/archsimd", "Int16x8.Mul", makeSimdOp2(ssaop.OpMulInt16x8))
226 addWasmSIMD("simd/archsimd", "Uint16x8.Mul", makeSimdOp2(ssaop.OpMulUint16x8))
227 addWasmSIMD("simd/archsimd", "Int32x4.Mul", makeSimdOp2(ssaop.OpMulInt32x4))
228 addWasmSIMD("simd/archsimd", "Uint32x4.Mul", makeSimdOp2(ssaop.OpMulUint32x4))
229 addWasmSIMD("simd/archsimd", "Float32x4.Mul", makeSimdOp2(ssaop.OpMulFloat32x4))
230 addWasmSIMD("simd/archsimd", "Int64x2.Mul", makeSimdOp2(ssaop.OpMulInt64x2))
231 addWasmSIMD("simd/archsimd", "Uint64x2.Mul", makeSimdOp2(ssaop.OpMulUint64x2))
232 addWasmSIMD("simd/archsimd", "Float64x2.Mul", makeSimdOp2(ssaop.OpMulFloat64x2))
233 addWasmSIMD("simd/archsimd", "Int8x16.MulWidenHi", makeSimdOp2(ssaop.OpMulWidenHiInt8x16))
234 addWasmSIMD("simd/archsimd", "Uint8x16.MulWidenHi", makeSimdOp2(ssaop.OpMulWidenHiUint8x16))
235 addWasmSIMD("simd/archsimd", "Int16x8.MulWidenHi", makeSimdOp2(ssaop.OpMulWidenHiInt16x8))
236 addWasmSIMD("simd/archsimd", "Uint16x8.MulWidenHi", makeSimdOp2(ssaop.OpMulWidenHiUint16x8))
237 addWasmSIMD("simd/archsimd", "Int32x4.MulWidenHi", makeSimdOp2(ssaop.OpMulWidenHiInt32x4))
238 addWasmSIMD("simd/archsimd", "Uint32x4.MulWidenHi", makeSimdOp2(ssaop.OpMulWidenHiUint32x4))
239 addWasmSIMD("simd/archsimd", "Int8x16.MulWidenLo", makeSimdOp2(ssaop.OpMulWidenLoInt8x16))
240 addWasmSIMD("simd/archsimd", "Uint8x16.MulWidenLo", makeSimdOp2(ssaop.OpMulWidenLoUint8x16))
241 addWasmSIMD("simd/archsimd", "Int16x8.MulWidenLo", makeSimdOp2(ssaop.OpMulWidenLoInt16x8))
242 addWasmSIMD("simd/archsimd", "Uint16x8.MulWidenLo", makeSimdOp2(ssaop.OpMulWidenLoUint16x8))
243 addWasmSIMD("simd/archsimd", "Int32x4.MulWidenLo", makeSimdOp2(ssaop.OpMulWidenLoInt32x4))
244 addWasmSIMD("simd/archsimd", "Uint32x4.MulWidenLo", makeSimdOp2(ssaop.OpMulWidenLoUint32x4))
245 addWasmSIMD("simd/archsimd", "Int8x16.Neg", makeSimdOp1(ssaop.OpNegInt8x16))
246 addWasmSIMD("simd/archsimd", "Int16x8.Neg", makeSimdOp1(ssaop.OpNegInt16x8))
247 addWasmSIMD("simd/archsimd", "Int32x4.Neg", makeSimdOp1(ssaop.OpNegInt32x4))
248 addWasmSIMD("simd/archsimd", "Float32x4.Neg", makeSimdOp1(ssaop.OpNegFloat32x4))
249 addWasmSIMD("simd/archsimd", "Int64x2.Neg", makeSimdOp1(ssaop.OpNegInt64x2))
250 addWasmSIMD("simd/archsimd", "Float64x2.Neg", makeSimdOp1(ssaop.OpNegFloat64x2))
251 addWasmSIMD("simd/archsimd", "Int8x16.Not", makeSimdOp1(ssaop.OpNotInt8x16))
252 addWasmSIMD("simd/archsimd", "Uint8x16.Not", makeSimdOp1(ssaop.OpNotUint8x16))
253 addWasmSIMD("simd/archsimd", "Int16x8.Not", makeSimdOp1(ssaop.OpNotInt16x8))
254 addWasmSIMD("simd/archsimd", "Uint16x8.Not", makeSimdOp1(ssaop.OpNotUint16x8))
255 addWasmSIMD("simd/archsimd", "Int32x4.Not", makeSimdOp1(ssaop.OpNotInt32x4))
256 addWasmSIMD("simd/archsimd", "Uint32x4.Not", makeSimdOp1(ssaop.OpNotUint32x4))
257 addWasmSIMD("simd/archsimd", "Int64x2.Not", makeSimdOp1(ssaop.OpNotInt64x2))
258 addWasmSIMD("simd/archsimd", "Uint64x2.Not", makeSimdOp1(ssaop.OpNotUint64x2))
259 addWasmSIMD("simd/archsimd", "Int8x16.NotEqual", makeSimdOp2(ssaop.OpNotEqualInt8x16))
260 addWasmSIMD("simd/archsimd", "Uint8x16.NotEqual", makeSimdOp2(ssaop.OpNotEqualUint8x16))
261 addWasmSIMD("simd/archsimd", "Int16x8.NotEqual", makeSimdOp2(ssaop.OpNotEqualInt16x8))
262 addWasmSIMD("simd/archsimd", "Uint16x8.NotEqual", makeSimdOp2(ssaop.OpNotEqualUint16x8))
263 addWasmSIMD("simd/archsimd", "Int32x4.NotEqual", makeSimdOp2(ssaop.OpNotEqualInt32x4))
264 addWasmSIMD("simd/archsimd", "Uint32x4.NotEqual", makeSimdOp2(ssaop.OpNotEqualUint32x4))
265 addWasmSIMD("simd/archsimd", "Float32x4.NotEqual", makeSimdOp2(ssaop.OpNotEqualFloat32x4))
266 addWasmSIMD("simd/archsimd", "Int64x2.NotEqual", makeSimdOp2(ssaop.OpNotEqualInt64x2))
267 addWasmSIMD("simd/archsimd", "Uint64x2.NotEqual", makeSimdOp2(ssaop.OpNotEqualUint64x2))
268 addWasmSIMD("simd/archsimd", "Float64x2.NotEqual", makeSimdOp2(ssaop.OpNotEqualFloat64x2))
269 addWasmSIMD("simd/archsimd", "Int8x16.OnesCount", makeSimdOp1(ssaop.OpOnesCountInt8x16))
270 addWasmSIMD("simd/archsimd", "Int8x16.Or", makeSimdOp2(ssaop.OpOrInt8x16))
271 addWasmSIMD("simd/archsimd", "Uint8x16.Or", makeSimdOp2(ssaop.OpOrUint8x16))
272 addWasmSIMD("simd/archsimd", "Mask8x16.Or", makeSimdOp2(ssaop.OpOrInt8x16))
273 addWasmSIMD("simd/archsimd", "Int16x8.Or", makeSimdOp2(ssaop.OpOrInt16x8))
274 addWasmSIMD("simd/archsimd", "Uint16x8.Or", makeSimdOp2(ssaop.OpOrUint16x8))
275 addWasmSIMD("simd/archsimd", "Mask16x8.Or", makeSimdOp2(ssaop.OpOrInt16x8))
276 addWasmSIMD("simd/archsimd", "Int32x4.Or", makeSimdOp2(ssaop.OpOrInt32x4))
277 addWasmSIMD("simd/archsimd", "Uint32x4.Or", makeSimdOp2(ssaop.OpOrUint32x4))
278 addWasmSIMD("simd/archsimd", "Mask32x4.Or", makeSimdOp2(ssaop.OpOrInt32x4))
279 addWasmSIMD("simd/archsimd", "Int64x2.Or", makeSimdOp2(ssaop.OpOrInt64x2))
280 addWasmSIMD("simd/archsimd", "Uint64x2.Or", makeSimdOp2(ssaop.OpOrUint64x2))
281 addWasmSIMD("simd/archsimd", "Mask64x2.Or", makeSimdOp2(ssaop.OpOrInt64x2))
282 addWasmSIMD("simd/archsimd", "Int8x16.RotateAllLeft", makeSimdOp2(ssaop.OpRotateAllLeftVarInt8x16))
283 addWasmSIMD("simd/archsimd", "Uint8x16.RotateAllLeft", makeSimdOp2(ssaop.OpRotateAllLeftVarUint8x16))
284 addWasmSIMD("simd/archsimd", "Int16x8.RotateAllLeft", makeSimdOp2(ssaop.OpRotateAllLeftVarInt16x8))
285 addWasmSIMD("simd/archsimd", "Uint16x8.RotateAllLeft", makeSimdOp2(ssaop.OpRotateAllLeftVarUint16x8))
286 addWasmSIMD("simd/archsimd", "Int32x4.RotateAllLeft", makeSimdOp2(ssaop.OpRotateAllLeftVarInt32x4))
287 addWasmSIMD("simd/archsimd", "Uint32x4.RotateAllLeft", makeSimdOp2(ssaop.OpRotateAllLeftVarUint32x4))
288 addWasmSIMD("simd/archsimd", "Int64x2.RotateAllLeft", makeSimdOp2(ssaop.OpRotateAllLeftVarInt64x2))
289 addWasmSIMD("simd/archsimd", "Uint64x2.RotateAllLeft", makeSimdOp2(ssaop.OpRotateAllLeftVarUint64x2))
290 addWasmSIMD("simd/archsimd", "Int8x16.RotateAllRight", makeSimdOp2(ssaop.OpRotateAllRightVarInt8x16))
291 addWasmSIMD("simd/archsimd", "Uint8x16.RotateAllRight", makeSimdOp2(ssaop.OpRotateAllRightVarUint8x16))
292 addWasmSIMD("simd/archsimd", "Int16x8.RotateAllRight", makeSimdOp2(ssaop.OpRotateAllRightVarInt16x8))
293 addWasmSIMD("simd/archsimd", "Uint16x8.RotateAllRight", makeSimdOp2(ssaop.OpRotateAllRightVarUint16x8))
294 addWasmSIMD("simd/archsimd", "Int32x4.RotateAllRight", makeSimdOp2(ssaop.OpRotateAllRightVarInt32x4))
295 addWasmSIMD("simd/archsimd", "Uint32x4.RotateAllRight", makeSimdOp2(ssaop.OpRotateAllRightVarUint32x4))
296 addWasmSIMD("simd/archsimd", "Int64x2.RotateAllRight", makeSimdOp2(ssaop.OpRotateAllRightVarInt64x2))
297 addWasmSIMD("simd/archsimd", "Uint64x2.RotateAllRight", makeSimdOp2(ssaop.OpRotateAllRightVarUint64x2))
298 addWasmSIMD("simd/archsimd", "Float32x4.Round", makeSimdOp1(ssaop.OpRoundFloat32x4))
299 addWasmSIMD("simd/archsimd", "Float64x2.Round", makeSimdOp1(ssaop.OpRoundFloat64x2))
300 addWasmSIMD("simd/archsimd", "Int8x16.SetElem", makeSimdOp2Imm8(ssaop.OpSetElemInt8x16, 16))
301 addWasmSIMD("simd/archsimd", "Uint8x16.SetElem", makeSimdOp2Imm8(ssaop.OpSetElemUint8x16, 16))
302 addWasmSIMD("simd/archsimd", "Int16x8.SetElem", makeSimdOp2Imm8(ssaop.OpSetElemInt16x8, 8))
303 addWasmSIMD("simd/archsimd", "Uint16x8.SetElem", makeSimdOp2Imm8(ssaop.OpSetElemUint16x8, 8))
304 addWasmSIMD("simd/archsimd", "Int32x4.SetElem", makeSimdOp2Imm8(ssaop.OpSetElemInt32x4, 4))
305 addWasmSIMD("simd/archsimd", "Uint32x4.SetElem", makeSimdOp2Imm8(ssaop.OpSetElemUint32x4, 4))
306 addWasmSIMD("simd/archsimd", "Float32x4.SetElem", makeSimdOp2Imm8(ssaop.OpSetElemFloat32x4, 4))
307 addWasmSIMD("simd/archsimd", "Int64x2.SetElem", makeSimdOp2Imm8(ssaop.OpSetElemInt64x2, 2))
308 addWasmSIMD("simd/archsimd", "Uint64x2.SetElem", makeSimdOp2Imm8(ssaop.OpSetElemUint64x2, 2))
309 addWasmSIMD("simd/archsimd", "Float64x2.SetElem", makeSimdOp2Imm8(ssaop.OpSetElemFloat64x2, 2))
310 addWasmSIMD("simd/archsimd", "Int8x16.ShiftAllLeft", makeSimdOp2(ssaop.OpShiftAllLeftInt8x16))
311 addWasmSIMD("simd/archsimd", "Uint8x16.ShiftAllLeft", makeSimdOp2(ssaop.OpShiftAllLeftUint8x16))
312 addWasmSIMD("simd/archsimd", "Int16x8.ShiftAllLeft", makeSimdOp2(ssaop.OpShiftAllLeftInt16x8))
313 addWasmSIMD("simd/archsimd", "Uint16x8.ShiftAllLeft", makeSimdOp2(ssaop.OpShiftAllLeftUint16x8))
314 addWasmSIMD("simd/archsimd", "Int32x4.ShiftAllLeft", makeSimdOp2(ssaop.OpShiftAllLeftInt32x4))
315 addWasmSIMD("simd/archsimd", "Uint32x4.ShiftAllLeft", makeSimdOp2(ssaop.OpShiftAllLeftUint32x4))
316 addWasmSIMD("simd/archsimd", "Int64x2.ShiftAllLeft", makeSimdOp2(ssaop.OpShiftAllLeftInt64x2))
317 addWasmSIMD("simd/archsimd", "Uint64x2.ShiftAllLeft", makeSimdOp2(ssaop.OpShiftAllLeftUint64x2))
318 addWasmSIMD("simd/archsimd", "Int8x16.ShiftAllRight", makeSimdOp2(ssaop.OpShiftAllRightInt8x16))
319 addWasmSIMD("simd/archsimd", "Uint8x16.ShiftAllRight", makeSimdOp2(ssaop.OpShiftAllRightUint8x16))
320 addWasmSIMD("simd/archsimd", "Int16x8.ShiftAllRight", makeSimdOp2(ssaop.OpShiftAllRightInt16x8))
321 addWasmSIMD("simd/archsimd", "Uint16x8.ShiftAllRight", makeSimdOp2(ssaop.OpShiftAllRightUint16x8))
322 addWasmSIMD("simd/archsimd", "Int32x4.ShiftAllRight", makeSimdOp2(ssaop.OpShiftAllRightInt32x4))
323 addWasmSIMD("simd/archsimd", "Uint32x4.ShiftAllRight", makeSimdOp2(ssaop.OpShiftAllRightUint32x4))
324 addWasmSIMD("simd/archsimd", "Int64x2.ShiftAllRight", makeSimdOp2(ssaop.OpShiftAllRightInt64x2))
325 addWasmSIMD("simd/archsimd", "Uint64x2.ShiftAllRight", makeSimdOp2(ssaop.OpShiftAllRightUint64x2))
326 addWasmSIMD("simd/archsimd", "Float32x4.Sqrt", makeSimdOp1(ssaop.OpSqrtFloat32x4))
327 addWasmSIMD("simd/archsimd", "Float64x2.Sqrt", makeSimdOp1(ssaop.OpSqrtFloat64x2))
328 addWasmSIMD("simd/archsimd", "Int8x16.Sub", makeSimdOp2(ssaop.OpSubInt8x16))
329 addWasmSIMD("simd/archsimd", "Uint8x16.Sub", makeSimdOp2(ssaop.OpSubInt8x16))
330 addWasmSIMD("simd/archsimd", "Int16x8.Sub", makeSimdOp2(ssaop.OpSubInt16x8))
331 addWasmSIMD("simd/archsimd", "Uint16x8.Sub", makeSimdOp2(ssaop.OpSubInt16x8))
332 addWasmSIMD("simd/archsimd", "Int32x4.Sub", makeSimdOp2(ssaop.OpSubInt32x4))
333 addWasmSIMD("simd/archsimd", "Uint32x4.Sub", makeSimdOp2(ssaop.OpSubInt32x4))
334 addWasmSIMD("simd/archsimd", "Float32x4.Sub", makeSimdOp2(ssaop.OpSubFloat32x4))
335 addWasmSIMD("simd/archsimd", "Int64x2.Sub", makeSimdOp2(ssaop.OpSubInt64x2))
336 addWasmSIMD("simd/archsimd", "Uint64x2.Sub", makeSimdOp2(ssaop.OpSubInt64x2))
337 addWasmSIMD("simd/archsimd", "Float64x2.Sub", makeSimdOp2(ssaop.OpSubFloat64x2))
338 addWasmSIMD("simd/archsimd", "Int8x16.SubSaturated", makeSimdOp2(ssaop.OpSubSaturatedInt8x16))
339 addWasmSIMD("simd/archsimd", "Uint8x16.SubSaturated", makeSimdOp2(ssaop.OpSubSaturatedUint8x16))
340 addWasmSIMD("simd/archsimd", "Int16x8.SubSaturated", makeSimdOp2(ssaop.OpSubSaturatedInt16x8))
341 addWasmSIMD("simd/archsimd", "Uint16x8.SubSaturated", makeSimdOp2(ssaop.OpSubSaturatedUint16x8))
342 addWasmSIMD("simd/archsimd", "Float32x4.Trunc", makeSimdOp1(ssaop.OpTruncFloat32x4))
343 addWasmSIMD("simd/archsimd", "Float64x2.Trunc", makeSimdOp1(ssaop.OpTruncFloat64x2))
344 addWasmSIMD("simd/archsimd", "Int8x16.Xor", makeSimdOp2(ssaop.OpXorInt8x16))
345 addWasmSIMD("simd/archsimd", "Uint8x16.Xor", makeSimdOp2(ssaop.OpXorUint8x16))
346 addWasmSIMD("simd/archsimd", "Mask8x16.Xor", makeSimdOp2(ssaop.OpXorInt8x16))
347 addWasmSIMD("simd/archsimd", "Int16x8.Xor", makeSimdOp2(ssaop.OpXorInt16x8))
348 addWasmSIMD("simd/archsimd", "Uint16x8.Xor", makeSimdOp2(ssaop.OpXorUint16x8))
349 addWasmSIMD("simd/archsimd", "Mask16x8.Xor", makeSimdOp2(ssaop.OpXorInt16x8))
350 addWasmSIMD("simd/archsimd", "Int32x4.Xor", makeSimdOp2(ssaop.OpXorInt32x4))
351 addWasmSIMD("simd/archsimd", "Uint32x4.Xor", makeSimdOp2(ssaop.OpXorUint32x4))
352 addWasmSIMD("simd/archsimd", "Mask32x4.Xor", makeSimdOp2(ssaop.OpXorInt32x4))
353 addWasmSIMD("simd/archsimd", "Int64x2.Xor", makeSimdOp2(ssaop.OpXorInt64x2))
354 addWasmSIMD("simd/archsimd", "Uint64x2.Xor", makeSimdOp2(ssaop.OpXorUint64x2))
355 addWasmSIMD("simd/archsimd", "Mask64x2.Xor", makeSimdOp2(ssaop.OpXorInt64x2))
356 addWasmSIMD("simd/archsimd", "Int8x16.ToMask", makeToMask(ssaop.OpNotEqualInt8x16, ssaop.OpXorInt8x16))
357 addWasmSIMD("simd/archsimd", "Mask8x16.ToInt8x16", makeAsOp())
358 addWasmSIMD("simd/archsimd", "Int16x8.ToMask", makeToMask(ssaop.OpNotEqualInt16x8, ssaop.OpXorInt16x8))
359 addWasmSIMD("simd/archsimd", "Mask16x8.ToInt16x8", makeAsOp())
360 addWasmSIMD("simd/archsimd", "Int32x4.ToMask", makeToMask(ssaop.OpNotEqualInt32x4, ssaop.OpXorInt32x4))
361 addWasmSIMD("simd/archsimd", "Mask32x4.ToInt32x4", makeAsOp())
362 addWasmSIMD("simd/archsimd", "Int64x2.ToMask", makeToMask(ssaop.OpNotEqualInt64x2, ssaop.OpXorInt64x2))
363 addWasmSIMD("simd/archsimd", "Mask64x2.ToInt64x2", makeAsOp())
364 addWasmSIMD("simd/archsimd", "LoadInt8x16Array", simdLoad())
365 addWasmSIMD("simd/archsimd", "BroadcastInt8x16", simdBroadcast(ssaop.OpBroadcastInt8x16))
366 addWasmSIMD("simd/archsimd", "Int8x16.StoreArray", simdStore())
367 addWasmSIMD("simd/archsimd", "LoadInt16x8Array", simdLoad())
368 addWasmSIMD("simd/archsimd", "BroadcastInt16x8", simdBroadcast(ssaop.OpBroadcastInt16x8))
369 addWasmSIMD("simd/archsimd", "Int16x8.StoreArray", simdStore())
370 addWasmSIMD("simd/archsimd", "LoadInt32x4Array", simdLoad())
371 addWasmSIMD("simd/archsimd", "BroadcastInt32x4", simdBroadcast(ssaop.OpBroadcastInt32x4))
372 addWasmSIMD("simd/archsimd", "Int32x4.StoreArray", simdStore())
373 addWasmSIMD("simd/archsimd", "LoadInt64x2Array", simdLoad())
374 addWasmSIMD("simd/archsimd", "BroadcastInt64x2", simdBroadcast(ssaop.OpBroadcastInt64x2))
375 addWasmSIMD("simd/archsimd", "Int64x2.StoreArray", simdStore())
376 addWasmSIMD("simd/archsimd", "LoadUint8x16Array", simdLoad())
377 addWasmSIMD("simd/archsimd", "BroadcastUint8x16", simdBroadcast(ssaop.OpBroadcastInt8x16))
378 addWasmSIMD("simd/archsimd", "Uint8x16.StoreArray", simdStore())
379 addWasmSIMD("simd/archsimd", "LoadUint16x8Array", simdLoad())
380 addWasmSIMD("simd/archsimd", "BroadcastUint16x8", simdBroadcast(ssaop.OpBroadcastInt16x8))
381 addWasmSIMD("simd/archsimd", "Uint16x8.StoreArray", simdStore())
382 addWasmSIMD("simd/archsimd", "LoadUint32x4Array", simdLoad())
383 addWasmSIMD("simd/archsimd", "BroadcastUint32x4", simdBroadcast(ssaop.OpBroadcastInt32x4))
384 addWasmSIMD("simd/archsimd", "Uint32x4.StoreArray", simdStore())
385 addWasmSIMD("simd/archsimd", "LoadUint64x2Array", simdLoad())
386 addWasmSIMD("simd/archsimd", "BroadcastUint64x2", simdBroadcast(ssaop.OpBroadcastInt64x2))
387 addWasmSIMD("simd/archsimd", "Uint64x2.StoreArray", simdStore())
388 addWasmSIMD("simd/archsimd", "LoadFloat32x4Array", simdLoad())
389 addWasmSIMD("simd/archsimd", "BroadcastFloat32x4", simdBroadcast(ssaop.OpBroadcastFloat32x4))
390 addWasmSIMD("simd/archsimd", "Float32x4.StoreArray", simdStore())
391 addWasmSIMD("simd/archsimd", "LoadFloat64x2Array", simdLoad())
392 addWasmSIMD("simd/archsimd", "BroadcastFloat64x2", simdBroadcast(ssaop.OpBroadcastFloat64x2))
393 addWasmSIMD("simd/archsimd", "Float64x2.StoreArray", simdStore())
394 addWasmSIMD("simd/archsimd", "Int8x16.AsInt16x8", makeAsOp())
395 addWasmSIMD("simd/archsimd", "Int8x16.AsInt32x4", makeAsOp())
396 addWasmSIMD("simd/archsimd", "Int8x16.AsInt64x2", makeAsOp())
397 addWasmSIMD("simd/archsimd", "Int8x16.AsUint8x16", makeAsOp())
398 addWasmSIMD("simd/archsimd", "Int8x16.AsUint16x8", makeAsOp())
399 addWasmSIMD("simd/archsimd", "Int8x16.AsUint32x4", makeAsOp())
400 addWasmSIMD("simd/archsimd", "Int8x16.AsUint64x2", makeAsOp())
401 addWasmSIMD("simd/archsimd", "Int8x16.AsFloat32x4", makeAsOp())
402 addWasmSIMD("simd/archsimd", "Int8x16.AsFloat64x2", makeAsOp())
403 addWasmSIMD("simd/archsimd", "Int16x8.AsInt8x16", makeAsOp())
404 addWasmSIMD("simd/archsimd", "Int16x8.AsInt32x4", makeAsOp())
405 addWasmSIMD("simd/archsimd", "Int16x8.AsInt64x2", makeAsOp())
406 addWasmSIMD("simd/archsimd", "Int16x8.AsUint8x16", makeAsOp())
407 addWasmSIMD("simd/archsimd", "Int16x8.AsUint16x8", makeAsOp())
408 addWasmSIMD("simd/archsimd", "Int16x8.AsUint32x4", makeAsOp())
409 addWasmSIMD("simd/archsimd", "Int16x8.AsUint64x2", makeAsOp())
410 addWasmSIMD("simd/archsimd", "Int16x8.AsFloat32x4", makeAsOp())
411 addWasmSIMD("simd/archsimd", "Int16x8.AsFloat64x2", makeAsOp())
412 addWasmSIMD("simd/archsimd", "Int32x4.AsInt8x16", makeAsOp())
413 addWasmSIMD("simd/archsimd", "Int32x4.AsInt16x8", makeAsOp())
414 addWasmSIMD("simd/archsimd", "Int32x4.AsInt64x2", makeAsOp())
415 addWasmSIMD("simd/archsimd", "Int32x4.AsUint8x16", makeAsOp())
416 addWasmSIMD("simd/archsimd", "Int32x4.AsUint16x8", makeAsOp())
417 addWasmSIMD("simd/archsimd", "Int32x4.AsUint32x4", makeAsOp())
418 addWasmSIMD("simd/archsimd", "Int32x4.AsUint64x2", makeAsOp())
419 addWasmSIMD("simd/archsimd", "Int32x4.AsFloat32x4", makeAsOp())
420 addWasmSIMD("simd/archsimd", "Int32x4.AsFloat64x2", makeAsOp())
421 addWasmSIMD("simd/archsimd", "Int64x2.AsInt8x16", makeAsOp())
422 addWasmSIMD("simd/archsimd", "Int64x2.AsInt16x8", makeAsOp())
423 addWasmSIMD("simd/archsimd", "Int64x2.AsInt32x4", makeAsOp())
424 addWasmSIMD("simd/archsimd", "Int64x2.AsUint8x16", makeAsOp())
425 addWasmSIMD("simd/archsimd", "Int64x2.AsUint16x8", makeAsOp())
426 addWasmSIMD("simd/archsimd", "Int64x2.AsUint32x4", makeAsOp())
427 addWasmSIMD("simd/archsimd", "Int64x2.AsUint64x2", makeAsOp())
428 addWasmSIMD("simd/archsimd", "Int64x2.AsFloat32x4", makeAsOp())
429 addWasmSIMD("simd/archsimd", "Int64x2.AsFloat64x2", makeAsOp())
430 addWasmSIMD("simd/archsimd", "Uint8x16.AsInt8x16", makeAsOp())
431 addWasmSIMD("simd/archsimd", "Uint8x16.AsInt16x8", makeAsOp())
432 addWasmSIMD("simd/archsimd", "Uint8x16.AsInt32x4", makeAsOp())
433 addWasmSIMD("simd/archsimd", "Uint8x16.AsInt64x2", makeAsOp())
434 addWasmSIMD("simd/archsimd", "Uint8x16.AsUint16x8", makeAsOp())
435 addWasmSIMD("simd/archsimd", "Uint8x16.AsUint32x4", makeAsOp())
436 addWasmSIMD("simd/archsimd", "Uint8x16.AsUint64x2", makeAsOp())
437 addWasmSIMD("simd/archsimd", "Uint8x16.AsFloat32x4", makeAsOp())
438 addWasmSIMD("simd/archsimd", "Uint8x16.AsFloat64x2", makeAsOp())
439 addWasmSIMD("simd/archsimd", "Uint16x8.AsInt8x16", makeAsOp())
440 addWasmSIMD("simd/archsimd", "Uint16x8.AsInt16x8", makeAsOp())
441 addWasmSIMD("simd/archsimd", "Uint16x8.AsInt32x4", makeAsOp())
442 addWasmSIMD("simd/archsimd", "Uint16x8.AsInt64x2", makeAsOp())
443 addWasmSIMD("simd/archsimd", "Uint16x8.AsUint8x16", makeAsOp())
444 addWasmSIMD("simd/archsimd", "Uint16x8.AsUint32x4", makeAsOp())
445 addWasmSIMD("simd/archsimd", "Uint16x8.AsUint64x2", makeAsOp())
446 addWasmSIMD("simd/archsimd", "Uint16x8.AsFloat32x4", makeAsOp())
447 addWasmSIMD("simd/archsimd", "Uint16x8.AsFloat64x2", makeAsOp())
448 addWasmSIMD("simd/archsimd", "Uint32x4.AsInt8x16", makeAsOp())
449 addWasmSIMD("simd/archsimd", "Uint32x4.AsInt16x8", makeAsOp())
450 addWasmSIMD("simd/archsimd", "Uint32x4.AsInt32x4", makeAsOp())
451 addWasmSIMD("simd/archsimd", "Uint32x4.AsInt64x2", makeAsOp())
452 addWasmSIMD("simd/archsimd", "Uint32x4.AsUint8x16", makeAsOp())
453 addWasmSIMD("simd/archsimd", "Uint32x4.AsUint16x8", makeAsOp())
454 addWasmSIMD("simd/archsimd", "Uint32x4.AsUint64x2", makeAsOp())
455 addWasmSIMD("simd/archsimd", "Uint32x4.AsFloat32x4", makeAsOp())
456 addWasmSIMD("simd/archsimd", "Uint32x4.AsFloat64x2", makeAsOp())
457 addWasmSIMD("simd/archsimd", "Uint64x2.AsInt8x16", makeAsOp())
458 addWasmSIMD("simd/archsimd", "Uint64x2.AsInt16x8", makeAsOp())
459 addWasmSIMD("simd/archsimd", "Uint64x2.AsInt32x4", makeAsOp())
460 addWasmSIMD("simd/archsimd", "Uint64x2.AsInt64x2", makeAsOp())
461 addWasmSIMD("simd/archsimd", "Uint64x2.AsUint8x16", makeAsOp())
462 addWasmSIMD("simd/archsimd", "Uint64x2.AsUint16x8", makeAsOp())
463 addWasmSIMD("simd/archsimd", "Uint64x2.AsUint32x4", makeAsOp())
464 addWasmSIMD("simd/archsimd", "Uint64x2.AsFloat32x4", makeAsOp())
465 addWasmSIMD("simd/archsimd", "Uint64x2.AsFloat64x2", makeAsOp())
466 addWasmSIMD("simd/archsimd", "Float32x4.AsInt8x16", makeAsOp())
467 addWasmSIMD("simd/archsimd", "Float32x4.AsInt16x8", makeAsOp())
468 addWasmSIMD("simd/archsimd", "Float32x4.AsInt32x4", makeAsOp())
469 addWasmSIMD("simd/archsimd", "Float32x4.AsInt64x2", makeAsOp())
470 addWasmSIMD("simd/archsimd", "Float32x4.AsUint8x16", makeAsOp())
471 addWasmSIMD("simd/archsimd", "Float32x4.AsUint16x8", makeAsOp())
472 addWasmSIMD("simd/archsimd", "Float32x4.AsUint32x4", makeAsOp())
473 addWasmSIMD("simd/archsimd", "Float32x4.AsUint64x2", makeAsOp())
474 addWasmSIMD("simd/archsimd", "Float32x4.AsFloat64x2", makeAsOp())
475 addWasmSIMD("simd/archsimd", "Float64x2.AsInt8x16", makeAsOp())
476 addWasmSIMD("simd/archsimd", "Float64x2.AsInt16x8", makeAsOp())
477 addWasmSIMD("simd/archsimd", "Float64x2.AsInt32x4", makeAsOp())
478 addWasmSIMD("simd/archsimd", "Float64x2.AsInt64x2", makeAsOp())
479 addWasmSIMD("simd/archsimd", "Float64x2.AsUint8x16", makeAsOp())
480 addWasmSIMD("simd/archsimd", "Float64x2.AsUint16x8", makeAsOp())
481 addWasmSIMD("simd/archsimd", "Float64x2.AsUint32x4", makeAsOp())
482 addWasmSIMD("simd/archsimd", "Float64x2.AsUint64x2", makeAsOp())
483 addWasmSIMD("simd/archsimd", "Float64x2.AsFloat32x4", makeAsOp())
484 addWasmSIMD("simd/archsimd", "Uint32x4.BitsToFloat32", makeAsOp())
485 addWasmSIMD("simd/archsimd", "Float32x4.ToBits", makeAsOp())
486 addWasmSIMD("simd/archsimd", "Uint64x2.BitsToFloat64", makeAsOp())
487 addWasmSIMD("simd/archsimd", "Float64x2.ToBits", makeAsOp())
488 addWasmSIMD("simd/archsimd", "Uint8x16.BitsToInt8", makeAsOp())
489 addWasmSIMD("simd/archsimd", "Uint8x16.ConvertToInt8", makeAsOp())
490 addWasmSIMD("simd/archsimd", "Int8x16.ConvertToUint8", makeAsOp())
491 addWasmSIMD("simd/archsimd", "Int8x16.ToBits", makeAsOp())
492 addWasmSIMD("simd/archsimd", "Uint16x8.BitsToInt16", makeAsOp())
493 addWasmSIMD("simd/archsimd", "Uint16x8.ConvertToInt16", makeAsOp())
494 addWasmSIMD("simd/archsimd", "Int16x8.ConvertToUint16", makeAsOp())
495 addWasmSIMD("simd/archsimd", "Int16x8.ToBits", makeAsOp())
496 addWasmSIMD("simd/archsimd", "Uint32x4.BitsToInt32", makeAsOp())
497 addWasmSIMD("simd/archsimd", "Uint32x4.ConvertToInt32", makeAsOp())
498 addWasmSIMD("simd/archsimd", "Int32x4.ConvertToUint32", makeAsOp())
499 addWasmSIMD("simd/archsimd", "Int32x4.ToBits", makeAsOp())
500 addWasmSIMD("simd/archsimd", "Uint64x2.BitsToInt64", makeAsOp())
501 addWasmSIMD("simd/archsimd", "Uint64x2.ConvertToInt64", makeAsOp())
502 addWasmSIMD("simd/archsimd", "Int64x2.ConvertToUint64", makeAsOp())
503 addWasmSIMD("simd/archsimd", "Int64x2.ToBits", makeAsOp())
504 addWasmSIMD("simd/archsimd", "Uint8x16.ReshapeToUint16s", makeAsOp())
505 addWasmSIMD("simd/archsimd", "Uint8x16.ReshapeToUint32s", makeAsOp())
506 addWasmSIMD("simd/archsimd", "Uint8x16.ReshapeToUint64s", makeAsOp())
507 addWasmSIMD("simd/archsimd", "Uint16x8.ReshapeToUint8s", makeAsOp())
508 addWasmSIMD("simd/archsimd", "Uint16x8.ReshapeToUint32s", makeAsOp())
509 addWasmSIMD("simd/archsimd", "Uint16x8.ReshapeToUint64s", makeAsOp())
510 addWasmSIMD("simd/archsimd", "Uint32x4.ReshapeToUint8s", makeAsOp())
511 addWasmSIMD("simd/archsimd", "Uint32x4.ReshapeToUint16s", makeAsOp())
512 addWasmSIMD("simd/archsimd", "Uint32x4.ReshapeToUint64s", makeAsOp())
513 addWasmSIMD("simd/archsimd", "Uint64x2.ReshapeToUint8s", makeAsOp())
514 addWasmSIMD("simd/archsimd", "Uint64x2.ReshapeToUint16s", makeAsOp())
515 addWasmSIMD("simd/archsimd", "Uint64x2.ReshapeToUint32s", makeAsOp())
516 }
517
View as plain text