|
1 | 1 | ;; NOTE: Assertions have been generated by update_lit_checks.py --all-items and should not be edited. |
2 | 2 |
|
3 | | -;; RUN: foreach %s %t wasm-opt --memory64-lowering --enable-memory64 --enable-threads --enable-bulk-memory --enable-reference-types -S -o - | filecheck %s |
| 3 | +;; RUN: foreach %s %t wasm-opt --memory64-lowering --enable-simd --enable-memory64 --enable-threads --enable-bulk-memory --enable-reference-types -S -o - | filecheck %s |
4 | 4 |
|
5 | 5 | ;; Check the --table64-lowering alias |
6 | | -;; RUN: foreach %s %t wasm-opt --table64-lowering --enable-memory64 --enable-threads --enable-bulk-memory --enable-reference-types -S -o - | filecheck %s |
| 6 | +;; RUN: foreach %s %t wasm-opt --table64-lowering --enable-simd --enable-memory64 --enable-threads --enable-bulk-memory --enable-reference-types -S -o - | filecheck %s |
7 | 7 |
|
8 | 8 | (module |
9 | 9 | ;; CHECK: (type $0 (func)) |
10 | 10 |
|
| 11 | + ;; CHECK: (type $1 (func (param i64 v128))) |
| 12 | + |
11 | 13 | ;; CHECK: (import "env" "__memory_base" (global $__memory_base i64)) |
12 | 14 | (import "env" "__memory_base" (global $__memory_base i64)) |
13 | 15 | ;; CHECK: (import "env" "__memory_base32" (global $__memory_base32 i32)) |
|
292 | 294 | (memory.fill (i64.const 1) (i32.const 2) (i64.const 3)) |
293 | 295 | (memory.copy (i64.const 1) (i64.const 2) (i64.const 3)) |
294 | 296 | ) |
295 | | -) |
| 297 | + |
| 298 | + ;; CHECK: (func $simd (param $ptr i64) (param $val v128) |
| 299 | + ;; CHECK-NEXT: (v128.store |
| 300 | + ;; CHECK-NEXT: (i32.wrap_i64 |
| 301 | + ;; CHECK-NEXT: (local.get $ptr) |
| 302 | + ;; CHECK-NEXT: ) |
| 303 | + ;; CHECK-NEXT: (local.get $val) |
| 304 | + ;; CHECK-NEXT: ) |
| 305 | + ;; CHECK-NEXT: (v128.store8_lane 0 |
| 306 | + ;; CHECK-NEXT: (i32.wrap_i64 |
| 307 | + ;; CHECK-NEXT: (local.get $ptr) |
| 308 | + ;; CHECK-NEXT: ) |
| 309 | + ;; CHECK-NEXT: (local.get $val) |
| 310 | + ;; CHECK-NEXT: ) |
| 311 | + ;; CHECK-NEXT: (drop |
| 312 | + ;; CHECK-NEXT: (v128.load |
| 313 | + ;; CHECK-NEXT: (i32.wrap_i64 |
| 314 | + ;; CHECK-NEXT: (local.get $ptr) |
| 315 | + ;; CHECK-NEXT: ) |
| 316 | + ;; CHECK-NEXT: ) |
| 317 | + ;; CHECK-NEXT: ) |
| 318 | + ;; CHECK-NEXT: (drop |
| 319 | + ;; CHECK-NEXT: (v128.load8_lane 0 |
| 320 | + ;; CHECK-NEXT: (i32.wrap_i64 |
| 321 | + ;; CHECK-NEXT: (local.get $ptr) |
| 322 | + ;; CHECK-NEXT: ) |
| 323 | + ;; CHECK-NEXT: (local.get $val) |
| 324 | + ;; CHECK-NEXT: ) |
| 325 | + ;; CHECK-NEXT: ) |
| 326 | + ;; CHECK-NEXT: (drop |
| 327 | + ;; CHECK-NEXT: (v128.load8_splat |
| 328 | + ;; CHECK-NEXT: (i32.wrap_i64 |
| 329 | + ;; CHECK-NEXT: (local.get $ptr) |
| 330 | + ;; CHECK-NEXT: ) |
| 331 | + ;; CHECK-NEXT: ) |
| 332 | + ;; CHECK-NEXT: ) |
| 333 | + ;; CHECK-NEXT: (drop |
| 334 | + ;; CHECK-NEXT: (v128.load8x8_s |
| 335 | + ;; CHECK-NEXT: (i32.wrap_i64 |
| 336 | + ;; CHECK-NEXT: (local.get $ptr) |
| 337 | + ;; CHECK-NEXT: ) |
| 338 | + ;; CHECK-NEXT: ) |
| 339 | + ;; CHECK-NEXT: ) |
| 340 | + ;; CHECK-NEXT: (drop |
| 341 | + ;; CHECK-NEXT: (v128.load32_zero |
| 342 | + ;; CHECK-NEXT: (i32.wrap_i64 |
| 343 | + ;; CHECK-NEXT: (local.get $ptr) |
| 344 | + ;; CHECK-NEXT: ) |
| 345 | + ;; CHECK-NEXT: ) |
| 346 | + ;; CHECK-NEXT: ) |
| 347 | + ;; CHECK-NEXT: ) |
| 348 | + (func $simd (param $ptr i64) (param $val v128) |
| 349 | + (v128.store (local.get $ptr) (local.get $val)) |
| 350 | + (v128.store8_lane 0 (local.get $ptr) (local.get $val)) |
| 351 | + (drop (v128.load (local.get $ptr))) |
| 352 | + (drop (v128.load8_lane 0 (local.get $ptr) (local.get $val))) |
| 353 | + (drop (v128.load8_splat (local.get $ptr))) |
| 354 | + (drop (v128.load8x8_s (local.get $ptr))) |
| 355 | + (drop (v128.load32_zero (local.get $ptr))) |
| 356 | + ) |
| 357 | + ) |
296 | 358 |
|
297 | 359 | (module |
298 | 360 | ;; CHECK: (memory $0 1 65536) |
|
0 commit comments