i64 store fix for knl

This commit is contained in:
Anton Mitrokhin
2015-04-02 18:23:04 +03:00
parent 81251115af
commit a3737e2b81
2 changed files with 4 additions and 119 deletions

View File

@@ -1135,11 +1135,10 @@ static FORCEINLINE __vec16_i64 __shuffle2_i64(__vec16_i64 v0, __vec16_i64 v1, __
template <int ALIGN> static FORCEINLINE __vec16_i64 __load(const __vec16_i64 *p) {
__vec16_i64 v;
const uint8_t*ptr = (const uint8_t*)p;
const uint8_t *ptr = (const uint8_t *)p;
v.v_lo = _mm512_loadu_si512(ptr);
v.v_hi = _mm512_loadu_si512(ptr+64);
return v;
}
@@ -1158,7 +1157,7 @@ template <> FORCEINLINE __vec16_i64 __load<128>(const __vec16_i64 *p) {
template <int ALIGN> static FORCEINLINE void __store(__vec16_i64 *p, __vec16_i64 v) {
_mm512_storeu_si512(p, v.v_lo);
_mm512_storeu_si512(p+64, v.v_hi);
_mm512_storeu_si512((uint8_t*)p+64, v.v_hi);
}
#if 0
template <> FORCEINLINE void __store<64>(__vec16_i64 *p, __vec16_i64 v) {
@@ -2964,10 +2963,10 @@ static FORCEINLINE void __masked_store_blend_float(void *p, __vec16_f val,
static FORCEINLINE __vec16_i8 __gather_base_offsets32_i8(uint8_t *base, uint32_t scale,
__vec16_i32 offsets, __vec16_i1 mask) {
// TODO
__vec16_i8 ret;
__vec16_i8 ret;
for (int i = 0; i < 16; ++i)
if ((mask & (1 << i)) != 0) {
int8_t *ptr = (int8_t *)(base + scale * offsets[i]);
int8_t *ptr = (int8_t *)(base + scale * offsets[i]);
ret[i] = *ptr;
}
return ret;

View File

@@ -169,118 +169,4 @@
./tests/ptr-19.ispc runfail x86-64 generic-16 Linux LLVM 3.7 clang++3.4 -O0 *
./tests/ptr-22.ispc runfail x86-64 generic-16 Linux LLVM 3.7 clang++3.4 -O0 *
./tests/test-143.ispc runfail x86-64 generic-16 Linux LLVM 3.7 clang++3.4 -O0 *
./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/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 *
./tests/gather-int16-6.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O2 *
./tests/gather-int16-7.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O2 *
./tests/gather-int16-8.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O2 *
./tests/local-atomics-varyingptr-2.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O2 *
./tests/local-atomics-varyingptr-3.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O2 *
./tests/local-atomics-varyingptr-4.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O2 *
./tests/memcpy-varying.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O2 *
./tests/memset-varying.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O2 *
./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/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/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 *
./tests/exclusive-scan-add-10.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/exclusive-scan-add-7.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/frexp-double-1.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/frexp-double.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/funcptr-null-2.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/funcptr-null-3.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/funcptr-null-4.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/funcptr-null-5.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/funcptr-null-6.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/funcptr-uniform-9.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/funcptr-varying-1.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/funcptr-varying-2.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/funcptr-varying-5.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/funcptr-varying-9.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/gather-double-5.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/gather-double-6.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/gather-float-5.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/gather-float-6.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/gather-int16-5.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/gather-int16-6.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/gather-int32-5.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/gather-int32-6.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/gather-int64-5.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/gather-int64-6.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/gather-int8-5.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/gather-int8-6.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/gather-struct-vector.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/insert-1.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/insert-2.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/int64-constant.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/int64-max-1.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/int64-max.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/int64-min-1.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/int64-min.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/ldexp-double.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/local-atomics-2.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/local-atomics-varyingptr-2.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/local-atomics-varyingptr-3.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/local-atomics-varyingptr-4.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/memcpy-varying.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/memmove-varying.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/memset-varying.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/packed-load-5.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/packed-store-2.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/packed-store2-2.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/padds_vi64.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/paddus_vi64.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/pass-varying-lvalue-to-ref.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/pdivs_vi64.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/pdivus_vi64.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/pmuls_vi32.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/pmuls_vi64.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/pmulus_vi32.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/pmulus_vi64.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/popcnt-4.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/prefetch-varying.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/psubs_vi64.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/psubus_vi64.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/ptr-15.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/ptr-22.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/ptr-24.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/ptr-25.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/ptr-7.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/ptr-assign-lhs-math-2.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/ptr-cast-complex.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/ptr-cmp-1.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/ptr-diff-2.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/ptr-diff-3.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/ptr-diff-4.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/ptr-diff-5.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/ptr-diff-6.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/ptr-int-1.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/ptr-int-null-1.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/ptr-null-func-arg.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/ptr-varying-unif-index.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/reduce-add-int64-1.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/reduce-add-int64.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/reduce-add-uint64-1.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/reduce-add-uint64.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/reduce-equal-10.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/reduce-equal-8.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/reduce-max-int64.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./tests/reduce-max-uint64.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *
./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/struct-nested-5.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 *
./tests/uint64-min.ispc runfail x86-64 knl Linux LLVM 3.4 icpc15.0 -O0 *