Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7)

Side by Side Diff: test/mjsunit/harmony/simd.js

Issue 1695743003: [builtins] Support SameValue and SameValueZero via runtime functions. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Address bug in SameValue and SameValueZero for SIMD types. Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/runtime/runtime-simd.cc ('k') | test/mjsunit/samevalue.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 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: --harmony-simd --harmony-tostring --harmony-reflect 5 // Flags: --harmony-simd --harmony-tostring --harmony-reflect
6 // Flags: --allow-natives-syntax --expose-natives-as natives --noalways-opt 6 // Flags: --allow-natives-syntax --expose-natives-as natives --noalways-opt
7 7
8 function lanesForType(typeName) { 8 function lanesForType(typeName) {
9 // The lane count follows the first 'x' in the type name, which begins with 9 // The lane count follows the first 'x' in the type name, which begins with
10 // 'float', 'int', or 'bool'. 10 // 'float', 'int', or 'bool'.
(...skipping 389 matching lines...) Expand 10 before | Expand all | Expand 10 after
400 test(false, true); 400 test(false, true);
401 break; 401 break;
402 } 402 }
403 } 403 }
404 404
405 405
406 function TestSameValue(type, lanes) { 406 function TestSameValue(type, lanes) {
407 var simdFn = SIMD[type]; 407 var simdFn = SIMD[type];
408 var instance = createInstance(type); 408 var instance = createInstance(type);
409 var sameValue = Object.is 409 var sameValue = Object.is
410 var sameValueZero = natives.ImportNow("SameValueZero"); 410 var sameValueZero = function(x, y) { return %SameValueZero(x, y); }
411 411
412 // SIMD values should not be the same as instances of different types. 412 // SIMD values should not be the same as instances of different types.
413 checkTypeMatrix(type, function(other) { 413 checkTypeMatrix(type, function(other) {
414 assertFalse(sameValue(instance, other)); 414 assertFalse(sameValue(instance, other));
415 assertFalse(sameValueZero(instance, other)); 415 assertFalse(sameValueZero(instance, other));
416 }); 416 });
417 417
418 // Test that f(a, b) is the same as f(SIMD(a), SIMD(b)) for sameValue and 418 // Test that f(a, b) is the same as f(SIMD(a), SIMD(b)) for sameValue and
419 // sameValueZero, at every lane. 419 // sameValueZero, at every lane.
420 function test(a, b) { 420 function test(a, b) {
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
625 assertEquals(expected, JSON.stringify(input, null, 0)); 625 assertEquals(expected, JSON.stringify(input, null, 0));
626 } 626 }
627 627
628 TestStringify(undefined, SIMD.Float32x4(1, 2, 3, 4)); 628 TestStringify(undefined, SIMD.Float32x4(1, 2, 3, 4));
629 TestStringify('[null]', [SIMD.Float32x4(1, 2, 3, 4)]); 629 TestStringify('[null]', [SIMD.Float32x4(1, 2, 3, 4)]);
630 TestStringify('[{}]', [Object(SIMD.Float32x4(1, 2, 3, 4))]); 630 TestStringify('[{}]', [Object(SIMD.Float32x4(1, 2, 3, 4))]);
631 var simd_wrapper = Object(SIMD.Float32x4(1, 2, 3, 4)); 631 var simd_wrapper = Object(SIMD.Float32x4(1, 2, 3, 4));
632 TestStringify('{}', simd_wrapper); 632 TestStringify('{}', simd_wrapper);
633 simd_wrapper.a = 1; 633 simd_wrapper.a = 1;
634 TestStringify('{"a":1}', simd_wrapper); 634 TestStringify('{"a":1}', simd_wrapper);
OLDNEW
« no previous file with comments | « src/runtime/runtime-simd.cc ('k') | test/mjsunit/samevalue.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698