Author: ctopper Date: Wed Jan 16 16:34:19 2019 New Revision: 351408 URL: http://llvm.org/viewvc/llvm-project?rev=351408&view=rev Log: [X86] Add custom emission for the avx512 scatter builtins to convert from scalar integer to vXi1 for the mask arguments to the intrinsics.
Modified: cfe/trunk/lib/CodeGen/CGBuiltin.cpp cfe/trunk/test/CodeGen/avx512f-builtins.c cfe/trunk/test/CodeGen/avx512vl-builtins.c Modified: cfe/trunk/lib/CodeGen/CGBuiltin.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGBuiltin.cpp?rev=351408&r1=351407&r2=351408&view=diff ============================================================================== --- cfe/trunk/lib/CodeGen/CGBuiltin.cpp (original) +++ cfe/trunk/lib/CodeGen/CGBuiltin.cpp Wed Jan 16 16:34:19 2019 @@ -10190,6 +10190,114 @@ Value *CodeGenFunction::EmitX86BuiltinEx return Builder.CreateCall(Intr, Ops); } + case X86::BI__builtin_ia32_scattersiv8df: + case X86::BI__builtin_ia32_scattersiv16sf: + case X86::BI__builtin_ia32_scatterdiv8df: + case X86::BI__builtin_ia32_scatterdiv16sf: + case X86::BI__builtin_ia32_scattersiv8di: + case X86::BI__builtin_ia32_scattersiv16si: + case X86::BI__builtin_ia32_scatterdiv8di: + case X86::BI__builtin_ia32_scatterdiv16si: + case X86::BI__builtin_ia32_scatterdiv2df: + case X86::BI__builtin_ia32_scatterdiv2di: + case X86::BI__builtin_ia32_scatterdiv4df: + case X86::BI__builtin_ia32_scatterdiv4di: + case X86::BI__builtin_ia32_scatterdiv4sf: + case X86::BI__builtin_ia32_scatterdiv4si: + case X86::BI__builtin_ia32_scatterdiv8sf: + case X86::BI__builtin_ia32_scatterdiv8si: + case X86::BI__builtin_ia32_scattersiv2df: + case X86::BI__builtin_ia32_scattersiv2di: + case X86::BI__builtin_ia32_scattersiv4df: + case X86::BI__builtin_ia32_scattersiv4di: + case X86::BI__builtin_ia32_scattersiv4sf: + case X86::BI__builtin_ia32_scattersiv4si: + case X86::BI__builtin_ia32_scattersiv8sf: + case X86::BI__builtin_ia32_scattersiv8si: { + Intrinsic::ID IID; + switch (BuiltinID) { + default: llvm_unreachable("Unexpected builtin"); + case X86::BI__builtin_ia32_scattersiv8df: + IID = Intrinsic::x86_avx512_mask_scatter_dpd_512; + break; + case X86::BI__builtin_ia32_scattersiv16sf: + IID = Intrinsic::x86_avx512_mask_scatter_dps_512; + break; + case X86::BI__builtin_ia32_scatterdiv8df: + IID = Intrinsic::x86_avx512_mask_scatter_qpd_512; + break; + case X86::BI__builtin_ia32_scatterdiv16sf: + IID = Intrinsic::x86_avx512_mask_scatter_qps_512; + break; + case X86::BI__builtin_ia32_scattersiv8di: + IID = Intrinsic::x86_avx512_mask_scatter_dpq_512; + break; + case X86::BI__builtin_ia32_scattersiv16si: + IID = Intrinsic::x86_avx512_mask_scatter_dpi_512; + break; + case X86::BI__builtin_ia32_scatterdiv8di: + IID = Intrinsic::x86_avx512_mask_scatter_qpq_512; + break; + case X86::BI__builtin_ia32_scatterdiv16si: + IID = Intrinsic::x86_avx512_mask_scatter_qpi_512; + break; + case X86::BI__builtin_ia32_scatterdiv2df: + IID = Intrinsic::x86_avx512_mask_scatterdiv2_df; + break; + case X86::BI__builtin_ia32_scatterdiv2di: + IID = Intrinsic::x86_avx512_mask_scatterdiv2_di; + break; + case X86::BI__builtin_ia32_scatterdiv4df: + IID = Intrinsic::x86_avx512_mask_scatterdiv4_df; + break; + case X86::BI__builtin_ia32_scatterdiv4di: + IID = Intrinsic::x86_avx512_mask_scatterdiv4_di; + break; + case X86::BI__builtin_ia32_scatterdiv4sf: + IID = Intrinsic::x86_avx512_mask_scatterdiv4_sf; + break; + case X86::BI__builtin_ia32_scatterdiv4si: + IID = Intrinsic::x86_avx512_mask_scatterdiv4_si; + break; + case X86::BI__builtin_ia32_scatterdiv8sf: + IID = Intrinsic::x86_avx512_mask_scatterdiv8_sf; + break; + case X86::BI__builtin_ia32_scatterdiv8si: + IID = Intrinsic::x86_avx512_mask_scatterdiv8_si; + break; + case X86::BI__builtin_ia32_scattersiv2df: + IID = Intrinsic::x86_avx512_mask_scattersiv2_df; + break; + case X86::BI__builtin_ia32_scattersiv2di: + IID = Intrinsic::x86_avx512_mask_scattersiv2_di; + break; + case X86::BI__builtin_ia32_scattersiv4df: + IID = Intrinsic::x86_avx512_mask_scattersiv4_df; + break; + case X86::BI__builtin_ia32_scattersiv4di: + IID = Intrinsic::x86_avx512_mask_scattersiv4_di; + break; + case X86::BI__builtin_ia32_scattersiv4sf: + IID = Intrinsic::x86_avx512_mask_scattersiv4_sf; + break; + case X86::BI__builtin_ia32_scattersiv4si: + IID = Intrinsic::x86_avx512_mask_scattersiv4_si; + break; + case X86::BI__builtin_ia32_scattersiv8sf: + IID = Intrinsic::x86_avx512_mask_scattersiv8_sf; + break; + case X86::BI__builtin_ia32_scattersiv8si: + IID = Intrinsic::x86_avx512_mask_scattersiv8_si; + break; + } + + unsigned MinElts = std::min(Ops[2]->getType()->getVectorNumElements(), + Ops[3]->getType()->getVectorNumElements()); + Ops[1] = getMaskVecValue(*this, Ops[1], MinElts); + Function *Intr = CGM.getIntrinsic(IID); + return Builder.CreateCall(Intr, Ops); + } + case X86::BI__builtin_ia32_storehps: case X86::BI__builtin_ia32_storelps: { llvm::Type *PtrTy = llvm::PointerType::getUnqual(Int64Ty); Modified: cfe/trunk/test/CodeGen/avx512f-builtins.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/avx512f-builtins.c?rev=351408&r1=351407&r2=351408&view=diff ============================================================================== --- cfe/trunk/test/CodeGen/avx512f-builtins.c (original) +++ cfe/trunk/test/CodeGen/avx512f-builtins.c Wed Jan 16 16:34:19 2019 @@ -7098,97 +7098,97 @@ __m512i test_mm512_mask_i32gather_epi64( void test_mm512_i64scatter_ps(void *__addr, __m512i __index, __m256 __v1) { // CHECK-LABEL: @test_mm512_i64scatter_ps - // CHECK: @llvm.x86.avx512.scatter.qps.512 + // CHECK: @llvm.x86.avx512.mask.scatter.qps.512 return _mm512_i64scatter_ps(__addr, __index, __v1, 2); } void test_mm512_mask_i64scatter_ps(void *__addr, __mmask8 __mask, __m512i __index, __m256 __v1) { // CHECK-LABEL: @test_mm512_mask_i64scatter_ps - // CHECK: @llvm.x86.avx512.scatter.qps.512 + // CHECK: @llvm.x86.avx512.mask.scatter.qps.512 return _mm512_mask_i64scatter_ps(__addr, __mask, __index, __v1, 2); } void test_mm512_i64scatter_epi32(void *__addr, __m512i __index, __m256i __v1) { // CHECK-LABEL: @test_mm512_i64scatter_epi32 - // CHECK: @llvm.x86.avx512.scatter.qpi.512 + // CHECK: @llvm.x86.avx512.mask.scatter.qpi.512 return _mm512_i64scatter_epi32(__addr, __index, __v1, 2); } void test_mm512_mask_i64scatter_epi32(void *__addr, __mmask8 __mask, __m512i __index, __m256i __v1) { // CHECK-LABEL: @test_mm512_mask_i64scatter_epi32 - // CHECK: @llvm.x86.avx512.scatter.qpi.512 + // CHECK: @llvm.x86.avx512.mask.scatter.qpi.512 return _mm512_mask_i64scatter_epi32(__addr, __mask, __index, __v1, 2); } void test_mm512_i64scatter_pd(void *__addr, __m512i __index, __m512d __v1) { // CHECK-LABEL: @test_mm512_i64scatter_pd - // CHECK: @llvm.x86.avx512.scatter.qpd.512 + // CHECK: @llvm.x86.avx512.mask.scatter.qpd.512 return _mm512_i64scatter_pd(__addr, __index, __v1, 2); } void test_mm512_mask_i64scatter_pd(void *__addr, __mmask8 __mask, __m512i __index, __m512d __v1) { // CHECK-LABEL: @test_mm512_mask_i64scatter_pd - // CHECK: @llvm.x86.avx512.scatter.qpd.512 + // CHECK: @llvm.x86.avx512.mask.scatter.qpd.512 return _mm512_mask_i64scatter_pd(__addr, __mask, __index, __v1, 2); } void test_mm512_i64scatter_epi64(void *__addr, __m512i __index, __m512i __v1) { // CHECK-LABEL: @test_mm512_i64scatter_epi64 - // CHECK: @llvm.x86.avx512.scatter.qpq.512 + // CHECK: @llvm.x86.avx512.mask.scatter.qpq.512 return _mm512_i64scatter_epi64(__addr, __index, __v1, 2); } void test_mm512_mask_i64scatter_epi64(void *__addr, __mmask8 __mask, __m512i __index, __m512i __v1) { // CHECK-LABEL: @test_mm512_mask_i64scatter_epi64 - // CHECK: @llvm.x86.avx512.scatter.qpq.512 + // CHECK: @llvm.x86.avx512.mask.scatter.qpq.512 return _mm512_mask_i64scatter_epi64(__addr, __mask, __index, __v1, 2); } void test_mm512_i32scatter_ps(void *__addr, __m512i __index, __m512 __v1) { // CHECK-LABEL: @test_mm512_i32scatter_ps - // CHECK: @llvm.x86.avx512.scatter.dps.512 + // CHECK: @llvm.x86.avx512.mask.scatter.dps.512 return _mm512_i32scatter_ps(__addr, __index, __v1, 2); } void test_mm512_mask_i32scatter_ps(void *__addr, __mmask16 __mask, __m512i __index, __m512 __v1) { // CHECK-LABEL: @test_mm512_mask_i32scatter_ps - // CHECK: @llvm.x86.avx512.scatter.dps.512 + // CHECK: @llvm.x86.avx512.mask.scatter.dps.512 return _mm512_mask_i32scatter_ps(__addr, __mask, __index, __v1, 2); } void test_mm512_i32scatter_epi32(void *__addr, __m512i __index, __m512i __v1) { // CHECK-LABEL: @test_mm512_i32scatter_epi32 - // CHECK: @llvm.x86.avx512.scatter.dpi.512 + // CHECK: @llvm.x86.avx512.mask.scatter.dpi.512 return _mm512_i32scatter_epi32(__addr, __index, __v1, 2); } void test_mm512_mask_i32scatter_epi32(void *__addr, __mmask16 __mask, __m512i __index, __m512i __v1) { // CHECK-LABEL: @test_mm512_mask_i32scatter_epi32 - // CHECK: @llvm.x86.avx512.scatter.dpi.512 + // CHECK: @llvm.x86.avx512.mask.scatter.dpi.512 return _mm512_mask_i32scatter_epi32(__addr, __mask, __index, __v1, 2); } void test_mm512_i32scatter_pd(void *__addr, __m256i __index, __m512d __v1) { // CHECK-LABEL: @test_mm512_i32scatter_pd - // CHECK: @llvm.x86.avx512.scatter.dpd.512 + // CHECK: @llvm.x86.avx512.mask.scatter.dpd.512 return _mm512_i32scatter_pd(__addr, __index, __v1, 2); } void test_mm512_mask_i32scatter_pd(void *__addr, __mmask8 __mask, __m256i __index, __m512d __v1) { // CHECK-LABEL: @test_mm512_mask_i32scatter_pd - // CHECK: @llvm.x86.avx512.scatter.dpd.512 + // CHECK: @llvm.x86.avx512.mask.scatter.dpd.512 return _mm512_mask_i32scatter_pd(__addr, __mask, __index, __v1, 2); } void test_mm512_i32scatter_epi64(void *__addr, __m256i __index, __m512i __v1) { // CHECK-LABEL: @test_mm512_i32scatter_epi64 - // CHECK: @llvm.x86.avx512.scatter.dpq.512 + // CHECK: @llvm.x86.avx512.mask.scatter.dpq.512 return _mm512_i32scatter_epi64(__addr, __index, __v1, 2); } void test_mm512_mask_i32scatter_epi64(void *__addr, __mmask8 __mask, __m256i __index, __m512i __v1) { // CHECK-LABEL: @test_mm512_mask_i32scatter_epi64 - // CHECK: @llvm.x86.avx512.scatter.dpq.512 + // CHECK: @llvm.x86.avx512.mask.scatter.dpq.512 return _mm512_mask_i32scatter_epi64(__addr, __mask, __index, __v1, 2); } Modified: cfe/trunk/test/CodeGen/avx512vl-builtins.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/avx512vl-builtins.c?rev=351408&r1=351407&r2=351408&view=diff ============================================================================== --- cfe/trunk/test/CodeGen/avx512vl-builtins.c (original) +++ cfe/trunk/test/CodeGen/avx512vl-builtins.c Wed Jan 16 16:34:19 2019 @@ -5058,162 +5058,162 @@ __m256 test_mm256_maskz_scalef_ps(__mmas } void test_mm_i64scatter_pd(double *__addr, __m128i __index, __m128d __v1) { // CHECK-LABEL: @test_mm_i64scatter_pd - // CHECK: @llvm.x86.avx512.scatterdiv2.df + // CHECK: @llvm.x86.avx512.mask.scatterdiv2.df return _mm_i64scatter_pd(__addr,__index,__v1,2); } void test_mm_mask_i64scatter_pd(double *__addr, __mmask8 __mask, __m128i __index, __m128d __v1) { // CHECK-LABEL: @test_mm_mask_i64scatter_pd - // CHECK: @llvm.x86.avx512.scatterdiv2.df + // CHECK: @llvm.x86.avx512.mask.scatterdiv2.df return _mm_mask_i64scatter_pd(__addr,__mask,__index,__v1,2); } void test_mm_i64scatter_epi64(long long *__addr, __m128i __index, __m128i __v1) { // CHECK-LABEL: @test_mm_i64scatter_epi64 - // CHECK: @llvm.x86.avx512.scatterdiv2.di + // CHECK: @llvm.x86.avx512.mask.scatterdiv2.di return _mm_i64scatter_epi64(__addr,__index,__v1,2); } void test_mm_mask_i64scatter_epi64(long long *__addr, __mmask8 __mask, __m128i __index, __m128i __v1) { // CHECK-LABEL: @test_mm_mask_i64scatter_epi64 - // CHECK: @llvm.x86.avx512.scatterdiv2.di + // CHECK: @llvm.x86.avx512.mask.scatterdiv2.di return _mm_mask_i64scatter_epi64(__addr,__mask,__index,__v1,2); } void test_mm256_i64scatter_pd(double *__addr, __m256i __index, __m256d __v1) { // CHECK-LABEL: @test_mm256_i64scatter_pd - // CHECK: @llvm.x86.avx512.scatterdiv4.df + // CHECK: @llvm.x86.avx512.mask.scatterdiv4.df return _mm256_i64scatter_pd(__addr,__index,__v1,2); } void test_mm256_mask_i64scatter_pd(double *__addr, __mmask8 __mask, __m256i __index, __m256d __v1) { // CHECK-LABEL: @test_mm256_mask_i64scatter_pd - // CHECK: @llvm.x86.avx512.scatterdiv4.df + // CHECK: @llvm.x86.avx512.mask.scatterdiv4.df return _mm256_mask_i64scatter_pd(__addr,__mask,__index,__v1,2); } void test_mm256_i64scatter_epi64(long long *__addr, __m256i __index, __m256i __v1) { // CHECK-LABEL: @test_mm256_i64scatter_epi64 - // CHECK: @llvm.x86.avx512.scatterdiv4.di + // CHECK: @llvm.x86.avx512.mask.scatterdiv4.di return _mm256_i64scatter_epi64(__addr,__index,__v1,2); } void test_mm256_mask_i64scatter_epi64(long long *__addr, __mmask8 __mask, __m256i __index, __m256i __v1) { // CHECK-LABEL: @test_mm256_mask_i64scatter_epi64 - // CHECK: @llvm.x86.avx512.scatterdiv4.di + // CHECK: @llvm.x86.avx512.mask.scatterdiv4.di return _mm256_mask_i64scatter_epi64(__addr,__mask,__index,__v1,2); } void test_mm_i64scatter_ps(float *__addr, __m128i __index, __m128 __v1) { // CHECK-LABEL: @test_mm_i64scatter_ps - // CHECK: @llvm.x86.avx512.scatterdiv4.sf + // CHECK: @llvm.x86.avx512.mask.scatterdiv4.sf return _mm_i64scatter_ps(__addr,__index,__v1,2); } void test_mm_mask_i64scatter_ps(float *__addr, __mmask8 __mask, __m128i __index, __m128 __v1) { // CHECK-LABEL: @test_mm_mask_i64scatter_ps - // CHECK: @llvm.x86.avx512.scatterdiv4.sf + // CHECK: @llvm.x86.avx512.mask.scatterdiv4.sf return _mm_mask_i64scatter_ps(__addr,__mask,__index,__v1,2); } void test_mm_i64scatter_epi32(int *__addr, __m128i __index, __m128i __v1) { // CHECK-LABEL: @test_mm_i64scatter_epi32 - // CHECK: @llvm.x86.avx512.scatterdiv4.si + // CHECK: @llvm.x86.avx512.mask.scatterdiv4.si return _mm_i64scatter_epi32(__addr,__index,__v1,2); } void test_mm_mask_i64scatter_epi32(int *__addr, __mmask8 __mask, __m128i __index, __m128i __v1) { // CHECK-LABEL: @test_mm_mask_i64scatter_epi32 - // CHECK: @llvm.x86.avx512.scatterdiv4.si + // CHECK: @llvm.x86.avx512.mask.scatterdiv4.si return _mm_mask_i64scatter_epi32(__addr,__mask,__index,__v1,2); } void test_mm256_i64scatter_ps(float *__addr, __m256i __index, __m128 __v1) { // CHECK-LABEL: @test_mm256_i64scatter_ps - // CHECK: @llvm.x86.avx512.scatterdiv8.sf + // CHECK: @llvm.x86.avx512.mask.scatterdiv8.sf return _mm256_i64scatter_ps(__addr,__index,__v1,2); } void test_mm256_mask_i64scatter_ps(float *__addr, __mmask8 __mask, __m256i __index, __m128 __v1) { // CHECK-LABEL: @test_mm256_mask_i64scatter_ps - // CHECK: @llvm.x86.avx512.scatterdiv8.sf + // CHECK: @llvm.x86.avx512.mask.scatterdiv8.sf return _mm256_mask_i64scatter_ps(__addr,__mask,__index,__v1,2); } void test_mm256_i64scatter_epi32(int *__addr, __m256i __index, __m128i __v1) { // CHECK-LABEL: @test_mm256_i64scatter_epi32 - // CHECK: @llvm.x86.avx512.scatterdiv8.si + // CHECK: @llvm.x86.avx512.mask.scatterdiv8.si return _mm256_i64scatter_epi32(__addr,__index,__v1,2); } void test_mm256_mask_i64scatter_epi32(int *__addr, __mmask8 __mask, __m256i __index, __m128i __v1) { // CHECK-LABEL: @test_mm256_mask_i64scatter_epi32 - // CHECK: @llvm.x86.avx512.scatterdiv8.si + // CHECK: @llvm.x86.avx512.mask.scatterdiv8.si return _mm256_mask_i64scatter_epi32(__addr,__mask,__index,__v1,2); } void test_mm_i32scatter_pd(double *__addr, __m128i __index, __m128d __v1) { // CHECK-LABEL: @test_mm_i32scatter_pd - // CHECK: @llvm.x86.avx512.scattersiv2.df + // CHECK: @llvm.x86.avx512.mask.scattersiv2.df return _mm_i32scatter_pd(__addr,__index,__v1,2); } void test_mm_mask_i32scatter_pd(double *__addr, __mmask8 __mask, __m128i __index, __m128d __v1) { // CHECK-LABEL: @test_mm_mask_i32scatter_pd - // CHECK: @llvm.x86.avx512.scattersiv2.df + // CHECK: @llvm.x86.avx512.mask.scattersiv2.df return _mm_mask_i32scatter_pd(__addr,__mask,__index,__v1,2); } void test_mm_i32scatter_epi64(long long *__addr, __m128i __index, __m128i __v1) { // CHECK-LABEL: @test_mm_i32scatter_epi64 - // CHECK: @llvm.x86.avx512.scattersiv2.di + // CHECK: @llvm.x86.avx512.mask.scattersiv2.di return _mm_i32scatter_epi64(__addr,__index,__v1,2); } void test_mm_mask_i32scatter_epi64(long long *__addr, __mmask8 __mask, __m128i __index, __m128i __v1) { // CHECK-LABEL: @test_mm_mask_i32scatter_epi64 - // CHECK: @llvm.x86.avx512.scattersiv2.di + // CHECK: @llvm.x86.avx512.mask.scattersiv2.di return _mm_mask_i32scatter_epi64(__addr,__mask,__index,__v1,2); } void test_mm256_i32scatter_pd(double *__addr, __m128i __index, __m256d __v1) { // CHECK-LABEL: @test_mm256_i32scatter_pd - // CHECK: @llvm.x86.avx512.scattersiv4.df + // CHECK: @llvm.x86.avx512.mask.scattersiv4.df return _mm256_i32scatter_pd(__addr,__index,__v1,2); } void test_mm256_mask_i32scatter_pd(double *__addr, __mmask8 __mask, __m128i __index, __m256d __v1) { // CHECK-LABEL: @test_mm256_mask_i32scatter_pd - // CHECK: @llvm.x86.avx512.scattersiv4.df + // CHECK: @llvm.x86.avx512.mask.scattersiv4.df return _mm256_mask_i32scatter_pd(__addr,__mask,__index,__v1,2); } void test_mm256_i32scatter_epi64(long long *__addr, __m128i __index, __m256i __v1) { // CHECK-LABEL: @test_mm256_i32scatter_epi64 - // CHECK: @llvm.x86.avx512.scattersiv4.di + // CHECK: @llvm.x86.avx512.mask.scattersiv4.di return _mm256_i32scatter_epi64(__addr,__index,__v1,2); } void test_mm256_mask_i32scatter_epi64(long long *__addr, __mmask8 __mask, __m128i __index, __m256i __v1) { // CHECK-LABEL: @test_mm256_mask_i32scatter_epi64 - // CHECK: @llvm.x86.avx512.scattersiv4.di + // CHECK: @llvm.x86.avx512.mask.scattersiv4.di return _mm256_mask_i32scatter_epi64(__addr,__mask,__index,__v1,2); } void test_mm_i32scatter_ps(float *__addr, __m128i __index, __m128 __v1) { // CHECK-LABEL: @test_mm_i32scatter_ps - // CHECK: @llvm.x86.avx512.scattersiv4.sf + // CHECK: @llvm.x86.avx512.mask.scattersiv4.sf return _mm_i32scatter_ps(__addr,__index,__v1,2); } void test_mm_mask_i32scatter_ps(float *__addr, __mmask8 __mask, __m128i __index, __m128 __v1) { // CHECK-LABEL: @test_mm_mask_i32scatter_ps - // CHECK: @llvm.x86.avx512.scattersiv4.sf + // CHECK: @llvm.x86.avx512.mask.scattersiv4.sf return _mm_mask_i32scatter_ps(__addr,__mask,__index,__v1,2); } void test_mm_i32scatter_epi32(int *__addr, __m128i __index, __m128i __v1) { // CHECK-LABEL: @test_mm_i32scatter_epi32 - // CHECK: @llvm.x86.avx512.scattersiv4.si + // CHECK: @llvm.x86.avx512.mask.scattersiv4.si return _mm_i32scatter_epi32(__addr,__index,__v1,2); } void test_mm_mask_i32scatter_epi32(int *__addr, __mmask8 __mask, __m128i __index, __m128i __v1) { // CHECK-LABEL: @test_mm_mask_i32scatter_epi32 - // CHECK: @llvm.x86.avx512.scattersiv4.si + // CHECK: @llvm.x86.avx512.mask.scattersiv4.si return _mm_mask_i32scatter_epi32(__addr,__mask,__index,__v1,2); } void test_mm256_i32scatter_ps(float *__addr, __m256i __index, __m256 __v1) { // CHECK-LABEL: @test_mm256_i32scatter_ps - // CHECK: @llvm.x86.avx512.scattersiv8.sf + // CHECK: @llvm.x86.avx512.mask.scattersiv8.sf return _mm256_i32scatter_ps(__addr,__index,__v1,2); } void test_mm256_mask_i32scatter_ps(float *__addr, __mmask8 __mask, __m256i __index, __m256 __v1) { // CHECK-LABEL: @test_mm256_mask_i32scatter_ps - // CHECK: @llvm.x86.avx512.scattersiv8.sf + // CHECK: @llvm.x86.avx512.mask.scattersiv8.sf return _mm256_mask_i32scatter_ps(__addr,__mask,__index,__v1,2); } void test_mm256_i32scatter_epi32(int *__addr, __m256i __index, __m256i __v1) { // CHECK-LABEL: @test_mm256_i32scatter_epi32 - // CHECK: @llvm.x86.avx512.scattersiv8.si + // CHECK: @llvm.x86.avx512.mask.scattersiv8.si return _mm256_i32scatter_epi32(__addr,__index,__v1,2); } void test_mm256_mask_i32scatter_epi32(int *__addr, __mmask8 __mask, __m256i __index, __m256i __v1) { // CHECK-LABEL: @test_mm256_mask_i32scatter_epi32 - // CHECK: @llvm.x86.avx512.scattersiv8.si + // CHECK: @llvm.x86.avx512.mask.scattersiv8.si return _mm256_mask_i32scatter_epi32(__addr,__mask,__index,__v1,2); } __m128d test_mm_mask_sqrt_pd(__m128d __W, __mmask8 __U, __m128d __A) { _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits