| ;; NOTE: Assertions have been generated by update_lit_checks.py --output=fuzz-exec and should not be edited. | |
| ;; RUN: wasm-opt %s -all --fuzz-exec -q -o /dev/null 2>&1 | filecheck %s | |
| (module | |
| (type $array16 (array (mut i16))) | |
| ;; CHECK: [fuzz-exec] calling new_wtf16_array | |
| ;; CHECK-NEXT: [fuzz-exec] note result: new_wtf16_array => string("ello") | |
| (func "new_wtf16_array" (result stringref) | |
| (string.new_wtf16_array | |
| (array.new_fixed $array16 | |
| (i32.const 104) ;; h | |
| (i32.const 101) ;; e | |
| (i32.const 108) ;; l | |
| (i32.const 108) ;; l | |
| (i32.const 111) ;; o | |
| ) | |
| (i32.const 1) ;; start from index 1, to chop off the 'h' | |
| (i32.const 5) | |
| ) | |
| ) | |
| ;; CHECK: [fuzz-exec] calling const | |
| ;; CHECK-NEXT: [fuzz-exec] note result: const => string("world") | |
| (func "const" (result stringref) | |
| (string.const "world") | |
| ) | |
| ;; CHECK: [fuzz-exec] calling eq.1 | |
| ;; CHECK-NEXT: [fuzz-exec] note result: eq.1 => 0 | |
| (func "eq.1" (result i32) | |
| (string.eq | |
| (string.const "hello") | |
| (string.const "world") | |
| ) | |
| ) | |
| ;; CHECK: [fuzz-exec] calling eq.2 | |
| ;; CHECK-NEXT: [fuzz-exec] note result: eq.2 => 1 | |
| (func "eq.2" (result i32) | |
| (string.eq | |
| (string.const "hello") | |
| (string.const "hello") | |
| ) | |
| ) | |
| ;; CHECK: [fuzz-exec] calling eq.3 | |
| ;; CHECK-NEXT: [fuzz-exec] note result: eq.3 => 0 | |
| (func "eq.3" (result i32) | |
| (string.eq | |
| (string.const "hello") | |
| (ref.null string) | |
| ) | |
| ) | |
| ;; CHECK: [fuzz-exec] calling eq.4 | |
| ;; CHECK-NEXT: [fuzz-exec] note result: eq.4 => 0 | |
| (func "eq.4" (result i32) | |
| (string.eq | |
| (ref.null string) | |
| (string.const "world") | |
| ) | |
| ) | |
| ;; CHECK: [fuzz-exec] calling eq.5 | |
| ;; CHECK-NEXT: [fuzz-exec] note result: eq.5 => 1 | |
| (func "eq.5" (result i32) | |
| (string.eq | |
| (ref.null string) | |
| (ref.null string) | |
| ) | |
| ) | |
| ;; CHECK: [fuzz-exec] calling compare.1 | |
| ;; CHECK-NEXT: [trap null ref] | |
| (func "compare.1" (result i32) | |
| (string.compare | |
| (string.const "hello") | |
| (ref.null string) | |
| ) | |
| ) | |
| ;; CHECK: [fuzz-exec] calling compare.2 | |
| ;; CHECK-NEXT: [trap null ref] | |
| (func "compare.2" (result i32) | |
| (string.compare | |
| (ref.null string) | |
| (string.const "world") | |
| ) | |
| ) | |
| ;; CHECK: [fuzz-exec] calling compare.3 | |
| ;; CHECK-NEXT: [trap null ref] | |
| (func "compare.3" (result i32) | |
| (string.compare | |
| (ref.null string) | |
| (ref.null string) | |
| ) | |
| ) | |
| ;; CHECK: [fuzz-exec] calling compare.4 | |
| ;; CHECK-NEXT: [fuzz-exec] note result: compare.4 => 0 | |
| (func "compare.4" (result i32) | |
| (string.compare | |
| (string.const "hello") | |
| (string.const "hello") | |
| ) | |
| ) | |
| ;; CHECK: [fuzz-exec] calling compare.5 | |
| ;; CHECK-NEXT: [fuzz-exec] note result: compare.5 => -1 | |
| (func "compare.5" (result i32) | |
| (string.compare | |
| (string.const "hello") | |
| (string.const "hezlo") | |
| ) | |
| ) | |
| ;; CHECK: [fuzz-exec] calling compare.6 | |
| ;; CHECK-NEXT: [fuzz-exec] note result: compare.6 => 1 | |
| (func "compare.6" (result i32) | |
| (string.compare | |
| (string.const "hezlo") | |
| (string.const "hello") | |
| ) | |
| ) | |
| ;; CHECK: [fuzz-exec] calling compare.7 | |
| ;; CHECK-NEXT: [fuzz-exec] note result: compare.7 => -1 | |
| (func "compare.7" (result i32) | |
| (string.compare | |
| (string.const "he") | |
| (string.const "hello") | |
| ) | |
| ) | |
| ;; CHECK: [fuzz-exec] calling compare.8 | |
| ;; CHECK-NEXT: [fuzz-exec] note result: compare.8 => 1 | |
| (func "compare.8" (result i32) | |
| (string.compare | |
| (string.const "hello") | |
| (string.const "he") | |
| ) | |
| ) | |
| ;; CHECK: [fuzz-exec] calling compare.9 | |
| ;; CHECK-NEXT: [fuzz-exec] note result: compare.9 => 1 | |
| (func "compare.9" (result i32) | |
| (string.compare | |
| (string.const "hf") | |
| (string.const "hello") | |
| ) | |
| ) | |
| ;; CHECK: [fuzz-exec] calling compare.10 | |
| ;; CHECK-NEXT: [fuzz-exec] note result: compare.10 => -1 | |
| (func "compare.10" (result i32) | |
| (string.compare | |
| (string.const "hello") | |
| (string.const "hf") | |
| ) | |
| ) | |
| ) | |
| ;; CHECK: [fuzz-exec] calling new_wtf16_array | |
| ;; CHECK-NEXT: [fuzz-exec] note result: new_wtf16_array => string("ello") | |
| ;; CHECK: [fuzz-exec] calling const | |
| ;; CHECK-NEXT: [fuzz-exec] note result: const => string("world") | |
| ;; CHECK: [fuzz-exec] calling eq.1 | |
| ;; CHECK-NEXT: [fuzz-exec] note result: eq.1 => 0 | |
| ;; CHECK: [fuzz-exec] calling eq.2 | |
| ;; CHECK-NEXT: [fuzz-exec] note result: eq.2 => 1 | |
| ;; CHECK: [fuzz-exec] calling eq.3 | |
| ;; CHECK-NEXT: [fuzz-exec] note result: eq.3 => 0 | |
| ;; CHECK: [fuzz-exec] calling eq.4 | |
| ;; CHECK-NEXT: [fuzz-exec] note result: eq.4 => 0 | |
| ;; CHECK: [fuzz-exec] calling eq.5 | |
| ;; CHECK-NEXT: [fuzz-exec] note result: eq.5 => 1 | |
| ;; CHECK: [fuzz-exec] calling compare.1 | |
| ;; CHECK-NEXT: [trap null ref] | |
| ;; CHECK: [fuzz-exec] calling compare.2 | |
| ;; CHECK-NEXT: [trap null ref] | |
| ;; CHECK: [fuzz-exec] calling compare.3 | |
| ;; CHECK-NEXT: [trap null ref] | |
| ;; CHECK: [fuzz-exec] calling compare.4 | |
| ;; CHECK-NEXT: [fuzz-exec] note result: compare.4 => 0 | |
| ;; CHECK: [fuzz-exec] calling compare.5 | |
| ;; CHECK-NEXT: [fuzz-exec] note result: compare.5 => -1 | |
| ;; CHECK: [fuzz-exec] calling compare.6 | |
| ;; CHECK-NEXT: [fuzz-exec] note result: compare.6 => 1 | |
| ;; CHECK: [fuzz-exec] calling compare.7 | |
| ;; CHECK-NEXT: [fuzz-exec] note result: compare.7 => -1 | |
| ;; CHECK: [fuzz-exec] calling compare.8 | |
| ;; CHECK-NEXT: [fuzz-exec] note result: compare.8 => 1 | |
| ;; CHECK: [fuzz-exec] calling compare.9 | |
| ;; CHECK-NEXT: [fuzz-exec] note result: compare.9 => 1 | |
| ;; CHECK: [fuzz-exec] calling compare.10 | |
| ;; CHECK-NEXT: [fuzz-exec] note result: compare.10 => -1 | |
| ;; CHECK-NEXT: [fuzz-exec] comparing compare.1 | |
| ;; CHECK-NEXT: [fuzz-exec] comparing compare.10 | |
| ;; CHECK-NEXT: [fuzz-exec] comparing compare.2 | |
| ;; CHECK-NEXT: [fuzz-exec] comparing compare.3 | |
| ;; CHECK-NEXT: [fuzz-exec] comparing compare.4 | |
| ;; CHECK-NEXT: [fuzz-exec] comparing compare.5 | |
| ;; CHECK-NEXT: [fuzz-exec] comparing compare.6 | |
| ;; CHECK-NEXT: [fuzz-exec] comparing compare.7 | |
| ;; CHECK-NEXT: [fuzz-exec] comparing compare.8 | |
| ;; CHECK-NEXT: [fuzz-exec] comparing compare.9 | |
| ;; CHECK-NEXT: [fuzz-exec] comparing const | |
| ;; CHECK-NEXT: [fuzz-exec] comparing eq.1 | |
| ;; CHECK-NEXT: [fuzz-exec] comparing eq.2 | |
| ;; CHECK-NEXT: [fuzz-exec] comparing eq.3 | |
| ;; CHECK-NEXT: [fuzz-exec] comparing eq.4 | |
| ;; CHECK-NEXT: [fuzz-exec] comparing eq.5 | |
| ;; CHECK-NEXT: [fuzz-exec] comparing new_wtf16_array |