summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAlon Zakai <azakai@google.com>2020-07-22 06:53:15 -0700
committerGitHub <noreply@github.com>2020-07-22 06:53:15 -0700
commit86362be31f1ae2d65e03fcc28bbf6526e48242f7 (patch)
tree75ec36ccce330981156f2e3d0ca5bc0538c3dcb3 /test
parent481e3eeade76a07a250979e2fbe0072d2662fe7d (diff)
downloadbinaryen-86362be31f1ae2d65e03fcc28bbf6526e48242f7.tar.gz
binaryen-86362be31f1ae2d65e03fcc28bbf6526e48242f7.tar.bz2
binaryen-86362be31f1ae2d65e03fcc28bbf6526e48242f7.zip
Fix i32.trunc_f64_s of values that round up to INT32_MIN (#2975)
See WebAssembly/spec#1224
Diffstat (limited to 'test')
-rw-r--r--test/spec/conversions.wast5
1 files changed, 3 insertions, 2 deletions
diff --git a/test/spec/conversions.wast b/test/spec/conversions.wast
index 2b3e30498..4e779aa8e 100644
--- a/test/spec/conversions.wast
+++ b/test/spec/conversions.wast
@@ -67,8 +67,6 @@
(assert_return (invoke "i32.trunc_f32_s" (f32.const -2.0)) (i32.const -2))
(assert_return (invoke "i32.trunc_f32_s" (f32.const 2147483520.0)) (i32.const 2147483520))
(assert_return (invoke "i32.trunc_f32_s" (f32.const -2147483648.0)) (i32.const -2147483648))
-(assert_return (invoke "i32.trunc_f64_s" (f64.const 2147483647.9999998)) (i32.const 2147483647))
-(assert_trap (invoke "i32.trunc_f64_s" (f64.const 2147483647.9999999)) "integer overflow")
(assert_trap (invoke "i32.trunc_f32_s" (f32.const 2147483648.0)) "integer overflow")
(assert_trap (invoke "i32.trunc_f32_s" (f32.const -2147483904.0)) "integer overflow")
(assert_trap (invoke "i32.trunc_f32_s" (f32.const inf)) "integer overflow")
@@ -114,6 +112,9 @@
(assert_return (invoke "i32.trunc_f64_s" (f64.const -2.0)) (i32.const -2))
(assert_return (invoke "i32.trunc_f64_s" (f64.const 2147483647.0)) (i32.const 2147483647))
(assert_return (invoke "i32.trunc_f64_s" (f64.const -2147483648.0)) (i32.const -2147483648))
+(assert_return (invoke "i32.trunc_f64_s" (f64.const -2147483648.9999995)) (i32.const -2147483648))
+(assert_return (invoke "i32.trunc_f64_s" (f64.const 2147483647.9999998)) (i32.const 2147483647))
+(assert_trap (invoke "i32.trunc_f64_s" (f64.const 2147483647.9999999)) "integer overflow")
(assert_trap (invoke "i32.trunc_f64_s" (f64.const 2147483648.0)) "integer overflow")
(assert_trap (invoke "i32.trunc_f64_s" (f64.const -2147483649.0)) "integer overflow")
(assert_trap (invoke "i32.trunc_f64_s" (f64.const inf)) "integer overflow")