1 ; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=knl -mattr=+avx512cd | FileCheck %s --check-prefix=AVX512CD
3 define <16 x i32> @test_ctlz_d(<16 x i32> %a) {
4 ; AVX512CD-LABEL: test_ctlz_d:
6 ; AVX512CD-NEXT: vplzcntd %zmm0, %zmm0
8 %res = call <16 x i32> @llvm.ctlz.v16i32(<16 x i32> %a, i1 false)
12 define <8 x i64> @test_ctlz_q(<8 x i64> %a) {
13 ; AVX512CD-LABEL: test_ctlz_q:
15 ; AVX512CD-NEXT: vplzcntq %zmm0, %zmm0
17 %res = call <8 x i64> @llvm.ctlz.v8i64(<8 x i64> %a, i1 false)
21 define <16 x i32> @test_ctlz_d_undef(<16 x i32> %a) {
22 ; AVX512CD-LABEL: test_ctlz_d_undef:
24 ; AVX512CD-NEXT: vplzcntd %zmm0, %zmm0
26 %res = call <16 x i32> @llvm.ctlz.v16i32(<16 x i32> %a, i1 -1)
30 define <8 x i64> @test_ctlz_q_undef(<8 x i64> %a) {
31 ; AVX512CD-LABEL: test_ctlz_q_undef:
33 ; AVX512CD-NEXT: vplzcntq %zmm0, %zmm0
35 %res = call <8 x i64> @llvm.ctlz.v8i64(<8 x i64> %a, i1 -1)
39 declare <16 x i32> @llvm.ctlz.v16i32(<16 x i32>, i1) nounwind readonly
40 declare <8 x i64> @llvm.ctlz.v8i64(<8 x i64>, i1) nounwind readonly