[simdjs] Update spec version to 0.8.4
authorgdeepti <gdeepti@google.com>
Thu, 17 Sep 2015 17:54:48 +0000 (10:54 -0700)
committerCommit bot <commit-bot@chromium.org>
Thu, 17 Sep 2015 17:55:03 +0000 (17:55 +0000)
Merge ShiftRightArithmetic and ShiftRightLogical Functions.

BUG=v8:4124
LOG=Y

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

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

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

index 84ff06333bb9a3f736080642a1ba8cdc698d5f58..de6f24d3a020da83d2405b78f9a114a6febfa490 100644 (file)
@@ -102,8 +102,8 @@ function NAMEShiftLeftByScalarJS(instance, shift) {
   return %NAMEShiftLeftByScalar(instance, shift);
 }
 
-function NAMEShiftRightArithmeticByScalarJS(instance, shift) {
-  return %NAMEShiftRightArithmeticByScalar(instance, shift);
+function NAMEShiftRightByScalarJS(instance, shift) {
+  return %NAMEShiftRightByScalar(instance, shift);
 }
 endmacro
 
@@ -114,8 +114,8 @@ function NAMEShiftLeftByScalarJS(instance, shift) {
   return %NAMEShiftLeftByScalar(instance, shift);
 }
 
-function NAMEShiftRightLogicalByScalarJS(instance, shift) {
-  return %NAMEShiftRightLogicalByScalar(instance, shift);
+function NAMEShiftRightByScalarJS(instance, shift) {
+  return %NAMEShiftRightByScalar(instance, shift);
 }
 
 function NAMEHorizontalSumJS(instance) {
@@ -659,7 +659,7 @@ utils.InstallFunctions(GlobalInt32x4, DONT_ENUM, [
   'xor', Int32x4XorJS,
   'not', Int32x4NotJS,
   'shiftLeftByScalar', Int32x4ShiftLeftByScalarJS,
-  'shiftRightArithmeticByScalar', Int32x4ShiftRightArithmeticByScalarJS,
+  'shiftRightByScalar', Int32x4ShiftRightByScalarJS,
   'lessThan', Int32x4LessThanJS,
   'lessThanOrEqual', Int32x4LessThanOrEqualJS,
   'greaterThan', Int32x4GreaterThanJS,
@@ -702,7 +702,7 @@ utils.InstallFunctions(GlobalUint32x4, DONT_ENUM, [
   'xor', Uint32x4XorJS,
   'not', Uint32x4NotJS,
   'shiftLeftByScalar', Uint32x4ShiftLeftByScalarJS,
-  'shiftRightLogicalByScalar', Uint32x4ShiftRightLogicalByScalarJS,
+  'shiftRightByScalar', Uint32x4ShiftRightByScalarJS,
   'horizontalSum', Uint32x4HorizontalSumJS,
   'lessThan', Uint32x4LessThanJS,
   'lessThanOrEqual', Uint32x4LessThanOrEqualJS,
@@ -764,7 +764,7 @@ utils.InstallFunctions(GlobalInt16x8, DONT_ENUM, [
   'xor', Int16x8XorJS,
   'not', Int16x8NotJS,
   'shiftLeftByScalar', Int16x8ShiftLeftByScalarJS,
-  'shiftRightArithmeticByScalar', Int16x8ShiftRightArithmeticByScalarJS,
+  'shiftRightByScalar', Int16x8ShiftRightByScalarJS,
   'lessThan', Int16x8LessThanJS,
   'lessThanOrEqual', Int16x8LessThanOrEqualJS,
   'greaterThan', Int16x8GreaterThanJS,
@@ -802,7 +802,7 @@ utils.InstallFunctions(GlobalUint16x8, DONT_ENUM, [
   'xor', Uint16x8XorJS,
   'not', Uint16x8NotJS,
   'shiftLeftByScalar', Uint16x8ShiftLeftByScalarJS,
-  'shiftRightLogicalByScalar', Uint16x8ShiftRightLogicalByScalarJS,
+  'shiftRightByScalar', Uint16x8ShiftRightByScalarJS,
   'horizontalSum', Uint16x8HorizontalSumJS,
   'absoluteDifference', Uint16x8AbsoluteDifferenceJS,
   'widenedAbsoluteDifference', Uint16x8WidenedAbsoluteDifferenceJS,
@@ -859,7 +859,7 @@ utils.InstallFunctions(GlobalInt8x16, DONT_ENUM, [
   'xor', Int8x16XorJS,
   'not', Int8x16NotJS,
   'shiftLeftByScalar', Int8x16ShiftLeftByScalarJS,
-  'shiftRightArithmeticByScalar', Int8x16ShiftRightArithmeticByScalarJS,
+  'shiftRightByScalar', Int8x16ShiftRightByScalarJS,
   'lessThan', Int8x16LessThanJS,
   'lessThanOrEqual', Int8x16LessThanOrEqualJS,
   'greaterThan', Int8x16GreaterThanJS,
@@ -897,7 +897,7 @@ utils.InstallFunctions(GlobalUint8x16, DONT_ENUM, [
   'xor', Uint8x16XorJS,
   'not', Uint8x16NotJS,
   'shiftLeftByScalar', Uint8x16ShiftLeftByScalarJS,
-  'shiftRightLogicalByScalar', Uint8x16ShiftRightLogicalByScalarJS,
+  'shiftRightByScalar', Uint8x16ShiftRightByScalarJS,
   'horizontalSum', Uint8x16HorizontalSumJS,
   'absoluteDifference', Uint8x16AbsoluteDifferenceJS,
   'widenedAbsoluteDifference', Uint8x16WidenedAbsoluteDifferenceJS,
index bed866facfe324a68e82acd3366ae960c95ccd78..f5fcd009593b38e6befbf37f92106d7952392789 100644 (file)
@@ -458,7 +458,7 @@ SIMD_MAXNUM_FUNCTION(Float32x4, float, 4)
   }
 
 #define SIMD_LSR_FUNCTION(type, lane_type, lane_bits, lane_count) \
-  RUNTIME_FUNCTION(Runtime_##type##ShiftRightLogicalByScalar) {   \
+  RUNTIME_FUNCTION(Runtime_##type##ShiftRightByScalar) {          \
     static const int kLaneCount = lane_count;                     \
     HandleScope scope(isolate);                                   \
     DCHECK(args.length() == 2);                                   \
@@ -476,7 +476,7 @@ SIMD_MAXNUM_FUNCTION(Float32x4, float, 4)
   }
 
 #define SIMD_ASR_FUNCTION(type, lane_type, lane_bits, lane_count)      \
-  RUNTIME_FUNCTION(Runtime_##type##ShiftRightArithmeticByScalar) {     \
+  RUNTIME_FUNCTION(Runtime_##type##ShiftRightByScalar) {               \
     static const int kLaneCount = lane_count;                          \
     HandleScope scope(isolate);                                        \
     DCHECK(args.length() == 2);                                        \
index 3ad11bed6a7e8b4e6720eaa3533291184ba4463d..546c33e04f002629fac52f76ace384e17d35f2b7 100644 (file)
@@ -575,317 +575,317 @@ namespace internal {
   F(Arguments, 1, 1)
 
 
-#define FOR_EACH_INTRINSIC_SIMD(F)             \
-  F(IsSimdValue, 1, 1)                         \
-  F(SimdSameValue, 2, 1)                       \
-  F(SimdSameValueZero, 2, 1)                   \
-  F(CreateFloat32x4, 4, 1)                     \
-  F(CreateInt32x4, 4, 1)                       \
-  F(CreateUint32x4, 4, 1)                      \
-  F(CreateBool32x4, 4, 1)                      \
-  F(CreateInt16x8, 8, 1)                       \
-  F(CreateUint16x8, 8, 1)                      \
-  F(CreateBool16x8, 8, 1)                      \
-  F(CreateInt8x16, 16, 1)                      \
-  F(CreateUint8x16, 16, 1)                     \
-  F(CreateBool8x16, 16, 1)                     \
-  F(Float32x4Check, 1, 1)                      \
-  F(Float32x4ExtractLane, 2, 1)                \
-  F(Float32x4ReplaceLane, 3, 1)                \
-  F(Float32x4Abs, 1, 1)                        \
-  F(Float32x4Neg, 1, 1)                        \
-  F(Float32x4Sqrt, 1, 1)                       \
-  F(Float32x4RecipApprox, 1, 1)                \
-  F(Float32x4RecipSqrtApprox, 1, 1)            \
-  F(Float32x4Add, 2, 1)                        \
-  F(Float32x4Sub, 2, 1)                        \
-  F(Float32x4Mul, 2, 1)                        \
-  F(Float32x4Div, 2, 1)                        \
-  F(Float32x4Min, 2, 1)                        \
-  F(Float32x4Max, 2, 1)                        \
-  F(Float32x4MinNum, 2, 1)                     \
-  F(Float32x4MaxNum, 2, 1)                     \
-  F(Float32x4Equal, 2, 1)                      \
-  F(Float32x4NotEqual, 2, 1)                   \
-  F(Float32x4LessThan, 2, 1)                   \
-  F(Float32x4LessThanOrEqual, 2, 1)            \
-  F(Float32x4GreaterThan, 2, 1)                \
-  F(Float32x4GreaterThanOrEqual, 2, 1)         \
-  F(Float32x4Select, 3, 1)                     \
-  F(Float32x4Swizzle, 5, 1)                    \
-  F(Float32x4Shuffle, 6, 1)                    \
-  F(Float32x4FromInt32x4, 1, 1)                \
-  F(Float32x4FromUint32x4, 1, 1)               \
-  F(Float32x4FromInt32x4Bits, 1, 1)            \
-  F(Float32x4FromUint32x4Bits, 1, 1)           \
-  F(Float32x4FromInt16x8Bits, 1, 1)            \
-  F(Float32x4FromUint16x8Bits, 1, 1)           \
-  F(Float32x4FromInt8x16Bits, 1, 1)            \
-  F(Float32x4FromUint8x16Bits, 1, 1)           \
-  F(Float32x4Load, 2, 1)                       \
-  F(Float32x4Load1, 2, 1)                      \
-  F(Float32x4Load2, 2, 1)                      \
-  F(Float32x4Load3, 2, 1)                      \
-  F(Float32x4Store, 3, 1)                      \
-  F(Float32x4Store1, 3, 1)                     \
-  F(Float32x4Store2, 3, 1)                     \
-  F(Float32x4Store3, 3, 1)                     \
-  F(Int32x4Check, 1, 1)                        \
-  F(Int32x4ExtractLane, 2, 1)                  \
-  F(Int32x4ReplaceLane, 3, 1)                  \
-  F(Int32x4Neg, 1, 1)                          \
-  F(Int32x4Add, 2, 1)                          \
-  F(Int32x4Sub, 2, 1)                          \
-  F(Int32x4Mul, 2, 1)                          \
-  F(Int32x4Min, 2, 1)                          \
-  F(Int32x4Max, 2, 1)                          \
-  F(Int32x4And, 2, 1)                          \
-  F(Int32x4Or, 2, 1)                           \
-  F(Int32x4Xor, 2, 1)                          \
-  F(Int32x4Not, 1, 1)                          \
-  F(Int32x4ShiftLeftByScalar, 2, 1)            \
-  F(Int32x4ShiftRightArithmeticByScalar, 2, 1) \
-  F(Int32x4Equal, 2, 1)                        \
-  F(Int32x4NotEqual, 2, 1)                     \
-  F(Int32x4LessThan, 2, 1)                     \
-  F(Int32x4LessThanOrEqual, 2, 1)              \
-  F(Int32x4GreaterThan, 2, 1)                  \
-  F(Int32x4GreaterThanOrEqual, 2, 1)           \
-  F(Int32x4Select, 3, 1)                       \
-  F(Int32x4Swizzle, 5, 1)                      \
-  F(Int32x4Shuffle, 6, 1)                      \
-  F(Int32x4FromFloat32x4, 1, 1)                \
-  F(Int32x4FromUint32x4, 1, 1)                 \
-  F(Int32x4FromFloat32x4Bits, 1, 1)            \
-  F(Int32x4FromUint32x4Bits, 1, 1)             \
-  F(Int32x4FromInt16x8Bits, 1, 1)              \
-  F(Int32x4FromUint16x8Bits, 1, 1)             \
-  F(Int32x4FromInt8x16Bits, 1, 1)              \
-  F(Int32x4FromUint8x16Bits, 1, 1)             \
-  F(Int32x4Load, 2, 1)                         \
-  F(Int32x4Load1, 2, 1)                        \
-  F(Int32x4Load2, 2, 1)                        \
-  F(Int32x4Load3, 2, 1)                        \
-  F(Int32x4Store, 3, 1)                        \
-  F(Int32x4Store1, 3, 1)                       \
-  F(Int32x4Store2, 3, 1)                       \
-  F(Int32x4Store3, 3, 1)                       \
-  F(Uint32x4Check, 1, 1)                       \
-  F(Uint32x4ExtractLane, 2, 1)                 \
-  F(Uint32x4ReplaceLane, 3, 1)                 \
-  F(Uint32x4Add, 2, 1)                         \
-  F(Uint32x4Sub, 2, 1)                         \
-  F(Uint32x4Mul, 2, 1)                         \
-  F(Uint32x4Min, 2, 1)                         \
-  F(Uint32x4Max, 2, 1)                         \
-  F(Uint32x4And, 2, 1)                         \
-  F(Uint32x4Or, 2, 1)                          \
-  F(Uint32x4Xor, 2, 1)                         \
-  F(Uint32x4Not, 1, 1)                         \
-  F(Uint32x4ShiftLeftByScalar, 2, 1)           \
-  F(Uint32x4ShiftRightLogicalByScalar, 2, 1)   \
-  F(Uint32x4HorizontalSum, 1, 1)               \
-  F(Uint32x4Equal, 2, 1)                       \
-  F(Uint32x4NotEqual, 2, 1)                    \
-  F(Uint32x4LessThan, 2, 1)                    \
-  F(Uint32x4LessThanOrEqual, 2, 1)             \
-  F(Uint32x4GreaterThan, 2, 1)                 \
-  F(Uint32x4GreaterThanOrEqual, 2, 1)          \
-  F(Uint32x4Select, 3, 1)                      \
-  F(Uint32x4Swizzle, 5, 1)                     \
-  F(Uint32x4Shuffle, 6, 1)                     \
-  F(Uint32x4FromFloat32x4, 1, 1)               \
-  F(Uint32x4FromInt32x4, 1, 1)                 \
-  F(Uint32x4FromFloat32x4Bits, 1, 1)           \
-  F(Uint32x4FromInt32x4Bits, 1, 1)             \
-  F(Uint32x4FromInt16x8Bits, 1, 1)             \
-  F(Uint32x4FromUint16x8Bits, 1, 1)            \
-  F(Uint32x4FromInt8x16Bits, 1, 1)             \
-  F(Uint32x4FromUint8x16Bits, 1, 1)            \
-  F(Uint32x4Load, 2, 1)                        \
-  F(Uint32x4Load1, 2, 1)                       \
-  F(Uint32x4Load2, 2, 1)                       \
-  F(Uint32x4Load3, 2, 1)                       \
-  F(Uint32x4Store, 3, 1)                       \
-  F(Uint32x4Store1, 3, 1)                      \
-  F(Uint32x4Store2, 3, 1)                      \
-  F(Uint32x4Store3, 3, 1)                      \
-  F(Bool32x4Check, 1, 1)                       \
-  F(Bool32x4ExtractLane, 2, 1)                 \
-  F(Bool32x4ReplaceLane, 3, 1)                 \
-  F(Bool32x4And, 2, 1)                         \
-  F(Bool32x4Or, 2, 1)                          \
-  F(Bool32x4Xor, 2, 1)                         \
-  F(Bool32x4Not, 1, 1)                         \
-  F(Bool32x4AnyTrue, 1, 1)                     \
-  F(Bool32x4AllTrue, 1, 1)                     \
-  F(Bool32x4Swizzle, 5, 1)                     \
-  F(Bool32x4Shuffle, 6, 1)                     \
-  F(Int16x8Check, 1, 1)                        \
-  F(Int16x8ExtractLane, 2, 1)                  \
-  F(Int16x8ReplaceLane, 3, 1)                  \
-  F(Int16x8Neg, 1, 1)                          \
-  F(Int16x8Add, 2, 1)                          \
-  F(Int16x8AddSaturate, 2, 1)                  \
-  F(Int16x8Sub, 2, 1)                          \
-  F(Int16x8SubSaturate, 2, 1)                  \
-  F(Int16x8Mul, 2, 1)                          \
-  F(Int16x8Min, 2, 1)                          \
-  F(Int16x8Max, 2, 1)                          \
-  F(Int16x8And, 2, 1)                          \
-  F(Int16x8Or, 2, 1)                           \
-  F(Int16x8Xor, 2, 1)                          \
-  F(Int16x8Not, 1, 1)                          \
-  F(Int16x8ShiftLeftByScalar, 2, 1)            \
-  F(Int16x8ShiftRightArithmeticByScalar, 2, 1) \
-  F(Int16x8Equal, 2, 1)                        \
-  F(Int16x8NotEqual, 2, 1)                     \
-  F(Int16x8LessThan, 2, 1)                     \
-  F(Int16x8LessThanOrEqual, 2, 1)              \
-  F(Int16x8GreaterThan, 2, 1)                  \
-  F(Int16x8GreaterThanOrEqual, 2, 1)           \
-  F(Int16x8Select, 3, 1)                       \
-  F(Int16x8Swizzle, 9, 1)                      \
-  F(Int16x8Shuffle, 10, 1)                     \
-  F(Int16x8FromUint16x8, 1, 1)                 \
-  F(Int16x8FromFloat32x4Bits, 1, 1)            \
-  F(Int16x8FromInt32x4Bits, 1, 1)              \
-  F(Int16x8FromUint32x4Bits, 1, 1)             \
-  F(Int16x8FromUint16x8Bits, 1, 1)             \
-  F(Int16x8FromInt8x16Bits, 1, 1)              \
-  F(Int16x8FromUint8x16Bits, 1, 1)             \
-  F(Int16x8Load, 2, 1)                         \
-  F(Int16x8Store, 3, 1)                        \
-  F(Uint16x8Check, 1, 1)                       \
-  F(Uint16x8ExtractLane, 2, 1)                 \
-  F(Uint16x8ReplaceLane, 3, 1)                 \
-  F(Uint16x8Add, 2, 1)                         \
-  F(Uint16x8AddSaturate, 2, 1)                 \
-  F(Uint16x8Sub, 2, 1)                         \
-  F(Uint16x8SubSaturate, 2, 1)                 \
-  F(Uint16x8Mul, 2, 1)                         \
-  F(Uint16x8Min, 2, 1)                         \
-  F(Uint16x8Max, 2, 1)                         \
-  F(Uint16x8And, 2, 1)                         \
-  F(Uint16x8Or, 2, 1)                          \
-  F(Uint16x8Xor, 2, 1)                         \
-  F(Uint16x8Not, 1, 1)                         \
-  F(Uint16x8ShiftLeftByScalar, 2, 1)           \
-  F(Uint16x8ShiftRightLogicalByScalar, 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)                    \
-  F(Uint16x8LessThanOrEqual, 2, 1)             \
-  F(Uint16x8GreaterThan, 2, 1)                 \
-  F(Uint16x8GreaterThanOrEqual, 2, 1)          \
-  F(Uint16x8Select, 3, 1)                      \
-  F(Uint16x8Swizzle, 9, 1)                     \
-  F(Uint16x8Shuffle, 10, 1)                    \
-  F(Uint16x8FromInt16x8, 1, 1)                 \
-  F(Uint16x8FromFloat32x4Bits, 1, 1)           \
-  F(Uint16x8FromInt32x4Bits, 1, 1)             \
-  F(Uint16x8FromUint32x4Bits, 1, 1)            \
-  F(Uint16x8FromInt16x8Bits, 1, 1)             \
-  F(Uint16x8FromInt8x16Bits, 1, 1)             \
-  F(Uint16x8FromUint8x16Bits, 1, 1)            \
-  F(Uint16x8Load, 2, 1)                        \
-  F(Uint16x8Store, 3, 1)                       \
-  F(Bool16x8Check, 1, 1)                       \
-  F(Bool16x8ExtractLane, 2, 1)                 \
-  F(Bool16x8ReplaceLane, 3, 1)                 \
-  F(Bool16x8And, 2, 1)                         \
-  F(Bool16x8Or, 2, 1)                          \
-  F(Bool16x8Xor, 2, 1)                         \
-  F(Bool16x8Not, 1, 1)                         \
-  F(Bool16x8AnyTrue, 1, 1)                     \
-  F(Bool16x8AllTrue, 1, 1)                     \
-  F(Bool16x8Swizzle, 9, 1)                     \
-  F(Bool16x8Shuffle, 10, 1)                    \
-  F(Int8x16Check, 1, 1)                        \
-  F(Int8x16ExtractLane, 2, 1)                  \
-  F(Int8x16ReplaceLane, 3, 1)                  \
-  F(Int8x16Neg, 1, 1)                          \
-  F(Int8x16Add, 2, 1)                          \
-  F(Int8x16AddSaturate, 2, 1)                  \
-  F(Int8x16Sub, 2, 1)                          \
-  F(Int8x16SubSaturate, 2, 1)                  \
-  F(Int8x16Mul, 2, 1)                          \
-  F(Int8x16Min, 2, 1)                          \
-  F(Int8x16Max, 2, 1)                          \
-  F(Int8x16And, 2, 1)                          \
-  F(Int8x16Or, 2, 1)                           \
-  F(Int8x16Xor, 2, 1)                          \
-  F(Int8x16Not, 1, 1)                          \
-  F(Int8x16ShiftLeftByScalar, 2, 1)            \
-  F(Int8x16ShiftRightArithmeticByScalar, 2, 1) \
-  F(Int8x16Equal, 2, 1)                        \
-  F(Int8x16NotEqual, 2, 1)                     \
-  F(Int8x16LessThan, 2, 1)                     \
-  F(Int8x16LessThanOrEqual, 2, 1)              \
-  F(Int8x16GreaterThan, 2, 1)                  \
-  F(Int8x16GreaterThanOrEqual, 2, 1)           \
-  F(Int8x16Select, 3, 1)                       \
-  F(Int8x16Swizzle, 17, 1)                     \
-  F(Int8x16Shuffle, 18, 1)                     \
-  F(Int8x16FromUint8x16, 1, 1)                 \
-  F(Int8x16FromFloat32x4Bits, 1, 1)            \
-  F(Int8x16FromInt32x4Bits, 1, 1)              \
-  F(Int8x16FromUint32x4Bits, 1, 1)             \
-  F(Int8x16FromInt16x8Bits, 1, 1)              \
-  F(Int8x16FromUint16x8Bits, 1, 1)             \
-  F(Int8x16FromUint8x16Bits, 1, 1)             \
-  F(Int8x16Load, 2, 1)                         \
-  F(Int8x16Store, 3, 1)                        \
-  F(Uint8x16Check, 1, 1)                       \
-  F(Uint8x16ExtractLane, 2, 1)                 \
-  F(Uint8x16ReplaceLane, 3, 1)                 \
-  F(Uint8x16Add, 2, 1)                         \
-  F(Uint8x16AddSaturate, 2, 1)                 \
-  F(Uint8x16Sub, 2, 1)                         \
-  F(Uint8x16SubSaturate, 2, 1)                 \
-  F(Uint8x16Mul, 2, 1)                         \
-  F(Uint8x16Min, 2, 1)                         \
-  F(Uint8x16Max, 2, 1)                         \
-  F(Uint8x16And, 2, 1)                         \
-  F(Uint8x16Or, 2, 1)                          \
-  F(Uint8x16Xor, 2, 1)                         \
-  F(Uint8x16Not, 1, 1)                         \
-  F(Uint8x16ShiftLeftByScalar, 2, 1)           \
-  F(Uint8x16ShiftRightLogicalByScalar, 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)                    \
-  F(Uint8x16LessThanOrEqual, 2, 1)             \
-  F(Uint8x16GreaterThan, 2, 1)                 \
-  F(Uint8x16GreaterThanOrEqual, 2, 1)          \
-  F(Uint8x16Select, 3, 1)                      \
-  F(Uint8x16Swizzle, 17, 1)                    \
-  F(Uint8x16Shuffle, 18, 1)                    \
-  F(Uint8x16FromInt8x16, 1, 1)                 \
-  F(Uint8x16FromFloat32x4Bits, 1, 1)           \
-  F(Uint8x16FromInt32x4Bits, 1, 1)             \
-  F(Uint8x16FromUint32x4Bits, 1, 1)            \
-  F(Uint8x16FromInt16x8Bits, 1, 1)             \
-  F(Uint8x16FromUint16x8Bits, 1, 1)            \
-  F(Uint8x16FromInt8x16Bits, 1, 1)             \
-  F(Uint8x16Load, 2, 1)                        \
-  F(Uint8x16Store, 3, 1)                       \
-  F(Bool8x16Check, 1, 1)                       \
-  F(Bool8x16ExtractLane, 2, 1)                 \
-  F(Bool8x16ReplaceLane, 3, 1)                 \
-  F(Bool8x16And, 2, 1)                         \
-  F(Bool8x16Or, 2, 1)                          \
-  F(Bool8x16Xor, 2, 1)                         \
-  F(Bool8x16Not, 1, 1)                         \
-  F(Bool8x16AnyTrue, 1, 1)                     \
-  F(Bool8x16AllTrue, 1, 1)                     \
-  F(Bool8x16Swizzle, 17, 1)                    \
+#define FOR_EACH_INTRINSIC_SIMD(F)           \
+  F(IsSimdValue, 1, 1)                       \
+  F(SimdSameValue, 2, 1)                     \
+  F(SimdSameValueZero, 2, 1)                 \
+  F(CreateFloat32x4, 4, 1)                   \
+  F(CreateInt32x4, 4, 1)                     \
+  F(CreateUint32x4, 4, 1)                    \
+  F(CreateBool32x4, 4, 1)                    \
+  F(CreateInt16x8, 8, 1)                     \
+  F(CreateUint16x8, 8, 1)                    \
+  F(CreateBool16x8, 8, 1)                    \
+  F(CreateInt8x16, 16, 1)                    \
+  F(CreateUint8x16, 16, 1)                   \
+  F(CreateBool8x16, 16, 1)                   \
+  F(Float32x4Check, 1, 1)                    \
+  F(Float32x4ExtractLane, 2, 1)              \
+  F(Float32x4ReplaceLane, 3, 1)              \
+  F(Float32x4Abs, 1, 1)                      \
+  F(Float32x4Neg, 1, 1)                      \
+  F(Float32x4Sqrt, 1, 1)                     \
+  F(Float32x4RecipApprox, 1, 1)              \
+  F(Float32x4RecipSqrtApprox, 1, 1)          \
+  F(Float32x4Add, 2, 1)                      \
+  F(Float32x4Sub, 2, 1)                      \
+  F(Float32x4Mul, 2, 1)                      \
+  F(Float32x4Div, 2, 1)                      \
+  F(Float32x4Min, 2, 1)                      \
+  F(Float32x4Max, 2, 1)                      \
+  F(Float32x4MinNum, 2, 1)                   \
+  F(Float32x4MaxNum, 2, 1)                   \
+  F(Float32x4Equal, 2, 1)                    \
+  F(Float32x4NotEqual, 2, 1)                 \
+  F(Float32x4LessThan, 2, 1)                 \
+  F(Float32x4LessThanOrEqual, 2, 1)          \
+  F(Float32x4GreaterThan, 2, 1)              \
+  F(Float32x4GreaterThanOrEqual, 2, 1)       \
+  F(Float32x4Select, 3, 1)                   \
+  F(Float32x4Swizzle, 5, 1)                  \
+  F(Float32x4Shuffle, 6, 1)                  \
+  F(Float32x4FromInt32x4, 1, 1)              \
+  F(Float32x4FromUint32x4, 1, 1)             \
+  F(Float32x4FromInt32x4Bits, 1, 1)          \
+  F(Float32x4FromUint32x4Bits, 1, 1)         \
+  F(Float32x4FromInt16x8Bits, 1, 1)          \
+  F(Float32x4FromUint16x8Bits, 1, 1)         \
+  F(Float32x4FromInt8x16Bits, 1, 1)          \
+  F(Float32x4FromUint8x16Bits, 1, 1)         \
+  F(Float32x4Load, 2, 1)                     \
+  F(Float32x4Load1, 2, 1)                    \
+  F(Float32x4Load2, 2, 1)                    \
+  F(Float32x4Load3, 2, 1)                    \
+  F(Float32x4Store, 3, 1)                    \
+  F(Float32x4Store1, 3, 1)                   \
+  F(Float32x4Store2, 3, 1)                   \
+  F(Float32x4Store3, 3, 1)                   \
+  F(Int32x4Check, 1, 1)                      \
+  F(Int32x4ExtractLane, 2, 1)                \
+  F(Int32x4ReplaceLane, 3, 1)                \
+  F(Int32x4Neg, 1, 1)                        \
+  F(Int32x4Add, 2, 1)                        \
+  F(Int32x4Sub, 2, 1)                        \
+  F(Int32x4Mul, 2, 1)                        \
+  F(Int32x4Min, 2, 1)                        \
+  F(Int32x4Max, 2, 1)                        \
+  F(Int32x4And, 2, 1)                        \
+  F(Int32x4Or, 2, 1)                         \
+  F(Int32x4Xor, 2, 1)                        \
+  F(Int32x4Not, 1, 1)                        \
+  F(Int32x4ShiftLeftByScalar, 2, 1)          \
+  F(Int32x4ShiftRightByScalar, 2, 1)         \
+  F(Int32x4Equal, 2, 1)                      \
+  F(Int32x4NotEqual, 2, 1)                   \
+  F(Int32x4LessThan, 2, 1)                   \
+  F(Int32x4LessThanOrEqual, 2, 1)            \
+  F(Int32x4GreaterThan, 2, 1)                \
+  F(Int32x4GreaterThanOrEqual, 2, 1)         \
+  F(Int32x4Select, 3, 1)                     \
+  F(Int32x4Swizzle, 5, 1)                    \
+  F(Int32x4Shuffle, 6, 1)                    \
+  F(Int32x4FromFloat32x4, 1, 1)              \
+  F(Int32x4FromUint32x4, 1, 1)               \
+  F(Int32x4FromFloat32x4Bits, 1, 1)          \
+  F(Int32x4FromUint32x4Bits, 1, 1)           \
+  F(Int32x4FromInt16x8Bits, 1, 1)            \
+  F(Int32x4FromUint16x8Bits, 1, 1)           \
+  F(Int32x4FromInt8x16Bits, 1, 1)            \
+  F(Int32x4FromUint8x16Bits, 1, 1)           \
+  F(Int32x4Load, 2, 1)                       \
+  F(Int32x4Load1, 2, 1)                      \
+  F(Int32x4Load2, 2, 1)                      \
+  F(Int32x4Load3, 2, 1)                      \
+  F(Int32x4Store, 3, 1)                      \
+  F(Int32x4Store1, 3, 1)                     \
+  F(Int32x4Store2, 3, 1)                     \
+  F(Int32x4Store3, 3, 1)                     \
+  F(Uint32x4Check, 1, 1)                     \
+  F(Uint32x4ExtractLane, 2, 1)               \
+  F(Uint32x4ReplaceLane, 3, 1)               \
+  F(Uint32x4Add, 2, 1)                       \
+  F(Uint32x4Sub, 2, 1)                       \
+  F(Uint32x4Mul, 2, 1)                       \
+  F(Uint32x4Min, 2, 1)                       \
+  F(Uint32x4Max, 2, 1)                       \
+  F(Uint32x4And, 2, 1)                       \
+  F(Uint32x4Or, 2, 1)                        \
+  F(Uint32x4Xor, 2, 1)                       \
+  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)                  \
+  F(Uint32x4LessThanOrEqual, 2, 1)           \
+  F(Uint32x4GreaterThan, 2, 1)               \
+  F(Uint32x4GreaterThanOrEqual, 2, 1)        \
+  F(Uint32x4Select, 3, 1)                    \
+  F(Uint32x4Swizzle, 5, 1)                   \
+  F(Uint32x4Shuffle, 6, 1)                   \
+  F(Uint32x4FromFloat32x4, 1, 1)             \
+  F(Uint32x4FromInt32x4, 1, 1)               \
+  F(Uint32x4FromFloat32x4Bits, 1, 1)         \
+  F(Uint32x4FromInt32x4Bits, 1, 1)           \
+  F(Uint32x4FromInt16x8Bits, 1, 1)           \
+  F(Uint32x4FromUint16x8Bits, 1, 1)          \
+  F(Uint32x4FromInt8x16Bits, 1, 1)           \
+  F(Uint32x4FromUint8x16Bits, 1, 1)          \
+  F(Uint32x4Load, 2, 1)                      \
+  F(Uint32x4Load1, 2, 1)                     \
+  F(Uint32x4Load2, 2, 1)                     \
+  F(Uint32x4Load3, 2, 1)                     \
+  F(Uint32x4Store, 3, 1)                     \
+  F(Uint32x4Store1, 3, 1)                    \
+  F(Uint32x4Store2, 3, 1)                    \
+  F(Uint32x4Store3, 3, 1)                    \
+  F(Bool32x4Check, 1, 1)                     \
+  F(Bool32x4ExtractLane, 2, 1)               \
+  F(Bool32x4ReplaceLane, 3, 1)               \
+  F(Bool32x4And, 2, 1)                       \
+  F(Bool32x4Or, 2, 1)                        \
+  F(Bool32x4Xor, 2, 1)                       \
+  F(Bool32x4Not, 1, 1)                       \
+  F(Bool32x4AnyTrue, 1, 1)                   \
+  F(Bool32x4AllTrue, 1, 1)                   \
+  F(Bool32x4Swizzle, 5, 1)                   \
+  F(Bool32x4Shuffle, 6, 1)                   \
+  F(Int16x8Check, 1, 1)                      \
+  F(Int16x8ExtractLane, 2, 1)                \
+  F(Int16x8ReplaceLane, 3, 1)                \
+  F(Int16x8Neg, 1, 1)                        \
+  F(Int16x8Add, 2, 1)                        \
+  F(Int16x8AddSaturate, 2, 1)                \
+  F(Int16x8Sub, 2, 1)                        \
+  F(Int16x8SubSaturate, 2, 1)                \
+  F(Int16x8Mul, 2, 1)                        \
+  F(Int16x8Min, 2, 1)                        \
+  F(Int16x8Max, 2, 1)                        \
+  F(Int16x8And, 2, 1)                        \
+  F(Int16x8Or, 2, 1)                         \
+  F(Int16x8Xor, 2, 1)                        \
+  F(Int16x8Not, 1, 1)                        \
+  F(Int16x8ShiftLeftByScalar, 2, 1)          \
+  F(Int16x8ShiftRightByScalar, 2, 1)         \
+  F(Int16x8Equal, 2, 1)                      \
+  F(Int16x8NotEqual, 2, 1)                   \
+  F(Int16x8LessThan, 2, 1)                   \
+  F(Int16x8LessThanOrEqual, 2, 1)            \
+  F(Int16x8GreaterThan, 2, 1)                \
+  F(Int16x8GreaterThanOrEqual, 2, 1)         \
+  F(Int16x8Select, 3, 1)                     \
+  F(Int16x8Swizzle, 9, 1)                    \
+  F(Int16x8Shuffle, 10, 1)                   \
+  F(Int16x8FromUint16x8, 1, 1)               \
+  F(Int16x8FromFloat32x4Bits, 1, 1)          \
+  F(Int16x8FromInt32x4Bits, 1, 1)            \
+  F(Int16x8FromUint32x4Bits, 1, 1)           \
+  F(Int16x8FromUint16x8Bits, 1, 1)           \
+  F(Int16x8FromInt8x16Bits, 1, 1)            \
+  F(Int16x8FromUint8x16Bits, 1, 1)           \
+  F(Int16x8Load, 2, 1)                       \
+  F(Int16x8Store, 3, 1)                      \
+  F(Uint16x8Check, 1, 1)                     \
+  F(Uint16x8ExtractLane, 2, 1)               \
+  F(Uint16x8ReplaceLane, 3, 1)               \
+  F(Uint16x8Add, 2, 1)                       \
+  F(Uint16x8AddSaturate, 2, 1)               \
+  F(Uint16x8Sub, 2, 1)                       \
+  F(Uint16x8SubSaturate, 2, 1)               \
+  F(Uint16x8Mul, 2, 1)                       \
+  F(Uint16x8Min, 2, 1)                       \
+  F(Uint16x8Max, 2, 1)                       \
+  F(Uint16x8And, 2, 1)                       \
+  F(Uint16x8Or, 2, 1)                        \
+  F(Uint16x8Xor, 2, 1)                       \
+  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)                  \
+  F(Uint16x8LessThanOrEqual, 2, 1)           \
+  F(Uint16x8GreaterThan, 2, 1)               \
+  F(Uint16x8GreaterThanOrEqual, 2, 1)        \
+  F(Uint16x8Select, 3, 1)                    \
+  F(Uint16x8Swizzle, 9, 1)                   \
+  F(Uint16x8Shuffle, 10, 1)                  \
+  F(Uint16x8FromInt16x8, 1, 1)               \
+  F(Uint16x8FromFloat32x4Bits, 1, 1)         \
+  F(Uint16x8FromInt32x4Bits, 1, 1)           \
+  F(Uint16x8FromUint32x4Bits, 1, 1)          \
+  F(Uint16x8FromInt16x8Bits, 1, 1)           \
+  F(Uint16x8FromInt8x16Bits, 1, 1)           \
+  F(Uint16x8FromUint8x16Bits, 1, 1)          \
+  F(Uint16x8Load, 2, 1)                      \
+  F(Uint16x8Store, 3, 1)                     \
+  F(Bool16x8Check, 1, 1)                     \
+  F(Bool16x8ExtractLane, 2, 1)               \
+  F(Bool16x8ReplaceLane, 3, 1)               \
+  F(Bool16x8And, 2, 1)                       \
+  F(Bool16x8Or, 2, 1)                        \
+  F(Bool16x8Xor, 2, 1)                       \
+  F(Bool16x8Not, 1, 1)                       \
+  F(Bool16x8AnyTrue, 1, 1)                   \
+  F(Bool16x8AllTrue, 1, 1)                   \
+  F(Bool16x8Swizzle, 9, 1)                   \
+  F(Bool16x8Shuffle, 10, 1)                  \
+  F(Int8x16Check, 1, 1)                      \
+  F(Int8x16ExtractLane, 2, 1)                \
+  F(Int8x16ReplaceLane, 3, 1)                \
+  F(Int8x16Neg, 1, 1)                        \
+  F(Int8x16Add, 2, 1)                        \
+  F(Int8x16AddSaturate, 2, 1)                \
+  F(Int8x16Sub, 2, 1)                        \
+  F(Int8x16SubSaturate, 2, 1)                \
+  F(Int8x16Mul, 2, 1)                        \
+  F(Int8x16Min, 2, 1)                        \
+  F(Int8x16Max, 2, 1)                        \
+  F(Int8x16And, 2, 1)                        \
+  F(Int8x16Or, 2, 1)                         \
+  F(Int8x16Xor, 2, 1)                        \
+  F(Int8x16Not, 1, 1)                        \
+  F(Int8x16ShiftLeftByScalar, 2, 1)          \
+  F(Int8x16ShiftRightByScalar, 2, 1)         \
+  F(Int8x16Equal, 2, 1)                      \
+  F(Int8x16NotEqual, 2, 1)                   \
+  F(Int8x16LessThan, 2, 1)                   \
+  F(Int8x16LessThanOrEqual, 2, 1)            \
+  F(Int8x16GreaterThan, 2, 1)                \
+  F(Int8x16GreaterThanOrEqual, 2, 1)         \
+  F(Int8x16Select, 3, 1)                     \
+  F(Int8x16Swizzle, 17, 1)                   \
+  F(Int8x16Shuffle, 18, 1)                   \
+  F(Int8x16FromUint8x16, 1, 1)               \
+  F(Int8x16FromFloat32x4Bits, 1, 1)          \
+  F(Int8x16FromInt32x4Bits, 1, 1)            \
+  F(Int8x16FromUint32x4Bits, 1, 1)           \
+  F(Int8x16FromInt16x8Bits, 1, 1)            \
+  F(Int8x16FromUint16x8Bits, 1, 1)           \
+  F(Int8x16FromUint8x16Bits, 1, 1)           \
+  F(Int8x16Load, 2, 1)                       \
+  F(Int8x16Store, 3, 1)                      \
+  F(Uint8x16Check, 1, 1)                     \
+  F(Uint8x16ExtractLane, 2, 1)               \
+  F(Uint8x16ReplaceLane, 3, 1)               \
+  F(Uint8x16Add, 2, 1)                       \
+  F(Uint8x16AddSaturate, 2, 1)               \
+  F(Uint8x16Sub, 2, 1)                       \
+  F(Uint8x16SubSaturate, 2, 1)               \
+  F(Uint8x16Mul, 2, 1)                       \
+  F(Uint8x16Min, 2, 1)                       \
+  F(Uint8x16Max, 2, 1)                       \
+  F(Uint8x16And, 2, 1)                       \
+  F(Uint8x16Or, 2, 1)                        \
+  F(Uint8x16Xor, 2, 1)                       \
+  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)                  \
+  F(Uint8x16LessThanOrEqual, 2, 1)           \
+  F(Uint8x16GreaterThan, 2, 1)               \
+  F(Uint8x16GreaterThanOrEqual, 2, 1)        \
+  F(Uint8x16Select, 3, 1)                    \
+  F(Uint8x16Swizzle, 17, 1)                  \
+  F(Uint8x16Shuffle, 18, 1)                  \
+  F(Uint8x16FromInt8x16, 1, 1)               \
+  F(Uint8x16FromFloat32x4Bits, 1, 1)         \
+  F(Uint8x16FromInt32x4Bits, 1, 1)           \
+  F(Uint8x16FromUint32x4Bits, 1, 1)          \
+  F(Uint8x16FromInt16x8Bits, 1, 1)           \
+  F(Uint8x16FromUint16x8Bits, 1, 1)          \
+  F(Uint8x16FromInt8x16Bits, 1, 1)           \
+  F(Uint8x16Load, 2, 1)                      \
+  F(Uint8x16Store, 3, 1)                     \
+  F(Bool8x16Check, 1, 1)                     \
+  F(Bool8x16ExtractLane, 2, 1)               \
+  F(Bool8x16ReplaceLane, 3, 1)               \
+  F(Bool8x16And, 2, 1)                       \
+  F(Bool8x16Or, 2, 1)                        \
+  F(Bool8x16Xor, 2, 1)                       \
+  F(Bool8x16Not, 1, 1)                       \
+  F(Bool8x16AnyTrue, 1, 1)                   \
+  F(Bool8x16AllTrue, 1, 1)                   \
+  F(Bool8x16Swizzle, 17, 1)                  \
   F(Bool8x16Shuffle, 18, 1)
 
 
index 9a81a8900da91e44119cfb80ad79b2ffc17cca9e..f9bd625bfafe562fc7f97a7a58ebe4a0fb47ade6 100644 (file)
@@ -14,8 +14,8 @@ from testrunner.local import testsuite
 from testrunner.local import utils
 from testrunner.objects import testcase
 
-SIMDJS_ARCHIVE_REVISION = "0fecaab13e57e9be50d87e3fa49b2729838bb75c"
-SIMDJS_ARCHIVE_MD5 = "ce25acf841b76624607b39252122bb0e"
+SIMDJS_ARCHIVE_REVISION = "a0cc399c46c160748eae77c3c656b5fa3c8f36cb"
+SIMDJS_ARCHIVE_MD5 = "574b9be4456c55183710f25165b99f81"
 SIMDJS_URL = ("https://github.com/tc39/ecmascript_simd/archive/%s.tar.gz")
 
 SIMDJS_SUITE_PATH = ["data", "src"]