llvm/test/CodeGen/X86/vec_ctbits.ll
Dan Gohman 890813243f Allow vector integer constants to be created with
SelectionDAG::getConstant, in the same way as vector floating-point
constants. This allows the legalize expansion code for @llvm.ctpop and
friends to be usable with vector types.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44954 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-12 22:21:26 +00:00

19 lines
525 B
LLVM

; RUN: llvm-as < %s | llc -march=x86-64
declare <2 x i64> @llvm.cttz.v2i64(<2 x i64>)
declare <2 x i64> @llvm.ctlz.v2i64(<2 x i64>)
declare <2 x i64> @llvm.ctpop.v2i64(<2 x i64>)
define <2 x i64> @footz(<2 x i64> %a) {
%c = call <2 x i64> @llvm.cttz.v2i64(<2 x i64> %a)
ret <2 x i64> %c
}
define <2 x i64> @foolz(<2 x i64> %a) {
%c = call <2 x i64> @llvm.ctlz.v2i64(<2 x i64> %a)
ret <2 x i64> %c
}
define <2 x i64> @foopop(<2 x i64> %a) {
%c = call <2 x i64> @llvm.ctpop.v2i64(<2 x i64> %a)
ret <2 x i64> %c
}