blob: db6a0d7cba2675581e8f670177809a30af618cd1 [file] [log] [blame]
// |reftest| skip-if(!this.hasOwnProperty("SIMD"))
/*
* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/licenses/publicdomain/
*/
// Check that NaN normalization is applied when extracting the x lane
// out, after bit conversion has occurred.
var Int32x4 = SIMD.Int32x4;
var a = Int32x4((4294967295), 200, 300, 400);
var c = SIMD.Float32x4.fromInt32x4Bits(a);
// NaN canonicalization occurs when extracting out x lane:
assertEq(SIMD.Float32x4.extractLane(c, 0), NaN);
// but underlying bits are faithfully transmitted
// (though reinterpreted as a signed integer):
var d = SIMD.Int32x4.fromFloat32x4Bits(c);
assertEq(SIMD.Int32x4.extractLane(d, 0), -1);
if (typeof reportCompare === "function")
reportCompare(true, true);