brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.0 KiB · 7948e0d Raw
103 lines · c
1// RUN: %clang_cc1 -x c -ffreestanding %s -triple=x86_64-apple-darwin -target-feature +avxvnni -emit-llvm -o - -Wall -Werror | FileCheck %s2// RUN: %clang_cc1 -x c -ffreestanding %s -triple=i386-apple-darwin -target-feature +avxvnni -emit-llvm -o - -Wall -Werror | FileCheck %s3// RUN: %clang_cc1 -x c++ -ffreestanding %s -triple=x86_64-apple-darwin -target-feature +avxvnni -emit-llvm -o - -Wall -Werror | FileCheck %s4// RUN: %clang_cc1 -x c++ -ffreestanding %s -triple=i386-apple-darwin -target-feature +avxvnni -emit-llvm -o - -Wall -Werror | FileCheck %s5 6#include <immintrin.h>7 8__m256i test_mm256_dpbusd_epi32(__m256i __S, __m256i __A, __m256i __B) {9  // CHECK-LABEL: test_mm256_dpbusd_epi3210  // CHECK: call <8 x i32> @llvm.x86.avx512.vpdpbusd.256(<8 x i32> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}})11  return _mm256_dpbusd_epi32(__S, __A, __B);12}13 14__m256i test_mm256_dpbusds_epi32(__m256i __S, __m256i __A, __m256i __B) {15  // CHECK-LABEL: test_mm256_dpbusds_epi3216  // CHECK: call <8 x i32> @llvm.x86.avx512.vpdpbusds.256(<8 x i32> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}})17  return _mm256_dpbusds_epi32(__S, __A, __B);18}19 20__m256i test_mm256_dpwssd_epi32(__m256i __S, __m256i __A, __m256i __B) {21  // CHECK-LABEL: test_mm256_dpwssd_epi3222  // CHECK: call <8 x i32> @llvm.x86.avx512.vpdpwssd.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})23  return _mm256_dpwssd_epi32(__S, __A, __B);24}25 26__m256i test_mm256_dpwssds_epi32(__m256i __S, __m256i __A, __m256i __B) {27  // CHECK-LABEL: test_mm256_dpwssds_epi3228  // CHECK: call <8 x i32> @llvm.x86.avx512.vpdpwssds.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})29  return _mm256_dpwssds_epi32(__S, __A, __B);30}31 32__m128i test_mm_dpbusd_epi32(__m128i __S, __m128i __A, __m128i __B) {33  // CHECK-LABEL: test_mm_dpbusd_epi3234  // CHECK: call <4 x i32> @llvm.x86.avx512.vpdpbusd.128(<4 x i32> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}})35  return _mm_dpbusd_epi32(__S, __A, __B);36}37 38__m128i test_mm_dpbusds_epi32(__m128i __S, __m128i __A, __m128i __B) {39  // CHECK-LABEL: test_mm_dpbusds_epi3240  // CHECK: call <4 x i32> @llvm.x86.avx512.vpdpbusds.128(<4 x i32> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}})41  return _mm_dpbusds_epi32(__S, __A, __B);42}43 44__m128i test_mm_dpwssd_epi32(__m128i __S, __m128i __A, __m128i __B) {45  // CHECK-LABEL: test_mm_dpwssd_epi3246  // CHECK: call <4 x i32> @llvm.x86.avx512.vpdpwssd.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})47  return _mm_dpwssd_epi32(__S, __A, __B);48}49 50__m128i test_mm_dpwssds_epi32(__m128i __S, __m128i __A, __m128i __B) {51  // CHECK-LABEL: test_mm_dpwssds_epi3252  // CHECK: call <4 x i32> @llvm.x86.avx512.vpdpwssds.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})53  return _mm_dpwssds_epi32(__S, __A, __B);54}55 56__m256i test_mm256_dpbusd_avx_epi32(__m256i __S, __m256i __A, __m256i __B) {57  // CHECK-LABEL: test_mm256_dpbusd_avx_epi3258  // CHECK: call <8 x i32> @llvm.x86.avx512.vpdpbusd.256(<8 x i32> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}})59  return _mm256_dpbusd_avx_epi32(__S, __A, __B);60}61 62__m256i test_mm256_dpbusds_avx_epi32(__m256i __S, __m256i __A, __m256i __B) {63  // CHECK-LABEL: test_mm256_dpbusds_avx_epi3264  // CHECK: call <8 x i32> @llvm.x86.avx512.vpdpbusds.256(<8 x i32> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}})65  return _mm256_dpbusds_avx_epi32(__S, __A, __B);66}67 68__m256i test_mm256_dpwssd_avx_epi32(__m256i __S, __m256i __A, __m256i __B) {69  // CHECK-LABEL: test_mm256_dpwssd_avx_epi3270  // CHECK: call <8 x i32> @llvm.x86.avx512.vpdpwssd.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})71  return _mm256_dpwssd_avx_epi32(__S, __A, __B);72}73 74__m256i test_mm256_dpwssds_avx_epi32(__m256i __S, __m256i __A, __m256i __B) {75  // CHECK-LABEL: test_mm256_dpwssds_avx_epi3276  // CHECK: call <8 x i32> @llvm.x86.avx512.vpdpwssds.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})77  return _mm256_dpwssds_avx_epi32(__S, __A, __B);78}79 80__m128i test_mm_dpbusd_avx_epi32(__m128i __S, __m128i __A, __m128i __B) {81  // CHECK-LABEL: test_mm_dpbusd_avx_epi3282  // CHECK: call <4 x i32> @llvm.x86.avx512.vpdpbusd.128(<4 x i32> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}})83  return _mm_dpbusd_avx_epi32(__S, __A, __B);84}85 86__m128i test_mm_dpbusds_avx_epi32(__m128i __S, __m128i __A, __m128i __B) {87  // CHECK-LABEL: test_mm_dpbusds_avx_epi3288  // CHECK: call <4 x i32> @llvm.x86.avx512.vpdpbusds.128(<4 x i32> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}})89  return _mm_dpbusds_avx_epi32(__S, __A, __B);90}91 92__m128i test_mm_dpwssd_avx_epi32(__m128i __S, __m128i __A, __m128i __B) {93  // CHECK-LABEL: test_mm_dpwssd_avx_epi3294  // CHECK: call <4 x i32> @llvm.x86.avx512.vpdpwssd.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})95  return _mm_dpwssd_avx_epi32(__S, __A, __B);96}97 98__m128i test_mm_dpwssds_avx_epi32(__m128i __S, __m128i __A, __m128i __B) {99  // CHECK-LABEL: test_mm_dpwssds_avx_epi32100  // CHECK: call <4 x i32> @llvm.x86.avx512.vpdpwssds.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})101  return _mm_dpwssds_avx_epi32(__S, __A, __B);102}103