|
107 | 107 | (assert_return (invoke "i32.trunc_s_f32" (f32.const 0x1p-149)) (i32.const 0))
|
108 | 108 | (assert_return (invoke "i32.trunc_s_f32" (f32.const -0x1p-149)) (i32.const 0))
|
109 | 109 | (assert_return (invoke "i32.trunc_s_f32" (f32.const 1.0)) (i32.const 1))
|
110 |
| -(assert_return (invoke "i32.trunc_s_f32" (f32.const 1.1)) (i32.const 1)) |
| 110 | +(assert_return (invoke "i32.trunc_s_f32" (f32.const 0x1.19999ap+0)) (i32.const 1)) |
111 | 111 | (assert_return (invoke "i32.trunc_s_f32" (f32.const 1.5)) (i32.const 1))
|
112 | 112 | (assert_return (invoke "i32.trunc_s_f32" (f32.const -1.0)) (i32.const -1))
|
113 |
| -(assert_return (invoke "i32.trunc_s_f32" (f32.const -1.1)) (i32.const -1)) |
| 113 | +(assert_return (invoke "i32.trunc_s_f32" (f32.const -0x1.19999ap+0)) (i32.const -1)) |
114 | 114 | (assert_return (invoke "i32.trunc_s_f32" (f32.const -1.5)) (i32.const -1))
|
115 | 115 | (assert_return (invoke "i32.trunc_s_f32" (f32.const -1.9)) (i32.const -1))
|
116 | 116 | (assert_return (invoke "i32.trunc_s_f32" (f32.const -2.0)) (i32.const -2))
|
|
127 | 127 | (assert_return (invoke "i32.trunc_u_f32" (f32.const 0x1p-149)) (i32.const 0))
|
128 | 128 | (assert_return (invoke "i32.trunc_u_f32" (f32.const -0x1p-149)) (i32.const 0))
|
129 | 129 | (assert_return (invoke "i32.trunc_u_f32" (f32.const 1.0)) (i32.const 1))
|
130 |
| -(assert_return (invoke "i32.trunc_u_f32" (f32.const 1.1)) (i32.const 1)) |
| 130 | +(assert_return (invoke "i32.trunc_u_f32" (f32.const 0x1.19999ap+0)) (i32.const 1)) |
131 | 131 | (assert_return (invoke "i32.trunc_u_f32" (f32.const 1.5)) (i32.const 1))
|
132 | 132 | (assert_return (invoke "i32.trunc_u_f32" (f32.const 1.9)) (i32.const 1))
|
133 | 133 | (assert_return (invoke "i32.trunc_u_f32" (f32.const 2.0)) (i32.const 2))
|
134 | 134 | (assert_return (invoke "i32.trunc_u_f32" (f32.const 2147483648)) (i32.const -2147483648)) ;; 0x1.00000p+31 -> 8000 0000
|
135 | 135 | (assert_return (invoke "i32.trunc_u_f32" (f32.const 4294967040.0)) (i32.const -256))
|
136 |
| -(assert_return (invoke "i32.trunc_u_f32" (f32.const -0.9)) (i32.const 0)) |
| 136 | +(assert_return (invoke "i32.trunc_u_f32" (f32.const -0x1.ccccccp-1)) (i32.const 0)) |
| 137 | +(assert_return (invoke "i32.trunc_u_f32" (f32.const -0x1.fffffep-1)) (i32.const 0)) |
137 | 138 | (assert_trap (invoke "i32.trunc_u_f32" (f32.const 4294967296.0)) "integer overflow")
|
138 | 139 | (assert_trap (invoke "i32.trunc_u_f32" (f32.const -1.0)) "integer overflow")
|
139 | 140 | (assert_trap (invoke "i32.trunc_u_f32" (f32.const infinity)) "integer overflow")
|
|
145 | 146 | (assert_return (invoke "i32.trunc_s_f64" (f64.const 0x0.0000000000001p-1022)) (i32.const 0))
|
146 | 147 | (assert_return (invoke "i32.trunc_s_f64" (f64.const -0x0.0000000000001p-1022)) (i32.const 0))
|
147 | 148 | (assert_return (invoke "i32.trunc_s_f64" (f64.const 1.0)) (i32.const 1))
|
148 |
| -(assert_return (invoke "i32.trunc_s_f64" (f64.const 1.1)) (i32.const 1)) |
| 149 | +(assert_return (invoke "i32.trunc_s_f64" (f64.const 0x1.199999999999ap+0)) (i32.const 1)) |
149 | 150 | (assert_return (invoke "i32.trunc_s_f64" (f64.const 1.5)) (i32.const 1))
|
150 | 151 | (assert_return (invoke "i32.trunc_s_f64" (f64.const -1.0)) (i32.const -1))
|
151 |
| -(assert_return (invoke "i32.trunc_s_f64" (f64.const -1.1)) (i32.const -1)) |
| 152 | +(assert_return (invoke "i32.trunc_s_f64" (f64.const -0x1.199999999999ap+0)) (i32.const -1)) |
152 | 153 | (assert_return (invoke "i32.trunc_s_f64" (f64.const -1.5)) (i32.const -1))
|
153 | 154 | (assert_return (invoke "i32.trunc_s_f64" (f64.const -1.9)) (i32.const -1))
|
154 | 155 | (assert_return (invoke "i32.trunc_s_f64" (f64.const -2.0)) (i32.const -2))
|
|
165 | 166 | (assert_return (invoke "i32.trunc_u_f64" (f64.const 0x0.0000000000001p-1022)) (i32.const 0))
|
166 | 167 | (assert_return (invoke "i32.trunc_u_f64" (f64.const -0x0.0000000000001p-1022)) (i32.const 0))
|
167 | 168 | (assert_return (invoke "i32.trunc_u_f64" (f64.const 1.0)) (i32.const 1))
|
168 |
| -(assert_return (invoke "i32.trunc_u_f64" (f64.const 1.1)) (i32.const 1)) |
| 169 | +(assert_return (invoke "i32.trunc_u_f64" (f64.const 0x1.199999999999ap+0)) (i32.const 1)) |
169 | 170 | (assert_return (invoke "i32.trunc_u_f64" (f64.const 1.5)) (i32.const 1))
|
170 | 171 | (assert_return (invoke "i32.trunc_u_f64" (f64.const 1.9)) (i32.const 1))
|
171 | 172 | (assert_return (invoke "i32.trunc_u_f64" (f64.const 2.0)) (i32.const 2))
|
172 | 173 | (assert_return (invoke "i32.trunc_u_f64" (f64.const 2147483648)) (i32.const -2147483648)) ;; 0x1.00000p+31 -> 8000 0000
|
173 | 174 | (assert_return (invoke "i32.trunc_u_f64" (f64.const 4294967295.0)) (i32.const -1))
|
174 |
| -(assert_return (invoke "i32.trunc_u_f64" (f64.const -0.9)) (i32.const 0)) |
| 175 | +(assert_return (invoke "i32.trunc_u_f64" (f64.const -0x1.ccccccccccccdp-1)) (i32.const 0)) |
| 176 | +(assert_return (invoke "i32.trunc_u_f64" (f64.const -0x1.fffffffffffffp-1)) (i32.const 0)) |
175 | 177 | (assert_return (invoke "i32.trunc_u_f64" (f64.const 1e8)) (i32.const 100000000))
|
176 | 178 | (assert_trap (invoke "i32.trunc_u_f64" (f64.const 4294967296.0)) "integer overflow")
|
177 | 179 | (assert_trap (invoke "i32.trunc_u_f64" (f64.const -1.0)) "integer overflow")
|
|
187 | 189 | (assert_return (invoke "i64.trunc_s_f32" (f32.const 0x1p-149)) (i64.const 0))
|
188 | 190 | (assert_return (invoke "i64.trunc_s_f32" (f32.const -0x1p-149)) (i64.const 0))
|
189 | 191 | (assert_return (invoke "i64.trunc_s_f32" (f32.const 1.0)) (i64.const 1))
|
190 |
| -(assert_return (invoke "i64.trunc_s_f32" (f32.const 1.1)) (i64.const 1)) |
| 192 | +(assert_return (invoke "i64.trunc_s_f32" (f32.const 0x1.19999ap+0)) (i64.const 1)) |
191 | 193 | (assert_return (invoke "i64.trunc_s_f32" (f32.const 1.5)) (i64.const 1))
|
192 | 194 | (assert_return (invoke "i64.trunc_s_f32" (f32.const -1.0)) (i64.const -1))
|
193 |
| -(assert_return (invoke "i64.trunc_s_f32" (f32.const -1.1)) (i64.const -1)) |
| 195 | +(assert_return (invoke "i64.trunc_s_f32" (f32.const -0x1.19999ap+0)) (i64.const -1)) |
194 | 196 | (assert_return (invoke "i64.trunc_s_f32" (f32.const -1.5)) (i64.const -1))
|
195 | 197 | (assert_return (invoke "i64.trunc_s_f32" (f32.const -1.9)) (i64.const -1))
|
196 | 198 | (assert_return (invoke "i64.trunc_s_f32" (f32.const -2.0)) (i64.const -2))
|
|
209 | 211 | (assert_return (invoke "i64.trunc_u_f32" (f32.const 0x1p-149)) (i64.const 0))
|
210 | 212 | (assert_return (invoke "i64.trunc_u_f32" (f32.const -0x1p-149)) (i64.const 0))
|
211 | 213 | (assert_return (invoke "i64.trunc_u_f32" (f32.const 1.0)) (i64.const 1))
|
212 |
| -(assert_return (invoke "i64.trunc_u_f32" (f32.const 1.1)) (i64.const 1)) |
| 214 | +(assert_return (invoke "i64.trunc_u_f32" (f32.const 0x1.19999ap+0)) (i64.const 1)) |
213 | 215 | (assert_return (invoke "i64.trunc_u_f32" (f32.const 1.5)) (i64.const 1))
|
214 | 216 | (assert_return (invoke "i64.trunc_u_f32" (f32.const 4294967296)) (i64.const 4294967296))
|
215 | 217 | (assert_return (invoke "i64.trunc_u_f32" (f32.const 18446742974197923840.0)) (i64.const -1099511627776))
|
216 |
| -(assert_return (invoke "i64.trunc_u_f32" (f32.const -0.9)) (i64.const 0)) |
| 218 | +(assert_return (invoke "i64.trunc_u_f32" (f32.const -0x1.ccccccp-1)) (i64.const 0)) |
| 219 | +(assert_return (invoke "i64.trunc_u_f32" (f32.const -0x1.fffffep-1)) (i64.const 0)) |
217 | 220 | (assert_trap (invoke "i64.trunc_u_f32" (f32.const 18446744073709551616.0)) "integer overflow")
|
218 | 221 | (assert_trap (invoke "i64.trunc_u_f32" (f32.const -1.0)) "integer overflow")
|
219 | 222 | (assert_trap (invoke "i64.trunc_u_f32" (f32.const infinity)) "integer overflow")
|
|
225 | 228 | (assert_return (invoke "i64.trunc_s_f64" (f64.const 0x0.0000000000001p-1022)) (i64.const 0))
|
226 | 229 | (assert_return (invoke "i64.trunc_s_f64" (f64.const -0x0.0000000000001p-1022)) (i64.const 0))
|
227 | 230 | (assert_return (invoke "i64.trunc_s_f64" (f64.const 1.0)) (i64.const 1))
|
228 |
| -(assert_return (invoke "i64.trunc_s_f64" (f64.const 1.1)) (i64.const 1)) |
| 231 | +(assert_return (invoke "i64.trunc_s_f64" (f64.const 0x1.199999999999ap+0)) (i64.const 1)) |
229 | 232 | (assert_return (invoke "i64.trunc_s_f64" (f64.const 1.5)) (i64.const 1))
|
230 | 233 | (assert_return (invoke "i64.trunc_s_f64" (f64.const -1.0)) (i64.const -1))
|
231 |
| -(assert_return (invoke "i64.trunc_s_f64" (f64.const -1.1)) (i64.const -1)) |
| 234 | +(assert_return (invoke "i64.trunc_s_f64" (f64.const -0x1.199999999999ap+0)) (i64.const -1)) |
232 | 235 | (assert_return (invoke "i64.trunc_s_f64" (f64.const -1.5)) (i64.const -1))
|
233 | 236 | (assert_return (invoke "i64.trunc_s_f64" (f64.const -1.9)) (i64.const -1))
|
234 | 237 | (assert_return (invoke "i64.trunc_s_f64" (f64.const -2.0)) (i64.const -2))
|
|
247 | 250 | (assert_return (invoke "i64.trunc_u_f64" (f64.const 0x0.0000000000001p-1022)) (i64.const 0))
|
248 | 251 | (assert_return (invoke "i64.trunc_u_f64" (f64.const -0x0.0000000000001p-1022)) (i64.const 0))
|
249 | 252 | (assert_return (invoke "i64.trunc_u_f64" (f64.const 1.0)) (i64.const 1))
|
250 |
| -(assert_return (invoke "i64.trunc_u_f64" (f64.const 1.1)) (i64.const 1)) |
| 253 | +(assert_return (invoke "i64.trunc_u_f64" (f64.const 0x1.199999999999ap+0)) (i64.const 1)) |
251 | 254 | (assert_return (invoke "i64.trunc_u_f64" (f64.const 1.5)) (i64.const 1))
|
252 | 255 | (assert_return (invoke "i64.trunc_u_f64" (f64.const 4294967295)) (i64.const 0xffffffff))
|
253 | 256 | (assert_return (invoke "i64.trunc_u_f64" (f64.const 4294967296)) (i64.const 0x100000000))
|
254 | 257 | (assert_return (invoke "i64.trunc_u_f64" (f64.const 18446744073709549568.0)) (i64.const -2048))
|
255 |
| -(assert_return (invoke "i64.trunc_u_f64" (f64.const -0.9)) (i64.const 0)) |
| 258 | +(assert_return (invoke "i64.trunc_u_f64" (f64.const -0x1.ccccccccccccdp-1)) (i64.const 0)) |
| 259 | +(assert_return (invoke "i64.trunc_u_f64" (f64.const -0x1.fffffffffffffp-1)) (i64.const 0)) |
256 | 260 | (assert_return (invoke "i64.trunc_u_f64" (f64.const 1e8)) (i64.const 100000000))
|
257 | 261 | (assert_return (invoke "i64.trunc_u_f64" (f64.const 1e16)) (i64.const 10000000000000000))
|
258 | 262 | (assert_return (invoke "i64.trunc_u_f64" (f64.const 9223372036854775808)) (i64.const -9223372036854775808))
|
|
393 | 397 | (assert_return (invoke "f32.reinterpret_i32" (i32.const 0)) (f32.const 0.0))
|
394 | 398 | (assert_return (invoke "f32.reinterpret_i32" (i32.const 0x80000000)) (f32.const -0.0))
|
395 | 399 | (assert_return (invoke "f32.reinterpret_i32" (i32.const 1)) (f32.const 0x1p-149))
|
| 400 | +(assert_return (invoke "f32.reinterpret_i32" (i32.const -1)) (f32.const -nan:0x7fffff)) |
396 | 401 | (assert_return (invoke "f32.reinterpret_i32" (i32.const 123456789)) (f32.const 0x1.b79a2ap-113))
|
397 | 402 | (assert_return (invoke "f32.reinterpret_i32" (i32.const -2147483647)) (f32.const -0x1p-149))
|
| 403 | +(assert_return (invoke "f32.reinterpret_i32" (i32.const 0x7f800000)) (f32.const infinity)) |
| 404 | +(assert_return (invoke "f32.reinterpret_i32" (i32.const 0xff800000)) (f32.const -infinity)) |
| 405 | +(assert_return (invoke "f32.reinterpret_i32" (i32.const 0x7fc00000)) (f32.const nan)) |
| 406 | +(assert_return (invoke "f32.reinterpret_i32" (i32.const 0xffc00000)) (f32.const -nan)) |
| 407 | +(assert_return (invoke "f32.reinterpret_i32" (i32.const 0x7fa00000)) (f32.const nan:0x200000)) |
| 408 | +(assert_return (invoke "f32.reinterpret_i32" (i32.const 0xffa00000)) (f32.const -nan:0x200000)) |
398 | 409 |
|
399 | 410 | (assert_return (invoke "f64.reinterpret_i64" (i64.const 0)) (f64.const 0.0))
|
400 | 411 | (assert_return (invoke "f64.reinterpret_i64" (i64.const 1)) (f64.const 0x0.0000000000001p-1022))
|
| 412 | +(assert_return (invoke "f64.reinterpret_i64" (i64.const -1)) (f64.const -nan:0xfffffffffffff)) |
401 | 413 | (assert_return (invoke "f64.reinterpret_i64" (i64.const 0x8000000000000000)) (f64.const -0.0))
|
402 | 414 | (assert_return (invoke "f64.reinterpret_i64" (i64.const 1234567890)) (f64.const 0x0.00000499602d2p-1022))
|
403 | 415 | (assert_return (invoke "f64.reinterpret_i64" (i64.const -9223372036854775807)) (f64.const -0x0.0000000000001p-1022))
|
| 416 | +(assert_return (invoke "f64.reinterpret_i64" (i64.const 0x7ff0000000000000)) (f64.const infinity)) |
| 417 | +(assert_return (invoke "f64.reinterpret_i64" (i64.const 0xfff0000000000000)) (f64.const -infinity)) |
| 418 | +(assert_return (invoke "f64.reinterpret_i64" (i64.const 0x7ff8000000000000)) (f64.const nan)) |
| 419 | +(assert_return (invoke "f64.reinterpret_i64" (i64.const 0xfff8000000000000)) (f64.const -nan)) |
| 420 | +(assert_return (invoke "f64.reinterpret_i64" (i64.const 0x7ff4000000000000)) (f64.const nan:0x4000000000000)) |
| 421 | +(assert_return (invoke "f64.reinterpret_i64" (i64.const 0xfff4000000000000)) (f64.const -nan:0x4000000000000)) |
404 | 422 |
|
405 | 423 | (assert_return (invoke "i32.reinterpret_f32" (f32.const 0.0)) (i32.const 0))
|
406 | 424 | (assert_return (invoke "i32.reinterpret_f32" (f32.const -0.0)) (i32.const 0x80000000))
|
407 | 425 | (assert_return (invoke "i32.reinterpret_f32" (f32.const 0x1p-149)) (i32.const 1))
|
| 426 | +(assert_return (invoke "i32.reinterpret_f32" (f32.const -nan:0x7fffff)) (i32.const -1)) |
408 | 427 | (assert_return (invoke "i32.reinterpret_f32" (f32.const -0x1p-149)) (i32.const 0x80000001))
|
409 | 428 | (assert_return (invoke "i32.reinterpret_f32" (f32.const 1.0)) (i32.const 1065353216))
|
410 | 429 | (assert_return (invoke "i32.reinterpret_f32" (f32.const 3.1415926)) (i32.const 1078530010))
|
|
413 | 432 | (assert_return (invoke "i32.reinterpret_f32" (f32.const infinity)) (i32.const 0x7f800000))
|
414 | 433 | (assert_return (invoke "i32.reinterpret_f32" (f32.const -infinity)) (i32.const 0xff800000))
|
415 | 434 | (assert_return (invoke "i32.reinterpret_f32" (f32.const nan)) (i32.const 0x7fc00000))
|
| 435 | +(assert_return (invoke "i32.reinterpret_f32" (f32.const -nan)) (i32.const 0xffc00000)) |
| 436 | +(assert_return (invoke "i32.reinterpret_f32" (f32.const nan:0x200000)) (i32.const 0x7fa00000)) |
| 437 | +(assert_return (invoke "i32.reinterpret_f32" (f32.const -nan:0x200000)) (i32.const 0xffa00000)) |
416 | 438 |
|
417 | 439 | (assert_return (invoke "i64.reinterpret_f64" (f64.const 0.0)) (i64.const 0))
|
418 | 440 | (assert_return (invoke "i64.reinterpret_f64" (f64.const -0.0)) (i64.const 0x8000000000000000))
|
419 | 441 | (assert_return (invoke "i64.reinterpret_f64" (f64.const 0x0.0000000000001p-1022)) (i64.const 1))
|
| 442 | +(assert_return (invoke "i64.reinterpret_f64" (f64.const -nan:0xfffffffffffff)) (i64.const -1)) |
420 | 443 | (assert_return (invoke "i64.reinterpret_f64" (f64.const -0x0.0000000000001p-1022)) (i64.const 0x8000000000000001))
|
421 | 444 | (assert_return (invoke "i64.reinterpret_f64" (f64.const 1.0)) (i64.const 4607182418800017408))
|
422 | 445 | (assert_return (invoke "i64.reinterpret_f64" (f64.const 3.14159265358979)) (i64.const 4614256656552045841))
|
|
425 | 448 | (assert_return (invoke "i64.reinterpret_f64" (f64.const infinity)) (i64.const 0x7ff0000000000000))
|
426 | 449 | (assert_return (invoke "i64.reinterpret_f64" (f64.const -infinity)) (i64.const 0xfff0000000000000))
|
427 | 450 | (assert_return (invoke "i64.reinterpret_f64" (f64.const nan)) (i64.const 0x7ff8000000000000))
|
| 451 | +(assert_return (invoke "i64.reinterpret_f64" (f64.const -nan)) (i64.const 0xfff8000000000000)) |
| 452 | +(assert_return (invoke "i64.reinterpret_f64" (f64.const nan:0x4000000000000)) (i64.const 0x7ff4000000000000)) |
| 453 | +(assert_return (invoke "i64.reinterpret_f64" (f64.const -nan:0x4000000000000)) (i64.const 0xfff4000000000000)) |
0 commit comments