diff options
Diffstat (limited to 'test/lit/strings.wast')
-rw-r--r-- | test/lit/strings.wast | 204 |
1 files changed, 190 insertions, 14 deletions
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) |