From 9f933b500b59192194e212333f416e90596742d4 Mon Sep 17 00:00:00 2001 From: "james.brodman" Date: Fri, 20 Dec 2013 16:45:27 -0500 Subject: [PATCH] Add missing __cast_sext(__vec16_i32,__vec16_i1) --- examples/intrinsics/knc.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/examples/intrinsics/knc.h b/examples/intrinsics/knc.h index b0782b6e..0077ad88 100644 --- a/examples/intrinsics/knc.h +++ b/examples/intrinsics/knc.h @@ -1260,6 +1260,13 @@ static FORCEINLINE __vec16_i64 __cast_zext(const __vec16_i64 &, const __vec16_i3 return __vec16_i64(val.v, _mm512_setzero_epi32()); } +static FORCEINLINE __vec16_i32 __cast_sext(const __vec16_i32 &, const __vec16_i1 &val) +{ + __vec16_i32 ret = _mm512_setzero_epi32(); + __vec16_i32 one = _mm512_set1_epi32(-1); + return _mm512_mask_mov_epi32(ret, val, one); +} + static FORCEINLINE __vec16_i32 __cast_zext(const __vec16_i32 &, const __vec16_i1 &val) { __vec16_i32 ret = _mm512_setzero_epi32();