diff options
author | Michael Zuckerman <Michael.zuckerman@intel.com> | 2016-04-11 12:32:31 +0000 |
---|---|---|
committer | Michael Zuckerman <Michael.zuckerman@intel.com> | 2016-04-11 12:32:31 +0000 |
commit | 1af947a7b31bb9b8ab91d4e3f9ef93550bbfbcd5 (patch) | |
tree | 13ff69ee0777db9a2810f7570c3508d9f63f82b5 /clang/test/CodeGen/avx512vl-builtins.c | |
parent | 5ffc24e20226267314e13b0f2b82afdf878305e4 (diff) | |
download | bcm5719-llvm-1af947a7b31bb9b8ab91d4e3f9ef93550bbfbcd5.tar.gz bcm5719-llvm-1af947a7b31bb9b8ab91d4e3f9ef93550bbfbcd5.zip |
[Clang][AVX512][BuiltIn] Adding avx512 ( punpck{h|l}{dq|qdq}{128|256|512},rndscale{ss|sd}, {scalef{ss|sd|pd512|ps512} ) builtin to clang
Differential Revision: http://reviews.llvm.org/D18929
llvm-svn: 265935
Diffstat (limited to 'clang/test/CodeGen/avx512vl-builtins.c')
-rw-r--r-- | clang/test/CodeGen/avx512vl-builtins.c | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/clang/test/CodeGen/avx512vl-builtins.c b/clang/test/CodeGen/avx512vl-builtins.c index 0a201012407..3de49677f5b 100644 --- a/clang/test/CodeGen/avx512vl-builtins.c +++ b/clang/test/CodeGen/avx512vl-builtins.c @@ -4800,3 +4800,98 @@ __mmask8 test_mm256_mask_testn_epi64_mask(__mmask8 __U, __m256i __A, __m256i __B // CHECK: @llvm.x86.avx512.ptestnm.q.256 return _mm256_mask_testn_epi64_mask(__U, __A, __B); } +__m128i test_mm_mask_unpackhi_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { + // CHECK-LABEL: @test_mm_mask_unpackhi_epi32 + // CHECK: @llvm.x86.avx512.mask.punpckhd.q.128 + return _mm_mask_unpackhi_epi32(__W, __U, __A, __B); +} + +__m128i test_mm_maskz_unpackhi_epi32(__mmask8 __U, __m128i __A, __m128i __B) { + // CHECK-LABEL: @test_mm_maskz_unpackhi_epi32 + // CHECK: @llvm.x86.avx512.mask.punpckhd.q.128 + return _mm_maskz_unpackhi_epi32(__U, __A, __B); +} + +__m256i test_mm256_mask_unpackhi_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) { + // CHECK-LABEL: @test_mm256_mask_unpackhi_epi32 + // CHECK: @llvm.x86.avx512.mask.punpckhd.q.256 + return _mm256_mask_unpackhi_epi32(__W, __U, __A, __B); +} + +__m256i test_mm256_maskz_unpackhi_epi32(__mmask8 __U, __m256i __A, __m256i __B) { + // CHECK-LABEL: @test_mm256_maskz_unpackhi_epi32 + // CHECK: @llvm.x86.avx512.mask.punpckhd.q.256 + return _mm256_maskz_unpackhi_epi32(__U, __A, __B); +} + +__m128i test_mm_mask_unpackhi_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { + // CHECK-LABEL: @test_mm_mask_unpackhi_epi64 + // CHECK: @llvm.x86.avx512.mask.punpckhqd.q.128 + return _mm_mask_unpackhi_epi64(__W, __U, __A, __B); +} + +__m128i test_mm_maskz_unpackhi_epi64(__mmask8 __U, __m128i __A, __m128i __B) { + // CHECK-LABEL: @test_mm_maskz_unpackhi_epi64 + // CHECK: @llvm.x86.avx512.mask.punpckhqd.q.128 + return _mm_maskz_unpackhi_epi64(__U, __A, __B); +} + +__m256i test_mm256_mask_unpackhi_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) { + // CHECK-LABEL: @test_mm256_mask_unpackhi_epi64 + // CHECK: @llvm.x86.avx512.mask.punpckhqd.q.256 + return _mm256_mask_unpackhi_epi64(__W, __U, __A, __B); +} + +__m256i test_mm256_maskz_unpackhi_epi64(__mmask8 __U, __m256i __A, __m256i __B) { + // CHECK-LABEL: @test_mm256_maskz_unpackhi_epi64 + // CHECK: @llvm.x86.avx512.mask.punpckhqd.q.256 + return _mm256_maskz_unpackhi_epi64(__U, __A, __B); +} + +__m128i test_mm_mask_unpacklo_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { + // CHECK-LABEL: @test_mm_mask_unpacklo_epi32 + // CHECK: @llvm.x86.avx512.mask.punpckld.q.128 + return _mm_mask_unpacklo_epi32(__W, __U, __A, __B); +} + +__m128i test_mm_maskz_unpacklo_epi32(__mmask8 __U, __m128i __A, __m128i __B) { + // CHECK-LABEL: @test_mm_maskz_unpacklo_epi32 + // CHECK: @llvm.x86.avx512.mask.punpckld.q.128 + return _mm_maskz_unpacklo_epi32(__U, __A, __B); +} + +__m256i test_mm256_mask_unpacklo_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) { + // CHECK-LABEL: @test_mm256_mask_unpacklo_epi32 + // CHECK: @llvm.x86.avx512.mask.punpckld.q.256 + return _mm256_mask_unpacklo_epi32(__W, __U, __A, __B); +} + +__m256i test_mm256_maskz_unpacklo_epi32(__mmask8 __U, __m256i __A, __m256i __B) { + // CHECK-LABEL: @test_mm256_maskz_unpacklo_epi32 + // CHECK: @llvm.x86.avx512.mask.punpckld.q.256 + return _mm256_maskz_unpacklo_epi32(__U, __A, __B); +} + +__m128i test_mm_mask_unpacklo_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) { + // CHECK-LABEL: @test_mm_mask_unpacklo_epi64 + // CHECK: @llvm.x86.avx512.mask.punpcklqd.q.128 + return _mm_mask_unpacklo_epi64(__W, __U, __A, __B); +} + +__m128i test_mm_maskz_unpacklo_epi64(__mmask8 __U, __m128i __A, __m128i __B) { + // CHECK-LABEL: @test_mm_maskz_unpacklo_epi64 + // CHECK: @llvm.x86.avx512.mask.punpcklqd.q.128 + return _mm_maskz_unpacklo_epi64(__U, __A, __B); +} + +__m256i test_mm256_mask_unpacklo_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) { + // CHECK-LABEL: @test_mm256_mask_unpacklo_epi64 + // CHECK: @llvm.x86.avx512.mask.punpcklqd.q.256 + return _mm256_mask_unpacklo_epi64(__W, __U, __A, __B); +} + +__m256i test_mm256_maskz_unpacklo_epi64(__mmask8 __U, __m256i __A, __m256i __B) { + // CHECK-LABEL: @test_mm256_maskz_unpacklo_epi64 + // CHECK: @llvm.x86.avx512.mask.punpcklqd.q.256 + return _mm256_maskz_unpacklo_epi64(__U, __A, __B); +} |