...

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

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

     1;; Tests for store lane operations.
     2
     3
     4(module
     5  (memory 1)
     6  (global $zero (mut v128) (v128.const i32x4 0 0 0 0))
     7  (func (export "v128.store8_lane_0")
     8    (param $address i32) (param $x v128) (result i64) (local $ret i64)
     9    (v128.store8_lane 0 (local.get $address) (local.get $x))
    10    (local.set $ret (i64.load (local.get $address)))
    11    (v128.store (local.get $address) (global.get $zero))    (local.get $ret))
    12  (func (export "v128.store8_lane_1")
    13    (param $address i32) (param $x v128) (result i64) (local $ret i64)
    14    (v128.store8_lane 1 (local.get $address) (local.get $x))
    15    (local.set $ret (i64.load (local.get $address)))
    16    (v128.store (local.get $address) (global.get $zero))    (local.get $ret))
    17  (func (export "v128.store8_lane_2")
    18    (param $address i32) (param $x v128) (result i64) (local $ret i64)
    19    (v128.store8_lane 2 (local.get $address) (local.get $x))
    20    (local.set $ret (i64.load (local.get $address)))
    21    (v128.store (local.get $address) (global.get $zero))    (local.get $ret))
    22  (func (export "v128.store8_lane_3")
    23    (param $address i32) (param $x v128) (result i64) (local $ret i64)
    24    (v128.store8_lane 3 (local.get $address) (local.get $x))
    25    (local.set $ret (i64.load (local.get $address)))
    26    (v128.store (local.get $address) (global.get $zero))    (local.get $ret))
    27  (func (export "v128.store8_lane_4")
    28    (param $address i32) (param $x v128) (result i64) (local $ret i64)
    29    (v128.store8_lane 4 (local.get $address) (local.get $x))
    30    (local.set $ret (i64.load (local.get $address)))
    31    (v128.store (local.get $address) (global.get $zero))    (local.get $ret))
    32  (func (export "v128.store8_lane_5")
    33    (param $address i32) (param $x v128) (result i64) (local $ret i64)
    34    (v128.store8_lane 5 (local.get $address) (local.get $x))
    35    (local.set $ret (i64.load (local.get $address)))
    36    (v128.store (local.get $address) (global.get $zero))    (local.get $ret))
    37  (func (export "v128.store8_lane_6")
    38    (param $address i32) (param $x v128) (result i64) (local $ret i64)
    39    (v128.store8_lane 6 (local.get $address) (local.get $x))
    40    (local.set $ret (i64.load (local.get $address)))
    41    (v128.store (local.get $address) (global.get $zero))    (local.get $ret))
    42  (func (export "v128.store8_lane_7")
    43    (param $address i32) (param $x v128) (result i64) (local $ret i64)
    44    (v128.store8_lane 7 (local.get $address) (local.get $x))
    45    (local.set $ret (i64.load (local.get $address)))
    46    (v128.store (local.get $address) (global.get $zero))    (local.get $ret))
    47  (func (export "v128.store8_lane_8")
    48    (param $address i32) (param $x v128) (result i64) (local $ret i64)
    49    (v128.store8_lane 8 (local.get $address) (local.get $x))
    50    (local.set $ret (i64.load (local.get $address)))
    51    (v128.store (local.get $address) (global.get $zero))    (local.get $ret))
    52  (func (export "v128.store8_lane_9")
    53    (param $address i32) (param $x v128) (result i64) (local $ret i64)
    54    (v128.store8_lane 9 (local.get $address) (local.get $x))
    55    (local.set $ret (i64.load (local.get $address)))
    56    (v128.store (local.get $address) (global.get $zero))    (local.get $ret))
    57  (func (export "v128.store8_lane_10")
    58    (param $address i32) (param $x v128) (result i64) (local $ret i64)
    59    (v128.store8_lane 10 (local.get $address) (local.get $x))
    60    (local.set $ret (i64.load (local.get $address)))
    61    (v128.store (local.get $address) (global.get $zero))    (local.get $ret))
    62  (func (export "v128.store8_lane_11")
    63    (param $address i32) (param $x v128) (result i64) (local $ret i64)
    64    (v128.store8_lane 11 (local.get $address) (local.get $x))
    65    (local.set $ret (i64.load (local.get $address)))
    66    (v128.store (local.get $address) (global.get $zero))    (local.get $ret))
    67  (func (export "v128.store8_lane_12")
    68    (param $address i32) (param $x v128) (result i64) (local $ret i64)
    69    (v128.store8_lane 12 (local.get $address) (local.get $x))
    70    (local.set $ret (i64.load (local.get $address)))
    71    (v128.store (local.get $address) (global.get $zero))    (local.get $ret))
    72  (func (export "v128.store8_lane_13")
    73    (param $address i32) (param $x v128) (result i64) (local $ret i64)
    74    (v128.store8_lane 13 (local.get $address) (local.get $x))
    75    (local.set $ret (i64.load (local.get $address)))
    76    (v128.store (local.get $address) (global.get $zero))    (local.get $ret))
    77  (func (export "v128.store8_lane_14")
    78    (param $address i32) (param $x v128) (result i64) (local $ret i64)
    79    (v128.store8_lane 14 (local.get $address) (local.get $x))
    80    (local.set $ret (i64.load (local.get $address)))
    81    (v128.store (local.get $address) (global.get $zero))    (local.get $ret))
    82  (func (export "v128.store8_lane_15")
    83    (param $address i32) (param $x v128) (result i64) (local $ret i64)
    84    (v128.store8_lane 15 (local.get $address) (local.get $x))
    85    (local.set $ret (i64.load (local.get $address)))
    86    (v128.store (local.get $address) (global.get $zero))    (local.get $ret))
    87  (func (export "v128.store8_lane_0_offset_0")
    88    (param $x v128) (result i64) (local $ret i64)
    89    (v128.store8_lane offset=0 0 (i32.const 0) (local.get $x))
    90    (local.set $ret (i64.load offset=0 (i32.const 0)))
    91    (v128.store offset=0 (i32.const 0) (global.get $zero))
    92    (local.get $ret))
    93  (func (export "v128.store8_lane_1_offset_1")
    94    (param $x v128) (result i64) (local $ret i64)
    95    (v128.store8_lane offset=1 1 (i32.const 0) (local.get $x))
    96    (local.set $ret (i64.load offset=1 (i32.const 0)))
    97    (v128.store offset=1 (i32.const 0) (global.get $zero))
    98    (local.get $ret))
    99  (func (export "v128.store8_lane_2_offset_2")
   100    (param $x v128) (result i64) (local $ret i64)
   101    (v128.store8_lane offset=2 2 (i32.const 0) (local.get $x))
   102    (local.set $ret (i64.load offset=2 (i32.const 0)))
   103    (v128.store offset=2 (i32.const 0) (global.get $zero))
   104    (local.get $ret))
   105  (func (export "v128.store8_lane_3_offset_3")
   106    (param $x v128) (result i64) (local $ret i64)
   107    (v128.store8_lane offset=3 3 (i32.const 0) (local.get $x))
   108    (local.set $ret (i64.load offset=3 (i32.const 0)))
   109    (v128.store offset=3 (i32.const 0) (global.get $zero))
   110    (local.get $ret))
   111  (func (export "v128.store8_lane_4_offset_4")
   112    (param $x v128) (result i64) (local $ret i64)
   113    (v128.store8_lane offset=4 4 (i32.const 0) (local.get $x))
   114    (local.set $ret (i64.load offset=4 (i32.const 0)))
   115    (v128.store offset=4 (i32.const 0) (global.get $zero))
   116    (local.get $ret))
   117  (func (export "v128.store8_lane_5_offset_5")
   118    (param $x v128) (result i64) (local $ret i64)
   119    (v128.store8_lane offset=5 5 (i32.const 0) (local.get $x))
   120    (local.set $ret (i64.load offset=5 (i32.const 0)))
   121    (v128.store offset=5 (i32.const 0) (global.get $zero))
   122    (local.get $ret))
   123  (func (export "v128.store8_lane_6_offset_6")
   124    (param $x v128) (result i64) (local $ret i64)
   125    (v128.store8_lane offset=6 6 (i32.const 0) (local.get $x))
   126    (local.set $ret (i64.load offset=6 (i32.const 0)))
   127    (v128.store offset=6 (i32.const 0) (global.get $zero))
   128    (local.get $ret))
   129  (func (export "v128.store8_lane_7_offset_7")
   130    (param $x v128) (result i64) (local $ret i64)
   131    (v128.store8_lane offset=7 7 (i32.const 0) (local.get $x))
   132    (local.set $ret (i64.load offset=7 (i32.const 0)))
   133    (v128.store offset=7 (i32.const 0) (global.get $zero))
   134    (local.get $ret))
   135  (func (export "v128.store8_lane_8_offset_8")
   136    (param $x v128) (result i64) (local $ret i64)
   137    (v128.store8_lane offset=8 8 (i32.const 0) (local.get $x))
   138    (local.set $ret (i64.load offset=8 (i32.const 0)))
   139    (v128.store offset=8 (i32.const 0) (global.get $zero))
   140    (local.get $ret))
   141  (func (export "v128.store8_lane_9_offset_9")
   142    (param $x v128) (result i64) (local $ret i64)
   143    (v128.store8_lane offset=9 9 (i32.const 0) (local.get $x))
   144    (local.set $ret (i64.load offset=9 (i32.const 0)))
   145    (v128.store offset=9 (i32.const 0) (global.get $zero))
   146    (local.get $ret))
   147  (func (export "v128.store8_lane_10_offset_10")
   148    (param $x v128) (result i64) (local $ret i64)
   149    (v128.store8_lane offset=10 10 (i32.const 0) (local.get $x))
   150    (local.set $ret (i64.load offset=10 (i32.const 0)))
   151    (v128.store offset=10 (i32.const 0) (global.get $zero))
   152    (local.get $ret))
   153  (func (export "v128.store8_lane_11_offset_11")
   154    (param $x v128) (result i64) (local $ret i64)
   155    (v128.store8_lane offset=11 11 (i32.const 0) (local.get $x))
   156    (local.set $ret (i64.load offset=11 (i32.const 0)))
   157    (v128.store offset=11 (i32.const 0) (global.get $zero))
   158    (local.get $ret))
   159  (func (export "v128.store8_lane_12_offset_12")
   160    (param $x v128) (result i64) (local $ret i64)
   161    (v128.store8_lane offset=12 12 (i32.const 0) (local.get $x))
   162    (local.set $ret (i64.load offset=12 (i32.const 0)))
   163    (v128.store offset=12 (i32.const 0) (global.get $zero))
   164    (local.get $ret))
   165  (func (export "v128.store8_lane_13_offset_13")
   166    (param $x v128) (result i64) (local $ret i64)
   167    (v128.store8_lane offset=13 13 (i32.const 0) (local.get $x))
   168    (local.set $ret (i64.load offset=13 (i32.const 0)))
   169    (v128.store offset=13 (i32.const 0) (global.get $zero))
   170    (local.get $ret))
   171  (func (export "v128.store8_lane_14_offset_14")
   172    (param $x v128) (result i64) (local $ret i64)
   173    (v128.store8_lane offset=14 14 (i32.const 0) (local.get $x))
   174    (local.set $ret (i64.load offset=14 (i32.const 0)))
   175    (v128.store offset=14 (i32.const 0) (global.get $zero))
   176    (local.get $ret))
   177  (func (export "v128.store8_lane_15_offset_15")
   178    (param $x v128) (result i64) (local $ret i64)
   179    (v128.store8_lane offset=15 15 (i32.const 0) (local.get $x))
   180    (local.set $ret (i64.load offset=15 (i32.const 0)))
   181    (v128.store offset=15 (i32.const 0) (global.get $zero))
   182    (local.get $ret))
   183  (func (export "v128.store8_lane_0_align_1")
   184    (param $address i32) (param $x v128) (result i64) (local $ret i64)
   185    (v128.store8_lane align=1 0 (local.get $address) (local.get $x))
   186    (local.set $ret (i64.load (local.get $address)))
   187    (v128.store offset=0 (i32.const 0) (global.get $zero))
   188    (local.get $ret))
   189  (func (export "v128.store8_lane_1_align_1")
   190    (param $address i32) (param $x v128) (result i64) (local $ret i64)
   191    (v128.store8_lane align=1 1 (local.get $address) (local.get $x))
   192    (local.set $ret (i64.load (local.get $address)))
   193    (v128.store offset=1 (i32.const 0) (global.get $zero))
   194    (local.get $ret))
   195  (func (export "v128.store8_lane_2_align_1")
   196    (param $address i32) (param $x v128) (result i64) (local $ret i64)
   197    (v128.store8_lane align=1 2 (local.get $address) (local.get $x))
   198    (local.set $ret (i64.load (local.get $address)))
   199    (v128.store offset=2 (i32.const 0) (global.get $zero))
   200    (local.get $ret))
   201  (func (export "v128.store8_lane_3_align_1")
   202    (param $address i32) (param $x v128) (result i64) (local $ret i64)
   203    (v128.store8_lane align=1 3 (local.get $address) (local.get $x))
   204    (local.set $ret (i64.load (local.get $address)))
   205    (v128.store offset=3 (i32.const 0) (global.get $zero))
   206    (local.get $ret))
   207  (func (export "v128.store8_lane_4_align_1")
   208    (param $address i32) (param $x v128) (result i64) (local $ret i64)
   209    (v128.store8_lane align=1 4 (local.get $address) (local.get $x))
   210    (local.set $ret (i64.load (local.get $address)))
   211    (v128.store offset=4 (i32.const 0) (global.get $zero))
   212    (local.get $ret))
   213  (func (export "v128.store8_lane_5_align_1")
   214    (param $address i32) (param $x v128) (result i64) (local $ret i64)
   215    (v128.store8_lane align=1 5 (local.get $address) (local.get $x))
   216    (local.set $ret (i64.load (local.get $address)))
   217    (v128.store offset=5 (i32.const 0) (global.get $zero))
   218    (local.get $ret))
   219  (func (export "v128.store8_lane_6_align_1")
   220    (param $address i32) (param $x v128) (result i64) (local $ret i64)
   221    (v128.store8_lane align=1 6 (local.get $address) (local.get $x))
   222    (local.set $ret (i64.load (local.get $address)))
   223    (v128.store offset=6 (i32.const 0) (global.get $zero))
   224    (local.get $ret))
   225  (func (export "v128.store8_lane_7_align_1")
   226    (param $address i32) (param $x v128) (result i64) (local $ret i64)
   227    (v128.store8_lane align=1 7 (local.get $address) (local.get $x))
   228    (local.set $ret (i64.load (local.get $address)))
   229    (v128.store offset=7 (i32.const 0) (global.get $zero))
   230    (local.get $ret))
   231  (func (export "v128.store8_lane_8_align_1")
   232    (param $address i32) (param $x v128) (result i64) (local $ret i64)
   233    (v128.store8_lane align=1 8 (local.get $address) (local.get $x))
   234    (local.set $ret (i64.load (local.get $address)))
   235    (v128.store offset=8 (i32.const 0) (global.get $zero))
   236    (local.get $ret))
   237  (func (export "v128.store8_lane_9_align_1")
   238    (param $address i32) (param $x v128) (result i64) (local $ret i64)
   239    (v128.store8_lane align=1 9 (local.get $address) (local.get $x))
   240    (local.set $ret (i64.load (local.get $address)))
   241    (v128.store offset=9 (i32.const 0) (global.get $zero))
   242    (local.get $ret))
   243  (func (export "v128.store8_lane_10_align_1")
   244    (param $address i32) (param $x v128) (result i64) (local $ret i64)
   245    (v128.store8_lane align=1 10 (local.get $address) (local.get $x))
   246    (local.set $ret (i64.load (local.get $address)))
   247    (v128.store offset=10 (i32.const 0) (global.get $zero))
   248    (local.get $ret))
   249  (func (export "v128.store8_lane_11_align_1")
   250    (param $address i32) (param $x v128) (result i64) (local $ret i64)
   251    (v128.store8_lane align=1 11 (local.get $address) (local.get $x))
   252    (local.set $ret (i64.load (local.get $address)))
   253    (v128.store offset=11 (i32.const 0) (global.get $zero))
   254    (local.get $ret))
   255  (func (export "v128.store8_lane_12_align_1")
   256    (param $address i32) (param $x v128) (result i64) (local $ret i64)
   257    (v128.store8_lane align=1 12 (local.get $address) (local.get $x))
   258    (local.set $ret (i64.load (local.get $address)))
   259    (v128.store offset=12 (i32.const 0) (global.get $zero))
   260    (local.get $ret))
   261  (func (export "v128.store8_lane_13_align_1")
   262    (param $address i32) (param $x v128) (result i64) (local $ret i64)
   263    (v128.store8_lane align=1 13 (local.get $address) (local.get $x))
   264    (local.set $ret (i64.load (local.get $address)))
   265    (v128.store offset=13 (i32.const 0) (global.get $zero))
   266    (local.get $ret))
   267  (func (export "v128.store8_lane_14_align_1")
   268    (param $address i32) (param $x v128) (result i64) (local $ret i64)
   269    (v128.store8_lane align=1 14 (local.get $address) (local.get $x))
   270    (local.set $ret (i64.load (local.get $address)))
   271    (v128.store offset=14 (i32.const 0) (global.get $zero))
   272    (local.get $ret))
   273  (func (export "v128.store8_lane_15_align_1")
   274    (param $address i32) (param $x v128) (result i64) (local $ret i64)
   275    (v128.store8_lane align=1 15 (local.get $address) (local.get $x))
   276    (local.set $ret (i64.load (local.get $address)))
   277    (v128.store offset=15 (i32.const 0) (global.get $zero))
   278    (local.get $ret))
   279)
   280
   281(assert_return (invoke "v128.store8_lane_0" (i32.const 0)
   282                                            (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
   283                                            (i64.const 0))
   284(assert_return (invoke "v128.store8_lane_1" (i32.const 1)
   285                                            (v128.const i8x16 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
   286                                            (i64.const 1))
   287(assert_return (invoke "v128.store8_lane_2" (i32.const 2)
   288                                            (v128.const i8x16 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0))
   289                                            (i64.const 2))
   290(assert_return (invoke "v128.store8_lane_3" (i32.const 3)
   291                                            (v128.const i8x16 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0))
   292                                            (i64.const 3))
   293(assert_return (invoke "v128.store8_lane_4" (i32.const 4)
   294                                            (v128.const i8x16 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0))
   295                                            (i64.const 4))
   296(assert_return (invoke "v128.store8_lane_5" (i32.const 5)
   297                                            (v128.const i8x16 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0))
   298                                            (i64.const 5))
   299(assert_return (invoke "v128.store8_lane_6" (i32.const 6)
   300                                            (v128.const i8x16 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0))
   301                                            (i64.const 6))
   302(assert_return (invoke "v128.store8_lane_7" (i32.const 7)
   303                                            (v128.const i8x16 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0))
   304                                            (i64.const 7))
   305(assert_return (invoke "v128.store8_lane_8" (i32.const 8)
   306                                            (v128.const i8x16 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0))
   307                                            (i64.const 8))
   308(assert_return (invoke "v128.store8_lane_9" (i32.const 9)
   309                                            (v128.const i8x16 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0))
   310                                            (i64.const 9))
   311(assert_return (invoke "v128.store8_lane_10" (i32.const 10)
   312                                             (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0))
   313                                             (i64.const 10))
   314(assert_return (invoke "v128.store8_lane_11" (i32.const 11)
   315                                             (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0))
   316                                             (i64.const 11))
   317(assert_return (invoke "v128.store8_lane_12" (i32.const 12)
   318                                             (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 12 0 0 0))
   319                                             (i64.const 12))
   320(assert_return (invoke "v128.store8_lane_13" (i32.const 13)
   321                                             (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 13 0 0))
   322                                             (i64.const 13))
   323(assert_return (invoke "v128.store8_lane_14" (i32.const 14)
   324                                             (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 14 0))
   325                                             (i64.const 14))
   326(assert_return (invoke "v128.store8_lane_15" (i32.const 15)
   327                                             (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 15))
   328                                             (i64.const 15))
   329(assert_return (invoke "v128.store8_lane_0_offset_0" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
   330                                                     (i64.const 0))
   331(assert_return (invoke "v128.store8_lane_1_offset_1" (v128.const i8x16 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
   332                                                     (i64.const 1))
   333(assert_return (invoke "v128.store8_lane_2_offset_2" (v128.const i8x16 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0))
   334                                                     (i64.const 2))
   335(assert_return (invoke "v128.store8_lane_3_offset_3" (v128.const i8x16 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0))
   336                                                     (i64.const 3))
   337(assert_return (invoke "v128.store8_lane_4_offset_4" (v128.const i8x16 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0))
   338                                                     (i64.const 4))
   339(assert_return (invoke "v128.store8_lane_5_offset_5" (v128.const i8x16 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0))
   340                                                     (i64.const 5))
   341(assert_return (invoke "v128.store8_lane_6_offset_6" (v128.const i8x16 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0))
   342                                                     (i64.const 6))
   343(assert_return (invoke "v128.store8_lane_7_offset_7" (v128.const i8x16 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0))
   344                                                     (i64.const 7))
   345(assert_return (invoke "v128.store8_lane_8_offset_8" (v128.const i8x16 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0))
   346                                                     (i64.const 8))
   347(assert_return (invoke "v128.store8_lane_9_offset_9" (v128.const i8x16 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0))
   348                                                     (i64.const 9))
   349(assert_return (invoke "v128.store8_lane_10_offset_10" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0))
   350                                                       (i64.const 10))
   351(assert_return (invoke "v128.store8_lane_11_offset_11" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0))
   352                                                       (i64.const 11))
   353(assert_return (invoke "v128.store8_lane_12_offset_12" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 12 0 0 0))
   354                                                       (i64.const 12))
   355(assert_return (invoke "v128.store8_lane_13_offset_13" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 13 0 0))
   356                                                       (i64.const 13))
   357(assert_return (invoke "v128.store8_lane_14_offset_14" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 14 0))
   358                                                       (i64.const 14))
   359(assert_return (invoke "v128.store8_lane_15_offset_15" (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 15))
   360                                                       (i64.const 15))
   361(assert_return (invoke "v128.store8_lane_0_align_1" (i32.const 0)
   362                                                    (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
   363                                                    (i64.const 0))
   364(assert_return (invoke "v128.store8_lane_1_align_1" (i32.const 1)
   365                                                    (v128.const i8x16 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
   366                                                    (i64.const 1))
   367(assert_return (invoke "v128.store8_lane_2_align_1" (i32.const 2)
   368                                                    (v128.const i8x16 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0))
   369                                                    (i64.const 2))
   370(assert_return (invoke "v128.store8_lane_3_align_1" (i32.const 3)
   371                                                    (v128.const i8x16 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0))
   372                                                    (i64.const 3))
   373(assert_return (invoke "v128.store8_lane_4_align_1" (i32.const 4)
   374                                                    (v128.const i8x16 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0))
   375                                                    (i64.const 4))
   376(assert_return (invoke "v128.store8_lane_5_align_1" (i32.const 5)
   377                                                    (v128.const i8x16 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0))
   378                                                    (i64.const 5))
   379(assert_return (invoke "v128.store8_lane_6_align_1" (i32.const 6)
   380                                                    (v128.const i8x16 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0))
   381                                                    (i64.const 6))
   382(assert_return (invoke "v128.store8_lane_7_align_1" (i32.const 7)
   383                                                    (v128.const i8x16 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0))
   384                                                    (i64.const 7))
   385(assert_return (invoke "v128.store8_lane_8_align_1" (i32.const 8)
   386                                                    (v128.const i8x16 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0))
   387                                                    (i64.const 8))
   388(assert_return (invoke "v128.store8_lane_9_align_1" (i32.const 9)
   389                                                    (v128.const i8x16 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0))
   390                                                    (i64.const 9))
   391(assert_return (invoke "v128.store8_lane_10_align_1" (i32.const 10)
   392                                                     (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0))
   393                                                     (i64.const 10))
   394(assert_return (invoke "v128.store8_lane_11_align_1" (i32.const 11)
   395                                                     (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0))
   396                                                     (i64.const 11))
   397(assert_return (invoke "v128.store8_lane_12_align_1" (i32.const 12)
   398                                                     (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 12 0 0 0))
   399                                                     (i64.const 12))
   400(assert_return (invoke "v128.store8_lane_13_align_1" (i32.const 13)
   401                                                     (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 13 0 0))
   402                                                     (i64.const 13))
   403(assert_return (invoke "v128.store8_lane_14_align_1" (i32.const 14)
   404                                                     (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 14 0))
   405                                                     (i64.const 14))
   406(assert_return (invoke "v128.store8_lane_15_align_1" (i32.const 15)
   407                                                     (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 15))
   408                                                     (i64.const 15))
   409
   410;; type check
   411(assert_invalid  (module (memory 1)
   412          (func (param $x v128) (result v128)
   413            (v128.store8_lane 0 (local.get $x) (i32.const 0))))
   414  "type mismatch")
   415
   416;; invalid lane index
   417(assert_invalid  (module (memory 1)
   418          (func (param $x v128) (result v128)
   419            (v128.store8_lane 16 (i32.const 0) (local.get $x))))
   420  "invalid lane index")
   421
   422;; invalid memarg alignment
   423(assert_invalid
   424  (module (memory 1)
   425          (func (param $x v128) (result v128)
   426          (v128.store8_lane align=2 0 (i32.const 0) (local.get $x))))
   427  "alignment must not be larger than natural")

View as plain text