@@ -50,8 +50,14 @@ declare function _BinaryenAtomicCmpxchgId(): BinaryenExpressionId;
50
50
declare function _BinaryenAtomicRMWId ( ) : BinaryenExpressionId ;
51
51
declare function _BinaryenAtomicWaitId ( ) : BinaryenExpressionId ;
52
52
declare function _BinaryenAtomicWakeId ( ) : BinaryenExpressionId ;
53
+ declare function _BinaryenSIMDExtractId ( ) : BinaryenExpressionId ;
54
+ declare function _BinaryenSIMDReplaceId ( ) : BinaryenExpressionId ;
55
+ declare function _BinaryenSIMDShuffleId ( ) : BinaryenExpressionId ;
56
+ declare function _BinaryenSIMDBitselectId ( ) : BinaryenExpressionId ;
57
+ declare function _BinaryenSIMDShiftId ( ) : BinaryenExpressionId ;
53
58
54
59
declare type BinaryenModuleRef = usize ;
60
+ declare type v128ptr = usize ; // TODO: LLVM C-abi for const uint8_t[16]?
55
61
56
62
declare function _BinaryenModuleCreate ( ) : BinaryenModuleRef ;
57
63
declare function _BinaryenModuleDispose ( module : BinaryenModuleRef ) : void ;
@@ -62,6 +68,7 @@ declare function _BinaryenLiteralInt32(out: usize, x: i32): void;
62
68
declare function _BinaryenLiteralInt64 ( out : usize , x : i32 , y : i32 ) : void ;
63
69
declare function _BinaryenLiteralFloat32 ( out : usize , x : f32 ) : void ;
64
70
declare function _BinaryenLiteralFloat64 ( out : usize , x : f64 ) : void ;
71
+ declare function _BinaryenLiteralVec128 ( out : usize , x : v128ptr ) : void ;
65
72
declare function _BinaryenLiteralFloat32Bits ( out : usize , x : i32 ) : void ;
66
73
declare function _BinaryenLiteralFloat64Bits ( out : usize , x : i32 , y : i32 ) : void ;
67
74
@@ -210,6 +217,144 @@ declare function _BinaryenAtomicRMWOr(): BinaryenAtomicRMWOp;
210
217
declare function _BinaryenAtomicRMWXor ( ) : BinaryenAtomicRMWOp ;
211
218
declare function _BinaryenAtomicRMWXchg ( ) : BinaryenAtomicRMWOp ;
212
219
220
+ declare type BinaryenSIMDOp = BinaryenOp ;
221
+
222
+ declare function _BinaryenSplatVecI8x16 ( ) : BinaryenSIMDOp ;
223
+ declare function _BinaryenExtractLaneSVecI8x16 ( ) : BinaryenSIMDOp ;
224
+ declare function _BinaryenExtractLaneUVecI8x16 ( ) : BinaryenSIMDOp ;
225
+ declare function _BinaryenReplaceLaneVecI8x16 ( ) : BinaryenSIMDOp ;
226
+ declare function _BinaryenSplatVecI16x8 ( ) : BinaryenSIMDOp ;
227
+ declare function _BinaryenExtractLaneSVecI16x8 ( ) : BinaryenSIMDOp ;
228
+ declare function _BinaryenExtractLaneUVecI16x8 ( ) : BinaryenSIMDOp ;
229
+ declare function _BinaryenReplaceLaneVecI16x8 ( ) : BinaryenSIMDOp ;
230
+ declare function _BinaryenSplatVecI32x4 ( ) : BinaryenSIMDOp ;
231
+ declare function _BinaryenExtractLaneVecI32x4 ( ) : BinaryenSIMDOp ;
232
+ declare function _BinaryenReplaceLaneVecI32x4 ( ) : BinaryenSIMDOp ;
233
+ declare function _BinaryenSplatVecI64x2 ( ) : BinaryenSIMDOp ;
234
+ declare function _BinaryenExtractLaneVecI64x2 ( ) : BinaryenSIMDOp ;
235
+ declare function _BinaryenReplaceLaneVecI64x2 ( ) : BinaryenSIMDOp ;
236
+ declare function _BinaryenSplatVecF32x4 ( ) : BinaryenSIMDOp ;
237
+ declare function _BinaryenExtractLaneVecF32x4 ( ) : BinaryenSIMDOp ;
238
+ declare function _BinaryenReplaceLaneVecF32x4 ( ) : BinaryenSIMDOp ;
239
+ declare function _BinaryenSplatVecF64x2 ( ) : BinaryenSIMDOp ;
240
+ declare function _BinaryenExtractLaneVecF64x2 ( ) : BinaryenSIMDOp ;
241
+ declare function _BinaryenReplaceLaneVecF64x2 ( ) : BinaryenSIMDOp ;
242
+ declare function _BinaryenEqVecI8x16 ( ) : BinaryenSIMDOp ;
243
+ declare function _BinaryenNeVecI8x16 ( ) : BinaryenSIMDOp ;
244
+ declare function _BinaryenLtSVecI8x16 ( ) : BinaryenSIMDOp ;
245
+ declare function _BinaryenLtUVecI8x16 ( ) : BinaryenSIMDOp ;
246
+ declare function _BinaryenGtSVecI8x16 ( ) : BinaryenSIMDOp ;
247
+ declare function _BinaryenGtUVecI8x16 ( ) : BinaryenSIMDOp ;
248
+ declare function _BinaryenLeSVecI8x16 ( ) : BinaryenSIMDOp ;
249
+ declare function _BinaryenLeUVecI8x16 ( ) : BinaryenSIMDOp ;
250
+ declare function _BinaryenGeSVecI8x16 ( ) : BinaryenSIMDOp ;
251
+ declare function _BinaryenGeUVecI8x16 ( ) : BinaryenSIMDOp ;
252
+ declare function _BinaryenEqVecI16x8 ( ) : BinaryenSIMDOp ;
253
+ declare function _BinaryenNeVecI16x8 ( ) : BinaryenSIMDOp ;
254
+ declare function _BinaryenLtSVecI16x8 ( ) : BinaryenSIMDOp ;
255
+ declare function _BinaryenLtUVecI16x8 ( ) : BinaryenSIMDOp ;
256
+ declare function _BinaryenGtSVecI16x8 ( ) : BinaryenSIMDOp ;
257
+ declare function _BinaryenGtUVecI16x8 ( ) : BinaryenSIMDOp ;
258
+ declare function _BinaryenLeSVecI16x8 ( ) : BinaryenSIMDOp ;
259
+ declare function _BinaryenLeUVecI16x8 ( ) : BinaryenSIMDOp ;
260
+ declare function _BinaryenGeSVecI16x8 ( ) : BinaryenSIMDOp ;
261
+ declare function _BinaryenGeUVecI16x8 ( ) : BinaryenSIMDOp ;
262
+ declare function _BinaryenEqVecI32x4 ( ) : BinaryenSIMDOp ;
263
+ declare function _BinaryenNeVecI32x4 ( ) : BinaryenSIMDOp ;
264
+ declare function _BinaryenLtSVecI32x4 ( ) : BinaryenSIMDOp ;
265
+ declare function _BinaryenLtUVecI32x4 ( ) : BinaryenSIMDOp ;
266
+ declare function _BinaryenGtSVecI32x4 ( ) : BinaryenSIMDOp ;
267
+ declare function _BinaryenGtUVecI32x4 ( ) : BinaryenSIMDOp ;
268
+ declare function _BinaryenLeSVecI32x4 ( ) : BinaryenSIMDOp ;
269
+ declare function _BinaryenLeUVecI32x4 ( ) : BinaryenSIMDOp ;
270
+ declare function _BinaryenGeSVecI32x4 ( ) : BinaryenSIMDOp ;
271
+ declare function _BinaryenGeUVecI32x4 ( ) : BinaryenSIMDOp ;
272
+ declare function _BinaryenEqVecF32x4 ( ) : BinaryenSIMDOp ;
273
+ declare function _BinaryenNeVecF32x4 ( ) : BinaryenSIMDOp ;
274
+ declare function _BinaryenLtVecF32x4 ( ) : BinaryenSIMDOp ;
275
+ declare function _BinaryenGtVecF32x4 ( ) : BinaryenSIMDOp ;
276
+ declare function _BinaryenLeVecF32x4 ( ) : BinaryenSIMDOp ;
277
+ declare function _BinaryenGeVecF32x4 ( ) : BinaryenSIMDOp ;
278
+ declare function _BinaryenEqVecF64x2 ( ) : BinaryenSIMDOp ;
279
+ declare function _BinaryenNeVecF64x2 ( ) : BinaryenSIMDOp ;
280
+ declare function _BinaryenLtVecF64x2 ( ) : BinaryenSIMDOp ;
281
+ declare function _BinaryenGtVecF64x2 ( ) : BinaryenSIMDOp ;
282
+ declare function _BinaryenLeVecF64x2 ( ) : BinaryenSIMDOp ;
283
+ declare function _BinaryenGeVecF64x2 ( ) : BinaryenSIMDOp ;
284
+ declare function _BinaryenNotVec128 ( ) : BinaryenSIMDOp ;
285
+ declare function _BinaryenAndVec128 ( ) : BinaryenSIMDOp ;
286
+ declare function _BinaryenOrVec128 ( ) : BinaryenSIMDOp ;
287
+ declare function _BinaryenXorVec128 ( ) : BinaryenSIMDOp ;
288
+ declare function _BinaryenNegVecI8x16 ( ) : BinaryenSIMDOp ;
289
+ declare function _BinaryenAnyTrueVecI8x16 ( ) : BinaryenSIMDOp ;
290
+ declare function _BinaryenAllTrueVecI8x16 ( ) : BinaryenSIMDOp ;
291
+ declare function _BinaryenShlVecI8x16 ( ) : BinaryenSIMDOp ;
292
+ declare function _BinaryenShrSVecI8x16 ( ) : BinaryenSIMDOp ;
293
+ declare function _BinaryenShrUVecI8x16 ( ) : BinaryenSIMDOp ;
294
+ declare function _BinaryenAddVecI8x16 ( ) : BinaryenSIMDOp ;
295
+ declare function _BinaryenAddSatSVecI8x16 ( ) : BinaryenSIMDOp ;
296
+ declare function _BinaryenAddSatUVecI8x16 ( ) : BinaryenSIMDOp ;
297
+ declare function _BinaryenSubVecI8x16 ( ) : BinaryenSIMDOp ;
298
+ declare function _BinaryenSubSatSVecI8x16 ( ) : BinaryenSIMDOp ;
299
+ declare function _BinaryenSubSatUVecI8x16 ( ) : BinaryenSIMDOp ;
300
+ declare function _BinaryenMulVecI8x16 ( ) : BinaryenSIMDOp ;
301
+ declare function _BinaryenNegVecI16x8 ( ) : BinaryenSIMDOp ;
302
+ declare function _BinaryenAnyTrueVecI16x8 ( ) : BinaryenSIMDOp ;
303
+ declare function _BinaryenAllTrueVecI16x8 ( ) : BinaryenSIMDOp ;
304
+ declare function _BinaryenShlVecI16x8 ( ) : BinaryenSIMDOp ;
305
+ declare function _BinaryenShrSVecI16x8 ( ) : BinaryenSIMDOp ;
306
+ declare function _BinaryenShrUVecI16x8 ( ) : BinaryenSIMDOp ;
307
+ declare function _BinaryenAddVecI16x8 ( ) : BinaryenSIMDOp ;
308
+ declare function _BinaryenAddSatSVecI16x8 ( ) : BinaryenSIMDOp ;
309
+ declare function _BinaryenAddSatUVecI16x8 ( ) : BinaryenSIMDOp ;
310
+ declare function _BinaryenSubVecI16x8 ( ) : BinaryenSIMDOp ;
311
+ declare function _BinaryenSubSatSVecI16x8 ( ) : BinaryenSIMDOp ;
312
+ declare function _BinaryenSubSatUVecI16x8 ( ) : BinaryenSIMDOp ;
313
+ declare function _BinaryenMulVecI16x8 ( ) : BinaryenSIMDOp ;
314
+ declare function _BinaryenNegVecI32x4 ( ) : BinaryenSIMDOp ;
315
+ declare function _BinaryenAnyTrueVecI32x4 ( ) : BinaryenSIMDOp ;
316
+ declare function _BinaryenAllTrueVecI32x4 ( ) : BinaryenSIMDOp ;
317
+ declare function _BinaryenShlVecI32x4 ( ) : BinaryenSIMDOp ;
318
+ declare function _BinaryenShrSVecI32x4 ( ) : BinaryenSIMDOp ;
319
+ declare function _BinaryenShrUVecI32x4 ( ) : BinaryenSIMDOp ;
320
+ declare function _BinaryenAddVecI32x4 ( ) : BinaryenSIMDOp ;
321
+ declare function _BinaryenSubVecI32x4 ( ) : BinaryenSIMDOp ;
322
+ declare function _BinaryenMulVecI32x4 ( ) : BinaryenSIMDOp ;
323
+ declare function _BinaryenNegVecI64x2 ( ) : BinaryenSIMDOp ;
324
+ declare function _BinaryenAnyTrueVecI64x2 ( ) : BinaryenSIMDOp ;
325
+ declare function _BinaryenAllTrueVecI64x2 ( ) : BinaryenSIMDOp ;
326
+ declare function _BinaryenShlVecI64x2 ( ) : BinaryenSIMDOp ;
327
+ declare function _BinaryenShrSVecI64x2 ( ) : BinaryenSIMDOp ;
328
+ declare function _BinaryenShrUVecI64x2 ( ) : BinaryenSIMDOp ;
329
+ declare function _BinaryenAddVecI64x2 ( ) : BinaryenSIMDOp ;
330
+ declare function _BinaryenSubVecI64x2 ( ) : BinaryenSIMDOp ;
331
+ declare function _BinaryenAbsVecF32x4 ( ) : BinaryenSIMDOp ;
332
+ declare function _BinaryenNegVecF32x4 ( ) : BinaryenSIMDOp ;
333
+ declare function _BinaryenSqrtVecF32x4 ( ) : BinaryenSIMDOp ;
334
+ declare function _BinaryenAddVecF32x4 ( ) : BinaryenSIMDOp ;
335
+ declare function _BinaryenSubVecF32x4 ( ) : BinaryenSIMDOp ;
336
+ declare function _BinaryenMulVecF32x4 ( ) : BinaryenSIMDOp ;
337
+ declare function _BinaryenDivVecF32x4 ( ) : BinaryenSIMDOp ;
338
+ declare function _BinaryenMinVecF32x4 ( ) : BinaryenSIMDOp ;
339
+ declare function _BinaryenMaxVecF32x4 ( ) : BinaryenSIMDOp ;
340
+ declare function _BinaryenAbsVecF64x2 ( ) : BinaryenSIMDOp ;
341
+ declare function _BinaryenNegVecF64x2 ( ) : BinaryenSIMDOp ;
342
+ declare function _BinaryenSqrtVecF64x2 ( ) : BinaryenSIMDOp ;
343
+ declare function _BinaryenAddVecF64x2 ( ) : BinaryenSIMDOp ;
344
+ declare function _BinaryenSubVecF64x2 ( ) : BinaryenSIMDOp ;
345
+ declare function _BinaryenMulVecF64x2 ( ) : BinaryenSIMDOp ;
346
+ declare function _BinaryenDivVecF64x2 ( ) : BinaryenSIMDOp ;
347
+ declare function _BinaryenMinVecF64x2 ( ) : BinaryenSIMDOp ;
348
+ declare function _BinaryenMaxVecF64x2 ( ) : BinaryenSIMDOp ;
349
+ declare function _BinaryenTruncSatSVecF32x4ToVecI32x4 ( ) : BinaryenSIMDOp ;
350
+ declare function _BinaryenTruncSatUVecF32x4ToVecI32x4 ( ) : BinaryenSIMDOp ;
351
+ declare function _BinaryenTruncSatSVecF64x2ToVecI64x2 ( ) : BinaryenSIMDOp ;
352
+ declare function _BinaryenTruncSatUVecF64x2ToVecI64x2 ( ) : BinaryenSIMDOp ;
353
+ declare function _BinaryenConvertSVecI32x4ToVecF32x4 ( ) : BinaryenSIMDOp ;
354
+ declare function _BinaryenConvertUVecI32x4ToVecF32x4 ( ) : BinaryenSIMDOp ;
355
+ declare function _BinaryenConvertSVecI64x2ToVecF64x2 ( ) : BinaryenSIMDOp ;
356
+ declare function _BinaryenConvertUVecI64x2ToVecF64x2 ( ) : BinaryenSIMDOp ;
357
+
213
358
declare type BinaryenExpressionRef = usize ;
214
359
215
360
declare function _BinaryenBlock ( module : BinaryenModuleRef , name : usize , children : usize , numChildren : BinaryenIndex , type : BinaryenType ) : BinaryenExpressionRef ;
@@ -235,13 +380,20 @@ declare function _BinaryenReturn(module: BinaryenModuleRef, value: BinaryenExpre
235
380
declare function _BinaryenHost ( module : BinaryenModuleRef , op : BinaryenOp , name : usize | 0 , operands : usize , numOperands : BinaryenIndex ) : BinaryenExpressionRef ;
236
381
declare function _BinaryenNop ( module : BinaryenModuleRef ) : BinaryenExpressionRef ;
237
382
declare function _BinaryenUnreachable ( module : BinaryenModuleRef ) : BinaryenExpressionRef ;
383
+
238
384
declare function _BinaryenAtomicLoad ( module : BinaryenModuleRef , bytes : BinaryenIndex , offset : BinaryenIndex , type : BinaryenType , ptr : BinaryenExpressionRef ) : BinaryenExpressionRef ;
239
385
declare function _BinaryenAtomicStore ( module : BinaryenModuleRef , bytes : BinaryenIndex , offset : BinaryenIndex , ptr : BinaryenExpressionRef , value : BinaryenExpressionRef , type : BinaryenType ) : BinaryenExpressionRef ;
240
386
declare function _BinaryenAtomicRMW ( module : BinaryenModuleRef , op : BinaryenAtomicRMWOp , bytes : i32 , offset : i32 , ptr : BinaryenExpressionRef , value : BinaryenExpressionRef , type : BinaryenType ) : BinaryenExpressionRef ;
241
387
declare function _BinaryenAtomicCmpxchg ( module : BinaryenModuleRef , bytes : i32 , offset : i32 , ptr : BinaryenExpressionRef , expected : BinaryenExpressionRef , replacement : BinaryenExpressionRef , type : BinaryenType ) : BinaryenExpressionRef ;
242
388
declare function _BinaryenAtomicWait ( module : BinaryenModuleRef , ptr : BinaryenExpressionRef , expected : BinaryenExpressionRef , timeout : BinaryenExpressionRef , expectedType : BinaryenType ) : BinaryenExpressionRef ;
243
389
declare function _BinaryenAtomicWake ( module : BinaryenModuleRef , ptr : BinaryenExpressionRef , wakeCount : BinaryenExpressionRef ) : BinaryenExpressionRef ;
244
390
391
+ declare function _BinaryenSIMDExtract ( module : BinaryenModuleRef , op : BinaryenSIMDOp , vec : BinaryenExpressionRef , idx : u8 ) : BinaryenExpressionRef ;
392
+ declare function _BinaryenSIMDReplace ( module : BinaryenModuleRef , op : BinaryenSIMDOp , vec : BinaryenExpressionRef , idx : u8 , value : BinaryenExpressionRef ) : BinaryenExpressionRef ;
393
+ declare function _BinaryenSIMDShuffle ( module : BinaryenModuleRef , left : BinaryenExpressionRef , right : BinaryenExpressionRef , mask : v128ptr ) : BinaryenExpressionRef ;
394
+ declare function _BinaryenSIMDBitselect ( module : BinaryenModuleRef , left : BinaryenExpressionRef , right : BinaryenExpressionRef , cond : BinaryenExpressionRef ) : BinaryenExpressionRef ;
395
+ declare function _BinaryenSIMDShift ( module : BinaryenModuleRef , op : BinaryenSIMDOp , vec : BinaryenExpressionRef , shift : BinaryenExpressionRef ) : BinaryenExpressionRef ;
396
+
245
397
declare function _BinaryenExpressionGetId ( expr : BinaryenExpressionRef ) : BinaryenExpressionId ;
246
398
declare function _BinaryenExpressionGetType ( expr : BinaryenExpressionRef ) : BinaryenType ;
247
399
declare function _BinaryenExpressionPrint ( expr : BinaryenExpressionRef ) : void ;
@@ -346,6 +498,27 @@ declare function _BinaryenAtomicWaitGetExpectedType(expr: BinaryenExpressionRef)
346
498
declare function _BinaryenAtomicWakeGetPtr ( expr : BinaryenExpressionRef ) : BinaryenExpressionRef ;
347
499
declare function _BinaryenAtomicWakeGetWakeCount ( expr : BinaryenExpressionRef ) : BinaryenExpressionRef ;
348
500
501
+ declare function _BinaryenSIMDExtractGetOp ( expr : BinaryenExpressionRef ) : BinaryenSIMDOp ;
502
+ declare function _BinaryenSIMDExtractGetVec ( expr : BinaryenExpressionRef ) : BinaryenExpressionRef ;
503
+ declare function _BinaryenSIMDExtractGetIdx ( expr : BinaryenExpressionRef ) : u8 ;
504
+
505
+ declare function _BinaryenSIMDReplaceGetOp ( expr : BinaryenExpressionRef ) : BinaryenSIMDOp ;
506
+ declare function _BinaryenSIMDReplaceGetVec ( expr : BinaryenExpressionRef ) : BinaryenExpressionRef ;
507
+ declare function _BinaryenSIMDReplaceGetIdx ( expr : BinaryenExpressionRef ) : u8 ;
508
+ declare function _BinaryenSIMDReplaceGetValue ( expr : BinaryenExpressionRef ) : BinaryenExpressionRef ;
509
+
510
+ declare function _BinaryenSIMDShuffleGetLeft ( expr : BinaryenExpressionRef ) : BinaryenExpressionRef ;
511
+ declare function _BinaryenSIMDShuffleGetRight ( expr : BinaryenExpressionRef ) : BinaryenExpressionRef ;
512
+ declare function _BinaryenSIMDShuffleGetMask ( expr : BinaryenExpressionRef , out : v128ptr ) : void ;
513
+
514
+ declare function _BinaryenSIMDBitselectGetLeft ( expr : BinaryenExpressionRef ) : BinaryenExpressionRef ;
515
+ declare function _BinaryenSIMDBitselectGetRight ( expr : BinaryenExpressionRef ) : BinaryenExpressionRef ;
516
+ declare function _BinaryenSIMDBitselectGetCond ( expr : BinaryenExpressionRef ) : BinaryenExpressionRef ;
517
+
518
+ declare function _BinaryenSIMDShiftGetOp ( expr : BinaryenExpressionRef ) : BinaryenSIMDOp ;
519
+ declare function _BinaryenSIMDShiftGetVec ( expr : BinaryenExpressionRef ) : BinaryenExpressionRef ;
520
+ declare function _BinaryenSIMDShiftGetShift ( expr : BinaryenExpressionRef ) : BinaryenExpressionRef ;
521
+
349
522
declare type BinaryenFunctionTypeRef = usize ;
350
523
351
524
declare function _BinaryenAddFunctionType ( module : BinaryenModuleRef , name : usize , result : BinaryenType , paramTypes : usize , numParams : BinaryenIndex ) : BinaryenFunctionTypeRef ;
0 commit comments