OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <stdint.h> | 5 #include <stdint.h> |
6 #include <stdlib.h> | 6 #include <stdlib.h> |
7 #include <string.h> | 7 #include <string.h> |
8 | 8 |
9 #include "src/base/utils/random-number-generator.h" | 9 #include "src/base/utils/random-number-generator.h" |
10 | 10 |
(...skipping 3264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3275 CHECK_EQ(1, r.Call(1, 0, 2)); | 3275 CHECK_EQ(1, r.Call(1, 0, 2)); |
3276 CHECK_EQ(1, r.Call(1, 0, 9)); | 3276 CHECK_EQ(1, r.Call(1, 0, 9)); |
3277 | 3277 |
3278 CHECK_TRAP(r.Call(0, 2, 1)); | 3278 CHECK_TRAP(r.Call(0, 2, 1)); |
3279 CHECK_TRAP(r.Call(1, 2, 0)); | 3279 CHECK_TRAP(r.Call(1, 2, 0)); |
3280 CHECK_TRAP(r.Call(2, 0, 1)); | 3280 CHECK_TRAP(r.Call(2, 0, 1)); |
3281 CHECK_TRAP(r.Call(2, 1, 0)); | 3281 CHECK_TRAP(r.Call(2, 1, 0)); |
3282 } | 3282 } |
3283 | 3283 |
3284 | 3284 |
3285 // TODO(titzer): Fix for nosee4 and re-enable. | |
3286 #if 0 | |
3287 | |
3288 TEST(Run_Wasm_F32Floor) { | 3285 TEST(Run_Wasm_F32Floor) { |
3289 WasmRunner<float> r(MachineType::Float32()); | 3286 WasmRunner<float> r(MachineType::Float32()); |
3290 BUILD(r, WASM_F32_FLOOR(WASM_GET_LOCAL(0))); | 3287 BUILD(r, WASM_F32_FLOOR(WASM_GET_LOCAL(0))); |
3291 | 3288 |
3292 FOR_FLOAT32_INPUTS(i) { CheckFloatEq(floor(*i), r.Call(*i)); } | 3289 FOR_FLOAT32_INPUTS(i) { CheckFloatEq(floor(*i), r.Call(*i)); } |
3293 } | 3290 } |
3294 | 3291 |
3295 | 3292 |
3296 TEST(Run_Wasm_F32Ceil) { | 3293 TEST(Run_Wasm_F32Ceil) { |
3297 WasmRunner<float> r(MachineType::Float32()); | 3294 WasmRunner<float> r(MachineType::Float32()); |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3341 } | 3338 } |
3342 | 3339 |
3343 | 3340 |
3344 TEST(Run_Wasm_F64NearestInt) { | 3341 TEST(Run_Wasm_F64NearestInt) { |
3345 WasmRunner<double> r(MachineType::Float64()); | 3342 WasmRunner<double> r(MachineType::Float64()); |
3346 BUILD(r, WASM_F64_NEARESTINT(WASM_GET_LOCAL(0))); | 3343 BUILD(r, WASM_F64_NEARESTINT(WASM_GET_LOCAL(0))); |
3347 | 3344 |
3348 FOR_FLOAT64_INPUTS(i) { CheckDoubleEq(nearbyint(*i), r.Call(*i)); } | 3345 FOR_FLOAT64_INPUTS(i) { CheckDoubleEq(nearbyint(*i), r.Call(*i)); } |
3349 } | 3346 } |
3350 | 3347 |
3351 #endif | |
3352 | |
3353 | 3348 |
3354 TEST(Run_Wasm_F32Min) { | 3349 TEST(Run_Wasm_F32Min) { |
3355 WasmRunner<float> r(MachineType::Float32(), MachineType::Float32()); | 3350 WasmRunner<float> r(MachineType::Float32(), MachineType::Float32()); |
3356 BUILD(r, WASM_F32_MIN(WASM_GET_LOCAL(0), WASM_GET_LOCAL(1))); | 3351 BUILD(r, WASM_F32_MIN(WASM_GET_LOCAL(0), WASM_GET_LOCAL(1))); |
3357 | 3352 |
3358 FOR_FLOAT32_INPUTS(i) { | 3353 FOR_FLOAT32_INPUTS(i) { |
3359 FOR_FLOAT32_INPUTS(j) { | 3354 FOR_FLOAT32_INPUTS(j) { |
3360 float expected; | 3355 float expected; |
3361 if (*i < *j) { | 3356 if (*i < *j) { |
3362 expected = *i; | 3357 expected = *i; |
(...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3618 TEST(Run_Wasm_F32CopySign) { | 3613 TEST(Run_Wasm_F32CopySign) { |
3619 WasmRunner<float> r(MachineType::Float32(), MachineType::Float32()); | 3614 WasmRunner<float> r(MachineType::Float32(), MachineType::Float32()); |
3620 BUILD(r, WASM_F32_COPYSIGN(WASM_GET_LOCAL(0), WASM_GET_LOCAL(1))); | 3615 BUILD(r, WASM_F32_COPYSIGN(WASM_GET_LOCAL(0), WASM_GET_LOCAL(1))); |
3621 | 3616 |
3622 FOR_FLOAT32_INPUTS(i) { | 3617 FOR_FLOAT32_INPUTS(i) { |
3623 FOR_FLOAT32_INPUTS(j) { CheckFloatEq(copysign(*i, *j), r.Call(*i, *j)); } | 3618 FOR_FLOAT32_INPUTS(j) { CheckFloatEq(copysign(*i, *j), r.Call(*i, *j)); } |
3624 } | 3619 } |
3625 } | 3620 } |
3626 | 3621 |
3627 #endif | 3622 #endif |
OLD | NEW |