]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/CodeGen/avx512vnni-builtins.c
Vendor import of clang trunk r321530:
[FreeBSD/FreeBSD.git] / test / CodeGen / avx512vnni-builtins.c
1 //  RUN: %clang_cc1 -ffreestanding %s -triple=x86_64-apple-darwin -target-feature +avx512vnni -emit-llvm -o - -Wall -Werror | FileCheck %s
2
3 #include <immintrin.h>
4
5 __m512i test_mm512_mask_dpbusd_epi32(__m512i __S, __mmask16 __U, __m512i __A, __m512i __B) {
6   // CHECK-LABEL: @test_mm512_mask_dpbusd_epi32
7   // CHECK: @llvm.x86.avx512.mask.vpdpbusd.512
8   return _mm512_mask_dpbusd_epi32(__S, __U, __A, __B);
9 }
10
11 __m512i test_mm512_maskz_dpbusd_epi32(__mmask16 __U, __m512i __S, __m512i __A, __m512i __B) {
12   // CHECK-LABEL: @test_mm512_maskz_dpbusd_epi32
13   // CHECK: @llvm.x86.avx512.maskz.vpdpbusd.512
14   return _mm512_maskz_dpbusd_epi32(__U, __S, __A, __B);
15 }
16
17 __m512i test_mm512_dpbusd_epi32(__m512i __S, __m512i __A, __m512i __B) {
18   // CHECK-LABEL: @test_mm512_dpbusd_epi32
19   // CHECK: @llvm.x86.avx512.mask.vpdpbusd.512
20   return _mm512_dpbusd_epi32(__S, __A, __B);
21 }
22
23 __m512i test_mm512_mask_dpbusds_epi32(__m512i __S, __mmask16 __U, __m512i __A, __m512i __B) {
24   // CHECK-LABEL: @test_mm512_mask_dpbusds_epi32
25   // CHECK: @llvm.x86.avx512.mask.vpdpbusds.512
26   return _mm512_mask_dpbusds_epi32(__S, __U, __A, __B);
27 }
28
29 __m512i test_mm512_maskz_dpbusds_epi32(__mmask16 __U, __m512i __S, __m512i __A, __m512i __B) {
30   // CHECK-LABEL: @test_mm512_maskz_dpbusds_epi32
31   // CHECK: @llvm.x86.avx512.maskz.vpdpbusds.512
32   return _mm512_maskz_dpbusds_epi32(__U, __S, __A, __B);
33 }
34
35 __m512i test_mm512_dpbusds_epi32(__m512i __S, __m512i __A, __m512i __B) {
36   // CHECK-LABEL: @test_mm512_dpbusds_epi32
37   // CHECK: @llvm.x86.avx512.mask.vpdpbusds.512
38   return _mm512_dpbusds_epi32(__S, __A, __B);
39 }
40
41 __m512i test_mm512_mask_dpwssd_epi32(__m512i __S, __mmask16 __U, __m512i __A, __m512i __B) {
42   // CHECK-LABEL: @test_mm512_mask_dpwssd_epi32
43   // CHECK: @llvm.x86.avx512.mask.vpdpwssd.512
44   return _mm512_mask_dpwssd_epi32(__S, __U, __A, __B);
45 }
46
47 __m512i test_mm512_maskz_dpwssd_epi32(__mmask16 __U, __m512i __S, __m512i __A, __m512i __B) {
48   // CHECK-LABEL: @test_mm512_maskz_dpwssd_epi32
49   // CHECK: @llvm.x86.avx512.maskz.vpdpwssd.512
50   return _mm512_maskz_dpwssd_epi32(__U, __S, __A, __B);
51 }
52
53 __m512i test_mm512_dpwssd_epi32(__m512i __S, __m512i __A, __m512i __B) {
54   // CHECK-LABEL: @test_mm512_dpwssd_epi32
55   // CHECK: @llvm.x86.avx512.mask.vpdpwssd.512
56   return _mm512_dpwssd_epi32(__S, __A, __B);
57 }
58
59 __m512i test_mm512_mask_dpwssds_epi32(__m512i __S, __mmask16 __U, __m512i __A, __m512i __B) {
60   // CHECK-LABEL: @test_mm512_mask_dpwssds_epi32
61   // CHECK: @llvm.x86.avx512.mask.vpdpwssds.512
62   return _mm512_mask_dpwssds_epi32(__S, __U, __A, __B);
63 }
64
65 __m512i test_mm512_maskz_dpwssds_epi32(__mmask16 __U, __m512i __S, __m512i __A, __m512i __B) {
66   // CHECK-LABEL: @test_mm512_maskz_dpwssds_epi32
67   // CHECK: @llvm.x86.avx512.maskz.vpdpwssds.512
68   return _mm512_maskz_dpwssds_epi32(__U, __S, __A, __B);
69 }
70
71 __m512i test_mm512_dpwssds_epi32(__m512i __S, __m512i __A, __m512i __B) {
72   // CHECK-LABEL: @test_mm512_dpwssds_epi32
73   // CHECK: @llvm.x86.avx512.mask.vpdpwssds.512
74   return _mm512_dpwssds_epi32(__S, __A, __B);
75 }
76