83 lines · c
1// RUN: %clang_cc1 -x c -ffreestanding %s -triple=x86_64- -target-feature +avxvnniint8 -emit-llvm -o - -Wall -Werror | FileCheck %s2// RUN: %clang_cc1 -x c -ffreestanding %s -triple=i386- -target-feature +avxvnniint8 -emit-llvm -o - -Wall -Werror | FileCheck %s3// RUN: %clang_cc1 -x c -ffreestanding %s -triple=x86_64- -target-feature +avx10.2 -emit-llvm -o - -Wall -Werror | FileCheck %s4// RUN: %clang_cc1 -x c -ffreestanding %s -triple=i386- -target-feature +avx10.2 -emit-llvm -o - -Wall -Werror | FileCheck %s5// RUN: %clang_cc1 -x c++ -ffreestanding %s -triple=x86_64- -target-feature +avxvnniint8 -emit-llvm -o - -Wall -Werror | FileCheck %s6// RUN: %clang_cc1 -x c++ -ffreestanding %s -triple=i386- -target-feature +avxvnniint8 -emit-llvm -o - -Wall -Werror | FileCheck %s7// RUN: %clang_cc1 -x c++ -ffreestanding %s -triple=x86_64- -target-feature +avx10.2 -emit-llvm -o - -Wall -Werror | FileCheck %s8// RUN: %clang_cc1 -x c++ -ffreestanding %s -triple=i386- -target-feature +avx10.2 -emit-llvm -o - -Wall -Werror | FileCheck %s9 10#include <immintrin.h>11 12// CHECK-LABEL: test_mm_dpbssd_epi3213// CHECK: call <4 x i32> @llvm.x86.avx2.vpdpbssd.128(<4 x i32> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}})14__m128i test_mm_dpbssd_epi32(__m128i __W, __m128i __A, __m128i __B) {15 return _mm_dpbssd_epi32(__W, __A, __B);16}17 18// CHECK-LABEL: test_mm_dpbssds_epi3219// CHECK: call <4 x i32> @llvm.x86.avx2.vpdpbssds.128(<4 x i32> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}})20__m128i test_mm_dpbssds_epi32(__m128i __W, __m128i __A, __m128i __B) {21 return _mm_dpbssds_epi32(__W, __A, __B);22}23 24// CHECK-LABEL: test_mm_dpbsud_epi3225// CHECK: call <4 x i32> @llvm.x86.avx2.vpdpbsud.128(<4 x i32> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}})26__m128i test_mm_dpbsud_epi32(__m128i __W, __m128i __A, __m128i __B) {27 return _mm_dpbsud_epi32(__W, __A, __B);28}29 30// CHECK-LABEL: test_mm_dpbsuds_epi3231// CHECK: call <4 x i32> @llvm.x86.avx2.vpdpbsuds.128(<4 x i32> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}})32__m128i test_mm_dpbsuds_epi32(__m128i __W, __m128i __A, __m128i __B) {33 return _mm_dpbsuds_epi32(__W, __A, __B);34}35 36// CHECK-LABEL: test_mm_dpbuud_epi3237// CHECK: call <4 x i32> @llvm.x86.avx2.vpdpbuud.128(<4 x i32> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}})38__m128i test_mm_dpbuud_epi32(__m128i __W, __m128i __A, __m128i __B) {39 return _mm_dpbuud_epi32(__W, __A, __B);40}41 42// CHECK-LABEL: test_mm_dpbuuds_epi3243// CHECK: call <4 x i32> @llvm.x86.avx2.vpdpbuuds.128(<4 x i32> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}})44__m128i test_mm_dpbuuds_epi32(__m128i __W, __m128i __A, __m128i __B) {45 return _mm_dpbuuds_epi32(__W, __A, __B);46}47 48// CHECK-LABEL: test_mm256_dpbssd_epi3249// CHECK: call <8 x i32> @llvm.x86.avx2.vpdpbssd.256(<8 x i32> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}})50__m256i test_mm256_dpbssd_epi32(__m256i __W, __m256i __A, __m256i __B) {51 return _mm256_dpbssd_epi32(__W, __A, __B);52}53 54// CHECK-LABEL: test_mm256_dpbssds_epi3255// CHECK: call <8 x i32> @llvm.x86.avx2.vpdpbssds.256(<8 x i32> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}})56__m256i test_mm256_dpbssds_epi32(__m256i __W, __m256i __A, __m256i __B) {57 return _mm256_dpbssds_epi32(__W, __A, __B);58}59 60// CHECK-LABEL: test_mm256_dpbsud_epi3261// CHECK: call <8 x i32> @llvm.x86.avx2.vpdpbsud.256(<8 x i32> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}})62__m256i test_mm256_dpbsud_epi32(__m256i __W, __m256i __A, __m256i __B) {63 return _mm256_dpbsud_epi32(__W, __A, __B);64}65 66// CHECK-LABEL: test_mm256_dpbsuds_epi3267// CHECK: call <8 x i32> @llvm.x86.avx2.vpdpbsuds.256(<8 x i32> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}})68__m256i test_mm256_dpbsuds_epi32(__m256i __W, __m256i __A, __m256i __B) {69 return _mm256_dpbsuds_epi32(__W, __A, __B);70}71 72// CHECK-LABEL: test_mm256_dpbuud_epi3273// CHECK: call <8 x i32> @llvm.x86.avx2.vpdpbuud.256(<8 x i32> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}})74__m256i test_mm256_dpbuud_epi32(__m256i __W, __m256i __A, __m256i __B) {75 return _mm256_dpbuud_epi32(__W, __A, __B);76}77 78// CHECK-LABEL: test_mm256_dpbuuds_epi3279// CHECK: call <8 x i32> @llvm.x86.avx2.vpdpbuuds.256(<8 x i32> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}})80__m256i test_mm256_dpbuuds_epi32(__m256i __W, __m256i __A, __m256i __B) {81 return _mm256_dpbuuds_epi32(__W, __A, __B);82}83