aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2021-01-05 14:30:05 +0100
committerUros Bizjak <ubizjak@gmail.com>2021-01-05 14:45:27 +0100
commit951bdbde6ade56eb63af1dfa18777348a8a0d89e (patch)
treeb2bdc1db80756a005911d6c488dadbc979391c66
parent6ffaffd5d10e1d7daee5e1b889bfc8de06ef1a4b (diff)
downloadgcc-951bdbde6ade56eb63af1dfa18777348a8a0d89e.zip
gcc-951bdbde6ade56eb63af1dfa18777348a8a0d89e.tar.gz
gcc-951bdbde6ade56eb63af1dfa18777348a8a0d89e.tar.bz2
i386: Add _mm256_cmov_si256 [PR98521]
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.
-rw-r--r--gcc/config/i386/xopintrin.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/config/i386/xopintrin.h b/gcc/config/i386/xopintrin.h
index 7b46084..b95ef48 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)
{