Closed Bug 1117148 Opened 10 years ago Closed 10 years ago

asm.js/testSIMD.js: Differential behaviour between AsmJS / Interpreter & Ion.

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 1112627

People

(Reporter: nbp, Unassigned)

References

Details

$ jit-test/jit_test.py --ion -s -o ./js --args=--no-asmjs asm.js/testSIMD.js Stack: assertEqX4@/home/nicolas/mozilla/some-dev/js/src/jit-test/tests/asm.js/testSIMD.js:32:5 @/home/nicolas/mozilla/some-dev/js/src/jit-test/tests/asm.js/testSIMD.js:712:1 Error: Error: Assertion failed: got 0, expected -2147483648 /home/nicolas/mozilla/some-dev/js/src/jit-test/tests/asm.js/testSIMD.js:32:4 Error: Assertion failed: got 0, expected -2147483648
The difference is coming from the FuncConvert function which behave the same way as the TypeObjects. The current asm.js implementation of SIMD use vcvttps2dq which behave differently for infinities and NaN. var f = function (x) { x = SIMD.float32x4(x); var y = SIMD.int32x4(0,0,0,0); y = SIMD.int32x4.fromFloat32x4(x); return SIMD.int32x4(y); } // with Jit-ed code assertEqX4(f(SIMD.float32x4(NaN, Infinity, -Infinity, -0)), [UNDEFINED_INT32, UNDEFINED_INT32, UNDEFINED_INT32, 0]); // without Jit-ed code assertEqX4(f(SIMD.float32x4(NaN, Infinity, -Infinity, -0)), [0, 0, 0, 0]); This issue is related to https://github.com/johnmccutchan/ecmascript_simd/issues/99 which is being addressed as part of Bug 1068028. In the mean time I suggest to make the test case choose a different UNDEFINED_INT32 value which correspond to what the TypeObject returns, and we can continue to work Bug 1117146.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → DUPLICATE
Comment 1 was the first blocking issue in the test case, unfortunately, not the only one.
(In reply to Nicolas B. Pierron [:nbp] from comment #3) > Comment 1 was the first blocking issue in the test case, unfortunately, not > the only one. Yes, and all issues are being adressed in bug 1112627, except for the load/store error on OOB, which I am willing to patch.
You need to log in before you can comment on or make changes to this bug.