14967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// RUN: %clang_cc1 %s -triple=x86_64-apple-darwin -target-feature +avx512pf -emit-llvm -o - -Werror | FileCheck %s 24967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 34967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar// Don't include mm_malloc.h, it's system specific. 44967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#define __MM_MALLOC_H 54967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 64967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar#include <immintrin.h> 74967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 84967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarvoid test_mm512_mask_prefetch_i32gather_pd(__m256i index, __mmask8 mask, void const *addr, int hint) { 94967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar // CHECK-LABEL: @test_mm512_mask_prefetch_i32gather_pd 104967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar // CHECK: @llvm.x86.avx512.gatherpf.dpd 114967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar return _mm512_mask_prefetch_i32gather_pd(index, mask, addr, 2, 1); 124967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar} 134967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 144967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarvoid test_mm512_prefetch_i32gather_pd(__m256i index, void const *addr, int hint) { 154967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar // CHECK-LABEL: @test_mm512_prefetch_i32gather_pd 164967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar // CHECK: @llvm.x86.avx512.gatherpf.dpd 174967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar return _mm512_prefetch_i32gather_pd(index, addr, 2, 1); 184967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar} 194967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 204967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarvoid test_mm512_mask_prefetch_i32gather_ps(__m512i index, __mmask16 mask, void const *addr, int hint) { 214967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar // CHECK-LABEL: @test_mm512_mask_prefetch_i32gather_ps 224967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar // CHECK: @llvm.x86.avx512.gatherpf.dps 234967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar return _mm512_mask_prefetch_i32gather_ps(index, mask, addr, 2, 1); 244967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar} 254967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 264967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarvoid test_mm512_prefetch_i32gather_ps(__m512i index, void const *addr, int hint) { 274967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar // CHECK-LABEL: @test_mm512_prefetch_i32gather_ps 284967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar // CHECK: @llvm.x86.avx512.gatherpf.dps 294967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar return _mm512_prefetch_i32gather_ps(index, addr, 2, 1); 304967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar} 314967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 324967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarvoid test_mm512_mask_prefetch_i64gather_pd(__m512i index, __mmask8 mask, void const *addr, int hint) { 334967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar // CHECK-LABEL: @test_mm512_mask_prefetch_i64gather_pd 344967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar // CHECK: @llvm.x86.avx512.gatherpf.qpd 354967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar return _mm512_mask_prefetch_i64gather_pd(index, mask, addr, 2, 1); 364967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar} 374967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 384967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarvoid test_mm512_prefetch_i64gather_pd(__m512i index, void const *addr, int hint) { 394967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar // CHECK-LABEL: @test_mm512_prefetch_i64gather_pd 404967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar // CHECK: @llvm.x86.avx512.gatherpf.qpd 414967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar return _mm512_prefetch_i64gather_pd(index, addr, 2, 1); 424967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar} 434967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 444967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarvoid test_mm512_mask_prefetch_i64gather_ps(__m512i index, __mmask8 mask, void const *addr, int hint) { 454967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar // CHECK-LABEL: @test_mm512_mask_prefetch_i64gather_ps 464967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar // CHECK: @llvm.x86.avx512.gatherpf.qps 474967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar return _mm512_mask_prefetch_i64gather_ps(index, mask, addr, 2, 1); 484967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar} 494967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 504967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarvoid test_mm512_prefetch_i64gather_ps(__m512i index, void const *addr, int hint) { 514967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar // CHECK-LABEL: @test_mm512_prefetch_i64gather_ps 524967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar // CHECK: @llvm.x86.avx512.gatherpf.qps 534967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar return _mm512_prefetch_i64gather_ps(index, addr, 2, 1); 544967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar} 554967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 564967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarvoid test_mm512_prefetch_i32scatter_pd(void *addr, __m256i index) { 574967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar // CHECK-LABEL: @test_mm512_prefetch_i32scatter_pd 584967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar // CHECK: @llvm.x86.avx512.scatterpf.dpd.512 594967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar return _mm512_prefetch_i32scatter_pd(addr, index, 1, 2); 604967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar} 614967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 624967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarvoid test_mm512_mask_prefetch_i32scatter_pd(void *addr, __mmask8 mask, __m256i index) { 634967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar // CHECK-LABEL: @test_mm512_mask_prefetch_i32scatter_pd 644967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar // CHECK: @llvm.x86.avx512.scatterpf.dpd.512 654967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar return _mm512_mask_prefetch_i32scatter_pd(addr, mask, index, 1, 2); 664967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar} 674967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 684967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarvoid test_mm512_prefetch_i32scatter_ps(void *addr, __m512i index) { 694967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar // CHECK-LABEL: @test_mm512_prefetch_i32scatter_ps 704967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar // CHECK: @llvm.x86.avx512.scatterpf.dps.512 714967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar return _mm512_prefetch_i32scatter_ps(addr, index, 1, 2); 724967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar} 734967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 744967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarvoid test_mm512_mask_prefetch_i32scatter_ps(void *addr, __mmask16 mask, __m512i index) { 754967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar // CHECK-LABEL: @test_mm512_mask_prefetch_i32scatter_ps 764967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar // CHECK: @llvm.x86.avx512.scatterpf.dps.512 774967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar return _mm512_mask_prefetch_i32scatter_ps(addr, mask, index, 1, 2); 784967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar} 794967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 804967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarvoid test_mm512_prefetch_i64scatter_pd(void *addr, __m512i index) { 814967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar // CHECK-LABEL: @test_mm512_prefetch_i64scatter_pd 824967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar // CHECK: @llvm.x86.avx512.scatterpf.qpd.512 834967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar return _mm512_prefetch_i64scatter_pd(addr, index, 1, 2); 844967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar} 854967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 864967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarvoid test_mm512_mask_prefetch_i64scatter_pd(void *addr, __mmask16 mask, __m512i index) { 874967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar // CHECK-LABEL: @test_mm512_mask_prefetch_i64scatter_pd 884967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar // CHECK: @llvm.x86.avx512.scatterpf.qpd.512 894967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar return _mm512_mask_prefetch_i64scatter_pd(addr, mask, index, 1, 2); 904967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar} 914967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 924967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarvoid test_mm512_prefetch_i64scatter_ps(void *addr, __m512i index) { 934967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar // CHECK-LABEL: @test_mm512_prefetch_i64scatter_ps 944967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar // CHECK: @llvm.x86.avx512.scatterpf.qps.512 954967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar return _mm512_prefetch_i64scatter_ps(addr, index, 1, 2); 964967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar} 974967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar 984967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainarvoid test_mm512_mask_prefetch_i64scatter_ps(void *addr, __mmask16 mask, __m512i index) { 994967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar // CHECK-LABEL: @test_mm512_mask_prefetch_i64scatter_ps 1004967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar // CHECK: @llvm.x86.avx512.scatterpf.qps.512 1014967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar return _mm512_mask_prefetch_i64scatter_ps(addr, mask, index, 1, 2); 1024967a710c84587c654b56c828382219c3937dacbPirama Arumuga Nainar} 103