Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/marian-nmt/intgemm.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikolay Bogoychev <nheart@gmail.com>2020-03-26 13:18:42 +0300
committerNikolay Bogoychev <nheart@gmail.com>2020-03-26 13:18:42 +0300
commit41785860270db79858e4ee0a2866f1a7649f37c4 (patch)
tree50bc260a9b49afb3264544d507b2a709dff0d805
parentd596aace3e80a223358672e7fbd178e83d2ab609 (diff)
do not use fake intrinsics
-rw-r--r--multiply.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/multiply.h b/multiply.h
index ee2196e..50f548b 100644
--- a/multiply.h
+++ b/multiply.h
@@ -81,7 +81,9 @@ static inline INTGEMM_AVX512F float MaxFloat32(__m512 a) {
}
static inline INTGEMM_AVX512F float horizontalSum(__m512 a) {
- return _mm512_reduce_add_ps(a);
+ __m256 low = _mm512_castps512_ps256(a);
+ __m256 high = _mm256_castpd_ps(_mm512_extractf64x4_pd(_mm512_castps_pd(a),1));
+ return horizontalSum(low) + horizontalSum(high);
}
#endif