OLD | NEW |
1 // Copyright 2017 the V8 project authors. All rights reserved. | 1 // Copyright 2017 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Flags: --expose-wasm | 5 // Flags: --expose-wasm |
6 | 6 |
7 load("test/mjsunit/wasm/wasm-constants.js"); | 7 load("test/mjsunit/wasm/wasm-constants.js"); |
8 load("test/mjsunit/wasm/wasm-module-builder.js"); | 8 load("test/mjsunit/wasm/wasm-module-builder.js"); |
9 | 9 |
10 (function() { | 10 (function() { |
(...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
232 kExprI64Const, 32, | 232 kExprI64Const, 32, |
233 kExprI64ShrU, | 233 kExprI64ShrU, |
234 kExprI32ConvertI64, | 234 kExprI32ConvertI64, |
235 ]) | 235 ]) |
236 .exportFunc(); | 236 .exportFunc(); |
237 var module = builder.instantiate(); | 237 var module = builder.instantiate(); |
238 assertEquals(0x7ffa0000, module.exports.F64Div1()); | 238 assertEquals(0x7ffa0000, module.exports.F64Div1()); |
239 })(); | 239 })(); |
240 | 240 |
241 (function() { | 241 (function() { |
| 242 print("F64: sNaN / -1 = qNaN"); |
| 243 var builder = new WasmModuleBuilder(); |
| 244 builder.addFunction("F64Div1", kSig_i_i) |
| 245 .addBody([ |
| 246 kExprI64Const, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xf9, 0xff, 0x00, |
| 247 kExprF64ReinterpretI64, |
| 248 kExprF64Const, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf, |
| 249 kExprF64Div, |
| 250 kExprI64ReinterpretF64, |
| 251 kExprI64Const, 32, |
| 252 kExprI64ShrU, |
| 253 kExprI32ConvertI64, |
| 254 ]) |
| 255 .exportFunc(); |
| 256 var module = builder.instantiate(); |
| 257 assertEquals(0x7ffa0000, module.exports.F64Div1()); |
| 258 })(); |
| 259 |
| 260 (function() { |
242 print("F64: X / sNaN = qNaN"); | 261 print("F64: X / sNaN = qNaN"); |
243 var builder = new WasmModuleBuilder(); | 262 var builder = new WasmModuleBuilder(); |
244 builder.addFunction("F64XDivNaN", kSig_i_i) | 263 builder.addFunction("F64XDivNaN", kSig_i_i) |
245 .addBody([ | 264 .addBody([ |
246 kExprF64Const, 0xde, 0xbc, 0x0a, 0x89, 0x67, 0x45, 0x23, 0x01, | 265 kExprF64Const, 0xde, 0xbc, 0x0a, 0x89, 0x67, 0x45, 0x23, 0x01, |
247 kExprF64Const, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf2, 0x7f, | 266 kExprF64Const, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf2, 0x7f, |
248 kExprF64Div, | 267 kExprF64Div, |
249 kExprI64ReinterpretF64, | 268 kExprI64ReinterpretF64, |
250 kExprI64Const, 32, | 269 kExprI64Const, 32, |
251 kExprI64ShrU, | 270 kExprI64ShrU, |
(...skipping 14 matching lines...) Expand all Loading... |
266 kExprF64Div, | 285 kExprF64Div, |
267 kExprI64ReinterpretF64, | 286 kExprI64ReinterpretF64, |
268 kExprI64Const, 32, | 287 kExprI64Const, 32, |
269 kExprI64ShrU, | 288 kExprI64ShrU, |
270 kExprI32ConvertI64, | 289 kExprI32ConvertI64, |
271 ]) | 290 ]) |
272 .exportFunc(); | 291 .exportFunc(); |
273 var module = builder.instantiate(); | 292 var module = builder.instantiate(); |
274 assertEquals(0x7ffa0000, module.exports.F64NaNDivX()); | 293 assertEquals(0x7ffa0000, module.exports.F64NaNDivX()); |
275 })(); | 294 })(); |
OLD | NEW |