diff options
author | Michael Zuckerman <Michael.zuckerman@intel.com> | 2016-04-10 17:24:03 +0000 |
---|---|---|
committer | Michael Zuckerman <Michael.zuckerman@intel.com> | 2016-04-10 17:24:03 +0000 |
commit | 8d16199b7b0247cf3047dc294ae5e180b72ac5fd (patch) | |
tree | 94076f9ec7714163d62f3eaf14ba6e615a1b337b /clang/test/CodeGen/avx512f-builtins.c | |
parent | 2d463b1a0faa2c8c762676eb6d5fe6d301a1dbd5 (diff) | |
download | bcm5719-llvm-8d16199b7b0247cf3047dc294ae5e180b72ac5fd.tar.gz bcm5719-llvm-8d16199b7b0247cf3047dc294ae5e180b72ac5fd.zip |
[Clang][AVX512][BuiltIn] Adding avx512 ( vcvt ) builtin to clang
Differential Revision: http://reviews.llvm.org/D18932
llvm-svn: 265904
Diffstat (limited to 'clang/test/CodeGen/avx512f-builtins.c')
-rw-r--r-- | clang/test/CodeGen/avx512f-builtins.c | 213 |
1 files changed, 213 insertions, 0 deletions
diff --git a/clang/test/CodeGen/avx512f-builtins.c b/clang/test/CodeGen/avx512f-builtins.c index 5719f77a36c..20b9733c0e8 100644 --- a/clang/test/CodeGen/avx512f-builtins.c +++ b/clang/test/CodeGen/avx512f-builtins.c @@ -2581,12 +2581,22 @@ __m512d test_mm512_mask_unpackhi_pd(__m512d __W, __mmask8 __U, __m512d __A, __m5 // CHECK: @llvm.x86.avx512.mask.unpckh.pd.512 return _mm512_mask_unpackhi_pd(__W, __U, __A, __B); } +unsigned long long test_mm_cvt_roundsd_si64(__m128d __A) { + // CHECK-LABEL: @test_mm_cvt_roundsd_si64 + // CHECK: @llvm.x86.avx512.vcvtsd2si64 + return _mm_cvt_roundsd_si64(__A, _MM_FROUND_CUR_DIRECTION); +} __m512d test_mm512_maskz_unpackhi_pd(__mmask8 __U, __m512d __A, __m512d __B) { // CHECK-LABEL: @test_mm512_maskz_unpackhi_pd // CHECK: @llvm.x86.avx512.mask.unpckh.pd.512 return _mm512_maskz_unpackhi_pd(__U, __A, __B); } +long long test_mm_cvt_roundsd_i64(__m128d __A) { + // CHECK-LABEL: @test_mm_cvt_roundsd_i64 + // CHECK: @llvm.x86.avx512.vcvtsd2si64 + return _mm_cvt_roundsd_i64(__A, _MM_FROUND_CUR_DIRECTION); +} __m512 test_mm512_mask_unpackhi_ps(__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) { // CHECK-LABEL: @test_mm512_mask_unpackhi_ps @@ -2623,3 +2633,206 @@ __m512 test_mm512_maskz_unpacklo_ps(__mmask16 __U, __m512 __A, __m512 __B) { // CHECK: @llvm.x86.avx512.mask.unpckl.ps.512 return _mm512_maskz_unpacklo_ps(__U, __A, __B); } +int test_mm_cvt_roundsd_si32(__m128d __A) { + // CHECK-LABEL: @test_mm_cvt_roundsd_si32 + // CHECK: @llvm.x86.avx512.vcvtsd2si32 + return _mm_cvt_roundsd_si32(__A, _MM_FROUND_CUR_DIRECTION); +} + +int test_mm_cvt_roundsd_i32(__m128d __A) { + // CHECK-LABEL: @test_mm_cvt_roundsd_i32 + // CHECK: @llvm.x86.avx512.vcvtsd2si32 + return _mm_cvt_roundsd_i32(__A, _MM_FROUND_CUR_DIRECTION); +} + +unsigned test_mm_cvt_roundsd_u32(__m128d __A) { + // CHECK-LABEL: @test_mm_cvt_roundsd_u32 + // CHECK: @llvm.x86.avx512.vcvtsd2usi32 + return _mm_cvt_roundsd_u32(__A, _MM_FROUND_CUR_DIRECTION); +} + +unsigned test_mm_cvtsd_u32(__m128d __A) { + // CHECK-LABEL: @test_mm_cvtsd_u32 + // CHECK: @llvm.x86.avx512.vcvtsd2usi32 + return _mm_cvtsd_u32(__A); +} + +unsigned long long test_mm_cvt_roundsd_u64(__m128d __A) { + // CHECK-LABEL: @test_mm_cvt_roundsd_u64 + // CHECK: @llvm.x86.avx512.vcvtsd2usi64 + return _mm_cvt_roundsd_u64(__A, _MM_FROUND_CUR_DIRECTION); +} + +unsigned long long test_mm_cvtsd_u64(__m128d __A) { + // CHECK-LABEL: @test_mm_cvtsd_u64 + // CHECK: @llvm.x86.avx512.vcvtsd2usi64 + return _mm_cvtsd_u64(__A); +} + +int test_mm_cvt_roundss_si32(__m128 __A) { + // CHECK-LABEL: @test_mm_cvt_roundss_si32 + // CHECK: @llvm.x86.avx512.vcvtss2si32 + return _mm_cvt_roundss_si32(__A, _MM_FROUND_CUR_DIRECTION); +} + +int test_mm_cvt_roundss_i32(__m128 __A) { + // CHECK-LABEL: @test_mm_cvt_roundss_i32 + // CHECK: @llvm.x86.avx512.vcvtss2si32 + return _mm_cvt_roundss_i32(__A, _MM_FROUND_CUR_DIRECTION); +} + +int test_mm_cvt_roundss_si64(__m128 __A) { + // CHECK-LABEL: @test_mm_cvt_roundss_si64 + // CHECK: @llvm.x86.avx512.vcvtss2si64 + return _mm_cvt_roundss_si64(__A, _MM_FROUND_CUR_DIRECTION); +} + +long long test_mm_cvt_roundss_i64(__m128 __A) { + // CHECK-LABEL: @test_mm_cvt_roundss_i64 + // CHECK: @llvm.x86.avx512.vcvtss2si64 + return _mm_cvt_roundss_i64(__A, _MM_FROUND_CUR_DIRECTION); +} + +unsigned test_mm_cvt_roundss_u32(__m128 __A) { + // CHECK-LABEL: @test_mm_cvt_roundss_u32 + // CHECK: @llvm.x86.avx512.vcvtss2usi32 + return _mm_cvt_roundss_u32(__A, _MM_FROUND_CUR_DIRECTION); +} + +unsigned test_mm_cvtss_u32(__m128 __A) { + // CHECK-LABEL: @test_mm_cvtss_u32 + // CHECK: @llvm.x86.avx512.vcvtss2usi32 + return _mm_cvtss_u32(__A); +} + +unsigned long long test_mm_cvt_roundss_u64(__m128 __A) { + // CHECK-LABEL: @test_mm_cvt_roundss_u64 + // CHECK: @llvm.x86.avx512.vcvtss2usi64 + return _mm_cvt_roundss_u64(__A, _MM_FROUND_CUR_DIRECTION); +} + +unsigned long long test_mm_cvtss_u64(__m128 __A) { + // CHECK-LABEL: @test_mm_cvtss_u64 + // CHECK: @llvm.x86.avx512.vcvtss2usi64 + return _mm_cvtss_u64(__A); +} + +int test_mm_cvtt_roundsd_i32(__m128d __A) { + // CHECK-LABEL: @test_mm_cvtt_roundsd_i32 + // CHECK: @llvm.x86.avx512.cvttsd2si + return _mm_cvtt_roundsd_i32(__A, _MM_FROUND_CUR_DIRECTION); +} + +int test_mm_cvtt_roundsd_si32(__m128d __A) { + // CHECK-LABEL: @test_mm_cvtt_roundsd_si32 + // CHECK: @llvm.x86.avx512.cvttsd2si + return _mm_cvtt_roundsd_si32(__A, _MM_FROUND_CUR_DIRECTION); +} + +int test_mm_cvttsd_i32(__m128d __A) { + // CHECK-LABEL: @test_mm_cvttsd_i32 + // CHECK: @llvm.x86.avx512.cvttsd2si + return _mm_cvttsd_i32(__A); +} + +unsigned long long test_mm_cvtt_roundsd_si64(__m128d __A) { + // CHECK-LABEL: @test_mm_cvtt_roundsd_si64 + // CHECK: @llvm.x86.avx512.cvttsd2si64 + return _mm_cvtt_roundsd_si64(__A, _MM_FROUND_CUR_DIRECTION); +} + +long long test_mm_cvtt_roundsd_i64(__m128d __A) { + // CHECK-LABEL: @test_mm_cvtt_roundsd_i64 + // CHECK: @llvm.x86.avx512.cvttsd2si64 + return _mm_cvtt_roundsd_i64(__A, _MM_FROUND_CUR_DIRECTION); +} + +long long test_mm_cvttsd_i64(__m128d __A) { + // CHECK-LABEL: @test_mm_cvttsd_i64 + // CHECK: @llvm.x86.avx512.cvttsd2si64 + return _mm_cvttsd_i64(__A); +} + +unsigned test_mm_cvtt_roundsd_u32(__m128d __A) { + // CHECK-LABEL: @test_mm_cvtt_roundsd_u32 + // CHECK: @llvm.x86.avx512.cvttsd2usi + return _mm_cvtt_roundsd_u32(__A, _MM_FROUND_CUR_DIRECTION); +} + +unsigned test_mm_cvttsd_u32(__m128d __A) { + // CHECK-LABEL: @test_mm_cvttsd_u32 + // CHECK: @llvm.x86.avx512.cvttsd2usi + return _mm_cvttsd_u32(__A); +} + +unsigned long long test_mm_cvtt_roundsd_u64(__m128d __A) { + // CHECK-LABEL: @test_mm_cvtt_roundsd_u64 + // CHECK: @llvm.x86.avx512.cvttsd2usi64 + return _mm_cvtt_roundsd_u64(__A, _MM_FROUND_CUR_DIRECTION); +} + +unsigned long long test_mm_cvttsd_u64(__m128d __A) { + // CHECK-LABEL: @test_mm_cvttsd_u64 + // CHECK: @llvm.x86.avx512.cvttsd2usi64 + return _mm_cvttsd_u64(__A); +} + +int test_mm_cvtt_roundss_i32(__m128 __A) { + // CHECK-LABEL: @test_mm_cvtt_roundss_i32 + // CHECK: @llvm.x86.avx512.cvttss2si + return _mm_cvtt_roundss_i32(__A, _MM_FROUND_CUR_DIRECTION); +} + +int test_mm_cvtt_roundss_si32(__m128 __A) { + // CHECK-LABEL: @test_mm_cvtt_roundss_si32 + // CHECK: @llvm.x86.avx512.cvttss2si + return _mm_cvtt_roundss_si32(__A, _MM_FROUND_CUR_DIRECTION); +} + +int test_mm_cvttss_i32(__m128 __A) { + // CHECK-LABEL: @test_mm_cvttss_i32 + // CHECK: @llvm.x86.avx512.cvttss2si + return _mm_cvttss_i32(__A); +} + +float test_mm_cvtt_roundss_i64(__m128 __A) { + // CHECK-LABEL: @test_mm_cvtt_roundss_i64 + // CHECK: @llvm.x86.avx512.cvttss2si64 + return _mm_cvtt_roundss_i64(__A, _MM_FROUND_CUR_DIRECTION); +} + +long long test_mm_cvtt_roundss_si64(__m128 __A) { + // CHECK-LABEL: @test_mm_cvtt_roundss_si64 + // CHECK: @llvm.x86.avx512.cvttss2si64 + return _mm_cvtt_roundss_si64(__A, _MM_FROUND_CUR_DIRECTION); +} + +long long test_mm_cvttss_i64(__m128 __A) { + // CHECK-LABEL: @test_mm_cvttss_i64 + // CHECK: @llvm.x86.avx512.cvttss2si64 + return _mm_cvttss_i64(__A); +} + +unsigned test_mm_cvtt_roundss_u32(__m128 __A) { + // CHECK-LABEL: @test_mm_cvtt_roundss_u32 + // CHECK: @llvm.x86.avx512.cvttss2usi + return _mm_cvtt_roundss_u32(__A, _MM_FROUND_CUR_DIRECTION); +} + +unsigned test_mm_cvttss_u32(__m128 __A) { + // CHECK-LABEL: @test_mm_cvttss_u32 + // CHECK: @llvm.x86.avx512.cvttss2usi + return _mm_cvttss_u32(__A); +} + +unsigned long long test_mm_cvtt_roundss_u64(__m128 __A) { + // CHECK-LABEL: @test_mm_cvtt_roundss_u64 + // CHECK: @llvm.x86.avx512.cvttss2usi64 + return _mm_cvtt_roundss_u64(__A, _MM_FROUND_CUR_DIRECTION); +} + +unsigned long long test_mm_cvttss_u64(__m128 __A) { + // CHECK-LABEL: @test_mm_cvttss_u64 + // CHECK: @llvm.x86.avx512.cvttss2usi64 + return _mm_cvttss_u64(__A); +} |