github.com/tetratelabs/wazero@v1.7.3-0.20240513003603-48f702e154b5/internal/integration_test/spectest/v2/testdata/simd_const.wast (about) 1 ;; v128.const normal parameter (e.g. (i8x16, i16x8 i32x4, f32x4)) 2 3 (module (func (v128.const i8x16 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF) drop)) 4 (module (func (v128.const i8x16 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80) drop)) 5 (module (func (v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255) drop)) 6 (module (func (v128.const i8x16 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128 -128) drop)) 7 (module (func (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF) drop)) 8 (module (func (v128.const i16x8 -0x8000 -0x8000 -0x8000 -0x8000 -0x8000 -0x8000 -0x8000 -0x8000) drop)) 9 (module (func (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535) drop)) 10 (module (func (v128.const i16x8 -32768 -32768 -32768 -32768 -32768 -32768 -32768 -32768) drop)) 11 (module (func (v128.const i16x8 65_535 65_535 65_535 65_535 65_535 65_535 65_535 65_535) drop)) 12 (module (func (v128.const i16x8 -32_768 -32_768 -32_768 -32_768 -32_768 -32_768 -32_768 -32_768) drop)) 13 (module (func (v128.const i16x8 0_123_45 0_123_45 0_123_45 0_123_45 0_123_45 0_123_45 0_123_45 0_123_45) drop)) 14 (module (func (v128.const i16x8 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234) drop)) 15 (module (func (v128.const i32x4 0xffffffff 0xffffffff 0xffffffff 0xffffffff) drop)) 16 (module (func (v128.const i32x4 -0x80000000 -0x80000000 -0x80000000 -0x80000000) drop)) 17 (module (func (v128.const i32x4 4294967295 4294967295 4294967295 4294967295) drop)) 18 (module (func (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648) drop)) 19 (module (func (v128.const i32x4 0xffff_ffff 0xffff_ffff 0xffff_ffff 0xffff_ffff) drop)) 20 (module (func (v128.const i32x4 -0x8000_0000 -0x8000_0000 -0x8000_0000 -0x8000_0000) drop)) 21 (module (func (v128.const i32x4 4_294_967_295 4_294_967_295 4_294_967_295 4_294_967_295) drop)) 22 (module (func (v128.const i32x4 -2_147_483_648 -2_147_483_648 -2_147_483_648 -2_147_483_648) drop)) 23 (module (func (v128.const i32x4 0_123_456_789 0_123_456_789 0_123_456_789 0_123_456_789) drop)) 24 (module (func (v128.const i32x4 0x0_9acf_fBDF 0x0_9acf_fBDF 0x0_9acf_fBDF 0x0_9acf_fBDF) drop)) 25 (module (func (v128.const i64x2 0xffffffffffffffff 0xffffffffffffffff) drop)) 26 (module (func (v128.const i64x2 -0x8000000000000000 -0x8000000000000000) drop)) 27 (module (func (v128.const i64x2 18446744073709551615 18446744073709551615) drop)) 28 (module (func (v128.const i64x2 -9223372036854775808 -9223372036854775808) drop)) 29 (module (func (v128.const i64x2 0xffff_ffff_ffff_ffff 0xffff_ffff_ffff_ffff) drop)) 30 (module (func (v128.const i64x2 -0x8000_0000_0000_0000 -0x8000_0000_0000_0000) drop)) 31 (module (func (v128.const i64x2 18_446_744_073_709_551_615 18_446_744_073_709_551_615) drop)) 32 (module (func (v128.const i64x2 -9_223_372_036_854_775_808 -9_223_372_036_854_775_808) drop)) 33 (module (func (v128.const i64x2 0_123_456_789 0_123_456_789) drop)) 34 (module (func (v128.const i64x2 0x0125_6789_ADEF_bcef 0x0125_6789_ADEF_bcef) drop)) 35 (module (func (v128.const f32x4 0x1p127 0x1p127 0x1p127 0x1p127) drop)) 36 (module (func (v128.const f32x4 -0x1p127 -0x1p127 -0x1p127 -0x1p127) drop)) 37 (module (func (v128.const f32x4 1e38 1e38 1e38 1e38) drop)) 38 (module (func (v128.const f32x4 -1e38 -1e38 -1e38 -1e38) drop)) 39 (module (func (v128.const f32x4 340282356779733623858607532500980858880 340282356779733623858607532500980858880 40 340282356779733623858607532500980858880 340282356779733623858607532500980858880) drop)) 41 (module (func (v128.const f32x4 -340282356779733623858607532500980858880 -340282356779733623858607532500980858880 42 -340282356779733623858607532500980858880 -340282356779733623858607532500980858880) drop)) 43 (module (func (v128.const f32x4 nan:0x1 nan:0x1 nan:0x1 nan:0x1) drop)) 44 (module (func (v128.const f32x4 nan:0x7f_ffff nan:0x7f_ffff nan:0x7f_ffff nan:0x7f_ffff) drop)) 45 (module (func (v128.const f32x4 0123456789 0123456789 0123456789 0123456789) drop)) 46 (module (func (v128.const f32x4 0123456789e019 0123456789e019 0123456789e019 0123456789e019) drop)) 47 (module (func (v128.const f32x4 0123456789e+019 0123456789e+019 0123456789e+019 0123456789e+019) drop)) 48 (module (func (v128.const f32x4 0123456789e-019 0123456789e-019 0123456789e-019 0123456789e-019) drop)) 49 (module (func (v128.const f32x4 0123456789. 0123456789. 0123456789. 0123456789.) drop)) 50 (module (func (v128.const f32x4 0123456789.e019 0123456789.e019 0123456789.e019 0123456789.e019) drop)) 51 (module (func (v128.const f32x4 0123456789.e+019 0123456789.e+019 0123456789.e+019 0123456789.e+019) drop)) 52 (module (func (v128.const f32x4 0123456789.e-019 0123456789.e-019 0123456789.e-019 0123456789.e-019) drop)) 53 (module (func (v128.const f32x4 0123456789.0123456789 0123456789.0123456789 0123456789.0123456789 0123456789.0123456789) drop)) 54 (module (func (v128.const f32x4 0123456789.0123456789e019 0123456789.0123456789e019 0123456789.0123456789e019 0123456789.0123456789e019) drop)) 55 (module (func (v128.const f32x4 0123456789.0123456789e+019 0123456789.0123456789e+019 0123456789.0123456789e+019 0123456789.0123456789e+019) drop)) 56 (module (func (v128.const f32x4 0123456789.0123456789e-019 0123456789.0123456789e-019 0123456789.0123456789e-019 0123456789.0123456789e-019) drop)) 57 (module (func (v128.const f32x4 0x0123456789ABCDEF 0x0123456789ABCDEF 0x0123456789ABCDEF 0x0123456789ABCDEF) drop)) 58 (module (func (v128.const f32x4 0x0123456789ABCDEFp019 0x0123456789ABCDEFp019 0x0123456789ABCDEFp019 0x0123456789ABCDEFp019) drop)) 59 (module (func (v128.const f32x4 0x0123456789ABCDEFp+019 0x0123456789ABCDEFp+019 0x0123456789ABCDEFp+019 0x0123456789ABCDEFp+019) drop)) 60 (module (func (v128.const f32x4 0x0123456789ABCDEFp-019 0x0123456789ABCDEFp-019 0x0123456789ABCDEFp-019 0x0123456789ABCDEFp-019) drop)) 61 (module (func (v128.const f32x4 0x0123456789ABCDEF. 0x0123456789ABCDEF. 0x0123456789ABCDEF. 0x0123456789ABCDEF.) drop)) 62 (module (func (v128.const f32x4 0x0123456789ABCDEF.p019 0x0123456789ABCDEF.p019 0x0123456789ABCDEF.p019 0x0123456789ABCDEF.p019) drop)) 63 (module (func (v128.const f32x4 0x0123456789ABCDEF.p+019 0x0123456789ABCDEF.p+019 0x0123456789ABCDEF.p+019 0x0123456789ABCDEF.p+019) drop)) 64 (module (func (v128.const f32x4 0x0123456789ABCDEF.p-019 0x0123456789ABCDEF.p-019 0x0123456789ABCDEF.p-019 0x0123456789ABCDEF.p-019) drop)) 65 (module (func (v128.const f32x4 0x0123456789ABCDEF.019aF 0x0123456789ABCDEF.019aF 0x0123456789ABCDEF.019aF 0x0123456789ABCDEF.019aF) drop)) 66 (module (func (v128.const f32x4 0x0123456789ABCDEF.019aFp019 0x0123456789ABCDEF.019aFp019 0x0123456789ABCDEF.019aFp019 0x0123456789ABCDEF.019aFp019) drop)) 67 (module (func (v128.const f32x4 0x0123456789ABCDEF.019aFp+019 0x0123456789ABCDEF.019aFp+019 0x0123456789ABCDEF.019aFp+019 0x0123456789ABCDEF.019aFp+019) drop)) 68 (module (func (v128.const f32x4 0x0123456789ABCDEF.019aFp-019 0x0123456789ABCDEF.019aFp-019 0x0123456789ABCDEF.019aFp-019 0x0123456789ABCDEF.019aFp-019) drop)) 69 (module (func (v128.const f64x2 0x1p1023 0x1p1023) drop)) 70 (module (func (v128.const f64x2 -0x1p1023 -0x1p1023) drop)) 71 (module (func (v128.const f64x2 1e308 1e308) drop)) 72 (module (func (v128.const f64x2 -1e308 -1e308) drop)) 73 (module (func (v128.const f64x2 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368 74 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368) drop)) 75 (module (func (v128.const f64x2 -179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368 76 -179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368) drop)) 77 (module (func (v128.const f64x2 nan:0x1 nan:0x1) drop)) 78 (module (func (v128.const f64x2 nan:0xf_ffff_ffff_ffff nan:0xf_ffff_ffff_ffff) drop)) 79 (module (func (v128.const f64x2 0123456789 0123456789) drop)) 80 (module (func (v128.const f64x2 0123456789e019 0123456789e019) drop)) 81 (module (func (v128.const f64x2 0123456789e+019 0123456789e+019) drop)) 82 (module (func (v128.const f64x2 0123456789e-019 0123456789e-019) drop)) 83 (module (func (v128.const f64x2 0123456789. 0123456789.) drop)) 84 (module (func (v128.const f64x2 0123456789.e019 0123456789.e019) drop)) 85 (module (func (v128.const f64x2 0123456789.e+019 0123456789.e+019) drop)) 86 (module (func (v128.const f64x2 0123456789.e-019 0123456789.e-019) drop)) 87 (module (func (v128.const f64x2 0123456789.0123456789 0123456789.0123456789) drop)) 88 (module (func (v128.const f64x2 0123456789.0123456789e019 0123456789.0123456789e019) drop)) 89 (module (func (v128.const f64x2 0123456789.0123456789e+019 0123456789.0123456789e+019) drop)) 90 (module (func (v128.const f64x2 0123456789.0123456789e-019 0123456789.0123456789e-019) drop)) 91 (module (func (v128.const f64x2 0x0123456789ABCDEFabcdef 0x0123456789ABCDEFabcdef) drop)) 92 (module (func (v128.const f64x2 0x0123456789ABCDEFabcdefp019 0x0123456789ABCDEFabcdefp019) drop)) 93 (module (func (v128.const f64x2 0x0123456789ABCDEFabcdefp+019 0x0123456789ABCDEFabcdefp+019) drop)) 94 (module (func (v128.const f64x2 0x0123456789ABCDEFabcdefp-019 0x0123456789ABCDEFabcdefp-019) drop)) 95 (module (func (v128.const f64x2 0x0123456789ABCDEFabcdef. 0x0123456789ABCDEFabcdef.) drop)) 96 (module (func (v128.const f64x2 0x0123456789ABCDEFabcdef.p019 0x0123456789ABCDEFabcdef.p019) drop)) 97 (module (func (v128.const f64x2 0x0123456789ABCDEFabcdef.p+019 0x0123456789ABCDEFabcdef.p+019) drop)) 98 (module (func (v128.const f64x2 0x0123456789ABCDEFabcdef.p-019 0x0123456789ABCDEFabcdef.p-019) drop)) 99 (module (func (v128.const f64x2 0x0123456789ABCDEFabcdef.0123456789ABCDEFabcdef 0x0123456789ABCDEFabcdef.0123456789ABCDEFabcdef) drop)) 100 (module (func (v128.const f64x2 0x0123456789ABCDEFabcdef.0123456789ABCDEFabcdefp019 0x0123456789ABCDEFabcdef.0123456789ABCDEFabcdefp019) drop)) 101 (module (func (v128.const f64x2 0x0123456789ABCDEFabcdef.0123456789ABCDEFabcdefp+019 0x0123456789ABCDEFabcdef.0123456789ABCDEFabcdefp+019) drop)) 102 (module (func (v128.const f64x2 0x0123456789ABCDEFabcdef.0123456789ABCDEFabcdefp-019 0x0123456789ABCDEFabcdef.0123456789ABCDEFabcdefp-019) drop)) 103 104 ;; Non-splat cases 105 106 (module (func (v128.const i8x16 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 107 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80) drop)) 108 (module (func (v128.const i8x16 0xFF 0xFF 0xFF 0xFF 255 255 255 255 109 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80 -0x80) drop)) 110 (module (func (v128.const i8x16 0xFF 0xFF 0xFF 0xFF 255 255 255 255 111 -0x80 -0x80 -0x80 -0x80 -128 -128 -128 -128) drop)) 112 (module (func (v128.const i16x8 0xFF 0xFF 0xFF 0xFF -0x8000 -0x8000 -0x8000 -0x8000) drop)) 113 (module (func (v128.const i16x8 0xFF 0xFF 65535 65535 -0x8000 -0x8000 -0x8000 -0x8000) drop)) 114 (module (func (v128.const i16x8 0xFF 0xFF 65535 65535 -0x8000 -0x8000 -32768 -32768) drop)) 115 (module (func (v128.const i32x4 0xffffffff 0xffffffff -0x80000000 -0x80000000) drop)) 116 (module (func (v128.const i32x4 0xffffffff 4294967295 -0x80000000 -0x80000000) drop)) 117 (module (func (v128.const i32x4 0xffffffff 4294967295 -0x80000000 -2147483648) drop)) 118 (module (func (v128.const f32x4 0x1p127 0x1p127 -0x1p127 -1e38) drop)) 119 (module (func (v128.const f32x4 0x1p127 340282356779733623858607532500980858880 -1e38 -340282356779733623858607532500980858880) drop)) 120 (module (func (v128.const f32x4 nan -nan inf -inf) drop)) 121 (module (func (v128.const i64x2 0xffffffffffffffff 0x8000000000000000) drop)) 122 (module (func (v128.const i64x2 0xffffffffffffffff -9223372036854775808) drop)) 123 (module (func (v128.const f64x2 0x1p1023 -1e308) drop)) 124 (module (func (v128.const f64x2 nan -inf) drop)) 125 126 ;; Constant out of range (int literal is too large) 127 128 (module (memory 1)) 129 (assert_malformed 130 (module quote "(func (v128.const i8x16 0x100 0x100 0x100 0x100 0x100 0x100 0x100 0x100 0x100 0x100 0x100 0x100 0x100 0x100 0x100 0x100) drop)") 131 "constant out of range" 132 ) 133 (assert_malformed 134 (module quote "(func (v128.const i8x16 -0x81 -0x81 -0x81 -0x81 -0x81 -0x81 -0x81 -0x81 -0x81 -0x81 -0x81 -0x81 -0x81 -0x81 -0x81 -0x81) drop)") 135 "constant out of range" 136 ) 137 (assert_malformed 138 (module quote "(func (v128.const i8x16 256 256 256 256 256 256 256 256 256 256 256 256 256 256 256 256) drop)") 139 "constant out of range" 140 ) 141 (assert_malformed 142 (module quote "(func (v128.const i8x16 -129 -129 -129 -129 -129 -129 -129 -129 -129 -129 -129 -129 -129 -129 -129 -129) drop)") 143 "constant out of range" 144 ) 145 (assert_malformed 146 (module quote "(func (v128.const i16x8 0x10000 0x10000 0x10000 0x10000 0x10000 0x10000 0x10000 0x10000) drop)") 147 "constant out of range" 148 ) 149 (assert_malformed 150 (module quote "(func (v128.const i16x8 -0x8001 -0x8001 -0x8001 -0x8001 -0x8001 -0x8001 -0x8001 -0x8001) drop)") 151 "constant out of range" 152 ) 153 (assert_malformed 154 (module quote "(func (v128.const i16x8 65536 65536 65536 65536 65536 65536 65536 65536) drop)") 155 "constant out of range" 156 ) 157 (assert_malformed 158 (module quote "(func (v128.const i16x8 -32769 -32769 -32769 -32769 -32769 -32769 -32769 -32769) drop)") 159 "constant out of range" 160 ) 161 (assert_malformed 162 (module quote "(func (v128.const i32x4 0x100000000 0x100000000 0x100000000 0x100000000) drop)") 163 "constant out of range" 164 ) 165 (assert_malformed 166 (module quote "(func (v128.const i32x4 -0x80000001 -0x80000001 -0x80000001 -0x80000001) drop)") 167 "constant out of range" 168 ) 169 (assert_malformed 170 (module quote "(func (v128.const i32x4 4294967296 4294967296 4294967296 4294967296) drop)") 171 "constant out of range" 172 ) 173 (assert_malformed 174 (module quote "(func (v128.const i32x4 -2147483649 -2147483649 -2147483649 -2147483649) drop)") 175 "constant out of range" 176 ) 177 (assert_malformed 178 (module quote "(func (v128.const f32x4 0x1p128 0x1p128 0x1p128 0x1p128) drop)") 179 "constant out of range" 180 ) 181 (assert_malformed 182 (module quote "(func (v128.const f32x4 -0x1p128 -0x1p128 -0x1p128 -0x1p128) drop)") 183 "constant out of range" 184 ) 185 (assert_malformed 186 (module quote "(func (v128.const f32x4 1e39 1e39 1e39 1e39) drop)") 187 "constant out of range" 188 ) 189 (assert_malformed 190 (module quote "(func (v128.const f32x4 -1e39 -1e39 -1e39 -1e39) drop)") 191 "constant out of range" 192 ) 193 (assert_malformed 194 (module quote "(func (v128.const f32x4 340282356779733661637539395458142568448 340282356779733661637539395458142568448" 195 " 340282356779733661637539395458142568448 340282356779733661637539395458142568448) drop)") 196 "constant out of range" 197 ) 198 (assert_malformed 199 (module quote "(func (v128.const f32x4 -340282356779733661637539395458142568448 -340282356779733661637539395458142568448" 200 " -340282356779733661637539395458142568448 -340282356779733661637539395458142568448) drop)") 201 "constant out of range" 202 ) 203 204 (assert_malformed 205 (module quote "(func (v128.const f32x4 nan:0x80_0000 nan:0x80_0000 nan:0x80_0000 nan:0x80_0000) drop)") 206 "constant out of range" 207 ) 208 209 (assert_malformed 210 (module quote "(func (v128.const f64x2 269653970229347356221791135597556535197105851288767494898376215204735891170042808140884337949150317257310688430271573696351481990334196274152701320055306275479074865864826923114368235135583993416113802762682700913456874855354834422248712838998185022412196739306217084753107265771378949821875606039276187287552" 211 " 269653970229347356221791135597556535197105851288767494898376215204735891170042808140884337949150317257310688430271573696351481990334196274152701320055306275479074865864826923114368235135583993416113802762682700913456874855354834422248712838998185022412196739306217084753107265771378949821875606039276187287552) drop)") 212 "constant out of range" 213 ) 214 (assert_malformed 215 (module quote "(func (v128.const f64x2 -269653970229347356221791135597556535197105851288767494898376215204735891170042808140884337949150317257310688430271573696351481990334196274152701320055306275479074865864826923114368235135583993416113802762682700913456874855354834422248712838998185022412196739306217084753107265771378949821875606039276187287552" 216 " -269653970229347356221791135597556535197105851288767494898376215204735891170042808140884337949150317257310688430271573696351481990334196274152701320055306275479074865864826923114368235135583993416113802762682700913456874855354834422248712838998185022412196739306217084753107265771378949821875606039276187287552) drop)") 217 "constant out of range" 218 ) 219 220 (assert_malformed 221 (module quote "(func (v128.const f64x2 nan:0x10_0000_0000_0000 nan:0x10_0000_0000_0000) drop)") 222 "constant out of range" 223 ) 224 225 ;; More malformed v128.const forms 226 (assert_malformed 227 (module quote "(func (v128.const) drop)") 228 "unexpected token" 229 ) 230 231 (assert_malformed 232 (module quote "(func (v128.const 0 0 0 0) drop)") 233 "unexpected token" 234 ) 235 (assert_malformed 236 (module quote "(func (v128.const i8x16) drop)") 237 "wrong number of lane literals" 238 ) 239 (assert_malformed 240 (module quote "(func (v128.const i8x16 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x) drop)") 241 "unknown operator" 242 ) 243 (assert_malformed 244 (module quote "(func (v128.const i8x16 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x) drop)") 245 "unknown operator" 246 ) 247 (assert_malformed 248 (module quote "(func (v128.const i8x16 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg) drop)") 249 "unknown operator" 250 ) 251 252 (assert_malformed 253 (module quote "(func (v128.const i16x8) drop)") 254 "wrong number of lane literals" 255 ) 256 (assert_malformed 257 (module quote "(func (v128.const i16x8 0x 0x 0x 0x 0x 0x 0x 0x) drop)") 258 "unknown operator" 259 ) 260 (assert_malformed 261 (module quote "(func (v128.const i16x8 1x 1x 1x 1x 1x 1x 1x 1x) drop)") 262 "unknown operator" 263 ) 264 (assert_malformed 265 (module quote "(func (v128.const i16x8 0xg 0xg 0xg 0xg 0xg 0xg 0xg 0xg) drop)") 266 "unknown operator" 267 ) 268 269 (assert_malformed 270 (module quote "(func (v128.const i32x4) drop)") 271 "wrong number of lane literals" 272 ) 273 (assert_malformed 274 (module quote "(func (v128.const i32x4 0x 0x 0x 0x) drop)") 275 "unknown operator" 276 ) 277 (assert_malformed 278 (module quote "(func (v128.const i32x4 1x 1x 1x 1x) drop)") 279 "unknown operator" 280 ) 281 (assert_malformed 282 (module quote "(func (v128.const i32x4 0xg 0xg 0xg 0xg) drop)") 283 "unknown operator" 284 ) 285 286 (assert_malformed 287 (module quote "(func (v128.const i64x2) drop)") 288 "wrong number of lane literals" 289 ) 290 (assert_malformed 291 (module quote "(func (v128.const i64x2 0x 0x) drop)") 292 "unknown operator" 293 ) 294 (assert_malformed 295 (module quote "(func (v128.const f64x2 1x 1x) drop)") 296 "unknown operator" 297 ) 298 (assert_malformed 299 (module quote "(func (v128.const f64x2 0xg 0xg) drop)") 300 "unknown operator" 301 ) 302 303 (assert_malformed 304 (module quote "(func (v128.const f32x4) drop)") 305 "wrong number of lane literals" 306 ) 307 (assert_malformed 308 (module quote "(func (v128.const f32x4 .0 .0 .0 .0) drop)") 309 "unknown operator" 310 ) 311 (assert_malformed 312 (module quote "(func (v128.const f32x4 .0e0 .0e0 .0e0 .0e0) drop)") 313 "unknown operator" 314 ) 315 (assert_malformed 316 (module quote "(func (v128.const f32x4 0e 0e 0e 0e) drop)") 317 "unknown operator" 318 ) 319 (assert_malformed 320 (module quote "(func (v128.const f32x4 0e+ 0e+ 0e+ 0e+) drop)") 321 "unknown operator" 322 ) 323 (assert_malformed 324 (module quote "(func (v128.const f32x4 0.0e 0.0e 0.0e 0.0e) drop)") 325 "unknown operator" 326 ) 327 (assert_malformed 328 (module quote "(func (v128.const f32x4 0.0e- 0.0e- 0.0e- 0.0e-) drop)") 329 "unknown operator" 330 ) 331 (assert_malformed 332 (module quote "(func (v128.const f32x4 0x 0x 0x 0x) drop)") 333 "unknown operator" 334 ) 335 (assert_malformed 336 (module quote "(func (v128.const f32x4 1x 1x 1x 1x) drop)") 337 "unknown operator" 338 ) 339 (assert_malformed 340 (module quote "(func (v128.const f32x4 0xg 0xg 0xg 0xg) drop)") 341 "unknown operator" 342 ) 343 (assert_malformed 344 (module quote "(func (v128.const f32x4 0x. 0x. 0x. 0x.) drop)") 345 "unknown operator" 346 ) 347 (assert_malformed 348 (module quote "(func (v128.const f32x4 0x0.g 0x0.g 0x0.g 0x0.g) drop)") 349 "unknown operator" 350 ) 351 (assert_malformed 352 (module quote "(func (v128.const f32x4 0x0p 0x0p 0x0p 0x0p) drop)") 353 "unknown operator" 354 ) 355 (assert_malformed 356 (module quote "(func (v128.const f32x4 0x0p+ 0x0p+ 0x0p+ 0x0p+) drop)") 357 "unknown operator" 358 ) 359 (assert_malformed 360 (module quote "(func (v128.const f32x4 0x0p- 0x0p- 0x0p- 0x0p-) drop)") 361 "unknown operator" 362 ) 363 (assert_malformed 364 (module quote "(func (v128.const f32x4 0x0.0p 0x0.0p 0x0.0p 0x0.0p) drop)") 365 "unknown operator" 366 ) 367 (assert_malformed 368 (module quote "(func (v128.const f32x4 0x0.0p+ 0x0.0p+ 0x0.0p+ 0x0.0p+) drop)") 369 "unknown operator" 370 ) 371 (assert_malformed 372 (module quote "(func (v128.const f32x4 0x0.0p- 0x0.0p- 0x0.0p- 0x0.0p-) drop)") 373 "unknown operator" 374 ) 375 (assert_malformed 376 (module quote "(func (v128.const f32x4 0x0pA 0x0pA 0x0pA 0x0pA) drop)") 377 "unknown operator" 378 ) 379 (assert_malformed 380 (module quote "(func (v128.const f32x4 nan:1 nan:1 nan:1 nan:1) drop)") 381 "unknown operator" 382 ) 383 (assert_malformed 384 (module quote "(func (v128.const f32x4 nan:0x0 nan:0x0 nan:0x0 nan:0x0) drop)") 385 "constant out of range" 386 ) 387 388 (assert_malformed 389 (module quote "(func (v128.const f64x2) drop)") 390 "wrong number of lane literals" 391 ) 392 (assert_malformed 393 (module quote "(func (v128.const f64x2 .0 .0) drop)") 394 "unknown operator" 395 ) 396 (assert_malformed 397 (module quote "(func (v128.const f64x2 .0e0 .0e0) drop)") 398 "unknown operator" 399 ) 400 (assert_malformed 401 (module quote "(func (v128.const f64x2 0e 0e) drop)") 402 "unknown operator" 403 ) 404 (assert_malformed 405 (module quote "(func (v128.const f64x2 0e+ 0e+) drop)") 406 "unknown operator" 407 ) 408 (assert_malformed 409 (module quote "(func (v128.const f64x2 0.0e+ 0.0e+) drop)") 410 "unknown operator" 411 ) 412 (assert_malformed 413 (module quote "(func (v128.const f64x2 0.0e- 0.0e-) drop)") 414 "unknown operator" 415 ) 416 (assert_malformed 417 (module quote "(func (v128.const f64x2 0x 0x) drop)") 418 "unknown operator" 419 ) 420 (assert_malformed 421 (module quote "(func (v128.const f64x2 1x 1x) drop)") 422 "unknown operator" 423 ) 424 (assert_malformed 425 (module quote "(func (v128.const f64x2 0xg 0xg) drop)") 426 "unknown operator" 427 ) 428 (assert_malformed 429 (module quote "(func (v128.const f64x2 0x. 0x.) drop)") 430 "unknown operator" 431 ) 432 (assert_malformed 433 (module quote "(func (v128.const f64x2 0x0.g 0x0.g) drop)") 434 "unknown operator" 435 ) 436 (assert_malformed 437 (module quote "(func (v128.const f64x2 0x0p 0x0p) drop)") 438 "unknown operator" 439 ) 440 (assert_malformed 441 (module quote "(func (v128.const f64x2 0x0p+ 0x0p+) drop)") 442 "unknown operator" 443 ) 444 (assert_malformed 445 (module quote "(func (v128.const f64x2 0x0p- 0x0p-) drop)") 446 "unknown operator" 447 ) 448 (assert_malformed 449 (module quote "(func (v128.const f64x2 0x0.0p 0x0.0p) drop)") 450 "unknown operator" 451 ) 452 (assert_malformed 453 (module quote "(func (v128.const f64x2 0x0.0p+ 0x0.0p+) drop)") 454 "unknown operator" 455 ) 456 (assert_malformed 457 (module quote "(func (v128.const f64x2 0x0.0p- 0x0.0p-) drop)") 458 "unknown operator" 459 ) 460 (assert_malformed 461 (module quote "(func (v128.const f64x2 0x0pA 0x0pA) drop)") 462 "unknown operator" 463 ) 464 (assert_malformed 465 (module quote "(func (v128.const f64x2 nan:1 nan:1) drop)") 466 "unknown operator" 467 ) 468 (assert_malformed 469 (module quote "(func (v128.const f64x2 nan:0x0 nan:0x0) drop)") 470 "constant out of range" 471 ) 472 473 ;; too little arguments 474 475 (assert_malformed 476 (module quote "(func (v128.const i32x4 0x10000000000000000 0x10000000000000000) drop)") 477 "wrong number of lane literals" 478 ) 479 480 ;; too many arguments 481 (assert_malformed 482 (module quote "(func (v128.const i32x4 0x1 0x1 0x1 0x1 0x1) drop)") 483 "wrong number of lane literals" 484 ) 485 486 ;; Rounding behaviour 487 488 ;; f32x4, small exponent 489 (module (func (export "f") (result v128) (v128.const f32x4 +0x1.00000100000000000p-50 +0x1.00000100000000000p-50 +0x1.00000100000000000p-50 +0x1.00000100000000000p-50))) 490 (assert_return (invoke "f") (v128.const f32x4 +0x1.000000p-50 +0x1.000000p-50 +0x1.000000p-50 +0x1.000000p-50)) 491 (module (func (export "f") (result v128) (v128.const f32x4 -0x1.00000100000000000p-50 -0x1.00000100000000000p-50 -0x1.00000100000000000p-50 -0x1.00000100000000000p-50))) 492 (assert_return (invoke "f") (v128.const f32x4 -0x1.000000p-50 -0x1.000000p-50 -0x1.000000p-50 -0x1.000000p-50)) 493 (module (func (export "f") (result v128) (v128.const f32x4 +0x1.00000500000000001p-50 +0x1.00000500000000001p-50 +0x1.00000500000000001p-50 +0x1.00000500000000001p-50))) 494 (assert_return (invoke "f") (v128.const f32x4 +0x1.000006p-50 +0x1.000006p-50 +0x1.000006p-50 +0x1.000006p-50)) 495 (module (func (export "f") (result v128) (v128.const f32x4 -0x1.00000500000000001p-50 -0x1.00000500000000001p-50 -0x1.00000500000000001p-50 -0x1.00000500000000001p-50))) 496 (assert_return (invoke "f") (v128.const f32x4 -0x1.000006p-50 -0x1.000006p-50 -0x1.000006p-50 -0x1.000006p-50)) 497 498 (module (func (export "f") (result v128) (v128.const f32x4 +0x4000.004000000p-64 +0x4000.004000000p-64 +0x4000.004000000p-64 +0x4000.004000000p-64))) 499 (assert_return (invoke "f") (v128.const f32x4 +0x1.000000p-50 +0x1.000000p-50 +0x1.000000p-50 +0x1.000000p-50)) 500 (module (func (export "f") (result v128) (v128.const f32x4 -0x4000.004000000p-64 -0x4000.004000000p-64 -0x4000.004000000p-64 -0x4000.004000000p-64))) 501 (assert_return (invoke "f") (v128.const f32x4 -0x1.000000p-50 -0x1.000000p-50 -0x1.000000p-50 -0x1.000000p-50)) 502 (module (func (export "f") (result v128) (v128.const f32x4 +0x4000.014000001p-64 +0x4000.014000001p-64 +0x4000.014000001p-64 +0x4000.014000001p-64))) 503 (assert_return (invoke "f") (v128.const f32x4 +0x1.000006p-50 +0x1.000006p-50 +0x1.000006p-50 +0x1.000006p-50)) 504 (module (func (export "f") (result v128) (v128.const f32x4 -0x4000.014000001p-64 -0x4000.014000001p-64 -0x4000.014000001p-64 -0x4000.014000001p-64))) 505 (assert_return (invoke "f") (v128.const f32x4 -0x1.000006p-50 -0x1.000006p-50 -0x1.000006p-50 -0x1.000006p-50)) 506 507 (module (func (export "f") (result v128) (v128.const f32x4 +8.8817847263968443573e-16 +8.8817847263968443573e-16 +8.8817847263968443573e-16 +8.8817847263968443573e-16))) 508 (assert_return (invoke "f") (v128.const f32x4 +0x1.000000p-50 +0x1.000000p-50 +0x1.000000p-50 +0x1.000000p-50)) 509 (module (func (export "f") (result v128) (v128.const f32x4 -8.8817847263968443573e-16 -8.8817847263968443573e-16 -8.8817847263968443573e-16 -8.8817847263968443573e-16))) 510 (assert_return (invoke "f") (v128.const f32x4 -0x1.000000p-50 -0x1.000000p-50 -0x1.000000p-50 -0x1.000000p-50)) 511 (module (func (export "f") (result v128) (v128.const f32x4 +8.8817857851880284253e-16 +8.8817857851880284253e-16 +8.8817857851880284253e-16 +8.8817857851880284253e-16))) 512 (assert_return (invoke "f") (v128.const f32x4 +0x1.000004p-50 +0x1.000004p-50 +0x1.000004p-50 +0x1.000004p-50)) 513 (module (func (export "f") (result v128) (v128.const f32x4 -8.8817857851880284253e-16 -8.8817857851880284253e-16 -8.8817857851880284253e-16 -8.8817857851880284253e-16))) 514 (assert_return (invoke "f") (v128.const f32x4 -0x1.000004p-50 -0x1.000004p-50 -0x1.000004p-50 -0x1.000004p-50)) 515 516 ;; f32x4, large exponent 517 (module (func (export "f") (result v128) (v128.const f32x4 +0x1.00000100000000000p+50 +0x1.00000100000000000p+50 +0x1.00000100000000000p+50 +0x1.00000100000000000p+50))) 518 (assert_return (invoke "f") (v128.const f32x4 +0x1.000000p+50 +0x1.000000p+50 +0x1.000000p+50 +0x1.000000p+50)) 519 (module (func (export "f") (result v128) (v128.const f32x4 -0x1.00000100000000000p+50 -0x1.00000100000000000p+50 -0x1.00000100000000000p+50 -0x1.00000100000000000p+50))) 520 (assert_return (invoke "f") (v128.const f32x4 -0x1.000000p+50 -0x1.000000p+50 -0x1.000000p+50 -0x1.000000p+50)) 521 (module (func (export "f") (result v128) (v128.const f32x4 +0x1.00000500000000001p+50 +0x1.00000500000000001p+50 +0x1.00000500000000001p+50 +0x1.00000500000000001p+50))) 522 (assert_return (invoke "f") (v128.const f32x4 +0x1.000006p+50 +0x1.000006p+50 +0x1.000006p+50 +0x1.000006p+50)) 523 (module (func (export "f") (result v128) (v128.const f32x4 -0x1.00000500000000001p+50 -0x1.00000500000000001p+50 -0x1.00000500000000001p+50 -0x1.00000500000000001p+50))) 524 (assert_return (invoke "f") (v128.const f32x4 -0x1.000006p+50 -0x1.000006p+50 -0x1.000006p+50 -0x1.000006p+50)) 525 526 (module (func (export "f") (result v128) (v128.const f32x4 +0x4000004000000 +0x4000004000000 +0x4000004000000 +0x4000004000000))) 527 (assert_return (invoke "f") (v128.const f32x4 +0x1.000000p+50 +0x1.000000p+50 +0x1.000000p+50 +0x1.000000p+50)) 528 (module (func (export "f") (result v128) (v128.const f32x4 -0x4000004000000 -0x4000004000000 -0x4000004000000 -0x4000004000000))) 529 (assert_return (invoke "f") (v128.const f32x4 -0x1.000000p+50 -0x1.000000p+50 -0x1.000000p+50 -0x1.000000p+50)) 530 (module (func (export "f") (result v128) (v128.const f32x4 +0x400000c000000 +0x400000c000000 +0x400000c000000 +0x400000c000000))) 531 (assert_return (invoke "f") (v128.const f32x4 +0x1.000004p+50 +0x1.000004p+50 +0x1.000004p+50 +0x1.000004p+50)) 532 (module (func (export "f") (result v128) (v128.const f32x4 -0x400000c000000 -0x400000c000000 -0x400000c000000 -0x400000c000000))) 533 (assert_return (invoke "f") (v128.const f32x4 -0x1.000004p+50 -0x1.000004p+50 -0x1.000004p+50 -0x1.000004p+50)) 534 535 (module (func (export "f") (result v128) (v128.const f32x4 +1125899973951488 +1125899973951488 +1125899973951488 +1125899973951488))) 536 (assert_return (invoke "f") (v128.const f32x4 +0x1.000000p+50 +0x1.000000p+50 +0x1.000000p+50 +0x1.000000p+50)) 537 (module (func (export "f") (result v128) (v128.const f32x4 -1125899973951488 -1125899973951488 -1125899973951488 -1125899973951488))) 538 (assert_return (invoke "f") (v128.const f32x4 -0x1.000000p+50 -0x1.000000p+50 -0x1.000000p+50 -0x1.000000p+50)) 539 (module (func (export "f") (result v128) (v128.const f32x4 +1125900108169216 +1125900108169216 +1125900108169216 +1125900108169216))) 540 (assert_return (invoke "f") (v128.const f32x4 +0x1.000004p+50 +0x1.000004p+50 +0x1.000004p+50 +0x1.000004p+50)) 541 (module (func (export "f") (result v128) (v128.const f32x4 -1125900108169216 -1125900108169216 -1125900108169216 -1125900108169216))) 542 (assert_return (invoke "f") (v128.const f32x4 -0x1.000004p+50 -0x1.000004p+50 -0x1.000004p+50 -0x1.000004p+50)) 543 544 ;; f32x4, subnormal 545 (module (func (export "f") (result v128) (v128.const f32x4 +0x0.00000100000000000p-126 +0x0.00000100000000000p-126 +0x0.00000100000000000p-126 +0x0.00000100000000000p-126))) 546 (assert_return (invoke "f") (v128.const f32x4 +0x0.000000p-126 +0x0.000000p-126 +0x0.000000p-126 +0x0.000000p-126)) 547 (module (func (export "f") (result v128) (v128.const f32x4 -0x0.00000100000000000p-126 -0x0.00000100000000000p-126 -0x0.00000100000000000p-126 -0x0.00000100000000000p-126))) 548 (assert_return (invoke "f") (v128.const f32x4 -0x0.000000p-126 -0x0.000000p-126 -0x0.000000p-126 -0x0.000000p-126)) 549 (module (func (export "f") (result v128) (v128.const f32x4 +0x0.00000500000000001p-126 +0x0.00000500000000001p-126 +0x0.00000500000000001p-126 +0x0.00000500000000001p-126))) 550 (assert_return (invoke "f") (v128.const f32x4 +0x0.000006p-126 +0x0.000006p-126 +0x0.000006p-126 +0x0.000006p-126)) 551 (module (func (export "f") (result v128) (v128.const f32x4 -0x0.00000500000000001p-126 -0x0.00000500000000001p-126 -0x0.00000500000000001p-126 -0x0.00000500000000001p-126))) 552 (assert_return (invoke "f") (v128.const f32x4 -0x0.000006p-126 -0x0.000006p-126 -0x0.000006p-126 -0x0.000006p-126)) 553 554 ;; f32x4, round down at limit to infinity 555 (module (func (export "f") (result v128) (v128.const f32x4 +0x1.fffffe8p127 +0x1.fffffe8p127 +0x1.fffffe8p127 +0x1.fffffe8p127))) 556 (assert_return (invoke "f") (v128.const f32x4 +0x1.fffffep127 +0x1.fffffep127 +0x1.fffffep127 +0x1.fffffep127)) 557 (module (func (export "f") (result v128) (v128.const f32x4 -0x1.fffffe8p127 -0x1.fffffe8p127 -0x1.fffffe8p127 -0x1.fffffe8p127))) 558 (assert_return (invoke "f") (v128.const f32x4 -0x1.fffffep127 -0x1.fffffep127 -0x1.fffffep127 -0x1.fffffep127)) 559 (module (func (export "f") (result v128) (v128.const f32x4 +0x1.fffffefffffffffffp127 +0x1.fffffefffffffffffp127 +0x1.fffffefffffffffffp127 +0x1.fffffefffffffffffp127))) 560 (assert_return (invoke "f") (v128.const f32x4 +0x1.fffffep127 +0x1.fffffep127 +0x1.fffffep127 +0x1.fffffep127)) 561 (module (func (export "f") (result v128) (v128.const f32x4 -0x1.fffffefffffffffffp127 -0x1.fffffefffffffffffp127 -0x1.fffffefffffffffffp127 -0x1.fffffefffffffffffp127))) 562 (assert_return (invoke "f") (v128.const f32x4 -0x1.fffffep127 -0x1.fffffep127 -0x1.fffffep127 -0x1.fffffep127)) 563 564 ;; f64x2, small exponent 565 (module (func (export "f") (result f64) (f64.const +0x1.000000000000080000000000p-600))) 566 (assert_return (invoke "f") (f64.const +0x1.0000000000000p-600)) 567 (module (func (export "f") (result f64) (f64.const -0x1.000000000000080000000000p-600))) 568 (assert_return (invoke "f") (f64.const -0x1.0000000000000p-600)) 569 (module (func (export "f") (result f64) (f64.const +0x1.000000000000080000000001p-600))) 570 (assert_return (invoke "f") (f64.const +0x1.0000000000001p-600)) 571 (module (func (export "f") (result f64) (f64.const -0x1.000000000000080000000001p-600))) 572 (assert_return (invoke "f") (f64.const -0x1.0000000000001p-600)) 573 (module (func (export "f") (result f64) (f64.const +0x1.0000000000000fffffffffffp-600))) 574 (assert_return (invoke "f") (f64.const +0x1.0000000000001p-600)) 575 (module (func (export "f") (result f64) (f64.const -0x1.0000000000000fffffffffffp-600))) 576 (assert_return (invoke "f") (f64.const -0x1.0000000000001p-600)) 577 (module (func (export "f") (result f64) (f64.const +0x1.000000000000100000000000p-600))) 578 (assert_return (invoke "f") (f64.const +0x1.0000000000001p-600)) 579 (module (func (export "f") (result f64) (f64.const -0x1.000000000000100000000000p-600))) 580 (assert_return (invoke "f") (f64.const -0x1.0000000000001p-600)) 581 (module (func (export "f") (result f64) (f64.const +0x1.000000000000100000000001p-600))) 582 (assert_return (invoke "f") (f64.const +0x1.0000000000001p-600)) 583 (module (func (export "f") (result f64) (f64.const -0x1.000000000000100000000001p-600))) 584 (assert_return (invoke "f") (f64.const -0x1.0000000000001p-600)) 585 (module (func (export "f") (result f64) (f64.const +0x1.00000000000017ffffffffffp-600))) 586 (assert_return (invoke "f") (f64.const +0x1.0000000000001p-600)) 587 (module (func (export "f") (result f64) (f64.const -0x1.00000000000017ffffffffffp-600))) 588 (assert_return (invoke "f") (f64.const -0x1.0000000000001p-600)) 589 (module (func (export "f") (result f64) (f64.const +0x1.000000000000180000000000p-600))) 590 (assert_return (invoke "f") (f64.const +0x1.0000000000002p-600)) 591 (module (func (export "f") (result f64) (f64.const -0x1.000000000000180000000000p-600))) 592 (assert_return (invoke "f") (f64.const -0x1.0000000000002p-600)) 593 (module (func (export "f") (result f64) (f64.const +0x1.000000000000180000000001p-600))) 594 (assert_return (invoke "f") (f64.const +0x1.0000000000002p-600)) 595 (module (func (export "f") (result f64) (f64.const -0x1.000000000000180000000001p-600))) 596 (assert_return (invoke "f") (f64.const -0x1.0000000000002p-600)) 597 (module (func (export "f") (result f64) (f64.const +0x1.0000000000001fffffffffffp-600))) 598 (assert_return (invoke "f") (f64.const +0x1.0000000000002p-600)) 599 (module (func (export "f") (result f64) (f64.const -0x1.0000000000001fffffffffffp-600))) 600 (assert_return (invoke "f") (f64.const -0x1.0000000000002p-600)) 601 (module (func (export "f") (result f64) (f64.const +0x1.000000000000200000000000p-600))) 602 (assert_return (invoke "f") (f64.const +0x1.0000000000002p-600)) 603 (module (func (export "f") (result f64) (f64.const -0x1.000000000000200000000000p-600))) 604 (assert_return (invoke "f") (f64.const -0x1.0000000000002p-600)) 605 (module (func (export "f") (result f64) (f64.const +0x1.000000000000200000000001p-600))) 606 (assert_return (invoke "f") (f64.const +0x1.0000000000002p-600)) 607 (module (func (export "f") (result f64) (f64.const -0x1.000000000000200000000001p-600))) 608 (assert_return (invoke "f") (f64.const -0x1.0000000000002p-600)) 609 (module (func (export "f") (result f64) (f64.const +0x1.00000000000027ffffffffffp-600))) 610 (assert_return (invoke "f") (f64.const +0x1.0000000000002p-600)) 611 (module (func (export "f") (result f64) (f64.const -0x1.00000000000027ffffffffffp-600))) 612 (assert_return (invoke "f") (f64.const -0x1.0000000000002p-600)) 613 (module (func (export "f") (result f64) (f64.const +0x1.000000000000280000000001p-600))) 614 (assert_return (invoke "f") (f64.const +0x1.0000000000003p-600)) 615 (module (func (export "f") (result f64) (f64.const -0x1.000000000000280000000001p-600))) 616 (assert_return (invoke "f") (f64.const -0x1.0000000000003p-600)) 617 (module (func (export "f") (result f64) (f64.const +0x8000000.000000400000000000p-627))) 618 (assert_return (invoke "f") (f64.const +0x1.0000000000000p-600)) 619 (module (func (export "f") (result f64) (f64.const -0x8000000.000000400000000000p-627))) 620 (assert_return (invoke "f") (f64.const -0x1.0000000000000p-600)) 621 (module (func (export "f") (result f64) (f64.const +0x8000000.000000400000000001p-627))) 622 (assert_return (invoke "f") (f64.const +0x1.0000000000001p-600)) 623 (module (func (export "f") (result f64) (f64.const -0x8000000.000000400000000001p-627))) 624 (assert_return (invoke "f") (f64.const -0x1.0000000000001p-600)) 625 (module (func (export "f") (result f64) (f64.const +0x8000000.0000007fffffffffffp-627))) 626 (assert_return (invoke "f") (f64.const +0x1.0000000000001p-600)) 627 (module (func (export "f") (result f64) (f64.const -0x8000000.0000007fffffffffffp-627))) 628 (assert_return (invoke "f") (f64.const -0x1.0000000000001p-600)) 629 (module (func (export "f") (result f64) (f64.const +0x8000000.000000800000000000p-627))) 630 (assert_return (invoke "f") (f64.const +0x1.0000000000001p-600)) 631 (module (func (export "f") (result f64) (f64.const -0x8000000.000000800000000000p-627))) 632 (assert_return (invoke "f") (f64.const -0x1.0000000000001p-600)) 633 (module (func (export "f") (result f64) (f64.const +0x8000000.000000800000000001p-627))) 634 (assert_return (invoke "f") (f64.const +0x1.0000000000001p-600)) 635 (module (func (export "f") (result f64) (f64.const -0x8000000.000000800000000001p-627))) 636 (assert_return (invoke "f") (f64.const -0x1.0000000000001p-600)) 637 (module (func (export "f") (result f64) (f64.const +0x8000000.000000bfffffffffffp-627))) 638 (assert_return (invoke "f") (f64.const +0x1.0000000000001p-600)) 639 (module (func (export "f") (result f64) (f64.const -0x8000000.000000bfffffffffffp-627))) 640 (assert_return (invoke "f") (f64.const -0x1.0000000000001p-600)) 641 (module (func (export "f") (result f64) (f64.const +0x8000000.000000c00000000000p-627))) 642 (assert_return (invoke "f") (f64.const +0x1.0000000000002p-600)) 643 (module (func (export "f") (result f64) (f64.const -0x8000000.000000c00000000000p-627))) 644 (assert_return (invoke "f") (f64.const -0x1.0000000000002p-600)) 645 (module (func (export "f") (result f64) (f64.const +0x8000000.000000c00000000001p-627))) 646 (assert_return (invoke "f") (f64.const +0x1.0000000000002p-600)) 647 (module (func (export "f") (result f64) (f64.const -0x8000000.000000c00000000001p-627))) 648 (assert_return (invoke "f") (f64.const -0x1.0000000000002p-600)) 649 (module (func (export "f") (result f64) (f64.const +0x8000000.000000ffffffffffffp-627))) 650 (assert_return (invoke "f") (f64.const +0x1.0000000000002p-600)) 651 (module (func (export "f") (result f64) (f64.const -0x8000000.000000ffffffffffffp-627))) 652 (assert_return (invoke "f") (f64.const -0x1.0000000000002p-600)) 653 (module (func (export "f") (result f64) (f64.const +0x8000000.000001000000000000p-627))) 654 (assert_return (invoke "f") (f64.const +0x1.0000000000002p-600)) 655 (module (func (export "f") (result f64) (f64.const -0x8000000.000001000000000000p-627))) 656 (assert_return (invoke "f") (f64.const -0x1.0000000000002p-600)) 657 (module (func (export "f") (result f64) (f64.const +0x8000000.000001000000000001p-627))) 658 (assert_return (invoke "f") (f64.const +0x1.0000000000002p-600)) 659 (module (func (export "f") (result f64) (f64.const -0x8000000.000001000000000001p-627))) 660 (assert_return (invoke "f") (f64.const -0x1.0000000000002p-600)) 661 (module (func (export "f") (result f64) (f64.const +0x8000000.0000013fffffffffffp-627))) 662 (assert_return (invoke "f") (f64.const +0x1.0000000000002p-600)) 663 (module (func (export "f") (result f64) (f64.const -0x8000000.0000013fffffffffffp-627))) 664 (assert_return (invoke "f") (f64.const -0x1.0000000000002p-600)) 665 (module (func (export "f") (result f64) (f64.const +0x8000000.000001400000000001p-627))) 666 (assert_return (invoke "f") (f64.const +0x1.0000000000003p-600)) 667 (module (func (export "f") (result f64) (f64.const -0x8000000.000001400000000001p-627))) 668 (assert_return (invoke "f") (f64.const -0x1.0000000000003p-600)) 669 (module (func (export "f") (result f64) (f64.const +5.3575430359313371995e+300))) 670 (assert_return (invoke "f") (f64.const +0x1.0000000000000p+999)) 671 (module (func (export "f") (result f64) (f64.const -5.3575430359313371995e+300))) 672 (assert_return (invoke "f") (f64.const -0x1.0000000000000p+999)) 673 (module (func (export "f") (result f64) (f64.const +5.3575430359313371996e+300))) 674 (assert_return (invoke "f") (f64.const +0x1.0000000000001p+999)) 675 (module (func (export "f") (result f64) (f64.const -5.3575430359313371996e+300))) 676 (assert_return (invoke "f") (f64.const -0x1.0000000000001p+999)) 677 (module (func (export "f") (result f64) (f64.const +5.3575430359313383891e+300))) 678 (assert_return (invoke "f") (f64.const +0x1.0000000000001p+999)) 679 (module (func (export "f") (result f64) (f64.const -5.3575430359313383891e+300))) 680 (assert_return (invoke "f") (f64.const -0x1.0000000000001p+999)) 681 (module (func (export "f") (result f64) (f64.const +5.3575430359313383892e+300))) 682 (assert_return (invoke "f") (f64.const +0x1.0000000000002p+999)) 683 (module (func (export "f") (result f64) (f64.const -5.3575430359313383892e+300))) 684 (assert_return (invoke "f") (f64.const -0x1.0000000000002p+999)) 685 686 ;; f64, large exponent 687 (module (func (export "f") (result v128) (v128.const f64x2 +0x1.000000000000080000000000p+600 +0x1.000000000000080000000000p+600))) 688 (assert_return (invoke "f") (v128.const f64x2 +0x1.0000000000000p+600 +0x1.0000000000000p+600)) 689 (module (func (export "f") (result v128) (v128.const f64x2 -0x1.000000000000080000000000p+600 -0x1.000000000000080000000000p+600))) 690 (assert_return (invoke "f") (v128.const f64x2 -0x1.0000000000000p+600 -0x1.0000000000000p+600)) 691 (module (func (export "f") (result v128) (v128.const f64x2 +0x1.000000000000080000000001p+600 +0x1.000000000000080000000001p+600))) 692 (assert_return (invoke "f") (v128.const f64x2 +0x1.0000000000001p+600 +0x1.0000000000001p+600)) 693 (module (func (export "f") (result v128) (v128.const f64x2 -0x1.000000000000080000000001p+600 -0x1.000000000000080000000001p+600))) 694 (assert_return (invoke "f") (v128.const f64x2 -0x1.0000000000001p+600 -0x1.0000000000001p+600)) 695 (module (func (export "f") (result v128) (v128.const f64x2 +0x1.0000000000000fffffffffffp+600 +0x1.0000000000000fffffffffffp+600))) 696 (assert_return (invoke "f") (v128.const f64x2 +0x1.0000000000001p+600 +0x1.0000000000001p+600)) 697 (module (func (export "f") (result v128) (v128.const f64x2 -0x1.0000000000000fffffffffffp+600 -0x1.0000000000000fffffffffffp+600))) 698 (assert_return (invoke "f") (v128.const f64x2 -0x1.0000000000001p+600 -0x1.0000000000001p+600)) 699 (module (func (export "f") (result v128) (v128.const f64x2 +0x1.000000000000100000000000p+600 +0x1.000000000000100000000000p+600))) 700 (assert_return (invoke "f") (v128.const f64x2 +0x1.0000000000001p+600 +0x1.0000000000001p+600)) 701 (module (func (export "f") (result v128) (v128.const f64x2 -0x1.000000000000100000000000p+600 -0x1.000000000000100000000000p+600))) 702 (assert_return (invoke "f") (v128.const f64x2 -0x1.0000000000001p+600 -0x1.0000000000001p+600)) 703 (module (func (export "f") (result v128) (v128.const f64x2 +0x1.000000000000100000000001p+600 +0x1.000000000000100000000001p+600))) 704 (assert_return (invoke "f") (v128.const f64x2 +0x1.0000000000001p+600 +0x1.0000000000001p+600)) 705 (module (func (export "f") (result v128) (v128.const f64x2 -0x1.000000000000100000000001p+600 -0x1.000000000000100000000001p+600))) 706 (assert_return (invoke "f") (v128.const f64x2 -0x1.0000000000001p+600 -0x1.0000000000001p+600)) 707 (module (func (export "f") (result v128) (v128.const f64x2 +0x1.00000000000017ffffffffffp+600 +0x1.00000000000017ffffffffffp+600))) 708 (assert_return (invoke "f") (v128.const f64x2 +0x1.0000000000001p+600 +0x1.0000000000001p+600)) 709 (module (func (export "f") (result v128) (v128.const f64x2 -0x1.00000000000017ffffffffffp+600 -0x1.00000000000017ffffffffffp+600))) 710 (assert_return (invoke "f") (v128.const f64x2 -0x1.0000000000001p+600 -0x1.0000000000001p+600)) 711 (module (func (export "f") (result v128) (v128.const f64x2 +0x1.000000000000180000000000p+600 +0x1.000000000000180000000000p+600))) 712 (assert_return (invoke "f") (v128.const f64x2 +0x1.0000000000002p+600 +0x1.0000000000002p+600)) 713 (module (func (export "f") (result v128) (v128.const f64x2 -0x1.000000000000180000000000p+600 -0x1.000000000000180000000000p+600))) 714 (assert_return (invoke "f") (v128.const f64x2 -0x1.0000000000002p+600 -0x1.0000000000002p+600)) 715 (module (func (export "f") (result v128) (v128.const f64x2 +0x1.000000000000180000000001p+600 +0x1.000000000000180000000001p+600))) 716 (assert_return (invoke "f") (v128.const f64x2 +0x1.0000000000002p+600 +0x1.0000000000002p+600)) 717 (module (func (export "f") (result v128) (v128.const f64x2 -0x1.000000000000180000000001p+600 -0x1.000000000000180000000001p+600))) 718 (assert_return (invoke "f") (v128.const f64x2 -0x1.0000000000002p+600 -0x1.0000000000002p+600)) 719 (module (func (export "f") (result v128) (v128.const f64x2 +0x1.0000000000001fffffffffffp+600 +0x1.0000000000001fffffffffffp+600))) 720 (assert_return (invoke "f") (v128.const f64x2 +0x1.0000000000002p+600 +0x1.0000000000002p+600)) 721 (module (func (export "f") (result v128) (v128.const f64x2 -0x1.0000000000001fffffffffffp+600 -0x1.0000000000001fffffffffffp+600))) 722 (assert_return (invoke "f") (v128.const f64x2 -0x1.0000000000002p+600 -0x1.0000000000002p+600)) 723 (module (func (export "f") (result v128) (v128.const f64x2 +0x1.000000000000200000000000p+600 +0x1.000000000000200000000000p+600))) 724 (assert_return (invoke "f") (v128.const f64x2 +0x1.0000000000002p+600 +0x1.0000000000002p+600)) 725 (module (func (export "f") (result v128) (v128.const f64x2 -0x1.000000000000200000000000p+600 -0x1.000000000000200000000000p+600))) 726 (assert_return (invoke "f") (v128.const f64x2 -0x1.0000000000002p+600 -0x1.0000000000002p+600)) 727 (module (func (export "f") (result v128) (v128.const f64x2 +0x1.000000000000200000000001p+600 +0x1.000000000000200000000001p+600))) 728 (assert_return (invoke "f") (v128.const f64x2 +0x1.0000000000002p+600 +0x1.0000000000002p+600)) 729 (module (func (export "f") (result v128) (v128.const f64x2 -0x1.000000000000200000000001p+600 -0x1.000000000000200000000001p+600))) 730 (assert_return (invoke "f") (v128.const f64x2 -0x1.0000000000002p+600 -0x1.0000000000002p+600)) 731 (module (func (export "f") (result v128) (v128.const f64x2 +0x1.00000000000027ffffffffffp+600 +0x1.00000000000027ffffffffffp+600))) 732 (assert_return (invoke "f") (v128.const f64x2 +0x1.0000000000002p+600 +0x1.0000000000002p+600)) 733 (module (func (export "f") (result v128) (v128.const f64x2 -0x1.00000000000027ffffffffffp+600 -0x1.00000000000027ffffffffffp+600))) 734 (assert_return (invoke "f") (v128.const f64x2 -0x1.0000000000002p+600 -0x1.0000000000002p+600)) 735 (module (func (export "f") (result v128) (v128.const f64x2 +0x1.000000000000280000000000p+600 +0x1.000000000000280000000000p+600))) 736 (assert_return (invoke "f") (v128.const f64x2 +0x1.0000000000002p+600 +0x1.0000000000002p+600)) 737 (module (func (export "f") (result v128) (v128.const f64x2 -0x1.000000000000280000000000p+600 -0x1.000000000000280000000000p+600))) 738 (assert_return (invoke "f") (v128.const f64x2 -0x1.0000000000002p+600 -0x1.0000000000002p+600)) 739 (module (func (export "f") (result v128) (v128.const f64x2 +0x1.000000000000280000000001p+600 +0x1.000000000000280000000001p+600))) 740 (assert_return (invoke "f") (v128.const f64x2 +0x1.0000000000003p+600 +0x1.0000000000003p+600)) 741 (module (func (export "f") (result v128) (v128.const f64x2 -0x1.000000000000280000000001p+600 -0x1.000000000000280000000001p+600))) 742 (assert_return (invoke "f") (v128.const f64x2 -0x1.0000000000003p+600 -0x1.0000000000003p+600)) 743 (module (func (export "f") (result v128) (v128.const f64x2 +0x2000000000000100000000000 +0x2000000000000100000000000))) 744 (assert_return (invoke "f") (v128.const f64x2 +0x1.0000000000000p+97 +0x1.0000000000000p+97)) 745 (module (func (export "f") (result v128) (v128.const f64x2 -0x2000000000000100000000000 -0x2000000000000100000000000))) 746 (assert_return (invoke "f") (v128.const f64x2 -0x1.0000000000000p+97 -0x1.0000000000000p+97)) 747 (module (func (export "f") (result v128) (v128.const f64x2 +0x2000000000000100000000001 +0x2000000000000100000000001))) 748 (assert_return (invoke "f") (v128.const f64x2 +0x1.0000000000001p+97 +0x1.0000000000001p+97)) 749 (module (func (export "f") (result v128) (v128.const f64x2 -0x2000000000000100000000001 -0x2000000000000100000000001))) 750 (assert_return (invoke "f") (v128.const f64x2 -0x1.0000000000001p+97 -0x1.0000000000001p+97)) 751 (module (func (export "f") (result v128) (v128.const f64x2 +0x20000000000001fffffffffff +0x20000000000001fffffffffff))) 752 (assert_return (invoke "f") (v128.const f64x2 +0x1.0000000000001p+97 +0x1.0000000000001p+97)) 753 (module (func (export "f") (result v128) (v128.const f64x2 -0x20000000000001fffffffffff -0x20000000000001fffffffffff))) 754 (assert_return (invoke "f") (v128.const f64x2 -0x1.0000000000001p+97 -0x1.0000000000001p+97)) 755 (module (func (export "f") (result v128) (v128.const f64x2 +0x2000000000000200000000000 +0x2000000000000200000000000))) 756 (assert_return (invoke "f") (v128.const f64x2 +0x1.0000000000001p+97 +0x1.0000000000001p+97)) 757 (module (func (export "f") (result v128) (v128.const f64x2 -0x2000000000000200000000000 -0x2000000000000200000000000))) 758 (assert_return (invoke "f") (v128.const f64x2 -0x1.0000000000001p+97 -0x1.0000000000001p+97)) 759 (module (func (export "f") (result v128) (v128.const f64x2 +0x2000000000000200000000001 +0x2000000000000200000000001))) 760 (assert_return (invoke "f") (v128.const f64x2 +0x1.0000000000001p+97 +0x1.0000000000001p+97)) 761 (module (func (export "f") (result v128) (v128.const f64x2 -0x2000000000000200000000001 -0x2000000000000200000000001))) 762 (assert_return (invoke "f") (v128.const f64x2 -0x1.0000000000001p+97 -0x1.0000000000001p+97)) 763 (module (func (export "f") (result v128) (v128.const f64x2 +0x20000000000002fffffffffff +0x20000000000002fffffffffff))) 764 (assert_return (invoke "f") (v128.const f64x2 +0x1.0000000000001p+97 +0x1.0000000000001p+97)) 765 (module (func (export "f") (result v128) (v128.const f64x2 -0x20000000000002fffffffffff -0x20000000000002fffffffffff))) 766 (assert_return (invoke "f") (v128.const f64x2 -0x1.0000000000001p+97 -0x1.0000000000001p+97)) 767 (module (func (export "f") (result v128) (v128.const f64x2 +0x2000000000000300000000000 +0x2000000000000300000000000))) 768 (assert_return (invoke "f") (v128.const f64x2 +0x1.0000000000002p+97 +0x1.0000000000002p+97)) 769 (module (func (export "f") (result v128) (v128.const f64x2 -0x2000000000000300000000000 -0x2000000000000300000000000))) 770 (assert_return (invoke "f") (v128.const f64x2 -0x1.0000000000002p+97 -0x1.0000000000002p+97)) 771 (module (func (export "f") (result v128) (v128.const f64x2 +0x2000000000000300000000001 +0x2000000000000300000000001))) 772 (assert_return (invoke "f") (v128.const f64x2 +0x1.0000000000002p+97 +0x1.0000000000002p+97)) 773 (module (func (export "f") (result v128) (v128.const f64x2 -0x2000000000000300000000001 -0x2000000000000300000000001))) 774 (assert_return (invoke "f") (v128.const f64x2 -0x1.0000000000002p+97 -0x1.0000000000002p+97)) 775 (module (func (export "f") (result v128) (v128.const f64x2 +0x20000000000003fffffffffff +0x20000000000003fffffffffff))) 776 (assert_return (invoke "f") (v128.const f64x2 +0x1.0000000000002p+97 +0x1.0000000000002p+97)) 777 (module (func (export "f") (result v128) (v128.const f64x2 -0x20000000000003fffffffffff -0x20000000000003fffffffffff))) 778 (assert_return (invoke "f") (v128.const f64x2 -0x1.0000000000002p+97 -0x1.0000000000002p+97)) 779 (module (func (export "f") (result v128) (v128.const f64x2 +0x2000000000000400000000000 +0x2000000000000400000000000))) 780 (assert_return (invoke "f") (v128.const f64x2 +0x1.0000000000002p+97 +0x1.0000000000002p+97)) 781 (module (func (export "f") (result v128) (v128.const f64x2 -0x2000000000000400000000000 -0x2000000000000400000000000))) 782 (assert_return (invoke "f") (v128.const f64x2 -0x1.0000000000002p+97 -0x1.0000000000002p+97)) 783 (module (func (export "f") (result v128) (v128.const f64x2 +0x2000000000000400000000001 +0x2000000000000400000000001))) 784 (assert_return (invoke "f") (v128.const f64x2 +0x1.0000000000002p+97 +0x1.0000000000002p+97)) 785 (module (func (export "f") (result v128) (v128.const f64x2 -0x2000000000000400000000001 -0x2000000000000400000000001))) 786 (assert_return (invoke "f") (v128.const f64x2 -0x1.0000000000002p+97 -0x1.0000000000002p+97)) 787 (module (func (export "f") (result v128) (v128.const f64x2 +0x20000000000004fffffffffff +0x20000000000004fffffffffff))) 788 (assert_return (invoke "f") (v128.const f64x2 +0x1.0000000000002p+97 +0x1.0000000000002p+97)) 789 (module (func (export "f") (result v128) (v128.const f64x2 -0x20000000000004fffffffffff -0x20000000000004fffffffffff))) 790 (assert_return (invoke "f") (v128.const f64x2 -0x1.0000000000002p+97 -0x1.0000000000002p+97)) 791 (module (func (export "f") (result v128) (v128.const f64x2 +0x2000000000000500000000000 +0x2000000000000500000000000))) 792 (assert_return (invoke "f") (v128.const f64x2 +0x1.0000000000002p+97 +0x1.0000000000002p+97)) 793 (module (func (export "f") (result v128) (v128.const f64x2 -0x2000000000000500000000000 -0x2000000000000500000000000))) 794 (assert_return (invoke "f") (v128.const f64x2 -0x1.0000000000002p+97 -0x1.0000000000002p+97)) 795 (module (func (export "f") (result v128) (v128.const f64x2 +0x2000000000000500000000001 +0x2000000000000500000000001))) 796 (assert_return (invoke "f") (v128.const f64x2 +0x1.0000000000003p+97 +0x1.0000000000003p+97)) 797 (module (func (export "f") (result v128) (v128.const f64x2 -0x2000000000000500000000001 -0x2000000000000500000000001))) 798 (assert_return (invoke "f") (v128.const f64x2 -0x1.0000000000003p+97 -0x1.0000000000003p+97)) 799 (module (func (export "f") (result v128) (v128.const f64x2 +1152921504606847104 +1152921504606847104))) 800 (assert_return (invoke "f") (v128.const f64x2 +0x1.0000000000000p+60 +0x1.0000000000000p+60)) 801 (module (func (export "f") (result v128) (v128.const f64x2 -1152921504606847104 -1152921504606847104))) 802 (assert_return (invoke "f") (v128.const f64x2 -0x1.0000000000000p+60 -0x1.0000000000000p+60)) 803 (module (func (export "f") (result v128) (v128.const f64x2 +1152921504606847105 +1152921504606847105))) 804 (assert_return (invoke "f") (v128.const f64x2 +0x1.0000000000001p+60 +0x1.0000000000001p+60)) 805 (module (func (export "f") (result v128) (v128.const f64x2 -1152921504606847105 -1152921504606847105))) 806 (assert_return (invoke "f") (v128.const f64x2 -0x1.0000000000001p+60 -0x1.0000000000001p+60)) 807 (module (func (export "f") (result v128) (v128.const f64x2 +1152921504606847359 +1152921504606847359))) 808 (assert_return (invoke "f") (v128.const f64x2 +0x1.0000000000001p+60 +0x1.0000000000001p+60)) 809 (module (func (export "f") (result v128) (v128.const f64x2 -1152921504606847359 -1152921504606847359))) 810 (assert_return (invoke "f") (v128.const f64x2 -0x1.0000000000001p+60 -0x1.0000000000001p+60)) 811 (module (func (export "f") (result v128) (v128.const f64x2 +1152921504606847360 +1152921504606847360))) 812 (assert_return (invoke "f") (v128.const f64x2 +0x1.0000000000002p+60 +0x1.0000000000002p+60)) 813 (module (func (export "f") (result v128) (v128.const f64x2 -1152921504606847360 -1152921504606847360))) 814 (assert_return (invoke "f") (v128.const f64x2 -0x1.0000000000002p+60 -0x1.0000000000002p+60)) 815 816 ;; f64x2, subnormal 817 (module (func (export "f") (result v128) (v128.const f64x2 +0x0.000000000000080000000000p-1022 +0x0.000000000000080000000000p-1022))) 818 (assert_return (invoke "f") (v128.const f64x2 +0x0.0000000000000p-1022 +0x0.0000000000000p-1022)) 819 (module (func (export "f") (result v128) (v128.const f64x2 -0x0.000000000000080000000000p-1022 -0x0.000000000000080000000000p-1022))) 820 (assert_return (invoke "f") (v128.const f64x2 -0x0.0000000000000p-1022 -0x0.0000000000000p-1022)) 821 (module (func (export "f") (result v128) (v128.const f64x2 +0x0.000000000000080000000001p-1022 +0x0.000000000000080000000001p-1022))) 822 (assert_return (invoke "f") (v128.const f64x2 +0x0.0000000000001p-1022 +0x0.0000000000001p-1022)) 823 (module (func (export "f") (result v128) (v128.const f64x2 -0x0.000000000000080000000001p-1022 -0x0.000000000000080000000001p-1022))) 824 (assert_return (invoke "f") (v128.const f64x2 -0x0.0000000000001p-1022 -0x0.0000000000001p-1022)) 825 (module (func (export "f") (result v128) (v128.const f64x2 +0x0.0000000000000fffffffffffp-1022 +0x0.0000000000000fffffffffffp-1022))) 826 (assert_return (invoke "f") (v128.const f64x2 +0x0.0000000000001p-1022 +0x0.0000000000001p-1022)) 827 (module (func (export "f") (result v128) (v128.const f64x2 -0x0.0000000000000fffffffffffp-1022 -0x0.0000000000000fffffffffffp-1022))) 828 (assert_return (invoke "f") (v128.const f64x2 -0x0.0000000000001p-1022 -0x0.0000000000001p-1022)) 829 (module (func (export "f") (result v128) (v128.const f64x2 +0x0.000000000000100000000000p-1022 +0x0.000000000000100000000000p-1022))) 830 (assert_return (invoke "f") (v128.const f64x2 +0x0.0000000000001p-1022 +0x0.0000000000001p-1022)) 831 (module (func (export "f") (result v128) (v128.const f64x2 -0x0.000000000000100000000000p-1022 -0x0.000000000000100000000000p-1022))) 832 (assert_return (invoke "f") (v128.const f64x2 -0x0.0000000000001p-1022 -0x0.0000000000001p-1022)) 833 (module (func (export "f") (result v128) (v128.const f64x2 +0x0.000000000000100000000001p-1022 +0x0.000000000000100000000001p-1022))) 834 (assert_return (invoke "f") (v128.const f64x2 +0x0.0000000000001p-1022 +0x0.0000000000001p-1022)) 835 (module (func (export "f") (result v128) (v128.const f64x2 -0x0.000000000000100000000001p-1022 -0x0.000000000000100000000001p-1022))) 836 (assert_return (invoke "f") (v128.const f64x2 -0x0.0000000000001p-1022 -0x0.0000000000001p-1022)) 837 (module (func (export "f") (result v128) (v128.const f64x2 +0x0.00000000000017ffffffffffp-1022 +0x0.00000000000017ffffffffffp-1022))) 838 (assert_return (invoke "f") (v128.const f64x2 +0x0.0000000000001p-1022 +0x0.0000000000001p-1022)) 839 (module (func (export "f") (result v128) (v128.const f64x2 -0x0.00000000000017ffffffffffp-1022 -0x0.00000000000017ffffffffffp-1022))) 840 (assert_return (invoke "f") (v128.const f64x2 -0x0.0000000000001p-1022 -0x0.0000000000001p-1022)) 841 (module (func (export "f") (result v128) (v128.const f64x2 +0x0.000000000000180000000000p-1022 +0x0.000000000000180000000000p-1022))) 842 (assert_return (invoke "f") (v128.const f64x2 +0x0.0000000000002p-1022 +0x0.0000000000002p-1022)) 843 (module (func (export "f") (result v128) (v128.const f64x2 -0x0.000000000000180000000000p-1022 -0x0.000000000000180000000000p-1022))) 844 (assert_return (invoke "f") (v128.const f64x2 -0x0.0000000000002p-1022 -0x0.0000000000002p-1022)) 845 (module (func (export "f") (result v128) (v128.const f64x2 +0x0.000000000000180000000001p-1022 +0x0.000000000000180000000001p-1022))) 846 (assert_return (invoke "f") (v128.const f64x2 +0x0.0000000000002p-1022 +0x0.0000000000002p-1022)) 847 (module (func (export "f") (result v128) (v128.const f64x2 -0x0.000000000000180000000001p-1022 -0x0.000000000000180000000001p-1022))) 848 (assert_return (invoke "f") (v128.const f64x2 -0x0.0000000000002p-1022 -0x0.0000000000002p-1022)) 849 (module (func (export "f") (result v128) (v128.const f64x2 +0x0.0000000000001fffffffffffp-1022 +0x0.0000000000001fffffffffffp-1022))) 850 (assert_return (invoke "f") (v128.const f64x2 +0x0.0000000000002p-1022 +0x0.0000000000002p-1022)) 851 (module (func (export "f") (result v128) (v128.const f64x2 -0x0.0000000000001fffffffffffp-1022 -0x0.0000000000001fffffffffffp-1022))) 852 (assert_return (invoke "f") (v128.const f64x2 -0x0.0000000000002p-1022 -0x0.0000000000002p-1022)) 853 (module (func (export "f") (result v128) (v128.const f64x2 +0x0.000000000000200000000000p-1022 +0x0.000000000000200000000000p-1022))) 854 (assert_return (invoke "f") (v128.const f64x2 +0x0.0000000000002p-1022 +0x0.0000000000002p-1022)) 855 (module (func (export "f") (result v128) (v128.const f64x2 -0x0.000000000000200000000000p-1022 -0x0.000000000000200000000000p-1022))) 856 (assert_return (invoke "f") (v128.const f64x2 -0x0.0000000000002p-1022 -0x0.0000000000002p-1022)) 857 (module (func (export "f") (result v128) (v128.const f64x2 +0x0.000000000000200000000001p-1022 +0x0.000000000000200000000001p-1022))) 858 (assert_return (invoke "f") (v128.const f64x2 +0x0.0000000000002p-1022 +0x0.0000000000002p-1022)) 859 (module (func (export "f") (result v128) (v128.const f64x2 -0x0.000000000000200000000001p-1022 -0x0.000000000000200000000001p-1022))) 860 (assert_return (invoke "f") (v128.const f64x2 -0x0.0000000000002p-1022 -0x0.0000000000002p-1022)) 861 (module (func (export "f") (result v128) (v128.const f64x2 +0x0.00000000000027ffffffffffp-1022 +0x0.00000000000027ffffffffffp-1022))) 862 (assert_return (invoke "f") (v128.const f64x2 +0x0.0000000000002p-1022 +0x0.0000000000002p-1022)) 863 (module (func (export "f") (result v128) (v128.const f64x2 -0x0.00000000000027ffffffffffp-1022 -0x0.00000000000027ffffffffffp-1022))) 864 (assert_return (invoke "f") (v128.const f64x2 -0x0.0000000000002p-1022 -0x0.0000000000002p-1022)) 865 (module (func (export "f") (result v128) (v128.const f64x2 +0x0.000000000000280000000000p-1022 +0x0.000000000000280000000000p-1022))) 866 (assert_return (invoke "f") (v128.const f64x2 +0x0.0000000000002p-1022 +0x0.0000000000002p-1022)) 867 (module (func (export "f") (result v128) (v128.const f64x2 -0x0.000000000000280000000000p-1022 -0x0.000000000000280000000000p-1022))) 868 (assert_return (invoke "f") (v128.const f64x2 -0x0.0000000000002p-1022 -0x0.0000000000002p-1022)) 869 (module (func (export "f") (result v128) (v128.const f64x2 +0x1.000000000000280000000001p-1022 +0x1.000000000000280000000001p-1022))) 870 (assert_return (invoke "f") (v128.const f64x2 +0x1.0000000000003p-1022 +0x1.0000000000003p-1022)) 871 (module (func (export "f") (result v128) (v128.const f64x2 -0x1.000000000000280000000001p-1022 -0x1.000000000000280000000001p-1022))) 872 (assert_return (invoke "f") (v128.const f64x2 -0x1.0000000000003p-1022 -0x1.0000000000003p-1022)) 873 874 ;; f64x2, round down at limit to infinity 875 (module (func (export "f") (result v128) (v128.const f64x2 +0x1.fffffffffffff4p1023 +0x1.fffffffffffff4p1023))) 876 (assert_return (invoke "f") (v128.const f64x2 +0x1.fffffffffffffp1023 +0x1.fffffffffffffp1023)) 877 (module (func (export "f") (result v128) (v128.const f64x2 -0x1.fffffffffffff4p1023 -0x1.fffffffffffff4p1023))) 878 (assert_return (invoke "f") (v128.const f64x2 -0x1.fffffffffffffp1023 -0x1.fffffffffffffp1023)) 879 (module (func (export "f") (result v128) (v128.const f64x2 +0x1.fffffffffffff7ffffffp1023 +0x1.fffffffffffff7ffffffp1023))) 880 (assert_return (invoke "f") (v128.const f64x2 +0x1.fffffffffffffp1023 +0x1.fffffffffffffp1023)) 881 (module (func (export "f") (result v128) (v128.const f64x2 -0x1.fffffffffffff7ffffffp1023 -0x1.fffffffffffff7ffffffp1023))) 882 (assert_return (invoke "f") (v128.const f64x2 -0x1.fffffffffffffp1023 -0x1.fffffffffffffp1023)) 883 884 ;; As parameters of control constructs 885 886 (module (memory 1) 887 (func (export "as-br-retval") (result v128) 888 (block (result v128) (br 0 (v128.const i32x4 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c))) 889 ) 890 (func (export "as-br_if-retval") (result v128) 891 (block (result v128) 892 (br_if 0 (v128.const i32x4 0 1 2 3) (i32.const 1)) 893 ) 894 ) 895 (func (export "as-return-retval") (result v128) 896 (return (v128.const i32x4 0 1 2 3)) 897 ) 898 (func (export "as-if-then-retval") (result v128) 899 (if (result v128) (i32.const 1) 900 (then (v128.const i32x4 0 1 2 3)) (else (v128.const i32x4 3 2 1 0)) 901 ) 902 ) 903 (func (export "as-if-else-retval") (result v128) 904 (if (result v128) (i32.const 0) 905 (then (v128.const i32x4 0 1 2 3)) (else (v128.const i32x4 3 2 1 0)) 906 ) 907 ) 908 (func $f (param v128 v128 v128) (result v128) (v128.const i32x4 0 1 2 3)) 909 (func (export "as-call-param") (result v128) 910 (call $f (v128.const i32x4 0 1 2 3) (v128.const i32x4 0 1 2 3) (v128.const i32x4 0 1 2 3)) 911 ) 912 (func (export "as-block-retval") (result v128) 913 (block (result v128) (v128.const i32x4 0 1 2 3)) 914 ) 915 (func (export "as-loop-retval") (result v128) 916 (loop (result v128) (v128.const i32x4 0 1 2 3)) 917 ) 918 (func (export "as-drop-operand") 919 (drop (v128.const i32x4 0 1 2 3)) 920 ) 921 922 (func (export "as-br-retval2") (result v128) 923 (block (result v128) (br 0 (v128.const i64x2 0x0302010007060504 0x0b0a09080f0e0d0c))) 924 ) 925 (func (export "as-br_if-retval2") (result v128) 926 (block (result v128) 927 (br_if 0 (v128.const i64x2 0 1) (i32.const 1)) 928 ) 929 ) 930 (func (export "as-return-retval2") (result v128) 931 (return (v128.const i64x2 0 1)) 932 ) 933 (func (export "as-if-then-retval2") (result v128) 934 (if (result v128) (i32.const 1) 935 (then (v128.const i64x2 0 1)) (else (v128.const i64x2 1 0)) 936 ) 937 ) 938 (func (export "as-if-else-retval2") (result v128) 939 (if (result v128) (i32.const 0) 940 (then (v128.const i64x2 0 1)) (else (v128.const i64x2 1 0)) 941 ) 942 ) 943 (func $f2 (param v128 v128 v128) (result v128) (v128.const i64x2 0 1)) 944 (func (export "as-call-param2") (result v128) 945 (call $f2 (v128.const i64x2 0 1) (v128.const i64x2 0 1) (v128.const i64x2 0 1)) 946 ) 947 948 (type $sig (func (param v128 v128 v128) (result v128))) 949 (table funcref (elem $f $f2)) 950 (func (export "as-call_indirect-param") (result v128) 951 (call_indirect (type $sig) 952 (v128.const i32x4 0 1 2 3) (v128.const i32x4 0 1 2 3) (v128.const i32x4 0 1 2 3) (i32.const 0) 953 ) 954 ) 955 (func (export "as-call_indirect-param2") (result v128) 956 (call_indirect (type $sig) 957 (v128.const i64x2 0 1) (v128.const i64x2 0 1) (v128.const i64x2 0 1) (i32.const 1) 958 ) 959 ) 960 (func (export "as-block-retval2") (result v128) 961 (block (result v128) (v128.const i64x2 0 1)) 962 ) 963 (func (export "as-loop-retval2") (result v128) 964 (loop (result v128) (v128.const i64x2 0 1)) 965 ) 966 (func (export "as-drop-operand2") 967 (drop (v128.const i64x2 0 1)) 968 ) 969 ) 970 971 (assert_return (invoke "as-br-retval") (v128.const i32x4 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c)) 972 (assert_return (invoke "as-br_if-retval") (v128.const i32x4 0 1 2 3)) 973 (assert_return (invoke "as-return-retval") (v128.const i32x4 0 1 2 3)) 974 (assert_return (invoke "as-if-then-retval") (v128.const i32x4 0 1 2 3)) 975 (assert_return (invoke "as-if-else-retval") (v128.const i32x4 3 2 1 0)) 976 (assert_return (invoke "as-call-param") (v128.const i32x4 0 1 2 3)) 977 (assert_return (invoke "as-call_indirect-param") (v128.const i32x4 0 1 2 3)) 978 (assert_return (invoke "as-block-retval") (v128.const i32x4 0 1 2 3)) 979 (assert_return (invoke "as-loop-retval") (v128.const i32x4 0 1 2 3)) 980 (assert_return (invoke "as-drop-operand")) 981 982 (assert_return (invoke "as-br-retval2") (v128.const i64x2 0x0302010007060504 0x0b0a09080f0e0d0c)) 983 (assert_return (invoke "as-br_if-retval2") (v128.const i64x2 0 1)) 984 (assert_return (invoke "as-return-retval2") (v128.const i64x2 0 1)) 985 (assert_return (invoke "as-if-then-retval2") (v128.const i64x2 0 1)) 986 (assert_return (invoke "as-if-else-retval2") (v128.const i64x2 1 0)) 987 (assert_return (invoke "as-call-param2") (v128.const i64x2 0 1)) 988 (assert_return (invoke "as-call_indirect-param2") (v128.const i64x2 0 1)) 989 (assert_return (invoke "as-block-retval2") (v128.const i64x2 0 1)) 990 (assert_return (invoke "as-loop-retval2") (v128.const i64x2 0 1)) 991 (assert_return (invoke "as-drop-operand2")) 992 993 ;; v128 locals 994 995 (module (memory 1) 996 (func (export "as-local.set/get-value_0_0") (param $0 v128) (result v128) 997 (local v128 v128 v128 v128) 998 (local.set 0 (local.get $0)) 999 (local.get 0) 1000 ) 1001 (func (export "as-local.set/get-value_0_1") (param $0 v128) (result v128) 1002 (local v128 v128 v128 v128) 1003 (local.set 0 (local.get $0)) 1004 (local.set 1 (local.get 0)) 1005 (local.set 2 (local.get 1)) 1006 (local.set 3 (local.get 2)) 1007 (local.get 0) 1008 ) 1009 (func (export "as-local.set/get-value_3_0") (param $0 v128) (result v128) 1010 (local v128 v128 v128 v128) 1011 (local.set 0 (local.get $0)) 1012 (local.set 1 (local.get 0)) 1013 (local.set 2 (local.get 1)) 1014 (local.set 3 (local.get 2)) 1015 (local.get 3) 1016 ) 1017 (func (export "as-local.tee-value") (result v128) 1018 (local v128) 1019 (local.tee 0 (v128.const i32x4 0 1 2 3)) 1020 ) 1021 ) 1022 1023 (assert_return (invoke "as-local.set/get-value_0_0" (v128.const i32x4 0 0 0 0)) (v128.const i32x4 0 0 0 0)) 1024 (assert_return (invoke "as-local.set/get-value_0_1" (v128.const i32x4 1 1 1 1)) (v128.const i32x4 1 1 1 1)) 1025 (assert_return (invoke "as-local.set/get-value_3_0" (v128.const i32x4 2 2 2 2)) (v128.const i32x4 2 2 2 2)) 1026 (assert_return (invoke "as-local.tee-value") (v128.const i32x4 0 1 2 3)) 1027 1028 1029 ;; v128 globals 1030 1031 (module (memory 1) 1032 (global $g0 (mut v128) (v128.const i32x4 0 1 2 3)) 1033 (global $g1 (mut v128) (v128.const i32x4 4 5 6 7)) 1034 (global $g2 (mut v128) (v128.const i32x4 8 9 10 11)) 1035 (global $g3 (mut v128) (v128.const i32x4 12 13 14 15)) 1036 (global $g4 (mut v128) (v128.const i32x4 16 17 18 19)) 1037 1038 (func $set_g0 (export "as-global.set_value_$g0") (param $0 v128) 1039 (global.set $g0 (local.get $0)) 1040 ) 1041 (func $set_g1_g2 (export "as-global.set_value_$g1_$g2") (param $0 v128) (param $1 v128) 1042 (global.set $g1 (local.get $0)) 1043 (global.set $g2 (local.get $1)) 1044 ) 1045 (func $set_g0_g1_g2_g3 (export "as-global.set_value_$g0_$g1_$g2_$g3") (param $0 v128) (param $1 v128) (param $2 v128) (param $3 v128) 1046 (call $set_g0 (local.get $0)) 1047 (call $set_g1_g2 (local.get $1) (local.get $2)) 1048 (global.set $g3 (local.get $3)) 1049 ) 1050 (func (export "global.get_g0") (result v128) 1051 (global.get $g0) 1052 ) 1053 (func (export "global.get_g1") (result v128) 1054 (global.get $g1) 1055 ) 1056 (func (export "global.get_g2") (result v128) 1057 (global.get $g2) 1058 ) 1059 (func (export "global.get_g3") (result v128) 1060 (global.get $g3) 1061 ) 1062 ) 1063 1064 (assert_return (invoke "as-global.set_value_$g0_$g1_$g2_$g3" (v128.const i32x4 1 1 1 1) 1065 (v128.const i32x4 2 2 2 2) 1066 (v128.const i32x4 3 3 3 3) 1067 (v128.const i32x4 4 4 4 4))) 1068 (assert_return (invoke "global.get_g0") (v128.const i32x4 1 1 1 1)) 1069 (assert_return (invoke "global.get_g1") (v128.const i32x4 2 2 2 2)) 1070 (assert_return (invoke "global.get_g2") (v128.const i32x4 3 3 3 3)) 1071 (assert_return (invoke "global.get_g3") (v128.const i32x4 4 4 4 4)) 1072 1073 1074 ;; Test integer literal parsing. 1075 1076 (module 1077 (func (export "i32x4.test") (result v128) (return (v128.const i32x4 0x0bAdD00D 0x0bAdD00D 0x0bAdD00D 0x0bAdD00D))) 1078 (func (export "i32x4.smax") (result v128) (return (v128.const i32x4 0x7fffffff 0x7fffffff 0x7fffffff 0x7fffffff))) 1079 (func (export "i32x4.neg_smax") (result v128) (return (v128.const i32x4 -0x7fffffff -0x7fffffff -0x7fffffff -0x7fffffff))) 1080 (func (export "i32x4.inc_smin") (result v128) (return (i32x4.add (v128.const i32x4 -0x80000000 -0x80000000 -0x80000000 -0x80000000) (v128.const i32x4 1 1 1 1)))) 1081 (func (export "i32x4.neg_zero") (result v128) (return (v128.const i32x4 -0x0 -0x0 -0x0 -0x0))) 1082 (func (export "i32x4.not_octal") (result v128) (return (v128.const i32x4 010 010 010 010))) 1083 (func (export "i32x4.plus_sign") (result v128) (return (v128.const i32x4 +42 +42 +42 +42))) 1084 1085 (func (export "i32x4-dec-sep1") (result v128) (v128.const i32x4 1_000_000 1_000_000 1_000_000 1_000_000)) 1086 (func (export "i32x4-dec-sep2") (result v128) (v128.const i32x4 1_0_0_0 1_0_0_0 1_0_0_0 1_0_0_0)) 1087 (func (export "i32x4-hex-sep1") (result v128) (v128.const i32x4 0xa_0f_00_99 0xa_0f_00_99 0xa_0f_00_99 0xa_0f_00_99)) 1088 (func (export "i32x4-hex-sep2") (result v128) (v128.const i32x4 0x1_a_A_0_f 0x1_a_A_0_f 0x1_a_A_0_f 0x1_a_A_0_f)) 1089 1090 (func (export "i64x2.test") (result v128) (return (v128.const i64x2 0x0bAdD00D0bAdD00D 0x0bAdD00D0bAdD00D))) 1091 (func (export "i64x2.smax") (result v128) (return (v128.const i64x2 0x7fffffffffffffff 0x7fffffffffffffff))) 1092 (func (export "i64x2.neg_smax") (result v128) (return (v128.const i64x2 -0x7fffffffffffffff -0x7fffffffffffffff))) 1093 (func (export "i64x2.inc_smin") (result v128) (return (i64x2.add (v128.const i64x2 -0x8000000000000000 -0x8000000000000000) (v128.const i64x2 1 1)))) 1094 (func (export "i64x2.neg_zero") (result v128) (return (v128.const i64x2 -0x0 -0x0))) 1095 (func (export "i64x2.not_octal") (result v128) (return (v128.const i64x2 010010 010010))) 1096 (func (export "i64x2.plus_sign") (result v128) (return (v128.const i64x2 +42 +42))) 1097 1098 (func (export "i64x2-dec-sep1") (result v128) (v128.const i64x2 10_000_000_000_000 10_000_000_000_000)) 1099 (func (export "i64x2-dec-sep2") (result v128) (v128.const i64x2 1_0_0_0_0_0_0_0 1_0_0_0_0_0_0_0)) 1100 (func (export "i64x2-hex-sep1") (result v128) (v128.const i64x2 0xa_0f_00_99_0a_0f_00_99 0xa_0f_00_99_0a_0f_00_99)) 1101 (func (export "i64x2-hex-sep2") (result v128) (v128.const i64x2 0x1_a_A_0_f_1_a_A_0_f 0x1_a_A_0_f_1_a_A_0_f)) 1102 ) 1103 1104 (assert_return (invoke "i32x4.test") (v128.const i32x4 195940365 195940365 195940365 195940365)) 1105 (assert_return (invoke "i32x4.smax") (v128.const i32x4 2147483647 2147483647 2147483647 2147483647)) 1106 (assert_return (invoke "i32x4.neg_smax") (v128.const i32x4 -2147483647 -2147483647 -2147483647 -2147483647)) 1107 (assert_return (invoke "i32x4.inc_smin") (v128.const i32x4 -2147483647 -2147483647 -2147483647 -2147483647)) 1108 (assert_return (invoke "i32x4.neg_zero") (v128.const i32x4 0 0 0 0)) 1109 (assert_return (invoke "i32x4.not_octal") (v128.const i32x4 10 10 10 10)) 1110 (assert_return (invoke "i32x4.plus_sign") (v128.const i32x4 42 42 42 42)) 1111 1112 (assert_return (invoke "i32x4-dec-sep1") (v128.const i32x4 1000000 1000000 1000000 1000000)) 1113 (assert_return (invoke "i32x4-dec-sep2") (v128.const i32x4 1000 1000 1000 1000)) 1114 (assert_return (invoke "i32x4-hex-sep1") (v128.const i32x4 0xa0f0099 0xa0f0099 0xa0f0099 0xa0f0099)) 1115 (assert_return (invoke "i32x4-hex-sep2") (v128.const i32x4 0x1aa0f 0x1aa0f 0x1aa0f 0x1aa0f)) 1116 1117 (assert_return (invoke "i64x2.test") (v128.const i64x2 841557459837243405 841557459837243405)) 1118 (assert_return (invoke "i64x2.smax") (v128.const i64x2 9223372036854775807 9223372036854775807)) 1119 (assert_return (invoke "i64x2.neg_smax") (v128.const i64x2 -9223372036854775807 -9223372036854775807)) 1120 (assert_return (invoke "i64x2.inc_smin") (v128.const i64x2 -9223372036854775807 -9223372036854775807)) 1121 (assert_return (invoke "i64x2.neg_zero") (v128.const i64x2 0 0)) 1122 (assert_return (invoke "i64x2.not_octal") (v128.const i64x2 10010 10010)) 1123 (assert_return (invoke "i64x2.plus_sign") (v128.const i64x2 42 42)) 1124 1125 (assert_return (invoke "i64x2-dec-sep1") (v128.const i64x2 10000000000000 10000000000000)) 1126 (assert_return (invoke "i64x2-dec-sep2") (v128.const i64x2 10000000 10000000)) 1127 (assert_return (invoke "i64x2-hex-sep1") (v128.const i64x2 0xa0f00990a0f0099 0xa0f00990a0f0099)) 1128 (assert_return (invoke "i64x2-hex-sep2") (v128.const i64x2 0x1aa0f1aa0f 0x1aa0f1aa0f)) 1129 1130 (assert_malformed 1131 (module quote "(global v128 (v128.const i32x4 _100 _100 _100 _100))") 1132 "unknown operator" 1133 ) 1134 (assert_malformed 1135 (module quote "(global v128 (v128.const i32x4 +_100 +_100 +_100 +_100))") 1136 "unknown operator" 1137 ) 1138 (assert_malformed 1139 (module quote "(global v128 (v128.const i32x4 -_100 -_100 -_100 -_100))") 1140 "unknown operator" 1141 ) 1142 (assert_malformed 1143 (module quote "(global v128 (v128.const i32x4 99_ 99_ 99_ 99_))") 1144 "unknown operator" 1145 ) 1146 (assert_malformed 1147 (module quote "(global v128 (v128.const i32x4 1__000 1__000 1__000 1__000))") 1148 "unknown operator" 1149 ) 1150 (assert_malformed 1151 (module quote "(global v128 (v128.const i32x4 _0x100 _0x100 _0x100 _0x100))") 1152 "unknown operator" 1153 ) 1154 (assert_malformed 1155 (module quote "(global v128 (v128.const i32x4 0_x100 0_x100 0_x100 0_x100))") 1156 "unknown operator" 1157 ) 1158 (assert_malformed 1159 (module quote "(global v128 (v128.const i32x4 0x_100 0x_100 0x_100 0x_100))") 1160 "unknown operator" 1161 ) 1162 (assert_malformed 1163 (module quote "(global v128 (v128.const i32x4 0x00_ 0x00_ 0x00_ 0x00_))") 1164 "unknown operator" 1165 ) 1166 (assert_malformed 1167 (module quote "(global v128 (v128.const i32x4 0xff__ffff 0xff__ffff 0xff__ffff 0xff__ffff))") 1168 "unknown operator" 1169 ) 1170 1171 (assert_malformed 1172 (module quote "(global v128 (v128.const i64x2 _100_100 _100_100))") 1173 "unknown operator" 1174 ) 1175 (assert_malformed 1176 (module quote "(global v128 (v128.const i64x2 +_100_100 +_100_100))") 1177 "unknown operator" 1178 ) 1179 (assert_malformed 1180 (module quote "(global v128 (v128.const i64x2 -_100_100 -_100_100))") 1181 "unknown operator" 1182 ) 1183 (assert_malformed 1184 (module quote "(global v128 (v128.const i64x2 99_99_ 99_99_))") 1185 "unknown operator" 1186 ) 1187 (assert_malformed 1188 (module quote "(global v128 (v128.const i64x2 1__000_000 1__000_000))") 1189 "unknown operator" 1190 ) 1191 (assert_malformed 1192 (module quote "(global v128 (v128.const i64x2 _0x100000 _0x100000))") 1193 "unknown operator" 1194 ) 1195 (assert_malformed 1196 (module quote "(global v128 (v128.const i64x2 0_x100000 0_x100000))") 1197 "unknown operator" 1198 ) 1199 (assert_malformed 1200 (module quote "(global v128 (v128.const i64x2 0x_100000 0x_100000))") 1201 "unknown operator" 1202 ) 1203 (assert_malformed 1204 (module quote "(global v128 (v128.const i64x2 0x00_ 0x00_))") 1205 "unknown operator" 1206 ) 1207 (assert_malformed 1208 (module quote "(global v128 (v128.const i64x2 0xff__ffff_ffff_ffff 0xff__ffff_ffff_ffff))") 1209 "unknown operator" 1210 ) 1211 1212 ;; Test floating-point literal parsing. 1213 1214 (module 1215 (func (export "f32-dec-sep1") (result v128) (v128.const f32x4 1_000_000 1_000_000 1_000_000 1_000_000)) 1216 (func (export "f32-dec-sep2") (result v128) (v128.const f32x4 1_0_0_0 1_0_0_0 1_0_0_0 1_0_0_0)) 1217 (func (export "f32-dec-sep3") (result v128) (v128.const f32x4 100_3.141_592 100_3.141_592 100_3.141_592 100_3.141_592)) 1218 (func (export "f32-dec-sep4") (result v128) (v128.const f32x4 99e+1_3 99e+1_3 99e+1_3 99e+1_3)) 1219 (func (export "f32-dec-sep5") (result v128) (v128.const f32x4 122_000.11_3_54E0_2_3 122_000.11_3_54E0_2_3 122_000.11_3_54E0_2_3 122_000.11_3_54E0_2_3)) 1220 (func (export "f32-hex-sep1") (result v128) (v128.const f32x4 0xa_0f_00_99 0xa_0f_00_99 0xa_0f_00_99 0xa_0f_00_99)) 1221 (func (export "f32-hex-sep2") (result v128) (v128.const f32x4 0x1_a_A_0_f 0x1_a_A_0_f 0x1_a_A_0_f 0x1_a_A_0_f)) 1222 (func (export "f32-hex-sep3") (result v128) (v128.const f32x4 0xa0_ff.f141_a59a 0xa0_ff.f141_a59a 0xa0_ff.f141_a59a 0xa0_ff.f141_a59a)) 1223 (func (export "f32-hex-sep4") (result v128) (v128.const f32x4 0xf0P+1_3 0xf0P+1_3 0xf0P+1_3 0xf0P+1_3)) 1224 (func (export "f32-hex-sep5") (result v128) (v128.const f32x4 0x2a_f00a.1f_3_eep2_3 0x2a_f00a.1f_3_eep2_3 0x2a_f00a.1f_3_eep2_3 0x2a_f00a.1f_3_eep2_3)) 1225 (func (export "f64-dec-sep1") (result v128) (v128.const f64x2 1_000_000 1_000_000)) 1226 (func (export "f64-dec-sep2") (result v128) (v128.const f64x2 1_0_0_0 1_0_0_0)) 1227 (func (export "f64-dec-sep3") (result v128) (v128.const f64x2 100_3.141_592 100_3.141_592)) 1228 (func (export "f64-dec-sep4") (result v128) (v128.const f64x2 99e+1_3 99e+1_3)) 1229 (func (export "f64-dec-sep5") (result v128) (v128.const f64x2 122_000.11_3_54E0_2_3 122_000.11_3_54E0_2_3)) 1230 (func (export "f64-hex-sep1") (result v128) (v128.const f64x2 0xa_0f_00_99 0xa_0f_00_99)) 1231 (func (export "f64-hex-sep2") (result v128) (v128.const f64x2 0x1_a_A_0_f 0x1_a_A_0_f)) 1232 (func (export "f64-hex-sep3") (result v128) (v128.const f64x2 0xa0_ff.f141_a59a 0xa0_ff.f141_a59a)) 1233 (func (export "f64-hex-sep4") (result v128) (v128.const f64x2 0xf0P+1_3 0xf0P+1_3)) 1234 (func (export "f64-hex-sep5") (result v128) (v128.const f64x2 0x2a_f00a.1f_3_eep2_3 0x2a_f00a.1f_3_eep2_3)) 1235 ) 1236 1237 (assert_return (invoke "f32-dec-sep1") (v128.const f32x4 1000000 1000000 1000000 1000000)) 1238 (assert_return (invoke "f32-dec-sep2") (v128.const f32x4 1000 1000 1000 1000)) 1239 (assert_return (invoke "f32-dec-sep3") (v128.const f32x4 1003.141592 1003.141592 1003.141592 1003.141592)) 1240 (assert_return (invoke "f32-dec-sep4") (v128.const f32x4 99e+13 99e+13 99e+13 99e+13)) 1241 (assert_return (invoke "f32-dec-sep5") (v128.const f32x4 122000.11354e23 122000.11354e23 122000.11354e23 122000.11354e23)) 1242 (assert_return (invoke "f32-hex-sep1") (v128.const f32x4 0xa0f0099 0xa0f0099 0xa0f0099 0xa0f0099)) 1243 (assert_return (invoke "f32-hex-sep2") (v128.const f32x4 0x1aa0f 0x1aa0f 0x1aa0f 0x1aa0f)) 1244 (assert_return (invoke "f32-hex-sep3") (v128.const f32x4 0xa0ff.f141a59a 0xa0ff.f141a59a 0xa0ff.f141a59a 0xa0ff.f141a59a)) 1245 (assert_return (invoke "f32-hex-sep4") (v128.const f32x4 0xf0P+13 0xf0P+13 0xf0P+13 0xf0P+13)) 1246 (assert_return (invoke "f32-hex-sep5") (v128.const f32x4 0x2af00a.1f3eep23 0x2af00a.1f3eep23 0x2af00a.1f3eep23 0x2af00a.1f3eep23)) 1247 (assert_return (invoke "f64-dec-sep1") (v128.const f64x2 1000000 1000000)) 1248 (assert_return (invoke "f64-dec-sep2") (v128.const f64x2 1000 1000)) 1249 (assert_return (invoke "f64-dec-sep3") (v128.const f64x2 1003.141592 1003.141592)) 1250 (assert_return (invoke "f64-dec-sep4") (v128.const f64x2 99e+13 99e+13)) 1251 (assert_return (invoke "f64-dec-sep5") (v128.const f64x2 122000.11354e23 122000.11354e23)) 1252 (assert_return (invoke "f64-hex-sep1") (v128.const f64x2 0xa0f0099 0xa0f0099)) 1253 (assert_return (invoke "f64-hex-sep2") (v128.const f64x2 0x1aa0f 0x1aa0f)) 1254 (assert_return (invoke "f64-hex-sep3") (v128.const f64x2 0xa0ff.f141a59a 0xa0ff.f141a59a)) 1255 (assert_return (invoke "f64-hex-sep4") (v128.const f64x2 0xf0P+13 0xf0P+13)) 1256 (assert_return (invoke "f64-hex-sep5") (v128.const f64x2 0x2af00a.1f3eep23 0x2af00a.1f3eep23)) 1257 1258 (assert_malformed 1259 (module quote "(global v128 (v128.const f32x4 _100 _100 _100 _100))") 1260 "unknown operator" 1261 ) 1262 (assert_malformed 1263 (module quote "(global v128 (v128.const f32x4 +_100 +_100 +_100 +_100))") 1264 "unknown operator" 1265 ) 1266 (assert_malformed 1267 (module quote "(global v128 (v128.const f32x4 -_100 -_100 -_100 -_100))") 1268 "unknown operator" 1269 ) 1270 (assert_malformed 1271 (module quote "(global v128 (v128.const f32x4 99_ 99_ 99_ 99_))") 1272 "unknown operator" 1273 ) 1274 (assert_malformed 1275 (module quote "(global v128 (v128.const f32x4 1__000 1__000 1__000 1__000))") 1276 "unknown operator" 1277 ) 1278 (assert_malformed 1279 (module quote "(global v128 (v128.const f32x4 _1.0 _1.0 _1.0 _1.0))") 1280 "unknown operator" 1281 ) 1282 (assert_malformed 1283 (module quote "(global v128 (v128.const f32x4 1.0_ 1.0_ 1.0_ 1.0_))") 1284 "unknown operator" 1285 ) 1286 (assert_malformed 1287 (module quote "(global v128 (v128.const f32x4 1_.0 1_.0 1_.0 1_.0))") 1288 "unknown operator" 1289 ) 1290 (assert_malformed 1291 (module quote "(global v128 (v128.const f32x4 1._0 1._0 1._0 1._0))") 1292 "unknown operator" 1293 ) 1294 (assert_malformed 1295 (module quote "(global v128 (v128.const f32x4 _1e1 _1e1 _1e1 _1e1))") 1296 "unknown operator" 1297 ) 1298 (assert_malformed 1299 (module quote "(global v128 (v128.const f32x4 1e1_ 1e1_ 1e1_ 1e1_))") 1300 "unknown operator" 1301 ) 1302 (assert_malformed 1303 (module quote "(global v128 (v128.const f32x4 1_e1 1_e1 1_e1 1_e1))") 1304 "unknown operator" 1305 ) 1306 (assert_malformed 1307 (module quote "(global v128 (v128.const f32x4 1e_1 1e_1 1e_1 1e_1))") 1308 "unknown operator" 1309 ) 1310 (assert_malformed 1311 (module quote "(global v128 (v128.const f32x4 _1.0e1 _1.0e1 _1.0e1 _1.0e1))") 1312 "unknown operator" 1313 ) 1314 (assert_malformed 1315 (module quote "(global v128 (v128.const f32x4 1.0e1_ 1.0e1_ 1.0e1_ 1.0e1_))") 1316 "unknown operator" 1317 ) 1318 (assert_malformed 1319 (module quote "(global v128 (v128.const f32x4 1.0_e1 1.0_e1 1.0_e1 1.0_e1))") 1320 "unknown operator" 1321 ) 1322 (assert_malformed 1323 (module quote "(global v128 (v128.const f32x4 1.0e_1 1.0e_1 1.0e_1 1.0e_1))") 1324 "unknown operator" 1325 ) 1326 (assert_malformed 1327 (module quote "(global v128 (v128.const f32x4 1.0e+_1 1.0e+_1 1.0e+_1 1.0e+_1))") 1328 "unknown operator" 1329 ) 1330 (assert_malformed 1331 (module quote "(global v128 (v128.const f32x4 1.0e_+1 1.0e_+1 1.0e_+1 1.0e_+1))") 1332 "unknown operator" 1333 ) 1334 (assert_malformed 1335 (module quote "(global v128 (v128.const f32x4 _0x100 _0x100 _0x100 _0x100))") 1336 "unknown operator" 1337 ) 1338 (assert_malformed 1339 (module quote "(global v128 (v128.const f32x4 0_x100 0_x100 0_x100 0_x100))") 1340 "unknown operator" 1341 ) 1342 (assert_malformed 1343 (module quote "(global v128 (v128.const f32x4 0x_100 0x_100 0x_100 0x_100))") 1344 "unknown operator" 1345 ) 1346 (assert_malformed 1347 (module quote "(global v128 (v128.const f32x4 0x00_ 0x00_ 0x00_ 0x00_))") 1348 "unknown operator" 1349 ) 1350 (assert_malformed 1351 (module quote "(global v128 (v128.const f32x4 0xff__ffff 0xff__ffff 0xff__ffff 0xff__ffff))") 1352 "unknown operator" 1353 ) 1354 (assert_malformed 1355 (module quote "(global v128 (v128.const f32x4 0x_1.0 0x_1.0 0x_1.0 0x_1.0))") 1356 "unknown operator" 1357 ) 1358 (assert_malformed 1359 (module quote "(global v128 (v128.const f32x4 0x1.0_ 0x1.0_ 0x1.0_ 0x1.0_))") 1360 "unknown operator" 1361 ) 1362 (assert_malformed 1363 (module quote "(global v128 (v128.const f32x4 0x1_.0 0x1_.0 0x1_.0 0x1_.0))") 1364 "unknown operator" 1365 ) 1366 (assert_malformed 1367 (module quote "(global v128 (v128.const f32x4 0x1._0 0x1._0 0x1._0 0x1._0))") 1368 "unknown operator" 1369 ) 1370 (assert_malformed 1371 (module quote "(global v128 (v128.const f32x4 0x_1p1 0x_1p1 0x_1p1 0x_1p1))") 1372 "unknown operator" 1373 ) 1374 (assert_malformed 1375 (module quote "(global v128 (v128.const f32x4 0x1p1_ 0x1p1_ 0x1p1_ 0x1p1_))") 1376 "unknown operator" 1377 ) 1378 (assert_malformed 1379 (module quote "(global v128 (v128.const f32x4 0x1_p1 0x1_p1 0x1_p1 0x1_p1))") 1380 "unknown operator" 1381 ) 1382 (assert_malformed 1383 (module quote "(global v128 (v128.const f32x4 0x1p_1 0x1p_1 0x1p_1 0x1p_1))") 1384 "unknown operator" 1385 ) 1386 (assert_malformed 1387 (module quote "(global v128 (v128.const f32x4 0x_1.0p1 0x_1.0p1 0x_1.0p1 0x_1.0p1))") 1388 "unknown operator" 1389 ) 1390 (assert_malformed 1391 (module quote "(global v128 (v128.const f32x4 0x1.0p1_ 0x1.0p1_ 0x1.0p1_ 0x1.0p1_))") 1392 "unknown operator" 1393 ) 1394 (assert_malformed 1395 (module quote "(global v128 (v128.const f32x4 0x1.0_p1 0x1.0_p1 0x1.0_p1 0x1.0_p1))") 1396 "unknown operator" 1397 ) 1398 (assert_malformed 1399 (module quote "(global v128 (v128.const f32x4 0x1.0p_1 0x1.0p_1 0x1.0p_1 0x1.0p_1))") 1400 "unknown operator" 1401 ) 1402 (assert_malformed 1403 (module quote "(global v128 (v128.const f32x4 0x1.0p+_1 0x1.0p+_1 0x1.0p+_1 0x1.0p+_1))") 1404 "unknown operator" 1405 ) 1406 (assert_malformed 1407 (module quote "(global v128 (v128.const f32x4 0x1.0p_+1 0x1.0p_+1 0x1.0p_+1 0x1.0p_+1))") 1408 "unknown operator" 1409 ) 1410 1411 (assert_malformed 1412 (module quote "(global v128 (v128.const f64x2 _100 _100))") 1413 "unknown operator" 1414 ) 1415 (assert_malformed 1416 (module quote "(global v128 (v128.const f64x2 +_100 +_100))") 1417 "unknown operator" 1418 ) 1419 (assert_malformed 1420 (module quote "(global v128 (v128.const f64x2 -_100 -_100))") 1421 "unknown operator" 1422 ) 1423 (assert_malformed 1424 (module quote "(global v128 (v128.const f64x2 99_ 99_))") 1425 "unknown operator" 1426 ) 1427 (assert_malformed 1428 (module quote "(global v128 (v128.const f64x2 1__000 1__000))") 1429 "unknown operator" 1430 ) 1431 (assert_malformed 1432 (module quote "(global v128 (v128.const f64x2 _1.0 _1.0))") 1433 "unknown operator" 1434 ) 1435 (assert_malformed 1436 (module quote "(global v128 (v128.const f64x2 1.0_ 1.0_))") 1437 "unknown operator" 1438 ) 1439 (assert_malformed 1440 (module quote "(global v128 (v128.const f64x2 1_.0 1_.0))") 1441 "unknown operator" 1442 ) 1443 (assert_malformed 1444 (module quote "(global v128 (v128.const f64x2 1._0 1._0))") 1445 "unknown operator" 1446 ) 1447 (assert_malformed 1448 (module quote "(global v128 (v128.const f64x2 _1e1 _1e1))") 1449 "unknown operator" 1450 ) 1451 (assert_malformed 1452 (module quote "(global v128 (v128.const f64x2 1e1_ 1e1_))") 1453 "unknown operator" 1454 ) 1455 (assert_malformed 1456 (module quote "(global v128 (v128.const f64x2 1_e1 1_e1))") 1457 "unknown operator" 1458 ) 1459 (assert_malformed 1460 (module quote "(global v128 (v128.const f64x2 1e_1 1e_1))") 1461 "unknown operator" 1462 ) 1463 (assert_malformed 1464 (module quote "(global v128 (v128.const f64x2 _1.0e1 _1.0e1))") 1465 "unknown operator" 1466 ) 1467 (assert_malformed 1468 (module quote "(global v128 (v128.const f64x2 1.0e1_ 1.0e1_))") 1469 "unknown operator" 1470 ) 1471 (assert_malformed 1472 (module quote "(global v128 (v128.const f64x2 1.0_e1 1.0_e1))") 1473 "unknown operator" 1474 ) 1475 (assert_malformed 1476 (module quote "(global v128 (v128.const f64x2 1.0e_1 1.0e_1))") 1477 "unknown operator" 1478 ) 1479 (assert_malformed 1480 (module quote "(global v128 (v128.const f64x2 1.0e+_1 1.0e+_1))") 1481 "unknown operator" 1482 ) 1483 (assert_malformed 1484 (module quote "(global v128 (v128.const f64x2 1.0e_+1 1.0e_+1))") 1485 "unknown operator" 1486 ) 1487 (assert_malformed 1488 (module quote "(global v128 (v128.const f64x2 _0x100 _0x100))") 1489 "unknown operator" 1490 ) 1491 (assert_malformed 1492 (module quote "(global v128 (v128.const f64x2 0_x100 0_x100))") 1493 "unknown operator" 1494 ) 1495 (assert_malformed 1496 (module quote "(global v128 (v128.const f64x2 0x_100 0x_100))") 1497 "unknown operator" 1498 ) 1499 (assert_malformed 1500 (module quote "(global v128 (v128.const f64x2 0x00_ 0x00_))") 1501 "unknown operator" 1502 ) 1503 (assert_malformed 1504 (module quote "(global v128 (v128.const f64x2 0xff__ffff 0xff__ffff))") 1505 "unknown operator" 1506 ) 1507 (assert_malformed 1508 (module quote "(global v128 (v128.const f64x2 0x_1.0 0x_1.0))") 1509 "unknown operator" 1510 ) 1511 (assert_malformed 1512 (module quote "(global v128 (v128.const f64x2 0x1.0_ 0x1.0_))") 1513 "unknown operator" 1514 ) 1515 (assert_malformed 1516 (module quote "(global v128 (v128.const f64x2 0x1_.0 0x1_.0))") 1517 "unknown operator" 1518 ) 1519 (assert_malformed 1520 (module quote "(global v128 (v128.const f64x2 0x1._0 0x1._0))") 1521 "unknown operator" 1522 ) 1523 (assert_malformed 1524 (module quote "(global v128 (v128.const f64x2 0x_1p1 0x_1p1))") 1525 "unknown operator" 1526 ) 1527 (assert_malformed 1528 (module quote "(global v128 (v128.const f64x2 0x1p1_ 0x1p1_))") 1529 "unknown operator" 1530 ) 1531 (assert_malformed 1532 (module quote "(global v128 (v128.const f64x2 0x1_p1 0x1_p1))") 1533 "unknown operator" 1534 ) 1535 (assert_malformed 1536 (module quote "(global v128 (v128.const f64x2 0x1p_1 0x1p_1))") 1537 "unknown operator" 1538 ) 1539 (assert_malformed 1540 (module quote "(global v128 (v128.const f64x2 0x_1.0p1 0x_1.0p1))") 1541 "unknown operator" 1542 ) 1543 (assert_malformed 1544 (module quote "(global v128 (v128.const f64x2 0x1.0p1_ 0x1.0p1_))") 1545 "unknown operator" 1546 ) 1547 (assert_malformed 1548 (module quote "(global v128 (v128.const f64x2 0x1.0_p1 0x1.0_p1))") 1549 "unknown operator" 1550 ) 1551 (assert_malformed 1552 (module quote "(global v128 (v128.const f64x2 0x1.0p_1 0x1.0p_1))") 1553 "unknown operator" 1554 ) 1555 (assert_malformed 1556 (module quote "(global v128 (v128.const f64x2 0x1.0p+_1 0x1.0p+_1))") 1557 "unknown operator" 1558 ) 1559 (assert_malformed 1560 (module quote "(global v128 (v128.const f64x2 0x1.0p_+1 0x1.0p_+1))") 1561 "unknown operator" 1562 ) 1563 1564 ;; Test parsing an integer from binary 1565 1566 (module binary 1567 "\00asm" "\01\00\00\00" 1568 "\01\05\01" ;; type section 1569 "\60\00\01\7b" ;; type 0 (func) 1570 "\03\02\01\00" ;; func section 1571 "\07\0f\01\0b" ;; export section 1572 "\70\61\72\73\65\5f\69\38\78\31\36\00\00" ;; export name (parse_i8x16) 1573 "\0a\16\01" ;; code section 1574 "\14\00\fd\0c" ;; func body 1575 "\00\00\00\00" ;; data lane 0~3 (0, 0, 0, 0) 1576 "\80\80\80\80" ;; data lane 4~7 (-128, -128, -128, -128) 1577 "\ff\ff\ff\ff" ;; data lane 8~11 (0xff, 0xff, 0xff, 0xff) 1578 "\ff\ff\ff\ff" ;; data lane 12~15 (255, 255, 255, 255) 1579 "\0b" ;; end 1580 ) 1581 (assert_return (invoke "parse_i8x16") (v128.const i8x16 0 0 0 0 -128 -128 -128 -128 0xff 0xff 0xff 0xff 255 255 255 255)) 1582 1583 (module binary 1584 "\00asm" "\01\00\00\00" 1585 "\01\05\01" ;; type section 1586 "\60\00\01\7b" ;; type 0 (func) 1587 "\03\02\01\00" ;; func section 1588 "\07\0f\01\0b" ;; export section 1589 "\70\61\72\73\65\5f\69\31\36\78\38\00\00" ;; export name (parse_i16x8) 1590 "\0a\16\01" ;; code section 1591 "\14\00\fd\0c" ;; func body 1592 "\00\00\00\00" ;; data lane 0, 1 (0, 0) 1593 "\00\80\00\80" ;; data lane 2, 3 (-32768, -32768) 1594 "\ff\ff\ff\ff" ;; data lane 4, 5 (65535, 65535) 1595 "\ff\ff\ff\ff" ;; data lane 6, 7 (0xffff, 0xffff) 1596 "\0b" ;; end 1597 ) 1598 (assert_return (invoke "parse_i16x8") (v128.const i16x8 0 0 -32768 -32768 65535 65535 0xffff 0xffff)) 1599 1600 (module binary 1601 "\00asm" "\01\00\00\00" 1602 "\01\05\01" ;; type section 1603 "\60\00\01\7b" ;; type 0 (func) 1604 "\03\02\01\00" ;; func section 1605 "\07\0f\01\0b" ;; export section 1606 "\70\61\72\73\65\5f\69\33\32\78\34\00\00" ;; export name (parse_i32x4) 1607 "\0a\16\01" ;; code section 1608 "\14\00\fd\0c" ;; func body 1609 "\d1\ff\ff\ff" ;; data lane 0 (4294967249) 1610 "\d1\ff\ff\ff" ;; data lane 1 (4294967249) 1611 "\d1\ff\ff\ff" ;; data lane 2 (4294967249) 1612 "\d1\ff\ff\ff" ;; data lane 3 (4294967249) 1613 "\0b" ;; end 1614 ) 1615 (assert_return (invoke "parse_i32x4") (v128.const i32x4 4294967249 4294967249 4294967249 4294967249)) 1616 1617 (module binary 1618 "\00asm" "\01\00\00\00" 1619 "\01\05\01" ;; type section 1620 "\60\00\01\7b" ;; type 0 (func) 1621 "\03\02\01\00" ;; func section 1622 "\07\0f\01\0b" ;; export section 1623 "\70\61\72\73\65\5f\69\36\34\78\32\00\00" ;; export name (parse_i64x2) 1624 "\0a\16\01" ;; code section 1625 "\14\00\fd\0c" ;; func body 1626 "\ff\ff\ff\ff\ff\ff\ff\7f" ;; data lane 0 (9223372036854775807) 1627 "\ff\ff\ff\ff\ff\ff\ff\7f" ;; data lane 1 (9223372036854775807) 1628 "\0b" ;; end 1629 ) 1630 (assert_return (invoke "parse_i64x2") (v128.const i64x2 9223372036854775807 9223372036854775807)) 1631 1632 ;; Test parsing a float from binary 1633 1634 (module binary 1635 "\00asm" "\01\00\00\00" 1636 "\01\05\01" ;; type section 1637 "\60\00\01\7b" ;; type 0 (func) 1638 "\03\02\01\00" ;; func section 1639 "\07\0f\01\0b" ;; export section 1640 "\70\61\72\73\65\5f\66\33\32\78\34\00\00" ;; export name (parse_f32x4) 1641 "\0a\16\01" ;; code section 1642 "\14\00\fd\0c" ;; func body 1643 "\00\00\80\4f" ;; data lane 0 (4294967249) 1644 "\00\00\80\4f" ;; data lane 1 (4294967249) 1645 "\00\00\80\4f" ;; data lane 2 (4294967249) 1646 "\00\00\80\4f" ;; data lane 3 (4294967249) 1647 "\0b" ;; end 1648 ) 1649 (assert_return (invoke "parse_f32x4") (v128.const f32x4 4294967249 4294967249 4294967249 4294967249)) 1650 1651 (module binary 1652 "\00asm" "\01\00\00\00" 1653 "\01\05\01" ;; type section 1654 "\60\00\01\7b" ;; type 0 (func) 1655 "\03\02\01\00" ;; func section 1656 "\07\0f\01\0b" ;; export section 1657 "\70\61\72\73\65\5f\66\36\34\78\32\00\00" ;; export name (parse_f64x2) 1658 "\0a\16\01" ;; code section 1659 "\14\00\fd\0c" ;; func body 1660 "\ff\ff\ff\ff\ff\ff\ef\7f" ;; data lane 0 (0x1.fffffffffffffp+1023) 1661 "\ff\ff\ff\ff\ff\ff\ef\7f" ;; data lane 1 (0x1.fffffffffffffp+1023) 1662 "\0b" ;; end 1663 ) 1664 (assert_return (invoke "parse_f64x2") (v128.const f64x2 0x1.fffffffffffffp+1023 0x1.fffffffffffffp+1023))