Skip to content

Commit 5bba119

Browse files
committed
Add more extend testcases and convert the wrap testcases to hex constants.
1 parent d6e51ba commit 5bba119

File tree

1 file changed

+14
-8
lines changed

1 file changed

+14
-8
lines changed

ml-proto/test/conversions.wasm

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -66,23 +66,29 @@
6666
(assert_eq (invoke "i64.extend_s_i32" (i32.const 0)) (i64.const 0))
6767
(assert_eq (invoke "i64.extend_s_i32" (i32.const 10000)) (i64.const 10000))
6868
(assert_eq (invoke "i64.extend_s_i32" (i32.const -10000)) (i64.const -10000))
69+
(assert_eq (invoke "i64.extend_s_i32" (i32.const -1)) (i64.const -1))
70+
(assert_eq (invoke "i64.extend_s_i32" (i32.const 0x7fffffff)) (i64.const 0x000000007fffffff))
71+
(assert_eq (invoke "i64.extend_s_i32" (i32.const 0x80000000)) (i64.const 0xffffffff80000000))
6972

7073
(assert_eq (invoke "i64.extend_u_i32" (i32.const 0)) (i64.const 0))
7174
(assert_eq (invoke "i64.extend_u_i32" (i32.const 10000)) (i64.const 10000))
7275
(assert_eq (invoke "i64.extend_u_i32" (i32.const -10000)) (i64.const 0x00000000ffffd8f0))
76+
(assert_eq (invoke "i64.extend_u_i32" (i32.const -1)) (i64.const 0xffffffff))
77+
(assert_eq (invoke "i64.extend_u_i32" (i32.const 0x7fffffff)) (i64.const 0x000000007fffffff))
78+
(assert_eq (invoke "i64.extend_u_i32" (i32.const 0x80000000)) (i64.const 0x0000000080000000))
7379

7480
(assert_eq (invoke "i32.wrap_i64" (i64.const -1)) (i32.const -1))
7581
(assert_eq (invoke "i32.wrap_i64" (i64.const -100000)) (i32.const -100000))
76-
(assert_eq (invoke "i32.wrap_i64" (i64.const -2147483648)) (i32.const 0x80000000))
77-
(assert_eq (invoke "i32.wrap_i64" (i64.const -2147483649)) (i32.const 0x7fffffff))
78-
(assert_eq (invoke "i32.wrap_i64" (i64.const -4294967296)) (i32.const 0x00000000))
79-
(assert_eq (invoke "i32.wrap_i64" (i64.const -4294967297)) (i32.const 0xffffffff))
80-
(assert_eq (invoke "i32.wrap_i64" (i64.const -4294967295)) (i32.const 0x00000001))
82+
(assert_eq (invoke "i32.wrap_i64" (i64.const 0x80000000)) (i32.const 0x80000000))
83+
(assert_eq (invoke "i32.wrap_i64" (i64.const 0xffffffff7fffffff)) (i32.const 0x7fffffff))
84+
(assert_eq (invoke "i32.wrap_i64" (i64.const 0xffffffff00000000)) (i32.const 0x00000000))
85+
(assert_eq (invoke "i32.wrap_i64" (i64.const 0xfffffffeffffffff)) (i32.const 0xffffffff))
86+
(assert_eq (invoke "i32.wrap_i64" (i64.const 0xffffffff00000001)) (i32.const 0x00000001))
8187
(assert_eq (invoke "i32.wrap_i64" (i64.const 0)) (i32.const 0))
8288
(assert_eq (invoke "i32.wrap_i64" (i64.const 1311768467463790320)) (i32.const 0x9abcdef0))
83-
(assert_eq (invoke "i32.wrap_i64" (i64.const 4294967295)) (i32.const 0xffffffff))
84-
(assert_eq (invoke "i32.wrap_i64" (i64.const 4294967296)) (i32.const 0x00000000))
85-
(assert_eq (invoke "i32.wrap_i64" (i64.const 4294967297)) (i32.const 0x00000001))
89+
(assert_eq (invoke "i32.wrap_i64" (i64.const 0x00000000ffffffff)) (i32.const 0xffffffff))
90+
(assert_eq (invoke "i32.wrap_i64" (i64.const 0x0000000100000000)) (i32.const 0x00000000))
91+
(assert_eq (invoke "i32.wrap_i64" (i64.const 0x0000000100000001)) (i32.const 0x00000001))
8692

8793
(assert_eq (invoke "i32.trunc_s_f32" (f32.const 1.0)) (i32.const 1))
8894
(assert_eq (invoke "i32.trunc_s_f32" (f32.const 1.1)) (i32.const 1))

0 commit comments

Comments
 (0)