i386: Add _mm256_cmov_si256 [PR98521]
authorUros Bizjak <ubizjak@gmail.com>
Tue, 5 Jan 2021 13:30:05 +0000 (14:30 +0100)
committerUros Bizjak <ubizjak@gmail.com>
Tue, 5 Jan 2021 13:45:27 +0000 (14:45 +0100)
Add missing _mm256_cmov_si256 intrinsic to xopintrin.h.

2021-01-05  Uroš Bizjak  <ubizjak@gmail.com>

gcc/
PR target/98521
* config/i386/xopintrin.h (_mm256_cmov_si256): New.

gcc/config/i386/xopintrin.h

index 7b46084a73ab59019708108b6bcf3d49ec7744e6..b95ef480051d42ca7c5ce161be371743f96caaf7 100644 (file)
@@ -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)
 {