| ;; NOTE: Assertions have been generated by update_lit_checks.py and should not be edited. | |
| ;; RUN: wasm-opt -all %s -S -o - | filecheck %s | |
| ;; Check that we still parse the deprecated instruction mnemonics for descriptor | |
| ;; casts | |
| (module | |
| (rec | |
| ;; CHECK: (rec | |
| ;; CHECK-NEXT: (type $struct (descriptor $desc) (struct)) | |
| (type $struct (descriptor $desc) (struct)) | |
| ;; CHECK: (type $desc (describes $struct) (struct)) | |
| (type $desc (describes $struct) (struct)) | |
| ) | |
| ;; CHECK: (func $ref-cast-desc (type $3) (param $0 anyref) (param $1 (ref $desc)) (result (ref $struct)) | |
| ;; CHECK-NEXT: (ref.cast_desc_eq (ref $struct) | |
| ;; CHECK-NEXT: (local.get $0) | |
| ;; CHECK-NEXT: (local.get $1) | |
| ;; CHECK-NEXT: ) | |
| ;; CHECK-NEXT: ) | |
| (func $ref-cast-desc (param anyref) (param (ref $desc)) (result (ref $struct)) | |
| (ref.cast_desc (ref $struct) | |
| (local.get 0) | |
| (local.get 1) | |
| ) | |
| ) | |
| ;; CHECK: (func $br-on-cast-desc (type $2) (param $0 anyref) (param $1 (ref $desc)) (result anyref) | |
| ;; CHECK-NEXT: (block $l (result anyref) | |
| ;; CHECK-NEXT: (br_on_cast_desc_eq $l anyref (ref $struct) | |
| ;; CHECK-NEXT: (local.get $0) | |
| ;; CHECK-NEXT: (local.get $1) | |
| ;; CHECK-NEXT: ) | |
| ;; CHECK-NEXT: ) | |
| ;; CHECK-NEXT: ) | |
| (func $br-on-cast-desc (param anyref) (param (ref $desc)) (result anyref) | |
| (block $l (result anyref) | |
| (br_on_cast_desc $l anyref (ref $struct) | |
| (local.get 0) | |
| (local.get 1) | |
| ) | |
| ) | |
| ) | |
| ;; CHECK: (func $br-on-cast-desc_fail (type $2) (param $0 anyref) (param $1 (ref $desc)) (result anyref) | |
| ;; CHECK-NEXT: (block $l (result anyref) | |
| ;; CHECK-NEXT: (br_on_cast_desc_eq_fail $l anyref (ref $struct) | |
| ;; CHECK-NEXT: (local.get $0) | |
| ;; CHECK-NEXT: (local.get $1) | |
| ;; CHECK-NEXT: ) | |
| ;; CHECK-NEXT: ) | |
| ;; CHECK-NEXT: ) | |
| (func $br-on-cast-desc_fail (param anyref) (param (ref $desc)) (result anyref) | |
| (block $l (result anyref) | |
| (br_on_cast_desc_fail $l anyref (ref $struct) | |
| (local.get 0) | |
| (local.get 1) | |
| ) | |
| ) | |
| ) | |
| ) |