diff options
| author | Michael Zuckerman <Michael.zuckerman@intel.com> | 2016-05-03 12:45:04 +0000 |
|---|---|---|
| committer | Michael Zuckerman <Michael.zuckerman@intel.com> | 2016-05-03 12:45:04 +0000 |
| commit | 8bfb7776e4dcde6a2e906f8fc019fe371a8052ac (patch) | |
| tree | 1ce6689cba5c37d9e72516f762185f572e12c2d6 /clang/lib | |
| parent | 58c07806ae073a330f51887eb430655dee3e205e (diff) | |
| download | bcm5719-llvm-8bfb7776e4dcde6a2e906f8fc019fe371a8052ac.tar.gz bcm5719-llvm-8bfb7776e4dcde6a2e906f8fc019fe371a8052ac.zip | |
[Clang][AVX512][Builtin] Adding intrinsics for vcvt{ph|ps}2{ps|ph} instruction set
Differential Revision: http://reviews.llvm.org/D19767
llvm-svn: 268376
Diffstat (limited to 'clang/lib')
| -rw-r--r-- | clang/lib/Headers/avx512vlintrin.h | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/clang/lib/Headers/avx512vlintrin.h b/clang/lib/Headers/avx512vlintrin.h index 37a4fa11a2f..dc6e0ba8285 100644 --- a/clang/lib/Headers/avx512vlintrin.h +++ b/clang/lib/Headers/avx512vlintrin.h @@ -9453,6 +9453,65 @@ _mm256_maskz_mov_ps (__mmask8 __U, __m256 __A) (__mmask8) __U); } +static __inline__ __m128 __DEFAULT_FN_ATTRS +_mm_mask_cvtph_ps (__m128 __W, __mmask8 __U, __m128i __A) +{ + return (__m128) __builtin_ia32_vcvtph2ps_mask ((__v8hi) __A, + (__v4sf) __W, + (__mmask8) __U); +} + +static __inline__ __m128 __DEFAULT_FN_ATTRS +_mm_maskz_cvtph_ps (__mmask8 __U, __m128i __A) +{ + return (__m128) __builtin_ia32_vcvtph2ps_mask ((__v8hi) __A, + (__v4sf) + _mm_setzero_ps (), + (__mmask8) __U); +} + +static __inline__ __m256 __DEFAULT_FN_ATTRS +_mm256_mask_cvtph_ps (__m256 __W, __mmask8 __U, __m128i __A) +{ + return (__m256) __builtin_ia32_vcvtph2ps256_mask ((__v8hi) __A, + (__v8sf) __W, + (__mmask8) __U); +} + +static __inline__ __m256 __DEFAULT_FN_ATTRS +_mm256_maskz_cvtph_ps (__mmask8 __U, __m128i __A) +{ + return (__m256) __builtin_ia32_vcvtph2ps256_mask ((__v8hi) __A, + (__v8sf) + _mm256_setzero_ps (), + (__mmask8) __U); +} + +#define _mm_mask_cvtps_ph( __W, __U, __A, __I) __extension__ ({ \ +__builtin_ia32_vcvtps2ph_mask ((__v4sf)( __A),( __I),\ + (__v8hi)( __W),\ + (__mmask8)( __U));\ +}) + +#define _mm_maskz_cvtps_ph( __U, __A, __I) __extension__ ({ \ +__builtin_ia32_vcvtps2ph_mask ((__v4sf)( __A),( __I),\ + (__v8hi)\ + _mm_setzero_si128 (),\ + (__mmask8)( __U));\ +}) + +#define _mm256_mask_cvtps_ph( __W, __U, __A, __I) __extension__ ({ \ +__builtin_ia32_vcvtps2ph256_mask ((__v8sf)( __A),( __I),\ + (__v8hi)( __W),\ + (__mmask8)( __U));\ +}) + +#define _mm256_maskz_cvtps_ph( __U, __A, __I) __extension__ ({ \ +__builtin_ia32_vcvtps2ph256_mask ((__v8sf)( __A),( __I),\ + (__v8hi)\ + _mm_setzero_si128 (),\ + (__mmask8)( __U));\ +}) #undef __DEFAULT_FN_ATTRS #undef __DEFAULT_FN_ATTRS_BOTH |

