Unify clang/llvm attributes for asan/tsan/msan (LLVM part)
[oota-llvm.git] / test / CodeGen / X86 / vec_ctbits.ll
1 ; RUN: llc < %s -march=x86-64
2
3 declare <2 x i64> @llvm.cttz.v2i64(<2 x i64>, i1)
4 declare <2 x i64> @llvm.ctlz.v2i64(<2 x i64>, i1)
5 declare <2 x i64> @llvm.ctpop.v2i64(<2 x i64>)
6
7 define <2 x i64> @footz(<2 x i64> %a) nounwind {
8   %c = call <2 x i64> @llvm.cttz.v2i64(<2 x i64> %a, i1 true)
9   ret <2 x i64> %c
10 }
11 define <2 x i64> @foolz(<2 x i64> %a) nounwind {
12   %c = call <2 x i64> @llvm.ctlz.v2i64(<2 x i64> %a, i1 true)
13   ret <2 x i64> %c
14 }
15 define <2 x i64> @foopop(<2 x i64> %a) nounwind {
16   %c = call <2 x i64> @llvm.ctpop.v2i64(<2 x i64> %a)
17   ret <2 x i64> %c
18 }