Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / clang / test / CodeGen / X86 / avxvnniint8-builtins.c
blobcbdf443888a15ace79c7693f7bbbad759926e852
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
4 #include <immintrin.h>
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);