blob: 0816bce3a6de773ac2bc2052304e85f88e87385d [file] [log] [blame]
Elad Cohenb107a222016-09-28 11:59:09 +00001// RUN: %clang_cc1 -ffreestanding %s -triple=x86_64-apple-darwin -target-feature +avx512vbmi -emit-llvm -o - -Wall -Werror | FileCheck %s
Michael Zuckerman9f338482016-03-07 17:04:11 +00002
Michael Zuckerman9f338482016-03-07 17:04:11 +00003
4#include <immintrin.h>
5
6__m512i test_mm512_mask2_permutex2var_epi8(__m512i __A, __m512i __I, __mmask64 __U, __m512i __B) {
7 // CHECK-LABEL: @test_mm512_mask2_permutex2var_epi8
8 // CHECK: @llvm.x86.avx512.mask.vpermi2var.qi.512
9 return _mm512_mask2_permutex2var_epi8(__A, __I, __U, __B);
10}
11
12__m512i test_mm512_permutex2var_epi8(__m512i __A, __m512i __I, __m512i __B) {
13 // CHECK-LABEL: @test_mm512_permutex2var_epi8
14 // CHECK: @llvm.x86.avx512.mask.vpermt2var.qi.512
15 return _mm512_permutex2var_epi8(__A, __I, __B);
16}
17
18__m512i test_mm512_mask_permutex2var_epi8(__m512i __A, __mmask64 __U, __m512i __I, __m512i __B) {
19 // CHECK-LABEL: @test_mm512_mask_permutex2var_epi8
20 // CHECK: @llvm.x86.avx512.mask.vpermt2var.qi.512
21 return _mm512_mask_permutex2var_epi8(__A, __U, __I, __B);
22}
23
24__m512i test_mm512_maskz_permutex2var_epi8(__mmask64 __U, __m512i __A, __m512i __I, __m512i __B) {
25 // CHECK-LABEL: @test_mm512_maskz_permutex2var_epi8
Michael Zuckerman8938e832016-04-25 05:32:35 +000026 // CHECK: @llvm.x86.avx512.maskz.vpermt2var.qi.512
Michael Zuckerman9f338482016-03-07 17:04:11 +000027 return _mm512_maskz_permutex2var_epi8(__U, __A, __I, __B);
28}
29
Michael Zuckerman8938e832016-04-25 05:32:35 +000030__m512i test_mm512_permutexvar_epi8(__m512i __A, __m512i __B) {
31 // CHECK-LABEL: @test_mm512_permutexvar_epi8
32 // CHECK: @llvm.x86.avx512.mask.permvar.qi.512
33 return _mm512_permutexvar_epi8(__A, __B);
34}
35
36__m512i test_mm512_maskz_permutexvar_epi8(__mmask64 __M, __m512i __A, __m512i __B) {
37 // CHECK-LABEL: @test_mm512_maskz_permutexvar_epi8
38 // CHECK: @llvm.x86.avx512.mask.permvar.qi.512
39 return _mm512_maskz_permutexvar_epi8(__M, __A, __B);
40}
41
42__m512i test_mm512_mask_permutexvar_epi8(__m512i __W, __mmask64 __M, __m512i __A, __m512i __B) {
43 // CHECK-LABEL: @test_mm512_mask_permutexvar_epi8
44 // CHECK: @llvm.x86.avx512.mask.permvar.qi.512
45 return _mm512_mask_permutexvar_epi8(__W, __M, __A, __B);
46}
Michael Zuckermanf86eb712016-05-23 15:04:39 +000047
48__m512i test_mm512_mask_multishift_epi64_epi8(__m512i __W, __mmask64 __M, __m512i __X, __m512i __Y) {
49 // CHECK-LABEL: @test_mm512_mask_multishift_epi64_epi8
50 // CHECK: @llvm.x86.avx512.mask.pmultishift.qb.512
51 return _mm512_mask_multishift_epi64_epi8(__W, __M, __X, __Y);
52}
53
54__m512i test_mm512_maskz_multishift_epi64_epi8(__mmask64 __M, __m512i __X, __m512i __Y) {
55 // CHECK-LABEL: @test_mm512_maskz_multishift_epi64_epi8
56 // CHECK: @llvm.x86.avx512.mask.pmultishift.qb.512
57 return _mm512_maskz_multishift_epi64_epi8(__M, __X, __Y);
58}
59
60__m512i test_mm512_multishift_epi64_epi8(__m512i __X, __m512i __Y) {
61 // CHECK-LABEL: @test_mm512_multishift_epi64_epi8
62 // CHECK: @llvm.x86.avx512.mask.pmultishift.qb.512
63 return _mm512_multishift_epi64_epi8(__X, __Y);
64}