1 // RUN: %clang_cc1 -ffreestanding %s -triple=x86_64-apple-darwin -target-feature +avxvnni -emit-llvm -o - -Wall -Werror | FileCheck %s
2 
3 #include <immintrin.h>
4 
test_mm256_dpbusd_epi32(__m256i __S,__m256i __A,__m256i __B)5 __m256i test_mm256_dpbusd_epi32(__m256i __S, __m256i __A, __m256i __B) {
6   // CHECK-LABEL: @test_mm256_dpbusd_epi32
7   // CHECK: @llvm.x86.avx512.vpdpbusd.256
8   return _mm256_dpbusd_epi32(__S, __A, __B);
9 }
10 
test_mm256_dpbusds_epi32(__m256i __S,__m256i __A,__m256i __B)11 __m256i test_mm256_dpbusds_epi32(__m256i __S, __m256i __A, __m256i __B) {
12   // CHECK-LABEL: @test_mm256_dpbusds_epi32
13   // CHECK: @llvm.x86.avx512.vpdpbusds.256
14   return _mm256_dpbusds_epi32(__S, __A, __B);
15 }
16 
test_mm256_dpwssd_epi32(__m256i __S,__m256i __A,__m256i __B)17 __m256i test_mm256_dpwssd_epi32(__m256i __S, __m256i __A, __m256i __B) {
18   // CHECK-LABEL: @test_mm256_dpwssd_epi32
19   // CHECK: @llvm.x86.avx512.vpdpwssd.256
20   return _mm256_dpwssd_epi32(__S, __A, __B);
21 }
22 
test_mm256_dpwssds_epi32(__m256i __S,__m256i __A,__m256i __B)23 __m256i test_mm256_dpwssds_epi32(__m256i __S, __m256i __A, __m256i __B) {
24   // CHECK-LABEL: @test_mm256_dpwssds_epi32
25   // CHECK: @llvm.x86.avx512.vpdpwssds.256
26   return _mm256_dpwssds_epi32(__S, __A, __B);
27 }
28 
test_mm_dpbusd_epi32(__m128i __S,__m128i __A,__m128i __B)29 __m128i test_mm_dpbusd_epi32(__m128i __S, __m128i __A, __m128i __B) {
30   // CHECK-LABEL: @test_mm_dpbusd_epi32
31   // CHECK: @llvm.x86.avx512.vpdpbusd.128
32   return _mm_dpbusd_epi32(__S, __A, __B);
33 }
34 
test_mm_dpbusds_epi32(__m128i __S,__m128i __A,__m128i __B)35 __m128i test_mm_dpbusds_epi32(__m128i __S, __m128i __A, __m128i __B) {
36   // CHECK-LABEL: @test_mm_dpbusds_epi32
37   // CHECK: @llvm.x86.avx512.vpdpbusds.128
38   return _mm_dpbusds_epi32(__S, __A, __B);
39 }
40 
test_mm_dpwssd_epi32(__m128i __S,__m128i __A,__m128i __B)41 __m128i test_mm_dpwssd_epi32(__m128i __S, __m128i __A, __m128i __B) {
42   // CHECK-LABEL: @test_mm_dpwssd_epi32
43   // CHECK: @llvm.x86.avx512.vpdpwssd.128
44   return _mm_dpwssd_epi32(__S, __A, __B);
45 }
46 
test_mm_dpwssds_epi32(__m128i __S,__m128i __A,__m128i __B)47 __m128i test_mm_dpwssds_epi32(__m128i __S, __m128i __A, __m128i __B) {
48   // CHECK-LABEL: @test_mm_dpwssds_epi32
49   // CHECK: @llvm.x86.avx512.vpdpwssds.128
50   return _mm_dpwssds_epi32(__S, __A, __B);
51 }
52 
test_mm256_dpbusd_avx_epi32(__m256i __S,__m256i __A,__m256i __B)53 __m256i test_mm256_dpbusd_avx_epi32(__m256i __S, __m256i __A, __m256i __B) {
54   // CHECK-LABEL: @test_mm256_dpbusd_avx_epi32
55   // CHECK: @llvm.x86.avx512.vpdpbusd.256
56   return _mm256_dpbusd_avx_epi32(__S, __A, __B);
57 }
58 
test_mm256_dpbusds_avx_epi32(__m256i __S,__m256i __A,__m256i __B)59 __m256i test_mm256_dpbusds_avx_epi32(__m256i __S, __m256i __A, __m256i __B) {
60   // CHECK-LABEL: @test_mm256_dpbusds_avx_epi32
61   // CHECK: @llvm.x86.avx512.vpdpbusds.256
62   return _mm256_dpbusds_avx_epi32(__S, __A, __B);
63 }
64 
test_mm256_dpwssd_avx_epi32(__m256i __S,__m256i __A,__m256i __B)65 __m256i test_mm256_dpwssd_avx_epi32(__m256i __S, __m256i __A, __m256i __B) {
66   // CHECK-LABEL: @test_mm256_dpwssd_avx_epi32
67   // CHECK: @llvm.x86.avx512.vpdpwssd.256
68   return _mm256_dpwssd_avx_epi32(__S, __A, __B);
69 }
70 
test_mm256_dpwssds_avx_epi32(__m256i __S,__m256i __A,__m256i __B)71 __m256i test_mm256_dpwssds_avx_epi32(__m256i __S, __m256i __A, __m256i __B) {
72   // CHECK-LABEL: @test_mm256_dpwssds_avx_epi32
73   // CHECK: @llvm.x86.avx512.vpdpwssds.256
74   return _mm256_dpwssds_avx_epi32(__S, __A, __B);
75 }
76 
test_mm_dpbusd_avx_epi32(__m128i __S,__m128i __A,__m128i __B)77 __m128i test_mm_dpbusd_avx_epi32(__m128i __S, __m128i __A, __m128i __B) {
78   // CHECK-LABEL: @test_mm_dpbusd_avx_epi32
79   // CHECK: @llvm.x86.avx512.vpdpbusd.128
80   return _mm_dpbusd_avx_epi32(__S, __A, __B);
81 }
82 
test_mm_dpbusds_avx_epi32(__m128i __S,__m128i __A,__m128i __B)83 __m128i test_mm_dpbusds_avx_epi32(__m128i __S, __m128i __A, __m128i __B) {
84   // CHECK-LABEL: @test_mm_dpbusds_avx_epi32
85   // CHECK: @llvm.x86.avx512.vpdpbusds.128
86   return _mm_dpbusds_avx_epi32(__S, __A, __B);
87 }
88 
test_mm_dpwssd_avx_epi32(__m128i __S,__m128i __A,__m128i __B)89 __m128i test_mm_dpwssd_avx_epi32(__m128i __S, __m128i __A, __m128i __B) {
90   // CHECK-LABEL: @test_mm_dpwssd_avx_epi32
91   // CHECK: @llvm.x86.avx512.vpdpwssd.128
92   return _mm_dpwssd_avx_epi32(__S, __A, __B);
93 }
94 
test_mm_dpwssds_avx_epi32(__m128i __S,__m128i __A,__m128i __B)95 __m128i test_mm_dpwssds_avx_epi32(__m128i __S, __m128i __A, __m128i __B) {
96   // CHECK-LABEL: @test_mm_dpwssds_avx_epi32
97   // CHECK: @llvm.x86.avx512.vpdpwssds.128
98   return _mm_dpwssds_avx_epi32(__S, __A, __B);
99 }
100