tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

atomic.wast.js (55309B)


      1 /* Copyright 2021 Mozilla Foundation
      2 *
      3 * Licensed under the Apache License, Version 2.0 (the "License");
      4 * you may not use this file except in compliance with the License.
      5 * You may obtain a copy of the License at
      6 *
      7 *     http://www.apache.org/licenses/LICENSE-2.0
      8 *
      9 * Unless required by applicable law or agreed to in writing, software
     10 * distributed under the License is distributed on an "AS IS" BASIS,
     11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     12 * See the License for the specific language governing permissions and
     13 * limitations under the License.
     14 */
     15 
     16 // ./test/core/atomic.wast
     17 
     18 // ./test/core/atomic.wast:3
     19 let $0 = instantiate(`(module
     20  (memory 1 1 shared)
     21 
     22  (func (export "init") (param \$value i64) (i64.store (i32.const 0) (local.get \$value)))
     23 
     24  (func (export "i32.atomic.load") (param \$addr i32) (result i32) (i32.atomic.load (local.get \$addr)))
     25  (func (export "i64.atomic.load") (param \$addr i32) (result i64) (i64.atomic.load (local.get \$addr)))
     26  (func (export "i32.atomic.load8_u") (param \$addr i32) (result i32) (i32.atomic.load8_u (local.get \$addr)))
     27  (func (export "i32.atomic.load16_u") (param \$addr i32) (result i32) (i32.atomic.load16_u (local.get \$addr)))
     28  (func (export "i64.atomic.load8_u") (param \$addr i32) (result i64) (i64.atomic.load8_u (local.get \$addr)))
     29  (func (export "i64.atomic.load16_u") (param \$addr i32) (result i64) (i64.atomic.load16_u (local.get \$addr)))
     30  (func (export "i64.atomic.load32_u") (param \$addr i32) (result i64) (i64.atomic.load32_u (local.get \$addr)))
     31 
     32  (func (export "i32.atomic.store") (param \$addr i32) (param \$value i32) (i32.atomic.store (local.get \$addr) (local.get \$value)))
     33  (func (export "i64.atomic.store") (param \$addr i32) (param \$value i64) (i64.atomic.store (local.get \$addr) (local.get \$value)))
     34  (func (export "i32.atomic.store8") (param \$addr i32) (param \$value i32) (i32.atomic.store8 (local.get \$addr) (local.get \$value)))
     35  (func (export "i32.atomic.store16") (param \$addr i32) (param \$value i32) (i32.atomic.store16 (local.get \$addr) (local.get \$value)))
     36  (func (export "i64.atomic.store8") (param \$addr i32) (param \$value i64) (i64.atomic.store8 (local.get \$addr) (local.get \$value)))
     37  (func (export "i64.atomic.store16") (param \$addr i32) (param \$value i64) (i64.atomic.store16 (local.get \$addr) (local.get \$value)))
     38  (func (export "i64.atomic.store32") (param \$addr i32) (param \$value i64) (i64.atomic.store32 (local.get \$addr) (local.get \$value)))
     39 
     40  (func (export "i32.atomic.rmw.add") (param \$addr i32) (param \$value i32) (result i32) (i32.atomic.rmw.add (local.get \$addr) (local.get \$value)))
     41  (func (export "i64.atomic.rmw.add") (param \$addr i32) (param \$value i64) (result i64) (i64.atomic.rmw.add (local.get \$addr) (local.get \$value)))
     42  (func (export "i32.atomic.rmw8.add_u") (param \$addr i32) (param \$value i32) (result i32) (i32.atomic.rmw8.add_u (local.get \$addr) (local.get \$value)))
     43  (func (export "i32.atomic.rmw16.add_u") (param \$addr i32) (param \$value i32) (result i32) (i32.atomic.rmw16.add_u (local.get \$addr) (local.get \$value)))
     44  (func (export "i64.atomic.rmw8.add_u") (param \$addr i32) (param \$value i64) (result i64) (i64.atomic.rmw8.add_u (local.get \$addr) (local.get \$value)))
     45  (func (export "i64.atomic.rmw16.add_u") (param \$addr i32) (param \$value i64) (result i64) (i64.atomic.rmw16.add_u (local.get \$addr) (local.get \$value)))
     46  (func (export "i64.atomic.rmw32.add_u") (param \$addr i32) (param \$value i64) (result i64) (i64.atomic.rmw32.add_u (local.get \$addr) (local.get \$value)))
     47 
     48  (func (export "i32.atomic.rmw.sub") (param \$addr i32) (param \$value i32) (result i32) (i32.atomic.rmw.sub (local.get \$addr) (local.get \$value)))
     49  (func (export "i64.atomic.rmw.sub") (param \$addr i32) (param \$value i64) (result i64) (i64.atomic.rmw.sub (local.get \$addr) (local.get \$value)))
     50  (func (export "i32.atomic.rmw8.sub_u") (param \$addr i32) (param \$value i32) (result i32) (i32.atomic.rmw8.sub_u (local.get \$addr) (local.get \$value)))
     51  (func (export "i32.atomic.rmw16.sub_u") (param \$addr i32) (param \$value i32) (result i32) (i32.atomic.rmw16.sub_u (local.get \$addr) (local.get \$value)))
     52  (func (export "i64.atomic.rmw8.sub_u") (param \$addr i32) (param \$value i64) (result i64) (i64.atomic.rmw8.sub_u (local.get \$addr) (local.get \$value)))
     53  (func (export "i64.atomic.rmw16.sub_u") (param \$addr i32) (param \$value i64) (result i64) (i64.atomic.rmw16.sub_u (local.get \$addr) (local.get \$value)))
     54  (func (export "i64.atomic.rmw32.sub_u") (param \$addr i32) (param \$value i64) (result i64) (i64.atomic.rmw32.sub_u (local.get \$addr) (local.get \$value)))
     55 
     56  (func (export "i32.atomic.rmw.and") (param \$addr i32) (param \$value i32) (result i32) (i32.atomic.rmw.and (local.get \$addr) (local.get \$value)))
     57  (func (export "i64.atomic.rmw.and") (param \$addr i32) (param \$value i64) (result i64) (i64.atomic.rmw.and (local.get \$addr) (local.get \$value)))
     58  (func (export "i32.atomic.rmw8.and_u") (param \$addr i32) (param \$value i32) (result i32) (i32.atomic.rmw8.and_u (local.get \$addr) (local.get \$value)))
     59  (func (export "i32.atomic.rmw16.and_u") (param \$addr i32) (param \$value i32) (result i32) (i32.atomic.rmw16.and_u (local.get \$addr) (local.get \$value)))
     60  (func (export "i64.atomic.rmw8.and_u") (param \$addr i32) (param \$value i64) (result i64) (i64.atomic.rmw8.and_u (local.get \$addr) (local.get \$value)))
     61  (func (export "i64.atomic.rmw16.and_u") (param \$addr i32) (param \$value i64) (result i64) (i64.atomic.rmw16.and_u (local.get \$addr) (local.get \$value)))
     62  (func (export "i64.atomic.rmw32.and_u") (param \$addr i32) (param \$value i64) (result i64) (i64.atomic.rmw32.and_u (local.get \$addr) (local.get \$value)))
     63 
     64  (func (export "i32.atomic.rmw.or") (param \$addr i32) (param \$value i32) (result i32) (i32.atomic.rmw.or (local.get \$addr) (local.get \$value)))
     65  (func (export "i64.atomic.rmw.or") (param \$addr i32) (param \$value i64) (result i64) (i64.atomic.rmw.or (local.get \$addr) (local.get \$value)))
     66  (func (export "i32.atomic.rmw8.or_u") (param \$addr i32) (param \$value i32) (result i32) (i32.atomic.rmw8.or_u (local.get \$addr) (local.get \$value)))
     67  (func (export "i32.atomic.rmw16.or_u") (param \$addr i32) (param \$value i32) (result i32) (i32.atomic.rmw16.or_u (local.get \$addr) (local.get \$value)))
     68  (func (export "i64.atomic.rmw8.or_u") (param \$addr i32) (param \$value i64) (result i64) (i64.atomic.rmw8.or_u (local.get \$addr) (local.get \$value)))
     69  (func (export "i64.atomic.rmw16.or_u") (param \$addr i32) (param \$value i64) (result i64) (i64.atomic.rmw16.or_u (local.get \$addr) (local.get \$value)))
     70  (func (export "i64.atomic.rmw32.or_u") (param \$addr i32) (param \$value i64) (result i64) (i64.atomic.rmw32.or_u (local.get \$addr) (local.get \$value)))
     71 
     72  (func (export "i32.atomic.rmw.xor") (param \$addr i32) (param \$value i32) (result i32) (i32.atomic.rmw.xor (local.get \$addr) (local.get \$value)))
     73  (func (export "i64.atomic.rmw.xor") (param \$addr i32) (param \$value i64) (result i64) (i64.atomic.rmw.xor (local.get \$addr) (local.get \$value)))
     74  (func (export "i32.atomic.rmw8.xor_u") (param \$addr i32) (param \$value i32) (result i32) (i32.atomic.rmw8.xor_u (local.get \$addr) (local.get \$value)))
     75  (func (export "i32.atomic.rmw16.xor_u") (param \$addr i32) (param \$value i32) (result i32) (i32.atomic.rmw16.xor_u (local.get \$addr) (local.get \$value)))
     76  (func (export "i64.atomic.rmw8.xor_u") (param \$addr i32) (param \$value i64) (result i64) (i64.atomic.rmw8.xor_u (local.get \$addr) (local.get \$value)))
     77  (func (export "i64.atomic.rmw16.xor_u") (param \$addr i32) (param \$value i64) (result i64) (i64.atomic.rmw16.xor_u (local.get \$addr) (local.get \$value)))
     78  (func (export "i64.atomic.rmw32.xor_u") (param \$addr i32) (param \$value i64) (result i64) (i64.atomic.rmw32.xor_u (local.get \$addr) (local.get \$value)))
     79 
     80  (func (export "i32.atomic.rmw.xchg") (param \$addr i32) (param \$value i32) (result i32) (i32.atomic.rmw.xchg (local.get \$addr) (local.get \$value)))
     81  (func (export "i64.atomic.rmw.xchg") (param \$addr i32) (param \$value i64) (result i64) (i64.atomic.rmw.xchg (local.get \$addr) (local.get \$value)))
     82  (func (export "i32.atomic.rmw8.xchg_u") (param \$addr i32) (param \$value i32) (result i32) (i32.atomic.rmw8.xchg_u (local.get \$addr) (local.get \$value)))
     83  (func (export "i32.atomic.rmw16.xchg_u") (param \$addr i32) (param \$value i32) (result i32) (i32.atomic.rmw16.xchg_u (local.get \$addr) (local.get \$value)))
     84  (func (export "i64.atomic.rmw8.xchg_u") (param \$addr i32) (param \$value i64) (result i64) (i64.atomic.rmw8.xchg_u (local.get \$addr) (local.get \$value)))
     85  (func (export "i64.atomic.rmw16.xchg_u") (param \$addr i32) (param \$value i64) (result i64) (i64.atomic.rmw16.xchg_u (local.get \$addr) (local.get \$value)))
     86  (func (export "i64.atomic.rmw32.xchg_u") (param \$addr i32) (param \$value i64) (result i64) (i64.atomic.rmw32.xchg_u (local.get \$addr) (local.get \$value)))
     87 
     88  (func (export "i32.atomic.rmw.cmpxchg") (param \$addr i32) (param \$expected i32) (param \$value i32) (result i32) (i32.atomic.rmw.cmpxchg (local.get \$addr) (local.get \$expected) (local.get \$value)))
     89  (func (export "i64.atomic.rmw.cmpxchg") (param \$addr i32) (param \$expected i64)  (param \$value i64) (result i64) (i64.atomic.rmw.cmpxchg (local.get \$addr) (local.get \$expected) (local.get \$value)))
     90  (func (export "i32.atomic.rmw8.cmpxchg_u") (param \$addr i32) (param \$expected i32)  (param \$value i32) (result i32) (i32.atomic.rmw8.cmpxchg_u (local.get \$addr) (local.get \$expected) (local.get \$value)))
     91  (func (export "i32.atomic.rmw16.cmpxchg_u") (param \$addr i32) (param \$expected i32)  (param \$value i32) (result i32) (i32.atomic.rmw16.cmpxchg_u (local.get \$addr) (local.get \$expected) (local.get \$value)))
     92  (func (export "i64.atomic.rmw8.cmpxchg_u") (param \$addr i32) (param \$expected i64)  (param \$value i64) (result i64) (i64.atomic.rmw8.cmpxchg_u (local.get \$addr) (local.get \$expected) (local.get \$value)))
     93  (func (export "i64.atomic.rmw16.cmpxchg_u") (param \$addr i32) (param \$expected i64)  (param \$value i64) (result i64) (i64.atomic.rmw16.cmpxchg_u (local.get \$addr) (local.get \$expected) (local.get \$value)))
     94  (func (export "i64.atomic.rmw32.cmpxchg_u") (param \$addr i32) (param \$expected i64)  (param \$value i64) (result i64) (i64.atomic.rmw32.cmpxchg_u (local.get \$addr) (local.get \$expected) (local.get \$value)))
     95 
     96 )`);
     97 
     98 // ./test/core/atomic.wast:84
     99 invoke($0, `init`, [506097522914230528n]);
    100 
    101 // ./test/core/atomic.wast:86
    102 assert_return(() => invoke($0, `i32.atomic.load`, [0]), [value("i32", 50462976)]);
    103 
    104 // ./test/core/atomic.wast:87
    105 assert_return(() => invoke($0, `i32.atomic.load`, [4]), [value("i32", 117835012)]);
    106 
    107 // ./test/core/atomic.wast:89
    108 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 506097522914230528n)]);
    109 
    110 // ./test/core/atomic.wast:91
    111 assert_return(() => invoke($0, `i32.atomic.load8_u`, [0]), [value("i32", 0)]);
    112 
    113 // ./test/core/atomic.wast:92
    114 assert_return(() => invoke($0, `i32.atomic.load8_u`, [5]), [value("i32", 5)]);
    115 
    116 // ./test/core/atomic.wast:94
    117 assert_return(() => invoke($0, `i32.atomic.load16_u`, [0]), [value("i32", 256)]);
    118 
    119 // ./test/core/atomic.wast:95
    120 assert_return(() => invoke($0, `i32.atomic.load16_u`, [6]), [value("i32", 1798)]);
    121 
    122 // ./test/core/atomic.wast:97
    123 assert_return(() => invoke($0, `i64.atomic.load8_u`, [0]), [value("i64", 0n)]);
    124 
    125 // ./test/core/atomic.wast:98
    126 assert_return(() => invoke($0, `i64.atomic.load8_u`, [5]), [value("i64", 5n)]);
    127 
    128 // ./test/core/atomic.wast:100
    129 assert_return(() => invoke($0, `i64.atomic.load16_u`, [0]), [value("i64", 256n)]);
    130 
    131 // ./test/core/atomic.wast:101
    132 assert_return(() => invoke($0, `i64.atomic.load16_u`, [6]), [value("i64", 1798n)]);
    133 
    134 // ./test/core/atomic.wast:103
    135 assert_return(() => invoke($0, `i64.atomic.load32_u`, [0]), [value("i64", 50462976n)]);
    136 
    137 // ./test/core/atomic.wast:104
    138 assert_return(() => invoke($0, `i64.atomic.load32_u`, [4]), [value("i64", 117835012n)]);
    139 
    140 // ./test/core/atomic.wast:108
    141 invoke($0, `init`, [0n]);
    142 
    143 // ./test/core/atomic.wast:110
    144 assert_return(() => invoke($0, `i32.atomic.store`, [0, -1122868]), []);
    145 
    146 // ./test/core/atomic.wast:111
    147 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 4293844428n)]);
    148 
    149 // ./test/core/atomic.wast:113
    150 assert_return(() => invoke($0, `i64.atomic.store`, [0, 81985529216486895n]), []);
    151 
    152 // ./test/core/atomic.wast:114
    153 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 81985529216486895n)]);
    154 
    155 // ./test/core/atomic.wast:116
    156 assert_return(() => invoke($0, `i32.atomic.store8`, [1, 66]), []);
    157 
    158 // ./test/core/atomic.wast:117
    159 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 81985529216451311n)]);
    160 
    161 // ./test/core/atomic.wast:119
    162 assert_return(() => invoke($0, `i32.atomic.store16`, [4, 34884]), []);
    163 
    164 // ./test/core/atomic.wast:120
    165 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 82059046171656943n)]);
    166 
    167 // ./test/core/atomic.wast:122
    168 assert_return(() => invoke($0, `i64.atomic.store8`, [1, 153n]), []);
    169 
    170 // ./test/core/atomic.wast:123
    171 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 82059046171679215n)]);
    172 
    173 // ./test/core/atomic.wast:125
    174 assert_return(() => invoke($0, `i64.atomic.store16`, [4, 51966n]), []);
    175 
    176 // ./test/core/atomic.wast:126
    177 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 82132412803029487n)]);
    178 
    179 // ./test/core/atomic.wast:128
    180 assert_return(() => invoke($0, `i64.atomic.store32`, [4, 3735928559n]), []);
    181 
    182 // ./test/core/atomic.wast:129
    183 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", -2401053090302420497n)]);
    184 
    185 // ./test/core/atomic.wast:133
    186 invoke($0, `init`, [1229782938247303441n]);
    187 
    188 // ./test/core/atomic.wast:134
    189 assert_return(() => invoke($0, `i32.atomic.rmw.add`, [0, 305419896]), [value("i32", 286331153)]);
    190 
    191 // ./test/core/atomic.wast:135
    192 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938552723337n)]);
    193 
    194 // ./test/core/atomic.wast:137
    195 invoke($0, `init`, [1229782938247303441n]);
    196 
    197 // ./test/core/atomic.wast:138
    198 assert_return(
    199  () => invoke($0, `i64.atomic.rmw.add`, [0, 72340172854919682n]),
    200  [value("i64", 1229782938247303441n)],
    201 );
    202 
    203 // ./test/core/atomic.wast:139
    204 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1302123111102223123n)]);
    205 
    206 // ./test/core/atomic.wast:141
    207 invoke($0, `init`, [1229782938247303441n]);
    208 
    209 // ./test/core/atomic.wast:142
    210 assert_return(() => invoke($0, `i32.atomic.rmw8.add_u`, [0, -842150451]), [value("i32", 17)]);
    211 
    212 // ./test/core/atomic.wast:143
    213 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938247303646n)]);
    214 
    215 // ./test/core/atomic.wast:145
    216 invoke($0, `init`, [1229782938247303441n]);
    217 
    218 // ./test/core/atomic.wast:146
    219 assert_return(() => invoke($0, `i32.atomic.rmw16.add_u`, [0, -889271554]), [value("i32", 4369)]);
    220 
    221 // ./test/core/atomic.wast:147
    222 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938247355407n)]);
    223 
    224 // ./test/core/atomic.wast:149
    225 invoke($0, `init`, [1229782938247303441n]);
    226 
    227 // ./test/core/atomic.wast:150
    228 assert_return(() => invoke($0, `i64.atomic.rmw8.add_u`, [0, 4774451407313060418n]), [value("i64", 17n)]);
    229 
    230 // ./test/core/atomic.wast:151
    231 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938247303507n)]);
    232 
    233 // ./test/core/atomic.wast:153
    234 invoke($0, `init`, [1229782938247303441n]);
    235 
    236 // ./test/core/atomic.wast:154
    237 assert_return(
    238  () => invoke($0, `i64.atomic.rmw16.add_u`, [0, -4688318750159552785n]),
    239  [value("i64", 4369n)],
    240 );
    241 
    242 // ./test/core/atomic.wast:155
    243 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938247352320n)]);
    244 
    245 // ./test/core/atomic.wast:157
    246 invoke($0, `init`, [1229782938247303441n]);
    247 
    248 // ./test/core/atomic.wast:158
    249 assert_return(
    250  () => invoke($0, `i64.atomic.rmw32.add_u`, [0, -3838290751524198683n]),
    251  [value("i64", 286331153n)],
    252 );
    253 
    254 // ./test/core/atomic.wast:159
    255 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782941648599030n)]);
    256 
    257 // ./test/core/atomic.wast:163
    258 invoke($0, `init`, [1229782938247303441n]);
    259 
    260 // ./test/core/atomic.wast:164
    261 assert_return(() => invoke($0, `i32.atomic.rmw.sub`, [0, 305419896]), [value("i32", 286331153)]);
    262 
    263 // ./test/core/atomic.wast:165
    264 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782942236850841n)]);
    265 
    266 // ./test/core/atomic.wast:167
    267 invoke($0, `init`, [1229782938247303441n]);
    268 
    269 // ./test/core/atomic.wast:168
    270 assert_return(
    271  () => invoke($0, `i64.atomic.rmw.sub`, [0, 72340172854919682n]),
    272  [value("i64", 1229782938247303441n)],
    273 );
    274 
    275 // ./test/core/atomic.wast:169
    276 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1157442765392383759n)]);
    277 
    278 // ./test/core/atomic.wast:171
    279 invoke($0, `init`, [1229782938247303441n]);
    280 
    281 // ./test/core/atomic.wast:172
    282 assert_return(() => invoke($0, `i32.atomic.rmw8.sub_u`, [0, -842150451]), [value("i32", 17)]);
    283 
    284 // ./test/core/atomic.wast:173
    285 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938247303492n)]);
    286 
    287 // ./test/core/atomic.wast:175
    288 invoke($0, `init`, [1229782938247303441n]);
    289 
    290 // ./test/core/atomic.wast:176
    291 assert_return(() => invoke($0, `i32.atomic.rmw16.sub_u`, [0, -889271554]), [value("i32", 4369)]);
    292 
    293 // ./test/core/atomic.wast:177
    294 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938247317011n)]);
    295 
    296 // ./test/core/atomic.wast:179
    297 invoke($0, `init`, [1229782938247303441n]);
    298 
    299 // ./test/core/atomic.wast:180
    300 assert_return(() => invoke($0, `i64.atomic.rmw8.sub_u`, [0, 4774451407313060418n]), [value("i64", 17n)]);
    301 
    302 // ./test/core/atomic.wast:181
    303 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938247303631n)]);
    304 
    305 // ./test/core/atomic.wast:183
    306 invoke($0, `init`, [1229782938247303441n]);
    307 
    308 // ./test/core/atomic.wast:184
    309 assert_return(
    310  () => invoke($0, `i64.atomic.rmw16.sub_u`, [0, -4688318750159552785n]),
    311  [value("i64", 4369n)],
    312 );
    313 
    314 // ./test/core/atomic.wast:185
    315 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938247320098n)]);
    316 
    317 // ./test/core/atomic.wast:187
    318 invoke($0, `init`, [1229782938247303441n]);
    319 
    320 // ./test/core/atomic.wast:188
    321 assert_return(
    322  () => invoke($0, `i64.atomic.rmw32.sub_u`, [0, -3838290751524198683n]),
    323  [value("i64", 286331153n)],
    324 );
    325 
    326 // ./test/core/atomic.wast:189
    327 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782939140975148n)]);
    328 
    329 // ./test/core/atomic.wast:193
    330 invoke($0, `init`, [1229782938247303441n]);
    331 
    332 // ./test/core/atomic.wast:194
    333 assert_return(() => invoke($0, `i32.atomic.rmw.and`, [0, 305419896]), [value("i32", 286331153)]);
    334 
    335 // ./test/core/atomic.wast:195
    336 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938230460432n)]);
    337 
    338 // ./test/core/atomic.wast:197
    339 invoke($0, `init`, [1229782938247303441n]);
    340 
    341 // ./test/core/atomic.wast:198
    342 assert_return(
    343  () => invoke($0, `i64.atomic.rmw.and`, [0, 72340172854919682n]),
    344  [value("i64", 1229782938247303441n)],
    345 );
    346 
    347 // ./test/core/atomic.wast:199
    348 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 72340172821233664n)]);
    349 
    350 // ./test/core/atomic.wast:201
    351 invoke($0, `init`, [1229782938247303441n]);
    352 
    353 // ./test/core/atomic.wast:202
    354 assert_return(() => invoke($0, `i32.atomic.rmw8.and_u`, [0, -842150451]), [value("i32", 17)]);
    355 
    356 // ./test/core/atomic.wast:203
    357 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938247303425n)]);
    358 
    359 // ./test/core/atomic.wast:205
    360 invoke($0, `init`, [1229782938247303441n]);
    361 
    362 // ./test/core/atomic.wast:206
    363 assert_return(() => invoke($0, `i32.atomic.rmw16.and_u`, [0, -889271554]), [value("i32", 4369)]);
    364 
    365 // ./test/core/atomic.wast:207
    366 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938247299088n)]);
    367 
    368 // ./test/core/atomic.wast:209
    369 invoke($0, `init`, [1229782938247303441n]);
    370 
    371 // ./test/core/atomic.wast:210
    372 assert_return(() => invoke($0, `i64.atomic.rmw8.and_u`, [0, 4774451407313060418n]), [value("i64", 17n)]);
    373 
    374 // ./test/core/atomic.wast:211
    375 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938247303424n)]);
    376 
    377 // ./test/core/atomic.wast:213
    378 invoke($0, `init`, [1229782938247303441n]);
    379 
    380 // ./test/core/atomic.wast:214
    381 assert_return(
    382  () => invoke($0, `i64.atomic.rmw16.and_u`, [0, -4688318750159552785n]),
    383  [value("i64", 4369n)],
    384 );
    385 
    386 // ./test/core/atomic.wast:215
    387 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938247303169n)]);
    388 
    389 // ./test/core/atomic.wast:217
    390 invoke($0, `init`, [1229782938247303441n]);
    391 
    392 // ./test/core/atomic.wast:218
    393 assert_return(
    394  () => invoke($0, `i64.atomic.rmw32.and_u`, [0, -3838290751524198683n]),
    395  [value("i64", 286331153n)],
    396 );
    397 
    398 // ./test/core/atomic.wast:219
    399 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782937962086401n)]);
    400 
    401 // ./test/core/atomic.wast:223
    402 invoke($0, `init`, [1229782938247303441n]);
    403 
    404 // ./test/core/atomic.wast:224
    405 assert_return(() => invoke($0, `i32.atomic.rmw.or`, [0, 305419896]), [value("i32", 286331153)]);
    406 
    407 // ./test/core/atomic.wast:225
    408 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938283235193n)]);
    409 
    410 // ./test/core/atomic.wast:227
    411 invoke($0, `init`, [1229782938247303441n]);
    412 
    413 // ./test/core/atomic.wast:228
    414 assert_return(
    415  () => invoke($0, `i64.atomic.rmw.or`, [0, 72340172854919682n]),
    416  [value("i64", 1229782938247303441n)],
    417 );
    418 
    419 // ./test/core/atomic.wast:229
    420 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938280989459n)]);
    421 
    422 // ./test/core/atomic.wast:231
    423 invoke($0, `init`, [1229782938247303441n]);
    424 
    425 // ./test/core/atomic.wast:232
    426 assert_return(() => invoke($0, `i32.atomic.rmw8.or_u`, [0, -842150451]), [value("i32", 17)]);
    427 
    428 // ./test/core/atomic.wast:233
    429 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938247303645n)]);
    430 
    431 // ./test/core/atomic.wast:235
    432 invoke($0, `init`, [1229782938247303441n]);
    433 
    434 // ./test/core/atomic.wast:236
    435 assert_return(() => invoke($0, `i32.atomic.rmw16.or_u`, [0, -889271554]), [value("i32", 4369)]);
    436 
    437 // ./test/core/atomic.wast:237
    438 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938247355391n)]);
    439 
    440 // ./test/core/atomic.wast:239
    441 invoke($0, `init`, [1229782938247303441n]);
    442 
    443 // ./test/core/atomic.wast:240
    444 assert_return(() => invoke($0, `i64.atomic.rmw8.or_u`, [0, 4774451407313060418n]), [value("i64", 17n)]);
    445 
    446 // ./test/core/atomic.wast:241
    447 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938247303507n)]);
    448 
    449 // ./test/core/atomic.wast:243
    450 invoke($0, `init`, [1229782938247303441n]);
    451 
    452 // ./test/core/atomic.wast:244
    453 assert_return(
    454  () => invoke($0, `i64.atomic.rmw16.or_u`, [0, -4688318750159552785n]),
    455  [value("i64", 4369n)],
    456 );
    457 
    458 // ./test/core/atomic.wast:245
    459 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938247348223n)]);
    460 
    461 // ./test/core/atomic.wast:247
    462 invoke($0, `init`, [1229782938247303441n]);
    463 
    464 // ./test/core/atomic.wast:248
    465 assert_return(
    466  () => invoke($0, `i64.atomic.rmw32.or_u`, [0, -3838290751524198683n]),
    467  [value("i64", 286331153n)],
    468 );
    469 
    470 // ./test/core/atomic.wast:249
    471 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782941647484917n)]);
    472 
    473 // ./test/core/atomic.wast:253
    474 invoke($0, `init`, [1229782938247303441n]);
    475 
    476 // ./test/core/atomic.wast:254
    477 assert_return(() => invoke($0, `i32.atomic.rmw.xor`, [0, 305419896]), [value("i32", 286331153)]);
    478 
    479 // ./test/core/atomic.wast:255
    480 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938013747049n)]);
    481 
    482 // ./test/core/atomic.wast:257
    483 invoke($0, `init`, [1229782938247303441n]);
    484 
    485 // ./test/core/atomic.wast:258
    486 assert_return(
    487  () => invoke($0, `i64.atomic.rmw.xor`, [0, 72340172854919682n]),
    488  [value("i64", 1229782938247303441n)],
    489 );
    490 
    491 // ./test/core/atomic.wast:259
    492 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1157442765459755795n)]);
    493 
    494 // ./test/core/atomic.wast:261
    495 invoke($0, `init`, [1229782938247303441n]);
    496 
    497 // ./test/core/atomic.wast:262
    498 assert_return(() => invoke($0, `i32.atomic.rmw8.xor_u`, [0, -842150451]), [value("i32", 17)]);
    499 
    500 // ./test/core/atomic.wast:263
    501 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938247303644n)]);
    502 
    503 // ./test/core/atomic.wast:265
    504 invoke($0, `init`, [1229782938247303441n]);
    505 
    506 // ./test/core/atomic.wast:266
    507 assert_return(() => invoke($0, `i32.atomic.rmw16.xor_u`, [0, -889271554]), [value("i32", 4369)]);
    508 
    509 // ./test/core/atomic.wast:267
    510 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938247355375n)]);
    511 
    512 // ./test/core/atomic.wast:269
    513 invoke($0, `init`, [1229782938247303441n]);
    514 
    515 // ./test/core/atomic.wast:270
    516 assert_return(() => invoke($0, `i64.atomic.rmw8.xor_u`, [0, 4774451407313060418n]), [value("i64", 17n)]);
    517 
    518 // ./test/core/atomic.wast:271
    519 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938247303507n)]);
    520 
    521 // ./test/core/atomic.wast:273
    522 invoke($0, `init`, [1229782938247303441n]);
    523 
    524 // ./test/core/atomic.wast:274
    525 assert_return(
    526  () => invoke($0, `i64.atomic.rmw16.xor_u`, [0, -4688318750159552785n]),
    527  [value("i64", 4369n)],
    528 );
    529 
    530 // ./test/core/atomic.wast:275
    531 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938247344126n)]);
    532 
    533 // ./test/core/atomic.wast:277
    534 invoke($0, `init`, [1229782938247303441n]);
    535 
    536 // ./test/core/atomic.wast:278
    537 assert_return(
    538  () => invoke($0, `i64.atomic.rmw32.xor_u`, [0, -3838290751524198683n]),
    539  [value("i64", 286331153n)],
    540 );
    541 
    542 // ./test/core/atomic.wast:279
    543 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782941646370804n)]);
    544 
    545 // ./test/core/atomic.wast:283
    546 invoke($0, `init`, [1229782938247303441n]);
    547 
    548 // ./test/core/atomic.wast:284
    549 assert_return(() => invoke($0, `i32.atomic.rmw.xchg`, [0, 305419896]), [value("i32", 286331153)]);
    550 
    551 // ./test/core/atomic.wast:285
    552 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938266392184n)]);
    553 
    554 // ./test/core/atomic.wast:287
    555 invoke($0, `init`, [1229782938247303441n]);
    556 
    557 // ./test/core/atomic.wast:288
    558 assert_return(
    559  () => invoke($0, `i64.atomic.rmw.xchg`, [0, 72340172854919682n]),
    560  [value("i64", 1229782938247303441n)],
    561 );
    562 
    563 // ./test/core/atomic.wast:289
    564 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 72340172854919682n)]);
    565 
    566 // ./test/core/atomic.wast:291
    567 invoke($0, `init`, [1229782938247303441n]);
    568 
    569 // ./test/core/atomic.wast:292
    570 assert_return(() => invoke($0, `i32.atomic.rmw8.xchg_u`, [0, -842150451]), [value("i32", 17)]);
    571 
    572 // ./test/core/atomic.wast:293
    573 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938247303629n)]);
    574 
    575 // ./test/core/atomic.wast:295
    576 invoke($0, `init`, [1229782938247303441n]);
    577 
    578 // ./test/core/atomic.wast:296
    579 assert_return(() => invoke($0, `i32.atomic.rmw16.xchg_u`, [0, -889271554]), [value("i32", 4369)]);
    580 
    581 // ./test/core/atomic.wast:297
    582 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938247351038n)]);
    583 
    584 // ./test/core/atomic.wast:299
    585 invoke($0, `init`, [1229782938247303441n]);
    586 
    587 // ./test/core/atomic.wast:300
    588 assert_return(
    589  () => invoke($0, `i64.atomic.rmw8.xchg_u`, [0, 4774451407313060418n]),
    590  [value("i64", 17n)],
    591 );
    592 
    593 // ./test/core/atomic.wast:301
    594 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938247303490n)]);
    595 
    596 // ./test/core/atomic.wast:303
    597 invoke($0, `init`, [1229782938247303441n]);
    598 
    599 // ./test/core/atomic.wast:304
    600 assert_return(
    601  () => invoke($0, `i64.atomic.rmw16.xchg_u`, [0, -4688318750159552785n]),
    602  [value("i64", 4369n)],
    603 );
    604 
    605 // ./test/core/atomic.wast:305
    606 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938247347951n)]);
    607 
    608 // ./test/core/atomic.wast:307
    609 invoke($0, `init`, [1229782938247303441n]);
    610 
    611 // ./test/core/atomic.wast:308
    612 assert_return(
    613  () => invoke($0, `i64.atomic.rmw32.xchg_u`, [0, -3838290751524198683n]),
    614  [value("i64", 286331153n)],
    615 );
    616 
    617 // ./test/core/atomic.wast:309
    618 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782941362267877n)]);
    619 
    620 // ./test/core/atomic.wast:313
    621 invoke($0, `init`, [1229782938247303441n]);
    622 
    623 // ./test/core/atomic.wast:314
    624 assert_return(() => invoke($0, `i32.atomic.rmw.cmpxchg`, [0, 0, 305419896]), [value("i32", 286331153)]);
    625 
    626 // ./test/core/atomic.wast:315
    627 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938247303441n)]);
    628 
    629 // ./test/core/atomic.wast:317
    630 invoke($0, `init`, [1229782938247303441n]);
    631 
    632 // ./test/core/atomic.wast:318
    633 assert_return(
    634  () => invoke($0, `i64.atomic.rmw.cmpxchg`, [0, 0n, 72340172854919682n]),
    635  [value("i64", 1229782938247303441n)],
    636 );
    637 
    638 // ./test/core/atomic.wast:319
    639 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938247303441n)]);
    640 
    641 // ./test/core/atomic.wast:321
    642 invoke($0, `init`, [1229782938247303441n]);
    643 
    644 // ./test/core/atomic.wast:322
    645 assert_return(() => invoke($0, `i32.atomic.rmw8.cmpxchg_u`, [0, 0, -842150451]), [value("i32", 17)]);
    646 
    647 // ./test/core/atomic.wast:323
    648 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938247303441n)]);
    649 
    650 // ./test/core/atomic.wast:325
    651 invoke($0, `init`, [1229782938247303441n]);
    652 
    653 // ./test/core/atomic.wast:326
    654 assert_return(
    655  () => invoke($0, `i32.atomic.rmw8.cmpxchg_u`, [0, 286331153, -842150451]),
    656  [value("i32", 17)],
    657 );
    658 
    659 // ./test/core/atomic.wast:327
    660 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938247303629n)]);
    661 
    662 // ./test/core/atomic.wast:329
    663 invoke($0, `init`, [1229782938247303441n]);
    664 
    665 // ./test/core/atomic.wast:330
    666 assert_return(() => invoke($0, `i32.atomic.rmw16.cmpxchg_u`, [0, 0, -889271554]), [value("i32", 4369)]);
    667 
    668 // ./test/core/atomic.wast:331
    669 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938247303441n)]);
    670 
    671 // ./test/core/atomic.wast:333
    672 invoke($0, `init`, [1229782938247303441n]);
    673 
    674 // ./test/core/atomic.wast:334
    675 assert_return(
    676  () => invoke($0, `i32.atomic.rmw16.cmpxchg_u`, [0, 286331153, -889271554]),
    677  [value("i32", 4369)],
    678 );
    679 
    680 // ./test/core/atomic.wast:335
    681 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938247351038n)]);
    682 
    683 // ./test/core/atomic.wast:337
    684 invoke($0, `init`, [1229782938247303441n]);
    685 
    686 // ./test/core/atomic.wast:338
    687 assert_return(
    688  () => invoke($0, `i64.atomic.rmw8.cmpxchg_u`, [0, 0n, 4774451407313060418n]),
    689  [value("i64", 17n)],
    690 );
    691 
    692 // ./test/core/atomic.wast:339
    693 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938247303441n)]);
    694 
    695 // ./test/core/atomic.wast:341
    696 invoke($0, `init`, [1229782938247303441n]);
    697 
    698 // ./test/core/atomic.wast:342
    699 assert_return(
    700  () => invoke($0, `i64.atomic.rmw8.cmpxchg_u`, [
    701    0,
    702    1229782938247303441n,
    703    4774451407313060418n,
    704  ]),
    705  [value("i64", 17n)],
    706 );
    707 
    708 // ./test/core/atomic.wast:343
    709 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938247303490n)]);
    710 
    711 // ./test/core/atomic.wast:345
    712 invoke($0, `init`, [1229782938247303441n]);
    713 
    714 // ./test/core/atomic.wast:346
    715 assert_return(
    716  () => invoke($0, `i64.atomic.rmw16.cmpxchg_u`, [0, 0n, -4688318750159552785n]),
    717  [value("i64", 4369n)],
    718 );
    719 
    720 // ./test/core/atomic.wast:347
    721 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938247303441n)]);
    722 
    723 // ./test/core/atomic.wast:349
    724 invoke($0, `init`, [1229782938247303441n]);
    725 
    726 // ./test/core/atomic.wast:350
    727 assert_return(
    728  () => invoke($0, `i64.atomic.rmw16.cmpxchg_u`, [
    729    0,
    730    1229782938247303441n,
    731    -4688318750159552785n,
    732  ]),
    733  [value("i64", 4369n)],
    734 );
    735 
    736 // ./test/core/atomic.wast:351
    737 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938247347951n)]);
    738 
    739 // ./test/core/atomic.wast:353
    740 invoke($0, `init`, [1229782938247303441n]);
    741 
    742 // ./test/core/atomic.wast:354
    743 assert_return(
    744  () => invoke($0, `i64.atomic.rmw32.cmpxchg_u`, [0, 0n, -3838290751524198683n]),
    745  [value("i64", 286331153n)],
    746 );
    747 
    748 // ./test/core/atomic.wast:355
    749 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938247303441n)]);
    750 
    751 // ./test/core/atomic.wast:357
    752 invoke($0, `init`, [1229782938247303441n]);
    753 
    754 // ./test/core/atomic.wast:358
    755 assert_return(
    756  () => invoke($0, `i64.atomic.rmw32.cmpxchg_u`, [
    757    0,
    758    1229782938247303441n,
    759    -3838290751524198683n,
    760  ]),
    761  [value("i64", 286331153n)],
    762 );
    763 
    764 // ./test/core/atomic.wast:359
    765 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782941362267877n)]);
    766 
    767 // ./test/core/atomic.wast:363
    768 invoke($0, `init`, [1229782938247303441n]);
    769 
    770 // ./test/core/atomic.wast:364
    771 assert_return(
    772  () => invoke($0, `i32.atomic.rmw.cmpxchg`, [0, 286331153, 305419896]),
    773  [value("i32", 286331153)],
    774 );
    775 
    776 // ./test/core/atomic.wast:365
    777 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938266392184n)]);
    778 
    779 // ./test/core/atomic.wast:367
    780 invoke($0, `init`, [1229782938247303441n]);
    781 
    782 // ./test/core/atomic.wast:368
    783 assert_return(
    784  () => invoke($0, `i64.atomic.rmw.cmpxchg`, [
    785    0,
    786    1229782938247303441n,
    787    72340172854919682n,
    788  ]),
    789  [value("i64", 1229782938247303441n)],
    790 );
    791 
    792 // ./test/core/atomic.wast:369
    793 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 72340172854919682n)]);
    794 
    795 // ./test/core/atomic.wast:371
    796 invoke($0, `init`, [1229782938247303441n]);
    797 
    798 // ./test/core/atomic.wast:372
    799 assert_return(() => invoke($0, `i32.atomic.rmw8.cmpxchg_u`, [0, 17, -842150451]), [value("i32", 17)]);
    800 
    801 // ./test/core/atomic.wast:373
    802 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938247303629n)]);
    803 
    804 // ./test/core/atomic.wast:375
    805 invoke($0, `init`, [1229782938247303441n]);
    806 
    807 // ./test/core/atomic.wast:376
    808 assert_return(
    809  () => invoke($0, `i32.atomic.rmw16.cmpxchg_u`, [0, 4369, -889271554]),
    810  [value("i32", 4369)],
    811 );
    812 
    813 // ./test/core/atomic.wast:377
    814 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938247351038n)]);
    815 
    816 // ./test/core/atomic.wast:379
    817 invoke($0, `init`, [1229782938247303441n]);
    818 
    819 // ./test/core/atomic.wast:380
    820 assert_return(
    821  () => invoke($0, `i64.atomic.rmw8.cmpxchg_u`, [0, 17n, 4774451407313060418n]),
    822  [value("i64", 17n)],
    823 );
    824 
    825 // ./test/core/atomic.wast:381
    826 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938247303490n)]);
    827 
    828 // ./test/core/atomic.wast:383
    829 invoke($0, `init`, [1229782938247303441n]);
    830 
    831 // ./test/core/atomic.wast:384
    832 assert_return(
    833  () => invoke($0, `i64.atomic.rmw16.cmpxchg_u`, [0, 4369n, -4688318750159552785n]),
    834  [value("i64", 4369n)],
    835 );
    836 
    837 // ./test/core/atomic.wast:385
    838 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782938247347951n)]);
    839 
    840 // ./test/core/atomic.wast:387
    841 invoke($0, `init`, [1229782938247303441n]);
    842 
    843 // ./test/core/atomic.wast:388
    844 assert_return(
    845  () => invoke($0, `i64.atomic.rmw32.cmpxchg_u`, [0, 286331153n, -3838290751524198683n]),
    846  [value("i64", 286331153n)],
    847 );
    848 
    849 // ./test/core/atomic.wast:389
    850 assert_return(() => invoke($0, `i64.atomic.load`, [0]), [value("i64", 1229782941362267877n)]);
    851 
    852 // ./test/core/atomic.wast:394
    853 assert_trap(() => invoke($0, `i32.atomic.load`, [1]), `unaligned atomic`);
    854 
    855 // ./test/core/atomic.wast:395
    856 assert_trap(() => invoke($0, `i64.atomic.load`, [1]), `unaligned atomic`);
    857 
    858 // ./test/core/atomic.wast:396
    859 assert_trap(() => invoke($0, `i32.atomic.load16_u`, [1]), `unaligned atomic`);
    860 
    861 // ./test/core/atomic.wast:397
    862 assert_trap(() => invoke($0, `i64.atomic.load16_u`, [1]), `unaligned atomic`);
    863 
    864 // ./test/core/atomic.wast:398
    865 assert_trap(() => invoke($0, `i64.atomic.load32_u`, [1]), `unaligned atomic`);
    866 
    867 // ./test/core/atomic.wast:399
    868 assert_trap(() => invoke($0, `i32.atomic.store`, [1, 0]), `unaligned atomic`);
    869 
    870 // ./test/core/atomic.wast:400
    871 assert_trap(() => invoke($0, `i64.atomic.store`, [1, 0n]), `unaligned atomic`);
    872 
    873 // ./test/core/atomic.wast:401
    874 assert_trap(() => invoke($0, `i32.atomic.store16`, [1, 0]), `unaligned atomic`);
    875 
    876 // ./test/core/atomic.wast:402
    877 assert_trap(() => invoke($0, `i64.atomic.store16`, [1, 0n]), `unaligned atomic`);
    878 
    879 // ./test/core/atomic.wast:403
    880 assert_trap(() => invoke($0, `i64.atomic.store32`, [1, 0n]), `unaligned atomic`);
    881 
    882 // ./test/core/atomic.wast:404
    883 assert_trap(() => invoke($0, `i32.atomic.rmw.add`, [1, 0]), `unaligned atomic`);
    884 
    885 // ./test/core/atomic.wast:405
    886 assert_trap(() => invoke($0, `i64.atomic.rmw.add`, [1, 0n]), `unaligned atomic`);
    887 
    888 // ./test/core/atomic.wast:406
    889 assert_trap(() => invoke($0, `i32.atomic.rmw16.add_u`, [1, 0]), `unaligned atomic`);
    890 
    891 // ./test/core/atomic.wast:407
    892 assert_trap(() => invoke($0, `i64.atomic.rmw16.add_u`, [1, 0n]), `unaligned atomic`);
    893 
    894 // ./test/core/atomic.wast:408
    895 assert_trap(() => invoke($0, `i64.atomic.rmw32.add_u`, [1, 0n]), `unaligned atomic`);
    896 
    897 // ./test/core/atomic.wast:409
    898 assert_trap(() => invoke($0, `i32.atomic.rmw.sub`, [1, 0]), `unaligned atomic`);
    899 
    900 // ./test/core/atomic.wast:410
    901 assert_trap(() => invoke($0, `i64.atomic.rmw.sub`, [1, 0n]), `unaligned atomic`);
    902 
    903 // ./test/core/atomic.wast:411
    904 assert_trap(() => invoke($0, `i32.atomic.rmw16.sub_u`, [1, 0]), `unaligned atomic`);
    905 
    906 // ./test/core/atomic.wast:412
    907 assert_trap(() => invoke($0, `i64.atomic.rmw16.sub_u`, [1, 0n]), `unaligned atomic`);
    908 
    909 // ./test/core/atomic.wast:413
    910 assert_trap(() => invoke($0, `i64.atomic.rmw32.sub_u`, [1, 0n]), `unaligned atomic`);
    911 
    912 // ./test/core/atomic.wast:414
    913 assert_trap(() => invoke($0, `i32.atomic.rmw.and`, [1, 0]), `unaligned atomic`);
    914 
    915 // ./test/core/atomic.wast:415
    916 assert_trap(() => invoke($0, `i64.atomic.rmw.and`, [1, 0n]), `unaligned atomic`);
    917 
    918 // ./test/core/atomic.wast:416
    919 assert_trap(() => invoke($0, `i32.atomic.rmw16.and_u`, [1, 0]), `unaligned atomic`);
    920 
    921 // ./test/core/atomic.wast:417
    922 assert_trap(() => invoke($0, `i64.atomic.rmw16.and_u`, [1, 0n]), `unaligned atomic`);
    923 
    924 // ./test/core/atomic.wast:418
    925 assert_trap(() => invoke($0, `i64.atomic.rmw32.and_u`, [1, 0n]), `unaligned atomic`);
    926 
    927 // ./test/core/atomic.wast:419
    928 assert_trap(() => invoke($0, `i32.atomic.rmw.or`, [1, 0]), `unaligned atomic`);
    929 
    930 // ./test/core/atomic.wast:420
    931 assert_trap(() => invoke($0, `i64.atomic.rmw.or`, [1, 0n]), `unaligned atomic`);
    932 
    933 // ./test/core/atomic.wast:421
    934 assert_trap(() => invoke($0, `i32.atomic.rmw16.or_u`, [1, 0]), `unaligned atomic`);
    935 
    936 // ./test/core/atomic.wast:422
    937 assert_trap(() => invoke($0, `i64.atomic.rmw16.or_u`, [1, 0n]), `unaligned atomic`);
    938 
    939 // ./test/core/atomic.wast:423
    940 assert_trap(() => invoke($0, `i64.atomic.rmw32.or_u`, [1, 0n]), `unaligned atomic`);
    941 
    942 // ./test/core/atomic.wast:424
    943 assert_trap(() => invoke($0, `i32.atomic.rmw.xor`, [1, 0]), `unaligned atomic`);
    944 
    945 // ./test/core/atomic.wast:425
    946 assert_trap(() => invoke($0, `i64.atomic.rmw.xor`, [1, 0n]), `unaligned atomic`);
    947 
    948 // ./test/core/atomic.wast:426
    949 assert_trap(() => invoke($0, `i32.atomic.rmw16.xor_u`, [1, 0]), `unaligned atomic`);
    950 
    951 // ./test/core/atomic.wast:427
    952 assert_trap(() => invoke($0, `i64.atomic.rmw16.xor_u`, [1, 0n]), `unaligned atomic`);
    953 
    954 // ./test/core/atomic.wast:428
    955 assert_trap(() => invoke($0, `i64.atomic.rmw32.xor_u`, [1, 0n]), `unaligned atomic`);
    956 
    957 // ./test/core/atomic.wast:429
    958 assert_trap(() => invoke($0, `i32.atomic.rmw.xchg`, [1, 0]), `unaligned atomic`);
    959 
    960 // ./test/core/atomic.wast:430
    961 assert_trap(() => invoke($0, `i64.atomic.rmw.xchg`, [1, 0n]), `unaligned atomic`);
    962 
    963 // ./test/core/atomic.wast:431
    964 assert_trap(() => invoke($0, `i32.atomic.rmw16.xchg_u`, [1, 0]), `unaligned atomic`);
    965 
    966 // ./test/core/atomic.wast:432
    967 assert_trap(() => invoke($0, `i64.atomic.rmw16.xchg_u`, [1, 0n]), `unaligned atomic`);
    968 
    969 // ./test/core/atomic.wast:433
    970 assert_trap(() => invoke($0, `i64.atomic.rmw32.xchg_u`, [1, 0n]), `unaligned atomic`);
    971 
    972 // ./test/core/atomic.wast:434
    973 assert_trap(() => invoke($0, `i32.atomic.rmw.cmpxchg`, [1, 0, 0]), `unaligned atomic`);
    974 
    975 // ./test/core/atomic.wast:435
    976 assert_trap(() => invoke($0, `i64.atomic.rmw.cmpxchg`, [1, 0n, 0n]), `unaligned atomic`);
    977 
    978 // ./test/core/atomic.wast:436
    979 assert_trap(() => invoke($0, `i32.atomic.rmw16.cmpxchg_u`, [1, 0, 0]), `unaligned atomic`);
    980 
    981 // ./test/core/atomic.wast:437
    982 assert_trap(() => invoke($0, `i64.atomic.rmw16.cmpxchg_u`, [1, 0n, 0n]), `unaligned atomic`);
    983 
    984 // ./test/core/atomic.wast:438
    985 assert_trap(() => invoke($0, `i64.atomic.rmw32.cmpxchg_u`, [1, 0n, 0n]), `unaligned atomic`);
    986 
    987 // ./test/core/atomic.wast:441
    988 let $1 = instantiate(`(module
    989  (memory 1 1 shared)
    990 
    991  (func (export "init") (param \$value i64) (i64.store (i32.const 0) (local.get \$value)))
    992 
    993  (func (export "memory.atomic.notify") (param \$addr i32) (param \$count i32) (result i32)
    994      (memory.atomic.notify (local.get 0) (local.get 1)))
    995  (func (export "memory.atomic.wait32") (param \$addr i32) (param \$expected i32) (param \$timeout i64) (result i32)
    996      (memory.atomic.wait32 (local.get 0) (local.get 1) (local.get 2)))
    997  (func (export "memory.atomic.wait64") (param \$addr i32) (param \$expected i64) (param \$timeout i64) (result i32)
    998      (memory.atomic.wait64 (local.get 0) (local.get 1) (local.get 2)))
    999 )`);
   1000 
   1001 // ./test/core/atomic.wast:454
   1002 invoke($1, `init`, [281474976710655n]);
   1003 
   1004 // ./test/core/atomic.wast:457
   1005 assert_return(() => invoke($1, `memory.atomic.wait32`, [0, 0, 0n]), [value("i32", 1)]);
   1006 
   1007 // ./test/core/atomic.wast:458
   1008 assert_return(() => invoke($1, `memory.atomic.wait64`, [0, 0n, 0n]), [value("i32", 1)]);
   1009 
   1010 // ./test/core/atomic.wast:461
   1011 assert_return(() => invoke($1, `memory.atomic.notify`, [0, 0]), [value("i32", 0)]);
   1012 
   1013 // ./test/core/atomic.wast:464
   1014 assert_trap(() => invoke($1, `memory.atomic.wait32`, [65536, 0, 0n]), `out of bounds memory access`);
   1015 
   1016 // ./test/core/atomic.wast:465
   1017 assert_trap(() => invoke($1, `memory.atomic.wait64`, [65536, 0n, 0n]), `out of bounds memory access`);
   1018 
   1019 // ./test/core/atomic.wast:468
   1020 assert_trap(() => invoke($1, `memory.atomic.notify`, [65536, 0]), `out of bounds memory access`);
   1021 
   1022 // ./test/core/atomic.wast:471
   1023 assert_trap(() => invoke($1, `memory.atomic.wait32`, [65531, 0, 0n]), `unaligned atomic`);
   1024 
   1025 // ./test/core/atomic.wast:472
   1026 assert_trap(() => invoke($1, `memory.atomic.wait64`, [65524, 0n, 0n]), `unaligned atomic`);
   1027 
   1028 // ./test/core/atomic.wast:474
   1029 assert_trap(() => invoke($1, `memory.atomic.notify`, [65531, 0]), `unaligned atomic`);
   1030 
   1031 // ./test/core/atomic.wast:477
   1032 let $2 = instantiate(`(module
   1033  (memory 1 1)
   1034 
   1035  (func (export "init") (param \$value i64) (i64.store (i32.const 0) (local.get \$value)))
   1036 
   1037  (func (export "memory.atomic.notify") (param \$addr i32) (param \$count i32) (result i32)
   1038      (memory.atomic.notify (local.get 0) (local.get 1)))
   1039  (func (export "memory.atomic.wait32") (param \$addr i32) (param \$expected i32) (param \$timeout i64) (result i32)
   1040      (memory.atomic.wait32 (local.get 0) (local.get 1) (local.get 2)))
   1041  (func (export "memory.atomic.wait64") (param \$addr i32) (param \$expected i64) (param \$timeout i64) (result i32)
   1042      (memory.atomic.wait64 (local.get 0) (local.get 1) (local.get 2)))
   1043 )`);
   1044 
   1045 // ./test/core/atomic.wast:490
   1046 invoke($2, `init`, [281474976710655n]);
   1047 
   1048 // ./test/core/atomic.wast:492
   1049 assert_trap(() => invoke($2, `memory.atomic.wait32`, [0, 0, 0n]), `expected shared memory`);
   1050 
   1051 // ./test/core/atomic.wast:493
   1052 assert_trap(() => invoke($2, `memory.atomic.wait64`, [0, 0n, 0n]), `expected shared memory`);
   1053 
   1054 // ./test/core/atomic.wast:496
   1055 assert_return(() => invoke($2, `memory.atomic.notify`, [0, 0]), [value("i32", 0)]);
   1056 
   1057 // ./test/core/atomic.wast:499
   1058 assert_trap(() => invoke($2, `memory.atomic.notify`, [65536, 0]), `out of bounds memory access`);
   1059 
   1060 // ./test/core/atomic.wast:500
   1061 assert_trap(() => invoke($2, `memory.atomic.notify`, [65531, 0]), `unaligned atomic`);
   1062 
   1063 // ./test/core/atomic.wast:503
   1064 let $3 = instantiate(`(module
   1065  (memory 1 1)
   1066  (func (drop (memory.atomic.notify (i32.const 0) (i32.const 0))))
   1067  (func (drop (memory.atomic.wait32 (i32.const 0) (i32.const 0) (i64.const 0))))
   1068  (func (drop (memory.atomic.wait64 (i32.const 0) (i64.const 0) (i64.const 0))))
   1069  (func (drop (i32.atomic.load (i32.const 0))))
   1070  (func (drop (i64.atomic.load (i32.const 0))))
   1071  (func (drop (i32.atomic.load16_u (i32.const 0))))
   1072  (func (drop (i64.atomic.load16_u (i32.const 0))))
   1073  (func (drop (i64.atomic.load32_u (i32.const 0))))
   1074  (func       (i32.atomic.store (i32.const 0) (i32.const 0)))
   1075  (func       (i64.atomic.store (i32.const 0) (i64.const 0)))
   1076  (func       (i32.atomic.store16 (i32.const 0) (i32.const 0)))
   1077  (func       (i64.atomic.store16 (i32.const 0) (i64.const 0)))
   1078  (func       (i64.atomic.store32 (i32.const 0) (i64.const 0)))
   1079  (func (drop (i32.atomic.rmw.add (i32.const 0) (i32.const 0))))
   1080  (func (drop (i64.atomic.rmw.add (i32.const 0) (i64.const 0))))
   1081  (func (drop (i32.atomic.rmw16.add_u (i32.const 0) (i32.const 0))))
   1082  (func (drop (i64.atomic.rmw16.add_u (i32.const 0) (i64.const 0))))
   1083  (func (drop (i64.atomic.rmw32.add_u (i32.const 0) (i64.const 0))))
   1084  (func (drop (i32.atomic.rmw.sub (i32.const 0) (i32.const 0))))
   1085  (func (drop (i64.atomic.rmw.sub (i32.const 0) (i64.const 0))))
   1086  (func (drop (i32.atomic.rmw16.sub_u (i32.const 0) (i32.const 0))))
   1087  (func (drop (i64.atomic.rmw16.sub_u (i32.const 0) (i64.const 0))))
   1088  (func (drop (i64.atomic.rmw32.sub_u (i32.const 0) (i64.const 0))))
   1089  (func (drop (i32.atomic.rmw.and (i32.const 0) (i32.const 0))))
   1090  (func (drop (i64.atomic.rmw.and (i32.const 0) (i64.const 0))))
   1091  (func (drop (i32.atomic.rmw16.and_u (i32.const 0) (i32.const 0))))
   1092  (func (drop (i64.atomic.rmw16.and_u (i32.const 0) (i64.const 0))))
   1093  (func (drop (i64.atomic.rmw32.and_u (i32.const 0) (i64.const 0))))
   1094  (func (drop (i32.atomic.rmw.or (i32.const 0) (i32.const 0))))
   1095  (func (drop (i64.atomic.rmw.or (i32.const 0) (i64.const 0))))
   1096  (func (drop (i32.atomic.rmw16.or_u (i32.const 0) (i32.const 0))))
   1097  (func (drop (i64.atomic.rmw16.or_u (i32.const 0) (i64.const 0))))
   1098  (func (drop (i64.atomic.rmw32.or_u (i32.const 0) (i64.const 0))))
   1099  (func (drop (i32.atomic.rmw.xor (i32.const 0) (i32.const 0))))
   1100  (func (drop (i64.atomic.rmw.xor (i32.const 0) (i64.const 0))))
   1101  (func (drop (i32.atomic.rmw16.xor_u (i32.const 0) (i32.const 0))))
   1102  (func (drop (i64.atomic.rmw16.xor_u (i32.const 0) (i64.const 0))))
   1103  (func (drop (i64.atomic.rmw32.xor_u (i32.const 0) (i64.const 0))))
   1104  (func (drop (i32.atomic.rmw.xchg (i32.const 0) (i32.const 0))))
   1105  (func (drop (i64.atomic.rmw.xchg (i32.const 0) (i64.const 0))))
   1106  (func (drop (i32.atomic.rmw16.xchg_u (i32.const 0) (i32.const 0))))
   1107  (func (drop (i64.atomic.rmw16.xchg_u (i32.const 0) (i64.const 0))))
   1108  (func (drop (i64.atomic.rmw32.xchg_u (i32.const 0) (i64.const 0))))
   1109  (func (drop (i32.atomic.rmw.cmpxchg (i32.const 0) (i32.const 0) (i32.const 0))))
   1110  (func (drop (i64.atomic.rmw.cmpxchg (i32.const 0) (i64.const 0)  (i64.const 0))))
   1111  (func (drop (i32.atomic.rmw16.cmpxchg_u (i32.const 0) (i32.const 0) (i32.const 0))))
   1112  (func (drop (i64.atomic.rmw16.cmpxchg_u (i32.const 0) (i64.const 0) (i64.const 0))))
   1113  (func (drop (i64.atomic.rmw32.cmpxchg_u (i32.const 0) (i64.const 0) (i64.const 0))))
   1114 )`);
   1115 
   1116 // ./test/core/atomic.wast:556
   1117 let $4 = instantiate(`(module
   1118  (func (export "fence") (atomic.fence))
   1119 )`);
   1120 
   1121 // ./test/core/atomic.wast:560
   1122 assert_return(() => invoke($4, `fence`, []), []);
   1123 
   1124 // ./test/core/atomic.wast:563
   1125 assert_invalid(
   1126  () => instantiate(`(module (func (drop (memory.atomic.notify (i32.const 0) (i32.const 0)))))`),
   1127  `unknown memory`,
   1128 );
   1129 
   1130 // ./test/core/atomic.wast:564
   1131 assert_invalid(
   1132  () => instantiate(`(module (func (drop (memory.atomic.wait32 (i32.const 0) (i32.const 0) (i64.const 0)))))`),
   1133  `unknown memory`,
   1134 );
   1135 
   1136 // ./test/core/atomic.wast:565
   1137 assert_invalid(
   1138  () => instantiate(`(module (func (drop (memory.atomic.wait64 (i32.const 0) (i64.const 0) (i64.const 0)))))`),
   1139  `unknown memory`,
   1140 );
   1141 
   1142 // ./test/core/atomic.wast:566
   1143 assert_invalid(
   1144  () => instantiate(`(module (func (drop (i32.atomic.load (i32.const 0)))))`),
   1145  `unknown memory`,
   1146 );
   1147 
   1148 // ./test/core/atomic.wast:567
   1149 assert_invalid(
   1150  () => instantiate(`(module (func (drop (i64.atomic.load (i32.const 0)))))`),
   1151  `unknown memory`,
   1152 );
   1153 
   1154 // ./test/core/atomic.wast:568
   1155 assert_invalid(
   1156  () => instantiate(`(module (func (drop (i32.atomic.load16_u (i32.const 0)))))`),
   1157  `unknown memory`,
   1158 );
   1159 
   1160 // ./test/core/atomic.wast:569
   1161 assert_invalid(
   1162  () => instantiate(`(module (func (drop (i64.atomic.load16_u (i32.const 0)))))`),
   1163  `unknown memory`,
   1164 );
   1165 
   1166 // ./test/core/atomic.wast:570
   1167 assert_invalid(
   1168  () => instantiate(`(module (func (drop (i64.atomic.load32_u (i32.const 0)))))`),
   1169  `unknown memory`,
   1170 );
   1171 
   1172 // ./test/core/atomic.wast:571
   1173 assert_invalid(
   1174  () => instantiate(`(module (func       (i32.atomic.store (i32.const 0) (i32.const 0))))`),
   1175  `unknown memory`,
   1176 );
   1177 
   1178 // ./test/core/atomic.wast:572
   1179 assert_invalid(
   1180  () => instantiate(`(module (func       (i64.atomic.store (i32.const 0) (i64.const 0))))`),
   1181  `unknown memory`,
   1182 );
   1183 
   1184 // ./test/core/atomic.wast:573
   1185 assert_invalid(
   1186  () => instantiate(`(module (func       (i32.atomic.store16 (i32.const 0) (i32.const 0))))`),
   1187  `unknown memory`,
   1188 );
   1189 
   1190 // ./test/core/atomic.wast:574
   1191 assert_invalid(
   1192  () => instantiate(`(module (func       (i64.atomic.store16 (i32.const 0) (i64.const 0))))`),
   1193  `unknown memory`,
   1194 );
   1195 
   1196 // ./test/core/atomic.wast:575
   1197 assert_invalid(
   1198  () => instantiate(`(module (func       (i64.atomic.store32 (i32.const 0) (i64.const 0))))`),
   1199  `unknown memory`,
   1200 );
   1201 
   1202 // ./test/core/atomic.wast:576
   1203 assert_invalid(
   1204  () => instantiate(`(module (func (drop (i32.atomic.rmw.add (i32.const 0) (i32.const 0)))))`),
   1205  `unknown memory`,
   1206 );
   1207 
   1208 // ./test/core/atomic.wast:577
   1209 assert_invalid(
   1210  () => instantiate(`(module (func (drop (i64.atomic.rmw.add (i32.const 0) (i64.const 0)))))`),
   1211  `unknown memory`,
   1212 );
   1213 
   1214 // ./test/core/atomic.wast:578
   1215 assert_invalid(
   1216  () => instantiate(`(module (func (drop (i32.atomic.rmw16.add_u (i32.const 0) (i32.const 0)))))`),
   1217  `unknown memory`,
   1218 );
   1219 
   1220 // ./test/core/atomic.wast:579
   1221 assert_invalid(
   1222  () => instantiate(`(module (func (drop (i64.atomic.rmw16.add_u (i32.const 0) (i64.const 0)))))`),
   1223  `unknown memory`,
   1224 );
   1225 
   1226 // ./test/core/atomic.wast:580
   1227 assert_invalid(
   1228  () => instantiate(`(module (func (drop (i64.atomic.rmw32.add_u (i32.const 0) (i64.const 0)))))`),
   1229  `unknown memory`,
   1230 );
   1231 
   1232 // ./test/core/atomic.wast:581
   1233 assert_invalid(
   1234  () => instantiate(`(module (func (drop (i32.atomic.rmw.sub (i32.const 0) (i32.const 0)))))`),
   1235  `unknown memory`,
   1236 );
   1237 
   1238 // ./test/core/atomic.wast:582
   1239 assert_invalid(
   1240  () => instantiate(`(module (func (drop (i64.atomic.rmw.sub (i32.const 0) (i64.const 0)))))`),
   1241  `unknown memory`,
   1242 );
   1243 
   1244 // ./test/core/atomic.wast:583
   1245 assert_invalid(
   1246  () => instantiate(`(module (func (drop (i32.atomic.rmw16.sub_u (i32.const 0) (i32.const 0)))))`),
   1247  `unknown memory`,
   1248 );
   1249 
   1250 // ./test/core/atomic.wast:584
   1251 assert_invalid(
   1252  () => instantiate(`(module (func (drop (i64.atomic.rmw16.sub_u (i32.const 0) (i64.const 0)))))`),
   1253  `unknown memory`,
   1254 );
   1255 
   1256 // ./test/core/atomic.wast:585
   1257 assert_invalid(
   1258  () => instantiate(`(module (func (drop (i64.atomic.rmw32.sub_u (i32.const 0) (i64.const 0)))))`),
   1259  `unknown memory`,
   1260 );
   1261 
   1262 // ./test/core/atomic.wast:586
   1263 assert_invalid(
   1264  () => instantiate(`(module (func (drop (i32.atomic.rmw.and (i32.const 0) (i32.const 0)))))`),
   1265  `unknown memory`,
   1266 );
   1267 
   1268 // ./test/core/atomic.wast:587
   1269 assert_invalid(
   1270  () => instantiate(`(module (func (drop (i64.atomic.rmw.and (i32.const 0) (i64.const 0)))))`),
   1271  `unknown memory`,
   1272 );
   1273 
   1274 // ./test/core/atomic.wast:588
   1275 assert_invalid(
   1276  () => instantiate(`(module (func (drop (i32.atomic.rmw16.and_u (i32.const 0) (i32.const 0)))))`),
   1277  `unknown memory`,
   1278 );
   1279 
   1280 // ./test/core/atomic.wast:589
   1281 assert_invalid(
   1282  () => instantiate(`(module (func (drop (i64.atomic.rmw16.and_u (i32.const 0) (i64.const 0)))))`),
   1283  `unknown memory`,
   1284 );
   1285 
   1286 // ./test/core/atomic.wast:590
   1287 assert_invalid(
   1288  () => instantiate(`(module (func (drop (i64.atomic.rmw32.and_u (i32.const 0) (i64.const 0)))))`),
   1289  `unknown memory`,
   1290 );
   1291 
   1292 // ./test/core/atomic.wast:591
   1293 assert_invalid(
   1294  () => instantiate(`(module (func (drop (i32.atomic.rmw.or (i32.const 0) (i32.const 0)))))`),
   1295  `unknown memory`,
   1296 );
   1297 
   1298 // ./test/core/atomic.wast:592
   1299 assert_invalid(
   1300  () => instantiate(`(module (func (drop (i64.atomic.rmw.or (i32.const 0) (i64.const 0)))))`),
   1301  `unknown memory`,
   1302 );
   1303 
   1304 // ./test/core/atomic.wast:593
   1305 assert_invalid(
   1306  () => instantiate(`(module (func (drop (i32.atomic.rmw16.or_u (i32.const 0) (i32.const 0)))))`),
   1307  `unknown memory`,
   1308 );
   1309 
   1310 // ./test/core/atomic.wast:594
   1311 assert_invalid(
   1312  () => instantiate(`(module (func (drop (i64.atomic.rmw16.or_u (i32.const 0) (i64.const 0)))))`),
   1313  `unknown memory`,
   1314 );
   1315 
   1316 // ./test/core/atomic.wast:595
   1317 assert_invalid(
   1318  () => instantiate(`(module (func (drop (i64.atomic.rmw32.or_u (i32.const 0) (i64.const 0)))))`),
   1319  `unknown memory`,
   1320 );
   1321 
   1322 // ./test/core/atomic.wast:596
   1323 assert_invalid(
   1324  () => instantiate(`(module (func (drop (i32.atomic.rmw.xor (i32.const 0) (i32.const 0)))))`),
   1325  `unknown memory`,
   1326 );
   1327 
   1328 // ./test/core/atomic.wast:597
   1329 assert_invalid(
   1330  () => instantiate(`(module (func (drop (i64.atomic.rmw.xor (i32.const 0) (i64.const 0)))))`),
   1331  `unknown memory`,
   1332 );
   1333 
   1334 // ./test/core/atomic.wast:598
   1335 assert_invalid(
   1336  () => instantiate(`(module (func (drop (i32.atomic.rmw16.xor_u (i32.const 0) (i32.const 0)))))`),
   1337  `unknown memory`,
   1338 );
   1339 
   1340 // ./test/core/atomic.wast:599
   1341 assert_invalid(
   1342  () => instantiate(`(module (func (drop (i64.atomic.rmw16.xor_u (i32.const 0) (i64.const 0)))))`),
   1343  `unknown memory`,
   1344 );
   1345 
   1346 // ./test/core/atomic.wast:600
   1347 assert_invalid(
   1348  () => instantiate(`(module (func (drop (i64.atomic.rmw32.xor_u (i32.const 0) (i64.const 0)))))`),
   1349  `unknown memory`,
   1350 );
   1351 
   1352 // ./test/core/atomic.wast:601
   1353 assert_invalid(
   1354  () => instantiate(`(module (func (drop (i32.atomic.rmw.xchg (i32.const 0) (i32.const 0)))))`),
   1355  `unknown memory`,
   1356 );
   1357 
   1358 // ./test/core/atomic.wast:602
   1359 assert_invalid(
   1360  () => instantiate(`(module (func (drop (i64.atomic.rmw.xchg (i32.const 0) (i64.const 0)))))`),
   1361  `unknown memory`,
   1362 );
   1363 
   1364 // ./test/core/atomic.wast:603
   1365 assert_invalid(
   1366  () => instantiate(`(module (func (drop (i32.atomic.rmw16.xchg_u (i32.const 0) (i32.const 0)))))`),
   1367  `unknown memory`,
   1368 );
   1369 
   1370 // ./test/core/atomic.wast:604
   1371 assert_invalid(
   1372  () => instantiate(`(module (func (drop (i64.atomic.rmw16.xchg_u (i32.const 0) (i64.const 0)))))`),
   1373  `unknown memory`,
   1374 );
   1375 
   1376 // ./test/core/atomic.wast:605
   1377 assert_invalid(
   1378  () => instantiate(`(module (func (drop (i64.atomic.rmw32.xchg_u (i32.const 0) (i64.const 0)))))`),
   1379  `unknown memory`,
   1380 );
   1381 
   1382 // ./test/core/atomic.wast:606
   1383 assert_invalid(
   1384  () => instantiate(`(module (func (drop (i32.atomic.rmw.cmpxchg (i32.const 0) (i32.const 0) (i32.const 0)))))`),
   1385  `unknown memory`,
   1386 );
   1387 
   1388 // ./test/core/atomic.wast:607
   1389 assert_invalid(
   1390  () => instantiate(`(module (func (drop (i64.atomic.rmw.cmpxchg (i32.const 0) (i64.const 0)  (i64.const 0)))))`),
   1391  `unknown memory`,
   1392 );
   1393 
   1394 // ./test/core/atomic.wast:608
   1395 assert_invalid(
   1396  () => instantiate(`(module (func (drop (i32.atomic.rmw16.cmpxchg_u (i32.const 0) (i32.const 0) (i32.const 0)))))`),
   1397  `unknown memory`,
   1398 );
   1399 
   1400 // ./test/core/atomic.wast:609
   1401 assert_invalid(
   1402  () => instantiate(`(module (func (drop (i64.atomic.rmw16.cmpxchg_u (i32.const 0) (i64.const 0) (i64.const 0)))))`),
   1403  `unknown memory`,
   1404 );
   1405 
   1406 // ./test/core/atomic.wast:610
   1407 assert_invalid(
   1408  () => instantiate(`(module (func (drop (i64.atomic.rmw32.cmpxchg_u (i32.const 0) (i64.const 0) (i64.const 0)))))`),
   1409  `unknown memory`,
   1410 );