summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen/avx512f-builtins.c
diff options
context:
space:
mode:
authorMichael Zuckerman <Michael.zuckerman@intel.com>2016-04-10 17:24:03 +0000
committerMichael Zuckerman <Michael.zuckerman@intel.com>2016-04-10 17:24:03 +0000
commit8d16199b7b0247cf3047dc294ae5e180b72ac5fd (patch)
tree94076f9ec7714163d62f3eaf14ba6e615a1b337b /clang/test/CodeGen/avx512f-builtins.c
parent2d463b1a0faa2c8c762676eb6d5fe6d301a1dbd5 (diff)
downloadbcm5719-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.c213
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);
+}
OpenPOWER on IntegriCloud