regress-1070078.js 1.51 KB
Newer Older
1 2 3 4 5 6
// Copyright 2020 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// Flags: --experimental-wasm-simd

7
d8.file.execute('test/mjsunit/wasm/wasm-module-builder.js');
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

const builder = new WasmModuleBuilder();
builder.addMemory(16, 32, false);
builder.addType(makeSig([kWasmI32, kWasmI32, kWasmI32], [kWasmI32]));
// Generate function 1 (out of 4).
builder.addFunction(undefined, 0 /* sig */).addBodyWithEnd([
  // signature: i_iii
  // body:
  kExprI32Const, 0x00,  // i32.const
  kExprMemoryGrow, 0x00,  // memory.grow
  kExprI32Const, 0xd3, 0xe7, 0x03,  // i32.const
  kSimdPrefix, kExprI8x16Splat,  // i8x16.splat
  kExprI32Const, 0x84, 0x80, 0xc0, 0x05,  // i32.const
  kSimdPrefix, kExprI8x16Splat,  // i8x16.splat
  kExprI32Const, 0x84, 0x81, 0x80, 0xc8, 0x01,  // i32.const
  kSimdPrefix, kExprI8x16Splat,  // i8x16.splat
  kExprI32Const, 0x19,  // i32.const
  kSimdPrefix, kExprI8x16Splat,  // i8x16.splat
26
  kSimdPrefix, kExprI8x16Shuffle,
27
  0x00, 0x00, 0x17, 0x00, 0x04, 0x04, 0x04, 0x04,
28 29
  0x04, 0x10, 0x01, 0x00, 0x04, 0x04, 0x04, 0x04,  // i8x16.shuffle
  kSimdPrefix, kExprI8x16Shuffle,
30
  0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
31
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // i8x16.shuffle
32
  kSimdPrefix, kExprI8x16LeU,  // i8x16.le_u
33
  kSimdPrefix, kExprV128AnyTrue,  // v128.any_true
34 35 36 37 38 39
  kExprMemoryGrow, 0x00,  // memory.grow
  kExprDrop,
  kExprEnd,  // end @233
]);
builder.addExport('main', 0);
builder.instantiate();