[LLVM][IR] Use splat syntax when printing ConstantExpr based splats. (#116856)
[llvm-project.git] / clang / test / CodeGen / X86 / avxvnniint8-builtins.c
blob80d005c16d3877ac729cc8167277eed631c94bb6
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
6 #include <immintrin.h>
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);