Re: [PR80582][X86] Add missing __mm256_set[r] intrinsics
On Tue, May 9, 2017 at 11:42 AM, Koval, Julia <julia.ko...@intel.com> wrote: > Sorry, fixed that. > > Thanks, > Julia > > -Original Message- > From: Jakub Jelinek [mailto:ja...@redhat.com] > Sent: Tuesday, May 09, 2017 11:36 AM > To: Koval, Julia <julia.ko...@intel.com> > Cc: GCC Patches <gcc-patches@gcc.gnu.org>; Uros Bizjak <ubiz...@gmail.com>; > Kirill Yukhin <kirill.yuk...@gmail.com> > Subject: Re: [PR80582][X86] Add missing __mm256_set[r] intrinsics > > On Tue, May 09, 2017 at 09:28:40AM +, Koval, Julia wrote: >> Hi, >> >> This patch implements missing intrinsics: >> _mm256_set_m128 >> _mm256_set_m128d >> _mm256_set_m128i >> _mm256_setr_m128 >> _mm256_setr_m128d >> _mm256_setr_m128i >> >> gcc/ >> * config/i386/avxintrin.h (_mm256_set_m128, _mm256_set_m128d, >> _mm256_set_m128i, _mm256_setr_m128, _mm256_setr_m128d, >> _mm256_setr_m128i): New intrinsics. >> >> gcc/testsuite/ >> * gcc.target/i386/avx-vinsertf128-256-1: Test new intrinsics. >> * gcc.target/i386/avx-vinsertf128-256-2: Ditto. >> * gcc.target/i386/avx-vinsertf128-256-3: Ditto. >> >> Ok for trunk? Approved and committed to mainline SVN. Thanks, Uros.
RE: [PR80582][X86] Add missing __mm256_set[r] intrinsics
Sorry, fixed that. Thanks, Julia -Original Message- From: Jakub Jelinek [mailto:ja...@redhat.com] Sent: Tuesday, May 09, 2017 11:36 AM To: Koval, Julia <julia.ko...@intel.com> Cc: GCC Patches <gcc-patches@gcc.gnu.org>; Uros Bizjak <ubiz...@gmail.com>; Kirill Yukhin <kirill.yuk...@gmail.com> Subject: Re: [PR80582][X86] Add missing __mm256_set[r] intrinsics On Tue, May 09, 2017 at 09:28:40AM +, Koval, Julia wrote: > Hi, > > This patch implements missing intrinsics: > _mm256_set_m128 > _mm256_set_m128d > _mm256_set_m128i > _mm256_setr_m128 > _mm256_setr_m128d > _mm256_setr_m128i > > gcc/ > * config/i386/avxintrin.h (_mm256_set_m128, _mm256_set_m128d, > _mm256_set_m128i, _mm256_setr_m128, _mm256_setr_m128d, > _mm256_setr_m128i): New intrinsics. > > gcc/testsuite/ > * gcc.target/i386/avx-vinsertf128-256-1: Test new intrinsics. > * gcc.target/i386/avx-vinsertf128-256-2: Ditto. > * gcc.target/i386/avx-vinsertf128-256-3: Ditto. > > Ok for trunk? --- a/gcc/config/i386/avxintrin.h +++ b/gcc/config/i386/avxintrin.h @@ -746,6 +746,7 @@ _mm256_broadcast_ps (__m128 const *__X) return (__m256) __builtin_ia32_vbroadcastf128_ps256 (__X); } + #ifdef __OPTIMIZE__ extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_insertf128_pd (__m256d __X, __m128d __Y, const int __O) @@ -770,7 +771,6 @@ _mm256_insertf128_si256 (__m256i __X, __m128i __Y, const int __O) (__v4si)__Y, __O); } - extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_insert_epi32 (__m256i __X, int __D, int const __N) { Why the above extra whitespace changes? Especially the latter looks undesirable, there should be one empty line in between different inline functions. Jakub 0001-set_.patch Description: 0001-set_.patch
Re: [PR80582][X86] Add missing __mm256_set[r] intrinsics
On Tue, May 09, 2017 at 09:28:40AM +, Koval, Julia wrote: > Hi, > > This patch implements missing intrinsics: > _mm256_set_m128 > _mm256_set_m128d > _mm256_set_m128i > _mm256_setr_m128 > _mm256_setr_m128d > _mm256_setr_m128i > > gcc/ > * config/i386/avxintrin.h (_mm256_set_m128, _mm256_set_m128d, > _mm256_set_m128i, _mm256_setr_m128, _mm256_setr_m128d, > _mm256_setr_m128i): New intrinsics. > > gcc/testsuite/ > * gcc.target/i386/avx-vinsertf128-256-1: Test new intrinsics. > * gcc.target/i386/avx-vinsertf128-256-2: Ditto. > * gcc.target/i386/avx-vinsertf128-256-3: Ditto. > > Ok for trunk? --- a/gcc/config/i386/avxintrin.h +++ b/gcc/config/i386/avxintrin.h @@ -746,6 +746,7 @@ _mm256_broadcast_ps (__m128 const *__X) return (__m256) __builtin_ia32_vbroadcastf128_ps256 (__X); } + #ifdef __OPTIMIZE__ extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_insertf128_pd (__m256d __X, __m128d __Y, const int __O) @@ -770,7 +771,6 @@ _mm256_insertf128_si256 (__m256i __X, __m128i __Y, const int __O) (__v4si)__Y, __O); } - extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_insert_epi32 (__m256i __X, int __D, int const __N) { Why the above extra whitespace changes? Especially the latter looks undesirable, there should be one empty line in between different inline functions. Jakub
[PR80582][X86] Add missing __mm256_set[r] intrinsics
Hi, This patch implements missing intrinsics: _mm256_set_m128 _mm256_set_m128d _mm256_set_m128i _mm256_setr_m128 _mm256_setr_m128d _mm256_setr_m128i gcc/ * config/i386/avxintrin.h (_mm256_set_m128, _mm256_set_m128d, _mm256_set_m128i, _mm256_setr_m128, _mm256_setr_m128d, _mm256_setr_m128i): New intrinsics. gcc/testsuite/ * gcc.target/i386/avx-vinsertf128-256-1: Test new intrinsics. * gcc.target/i386/avx-vinsertf128-256-2: Ditto. * gcc.target/i386/avx-vinsertf128-256-3: Ditto. Ok for trunk? Thanks, Julia 0001-set_.patch Description: 0001-set_.patch