mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-22 19:49:49 +00:00
0075ea1f5f
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. llvm-svn: 44954
19 lines
525 B
LLVM
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
|
|
}
|