From 476f186e8e948f1554c8f36a0fe8211ba4e68f98 Mon Sep 17 00:00:00 2001 From: Anton Mitrokhin Date: Wed, 24 Dec 2014 17:36:21 +0300 Subject: [PATCH 01/16] add gather64_i32 --- examples/intrinsics/knc.h | 92 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) diff --git a/examples/intrinsics/knc.h b/examples/intrinsics/knc.h index b0e6f74d..7604b463 100644 --- a/examples/intrinsics/knc.h +++ b/examples/intrinsics/knc.h @@ -3197,6 +3197,33 @@ __gather64_float(__vec16_i64 addr, __vec16_i1 mask) return ret; } +static FORCEINLINE __vec16_i32 +__gather64_i32(__vec16_i64 addr, __vec16_i1 mask) +{ + __vec16_i32 ret; + + // There is no gather instruction with 64-bit offsets in KNC. + // We have to manually iterate over the upper 32 bits ;-) + __vec16_i1 still_to_do = mask; + const __vec16_i32 signed_offsets = _mm512_add_epi32(addr.v_lo, __smear_i32<__vec16_i32>((int32_t)INT_MIN)); + while (still_to_do) { + int first_active_lane = _mm_tzcnt_32((int)still_to_do); + const uint &hi32 = ((uint*)&addr.v_hi)[first_active_lane]; + __vec16_i1 match = _mm512_mask_cmp_epi32_mask(still_to_do, addr.v_hi, + __smear_i32<__vec16_i32>((int32_t)hi32), + _MM_CMPINT_EQ); + + void * base = (void*)((((unsigned long)hi32) << 32) + (unsigned long)(-(long)INT_MIN)); + + ret.v = _mm512_mask_i32extgather_epi32(ret.v, match, signed_offsets, + base, _MM_UPCONV_EPI32_NONE, 1, + _MM_HINT_NONE); + still_to_do = _mm512_kxor(match, still_to_do); + } + + return ret; +} + /*! gather with 64-bit offsets. @@ -3447,6 +3474,71 @@ static FORCEINLINE int32_t __packed_store_active2(uint32_t *p, __vec16_i32 val, return __packed_store_active(p, val, mask); } + +/////////////////////////////////////////////////////////////////////////// +// aos/soa +/////////////////////////////////////////////////////////////////////////// + +/* +static FORCEINLINE void __soa_to_aos3_float(__vec16_f v0, __vec16_f v1, __vec16_f v2, + float *ptr) { + for (int i = 0; i < 16; ++i) { + *ptr++ = __extract_element(v0, i); + *ptr++ = __extract_element(v1, i); + *ptr++ = __extract_element(v2, i); + } +} + +static FORCEINLINE void __aos_to_soa3_float(float *ptr, __vec16_f *out0, __vec16_f *out1, + __vec16_f *out2) { + for (int i = 0; i < 16; ++i) { + __insert_element(out0, i, *ptr++); + __insert_element(out1, i, *ptr++); + __insert_element(out2, i, *ptr++); + } +} +*/ + +/* +static FORCEINLINE void __soa_to_aos4_float(__vec16_f v0, __vec16_f v1, __vec16_f v2, + __vec16_f v3, float *ptr) { + // v0 = A1 ... A16, v1 = B1 ..., v3 = D1 ... D16 + __vec16_f tmp00 = _mm512_mask_swizzle_ps (v0, 0x3333, v1, _MM_SWIZ_REG_CDAB); // A1A2B1B2 A5A6B5B6 ... + __vec16_f tmp01 = _mm512_mask_swizzle_ps (v0, 0xCCCC, v1, _MM_SWIZ_REG_CDAB); // B3B4A3A4 B7B8A7A8 ... + __vec16_f tmp02 = _mm512_mask_swizzle_ps (v2, 0x3333, v3, _MM_SWIZ_REG_CDAB); // C1C2D1D2 ... + __vec16_f tmp03 = _mm512_mask_swizzle_ps (v2, 0xCCCC, v3, _MM_SWIZ_REG_CDAB); // D3D4C3C4 ... + + __vec16_f tmp10 = _mm512_mask_swizzle_ps (tmp00, 0x5555, tmp02, _MM_SWIZ_REG_BADC); // A1C1B1D1 A5C5B5D5 ... + __vec16_f tmp11 = _mm512_mask_swizzle_ps (tmp00, 0xAAAA, tmp02, _MM_SWIZ_REG_BADC); // C2A2D2B2 C6A6D6B6 ... + __vec16_f tmp12 = _mm512_mask_swizzle_ps (tmp01, 0x5555, tmp03, _MM_SWIZ_REG_BADC); // DBCA ... + __vec16_f tmp13 = _mm512_mask_swizzle_ps (tmp01, 0xAAAA, tmp03, _MM_SWIZ_REG_BADC); // BDAC ... + + + + + + + for (int i = 0; i < 16; ++i) { + *ptr++ = __extract_element(v0, i); + *ptr++ = __extract_element(v1, i); + *ptr++ = __extract_element(v2, i); + *ptr++ = __extract_element(v3, i); + } +} +*/ + +/* +static FORCEINLINE void __aos_to_soa4_float(float *ptr, __vec16_f *out0, __vec16_f *out1, + __vec16_f *out2, __vec16_f *out3) { + for (int i = 0; i < 16; ++i) { + __insert_element(out0, i, *ptr++); + __insert_element(out1, i, *ptr++); + __insert_element(out2, i, *ptr++); + __insert_element(out3, i, *ptr++); + } +} +*/ + /////////////////////////////////////////////////////////////////////////// // prefetch /////////////////////////////////////////////////////////////////////////// From 1476d45536b323804f6825d4a317a4520a55bde1 Mon Sep 17 00:00:00 2001 From: Anton Mitrokhin Date: Wed, 24 Dec 2014 17:47:46 +0300 Subject: [PATCH 02/16] add gather64_double --- examples/intrinsics/knc.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/examples/intrinsics/knc.h b/examples/intrinsics/knc.h index 7604b463..0ae0b134 100644 --- a/examples/intrinsics/knc.h +++ b/examples/intrinsics/knc.h @@ -3224,6 +3224,20 @@ __gather64_i32(__vec16_i64 addr, __vec16_i1 mask) return ret; } +static FORCEINLINE __vec16_d +__gather64_double(__vec16_i64 addr, __vec16_i1 mask) +{ + __vec16_d ret; + + __vec16_i32 addr_lo, addr_hi; + hilo2zmm(addr, addr_lo.v, addr_hi.v); + + ret.v1 = _mm512_i64extgather_pd (addr_lo, 0, _MM_UPCONV_PD_NONE, 1, _MM_HINT_NONE); + ret.v2 = _mm512_i64extgather_pd (addr_hi, 0, _MM_UPCONV_PD_NONE, 1, _MM_HINT_NONE); + return ret; +} + + /*! gather with 64-bit offsets. From cd53e6abed10f9cde0d16031d183ad2875d76754 Mon Sep 17 00:00:00 2001 From: Anton Mitrokhin Date: Wed, 24 Dec 2014 17:51:39 +0300 Subject: [PATCH 03/16] add gather_base_offsets32_i16 --- examples/intrinsics/knc.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/examples/intrinsics/knc.h b/examples/intrinsics/knc.h index 0ae0b134..365a87c5 100644 --- a/examples/intrinsics/knc.h +++ b/examples/intrinsics/knc.h @@ -3140,6 +3140,19 @@ __gather_base_offsets32_i8(uint8_t *base, uint32_t scale, __vec16_i32 offsets, return ret; } +static FORCEINLINE __vec16_i16 +__gather_base_offsets32_i16(uint8_t *base, uint32_t scale, __vec16_i32 offsets, + __vec16_i1 mask) { + // (iw): need to temporarily store as int because gathers can only return ints. + __vec16_i32 tmp = _mm512_mask_i32extgather_epi32(_mm512_undefined_epi32(), mask, offsets, base, + _MM_UPCONV_EPI32_SINT16, scale, + _MM_HINT_NONE); + // now, downconverting to chars into temporary char vector + __vec16_i16 ret; + _mm512_extstore_epi32(ret.v,tmp,_MM_DOWNCONV_EPI32_SINT16,_MM_HINT_NONE); + return ret; +} + static FORCEINLINE __vec16_i32 __gather_base_offsets32_i32(uint8_t *base, uint32_t scale, __vec16_i32 offsets, __vec16_i1 mask) { From 797238464a699c693ae14fdbdd7553487e3fcc19 Mon Sep 17 00:00:00 2001 From: Anton Mitrokhin Date: Wed, 24 Dec 2014 17:59:17 +0300 Subject: [PATCH 04/16] add gather64_i8 --- examples/intrinsics/knc.h | 61 +++++++++++++++++++++------------------ 1 file changed, 33 insertions(+), 28 deletions(-) diff --git a/examples/intrinsics/knc.h b/examples/intrinsics/knc.h index 365a87c5..37588d3b 100644 --- a/examples/intrinsics/knc.h +++ b/examples/intrinsics/knc.h @@ -3183,33 +3183,6 @@ __gather_base_offsets32_double(uint8_t *base, uint32_t scale, __vec16_i32 offset return ret; } -static FORCEINLINE __vec16_f -__gather64_float(__vec16_i64 addr, __vec16_i1 mask) -{ - __vec16_f ret; - - // There is no gather instruction with 64-bit offsets in KNC. - // We have to manually iterate over the upper 32 bits ;-) - __vec16_i1 still_to_do = mask; - const __vec16_i32 signed_offsets = _mm512_add_epi32(addr.v_lo, __smear_i32<__vec16_i32>((int32_t)INT_MIN)); - while (still_to_do) { - int first_active_lane = _mm_tzcnt_32((int)still_to_do); - const uint &hi32 = ((uint*)&addr.v_hi)[first_active_lane]; - __vec16_i1 match = _mm512_mask_cmp_epi32_mask(still_to_do,addr.v_hi, - __smear_i32<__vec16_i32>((int32_t)hi32), - _MM_CMPINT_EQ); - - void * base = (void*)((((unsigned long)hi32) << 32) + (unsigned long)(-(long)INT_MIN)); - - ret.v = _mm512_mask_i32extgather_ps(ret.v, match, signed_offsets, - base, _MM_UPCONV_PS_NONE, 1, - _MM_HINT_NONE); - still_to_do = _mm512_kxor(match, still_to_do); - } - - return ret; -} - static FORCEINLINE __vec16_i32 __gather64_i32(__vec16_i64 addr, __vec16_i1 mask) { @@ -3237,6 +3210,33 @@ __gather64_i32(__vec16_i64 addr, __vec16_i1 mask) return ret; } +static FORCEINLINE __vec16_f +__gather64_float(__vec16_i64 addr, __vec16_i1 mask) +{ + __vec16_f ret; + + // There is no gather instruction with 64-bit offsets in KNC. + // We have to manually iterate over the upper 32 bits ;-) + __vec16_i1 still_to_do = mask; + const __vec16_i32 signed_offsets = _mm512_add_epi32(addr.v_lo, __smear_i32<__vec16_i32>((int32_t)INT_MIN)); + while (still_to_do) { + int first_active_lane = _mm_tzcnt_32((int)still_to_do); + const uint &hi32 = ((uint*)&addr.v_hi)[first_active_lane]; + __vec16_i1 match = _mm512_mask_cmp_epi32_mask(still_to_do,addr.v_hi, + __smear_i32<__vec16_i32>((int32_t)hi32), + _MM_CMPINT_EQ); + + void * base = (void*)((((unsigned long)hi32) << 32) + (unsigned long)(-(long)INT_MIN)); + + ret.v = _mm512_mask_i32extgather_ps(ret.v, match, signed_offsets, + base, _MM_UPCONV_PS_NONE, 1, + _MM_HINT_NONE); + still_to_do = _mm512_kxor(match, still_to_do); + } + + return ret; +} + static FORCEINLINE __vec16_d __gather64_double(__vec16_i64 addr, __vec16_i1 mask) { @@ -3290,7 +3290,6 @@ __gather_base_offsets64_float(uint8_t *_base, uint32_t scale, __vec16_i64 offset static FORCEINLINE __vec16_i8 __gather_base_offsets64_i8(uint8_t *_base, uint32_t scale, __vec16_i64 offsets, __vec16_i1 mask) { - const __vec16_i32 signed_offsets = _mm512_add_epi32(offsets.v_lo, __smear_i32<__vec16_i32>((int32_t)INT_MIN)); __vec16_i1 still_to_do = mask; __vec16_i32 tmp; @@ -3313,6 +3312,12 @@ static FORCEINLINE __vec16_i8 __gather_base_offsets64_i8(uint8_t *_base, uint32_ return ret; } +static FORCEINLINE __vec16_i8 +__gather64_i8(__vec16_i64 addr, __vec16_i1 mask) +{ + return __gather_base_offsets64_i8(0, 1, addr, mask); +} + static FORCEINLINE void __scatter_base_offsets64_float(uint8_t *_base, uint32_t scale, __vec16_i64 offsets, __vec16_f value, From d90f677cb466a1eb37a2a176ce2d04a9915d3815 Mon Sep 17 00:00:00 2001 From: Anton Mitrokhin Date: Wed, 24 Dec 2014 18:06:09 +0300 Subject: [PATCH 05/16] add gather64_i16 --- examples/intrinsics/knc.h | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/examples/intrinsics/knc.h b/examples/intrinsics/knc.h index 37588d3b..d4b6a483 100644 --- a/examples/intrinsics/knc.h +++ b/examples/intrinsics/knc.h @@ -3286,7 +3286,6 @@ __gather_base_offsets64_float(uint8_t *_base, uint32_t scale, __vec16_i64 offset return ret; } - static FORCEINLINE __vec16_i8 __gather_base_offsets64_i8(uint8_t *_base, uint32_t scale, __vec16_i64 offsets, __vec16_i1 mask) { @@ -3318,6 +3317,36 @@ __gather64_i8(__vec16_i64 addr, __vec16_i1 mask) return __gather_base_offsets64_i8(0, 1, addr, mask); } +static FORCEINLINE __vec16_i16 __gather_base_offsets64_i16(uint8_t *_base, uint32_t scale, __vec16_i64 offsets, + __vec16_i1 mask) +{ + const __vec16_i32 signed_offsets = _mm512_add_epi32(offsets.v_lo, __smear_i32<__vec16_i32>((int32_t)INT_MIN)); + __vec16_i1 still_to_do = mask; + __vec16_i32 tmp; + while (still_to_do) { + int first_active_lane = _mm_tzcnt_32((int)still_to_do); + const uint &hi32 = ((uint*)&offsets.v_hi)[first_active_lane]; + __vec16_i1 match = _mm512_mask_cmp_epi32_mask(mask,offsets.v_hi, + __smear_i32<__vec16_i32>((int32_t)hi32), + _MM_CMPINT_EQ); + + void * base = (void*)((unsigned long)_base + + ((scale*(unsigned long)hi32) << 32) + scale*(unsigned long)(-(long)INT_MIN)); + tmp = _mm512_mask_i32extgather_epi32(tmp, match, signed_offsets, base, + _MM_UPCONV_EPI32_SINT16, scale, + _MM_HINT_NONE); + still_to_do = _mm512_kxor(match,still_to_do); + } + __vec16_i16 ret; + _mm512_extstore_epi32(ret.v,tmp,_MM_DOWNCONV_EPI32_SINT16,_MM_HINT_NONE); + return ret; +} + +static FORCEINLINE __vec16_i16 +__gather64_i16(__vec16_i64 addr, __vec16_i1 mask) +{ + return __gather_base_offsets64_i16(0, 1, addr, mask); +} static FORCEINLINE void __scatter_base_offsets64_float(uint8_t *_base, uint32_t scale, __vec16_i64 offsets, __vec16_f value, From b1fdbd63ecb40646f5e09af467cf9d95d3216a94 Mon Sep 17 00:00:00 2001 From: Anton Mitrokhin Date: Wed, 24 Dec 2014 18:23:46 +0300 Subject: [PATCH 06/16] add scatter64_i32/float --- examples/intrinsics/knc.h | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/examples/intrinsics/knc.h b/examples/intrinsics/knc.h index d4b6a483..b77e75ec 100644 --- a/examples/intrinsics/knc.h +++ b/examples/intrinsics/knc.h @@ -3478,11 +3478,14 @@ static FORCEINLINE void __scatter_base_offsets32_double(void *base, uint32_t sca _mm512_mask_i32loextscatter_pd(base, mask8, shuffled_offsets, val.v2, _MM_DOWNCONV_PD_NONE, scale, _MM_HINT_NONE); } - -/* static FORCEINLINE void __scatter64_float(__vec16_i64 ptrs, __vec16_f val, __vec16_i1 mask) { + __vec16_i32 first8ptrs, second8ptrs; + hilo2zmm(ptrs, first8ptrs.v, second8ptrs.v); + _mm512_mask_i64scatter_pslo (0, mask, first8ptrs, val, 1); + const __mmask8 mask_hi = 0x00FF & (mask >> 8); + _mm512_mask_i64scatter_pslo (0, mask_hi, second8ptrs, _mm512_permute4f128_ps(val.v, _MM_PERM_CDCD), 1); } - +/* static FORCEINLINE void __scatter64_double(__vec16_i64 ptrs, __vec16_d val, __vec16_i1 mask) { } @@ -3491,10 +3494,15 @@ static FORCEINLINE void __scatter64_i8(__vec16_i64 ptrs, __vec16_i8 val, __vec16 static FORCEINLINE void __scatter64_i16(__vec16_i64 ptrs, __vec16_i16 val, __vec16_i1 mask) { } +*/ static FORCEINLINE void __scatter64_i32(__vec16_i64 ptrs, __vec16_i32 val, __vec16_i1 mask) { + __vec16_i32 first8ptrs, second8ptrs; + hilo2zmm(ptrs, first8ptrs.v, second8ptrs.v); + _mm512_mask_i64scatter_epi32lo (0, mask, first8ptrs, val, 1); + const __mmask8 mask_hi = 0x00FF & (mask >> 8); + _mm512_mask_i64scatter_epi32lo (0, mask_hi, second8ptrs, _mm512_permute4f128_epi32(val.v, _MM_PERM_CDCD), 1); } -*/ static FORCEINLINE void __scatter64_i64(__vec16_i64 ptrs, __vec16_i64 val, __vec16_i1 mask) { #if __INTEL_COMPILER < 1500 From 515c5f76e00ca12beb550f033967d8e95db6763c Mon Sep 17 00:00:00 2001 From: Anton Mitrokhin Date: Wed, 24 Dec 2014 19:02:23 +0300 Subject: [PATCH 07/16] fixed 9 runfails caused by wromg permutation masks --- examples/intrinsics/knc.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/intrinsics/knc.h b/examples/intrinsics/knc.h index b77e75ec..7228b0f3 100644 --- a/examples/intrinsics/knc.h +++ b/examples/intrinsics/knc.h @@ -3478,12 +3478,12 @@ static FORCEINLINE void __scatter_base_offsets32_double(void *base, uint32_t sca _mm512_mask_i32loextscatter_pd(base, mask8, shuffled_offsets, val.v2, _MM_DOWNCONV_PD_NONE, scale, _MM_HINT_NONE); } -static FORCEINLINE void __scatter64_float(__vec16_i64 ptrs, __vec16_f val, __vec16_i1 mask) { +static FORCEINLINE void __scatter64_float(__vec16_i64 ptrs, __vec16_f val, __vec16_i1 mask){ __vec16_i32 first8ptrs, second8ptrs; hilo2zmm(ptrs, first8ptrs.v, second8ptrs.v); - _mm512_mask_i64scatter_pslo (0, mask, first8ptrs, val, 1); + _mm512_mask_i64scatter_pslo (0, mask, first8ptrs, val, 1); const __mmask8 mask_hi = 0x00FF & (mask >> 8); - _mm512_mask_i64scatter_pslo (0, mask_hi, second8ptrs, _mm512_permute4f128_ps(val.v, _MM_PERM_CDCD), 1); + _mm512_mask_i64scatter_pslo (0, mask_hi, second8ptrs, _mm512_permute4f128_ps(val.v, _MM_PERM_DCDC), 1); } /* static FORCEINLINE void __scatter64_double(__vec16_i64 ptrs, __vec16_d val, __vec16_i1 mask) { @@ -3501,7 +3501,7 @@ static FORCEINLINE void __scatter64_i32(__vec16_i64 ptrs, __vec16_i32 val, __vec hilo2zmm(ptrs, first8ptrs.v, second8ptrs.v); _mm512_mask_i64scatter_epi32lo (0, mask, first8ptrs, val, 1); const __mmask8 mask_hi = 0x00FF & (mask >> 8); - _mm512_mask_i64scatter_epi32lo (0, mask_hi, second8ptrs, _mm512_permute4f128_epi32(val.v, _MM_PERM_CDCD), 1); + _mm512_mask_i64scatter_epi32lo (0, mask_hi, second8ptrs, _mm512_permute4f128_epi32(val.v, _MM_PERM_DCDC), 1); } static FORCEINLINE void __scatter64_i64(__vec16_i64 ptrs, __vec16_i64 val, __vec16_i1 mask) { From 83b65ef534106a89d1e2994e828826e855b28a23 Mon Sep 17 00:00:00 2001 From: Anton Mitrokhin Date: Wed, 24 Dec 2014 19:15:14 +0300 Subject: [PATCH 08/16] add scatter_int16 --- examples/intrinsics/knc.h | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/examples/intrinsics/knc.h b/examples/intrinsics/knc.h index 7228b0f3..2fa8eb0b 100644 --- a/examples/intrinsics/knc.h +++ b/examples/intrinsics/knc.h @@ -3019,6 +3019,18 @@ __scatter_base_offsets32_i8(uint8_t *b, uint32_t scale, __vec16_i32 offsets, } +static FORCEINLINE void +__scatter_base_offsets32_i16(uint8_t *b, uint32_t scale, __vec16_i32 offsets, + __vec16_i16 val, __vec16_i1 mask) +{ + __vec16_i32 tmp = _mm512_extload_epi32(&val,_MM_UPCONV_EPI32_SINT16, + _MM_BROADCAST32_NONE, _MM_HINT_NONE); + _mm512_mask_i32extscatter_epi32(b, mask, offsets, tmp, + _MM_DOWNCONV_EPI32_SINT16, scale, + _MM_HINT_NONE); +} + + static FORCEINLINE void __masked_store_i16(void *p, const __vec16_i16 &val, __vec16_i1 mask) { __vec16_i32 tmp = _mm512_extload_epi32(&val, _MM_UPCONV_EPI32_SINT16, _MM_BROADCAST32_NONE, _MM_HINT_NONE); #ifdef ISPC_FORCE_ALIGNED_MEMORY @@ -3481,20 +3493,10 @@ static FORCEINLINE void __scatter_base_offsets32_double(void *base, uint32_t sca static FORCEINLINE void __scatter64_float(__vec16_i64 ptrs, __vec16_f val, __vec16_i1 mask){ __vec16_i32 first8ptrs, second8ptrs; hilo2zmm(ptrs, first8ptrs.v, second8ptrs.v); - _mm512_mask_i64scatter_pslo (0, mask, first8ptrs, val, 1); + _mm512_mask_i64scatter_pslo (0, mask, first8ptrs, val, 1); const __mmask8 mask_hi = 0x00FF & (mask >> 8); _mm512_mask_i64scatter_pslo (0, mask_hi, second8ptrs, _mm512_permute4f128_ps(val.v, _MM_PERM_DCDC), 1); } -/* -static FORCEINLINE void __scatter64_double(__vec16_i64 ptrs, __vec16_d val, __vec16_i1 mask) { -} - -static FORCEINLINE void __scatter64_i8(__vec16_i64 ptrs, __vec16_i8 val, __vec16_i1 mask) { -} - -static FORCEINLINE void __scatter64_i16(__vec16_i64 ptrs, __vec16_i16 val, __vec16_i1 mask) { -} -*/ static FORCEINLINE void __scatter64_i32(__vec16_i64 ptrs, __vec16_i32 val, __vec16_i1 mask) { __vec16_i32 first8ptrs, second8ptrs; From 300ff7be752e5c9af8fb10ea47e283377ea62b14 Mon Sep 17 00:00:00 2001 From: Anton Mitrokhin Date: Thu, 25 Dec 2014 23:11:21 +0300 Subject: [PATCH 09/16] add insert_element(vec1_ ... --- examples/intrinsics/knc.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/examples/intrinsics/knc.h b/examples/intrinsics/knc.h index 2fa8eb0b..d42c7dda 100644 --- a/examples/intrinsics/knc.h +++ b/examples/intrinsics/knc.h @@ -2784,6 +2784,10 @@ static FORCEINLINE int32_t __count_leading_zeros_i32(__vec1_i32 mask) { return n; } +static FORCEINLINE void __insert_element(__vec1_i32 *v, int index, uint32_t val) { + ((uint32_t *)v)[index] = val; \ +} + static FORCEINLINE int64_t __count_leading_zeros_i64(__vec1_i64 mask) { uint32_t n = 0; if (mask == 0) From 3f607ade1435e058899708bc4ef988b1117463de Mon Sep 17 00:00:00 2001 From: Anton Mitrokhin Date: Fri, 26 Dec 2014 01:12:14 +0300 Subject: [PATCH 10/16] add cast_sext plus shl/ashr function fix --- examples/intrinsics/knc.h | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/examples/intrinsics/knc.h b/examples/intrinsics/knc.h index d42c7dda..2c079959 100644 --- a/examples/intrinsics/knc.h +++ b/examples/intrinsics/knc.h @@ -963,8 +963,9 @@ static FORCEINLINE __vec16_i64 __shl(__vec16_i64 a, __vec16_i64 b) { } static FORCEINLINE __vec16_i64 __shl(__vec16_i64 a, unsigned long long b) { - __vec16_i32 hi = _mm512_or_epi32(_mm512_slli_epi32(a.v_hi, b), - _mm512_srli_epi32(a.v_lo, 32-b)); + __vec16_i32 hi; + if (b <= 32) hi = _mm512_or_epi32(_mm512_slli_epi32(a.v_hi, b), _mm512_srli_epi32(a.v_lo, 32-b)); + else hi = _mm512_slli_epi32(a.v_lo, b - 32); __vec16_i32 lo = _mm512_slli_epi32(a.v_lo, b); return __vec16_i64(lo, hi); } @@ -1006,10 +1007,9 @@ static FORCEINLINE __vec16_i64 __ashr(__vec16_i64 a, __vec16_i64 b) { } static FORCEINLINE __vec16_i64 __ashr(__vec16_i64 a, unsigned long long b) { - __vec16_i32 xfer - = _mm512_slli_epi32(_mm512_and_epi32(a.v_hi, - _mm512_set1_epi32((1< Date: Fri, 26 Dec 2014 01:38:25 +0300 Subject: [PATCH 11/16] add cast_bits(i32 i32) --- examples/intrinsics/knc.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/examples/intrinsics/knc.h b/examples/intrinsics/knc.h index 2c079959..27dfa9a2 100644 --- a/examples/intrinsics/knc.h +++ b/examples/intrinsics/knc.h @@ -966,7 +966,7 @@ static FORCEINLINE __vec16_i64 __shl(__vec16_i64 a, unsigned long long b) { __vec16_i32 hi; if (b <= 32) hi = _mm512_or_epi32(_mm512_slli_epi32(a.v_hi, b), _mm512_srli_epi32(a.v_lo, 32-b)); else hi = _mm512_slli_epi32(a.v_lo, b - 32); - __vec16_i32 lo = _mm512_slli_epi32(a.v_lo, b); + __vec16_i32 lo = _mm512_slli_epi32(a.v_lo, b); return __vec16_i64(lo, hi); } @@ -986,9 +986,8 @@ static FORCEINLINE __vec16_i64 __lshr(__vec16_i64 a, __vec16_i64 b) { static FORCEINLINE __vec16_i64 __lshr(__vec16_i64 a, unsigned long long b) { /* this is a safety gate in case b-shift >= 32 */ __vec16_i32 xfer; - if (32 < b) xfer = __lshr(a.v_hi, b-32); + if (32 <= b) xfer = __lshr(a.v_hi, b-32); else xfer = _mm512_and_epi32(_mm512_slli_epi32(__ispc_ffffffff, 32-b), _mm512_slli_epi32(a.v_hi, 32-b)); - __vec16_i32 hi = _mm512_srli_epi32(a.v_hi, b); __vec16_i32 lo = _mm512_or_epi32(xfer, _mm512_srli_epi32(a.v_lo, b)); return __vec16_i64(lo, hi); @@ -2292,6 +2291,9 @@ static FORCEINLINE __vec16_i32 __cast_bits(__vec16_i32, __vec16_f val) { return _mm512_castps_si512(val); } +static FORCEINLINE __vec16_i32 __cast_bits(__vec16_i32, __vec16_i32 val) { + return val; +} static FORCEINLINE __vec16_i64 __cast_bits(__vec16_i64, __vec16_d val) { __vec16_i64 ret; From 5dfb96a3102ae03377807e64f837aa5bcfa833fa Mon Sep 17 00:00:00 2001 From: Anton Mitrokhin Date: Fri, 26 Dec 2014 01:39:43 +0300 Subject: [PATCH 12/16] add cast_bits(i64 i64) --- examples/intrinsics/knc.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/examples/intrinsics/knc.h b/examples/intrinsics/knc.h index 27dfa9a2..ca1544bd 100644 --- a/examples/intrinsics/knc.h +++ b/examples/intrinsics/knc.h @@ -2333,6 +2333,9 @@ static FORCEINLINE __vec16_d __cast_bits(__vec16_d, __vec16_i64 val) { return ret; } +static FORCEINLINE __vec16_i64 __cast_bits(__vec16_i64, __vec16_i64 val) { + return val; +} /////////////////////////////////////////////////////////////////////////// // templates for int8/16 operations From 2d403cf258fbd7ab4b7867d4b81b5a2c5e7926d8 Mon Sep 17 00:00:00 2001 From: Anton Mitrokhin Date: Fri, 26 Dec 2014 02:06:16 +0300 Subject: [PATCH 13/16] add __masked_load_i64 --- examples/intrinsics/knc.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/examples/intrinsics/knc.h b/examples/intrinsics/knc.h index ca1544bd..58e160d1 100644 --- a/examples/intrinsics/knc.h +++ b/examples/intrinsics/knc.h @@ -2971,6 +2971,12 @@ static FORCEINLINE __vec16_f __masked_load_float(void *p, __vec16_i1 mask) { #endif } +static FORCEINLINE __vec16_i64 __masked_load_i64(void *p, __vec16_i1 mask) { + __vec16_i32 first8 = __masked_load_i32(p, mask); + __vec16_i32 second8 = __masked_load_i32(p + 64, mask); + return zmm2hilo(first8, second8); +} + static FORCEINLINE __vec16_d __masked_load_double(void *p, __vec16_i1 mask) { #ifdef ISPC_FORCE_ALIGNED_MEMORY __vec16_d ret; From 192aeb0ae3adbcc158818086f2531630ca0bc99e Mon Sep 17 00:00:00 2001 From: Anton Mitrokhin Date: Fri, 26 Dec 2014 13:58:49 +0300 Subject: [PATCH 14/16] add 'examples/intrinsics/known_fails.txt' to track difficult runfails/compfails --- examples/intrinsics/knc.h | 23 +++++++++++------------ examples/intrinsics/known_fails.txt | 15 +++++++++++++++ 2 files changed, 26 insertions(+), 12 deletions(-) create mode 100644 examples/intrinsics/known_fails.txt diff --git a/examples/intrinsics/knc.h b/examples/intrinsics/knc.h index 58e160d1..1d925d73 100644 --- a/examples/intrinsics/knc.h +++ b/examples/intrinsics/knc.h @@ -3599,21 +3599,21 @@ static FORCEINLINE void __aos_to_soa3_float(float *ptr, __vec16_f *out0, __vec16 __insert_element(out2, i, *ptr++); } } -*/ -/* + + static FORCEINLINE void __soa_to_aos4_float(__vec16_f v0, __vec16_f v1, __vec16_f v2, __vec16_f v3, float *ptr) { // v0 = A1 ... A16, v1 = B1 ..., v3 = D1 ... D16 - __vec16_f tmp00 = _mm512_mask_swizzle_ps (v0, 0x3333, v1, _MM_SWIZ_REG_CDAB); // A1A2B1B2 A5A6B5B6 ... - __vec16_f tmp01 = _mm512_mask_swizzle_ps (v0, 0xCCCC, v1, _MM_SWIZ_REG_CDAB); // B3B4A3A4 B7B8A7A8 ... - __vec16_f tmp02 = _mm512_mask_swizzle_ps (v2, 0x3333, v3, _MM_SWIZ_REG_CDAB); // C1C2D1D2 ... - __vec16_f tmp03 = _mm512_mask_swizzle_ps (v2, 0xCCCC, v3, _MM_SWIZ_REG_CDAB); // D3D4C3C4 ... + //__vec16_f tmp00 = _mm512_mask_swizzle_ps (v0, 0x3333, v1, _MM_SWIZ_REG_CDAB); // A1A2B1B2 A5A6B5B6 ... + //__vec16_f tmp01 = _mm512_mask_swizzle_ps (v0, 0xCCCC, v1, _MM_SWIZ_REG_CDAB); // B3B4A3A4 B7B8A7A8 ... + //__vec16_f tmp02 = _mm512_mask_swizzle_ps (v2, 0x3333, v3, _MM_SWIZ_REG_CDAB); // C1C2D1D2 ... + //__vec16_f tmp03 = _mm512_mask_swizzle_ps (v2, 0xCCCC, v3, _MM_SWIZ_REG_CDAB); // D3D4C3C4 ... - __vec16_f tmp10 = _mm512_mask_swizzle_ps (tmp00, 0x5555, tmp02, _MM_SWIZ_REG_BADC); // A1C1B1D1 A5C5B5D5 ... - __vec16_f tmp11 = _mm512_mask_swizzle_ps (tmp00, 0xAAAA, tmp02, _MM_SWIZ_REG_BADC); // C2A2D2B2 C6A6D6B6 ... - __vec16_f tmp12 = _mm512_mask_swizzle_ps (tmp01, 0x5555, tmp03, _MM_SWIZ_REG_BADC); // DBCA ... - __vec16_f tmp13 = _mm512_mask_swizzle_ps (tmp01, 0xAAAA, tmp03, _MM_SWIZ_REG_BADC); // BDAC ... + //__vec16_f tmp10 = _mm512_mask_swizzle_ps (tmp00, 0x5555, tmp02, _MM_SWIZ_REG_BADC); // A1C1B1D1 A5C5B5D5 ... + //__vec16_f tmp11 = _mm512_mask_swizzle_ps (tmp00, 0xAAAA, tmp02, _MM_SWIZ_REG_BADC); // C2A2D2B2 C6A6D6B6 ... + //__vec16_f tmp12 = _mm512_mask_swizzle_ps (tmp01, 0x5555, tmp03, _MM_SWIZ_REG_BADC); // DBCA ... + //__vec16_f tmp13 = _mm512_mask_swizzle_ps (tmp01, 0xAAAA, tmp03, _MM_SWIZ_REG_BADC); // BDAC ... @@ -3627,9 +3627,8 @@ static FORCEINLINE void __soa_to_aos4_float(__vec16_f v0, __vec16_f v1, __vec16_ *ptr++ = __extract_element(v3, i); } } -*/ -/* + static FORCEINLINE void __aos_to_soa4_float(float *ptr, __vec16_f *out0, __vec16_f *out1, __vec16_f *out2, __vec16_f *out3) { for (int i = 0; i < 16; ++i) { diff --git a/examples/intrinsics/known_fails.txt b/examples/intrinsics/known_fails.txt new file mode 100644 index 00000000..a9ebd4bd --- /dev/null +++ b/examples/intrinsics/known_fails.txt @@ -0,0 +1,15 @@ +knc.h +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +1. pmulus_vi64.ispc (-O2) +The root of the broblem is in the code generator - it assumes __vec16_i64 stores its elements sequentually in memory, +not high and low parts separately as we do. Consequently, this construction works incorrectly + +``` +__vec16_i64 (((uint64_t *)(&tmp__2_))[0], ((uint64_t *)(&tmp__2_))[0], ((uint64_t *)(&tmp__2_))[0], ((uint64_t +*)(&tmp__2_))[0], ((uint64_t *)(&tmp__2_))[0], ((uint64_t *)(&tmp__2_))[0], ((uint64_t *)(&tmp__2_))[0], ((uint64_t +*)(&tmp__2_))[0], ((uint64_t *)(&tmp__2_))[0], ((uint64_t *)(&tmp__2_))[0], ((uint64_t *)(&tmp__2_))[0], ((uint64_t +*)(&tmp__2_))[0], ((uint64_t *)(&tmp__2_))[0], ((uint64_t *)(&tmp__2_))[0], ((uint64_t *)(&tmp__2_))[0], ((uint64_t +*)(&tmp__2_))[0] +``` +where 'tmp__2_' is of __vec16_i64 data type. From 948e75dcb513195f10fa431516431ac42fa9fa2a Mon Sep 17 00:00:00 2001 From: Anton Mitrokhin Date: Fri, 26 Dec 2014 16:21:23 +0300 Subject: [PATCH 15/16] examined soa-18 runfail --- examples/intrinsics/known_fails.txt | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/examples/intrinsics/known_fails.txt b/examples/intrinsics/known_fails.txt index a9ebd4bd..95986887 100644 --- a/examples/intrinsics/known_fails.txt +++ b/examples/intrinsics/known_fails.txt @@ -13,3 +13,20 @@ __vec16_i64 (((uint64_t *)(&tmp__2_))[0], ((uint64_t *)(&tmp__2_))[0], ((uint64_ *)(&tmp__2_))[0] ``` where 'tmp__2_' is of __vec16_i64 data type. + +2. soa-18.ispc (-O0) +The same as (1). The generator uses the structure of a kind +``` +struct l_unnamed_0 { + __vec16_i64 field0; + __vec16_i32 field1; +} ptr_; +``` +and a function +``` + __masked_store_i64(((&ptr_.field0)), _slice_ptr7_slice_offset_extract_0_, internal_mask_26_function_mask9_); +``` + +where '_slice_ptr7_slice_offset_extract_0_' is of type __vec16_i64. The +problem is, we store 64 bit ints in memory sequentually and in vectors +separately (hi and lo parts). This way, the '.field0' has wrong layout From 4b48bfa87a91c1bc2e59a9a9ba84aa00b589f127 Mon Sep 17 00:00:00 2001 From: Anton Mitrokhin Date: Fri, 26 Dec 2014 16:52:40 +0300 Subject: [PATCH 16/16] upate fail_db (fixes 279 compfails and 4 runfails). New runfails: soa-18, pmulus_vi64, funcptr-varying-7, funcptr-varying-8 --- fail_db.txt | 294 ++-------------------------------------------------- 1 file changed, 11 insertions(+), 283 deletions(-) diff --git a/fail_db.txt b/fail_db.txt index 4d31e27a..78bb3882 100644 --- a/fail_db.txt +++ b/fail_db.txt @@ -426,79 +426,43 @@ ./tests/aossoa-7.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * ./tests/aossoa-8.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/aossoa-8.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * -./tests/atomics-13.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/atomics-13.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * -./tests/funcptr-varying-7.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/funcptr-varying-7.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * -./tests/funcptr-varying-8.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/funcptr-varying-8.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * -./tests/gather-double-5.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/gather-double-5.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * -./tests/gather-double-6.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/gather-double-6.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * -./tests/gather-double-7.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/gather-double-7.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * -./tests/gather-double-8.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/gather-double-8.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * -./tests/gather-int16-1.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/gather-int16-1.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * -./tests/gather-int16-2.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/gather-int16-2.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * -./tests/gather-int16-3.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/gather-int16-3.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * -./tests/gather-int16-4.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/gather-int16-4.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * -./tests/gather-int16-5.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/gather-int16-5.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * -./tests/gather-int16-6.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/gather-int16-6.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * -./tests/gather-int16-7.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/gather-int16-7.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * -./tests/gather-int16-8.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/gather-int16-8.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * -./tests/gather-int16.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/gather-int16.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * -./tests/gather-int32-5.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/gather-int32-5.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * -./tests/gather-int32-6.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/gather-int32-6.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * -./tests/gather-int32-7.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/gather-int32-7.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * -./tests/gather-int32-8.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/gather-int32-8.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * -./tests/gather-int8-5.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/gather-int8-5.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * -./tests/gather-int8-6.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/gather-int8-6.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * -./tests/gather-int8-7.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/gather-int8-7.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * -./tests/gather-int8-8.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/gather-int8-8.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * -./tests/memcpy-varying.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/memcpy-varying.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * -./tests/memmove-varying.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/memmove-varying.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * -./tests/memset-varying.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/memset-varying.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * -./tests/pass-varying-lvalue-to-ref.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/pass-varying-lvalue-to-ref.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * -./tests/ptr-22.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/ptr-22.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * -./tests/ptr-24.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/ptr-24.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * -./tests/ptr-25.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/ptr-25.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * ./tests/ptr-assign-lhs-math-1.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/ptr-assign-lhs-math-1.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * -./tests/scatter-int16-1.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/scatter-int16-1.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * -./tests/scatter-int16.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/scatter-int16.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * -./tests/soa-18.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/soa-18.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * -./tests/soa-22.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/soa-22.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * -./tests/struct-nested-5.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/struct-nested-5.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * ./tests/acos.ispc runfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/acos.ispc runfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * @@ -510,7 +474,6 @@ ./tests/funcptr-varying-7.ispc runfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * ./tests/funcptr-varying-8.ispc runfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/funcptr-varying-8.ispc runfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/ldexp-double.ispc runfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/ldexp-double.ispc runfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * ./tests/aossoa-1.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/aossoa-1.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * @@ -548,115 +511,60 @@ ./tests/atomics-4.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * ./tests/atomics-9.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/atomics-9.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/exclusive-scan-add-1.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/exclusive-scan-add-1.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/exclusive-scan-add-10.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/exclusive-scan-add-10.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/exclusive-scan-add-8.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/exclusive-scan-add-8.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/exclusive-scan-add-9.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/exclusive-scan-add-9.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/exclusive-scan-and-1.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/exclusive-scan-and-1.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/exclusive-scan-and-2.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/exclusive-scan-and-2.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/exclusive-scan-or-1.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/exclusive-scan-or-1.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/gather-double-5.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/gather-double-5.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/gather-double-6.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/gather-double-6.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/gather-double-7.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/gather-double-7.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/gather-double-8.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/gather-double-8.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/gather-int16-1.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/gather-int16-1.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/gather-int16-2.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/gather-int16-2.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/gather-int16-3.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/gather-int16-3.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/gather-int16-4.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/gather-int16-4.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/gather-int16-5.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/gather-int16-5.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/gather-int16-6.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/gather-int16-6.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/gather-int16-7.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/gather-int16-7.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/gather-int16-8.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/gather-int16-8.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/gather-int16.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/gather-int16.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/gather-int32-5.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/gather-int32-5.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/gather-int32-6.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/gather-int32-6.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/gather-int32-7.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/gather-int32-7.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/gather-int32-8.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/gather-int32-8.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/gather-int8-5.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/gather-int8-5.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/gather-int8-6.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/gather-int8-6.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/gather-int8-7.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/gather-int8-7.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/gather-int8-8.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/gather-int8-8.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/memcpy-varying.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/memcpy-varying.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/memmove-varying.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/memmove-varying.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/memset-varying.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/memset-varying.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/pass-varying-lvalue-to-ref.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/pass-varying-lvalue-to-ref.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/pmuls_vi64.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/pmuls_vi64.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/ptr-24.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/ptr-24.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/ptr-25.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/ptr-25.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/ptr-assign-lhs-math-2.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/ptr-assign-lhs-math-2.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/ptr-cast-complex.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/ptr-cast-complex.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/ptr-int-1.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/ptr-int-1.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/ptr-varying-unif-index.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/ptr-varying-unif-index.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/reduce-equal-1.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/reduce-equal-1.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/reduce-equal-10.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/reduce-equal-10.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/reduce-equal-12.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/reduce-equal-12.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/reduce-equal-13.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/reduce-equal-13.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/reduce-equal-2.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/reduce-equal-2.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/reduce-equal-3.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/reduce-equal-3.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/reduce-equal-4.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/reduce-equal-4.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/reduce-equal-5.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/reduce-equal-5.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/reduce-equal-6.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/reduce-equal-6.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/reduce-equal-8.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/reduce-equal-8.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/scatter-int16-1.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/scatter-int16-1.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/scatter-int16.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/scatter-int16.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/soa-18.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/soa-18.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/soa-19.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/soa-19.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/soa-22.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/soa-22.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * -./tests/struct-nested-5.ispc compfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * ./tests/struct-nested-5.ispc compfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O0 * ./tests/acos.ispc runfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/acos.ispc runfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * @@ -688,7 +596,6 @@ ./tests/aossoa-7.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * ./tests/aossoa-8.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/aossoa-8.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * -./tests/atomics-13.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/atomics-13.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * ./tests/atomics-6.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/atomics-6.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * @@ -696,65 +603,36 @@ ./tests/atomics-uniform-8.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * ./tests/atomics-uniform-9.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/atomics-uniform-9.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * -./tests/funcptr-varying-7.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/funcptr-varying-7.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * -./tests/funcptr-varying-8.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/funcptr-varying-8.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * -./tests/gather-double-5.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/gather-double-5.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * -./tests/gather-double-6.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/gather-double-6.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * -./tests/gather-double-7.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/gather-double-7.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * -./tests/gather-double-8.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/gather-double-8.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * -./tests/gather-int16-1.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/gather-int16-1.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * -./tests/gather-int16-2.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/gather-int16-2.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * -./tests/gather-int16-3.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/gather-int16-3.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * -./tests/gather-int16-4.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/gather-int16-4.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * -./tests/gather-int16-5.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/gather-int16-5.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * -./tests/gather-int16-6.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/gather-int16-6.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * -./tests/gather-int16-7.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/gather-int16-7.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * -./tests/gather-int16-8.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/gather-int16-8.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * -./tests/gather-int16.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/gather-int16.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * -./tests/gather-int32-5.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/gather-int32-5.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * -./tests/gather-int32-6.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/gather-int32-6.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * -./tests/gather-int32-7.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/gather-int32-7.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * -./tests/gather-int32-8.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/gather-int32-8.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * -./tests/gather-int8-5.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/gather-int8-5.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * -./tests/gather-int8-6.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/gather-int8-6.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * -./tests/gather-int8-7.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/gather-int8-7.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * -./tests/gather-int8-8.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/gather-int8-8.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * -./tests/memcpy-varying.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/memcpy-varying.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * -./tests/memmove-varying.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/memmove-varying.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * -./tests/memset-varying.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/memset-varying.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * -./tests/paddus_vi64.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/paddus_vi64.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * -./tests/pass-varying-lvalue-to-ref.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/pass-varying-lvalue-to-ref.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * ./tests/pmuls_i64.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/pmuls_i64.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * -./tests/pmuls_vi64.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/pmuls_vi64.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * ./tests/pmulus_i16.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/pmulus_i16.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * @@ -764,25 +642,16 @@ ./tests/pmulus_i64.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * ./tests/pmulus_i8.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/pmulus_i8.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * -./tests/pmulus_vi64.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/pmulus_vi64.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * -./tests/ptr-22.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/ptr-22.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * -./tests/ptr-24.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/ptr-24.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * -./tests/ptr-25.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/ptr-25.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * ./tests/ptr-assign-lhs-math-1.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/ptr-assign-lhs-math-1.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * -./tests/scatter-int16-1.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/scatter-int16-1.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * -./tests/scatter-int16.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/scatter-int16.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * -./tests/soa-18.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/soa-18.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * -./tests/soa-22.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/soa-22.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * -./tests/struct-nested-5.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * ./tests/struct-nested-5.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * ./tests/acos.ispc runfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/acos.ispc runfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * @@ -794,7 +663,6 @@ ./tests/funcptr-varying-7.ispc runfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * ./tests/funcptr-varying-8.ispc runfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/funcptr-varying-8.ispc runfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/ldexp-double.ispc runfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/ldexp-double.ispc runfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * ./tests/aossoa-1.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/aossoa-1.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * @@ -838,115 +706,60 @@ ./tests/atomics-uniform-8.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * ./tests/atomics-uniform-9.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/atomics-uniform-9.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/exclusive-scan-add-1.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/exclusive-scan-add-1.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/exclusive-scan-add-10.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/exclusive-scan-add-10.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/exclusive-scan-add-8.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/exclusive-scan-add-8.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/exclusive-scan-add-9.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/exclusive-scan-add-9.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/exclusive-scan-and-1.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/exclusive-scan-and-1.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/exclusive-scan-and-2.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/exclusive-scan-and-2.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/exclusive-scan-or-1.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/exclusive-scan-or-1.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/gather-double-5.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/gather-double-5.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/gather-double-6.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/gather-double-6.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/gather-double-7.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/gather-double-7.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/gather-double-8.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/gather-double-8.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/gather-int16-1.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/gather-int16-1.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/gather-int16-2.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/gather-int16-2.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/gather-int16-3.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/gather-int16-3.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/gather-int16-4.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/gather-int16-4.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/gather-int16-5.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/gather-int16-5.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/gather-int16-6.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/gather-int16-6.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/gather-int16-7.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/gather-int16-7.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/gather-int16-8.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/gather-int16-8.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/gather-int16.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/gather-int16.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/gather-int32-5.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/gather-int32-5.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/gather-int32-6.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/gather-int32-6.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/gather-int32-7.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/gather-int32-7.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/gather-int32-8.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/gather-int32-8.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/gather-int8-5.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/gather-int8-5.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/gather-int8-6.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/gather-int8-6.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/gather-int8-7.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/gather-int8-7.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/gather-int8-8.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/gather-int8-8.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/memcpy-varying.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/memcpy-varying.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/memmove-varying.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/memmove-varying.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/memset-varying.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/memset-varying.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/pass-varying-lvalue-to-ref.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/pass-varying-lvalue-to-ref.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/pmuls_vi64.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/pmuls_vi64.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/ptr-24.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/ptr-24.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/ptr-25.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/ptr-25.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/ptr-assign-lhs-math-2.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/ptr-assign-lhs-math-2.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/ptr-cast-complex.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/ptr-cast-complex.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/ptr-int-1.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/ptr-int-1.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/ptr-varying-unif-index.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/ptr-varying-unif-index.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/reduce-equal-1.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/reduce-equal-1.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/reduce-equal-10.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/reduce-equal-10.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/reduce-equal-12.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/reduce-equal-12.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/reduce-equal-13.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/reduce-equal-13.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/reduce-equal-2.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/reduce-equal-2.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/reduce-equal-3.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/reduce-equal-3.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/reduce-equal-4.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/reduce-equal-4.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/reduce-equal-5.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/reduce-equal-5.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/reduce-equal-6.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/reduce-equal-6.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/reduce-equal-8.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/reduce-equal-8.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/scatter-int16-1.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/scatter-int16-1.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/scatter-int16.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/scatter-int16.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/soa-18.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/soa-18.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/soa-19.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/soa-19.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/soa-22.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/soa-22.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * -./tests/struct-nested-5.ispc compfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * ./tests/struct-nested-5.ispc compfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O0 * ./tests/acos.ispc runfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/acos.ispc runfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * @@ -978,7 +791,6 @@ ./tests/aossoa-7.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * ./tests/aossoa-8.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/aossoa-8.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/atomics-13.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/atomics-13.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * ./tests/atomics-6.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/atomics-6.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * @@ -986,65 +798,36 @@ ./tests/atomics-uniform-8.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * ./tests/atomics-uniform-9.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/atomics-uniform-9.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/funcptr-varying-7.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/funcptr-varying-7.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/funcptr-varying-8.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/funcptr-varying-8.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/gather-double-5.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/gather-double-5.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/gather-double-6.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/gather-double-6.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/gather-double-7.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/gather-double-7.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/gather-double-8.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/gather-double-8.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/gather-int16-1.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/gather-int16-1.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/gather-int16-2.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/gather-int16-2.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/gather-int16-3.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/gather-int16-3.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/gather-int16-4.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/gather-int16-4.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/gather-int16-5.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/gather-int16-5.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/gather-int16-6.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/gather-int16-6.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/gather-int16-7.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/gather-int16-7.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/gather-int16-8.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/gather-int16-8.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/gather-int16.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/gather-int16.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/gather-int32-5.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/gather-int32-5.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/gather-int32-6.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/gather-int32-6.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/gather-int32-7.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/gather-int32-7.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/gather-int32-8.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/gather-int32-8.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/gather-int8-5.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/gather-int8-5.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/gather-int8-6.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/gather-int8-6.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/gather-int8-7.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/gather-int8-7.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/gather-int8-8.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/gather-int8-8.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/memcpy-varying.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/memcpy-varying.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/memmove-varying.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/memmove-varying.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/memset-varying.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/memset-varying.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/paddus_vi64.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/paddus_vi64.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/pass-varying-lvalue-to-ref.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/pass-varying-lvalue-to-ref.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * ./tests/pmuls_i64.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/pmuls_i64.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/pmuls_vi64.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/pmuls_vi64.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * ./tests/pmulus_i16.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/pmulus_i16.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * @@ -1054,25 +837,16 @@ ./tests/pmulus_i64.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * ./tests/pmulus_i8.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/pmulus_i8.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/pmulus_vi64.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/pmulus_vi64.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/ptr-22.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/ptr-22.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/ptr-24.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/ptr-24.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/ptr-25.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/ptr-25.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * ./tests/ptr-assign-lhs-math-1.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/ptr-assign-lhs-math-1.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/scatter-int16-1.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/scatter-int16-1.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/scatter-int16.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/scatter-int16.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/soa-18.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/soa-18.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/soa-22.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/soa-22.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/struct-nested-5.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/struct-nested-5.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * ./tests/acos.ispc runfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/acos.ispc runfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * @@ -1084,7 +858,6 @@ ./tests/funcptr-varying-7.ispc runfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * ./tests/funcptr-varying-8.ispc runfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/funcptr-varying-8.ispc runfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/ldexp-double.ispc runfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/ldexp-double.ispc runfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * ./tests/aossoa-1.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/aossoa-1.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * @@ -1128,115 +901,60 @@ ./tests/atomics-uniform-8.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * ./tests/atomics-uniform-9.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/atomics-uniform-9.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/exclusive-scan-add-1.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/exclusive-scan-add-1.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/exclusive-scan-add-10.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/exclusive-scan-add-10.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/exclusive-scan-add-8.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/exclusive-scan-add-8.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/exclusive-scan-add-9.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/exclusive-scan-add-9.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/exclusive-scan-and-1.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/exclusive-scan-and-1.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/exclusive-scan-and-2.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/exclusive-scan-and-2.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/exclusive-scan-or-1.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/exclusive-scan-or-1.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/gather-double-5.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/gather-double-5.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/gather-double-6.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/gather-double-6.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/gather-double-7.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/gather-double-7.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/gather-double-8.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/gather-double-8.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/gather-int16-1.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/gather-int16-1.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/gather-int16-2.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/gather-int16-2.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/gather-int16-3.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/gather-int16-3.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/gather-int16-4.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/gather-int16-4.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/gather-int16-5.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/gather-int16-5.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/gather-int16-6.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/gather-int16-6.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/gather-int16-7.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/gather-int16-7.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/gather-int16-8.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/gather-int16-8.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/gather-int16.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/gather-int16.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/gather-int32-5.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/gather-int32-5.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/gather-int32-6.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/gather-int32-6.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/gather-int32-7.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/gather-int32-7.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/gather-int32-8.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/gather-int32-8.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/gather-int8-5.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/gather-int8-5.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/gather-int8-6.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/gather-int8-6.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/gather-int8-7.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/gather-int8-7.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/gather-int8-8.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/gather-int8-8.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/memcpy-varying.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/memcpy-varying.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/memmove-varying.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/memmove-varying.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/memset-varying.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/memset-varying.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/pass-varying-lvalue-to-ref.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/pass-varying-lvalue-to-ref.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/pmuls_vi64.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/pmuls_vi64.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/ptr-24.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/ptr-24.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/ptr-25.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/ptr-25.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/ptr-assign-lhs-math-2.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/ptr-assign-lhs-math-2.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/ptr-cast-complex.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/ptr-cast-complex.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/ptr-int-1.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/ptr-int-1.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/ptr-varying-unif-index.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/ptr-varying-unif-index.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/reduce-equal-1.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/reduce-equal-1.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/reduce-equal-10.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/reduce-equal-10.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/reduce-equal-12.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/reduce-equal-12.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/reduce-equal-13.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/reduce-equal-13.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/reduce-equal-2.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/reduce-equal-2.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/reduce-equal-3.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/reduce-equal-3.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/reduce-equal-4.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/reduce-equal-4.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/reduce-equal-5.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/reduce-equal-5.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/reduce-equal-6.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/reduce-equal-6.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/reduce-equal-8.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/reduce-equal-8.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/scatter-int16-1.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/scatter-int16-1.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/scatter-int16.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/scatter-int16.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/soa-18.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/soa-18.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/soa-19.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/soa-19.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/soa-22.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/soa-22.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * -./tests/struct-nested-5.ispc compfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 * ./tests/struct-nested-5.ispc compfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O0 * ./tests/reduce-equal-10.ispc runfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/reduce-equal-10.ispc runfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * @@ -1244,6 +962,16 @@ ./tests/reduce-equal-10.ispc runfail x86-64 knc Linux LLVM 3.5 icpc13.1 -O2 * ./tests/reduce-equal-10.ispc runfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * ./tests/reduce-equal-10.ispc runfail x86-64 knc Linux LLVM 3.6 icpc13.1 -O2 * -./tests/pmuls_vi64.ispc runfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * ./tests/pmuls_vi64.ispc runfail x86-64 knc Linux LLVM 3.4 icpc13.1 -O2 * +./tests/funcptr-varying-7.ispc runfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * +./tests/funcptr-varying-8.ispc runfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O2 * +./tests/soa-18.ispc runfail x86-64 knc Linux LLVM 3.4 icpc15.0 -O0 * +./tests/funcptr-varying-7.ispc runfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * +./tests/funcptr-varying-8.ispc runfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * +./tests/pmulus_vi64.ispc runfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O2 * +./tests/soa-18.ispc runfail x86-64 knc Linux LLVM 3.5 icpc15.0 -O0 * +./tests/funcptr-varying-7.ispc runfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * +./tests/funcptr-varying-8.ispc runfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * +./tests/pmulus_vi64.ispc runfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O2 * +./tests/soa-18.ispc runfail x86-64 knc Linux LLVM 3.6 icpc15.0 -O0 *