summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/example/c-api-kitchen-sink.txt28
-rw-r--r--test/lit/passes/simplify-locals-strings.wast52
-rw-r--r--test/lit/strings.wast204
3 files changed, 230 insertions, 54 deletions
diff --git a/test/example/c-api-kitchen-sink.txt b/test/example/c-api-kitchen-sink.txt
index 1276a5a6a..edcc0b91e 100644
--- a/test/example/c-api-kitchen-sink.txt
+++ b/test/example/c-api-kitchen-sink.txt
@@ -2328,7 +2328,7 @@ BinaryenFeatureAll: 126975
(i32.const 2)
)
(drop
- (string.new_wtf8 utf8
+ (string.new_utf8
(i32.const 0)
(i32.const 0)
)
@@ -2340,13 +2340,13 @@ BinaryenFeatureAll: 126975
)
)
(drop
- (string.new_wtf8 wtf8
+ (string.new_wtf8
(i32.const 0)
(i32.const 0)
)
)
(drop
- (string.new_wtf8 replace
+ (string.new_lossy_utf8
(i32.const 0)
(i32.const 0)
)
@@ -2358,7 +2358,7 @@ BinaryenFeatureAll: 126975
)
)
(drop
- (string.new_wtf8_array utf8
+ (string.new_utf8_array
(global.get $i8Array-global)
(i32.const 0)
(i32.const 0)
@@ -2372,14 +2372,14 @@ BinaryenFeatureAll: 126975
)
)
(drop
- (string.new_wtf8_array wtf8
+ (string.new_wtf8_array
(global.get $i8Array-global)
(i32.const 0)
(i32.const 0)
)
)
(drop
- (string.new_wtf8_array replace
+ (string.new_lossy_utf8_array
(global.get $i8Array-global)
(i32.const 0)
(i32.const 0)
@@ -2401,12 +2401,12 @@ BinaryenFeatureAll: 126975
(string.const "hello world")
)
(drop
- (string.measure_wtf8 utf8
+ (string.measure_utf8
(global.get $string-global)
)
)
(drop
- (string.measure_wtf8 wtf8
+ (string.measure_wtf8
(global.get $string-global)
)
)
@@ -2428,19 +2428,19 @@ BinaryenFeatureAll: 126975
)
)
(drop
- (string.encode_wtf8 utf8
+ (string.encode_utf8
(global.get $string-global)
(i32.const 0)
)
)
(drop
- (string.encode_wtf8 replace
+ (string.encode_lossy_utf8
(global.get $string-global)
(i32.const 0)
)
)
(drop
- (string.encode_wtf8 wtf8
+ (string.encode_wtf8
(global.get $string-global)
(i32.const 0)
)
@@ -2452,21 +2452,21 @@ BinaryenFeatureAll: 126975
)
)
(drop
- (string.encode_wtf8_array utf8
+ (string.encode_utf8_array
(global.get $string-global)
(global.get $i8Array-global)
(i32.const 0)
)
)
(drop
- (string.encode_wtf8_array replace
+ (string.encode_lossy_utf8_array
(global.get $string-global)
(global.get $i8Array-global)
(i32.const 0)
)
)
(drop
- (string.encode_wtf8_array wtf8
+ (string.encode_wtf8_array
(global.get $string-global)
(global.get $i8Array-global)
(i32.const 0)
diff --git a/test/lit/passes/simplify-locals-strings.wast b/test/lit/passes/simplify-locals-strings.wast
index 646eee6bd..ada49f3da 100644
--- a/test/lit/passes/simplify-locals-strings.wast
+++ b/test/lit/passes/simplify-locals-strings.wast
@@ -13,7 +13,7 @@
;; CHECK: (func $no-new-past-store (type $none_=>_none)
;; CHECK-NEXT: (local $temp stringref)
;; CHECK-NEXT: (local.set $temp
- ;; CHECK-NEXT: (string.new_wtf8 utf8
+ ;; CHECK-NEXT: (string.new_utf8
;; CHECK-NEXT: (i32.const 1)
;; CHECK-NEXT: (i32.const 2)
;; CHECK-NEXT: )
@@ -26,7 +26,7 @@
;; CHECK-NEXT: (local.get $temp)
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.set $temp
- ;; CHECK-NEXT: (string.new_wtf8 wtf8
+ ;; CHECK-NEXT: (string.new_wtf8
;; CHECK-NEXT: (i32.const 1)
;; CHECK-NEXT: (i32.const 2)
;; CHECK-NEXT: )
@@ -39,7 +39,7 @@
;; CHECK-NEXT: (local.get $temp)
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.set $temp
- ;; CHECK-NEXT: (string.new_wtf8 replace
+ ;; CHECK-NEXT: (string.new_lossy_utf8
;; CHECK-NEXT: (i32.const 1)
;; CHECK-NEXT: (i32.const 2)
;; CHECK-NEXT: )
@@ -69,7 +69,7 @@
(local $temp stringref)
;; A string.new cannot be moved past a memory store.
(local.set $temp
- (string.new_wtf8 utf8
+ (string.new_utf8
(i32.const 1)
(i32.const 2)
)
@@ -82,7 +82,7 @@
(local.get $temp)
)
(local.set $temp
- (string.new_wtf8 wtf8
+ (string.new_wtf8
(i32.const 1)
(i32.const 2)
)
@@ -95,7 +95,7 @@
(local.get $temp)
)
(local.set $temp
- (string.new_wtf8 replace
+ (string.new_lossy_utf8
(i32.const 1)
(i32.const 2)
)
@@ -131,7 +131,7 @@
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.new_wtf8 utf8
+ ;; CHECK-NEXT: (string.new_utf8
;; CHECK-NEXT: (i32.const 1)
;; CHECK-NEXT: (i32.const 2)
;; CHECK-NEXT: )
@@ -141,7 +141,7 @@
(local $temp stringref)
;; A string.new can be moved past a memory load.
(local.set $temp
- (string.new_wtf8 utf8
+ (string.new_utf8
(i32.const 1)
(i32.const 2)
)
@@ -159,7 +159,7 @@
;; CHECK: (func $no-new-past-store-gc (type $ref|$array|_ref|$array16|_=>_none) (param $array (ref $array)) (param $array16 (ref $array16))
;; CHECK-NEXT: (local $temp stringref)
;; CHECK-NEXT: (local.set $temp
- ;; CHECK-NEXT: (string.new_wtf8_array utf8
+ ;; CHECK-NEXT: (string.new_utf8_array
;; CHECK-NEXT: (local.get $array)
;; CHECK-NEXT: (i32.const 1)
;; CHECK-NEXT: (i32.const 2)
@@ -174,7 +174,7 @@
;; CHECK-NEXT: (local.get $temp)
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.set $temp
- ;; CHECK-NEXT: (string.new_wtf8_array wtf8
+ ;; CHECK-NEXT: (string.new_wtf8_array
;; CHECK-NEXT: (local.get $array)
;; CHECK-NEXT: (i32.const 1)
;; CHECK-NEXT: (i32.const 2)
@@ -189,7 +189,7 @@
;; CHECK-NEXT: (local.get $temp)
;; CHECK-NEXT: )
;; CHECK-NEXT: (local.set $temp
- ;; CHECK-NEXT: (string.new_wtf8_array replace
+ ;; CHECK-NEXT: (string.new_lossy_utf8_array
;; CHECK-NEXT: (local.get $array)
;; CHECK-NEXT: (i32.const 1)
;; CHECK-NEXT: (i32.const 2)
@@ -223,7 +223,7 @@
(local $temp stringref)
;; A string.new_***_array cannot be moved past a GC store.
(local.set $temp
- (string.new_wtf8_array utf8
+ (string.new_utf8_array
(local.get $array)
(i32.const 1)
(i32.const 2)
@@ -238,7 +238,7 @@
(local.get $temp)
)
(local.set $temp
- (string.new_wtf8_array wtf8
+ (string.new_wtf8_array
(local.get $array)
(i32.const 1)
(i32.const 2)
@@ -253,7 +253,7 @@
(local.get $temp)
)
(local.set $temp
- (string.new_wtf8_array replace
+ (string.new_lossy_utf8_array
(local.get $array)
(i32.const 1)
(i32.const 2)
@@ -292,7 +292,7 @@
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.encode_wtf8 wtf8
+ ;; CHECK-NEXT: (string.encode_wtf8
;; CHECK-NEXT: (local.get $ref)
;; CHECK-NEXT: (i32.const 10)
;; CHECK-NEXT: )
@@ -306,7 +306,7 @@
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.encode_wtf8 utf8
+ ;; CHECK-NEXT: (string.encode_utf8
;; CHECK-NEXT: (local.get $ref)
;; CHECK-NEXT: (i32.const 20)
;; CHECK-NEXT: )
@@ -320,7 +320,7 @@
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.encode_wtf8 replace
+ ;; CHECK-NEXT: (string.encode_lossy_utf8
;; CHECK-NEXT: (local.get $ref)
;; CHECK-NEXT: (i32.const 30)
;; CHECK-NEXT: )
@@ -352,7 +352,7 @@
)
)
(drop
- (string.encode_wtf8 wtf8
+ (string.encode_wtf8
(local.get $ref)
(i32.const 10)
)
@@ -366,7 +366,7 @@
)
)
(drop
- (string.encode_wtf8 utf8
+ (string.encode_utf8
(local.get $ref)
(i32.const 20)
)
@@ -380,7 +380,7 @@
)
)
(drop
- (string.encode_wtf8 replace
+ (string.encode_lossy_utf8
(local.get $ref)
(i32.const 30)
)
@@ -413,7 +413,7 @@
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.encode_wtf8_array wtf8
+ ;; CHECK-NEXT: (string.encode_wtf8_array
;; CHECK-NEXT: (local.get $ref)
;; CHECK-NEXT: (local.get $array)
;; CHECK-NEXT: (i32.const 10)
@@ -429,7 +429,7 @@
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.encode_wtf8_array utf8
+ ;; CHECK-NEXT: (string.encode_utf8_array
;; CHECK-NEXT: (local.get $ref)
;; CHECK-NEXT: (local.get $array)
;; CHECK-NEXT: (i32.const 20)
@@ -445,7 +445,7 @@
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.encode_wtf8_array replace
+ ;; CHECK-NEXT: (string.encode_lossy_utf8_array
;; CHECK-NEXT: (local.get $ref)
;; CHECK-NEXT: (local.get $array)
;; CHECK-NEXT: (i32.const 30)
@@ -482,7 +482,7 @@
)
)
(drop
- (string.encode_wtf8_array wtf8
+ (string.encode_wtf8_array
(local.get $ref)
(local.get $array)
(i32.const 10)
@@ -498,7 +498,7 @@
)
)
(drop
- (string.encode_wtf8_array utf8
+ (string.encode_utf8_array
(local.get $ref)
(local.get $array)
(i32.const 20)
@@ -514,7 +514,7 @@
)
)
(drop
- (string.encode_wtf8_array replace
+ (string.encode_lossy_utf8_array
(local.get $ref)
(local.get $array)
(i32.const 30)
diff --git a/test/lit/strings.wast b/test/lit/strings.wast
index dcb1bffd2..6668ffd58 100644
--- a/test/lit/strings.wast
+++ b/test/lit/strings.wast
@@ -48,19 +48,19 @@
;; CHECK: (func $string.new (type $stringref_stringview_wtf8_stringview_wtf16_stringview_iter_stringref_stringview_wtf8_stringview_wtf16_stringview_iter_ref|string|_ref|stringview_wtf8|_ref|stringview_wtf16|_ref|stringview_iter|_=>_none) (param $a stringref) (param $b stringview_wtf8) (param $c stringview_wtf16) (param $d stringview_iter) (param $e stringref) (param $f stringview_wtf8) (param $g stringview_wtf16) (param $h stringview_iter) (param $i (ref string)) (param $j (ref stringview_wtf8)) (param $k (ref stringview_wtf16)) (param $l (ref stringview_iter))
;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.new_wtf8 utf8
+ ;; CHECK-NEXT: (string.new_utf8
;; CHECK-NEXT: (i32.const 1)
;; CHECK-NEXT: (i32.const 2)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.new_wtf8 wtf8
+ ;; CHECK-NEXT: (string.new_wtf8
;; CHECK-NEXT: (i32.const 3)
;; CHECK-NEXT: (i32.const 4)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.new_wtf8 replace
+ ;; CHECK-NEXT: (string.new_lossy_utf8
;; CHECK-NEXT: (i32.const 5)
;; CHECK-NEXT: (i32.const 6)
;; CHECK-NEXT: )
@@ -71,6 +71,24 @@
;; CHECK-NEXT: (i32.const 8)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (string.new_utf8
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (string.new_wtf8
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (string.new_lossy_utf8
+ ;; CHECK-NEXT: (i32.const 5)
+ ;; CHECK-NEXT: (i32.const 6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
;; CHECK-NEXT: )
(func $string.new
(param $a stringref)
@@ -109,6 +127,24 @@
(i32.const 8)
)
)
+ (drop
+ (string.new_utf8
+ (i32.const 1)
+ (i32.const 2)
+ )
+ )
+ (drop
+ (string.new_wtf8
+ (i32.const 3)
+ (i32.const 4)
+ )
+ )
+ (drop
+ (string.new_lossy_utf8
+ (i32.const 5)
+ (i32.const 6)
+ )
+ )
)
;; CHECK: (func $string.const (type $ref|string|_=>_none) (param $param (ref string))
@@ -138,13 +174,13 @@
;; CHECK: (func $string.measure (type $stringref_=>_none) (param $ref stringref)
;; CHECK-NEXT: (drop
;; CHECK-NEXT: (i32.eqz
- ;; CHECK-NEXT: (string.measure_wtf8 wtf8
+ ;; CHECK-NEXT: (string.measure_wtf8
;; CHECK-NEXT: (local.get $ref)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.measure_wtf8 utf8
+ ;; CHECK-NEXT: (string.measure_utf8
;; CHECK-NEXT: (local.get $ref)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
@@ -153,6 +189,16 @@
;; CHECK-NEXT: (local.get $ref)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (string.measure_wtf8
+ ;; CHECK-NEXT: (local.get $ref)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (string.measure_utf8
+ ;; CHECK-NEXT: (local.get $ref)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
;; CHECK-NEXT: )
(func $string.measure (param $ref stringref)
(drop
@@ -172,12 +218,22 @@
(local.get $ref)
)
)
+ (drop
+ (string.measure_wtf8
+ (local.get $ref)
+ )
+ )
+ (drop
+ (string.measure_utf8
+ (local.get $ref)
+ )
+ )
)
;; CHECK: (func $string.encode (type $stringref_=>_none) (param $ref stringref)
;; CHECK-NEXT: (drop
;; CHECK-NEXT: (i32.eqz
- ;; CHECK-NEXT: (string.encode_wtf8 wtf8
+ ;; CHECK-NEXT: (string.encode_wtf8
;; CHECK-NEXT: (local.get $ref)
;; CHECK-NEXT: (i32.const 10)
;; CHECK-NEXT: )
@@ -185,14 +241,14 @@
;; CHECK-NEXT: )
;; CHECK-NEXT: (drop
;; CHECK-NEXT: (i32.eqz
- ;; CHECK-NEXT: (string.encode_wtf8 replace
+ ;; CHECK-NEXT: (string.encode_lossy_utf8
;; CHECK-NEXT: (local.get $ref)
;; CHECK-NEXT: (i32.const 10)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.encode_wtf8 utf8
+ ;; CHECK-NEXT: (string.encode_utf8
;; CHECK-NEXT: (local.get $ref)
;; CHECK-NEXT: (i32.const 20)
;; CHECK-NEXT: )
@@ -203,6 +259,24 @@
;; CHECK-NEXT: (i32.const 30)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (string.encode_wtf8
+ ;; CHECK-NEXT: (local.get $ref)
+ ;; CHECK-NEXT: (i32.const 10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (string.encode_lossy_utf8
+ ;; CHECK-NEXT: (local.get $ref)
+ ;; CHECK-NEXT: (i32.const 10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (string.encode_utf8
+ ;; CHECK-NEXT: (local.get $ref)
+ ;; CHECK-NEXT: (i32.const 20)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
;; CHECK-NEXT: )
(func $string.encode (param $ref stringref)
(drop
@@ -233,6 +307,24 @@
(i32.const 30)
)
)
+ (drop
+ (string.encode_wtf8
+ (local.get $ref)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (string.encode_lossy_utf8
+ (local.get $ref)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (string.encode_utf8
+ (local.get $ref)
+ (i32.const 20)
+ )
+ )
)
;; CHECK: (func $string.concat (type $stringref_stringref_=>_none) (param $a stringref) (param $b stringref)
@@ -492,21 +584,21 @@
;; CHECK: (func $string.new.gc (type $ref|$array|_ref|$array16|_=>_none) (param $array (ref $array)) (param $array16 (ref $array16))
;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.new_wtf8_array utf8
+ ;; CHECK-NEXT: (string.new_utf8_array
;; CHECK-NEXT: (local.get $array)
;; CHECK-NEXT: (i32.const 1)
;; CHECK-NEXT: (i32.const 2)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.new_wtf8_array wtf8
+ ;; CHECK-NEXT: (string.new_wtf8_array
;; CHECK-NEXT: (local.get $array)
;; CHECK-NEXT: (i32.const 3)
;; CHECK-NEXT: (i32.const 4)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.new_wtf8_array replace
+ ;; CHECK-NEXT: (string.new_lossy_utf8_array
;; CHECK-NEXT: (local.get $array)
;; CHECK-NEXT: (i32.const 5)
;; CHECK-NEXT: (i32.const 6)
@@ -519,6 +611,27 @@
;; CHECK-NEXT: (i32.const 8)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (string.new_utf8_array
+ ;; CHECK-NEXT: (local.get $array)
+ ;; CHECK-NEXT: (i32.const 1)
+ ;; CHECK-NEXT: (i32.const 2)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (string.new_wtf8_array
+ ;; CHECK-NEXT: (local.get $array)
+ ;; CHECK-NEXT: (i32.const 3)
+ ;; CHECK-NEXT: (i32.const 4)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (string.new_lossy_utf8_array
+ ;; CHECK-NEXT: (local.get $array)
+ ;; CHECK-NEXT: (i32.const 5)
+ ;; CHECK-NEXT: (i32.const 6)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
;; CHECK-NEXT: )
(func $string.new.gc (param $array (ref $array)) (param $array16 (ref $array16))
(drop
@@ -549,12 +662,33 @@
(i32.const 8)
)
)
+ (drop
+ (string.new_utf8_array
+ (local.get $array)
+ (i32.const 1)
+ (i32.const 2)
+ )
+ )
+ (drop
+ (string.new_wtf8_array
+ (local.get $array)
+ (i32.const 3)
+ (i32.const 4)
+ )
+ )
+ (drop
+ (string.new_lossy_utf8_array
+ (local.get $array)
+ (i32.const 5)
+ (i32.const 6)
+ )
+ )
)
;; CHECK: (func $string.encode.gc (type $stringref_ref|$array|_ref|$array16|_=>_none) (param $ref stringref) (param $array (ref $array)) (param $array16 (ref $array16))
;; CHECK-NEXT: (drop
;; CHECK-NEXT: (i32.eqz
- ;; CHECK-NEXT: (string.encode_wtf8_array wtf8
+ ;; CHECK-NEXT: (string.encode_wtf8_array
;; CHECK-NEXT: (local.get $ref)
;; CHECK-NEXT: (local.get $array)
;; CHECK-NEXT: (i32.const 10)
@@ -563,7 +697,7 @@
;; CHECK-NEXT: )
;; CHECK-NEXT: (drop
;; CHECK-NEXT: (i32.eqz
- ;; CHECK-NEXT: (string.encode_wtf8_array replace
+ ;; CHECK-NEXT: (string.encode_lossy_utf8_array
;; CHECK-NEXT: (local.get $ref)
;; CHECK-NEXT: (local.get $array)
;; CHECK-NEXT: (i32.const 10)
@@ -571,7 +705,7 @@
;; CHECK-NEXT: )
;; CHECK-NEXT: )
;; CHECK-NEXT: (drop
- ;; CHECK-NEXT: (string.encode_wtf8_array utf8
+ ;; CHECK-NEXT: (string.encode_utf8_array
;; CHECK-NEXT: (local.get $ref)
;; CHECK-NEXT: (local.get $array)
;; CHECK-NEXT: (i32.const 20)
@@ -584,6 +718,27 @@
;; CHECK-NEXT: (i32.const 30)
;; CHECK-NEXT: )
;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (string.encode_wtf8_array
+ ;; CHECK-NEXT: (local.get $ref)
+ ;; CHECK-NEXT: (local.get $array)
+ ;; CHECK-NEXT: (i32.const 10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (string.encode_lossy_utf8_array
+ ;; CHECK-NEXT: (local.get $ref)
+ ;; CHECK-NEXT: (local.get $array)
+ ;; CHECK-NEXT: (i32.const 10)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: (drop
+ ;; CHECK-NEXT: (string.encode_utf8_array
+ ;; CHECK-NEXT: (local.get $ref)
+ ;; CHECK-NEXT: (local.get $array)
+ ;; CHECK-NEXT: (i32.const 20)
+ ;; CHECK-NEXT: )
+ ;; CHECK-NEXT: )
;; CHECK-NEXT: )
(func $string.encode.gc (param $ref stringref) (param $array (ref $array)) (param $array16 (ref $array16))
(drop
@@ -618,6 +773,27 @@
(i32.const 30)
)
)
+ (drop
+ (string.encode_wtf8_array
+ (local.get $ref)
+ (local.get $array)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (string.encode_lossy_utf8_array
+ (local.get $ref)
+ (local.get $array)
+ (i32.const 10)
+ )
+ )
+ (drop
+ (string.encode_utf8_array
+ (local.get $ref)
+ (local.get $array)
+ (i32.const 20)
+ )
+ )
)
;; CHECK: (func $string.from_code_point (type $none_=>_none)