brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.9 KiB · afe8045 Raw
88 lines · c
1//  RUN: %clang_cc1 -x c -flax-vector-conversions=none -ffreestanding %s -triple=x86_64-apple-darwin -target-feature +avx512vnni -emit-llvm -o - -Wall -Werror | FileCheck %s2//  RUN: %clang_cc1 -x c -flax-vector-conversions=none -ffreestanding %s -triple=i386-apple-darwin -target-feature +avx512vnni -emit-llvm -o - -Wall -Werror | FileCheck %s3//  RUN: %clang_cc1 -x c++ -flax-vector-conversions=none -ffreestanding %s -triple=x86_64-apple-darwin -target-feature +avx512vnni -emit-llvm -o - -Wall -Werror | FileCheck %s4//  RUN: %clang_cc1 -x c++ -flax-vector-conversions=none -ffreestanding %s -triple=i386-apple-darwin -target-feature +avx512vnni -emit-llvm -o - -Wall -Werror | FileCheck %s5 6#include <immintrin.h>7 8__m512i test_mm512_mask_dpbusd_epi32(__m512i __S, __mmask16 __U, __m512i __A, __m512i __B) {9  // CHECK-LABEL: test_mm512_mask_dpbusd_epi3210  // CHECK: call <16 x i32> @llvm.x86.avx512.vpdpbusd.512(<16 x i32> %{{.*}}, <64 x i8> %{{.*}}, <64 x i8> %{{.*}})11  // CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}}12  return _mm512_mask_dpbusd_epi32(__S, __U, __A, __B);13}14 15__m512i test_mm512_maskz_dpbusd_epi32(__mmask16 __U, __m512i __S, __m512i __A, __m512i __B) {16  // CHECK-LABEL: test_mm512_maskz_dpbusd_epi3217  // CHECK: call <16 x i32> @llvm.x86.avx512.vpdpbusd.512(<16 x i32> %{{.*}}, <64 x i8> %{{.*}}, <64 x i8> %{{.*}})18  // CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}}19  return _mm512_maskz_dpbusd_epi32(__U, __S, __A, __B);20}21 22__m512i test_mm512_dpbusd_epi32(__m512i __S, __m512i __A, __m512i __B) {23  // CHECK-LABEL: test_mm512_dpbusd_epi3224  // CHECK: call <16 x i32> @llvm.x86.avx512.vpdpbusd.512(<16 x i32> %{{.*}}, <64 x i8> %{{.*}}, <64 x i8> %{{.*}})25  return _mm512_dpbusd_epi32(__S, __A, __B);26}27 28__m512i test_mm512_mask_dpbusds_epi32(__m512i __S, __mmask16 __U, __m512i __A, __m512i __B) {29  // CHECK-LABEL: test_mm512_mask_dpbusds_epi3230  // CHECK: call <16 x i32> @llvm.x86.avx512.vpdpbusds.512(<16 x i32> %{{.*}}, <64 x i8> %{{.*}}, <64 x i8> %{{.*}})31  // CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}}32  return _mm512_mask_dpbusds_epi32(__S, __U, __A, __B);33}34 35__m512i test_mm512_maskz_dpbusds_epi32(__mmask16 __U, __m512i __S, __m512i __A, __m512i __B) {36  // CHECK-LABEL: test_mm512_maskz_dpbusds_epi3237  // CHECK: call <16 x i32> @llvm.x86.avx512.vpdpbusds.512(<16 x i32> %{{.*}}, <64 x i8> %{{.*}}, <64 x i8> %{{.*}})38  // CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}}39  return _mm512_maskz_dpbusds_epi32(__U, __S, __A, __B);40}41 42__m512i test_mm512_dpbusds_epi32(__m512i __S, __m512i __A, __m512i __B) {43  // CHECK-LABEL: test_mm512_dpbusds_epi3244  // CHECK: call <16 x i32> @llvm.x86.avx512.vpdpbusds.512(<16 x i32> %{{.*}}, <64 x i8> %{{.*}}, <64 x i8> %{{.*}})45  return _mm512_dpbusds_epi32(__S, __A, __B);46}47 48__m512i test_mm512_mask_dpwssd_epi32(__m512i __S, __mmask16 __U, __m512i __A, __m512i __B) {49  // CHECK-LABEL: test_mm512_mask_dpwssd_epi3250  // CHECK: call <16 x i32> @llvm.x86.avx512.vpdpwssd.512(<16 x i32> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}})51  // CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}}52  return _mm512_mask_dpwssd_epi32(__S, __U, __A, __B);53}54 55__m512i test_mm512_maskz_dpwssd_epi32(__mmask16 __U, __m512i __S, __m512i __A, __m512i __B) {56  // CHECK-LABEL: test_mm512_maskz_dpwssd_epi3257  // CHECK: call <16 x i32> @llvm.x86.avx512.vpdpwssd.512(<16 x i32> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}})58  // CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}}59  return _mm512_maskz_dpwssd_epi32(__U, __S, __A, __B);60}61 62__m512i test_mm512_dpwssd_epi32(__m512i __S, __m512i __A, __m512i __B) {63  // CHECK-LABEL: test_mm512_dpwssd_epi3264  // CHECK: call <16 x i32> @llvm.x86.avx512.vpdpwssd.512(<16 x i32> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}})65  return _mm512_dpwssd_epi32(__S, __A, __B);66}67 68__m512i test_mm512_mask_dpwssds_epi32(__m512i __S, __mmask16 __U, __m512i __A, __m512i __B) {69  // CHECK-LABEL: test_mm512_mask_dpwssds_epi3270  // CHECK: call <16 x i32> @llvm.x86.avx512.vpdpwssds.512(<16 x i32> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}})71  // CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}}72  return _mm512_mask_dpwssds_epi32(__S, __U, __A, __B);73}74 75__m512i test_mm512_maskz_dpwssds_epi32(__mmask16 __U, __m512i __S, __m512i __A, __m512i __B) {76  // CHECK-LABEL: test_mm512_maskz_dpwssds_epi3277  // CHECK: call <16 x i32> @llvm.x86.avx512.vpdpwssds.512(<16 x i32> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}})78  // CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}}79  return _mm512_maskz_dpwssds_epi32(__U, __S, __A, __B);80}81 82__m512i test_mm512_dpwssds_epi32(__m512i __S, __m512i __A, __m512i __B) {83  // CHECK-LABEL: test_mm512_dpwssds_epi3284  // CHECK: call <16 x i32> @llvm.x86.avx512.vpdpwssds.512(<16 x i32> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}})85  return _mm512_dpwssds_epi32(__S, __A, __B);86}87 88