[gcc-reposurgeon-8 r10-5879] i386: Add _mm256_cmov_si256 [PR98559]

Martin Liska marxin@gcc.gnu.org
Wed Jan 6 09:47:44 GMT 2021


https://gcc.gnu.org/g:e8ae6c6b87fdfafde512bc915b447bbe9ed93cdf

commit r10-5879-ge8ae6c6b87fdfafde512bc915b447bbe9ed93cdf
Author: Uros Bizjak <ubizjak@gmail.com>
Date:   Tue Jan 5 14:30:05 2021 +0100

    i386: Add _mm256_cmov_si256 [PR98559]
    
    Add missing _mm256_cmov_si256 intrinsic to xopintrin.h.
    
    2021-01-05  Uros Bizjak  <ubizjak@gmail.com>
    
    gcc/
            PR target/98559
            * config/i386/xopintrin.h (_mm256_cmov_si256): New.

Diff:
---
 gcc/config/i386/xopintrin.h | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/gcc/config/i386/xopintrin.h b/gcc/config/i386/xopintrin.h
index ffdfc131ada..55ec2c42761 100644
--- a/gcc/config/i386/xopintrin.h
+++ b/gcc/config/i386/xopintrin.h
@@ -208,6 +208,12 @@ _mm_cmov_si128(__m128i __A, __m128i __B, __m128i __C)
   return  (__m128i) __builtin_ia32_vpcmov (__A, __B, __C);
 }
 
+extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_cmov_si256(__m256i __A, __m256i __B, __m256i __C)
+{
+  return  (__m256i) __builtin_ia32_vpcmov256 (__A, __B, __C);
+}
+
 extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
 _mm_perm_epi8(__m128i __A, __m128i __B, __m128i __C)
 {


More information about the Gcc-cvs mailing list