83 lines · c
1// RUN: %clang_cc1 -x c %s -ffreestanding -triple=x86_64-unknown-unknown -target-feature +avxvnniint16 -emit-llvm -o - -Wall -Werror | FileCheck %s2// RUN: %clang_cc1 -x c %s -ffreestanding -triple=i386-unknown-unknown -target-feature +avxvnniint16 -emit-llvm -o - -Wall -Werror | FileCheck %s3// RUN: %clang_cc1 -x c %s -ffreestanding -triple=x86_64-unknown-unknown -target-feature +avx10.2 -emit-llvm -o - -Wall -Werror | FileCheck %s4// RUN: %clang_cc1 -x c %s -ffreestanding -triple=i386-unknown-unknown -target-feature +avx10.2 -emit-llvm -o - -Wall -Werror | FileCheck %s5// RUN: %clang_cc1 -x c++ %s -ffreestanding -triple=x86_64-unknown-unknown -target-feature +avxvnniint16 -emit-llvm -o - -Wall -Werror | FileCheck %s6// RUN: %clang_cc1 -x c++ %s -ffreestanding -triple=i386-unknown-unknown -target-feature +avxvnniint16 -emit-llvm -o - -Wall -Werror | FileCheck %s7// RUN: %clang_cc1 -x c++ %s -ffreestanding -triple=x86_64-unknown-unknown -target-feature +avx10.2 -emit-llvm -o - -Wall -Werror | FileCheck %s8// RUN: %clang_cc1 -x c++ %s -ffreestanding -triple=i386-unknown-unknown -target-feature +avx10.2 -emit-llvm -o - -Wall -Werror | FileCheck %s9 10#include <immintrin.h>11 12__m128i test_mm_dpwsud_epi32(__m128i __A, __m128i __B, __m128i __C) {13 // CHECK-LABEL: test_mm_dpwsud_epi3214 // CHECK: call <4 x i32> @llvm.x86.avx2.vpdpwsud.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})15 return _mm_dpwsud_epi32(__A, __B, __C);16}17 18__m256i test_mm256_dpwsud_epi32(__m256i __A, __m256i __B, __m256i __C) {19 // CHECK-LABEL: test_mm256_dpwsud_epi3220 // CHECK: call <8 x i32> @llvm.x86.avx2.vpdpwsud.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})21 return _mm256_dpwsud_epi32(__A, __B, __C);22}23 24__m128i test_mm_dpwsuds_epi32(__m128i __A, __m128i __B, __m128i __C) {25 // CHECK-LABEL: test_mm_dpwsuds_epi3226 // CHECK: call <4 x i32> @llvm.x86.avx2.vpdpwsuds.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})27 return _mm_dpwsuds_epi32(__A, __B, __C);28}29 30__m256i test_mm256_dpwsuds_epi32(__m256i __A, __m256i __B, __m256i __C) {31 // CHECK-LABEL: test_mm256_dpwsuds_epi3232 // CHECK: call <8 x i32> @llvm.x86.avx2.vpdpwsuds.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})33 return _mm256_dpwsuds_epi32(__A, __B, __C);34}35 36__m128i test_mm_dpwusd_epi32(__m128i __A, __m128i __B, __m128i __C) {37 // CHECK-LABEL: test_mm_dpwusd_epi3238 // CHECK: call <4 x i32> @llvm.x86.avx2.vpdpwusd.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})39 return _mm_dpwusd_epi32(__A, __B, __C);40}41 42__m256i test_mm256_dpwusd_epi32(__m256i __A, __m256i __B, __m256i __C) {43 // CHECK-LABEL: test_mm256_dpwusd_epi3244 // CHECK: call <8 x i32> @llvm.x86.avx2.vpdpwusd.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})45 return _mm256_dpwusd_epi32(__A, __B, __C);46}47 48__m128i test_mm_dpwusds_epi32(__m128i __A, __m128i __B, __m128i __C) {49 // CHECK-LABEL: test_mm_dpwusds_epi3250 // CHECK: call <4 x i32> @llvm.x86.avx2.vpdpwusds.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})51 return _mm_dpwusds_epi32(__A, __B, __C);52}53 54__m256i test_mm256_dpwusds_epi32(__m256i __A, __m256i __B, __m256i __C) {55 // CHECK-LABEL: test_mm256_dpwusds_epi3256 // CHECK: call <8 x i32> @llvm.x86.avx2.vpdpwusds.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})57 return _mm256_dpwusds_epi32(__A, __B, __C);58}59 60__m128i test_mm_dpwuud_epi32(__m128i __A, __m128i __B, __m128i __C) {61 // CHECK-LABEL: test_mm_dpwuud_epi3262 // CHECK: call <4 x i32> @llvm.x86.avx2.vpdpwuud.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})63 return _mm_dpwuud_epi32(__A, __B, __C);64}65 66__m256i test_mm256_dpwuud_epi32(__m256i __A, __m256i __B, __m256i __C) {67 // CHECK-LABEL: test_mm256_dpwuud_epi3268 // CHECK: call <8 x i32> @llvm.x86.avx2.vpdpwuud.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})69 return _mm256_dpwuud_epi32(__A, __B, __C);70}71 72__m128i test_mm_dpwuuds_epi32(__m128i __A, __m128i __B, __m128i __C) {73 // CHECK-LABEL: test_mm_dpwuuds_epi3274 // CHECK: call <4 x i32> @llvm.x86.avx2.vpdpwuuds.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})75 return _mm_dpwuuds_epi32(__A, __B, __C);76}77 78__m256i test_mm256_dpwuuds_epi32(__m256i __A, __m256i __B, __m256i __C) {79 // CHECK-LABEL: test_mm256_dpwuuds_epi3280 // CHECK: call <8 x i32> @llvm.x86.avx2.vpdpwuuds.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})81 return _mm256_dpwuuds_epi32(__A, __B, __C);82}83