Add a small missed optimization: turn X == C ? X : Y into X == C ? C : Y. This
[llvm/stm8.git] / test / CodeGen / X86 / vec_ctbits.ll
blobf0158d643c17c3cf2c27b51269546551e68d2757
1 ; RUN: llc < %s -march=x86-64
3 declare <2 x i64> @llvm.cttz.v2i64(<2 x i64>)
4 declare <2 x i64> @llvm.ctlz.v2i64(<2 x i64>)
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)
9   ret <2 x i64> %c
11 define <2 x i64> @foolz(<2 x i64> %a) nounwind {
12   %c = call <2 x i64> @llvm.ctlz.v2i64(<2 x i64> %a)
13   ret <2 x i64> %c
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