From c22ee2b0a0a48441fa20699040322b746cfc9176 Mon Sep 17 00:00:00 2001 From: Anton Mitrokhin Date: Thu, 2 Apr 2015 16:13:41 +0300 Subject: [PATCH] some minor fixes in knl.h, updated fail_db.txt --- examples/intrinsics/knl.h | 5 +++-- fail_db.txt | 23 ----------------------- 2 files changed, 3 insertions(+), 25 deletions(-) diff --git a/examples/intrinsics/knl.h b/examples/intrinsics/knl.h index 5385652a..51140954 100644 --- a/examples/intrinsics/knl.h +++ b/examples/intrinsics/knl.h @@ -796,6 +796,7 @@ static FORCEINLINE __vec16_i32 __shift_i32(__vec16_i32 v, int index) { __vec16_i1 mask = mask_ge & mask_le; __vec16_i32 ret = __smear_i32<__vec16_i32>(0); ret = _mm512_mask_permutevar_epi32(ret, mask, mod_index, v); + return ret; } template static FORCEINLINE __vec16_i32 __load(const __vec16_i32 *p) { @@ -1986,7 +1987,7 @@ static FORCEINLINE __vec16_f __cast_uitofp(__vec16_f, __vec16_i64 val) { ((float*)&ret)[i + 8] = ((float)(((uint64_t*)&tmp2)[i])); } */ - ret[0] = ((float)(val[0])); + ret[0] = ((float)(((uint64_t*)&val.v_lo)[0])); ret[1] = ((float)(((uint64_t*)&val.v_lo)[1])); ret[2] = ((float)(((uint64_t*)&val.v_lo)[2])); ret[3] = ((float)(((uint64_t*)&val.v_lo)[3])); @@ -2049,7 +2050,7 @@ static FORCEINLINE __vec16_d __cast_uitofp(__vec16_d, __vec16_i64 val) { // float/double to signed int static FORCEINLINE __vec16_i32 __cast_fptosi(__vec16_i32, __vec16_f val) { - return _mm512_cvtps_epi32(val); + return _mm512_cvt_roundps_epi32(val, (_MM_FROUND_TO_ZERO |_MM_FROUND_NO_EXC)); } static FORCEINLINE __vec16_i8 __cast_fptosi(__vec16_i8, __vec16_f val) { diff --git a/fail_db.txt b/fail_db.txt index 0f0fccb1..cd8baec3 100644 --- a/fail_db.txt +++ b/fail_db.txt @@ -172,12 +172,6 @@ ./tests/atomics-varyingptr-2.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O2 * ./tests/atomics-varyingptr-3.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O2 * ./tests/atomics-varyingptr-4.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O2 * -./tests/c-test-108.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O2 * -./tests/c-test-131.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O2 * -./tests/cfor-c-test-108.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O2 * -./tests/cfor-c-test-131.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O2 * -./tests/cfor-test-108.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O2 * -./tests/cfor-test-131.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O2 * ./tests/funcptr-varying-3.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O2 * ./tests/funcptr-varying-9.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O2 * ./tests/gather-int16-5.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O2 * @@ -192,22 +186,10 @@ ./tests/packed-load-5.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O2 * ./tests/packed-store-2.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O2 * ./tests/packed-store2-2.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O2 * -./tests/paddus_vi64.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O2 * -./tests/pmulus_vi64.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O2 * -./tests/shift-2.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O2 * -./tests/test-108.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O2 * -./tests/test-131.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O2 * -./tests/uint64-max-1.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O2 * ./tests/atomics-2.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 * ./tests/atomics-varyingptr-2.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 * ./tests/atomics-varyingptr-3.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 * ./tests/atomics-varyingptr-4.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 * -./tests/c-test-108.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 * -./tests/c-test-131.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 * -./tests/cfor-c-test-108.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 * -./tests/cfor-c-test-131.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 * -./tests/cfor-test-108.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 * -./tests/cfor-test-131.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 * ./tests/count-leading-trailing-zeros-5.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 * ./tests/double-abs-1.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 * ./tests/double-abs.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 * @@ -297,12 +279,7 @@ ./tests/reduce-min-uint64.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 * ./tests/rotate-3.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 * ./tests/rotate-4.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 * -./tests/shift-1.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 * -./tests/shift-2.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 * -./tests/shift-3.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 * ./tests/struct-nested-5.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 * -./tests/test-108.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 * -./tests/test-131.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 * ./tests/uint64-max-1.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 * ./tests/uint64-max.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 * ./tests/uint64-min-1.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *