Index: runtime/lib/simd128.cc |
diff --git a/runtime/lib/simd128.cc b/runtime/lib/simd128.cc |
index f9520c3e95f02b0e6090fe682a7ceb4c08312fb1..45c38624a5d4aa21aa322d50dfbcb1bc0994f2d7 100644 |
--- a/runtime/lib/simd128.cc |
+++ b/runtime/lib/simd128.cc |
@@ -18,7 +18,6 @@ static void ThrowMaskRangeException(int64_t m) { |
} |
} |
- |
DEFINE_NATIVE_ENTRY(Float32x4_fromDoubles, 5) { |
ASSERT(TypeArguments::CheckedHandle(arguments->NativeArgAt(0)).IsNull()); |
GET_NON_NULL_NATIVE_ARGUMENT(Double, x, arguments->NativeArgAt(1)); |
@@ -32,7 +31,6 @@ DEFINE_NATIVE_ENTRY(Float32x4_fromDoubles, 5) { |
return Float32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Float32x4_splat, 2) { |
ASSERT(TypeArguments::CheckedHandle(arguments->NativeArgAt(0)).IsNull()); |
GET_NON_NULL_NATIVE_ARGUMENT(Double, v, arguments->NativeArgAt(1)); |
@@ -40,19 +38,16 @@ DEFINE_NATIVE_ENTRY(Float32x4_splat, 2) { |
return Float32x4::New(_v, _v, _v, _v); |
} |
- |
DEFINE_NATIVE_ENTRY(Float32x4_zero, 1) { |
ASSERT(TypeArguments::CheckedHandle(arguments->NativeArgAt(0)).IsNull()); |
return Float32x4::New(0.0f, 0.0f, 0.0f, 0.0f); |
} |
- |
DEFINE_NATIVE_ENTRY(Float32x4_fromInt32x4Bits, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, v, arguments->NativeArgAt(1)); |
return Float32x4::New(v.value()); |
} |
- |
DEFINE_NATIVE_ENTRY(Float32x4_fromFloat64x2, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float64x2, v, arguments->NativeArgAt(1)); |
float _x = static_cast<float>(v.x()); |
@@ -60,7 +55,6 @@ DEFINE_NATIVE_ENTRY(Float32x4_fromFloat64x2, 2) { |
return Float32x4::New(_x, _y, 0.0f, 0.0f); |
} |
- |
DEFINE_NATIVE_ENTRY(Float32x4_add, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, other, arguments->NativeArgAt(1)); |
@@ -71,7 +65,6 @@ DEFINE_NATIVE_ENTRY(Float32x4_add, 2) { |
return Float32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Float32x4_negate, 1) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, self, arguments->NativeArgAt(0)); |
float _x = -self.x(); |
@@ -81,7 +74,6 @@ DEFINE_NATIVE_ENTRY(Float32x4_negate, 1) { |
return Float32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Float32x4_sub, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, other, arguments->NativeArgAt(1)); |
@@ -92,7 +84,6 @@ DEFINE_NATIVE_ENTRY(Float32x4_sub, 2) { |
return Float32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Float32x4_mul, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, other, arguments->NativeArgAt(1)); |
@@ -103,7 +94,6 @@ DEFINE_NATIVE_ENTRY(Float32x4_mul, 2) { |
return Float32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Float32x4_div, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, other, arguments->NativeArgAt(1)); |
@@ -114,7 +104,6 @@ DEFINE_NATIVE_ENTRY(Float32x4_div, 2) { |
return Float32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Float32x4_cmplt, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, a, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, b, arguments->NativeArgAt(1)); |
@@ -125,7 +114,6 @@ DEFINE_NATIVE_ENTRY(Float32x4_cmplt, 2) { |
return Int32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Float32x4_cmplte, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, a, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, b, arguments->NativeArgAt(1)); |
@@ -136,7 +124,6 @@ DEFINE_NATIVE_ENTRY(Float32x4_cmplte, 2) { |
return Int32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Float32x4_cmpgt, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, a, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, b, arguments->NativeArgAt(1)); |
@@ -147,7 +134,6 @@ DEFINE_NATIVE_ENTRY(Float32x4_cmpgt, 2) { |
return Int32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Float32x4_cmpgte, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, a, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, b, arguments->NativeArgAt(1)); |
@@ -158,7 +144,6 @@ DEFINE_NATIVE_ENTRY(Float32x4_cmpgte, 2) { |
return Int32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Float32x4_cmpequal, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, a, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, b, arguments->NativeArgAt(1)); |
@@ -169,7 +154,6 @@ DEFINE_NATIVE_ENTRY(Float32x4_cmpequal, 2) { |
return Int32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Float32x4_cmpnequal, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, a, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, b, arguments->NativeArgAt(1)); |
@@ -180,7 +164,6 @@ DEFINE_NATIVE_ENTRY(Float32x4_cmpnequal, 2) { |
return Int32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Float32x4_scale, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Double, scale, arguments->NativeArgAt(1)); |
@@ -192,7 +175,6 @@ DEFINE_NATIVE_ENTRY(Float32x4_scale, 2) { |
return Float32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Float32x4_abs, 1) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, self, arguments->NativeArgAt(0)); |
float _x = fabsf(self.x()); |
@@ -202,7 +184,6 @@ DEFINE_NATIVE_ENTRY(Float32x4_abs, 1) { |
return Float32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Float32x4_clamp, 3) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, lo, arguments->NativeArgAt(1)); |
@@ -220,35 +201,30 @@ DEFINE_NATIVE_ENTRY(Float32x4_clamp, 3) { |
return Float32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Float32x4_getX, 1) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, self, arguments->NativeArgAt(0)); |
double value = static_cast<double>(self.x()); |
return Double::New(value); |
} |
- |
DEFINE_NATIVE_ENTRY(Float32x4_getY, 1) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, self, arguments->NativeArgAt(0)); |
double value = static_cast<double>(self.y()); |
return Double::New(value); |
} |
- |
DEFINE_NATIVE_ENTRY(Float32x4_getZ, 1) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, self, arguments->NativeArgAt(0)); |
double value = static_cast<double>(self.z()); |
return Double::New(value); |
} |
- |
DEFINE_NATIVE_ENTRY(Float32x4_getW, 1) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, self, arguments->NativeArgAt(0)); |
double value = static_cast<double>(self.w()); |
return Double::New(value); |
} |
- |
DEFINE_NATIVE_ENTRY(Float32x4_getSignMask, 1) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, self, arguments->NativeArgAt(0)); |
uint32_t mx = (bit_cast<uint32_t>(self.x()) & 0x80000000) >> 31; |
@@ -259,7 +235,6 @@ DEFINE_NATIVE_ENTRY(Float32x4_getSignMask, 1) { |
return Integer::New(value); |
} |
- |
DEFINE_NATIVE_ENTRY(Int32x4_getSignMask, 1) { |
GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0)); |
uint32_t mx = (self.x() & 0x80000000) >> 31; |
@@ -270,7 +245,6 @@ DEFINE_NATIVE_ENTRY(Int32x4_getSignMask, 1) { |
return Integer::New(value); |
} |
- |
DEFINE_NATIVE_ENTRY(Float32x4_shuffle, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Integer, mask, arguments->NativeArgAt(1)); |
@@ -284,7 +258,6 @@ DEFINE_NATIVE_ENTRY(Float32x4_shuffle, 2) { |
return Float32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Float32x4_shuffleMix, 3) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, other, arguments->NativeArgAt(1)); |
@@ -300,7 +273,6 @@ DEFINE_NATIVE_ENTRY(Float32x4_shuffleMix, 3) { |
return Float32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Float32x4_setX, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Double, x, arguments->NativeArgAt(1)); |
@@ -311,7 +283,6 @@ DEFINE_NATIVE_ENTRY(Float32x4_setX, 2) { |
return Float32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Float32x4_setY, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Double, y, arguments->NativeArgAt(1)); |
@@ -322,7 +293,6 @@ DEFINE_NATIVE_ENTRY(Float32x4_setY, 2) { |
return Float32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Float32x4_setZ, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Double, z, arguments->NativeArgAt(1)); |
@@ -333,7 +303,6 @@ DEFINE_NATIVE_ENTRY(Float32x4_setZ, 2) { |
return Float32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Float32x4_setW, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Double, w, arguments->NativeArgAt(1)); |
@@ -344,7 +313,6 @@ DEFINE_NATIVE_ENTRY(Float32x4_setW, 2) { |
return Float32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Float32x4_min, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, other, arguments->NativeArgAt(1)); |
@@ -355,7 +323,6 @@ DEFINE_NATIVE_ENTRY(Float32x4_min, 2) { |
return Float32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Float32x4_max, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, other, arguments->NativeArgAt(1)); |
@@ -366,7 +333,6 @@ DEFINE_NATIVE_ENTRY(Float32x4_max, 2) { |
return Float32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Float32x4_sqrt, 1) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, self, arguments->NativeArgAt(0)); |
float _x = sqrtf(self.x()); |
@@ -376,7 +342,6 @@ DEFINE_NATIVE_ENTRY(Float32x4_sqrt, 1) { |
return Float32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Float32x4_reciprocal, 1) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, self, arguments->NativeArgAt(0)); |
float _x = 1.0f / self.x(); |
@@ -386,7 +351,6 @@ DEFINE_NATIVE_ENTRY(Float32x4_reciprocal, 1) { |
return Float32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Float32x4_reciprocalSqrt, 1) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, self, arguments->NativeArgAt(0)); |
float _x = sqrtf(1.0f / self.x()); |
@@ -396,7 +360,6 @@ DEFINE_NATIVE_ENTRY(Float32x4_reciprocalSqrt, 1) { |
return Float32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Int32x4_fromInts, 5) { |
ASSERT(TypeArguments::CheckedHandle(arguments->NativeArgAt(0)).IsNull()); |
GET_NON_NULL_NATIVE_ARGUMENT(Integer, x, arguments->NativeArgAt(1)); |
@@ -410,7 +373,6 @@ DEFINE_NATIVE_ENTRY(Int32x4_fromInts, 5) { |
return Int32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Int32x4_fromBools, 5) { |
ASSERT(TypeArguments::CheckedHandle(arguments->NativeArgAt(0)).IsNull()); |
GET_NON_NULL_NATIVE_ARGUMENT(Bool, x, arguments->NativeArgAt(1)); |
@@ -424,13 +386,11 @@ DEFINE_NATIVE_ENTRY(Int32x4_fromBools, 5) { |
return Int32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Int32x4_fromFloat32x4Bits, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, v, arguments->NativeArgAt(1)); |
return Int32x4::New(v.value()); |
} |
- |
DEFINE_NATIVE_ENTRY(Int32x4_or, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, other, arguments->NativeArgAt(1)); |
@@ -441,7 +401,6 @@ DEFINE_NATIVE_ENTRY(Int32x4_or, 2) { |
return Int32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Int32x4_and, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, other, arguments->NativeArgAt(1)); |
@@ -452,7 +411,6 @@ DEFINE_NATIVE_ENTRY(Int32x4_and, 2) { |
return Int32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Int32x4_xor, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, other, arguments->NativeArgAt(1)); |
@@ -463,7 +421,6 @@ DEFINE_NATIVE_ENTRY(Int32x4_xor, 2) { |
return Int32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Int32x4_add, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, other, arguments->NativeArgAt(1)); |
@@ -474,7 +431,6 @@ DEFINE_NATIVE_ENTRY(Int32x4_add, 2) { |
return Int32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Int32x4_sub, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, other, arguments->NativeArgAt(1)); |
@@ -485,35 +441,30 @@ DEFINE_NATIVE_ENTRY(Int32x4_sub, 2) { |
return Int32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Int32x4_getX, 1) { |
GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0)); |
int32_t value = self.x(); |
return Integer::New(value); |
} |
- |
DEFINE_NATIVE_ENTRY(Int32x4_getY, 1) { |
GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0)); |
int32_t value = self.y(); |
return Integer::New(value); |
} |
- |
DEFINE_NATIVE_ENTRY(Int32x4_getZ, 1) { |
GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0)); |
int32_t value = self.z(); |
return Integer::New(value); |
} |
- |
DEFINE_NATIVE_ENTRY(Int32x4_getW, 1) { |
GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0)); |
int32_t value = self.w(); |
return Integer::New(value); |
} |
- |
DEFINE_NATIVE_ENTRY(Int32x4_shuffle, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Integer, mask, arguments->NativeArgAt(1)); |
@@ -527,7 +478,6 @@ DEFINE_NATIVE_ENTRY(Int32x4_shuffle, 2) { |
return Int32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Int32x4_shuffleMix, 3) { |
GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, zw, arguments->NativeArgAt(1)); |
@@ -543,7 +493,6 @@ DEFINE_NATIVE_ENTRY(Int32x4_shuffleMix, 3) { |
return Int32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Int32x4_setX, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Integer, x, arguments->NativeArgAt(1)); |
@@ -554,7 +503,6 @@ DEFINE_NATIVE_ENTRY(Int32x4_setX, 2) { |
return Int32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Int32x4_setY, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Integer, y, arguments->NativeArgAt(1)); |
@@ -565,7 +513,6 @@ DEFINE_NATIVE_ENTRY(Int32x4_setY, 2) { |
return Int32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Int32x4_setZ, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Integer, z, arguments->NativeArgAt(1)); |
@@ -576,7 +523,6 @@ DEFINE_NATIVE_ENTRY(Int32x4_setZ, 2) { |
return Int32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Int32x4_setW, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Integer, w, arguments->NativeArgAt(1)); |
@@ -587,35 +533,30 @@ DEFINE_NATIVE_ENTRY(Int32x4_setW, 2) { |
return Int32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Int32x4_getFlagX, 1) { |
GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0)); |
int32_t value = self.x(); |
return Bool::Get(value != 0).raw(); |
} |
- |
DEFINE_NATIVE_ENTRY(Int32x4_getFlagY, 1) { |
GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0)); |
int32_t value = self.y(); |
return Bool::Get(value != 0).raw(); |
} |
- |
DEFINE_NATIVE_ENTRY(Int32x4_getFlagZ, 1) { |
GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0)); |
int32_t value = self.z(); |
return Bool::Get(value != 0).raw(); |
} |
- |
DEFINE_NATIVE_ENTRY(Int32x4_getFlagW, 1) { |
GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0)); |
int32_t value = self.w(); |
return Bool::Get(value != 0).raw(); |
} |
- |
DEFINE_NATIVE_ENTRY(Int32x4_setFlagX, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Bool, flagX, arguments->NativeArgAt(1)); |
@@ -627,7 +568,6 @@ DEFINE_NATIVE_ENTRY(Int32x4_setFlagX, 2) { |
return Int32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Int32x4_setFlagY, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Bool, flagY, arguments->NativeArgAt(1)); |
@@ -639,7 +579,6 @@ DEFINE_NATIVE_ENTRY(Int32x4_setFlagY, 2) { |
return Int32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Int32x4_setFlagZ, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Bool, flagZ, arguments->NativeArgAt(1)); |
@@ -651,7 +590,6 @@ DEFINE_NATIVE_ENTRY(Int32x4_setFlagZ, 2) { |
return Int32x4::New(_x, _y, _z, _w); |
} |
- |
DEFINE_NATIVE_ENTRY(Int32x4_setFlagW, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Bool, flagW, arguments->NativeArgAt(1)); |
@@ -663,7 +601,6 @@ DEFINE_NATIVE_ENTRY(Int32x4_setFlagW, 2) { |
return Int32x4::New(_x, _y, _z, _w); |
} |
- |
// Used to convert between int32_t and float32 without breaking strict |
// aliasing rules. |
union float32_int32 { |
@@ -673,7 +610,6 @@ union float32_int32 { |
float32_int32(int32_t v) { u = v; } |
}; |
- |
DEFINE_NATIVE_ENTRY(Int32x4_select, 3) { |
GET_NON_NULL_NATIVE_ARGUMENT(Int32x4, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, tv, arguments->NativeArgAt(1)); |
@@ -699,7 +635,6 @@ DEFINE_NATIVE_ENTRY(Int32x4_select, 3) { |
return Float32x4::New(tempX.f, tempY.f, tempZ.f, tempW.f); |
} |
- |
DEFINE_NATIVE_ENTRY(Float64x2_fromDoubles, 3) { |
ASSERT(TypeArguments::CheckedHandle(arguments->NativeArgAt(0)).IsNull()); |
GET_NON_NULL_NATIVE_ARGUMENT(Double, x, arguments->NativeArgAt(1)); |
@@ -707,20 +642,17 @@ DEFINE_NATIVE_ENTRY(Float64x2_fromDoubles, 3) { |
return Float64x2::New(x.value(), y.value()); |
} |
- |
DEFINE_NATIVE_ENTRY(Float64x2_splat, 2) { |
ASSERT(TypeArguments::CheckedHandle(arguments->NativeArgAt(0)).IsNull()); |
GET_NON_NULL_NATIVE_ARGUMENT(Double, v, arguments->NativeArgAt(1)); |
return Float64x2::New(v.value(), v.value()); |
} |
- |
DEFINE_NATIVE_ENTRY(Float64x2_zero, 1) { |
ASSERT(TypeArguments::CheckedHandle(arguments->NativeArgAt(0)).IsNull()); |
return Float64x2::New(0.0, 0.0); |
} |
- |
DEFINE_NATIVE_ENTRY(Float64x2_fromFloat32x4, 2) { |
ASSERT(TypeArguments::CheckedHandle(arguments->NativeArgAt(0)).IsNull()); |
GET_NON_NULL_NATIVE_ARGUMENT(Float32x4, v, arguments->NativeArgAt(1)); |
@@ -729,7 +661,6 @@ DEFINE_NATIVE_ENTRY(Float64x2_fromFloat32x4, 2) { |
return Float64x2::New(_x, _y); |
} |
- |
DEFINE_NATIVE_ENTRY(Float64x2_add, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float64x2, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Float64x2, other, arguments->NativeArgAt(1)); |
@@ -738,7 +669,6 @@ DEFINE_NATIVE_ENTRY(Float64x2_add, 2) { |
return Float64x2::New(_x, _y); |
} |
- |
DEFINE_NATIVE_ENTRY(Float64x2_negate, 1) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float64x2, self, arguments->NativeArgAt(0)); |
double _x = -self.x(); |
@@ -746,7 +676,6 @@ DEFINE_NATIVE_ENTRY(Float64x2_negate, 1) { |
return Float64x2::New(_x, _y); |
} |
- |
DEFINE_NATIVE_ENTRY(Float64x2_sub, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float64x2, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Float64x2, other, arguments->NativeArgAt(1)); |
@@ -755,7 +684,6 @@ DEFINE_NATIVE_ENTRY(Float64x2_sub, 2) { |
return Float64x2::New(_x, _y); |
} |
- |
DEFINE_NATIVE_ENTRY(Float64x2_mul, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float64x2, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Float64x2, other, arguments->NativeArgAt(1)); |
@@ -764,7 +692,6 @@ DEFINE_NATIVE_ENTRY(Float64x2_mul, 2) { |
return Float64x2::New(_x, _y); |
} |
- |
DEFINE_NATIVE_ENTRY(Float64x2_div, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float64x2, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Float64x2, other, arguments->NativeArgAt(1)); |
@@ -773,7 +700,6 @@ DEFINE_NATIVE_ENTRY(Float64x2_div, 2) { |
return Float64x2::New(_x, _y); |
} |
- |
DEFINE_NATIVE_ENTRY(Float64x2_scale, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float64x2, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Double, scale, arguments->NativeArgAt(1)); |
@@ -783,7 +709,6 @@ DEFINE_NATIVE_ENTRY(Float64x2_scale, 2) { |
return Float64x2::New(_x, _y); |
} |
- |
DEFINE_NATIVE_ENTRY(Float64x2_abs, 1) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float64x2, self, arguments->NativeArgAt(0)); |
double _x = fabs(self.x()); |
@@ -791,7 +716,6 @@ DEFINE_NATIVE_ENTRY(Float64x2_abs, 1) { |
return Float64x2::New(_x, _y); |
} |
- |
DEFINE_NATIVE_ENTRY(Float64x2_clamp, 3) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float64x2, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Float64x2, lo, arguments->NativeArgAt(1)); |
@@ -805,19 +729,16 @@ DEFINE_NATIVE_ENTRY(Float64x2_clamp, 3) { |
return Float64x2::New(_x, _y); |
} |
- |
DEFINE_NATIVE_ENTRY(Float64x2_getX, 1) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float64x2, self, arguments->NativeArgAt(0)); |
return Double::New(self.x()); |
} |
- |
DEFINE_NATIVE_ENTRY(Float64x2_getY, 1) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float64x2, self, arguments->NativeArgAt(0)); |
return Double::New(self.y()); |
} |
- |
DEFINE_NATIVE_ENTRY(Float64x2_getSignMask, 1) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float64x2, self, arguments->NativeArgAt(0)); |
uint32_t mx = (bit_cast<uint64_t>(self.x()) & 0x8000000000000000LL) >> 63; |
@@ -826,7 +747,6 @@ DEFINE_NATIVE_ENTRY(Float64x2_getSignMask, 1) { |
return Integer::New(value); |
} |
- |
DEFINE_NATIVE_ENTRY(Float64x2_setX, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float64x2, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Double, x, arguments->NativeArgAt(1)); |
@@ -835,7 +755,6 @@ DEFINE_NATIVE_ENTRY(Float64x2_setX, 2) { |
return Float64x2::New(_x, _y); |
} |
- |
DEFINE_NATIVE_ENTRY(Float64x2_setY, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float64x2, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Double, y, arguments->NativeArgAt(1)); |
@@ -844,7 +763,6 @@ DEFINE_NATIVE_ENTRY(Float64x2_setY, 2) { |
return Float64x2::New(_x, _y); |
} |
- |
DEFINE_NATIVE_ENTRY(Float64x2_min, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float64x2, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Float64x2, other, arguments->NativeArgAt(1)); |
@@ -853,7 +771,6 @@ DEFINE_NATIVE_ENTRY(Float64x2_min, 2) { |
return Float64x2::New(_x, _y); |
} |
- |
DEFINE_NATIVE_ENTRY(Float64x2_max, 2) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float64x2, self, arguments->NativeArgAt(0)); |
GET_NON_NULL_NATIVE_ARGUMENT(Float64x2, other, arguments->NativeArgAt(1)); |
@@ -862,7 +779,6 @@ DEFINE_NATIVE_ENTRY(Float64x2_max, 2) { |
return Float64x2::New(_x, _y); |
} |
- |
DEFINE_NATIVE_ENTRY(Float64x2_sqrt, 1) { |
GET_NON_NULL_NATIVE_ARGUMENT(Float64x2, self, arguments->NativeArgAt(0)); |
double _x = sqrt(self.x()); |