1 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse2 | FileCheck %s
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>)
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)
15 define <2 x i64> @foolz(<2 x i64> %a) nounwind {
16 %c = call <2 x i64> @llvm.ctlz.v2i64(<2 x i64> %a, i1 true)
26 define <2 x i64> @foopop(<2 x i64> %a) nounwind {
27 %c = call <2 x i64> @llvm.ctpop.v2i64(<2 x i64> %a)
31 declare <2 x i32> @llvm.cttz.v2i32(<2 x i32>, i1)
32 declare <2 x i32> @llvm.ctlz.v2i32(<2 x i32>, i1)
33 declare <2 x i32> @llvm.ctpop.v2i32(<2 x i32>)
35 define <2 x i32> @promtz(<2 x i32> %a) nounwind {
36 %c = call <2 x i32> @llvm.cttz.v2i32(<2 x i32> %a, i1 false)
39 ; CHECK: .quad 4294967296
40 ; CHECK: .quad 4294967296
47 define <2 x i32> @promlz(<2 x i32> %a) nounwind {
48 %c = call <2 x i32> @llvm.ctlz.v2i32(<2 x i32> %a, i1 false)
51 ; CHECK: .quad 4294967295
52 ; CHECK: .quad 4294967295
64 define <2 x i32> @prompop(<2 x i32> %a) nounwind {
65 %c = call <2 x i32> @llvm.ctpop.v2i32(<2 x i32> %a)