aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@gmail.com>2014-03-24 16:27:36 +0000
committerUlrich Drepper <drepper@gcc.gnu.org>2014-03-24 16:27:36 +0000
commit2b2384e8c11ac54f8add062584ada9480079a25b (patch)
tree7c0f492657b1ac70806d3726ba328270d6843039
parent0b192937b8e85eb7cf8d3e7ebbc371ea9a5d0b78 (diff)
downloadgcc-2b2384e8c11ac54f8add062584ada9480079a25b.zip
gcc-2b2384e8c11ac54f8add062584ada9480079a25b.tar.gz
gcc-2b2384e8c11ac54f8add062584ada9480079a25b.tar.bz2
avx512fintrin.h: Define _mm512_set1_ps and _mm512_set1_pd.
2014-03-24 Ulrich Drepper <drepper@gmail.com> * config/i386/avx512fintrin.h: Define _mm512_set1_ps and _mm512_set1_pd. From-SVN: r208794
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/config/i386/avx512fintrin.h22
2 files changed, 25 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4f094ae..e24b5fa 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,8 @@
2014-03-24 Ulrich Drepper <drepper@gmail.com>
+ * config/i386/avx512fintrin.h: Define _mm512_set1_ps and
+ _mm512_set1_pd.
+
* config/i386/avxintrin.h (_mm256_undefined_si256): Define.
(_mm256_undefined_ps): Define.
(_mm256_undefined_pd): Define.
diff --git a/gcc/config/i386/avx512fintrin.h b/gcc/config/i386/avx512fintrin.h
index 20b3baf..9602866 100644
--- a/gcc/config/i386/avx512fintrin.h
+++ b/gcc/config/i386/avx512fintrin.h
@@ -130,6 +130,28 @@ _mm512_undefined_si512 (void)
return __Y;
}
+extern __inline __m512d
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm512_set1_pd (double __A)
+{
+ return (__m512d) __builtin_ia32_broadcastsd512 (__extension__
+ (__v2df) { __A, },
+ (__v8df)
+ _mm512_undefined_pd (),
+ (__mmask8) -1);
+}
+
+extern __inline __m512
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm512_set1_ps (float __A)
+{
+ return (__m512) __builtin_ia32_broadcastss512 (__extension__
+ (__v4sf) { __A, },
+ (__v16sf)
+ _mm512_undefined_ps (),
+ (__mmask16) -1);
+}
+
extern __inline __m512
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
_mm512_setzero_ps (void)