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
6 // CHECK-LABEL: @test_mm_dpbssd_epi32(
7 // CHECK: call <4 x i32> @llvm.x86.avx2.vpdpbssd.128
8 __m128i
test_mm_dpbssd_epi32(__m128i __W
, __m128i __A
, __m128i __B
) {
9 return _mm_dpbssd_epi32(__W
, __A
, __B
);
12 // CHECK-LABEL: @test_mm_dpbssds_epi32(
13 // CHECK: call <4 x i32> @llvm.x86.avx2.vpdpbssds.128
14 __m128i
test_mm_dpbssds_epi32(__m128i __W
, __m128i __A
, __m128i __B
) {
15 return _mm_dpbssds_epi32(__W
, __A
, __B
);
18 // CHECK-LABEL: @test_mm_dpbsud_epi32(
19 // CHECK: call <4 x i32> @llvm.x86.avx2.vpdpbsud.128
20 __m128i
test_mm_dpbsud_epi32(__m128i __W
, __m128i __A
, __m128i __B
) {
21 return _mm_dpbsud_epi32(__W
, __A
, __B
);
24 // CHECK-LABEL: @test_mm_dpbsuds_epi32(
25 // CHECK: call <4 x i32> @llvm.x86.avx2.vpdpbsuds.128
26 __m128i
test_mm_dpbsuds_epi32(__m128i __W
, __m128i __A
, __m128i __B
) {
27 return _mm_dpbsuds_epi32(__W
, __A
, __B
);
30 // CHECK-LABEL: @test_mm_dpbuud_epi32(
31 // CHECK: call <4 x i32> @llvm.x86.avx2.vpdpbuud.128
32 __m128i
test_mm_dpbuud_epi32(__m128i __W
, __m128i __A
, __m128i __B
) {
33 return _mm_dpbuud_epi32(__W
, __A
, __B
);
36 // CHECK-LABEL: @test_mm_dpbuuds_epi32(
37 // CHECK: call <4 x i32> @llvm.x86.avx2.vpdpbuuds.128
38 __m128i
test_mm_dpbuuds_epi32(__m128i __W
, __m128i __A
, __m128i __B
) {
39 return _mm_dpbuuds_epi32(__W
, __A
, __B
);
42 // CHECK-LABEL: @test_mm256_dpbssd_epi32(
43 // CHECK: call <8 x i32> @llvm.x86.avx2.vpdpbssd.256
44 __m256i
test_mm256_dpbssd_epi32(__m256i __W
, __m256i __A
, __m256i __B
) {
45 return _mm256_dpbssd_epi32(__W
, __A
, __B
);
48 // CHECK-LABEL: @test_mm256_dpbssds_epi32(
49 // CHECK: call <8 x i32> @llvm.x86.avx2.vpdpbssds.256
50 __m256i
test_mm256_dpbssds_epi32(__m256i __W
, __m256i __A
, __m256i __B
) {
51 return _mm256_dpbssds_epi32(__W
, __A
, __B
);
54 // CHECK-LABEL: @test_mm256_dpbsud_epi32(
55 // CHECK: call <8 x i32> @llvm.x86.avx2.vpdpbsud.256
56 __m256i
test_mm256_dpbsud_epi32(__m256i __W
, __m256i __A
, __m256i __B
) {
57 return _mm256_dpbsud_epi32(__W
, __A
, __B
);
60 // CHECK-LABEL: @test_mm256_dpbsuds_epi32(
61 // CHECK: call <8 x i32> @llvm.x86.avx2.vpdpbsuds.256
62 __m256i
test_mm256_dpbsuds_epi32(__m256i __W
, __m256i __A
, __m256i __B
) {
63 return _mm256_dpbsuds_epi32(__W
, __A
, __B
);
66 // CHECK-LABEL: @test_mm256_dpbuud_epi32(
67 // CHECK: call <8 x i32> @llvm.x86.avx2.vpdpbuud.256
68 __m256i
test_mm256_dpbuud_epi32(__m256i __W
, __m256i __A
, __m256i __B
) {
69 return _mm256_dpbuud_epi32(__W
, __A
, __B
);
72 // CHECK-LABEL: @test_mm256_dpbuuds_epi32(
73 // CHECK: call <8 x i32> @llvm.x86.avx2.vpdpbuuds.256
74 __m256i
test_mm256_dpbuuds_epi32(__m256i __W
, __m256i __A
, __m256i __B
) {
75 return _mm256_dpbuuds_epi32(__W
, __A
, __B
);