Index: test/cctest/wasm/test-run-wasm-simd.cc |
diff --git a/test/cctest/wasm/test-run-wasm-simd.cc b/test/cctest/wasm/test-run-wasm-simd.cc |
index 53211ce340fbe8ca88a7f9f6448f3b264df629f5..708c0a361eeb6ec9d11e485008c07d1572e45e50 100644 |
--- a/test/cctest/wasm/test-run-wasm-simd.cc |
+++ b/test/cctest/wasm/test-run-wasm-simd.cc |
@@ -2,6 +2,7 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
+#include <cmath> |
gdeepti
2017/02/28 09:50:49
Header not needed here, already included in cctest
aseemgarg
2017/02/28 12:54:07
Done.
|
#include "src/assembler-inl.h" |
#include "src/wasm/wasm-macro-gen.h" |
#include "test/cctest/cctest.h" |
@@ -212,6 +213,11 @@ T Not(T a) { |
return ~a; |
} |
+template <typename T> |
+T Sqrt(T a) { |
+ return std::sqrt(a); |
+} |
+ |
} // namespace |
#if !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_X64 |
@@ -379,9 +385,7 @@ WASM_EXEC_COMPILED_TEST(F32x4ReplaceLane) { |
CHECK_EQ(1, r.Call(3.14159f, -1.5f)); |
} |
-#endif // V8_TARGET_ARCH_ARM || SIMD_LOWERING_TARGET |
-#if V8_TARGET_ARCH_ARM |
// Tests both signed and unsigned conversion. |
WASM_EXEC_COMPILED_TEST(F32x4FromInt32x4) { |
FLAG_wasm_simd_prototype = true; |
@@ -423,7 +427,11 @@ void RunF32x4UnOpTest(WasmOpcode simd_op, FloatUnOp expected_op) { |
WASM_EXEC_COMPILED_TEST(F32x4Abs) { RunF32x4UnOpTest(kExprF32x4Abs, std::abs); } |
WASM_EXEC_COMPILED_TEST(F32x4Neg) { RunF32x4UnOpTest(kExprF32x4Neg, Negate); } |
-#endif // V8_TARGET_ARCH_ARM |
+#endif // V8_TARGET_ARCH_ARM || SIMD_LOWERING_TARGET |
+ |
+#if SIMD_LOWERING_TARGET |
+WASM_EXEC_COMPILED_TEST(F32x4Sqrt) { RunF32x4UnOpTest(kExprF32x4Sqrt, Sqrt); } |
+#endif // SIMD_LOWERING_TARGET |
#if V8_TARGET_ARCH_ARM || SIMD_LOWERING_TARGET |
void RunF32x4BinOpTest(WasmOpcode simd_op, FloatBinOp expected_op, |
@@ -808,7 +816,9 @@ WASM_EXEC_COMPILED_TEST(I32x4FromFloat32x4) { |
CHECK_EQ(1, r.Call(*i, signed_value, unsigned_value)); |
} |
} |
+#endif // V8_TARGET_ARCH_ARM |
+#if V8_TARGET_ARCH_ARM || SIMD_LOWERING_TARGET |
void RunI32x4UnOpTest(WasmOpcode simd_op, Int32UnOp expected_op) { |
FLAG_wasm_simd_prototype = true; |
WasmRunner<int32_t, int32_t, int32_t> r(kExecuteCompiled); |
@@ -825,7 +835,7 @@ void RunI32x4UnOpTest(WasmOpcode simd_op, Int32UnOp expected_op) { |
WASM_EXEC_COMPILED_TEST(I32x4Neg) { RunI32x4UnOpTest(kExprI32x4Neg, Negate); } |
WASM_EXEC_COMPILED_TEST(S128Not) { RunI32x4UnOpTest(kExprS128Not, Not); } |
-#endif // V8_TARGET_ARCH_ARM |
+#endif // V8_TARGET_ARCH_ARM || SIMD_LOWERING_TARGET |
void RunI32x4BinOpTest(WasmOpcode simd_op, Int32BinOp expected_op) { |
FLAG_wasm_simd_prototype = true; |