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

Unified Diff: src/runtime.h

Issue 90643003: Experimental implementation: Exposing SIMD instructions into JavaScript Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 1 month 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/property-details.h ('k') | src/runtime.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/runtime.h
diff --git a/src/runtime.h b/src/runtime.h
index 62c52a7de061d5d0384ac44ac368054bcac86d91..42a3c05f234c5f2caf05dd8d922afbc1164fa121 100644
--- a/src/runtime.h
+++ b/src/runtime.h
@@ -190,6 +190,59 @@ namespace internal {
F(Math_sqrt, 1, 1) \
F(Math_tan, 1, 1) \
\
+ /* Float32x4 and Int32x4 */ \
+ F(AllocateFloat32x4, 0, 1) \
+ F(AllocateInt32x4, 0, 1) \
+ \
+ /* SIMD */ \
+ F(SIMDAbs, 1, 1) \
+ F(SIMDNeg, 1, 1) \
+ F(SIMDAdd, 2, 1) \
+ F(SIMDSub, 2, 1) \
+ F(SIMDMul, 2, 1) \
+ F(SIMDDiv, 2, 1) \
+ F(SIMDClamp, 3, 1) \
+ F(SIMDMin, 2, 1) \
+ F(SIMDMax, 2, 1) \
+ F(SIMDReciprocal, 1, 1) \
+ F(SIMDReciprocalSqrt, 1, 1) \
+ F(SIMDScale, 2, 1) \
+ F(SIMDSqrt, 1, 1) \
+ F(SIMDShuffle, 2, 1) \
+ F(SIMDShuffleMix, 3, 1) \
+ F(SIMDWithX, 2, 1) \
+ F(SIMDWithY, 2, 1) \
+ F(SIMDWithZ, 2, 1) \
+ F(SIMDWithW, 2, 1) \
+ F(SIMDToFloat32x4, 1, 1) \
+ F(SIMDBitsToFloat32x4, 1, 1) \
+ F(SIMDToInt32x4, 1, 1) \
+ F(SIMDBitsToInt32x4, 1, 1) \
+ F(SIMDLessThan, 2, 1) \
+ F(SIMDLessThanOrEqual, 2, 1) \
+ F(SIMDEqual, 2, 1) \
+ F(SIMDNotEqual, 2, 1) \
+ F(SIMDGreaterThanOrEqual, 2, 1) \
+ F(SIMDGreaterThan, 2, 1) \
+ F(SIMDAnd, 2, 1) \
+ F(SIMDOr, 2, 1) \
+ F(SIMDXor, 2, 1) \
+ F(SIMDNot, 1, 1) \
+ F(SIMDNegu32, 1, 1) \
+ F(SIMDAddu32, 2, 1) \
+ F(SIMDSubu32, 2, 1) \
+ F(SIMDMulu32, 2, 1) \
+ F(SIMDSelect, 3, 1) \
+ F(SIMDShuffleu32, 2, 1) \
+ F(SIMDWithXu32, 2, 1) \
+ F(SIMDWithYu32, 2, 1) \
+ F(SIMDWithZu32, 2, 1) \
+ F(SIMDWithWu32, 2, 1) \
+ F(SIMDWithFlagX, 2, 1) \
+ F(SIMDWithFlagY, 2, 1) \
+ F(SIMDWithFlagZ, 2, 1) \
+ F(SIMDWithFlagW, 2, 1) \
+ \
/* Regular expressions */ \
F(RegExpCompile, 3, 1) \
F(RegExpExec, 4, 1) \
@@ -271,6 +324,24 @@ namespace internal {
\
/* Numbers */ \
\
+ /* Float32x4 and Int32x4 */ \
+ F(CreateFloat32x4, 4, 1) \
+ F(Float32x4GetX, 1, 1) \
+ F(Float32x4GetY, 1, 1) \
+ F(Float32x4GetZ, 1, 1) \
+ F(Float32x4GetW, 1, 1) \
+ F(Float32x4GetSignMask, 1, 1) \
+ F(CreateInt32x4, 4, 1) \
+ F(Int32x4GetX, 1, 1) \
+ F(Int32x4GetY, 1, 1) \
+ F(Int32x4GetZ, 1, 1) \
+ F(Int32x4GetW, 1, 1) \
+ F(Int32x4GetFlagX, 1, 1) \
+ F(Int32x4GetFlagY, 1, 1) \
+ F(Int32x4GetFlagZ, 1, 1) \
+ F(Int32x4GetFlagW, 1, 1) \
+ F(Int32x4GetSignMask, 1, 1) \
+ \
/* Globals */ \
F(CompileString, 2, 1) \
F(GlobalPrint, 1, 1) \
@@ -470,6 +541,8 @@ namespace internal {
F(HasExternalIntElements, 1, 1) \
F(HasExternalUnsignedIntElements, 1, 1) \
F(HasExternalFloatElements, 1, 1) \
+ F(HasExternalFloat32x4Elements, 1, 1) \
+ F(HasExternalInt32x4Elements, 1, 1) \
F(HasExternalDoubleElements, 1, 1) \
F(HasFastProperties, 1, 1) \
F(TransitionElementsKind, 2, 1) \
@@ -839,7 +912,9 @@ class Runtime : public AllStatic {
ARRAY_ID_INT32 = 6,
ARRAY_ID_FLOAT32 = 7,
ARRAY_ID_FLOAT64 = 8,
- ARRAY_ID_UINT8C = 9
+ ARRAY_ID_UINT8C = 9,
+ ARRAY_ID_FLOAT32x4 = 10,
+ ARRAY_ID_INT32x4 = 11
};
static void ArrayIdToTypeAndSize(int array_id,
« no previous file with comments | « src/property-details.h ('k') | src/runtime.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698