[simdjs] Update Spec version to 0.9
authorgdeepti <gdeepti@google.com>
Wed, 23 Sep 2015 18:24:51 +0000 (11:24 -0700)
committerCommit bot <commit-bot@chromium.org>
Wed, 23 Sep 2015 18:25:03 +0000 (18:25 +0000)
Remove sumOfAbsoluteDifferences functions.

BUG=v8:4124
LOG=Y

R=bbudge@chromium.org, littledan@chromium.org

Review URL: https://codereview.chromium.org/1356413002

Cr-Commit-Position: refs/heads/master@{#30894}

src/harmony-simd.js
src/runtime/runtime-simd.cc
src/runtime/runtime.h
test/simdjs/testcfg.py

index de6f24d3a020da83d2405b78f9a114a6febfa490..ef3d9948b15e28e647793f13e6b44126f2b47725 100644 (file)
@@ -97,7 +97,7 @@ endmacro
 
 SIMD_ALL_TYPES(DECLARE_COMMON_FUNCTIONS)
 
-macro DECLARE_INT_FUNCTIONS(NAME, TYPE, LANES)
+macro DECLARE_SHIFT_FUNCTIONS(NAME, TYPE, LANES)
 function NAMEShiftLeftByScalarJS(instance, shift) {
   return %NAMEShiftLeftByScalar(instance, shift);
 }
@@ -107,23 +107,8 @@ function NAMEShiftRightByScalarJS(instance, shift) {
 }
 endmacro
 
-SIMD_INT_TYPES(DECLARE_INT_FUNCTIONS)
-
-macro DECLARE_UINT_FUNCTIONS(NAME, TYPE, LANES)
-function NAMEShiftLeftByScalarJS(instance, shift) {
-  return %NAMEShiftLeftByScalar(instance, shift);
-}
-
-function NAMEShiftRightByScalarJS(instance, shift) {
-  return %NAMEShiftRightByScalar(instance, shift);
-}
-
-function NAMEHorizontalSumJS(instance) {
-  return %NAMEHorizontalSum(instance);
-}
-endmacro
-
-SIMD_UINT_TYPES(DECLARE_UINT_FUNCTIONS)
+SIMD_INT_TYPES(DECLARE_SHIFT_FUNCTIONS)
+SIMD_UINT_TYPES(DECLARE_SHIFT_FUNCTIONS)
 
 macro SIMD_SMALL_INT_TYPES(FUNCTION)
 FUNCTION(Int16x8)
@@ -144,23 +129,6 @@ endmacro
 
 SIMD_SMALL_INT_TYPES(DECLARE_SMALL_INT_FUNCTIONS)
 
-macro SIMD_SMALL_UINT_TYPES(FUNCTION)
-FUNCTION(Uint8x16)
-FUNCTION(Uint16x8)
-endmacro
-
-macro DECLARE_SMALL_UINT_FUNCTIONS(NAME)
-function NAMEAbsoluteDifferenceJS(a, b) {
-  return %NAMEAbsoluteDifference(a, b);
-}
-
-function NAMEWidenedAbsoluteDifferenceJS(a, b) {
-  return %NAMEWidenedAbsoluteDifference(a, b);
-}
-endmacro
-
-SIMD_SMALL_UINT_TYPES(DECLARE_SMALL_UINT_FUNCTIONS)
-
 macro DECLARE_SIGNED_FUNCTIONS(NAME, TYPE, LANES)
 function NAMENegJS(a) {
   return %NAMENeg(a);
@@ -703,7 +671,6 @@ utils.InstallFunctions(GlobalUint32x4, DONT_ENUM, [
   'not', Uint32x4NotJS,
   'shiftLeftByScalar', Uint32x4ShiftLeftByScalarJS,
   'shiftRightByScalar', Uint32x4ShiftRightByScalarJS,
-  'horizontalSum', Uint32x4HorizontalSumJS,
   'lessThan', Uint32x4LessThanJS,
   'lessThanOrEqual', Uint32x4LessThanOrEqualJS,
   'greaterThan', Uint32x4GreaterThanJS,
@@ -803,9 +770,6 @@ utils.InstallFunctions(GlobalUint16x8, DONT_ENUM, [
   'not', Uint16x8NotJS,
   'shiftLeftByScalar', Uint16x8ShiftLeftByScalarJS,
   'shiftRightByScalar', Uint16x8ShiftRightByScalarJS,
-  'horizontalSum', Uint16x8HorizontalSumJS,
-  'absoluteDifference', Uint16x8AbsoluteDifferenceJS,
-  'widenedAbsoluteDifference', Uint16x8WidenedAbsoluteDifferenceJS,
   'lessThan', Uint16x8LessThanJS,
   'lessThanOrEqual', Uint16x8LessThanOrEqualJS,
   'greaterThan', Uint16x8GreaterThanJS,
@@ -898,9 +862,6 @@ utils.InstallFunctions(GlobalUint8x16, DONT_ENUM, [
   'not', Uint8x16NotJS,
   'shiftLeftByScalar', Uint8x16ShiftLeftByScalarJS,
   'shiftRightByScalar', Uint8x16ShiftRightByScalarJS,
-  'horizontalSum', Uint8x16HorizontalSumJS,
-  'absoluteDifference', Uint8x16AbsoluteDifferenceJS,
-  'widenedAbsoluteDifference', Uint8x16WidenedAbsoluteDifferenceJS,
   'lessThan', Uint8x16LessThanJS,
   'lessThanOrEqual', Uint8x16LessThanOrEqualJS,
   'greaterThan', Uint8x16GreaterThanJS,
index f5fcd009593b38e6befbf37f92106d7952392789..0a1034dfc253b21323faae8eb15ecfe5595a3903 100644 (file)
@@ -110,14 +110,6 @@ inline T AddSaturate(T a, T b) {
 }
 
 
-// Widening absolute difference for uint16_t and uint8_t.
-template <typename T>
-inline uint32_t AbsoluteDifference(T a, T b) {
-  uint32_t result = std::abs(a - b);
-  return result;
-}
-
-
 // Saturating subtraction for int16_t and int8_t.
 template <typename T>
 inline T SubSaturate(T a, T b) {
@@ -492,23 +484,10 @@ SIMD_MAXNUM_FUNCTION(Float32x4, float, 4)
     return *result;                                                    \
   }
 
-#define SIMD_HORIZONTAL_SUM_FUNCTION(type, lane_type, lane_bits, lane_count) \
-  RUNTIME_FUNCTION(Runtime_##type##HorizontalSum) {                          \
-    HandleScope scope(isolate);                                              \
-    DCHECK(args.length() == 1);                                              \
-    CONVERT_ARG_HANDLE_CHECKED(type, a, 0);                                  \
-    double sum = 0;                                                          \
-    for (int i = 0; i < lane_count; i++) {                                   \
-      sum += a->get_lane(i);                                                 \
-    }                                                                        \
-    return *isolate->factory()->NewNumber(sum);                              \
-  }
-
 SIMD_INT_TYPES(SIMD_LSL_FUNCTION)
 SIMD_UINT_TYPES(SIMD_LSL_FUNCTION)
 SIMD_INT_TYPES(SIMD_ASR_FUNCTION)
 SIMD_UINT_TYPES(SIMD_LSR_FUNCTION)
-SIMD_UINT_TYPES(SIMD_HORIZONTAL_SUM_FUNCTION)
 
 //-------------------------------------------------------------------
 
@@ -582,41 +561,6 @@ SIMD_SMALL_INT_TYPES(SIMD_SUB_SATURATE_FUNCTION)
 
 //-------------------------------------------------------------------
 
-// Small Unsigned int-only functions.
-
-#define SIMD_SMALL_UINT_TYPES(FUNCTION)               \
-  FUNCTION(Uint16x8, uint16_t, 8, Uint32x4, uint32_t) \
-  FUNCTION(Uint8x16, uint8_t, 16, Uint16x8, uint16_t)
-
-#define SIMD_ABS_DIFF_FUNCTION(type, lane_type, lane_count, wide_type,       \
-                               wide_ctype)                                   \
-  RUNTIME_FUNCTION(Runtime_##type##AbsoluteDifference) {                     \
-    HandleScope scope(isolate);                                              \
-    SIMD_BINARY_OP(type, lane_type, lane_count, AbsoluteDifference, result); \
-    return *result;                                                          \
-  }
-
-#define SIMD_WIDE_ABS_DIFF_FUNCTION(type, lane_type, lane_count, wide_type, \
-                                    wide_ctype)                             \
-  RUNTIME_FUNCTION(Runtime_##type##WidenedAbsoluteDifference) {             \
-    HandleScope scope(isolate);                                             \
-    static const int kLaneCount = lane_count / 2;                           \
-    DCHECK(args.length() == 2);                                             \
-    CONVERT_ARG_HANDLE_CHECKED(type, a, 0);                                 \
-    CONVERT_ARG_HANDLE_CHECKED(type, b, 1);                                 \
-    wide_ctype lanes[kLaneCount];                                           \
-    for (int i = 0; i < kLaneCount; i++) {                                  \
-      lanes[i] = AbsoluteDifference(a->get_lane(i), b->get_lane(i));        \
-    }                                                                       \
-    Handle<wide_type> result = isolate->factory()->New##wide_type(lanes);   \
-    return *result;                                                         \
-  }
-
-SIMD_SMALL_UINT_TYPES(SIMD_ABS_DIFF_FUNCTION)
-SIMD_SMALL_UINT_TYPES(SIMD_WIDE_ABS_DIFF_FUNCTION)
-
-//-------------------------------------------------------------------
-
 // Numeric functions.
 
 #define SIMD_NUMERIC_TYPES(FUNCTION) \
index b22a36f1cbee986c57bbc73542f0d4ee7a79ad51..fd8b939979849ca9305eea3cb886d9809c195329 100644 (file)
@@ -684,7 +684,6 @@ namespace internal {
   F(Uint32x4Not, 1, 1)                       \
   F(Uint32x4ShiftLeftByScalar, 2, 1)         \
   F(Uint32x4ShiftRightByScalar, 2, 1)        \
-  F(Uint32x4HorizontalSum, 1, 1)             \
   F(Uint32x4Equal, 2, 1)                     \
   F(Uint32x4NotEqual, 2, 1)                  \
   F(Uint32x4LessThan, 2, 1)                  \
@@ -772,9 +771,6 @@ namespace internal {
   F(Uint16x8Not, 1, 1)                       \
   F(Uint16x8ShiftLeftByScalar, 2, 1)         \
   F(Uint16x8ShiftRightByScalar, 2, 1)        \
-  F(Uint16x8HorizontalSum, 1, 1)             \
-  F(Uint16x8AbsoluteDifference, 2, 1)        \
-  F(Uint16x8WidenedAbsoluteDifference, 2, 1) \
   F(Uint16x8Equal, 2, 1)                     \
   F(Uint16x8NotEqual, 2, 1)                  \
   F(Uint16x8LessThan, 2, 1)                  \
@@ -855,9 +851,6 @@ namespace internal {
   F(Uint8x16Not, 1, 1)                       \
   F(Uint8x16ShiftLeftByScalar, 2, 1)         \
   F(Uint8x16ShiftRightByScalar, 2, 1)        \
-  F(Uint8x16HorizontalSum, 1, 1)             \
-  F(Uint8x16AbsoluteDifference, 2, 1)        \
-  F(Uint8x16WidenedAbsoluteDifference, 2, 1) \
   F(Uint8x16Equal, 2, 1)                     \
   F(Uint8x16NotEqual, 2, 1)                  \
   F(Uint8x16LessThan, 2, 1)                  \
index f9bd625bfafe562fc7f97a7a58ebe4a0fb47ade6..1d02fd2e960132b4ca28fafc05f79bb75f485cb0 100644 (file)
@@ -14,8 +14,8 @@ from testrunner.local import testsuite
 from testrunner.local import utils
 from testrunner.objects import testcase
 
-SIMDJS_ARCHIVE_REVISION = "a0cc399c46c160748eae77c3c656b5fa3c8f36cb"
-SIMDJS_ARCHIVE_MD5 = "574b9be4456c55183710f25165b99f81"
+SIMDJS_ARCHIVE_REVISION = "c8ef63c728283debc25891123eb00482fee4b8cd"
+SIMDJS_ARCHIVE_MD5 = "4c3120d1f5b8027b4a38b931119c89bd"
 SIMDJS_URL = ("https://github.com/tc39/ecmascript_simd/archive/%s.tar.gz")
 
 SIMDJS_SUITE_PATH = ["data", "src"]