...

Text file src/github.com/tetratelabs/wazero/internal/integration_test/spectest/v2/testdata/simd_load_extend.wast

Documentation: github.com/tetratelabs/wazero/internal/integration_test/spectest/v2/testdata

     1;; Load and Extend test cases
     2
     3(module
     4  (memory 1)
     5  (data (i32.const 0) "\00\01\02\03\04\05\06\07\08\09\0A\0B\0C\0D\0E\0F\80\81\82\83\84\85\86\87\88\89")
     6  (data (i32.const 65520) "\0A\0B\0C\0D\0E\0F\80\81\82\83\84\85\86\87\88\89")
     7
     8  (func (export "v128.load8x8_s") (param $0 i32) (result v128)
     9    (v128.load8x8_s (local.get $0))
    10  )
    11  (func (export "v128.load8x8_u") (param $0 i32) (result v128)
    12    (v128.load8x8_u (local.get $0))
    13  )
    14  (func (export "v128.load16x4_s") (param $0 i32) (result v128)
    15    (v128.load16x4_s (local.get $0))
    16  )
    17  (func (export "v128.load16x4_u") (param $0 i32) (result v128)
    18    (v128.load16x4_u (local.get $0))
    19  )
    20  (func (export "v128.load32x2_s") (param $0 i32) (result v128)
    21    (v128.load32x2_s (local.get $0))
    22  )
    23  (func (export "v128.load32x2_u") (param $0 i32) (result v128)
    24    (v128.load32x2_u (local.get $0))
    25  )
    26
    27  ;; load by a constant amount
    28  (func (export "v128.load8x8_s_const0") (result v128)
    29    (v128.load8x8_s (i32.const 0))
    30  )
    31  (func (export "v128.load8x8_u_const8") (result v128)
    32    (v128.load8x8_u (i32.const 8))
    33  )
    34  (func (export "v128.load16x4_s_const10") (result v128)
    35    (v128.load16x4_s (i32.const 10))
    36  )
    37  (func (export "v128.load16x4_u_const20") (result v128)
    38    (v128.load16x4_u (i32.const 20))
    39  )
    40  (func (export "v128.load32x2_s_const65520") (result v128)
    41    (v128.load32x2_s (i32.const 65520))
    42  )
    43  (func (export "v128.load32x2_u_const65526") (result v128)
    44    (v128.load32x2_u (i32.const 65526))
    45  )
    46
    47  ;; load data with different offset/align arguments
    48  ;; i16x8
    49  (func (export "v128.load8x8_s_offset0") (param $0 i32) (result v128)
    50    (v128.load8x8_s offset=0 (local.get $0))
    51  )
    52  (func (export "v128.load8x8_s_align1") (param $0 i32) (result v128)
    53    (v128.load8x8_s align=1 (local.get $0))
    54  )
    55  (func (export "v128.load8x8_s_offset0_align1") (param $0 i32) (result v128)
    56    (v128.load8x8_s offset=0 align=1 (local.get $0))
    57  )
    58  (func (export "v128.load8x8_s_offset1_align1") (param $0 i32) (result v128)
    59    (v128.load8x8_s offset=1 align=1 (local.get $0))
    60  )
    61  (func (export "v128.load8x8_s_offset10_align4") (param $0 i32) (result v128)
    62    (v128.load8x8_s offset=10 align=4 (local.get $0))
    63  )
    64  (func (export "v128.load8x8_s_offset20_align8") (param $0 i32) (result v128)
    65    (v128.load8x8_s offset=20 align=8 (local.get $0))
    66  )
    67  (func (export "v128.load8x8_u_offset0") (param $0 i32) (result v128)
    68    (v128.load8x8_u offset=0 (local.get $0))
    69  )
    70  (func (export "v128.load8x8_u_align1") (param $0 i32) (result v128)
    71    (v128.load8x8_u align=1 (local.get $0))
    72  )
    73  (func (export "v128.load8x8_u_offset0_align1") (param $0 i32) (result v128)
    74    (v128.load8x8_u offset=0 align=1 (local.get $0))
    75  )
    76  (func (export "v128.load8x8_u_offset1_align1") (param $0 i32) (result v128)
    77    (v128.load8x8_u offset=1 align=1 (local.get $0))
    78  )
    79  (func (export "v128.load8x8_u_offset10_align4") (param $0 i32) (result v128)
    80    (v128.load8x8_u offset=10 align=4 (local.get $0))
    81  )
    82  (func (export "v128.load8x8_u_offset20_align8") (param $0 i32) (result v128)
    83    (v128.load8x8_u offset=20 align=8 (local.get $0))
    84  )
    85  ;; i32x4
    86  (func (export "v128.load16x4_s_offset0") (param $0 i32) (result v128)
    87    (v128.load16x4_s offset=0 (local.get $0))
    88  )
    89  (func (export "v128.load16x4_s_align1") (param $0 i32) (result v128)
    90    (v128.load16x4_s align=1 (local.get $0))
    91  )
    92  (func (export "v128.load16x4_s_offset0_align1") (param $0 i32) (result v128)
    93    (v128.load16x4_s offset=0 align=1 (local.get $0))
    94  )
    95  (func (export "v128.load16x4_s_offset1_align1") (param $0 i32) (result v128)
    96    (v128.load16x4_s offset=1 align=1 (local.get $0))
    97  )
    98  (func (export "v128.load16x4_s_offset10_align4") (param $0 i32) (result v128)
    99    (v128.load16x4_s offset=10 align=4 (local.get $0))
   100  )
   101  (func (export "v128.load16x4_s_offset20_align8") (param $0 i32) (result v128)
   102    (v128.load16x4_s offset=20 align=8 (local.get $0))
   103  )
   104  (func (export "v128.load16x4_u_offset0") (param $0 i32) (result v128)
   105    (v128.load16x4_u offset=0 (local.get $0))
   106  )
   107  (func (export "v128.load16x4_u_align1") (param $0 i32) (result v128)
   108    (v128.load16x4_u align=1 (local.get $0))
   109  )
   110  (func (export "v128.load16x4_u_offset0_align1") (param $0 i32) (result v128)
   111    (v128.load16x4_u offset=0 align=1 (local.get $0))
   112  )
   113  (func (export "v128.load16x4_u_offset1_align1") (param $0 i32) (result v128)
   114    (v128.load16x4_u offset=1 align=1 (local.get $0))
   115  )
   116  (func (export "v128.load16x4_u_offset10_align4") (param $0 i32) (result v128)
   117    (v128.load16x4_u offset=10 align=4 (local.get $0))
   118  )
   119  (func (export "v128.load16x4_u_offset20_align8") (param $0 i32) (result v128)
   120    (v128.load16x4_u offset=20 align=8 (local.get $0))
   121  )
   122  ;; i64x2
   123  (func (export "v128.load32x2_s_offset0") (param $0 i32) (result v128)
   124    (v128.load32x2_s offset=0 (local.get $0))
   125  )
   126  (func (export "v128.load32x2_s_align1") (param $0 i32) (result v128)
   127    (v128.load32x2_s align=1 (local.get $0))
   128  )
   129  (func (export "v128.load32x2_s_offset0_align1") (param $0 i32) (result v128)
   130    (v128.load32x2_s offset=0 align=1 (local.get $0))
   131  )
   132  (func (export "v128.load32x2_s_offset1_align1") (param $0 i32) (result v128)
   133    (v128.load32x2_s offset=1 align=1 (local.get $0))
   134  )
   135  (func (export "v128.load32x2_s_offset10_align4") (param $0 i32) (result v128)
   136    (v128.load32x2_s offset=10 align=4 (local.get $0))
   137  )
   138  (func (export "v128.load32x2_s_offset20_align8") (param $0 i32) (result v128)
   139    (v128.load32x2_s offset=20 align=8 (local.get $0))
   140  )
   141  (func (export "v128.load32x2_u_offset0") (param $0 i32) (result v128)
   142    (v128.load32x2_u offset=0 (local.get $0))
   143  )
   144  (func (export "v128.load32x2_u_align1") (param $0 i32) (result v128)
   145    (v128.load32x2_u align=1 (local.get $0))
   146  )
   147  (func (export "v128.load32x2_u_offset0_align1") (param $0 i32) (result v128)
   148    (v128.load32x2_u offset=0 align=1 (local.get $0))
   149  )
   150  (func (export "v128.load32x2_u_offset1_align1") (param $0 i32) (result v128)
   151    (v128.load32x2_u offset=1 align=1 (local.get $0))
   152  )
   153  (func (export "v128.load32x2_u_offset10_align4") (param $0 i32) (result v128)
   154    (v128.load32x2_u offset=10 align=4 (local.get $0))
   155  )
   156  (func (export "v128.load32x2_u_offset20_align8") (param $0 i32) (result v128)
   157    (v128.load32x2_u offset=20 align=8 (local.get $0))
   158  )
   159)
   160
   161
   162;; normal
   163(assert_return (invoke "v128.load8x8_s" (i32.const 0)) (v128.const i16x8 0x0000 0x0001 0x0002 0x0003 0x0004 0x0005 0x0006 0x0007))
   164(assert_return (invoke "v128.load8x8_u" (i32.const 0)) (v128.const i16x8 0x0000 0x0001 0x0002 0x0003 0x0004 0x0005 0x0006 0x0007))
   165(assert_return (invoke "v128.load16x4_s" (i32.const 0)) (v128.const i32x4 0x00000100 0x00000302 0x00000504 0x00000706))
   166(assert_return (invoke "v128.load16x4_u" (i32.const 0)) (v128.const i32x4 0x00000100 0x00000302 0x00000504 0x00000706))
   167(assert_return (invoke "v128.load32x2_s" (i32.const 0)) (v128.const i64x2 0x0000000003020100 0x0000000007060504))
   168(assert_return (invoke "v128.load32x2_u" (i32.const 0)) (v128.const i64x2 0x0000000003020100 0x0000000007060504))
   169(assert_return (invoke "v128.load8x8_s" (i32.const 10)) (v128.const i16x8 0x000A 0x000B 0x000C 0x000D 0x000E 0x000F 0xFF80 0xFF81))
   170(assert_return (invoke "v128.load8x8_u" (i32.const 10)) (v128.const i16x8 0x000A 0x000B 0x000C 0x000D 0x000E 0x000F 0x0080 0x0081))
   171(assert_return (invoke "v128.load16x4_s" (i32.const 10)) (v128.const i32x4 0x00000B0A 0x00000D0C 0x00000F0E 0xFFFF8180))
   172(assert_return (invoke "v128.load16x4_u" (i32.const 10)) (v128.const i32x4 0x00000B0A 0x00000D0C 0x00000F0E 0x00008180))
   173(assert_return (invoke "v128.load32x2_s" (i32.const 10)) (v128.const i64x2 0x000000000D0C0B0A 0xFFFFFFFF81800F0E))
   174(assert_return (invoke "v128.load32x2_u" (i32.const 10)) (v128.const i64x2 0x000000000D0C0B0A 0x0000000081800F0E))
   175(assert_return (invoke "v128.load8x8_s" (i32.const 20)) (v128.const i16x8 0xff84 0xff85 0xff86 0xff87 0xff88 0xff89 0x0000 0x0000))
   176(assert_return (invoke "v128.load8x8_u" (i32.const 20)) (v128.const i16x8 0x0084 0x0085 0x0086 0x0087 0x0088 0x0089 0x0000 0x0000))
   177(assert_return (invoke "v128.load16x4_s" (i32.const 20)) (v128.const i32x4 0xffff8584 0xffff8786 0xffff8988 0x00000000))
   178(assert_return (invoke "v128.load16x4_u" (i32.const 20)) (v128.const i32x4 0x00008584 0x00008786 0x00008988 0x00000000))
   179(assert_return (invoke "v128.load32x2_s" (i32.const 20)) (v128.const i64x2 0xFFFFFFFF87868584 0x0000000000008988))
   180(assert_return (invoke "v128.load32x2_u" (i32.const 20)) (v128.const i64x2 0x0000000087868584 0x0000000000008988))
   181
   182;; load by a constant amount
   183(assert_return (invoke "v128.load8x8_s_const0") (v128.const i16x8 0x0000 0x0001 0x0002 0x0003 0x0004 0x0005 0x0006 0x0007))
   184(assert_return (invoke "v128.load8x8_u_const8") (v128.const i16x8 0x0008 0x0009 0x000A 0x000B 0x000C 0x000D 0x000E 0x000F))
   185(assert_return (invoke "v128.load16x4_s_const10") (v128.const i32x4 0x00000B0A 0x00000D0C 0x00000F0E 0xFFFF8180))
   186(assert_return (invoke "v128.load16x4_u_const20") (v128.const i32x4 0x00008584 0x00008786 0x00008988 0x00000000))
   187(assert_return (invoke "v128.load32x2_s_const65520") (v128.const i64x2 0x000000000D0C0B0A 0xFFFFFFFF81800F0E))
   188(assert_return (invoke "v128.load32x2_u_const65526") (v128.const i64x2 0x0000000083828180 0x0000000087868584))
   189
   190;; load data with different offset/align arguments
   191;; i16x8
   192(assert_return (invoke "v128.load8x8_s_offset0" (i32.const 0)) (v128.const i16x8 0x0000 0x0001 0x0002 0x0003 0x0004 0x0005 0x0006 0x0007))
   193(assert_return (invoke "v128.load8x8_s_align1" (i32.const 1)) (v128.const i16x8 0x0001 0x0002 0x0003 0x0004 0x0005 0x0006 0x0007 0x0008))
   194(assert_return (invoke "v128.load8x8_s_offset0_align1" (i32.const 2)) (v128.const i16x8 0x0002 0x0003 0x0004 0x0005 0x0006 0x0007 0x0008 0x0009))
   195(assert_return (invoke "v128.load8x8_s_offset10_align4" (i32.const 3)) (v128.const i16x8 0x000D 0x000E 0x000F 0xFF80 0xFF81 0xFF82 0xFF83 0xFF84))
   196(assert_return (invoke "v128.load8x8_s_offset20_align8" (i32.const 4)) (v128.const i16x8 0xFF88 0xFF89 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000))
   197(assert_return (invoke "v128.load8x8_u_offset0" (i32.const 0)) (v128.const i16x8 0x0000 0x0001 0x0002 0x0003 0x0004 0x0005 0x0006 0x0007))
   198(assert_return (invoke "v128.load8x8_u_align1" (i32.const 1)) (v128.const i16x8 0x0001 0x0002 0x0003 0x0004 0x0005 0x0006 0x0007 0x0008))
   199(assert_return (invoke "v128.load8x8_u_offset0_align1" (i32.const 2)) (v128.const i16x8 0x0002 0x0003 0x0004 0x0005 0x0006 0x0007 0x0008 0x0009))
   200(assert_return (invoke "v128.load8x8_u_offset10_align4" (i32.const 3)) (v128.const i16x8 0x000D 0x000E 0x000F 0x0080 0x0081 0x0082 0x0083 0x0084))
   201(assert_return (invoke "v128.load8x8_u_offset20_align8" (i32.const 4)) (v128.const i16x8 0x0088 0x0089 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000))
   202;; i32x4
   203(assert_return (invoke "v128.load16x4_s_offset0" (i32.const 0)) (v128.const i32x4 0x00000100 0x00000302 0x00000504 0x00000706))
   204(assert_return (invoke "v128.load16x4_s_align1" (i32.const 1)) (v128.const i32x4 0x00000201 0x00000403 0x00000605 0x00000807))
   205(assert_return (invoke "v128.load16x4_s_offset0_align1" (i32.const 2)) (v128.const i32x4 0x00000302 0x00000504 0x00000706 0x00000908))
   206(assert_return (invoke "v128.load16x4_s_offset10_align4" (i32.const 3)) (v128.const i32x4 0x00000E0D 0xFFFF800F 0xFFFF8281 0xFFFF8483))
   207(assert_return (invoke "v128.load16x4_s_offset20_align8" (i32.const 4)) (v128.const i32x4 0xFFFF8988 0x00000000 0x00000000 0x00000000))
   208(assert_return (invoke "v128.load16x4_u_offset0" (i32.const 0)) (v128.const i32x4 0x00000100 0x00000302 0x00000504 0x00000706))
   209(assert_return (invoke "v128.load16x4_u_align1" (i32.const 1)) (v128.const i32x4 0x00000201 0x00000403 0x00000605 0x00000807))
   210(assert_return (invoke "v128.load16x4_u_offset0_align1" (i32.const 2)) (v128.const i32x4 0x00000302 0x00000504 0x00000706 0x00000908))
   211(assert_return (invoke "v128.load16x4_u_offset10_align4" (i32.const 3)) (v128.const i32x4 0x00000E0D 0x0000800F 0x00008281 0x00008483))
   212(assert_return (invoke "v128.load16x4_u_offset20_align8" (i32.const 4)) (v128.const i32x4 0x00008988 0x00000000 0x00000000 0x00000000))
   213;; i64x2
   214(assert_return (invoke "v128.load32x2_s_offset0" (i32.const 0)) (v128.const i64x2 0x0000000003020100 0x0000000007060504))
   215(assert_return (invoke "v128.load32x2_s_align1" (i32.const 1)) (v128.const i64x2 0x0000000004030201 0x0000000008070605))
   216(assert_return (invoke "v128.load32x2_s_offset0_align1" (i32.const 2)) (v128.const i64x2 0x0000000005040302 0x0000000009080706))
   217(assert_return (invoke "v128.load32x2_s_offset10_align4" (i32.const 3)) (v128.const i64x2 0xFFFFFFFF800F0E0D 0xFFFFFFFF84838281))
   218(assert_return (invoke "v128.load32x2_s_offset20_align8" (i32.const 4)) (v128.const i64x2 0x0000000000008988 0x0000000000000000))
   219(assert_return (invoke "v128.load32x2_u_offset0" (i32.const 0)) (v128.const i64x2 0x0000000003020100 0x0000000007060504))
   220(assert_return (invoke "v128.load32x2_u_align1" (i32.const 1)) (v128.const i64x2 0x0000000004030201 0x0000000008070605))
   221(assert_return (invoke "v128.load32x2_u_offset0_align1" (i32.const 2)) (v128.const i64x2 0x0000000005040302 0x0000000009080706))
   222(assert_return (invoke "v128.load32x2_u_offset10_align4" (i32.const 3)) (v128.const i64x2 0x00000000800F0E0D 0x0000000084838281))
   223(assert_return (invoke "v128.load32x2_u_offset20_align8" (i32.const 4)) (v128.const i64x2 0x0000000000008988 0x0000000000000000))
   224
   225;; out of bounds memory access
   226(assert_trap (invoke "v128.load8x8_s" (i32.const -1))  "out of bounds memory access")
   227(assert_trap (invoke "v128.load8x8_u" (i32.const -1))  "out of bounds memory access")
   228(assert_trap (invoke "v128.load16x4_s" (i32.const 65536))  "out of bounds memory access")
   229(assert_trap (invoke "v128.load16x4_u" (i32.const 65536))  "out of bounds memory access")
   230(assert_trap (invoke "v128.load32x2_s" (i32.const 65529))  "out of bounds memory access")
   231(assert_trap (invoke "v128.load32x2_u" (i32.const 65529))  "out of bounds memory access")
   232
   233(assert_trap (invoke "v128.load8x8_s_offset1_align1" (i32.const -1)) "out of bounds memory access")
   234(assert_trap (invoke "v128.load8x8_u_offset1_align1" (i32.const -1)) "out of bounds memory access")
   235(assert_trap (invoke "v128.load16x4_s_offset1_align1" (i32.const -1)) "out of bounds memory access")
   236(assert_trap (invoke "v128.load16x4_u_offset1_align1" (i32.const -1)) "out of bounds memory access")
   237(assert_trap (invoke "v128.load32x2_s_offset1_align1" (i32.const -1)) "out of bounds memory access")
   238(assert_trap (invoke "v128.load32x2_u_offset1_align1" (i32.const -1)) "out of bounds memory access")
   239
   240;; type check
   241(assert_invalid (module (memory 0) (func (result v128) (v128.load8x8_s (f32.const 0)))) "type mismatch")
   242(assert_invalid (module (memory 0) (func (result v128) (v128.load8x8_u (f32.const 0)))) "type mismatch")
   243(assert_invalid (module (memory 0) (func (result v128) (v128.load16x4_s (f64.const 0)))) "type mismatch")
   244(assert_invalid (module (memory 0) (func (result v128) (v128.load16x4_u (f64.const 0)))) "type mismatch")
   245(assert_invalid (module (memory 0) (func (result v128) (v128.load32x2_s (v128.const i32x4 0 0 0 0)))) "type mismatch")
   246(assert_invalid (module (memory 0) (func (result v128) (v128.load32x2_u (v128.const i32x4 0 0 0 0)))) "type mismatch")
   247
   248;; Test operation with empty argument
   249
   250(assert_invalid
   251  (module (memory 0)
   252    (func $v128.load8x8_s-arg-empty (result v128)
   253      (v128.load8x8_s)
   254    )
   255  )
   256  "type mismatch"
   257)
   258(assert_invalid
   259  (module (memory 0)
   260    (func $v128.load8x8_u-arg-empty (result v128)
   261      (v128.load8x8_u)
   262    )
   263  )
   264  "type mismatch"
   265)
   266(assert_invalid
   267  (module (memory 0)
   268    (func $v128.load16x4_s-arg-empty (result v128)
   269      (v128.load16x4_s)
   270    )
   271  )
   272  "type mismatch"
   273)
   274(assert_invalid
   275  (module (memory 0)
   276    (func $v128.load16x4_u-arg-empty (result v128)
   277      (v128.load16x4_u)
   278    )
   279  )
   280  "type mismatch"
   281)
   282(assert_invalid
   283  (module (memory 0)
   284    (func $v128.load32x2_s-arg-empty (result v128)
   285      (v128.load32x2_s)
   286    )
   287  )
   288  "type mismatch"
   289)
   290(assert_invalid
   291  (module (memory 0)
   292    (func $v128.load32x2_u-arg-empty (result v128)
   293      (v128.load32x2_u)
   294    )
   295  )
   296  "type mismatch"
   297)
   298
   299;; Unknown operator
   300
   301(assert_malformed (module quote "(memory 1) (func (drop (i16x8.load16x4_s (i32.const 0))))") "unknown operator")
   302(assert_malformed (module quote "(memory 1) (func (drop (i16x8.load16x4_u (i32.const 0))))") "unknown operator")
   303(assert_malformed (module quote "(memory 1) (func (drop (i32x4.load32x2_s (i32.const 0))))") "unknown operator")
   304(assert_malformed (module quote "(memory 1) (func (drop (i32x4.load32x2_u (i32.const 0))))") "unknown operator")
   305(assert_malformed (module quote "(memory 1) (func (drop (i64x2.load64x1_s (i32.const 0))))") "unknown operator")
   306(assert_malformed (module quote "(memory 1) (func (drop (i64x2.load64x1_u (i32.const 0))))") "unknown operator")
   307
   308;; combination
   309(module
   310  (memory 1)
   311  (data (i32.const 0) "\00\01\02\03\04\05\06\07\08\09\0A\0B\0C\0D\0E\0F\80\81\82\83\84\85\86\87\88\89")
   312  (func (export "v128.load8x8_s-in-block") (result v128)
   313    (block (result v128) (block (result v128) (v128.load8x8_s (i32.const 0))))
   314  )
   315  (func (export "v128.load8x8_u-in-block") (result v128)
   316    (block (result v128) (block (result v128) (v128.load8x8_u (i32.const 1))))
   317  )
   318  (func (export "v128.load16x4_s-in-block") (result v128)
   319    (block (result v128) (block (result v128) (v128.load16x4_s (i32.const 2))))
   320  )
   321  (func (export "v128.load16x4_u-in-block") (result v128)
   322    (block (result v128) (block (result v128) (v128.load16x4_u (i32.const 3))))
   323  )
   324  (func (export "v128.load32x2_s-in-block") (result v128)
   325    (block (result v128) (block (result v128) (v128.load32x2_s (i32.const 4))))
   326  )
   327  (func (export "v128.load32x2_u-in-block") (result v128)
   328    (block (result v128) (block (result v128) (v128.load32x2_u (i32.const 5))))
   329  )
   330  (func (export "v128.load8x8_s-as-br-value") (result v128)
   331    (block (result v128) (br 0 (v128.load8x8_s (i32.const 6))))
   332  )
   333  (func (export "v128.load8x8_u-as-br-value") (result v128)
   334    (block (result v128) (br 0 (v128.load8x8_u (i32.const 7))))
   335  )
   336  (func (export "v128.load16x4_s-as-br-value") (result v128)
   337    (block (result v128) (br 0 (v128.load16x4_s (i32.const 8))))
   338  )
   339  (func (export "v128.load16x4_u-as-br-value") (result v128)
   340    (block (result v128) (br 0 (v128.load16x4_u (i32.const 9))))
   341  )
   342  (func (export "v128.load32x2_s-as-br-value") (result v128)
   343    (block (result v128) (br 0 (v128.load32x2_s (i32.const 10))))
   344  )
   345  (func (export "v128.load32x2_u-as-br-value") (result v128)
   346    (block (result v128) (br 0 (v128.load32x2_u (i32.const 11))))
   347  )
   348  (func (export "v128.load8x8_s-extract_lane_s-operand") (result i32)
   349    (i8x16.extract_lane_s 0 (v128.load8x8_s (i32.const 12)))
   350  )
   351  (func (export "v128.load8x8_u-extract_lane_s-operand") (result i32)
   352    (i8x16.extract_lane_s 0 (v128.load8x8_u (i32.const 13)))
   353  )
   354  (func (export "v128.load16x4_s-extract_lane_s-operand") (result i32)
   355    (i8x16.extract_lane_s 0 (v128.load16x4_s (i32.const 14)))
   356  )
   357  (func (export "v128.load16x4_u-extract_lane_s-operand") (result i32)
   358    (i8x16.extract_lane_s 0 (v128.load16x4_u (i32.const 15)))
   359  )
   360  (func (export "v128.load32x2_s-extract_lane_s-operand") (result i32)
   361    (i8x16.extract_lane_s 0 (v128.load32x2_s (i32.const 16)))
   362  )
   363  (func (export "v128.load32x2_u-extract_lane_s-operand") (result i32)
   364    (i8x16.extract_lane_s 0 (v128.load32x2_u (i32.const 17)))
   365  )
   366)
   367(assert_return (invoke "v128.load8x8_s-in-block") (v128.const i16x8 0x0000 0x0001 0x0002 0x0003 0x0004 0x0005 0x0006 0x0007))
   368(assert_return (invoke "v128.load8x8_u-in-block") (v128.const i16x8 0x0001 0x0002 0x0003 0x0004 0x0005 0x0006 0x0007 0x0008))
   369(assert_return (invoke "v128.load16x4_s-in-block") (v128.const i32x4 0x00000302 0x00000504 0x00000706 0x00000908))
   370(assert_return (invoke "v128.load16x4_u-in-block") (v128.const i32x4 0x00000403 0x00000605 0x00000807 0x00000A09))
   371(assert_return (invoke "v128.load32x2_s-in-block") (v128.const i64x2 0x0000000007060504 0x000000000B0A0908))
   372(assert_return (invoke "v128.load32x2_u-in-block") (v128.const i64x2 0x0000000008070605 0x000000000C0B0A09))
   373(assert_return (invoke "v128.load8x8_s-as-br-value") (v128.const i16x8 0x0006 0x0007 0x0008 0x0009 0x000A 0x000B 0x000C 0x000D))
   374(assert_return (invoke "v128.load8x8_u-as-br-value") (v128.const i16x8 0x0007 0x0008 0x0009 0x000A 0x000B 0x000C 0x000D 0x000E))
   375(assert_return (invoke "v128.load16x4_s-as-br-value") (v128.const i32x4 0x00000908 0x00000B0A 0x00000D0C 0x00000F0E))
   376(assert_return (invoke "v128.load16x4_u-as-br-value") (v128.const i32x4 0x00000A09 0x00000C0B 0x00000E0D 0x0000800F))
   377(assert_return (invoke "v128.load32x2_s-as-br-value") (v128.const i64x2 0x000000000D0C0B0A 0xFFFFFFFF81800F0E))
   378(assert_return (invoke "v128.load32x2_u-as-br-value") (v128.const i64x2 0x000000000E0D0C0B 0x000000008281800F))
   379(assert_return (invoke "v128.load8x8_s-extract_lane_s-operand") (i32.const 12))
   380(assert_return (invoke "v128.load8x8_u-extract_lane_s-operand") (i32.const 13))
   381(assert_return (invoke "v128.load16x4_s-extract_lane_s-operand") (i32.const 14))
   382(assert_return (invoke "v128.load16x4_u-extract_lane_s-operand") (i32.const 15))
   383(assert_return (invoke "v128.load32x2_s-extract_lane_s-operand") (i32.const -128))
   384(assert_return (invoke "v128.load32x2_u-extract_lane_s-operand") (i32.const -127))

View as plain text