blob: 383cf5350428070fa7e4eb171d96a037f748692b [file] [log] [blame]
Elad Cohenb107a222016-09-28 11:59:09 +00001// RUN: %clang_cc1 -ffreestanding %s -triple=x86_64-apple-darwin -target-feature +avx512ifma -emit-llvm -o - -Wall -Werror | FileCheck %s
Michael Zuckerman0190c652016-03-07 09:55:55 +00002
Michael Zuckerman0190c652016-03-07 09:55:55 +00003
4#include <immintrin.h>
5
6__m512i test_mm512_madd52hi_epu64(__m512i __X, __m512i __Y, __m512i __Z) {
7 // CHECK-LABEL: @test_mm512_madd52hi_epu64
Craig Topper387b1422018-05-26 18:55:26 +00008 // CHECK: @llvm.x86.avx512.vpmadd52h.uq.512
Michael Zuckerman0190c652016-03-07 09:55:55 +00009 return _mm512_madd52hi_epu64(__X, __Y, __Z);
10}
11
12__m512i test_mm512_mask_madd52hi_epu64(__m512i __W, __mmask8 __M, __m512i __X, __m512i __Y) {
13 // CHECK-LABEL: @test_mm512_mask_madd52hi_epu64
Craig Topper387b1422018-05-26 18:55:26 +000014 // CHECK: @llvm.x86.avx512.vpmadd52h.uq.512
15 // CHECK: select <8 x i1> %{{.*}}, <8 x i64> %{{.*}}, <8 x i64> %{{.*}}
Michael Zuckerman0190c652016-03-07 09:55:55 +000016 return _mm512_mask_madd52hi_epu64(__W, __M, __X, __Y);
17}
18
19__m512i test_mm512_maskz_madd52hi_epu64(__mmask8 __M, __m512i __X, __m512i __Y, __m512i __Z) {
20 // CHECK-LABEL: @test_mm512_maskz_madd52hi_epu64
Craig Topper387b1422018-05-26 18:55:26 +000021 // CHECK: @llvm.x86.avx512.vpmadd52h.uq.512
22 // CHECK: select <8 x i1> %{{.*}}, <8 x i64> %{{.*}}, <8 x i64> %{{.*}}
Michael Zuckerman0190c652016-03-07 09:55:55 +000023 return _mm512_maskz_madd52hi_epu64(__M, __X, __Y, __Z);
24}
25
26__m512i test_mm512_madd52lo_epu64(__m512i __X, __m512i __Y, __m512i __Z) {
27 // CHECK-LABEL: @test_mm512_madd52lo_epu64
Craig Topper387b1422018-05-26 18:55:26 +000028 // CHECK: @llvm.x86.avx512.vpmadd52l.uq.512
Michael Zuckerman0190c652016-03-07 09:55:55 +000029 return _mm512_madd52lo_epu64(__X, __Y, __Z);
30}
31
32__m512i test_mm512_mask_madd52lo_epu64(__m512i __W, __mmask8 __M, __m512i __X, __m512i __Y) {
33 // CHECK-LABEL: @test_mm512_mask_madd52lo_epu64
Craig Topper387b1422018-05-26 18:55:26 +000034 // CHECK: @llvm.x86.avx512.vpmadd52l.uq.512
35 // CHECK: select <8 x i1> %{{.*}}, <8 x i64> %{{.*}}, <8 x i64> %{{.*}}
Michael Zuckerman0190c652016-03-07 09:55:55 +000036 return _mm512_mask_madd52lo_epu64(__W, __M, __X, __Y);
37}
38
39__m512i test_mm512_maskz_madd52lo_epu64(__mmask8 __M, __m512i __X, __m512i __Y, __m512i __Z) {
40 // CHECK-LABEL: @test_mm512_maskz_madd52lo_epu64
Craig Topper387b1422018-05-26 18:55:26 +000041 // CHECK: @llvm.x86.avx512.vpmadd52l.uq.512
42 // CHECK: select <8 x i1> %{{.*}}, <8 x i64> %{{.*}}, <8 x i64> %{{.*}}
Michael Zuckerman0190c652016-03-07 09:55:55 +000043 return _mm512_maskz_madd52lo_epu64(__M, __X, __Y, __Z);
44}