1 // RUN: %clang_cc1 -ffreestanding %s -triple=x86_64- -target-feature +avxvnniint8 -emit-llvm -o - -Wall -Werror | FileCheck %s
2 // RUN: %clang_cc1 -ffreestanding %s -triple=i386- -target-feature +avxvnniint8 -emit-llvm -o - -Wall -Werror | FileCheck %s
3 // RUN: %clang_cc1 -ffreestanding %s -triple=x86_64- -target-feature +avx10.2-256 -emit-llvm -o - -Wall -Werror | FileCheck %s
4 // RUN: %clang_cc1 -ffreestanding %s -triple=i386- -target-feature +avx10.2-256 -emit-llvm -o - -Wall -Werror | FileCheck %s
8 // CHECK-LABEL: @test_mm_dpbssd_epi32(
9 // CHECK: call <4 x i32> @llvm.x86.avx2.vpdpbssd.128
10 __m128i
test_mm_dpbssd_epi32(__m128i __W
, __m128i __A
, __m128i __B
) {
11 return _mm_dpbssd_epi32(__W
, __A
, __B
);
14 // CHECK-LABEL: @test_mm_dpbssds_epi32(
15 // CHECK: call <4 x i32> @llvm.x86.avx2.vpdpbssds.128
16 __m128i
test_mm_dpbssds_epi32(__m128i __W
, __m128i __A
, __m128i __B
) {
17 return _mm_dpbssds_epi32(__W
, __A
, __B
);
20 // CHECK-LABEL: @test_mm_dpbsud_epi32(
21 // CHECK: call <4 x i32> @llvm.x86.avx2.vpdpbsud.128
22 __m128i
test_mm_dpbsud_epi32(__m128i __W
, __m128i __A
, __m128i __B
) {
23 return _mm_dpbsud_epi32(__W
, __A
, __B
);
26 // CHECK-LABEL: @test_mm_dpbsuds_epi32(
27 // CHECK: call <4 x i32> @llvm.x86.avx2.vpdpbsuds.128
28 __m128i
test_mm_dpbsuds_epi32(__m128i __W
, __m128i __A
, __m128i __B
) {
29 return _mm_dpbsuds_epi32(__W
, __A
, __B
);
32 // CHECK-LABEL: @test_mm_dpbuud_epi32(
33 // CHECK: call <4 x i32> @llvm.x86.avx2.vpdpbuud.128
34 __m128i
test_mm_dpbuud_epi32(__m128i __W
, __m128i __A
, __m128i __B
) {
35 return _mm_dpbuud_epi32(__W
, __A
, __B
);
38 // CHECK-LABEL: @test_mm_dpbuuds_epi32(
39 // CHECK: call <4 x i32> @llvm.x86.avx2.vpdpbuuds.128
40 __m128i
test_mm_dpbuuds_epi32(__m128i __W
, __m128i __A
, __m128i __B
) {
41 return _mm_dpbuuds_epi32(__W
, __A
, __B
);
44 // CHECK-LABEL: @test_mm256_dpbssd_epi32(
45 // CHECK: call <8 x i32> @llvm.x86.avx2.vpdpbssd.256
46 __m256i
test_mm256_dpbssd_epi32(__m256i __W
, __m256i __A
, __m256i __B
) {
47 return _mm256_dpbssd_epi32(__W
, __A
, __B
);
50 // CHECK-LABEL: @test_mm256_dpbssds_epi32(
51 // CHECK: call <8 x i32> @llvm.x86.avx2.vpdpbssds.256
52 __m256i
test_mm256_dpbssds_epi32(__m256i __W
, __m256i __A
, __m256i __B
) {
53 return _mm256_dpbssds_epi32(__W
, __A
, __B
);
56 // CHECK-LABEL: @test_mm256_dpbsud_epi32(
57 // CHECK: call <8 x i32> @llvm.x86.avx2.vpdpbsud.256
58 __m256i
test_mm256_dpbsud_epi32(__m256i __W
, __m256i __A
, __m256i __B
) {
59 return _mm256_dpbsud_epi32(__W
, __A
, __B
);
62 // CHECK-LABEL: @test_mm256_dpbsuds_epi32(
63 // CHECK: call <8 x i32> @llvm.x86.avx2.vpdpbsuds.256
64 __m256i
test_mm256_dpbsuds_epi32(__m256i __W
, __m256i __A
, __m256i __B
) {
65 return _mm256_dpbsuds_epi32(__W
, __A
, __B
);
68 // CHECK-LABEL: @test_mm256_dpbuud_epi32(
69 // CHECK: call <8 x i32> @llvm.x86.avx2.vpdpbuud.256
70 __m256i
test_mm256_dpbuud_epi32(__m256i __W
, __m256i __A
, __m256i __B
) {
71 return _mm256_dpbuud_epi32(__W
, __A
, __B
);
74 // CHECK-LABEL: @test_mm256_dpbuuds_epi32(
75 // CHECK: call <8 x i32> @llvm.x86.avx2.vpdpbuuds.256
76 __m256i
test_mm256_dpbuuds_epi32(__m256i __W
, __m256i __A
, __m256i __B
) {
77 return _mm256_dpbuuds_epi32(__W
, __A
, __B
);