blob: 654cd04dd4f8d19600034b9921fb29271755ca95 [file] [log] [blame]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001; Make sure this testcase codegens to the ctpop instruction
Tanya Lattnerf28e0ce2008-02-19 01:41:04 +00002; RUN: llvm-as < %s | llc -march=alpha -mcpu=ev67 | grep -i ctpop
3; RUN: llvm-as < %s | llc -march=alpha -mattr=+CIX | \
Dan Gohmanf17a25c2007-07-18 16:29:46 +00004; RUN: grep -i ctpop
Tanya Lattnerf28e0ce2008-02-19 01:41:04 +00005; RUN: llvm-as < %s | llc -march=alpha -mcpu=ev6 | \
Dan Gohmanf17a25c2007-07-18 16:29:46 +00006; RUN: not grep -i ctpop
Tanya Lattnerf28e0ce2008-02-19 01:41:04 +00007; RUN: llvm-as < %s | llc -march=alpha -mcpu=ev56 | \
Dan Gohmanf17a25c2007-07-18 16:29:46 +00008; RUN: not grep -i ctpop
Tanya Lattnerf28e0ce2008-02-19 01:41:04 +00009; RUN: llvm-as < %s | llc -march=alpha -mattr=-CIX | \
Dan Gohmanf17a25c2007-07-18 16:29:46 +000010; RUN: not grep -i ctpop
11
Tanya Lattnerf28e0ce2008-02-19 01:41:04 +000012declare i64 @llvm.ctpop.i64(i64)
Dan Gohmanf17a25c2007-07-18 16:29:46 +000013
Tanya Lattnerf28e0ce2008-02-19 01:41:04 +000014define i64 @bar(i64 %x) {
Dan Gohmanf17a25c2007-07-18 16:29:46 +000015entry:
Tanya Lattnerf28e0ce2008-02-19 01:41:04 +000016 %tmp.1 = call i64 @llvm.ctpop.i64( i64 %x ) ; <i64> [#uses=1]
17 ret i64 %tmp.1
Dan Gohmanf17a25c2007-07-18 16:29:46 +000018}
Tanya Lattnerf28e0ce2008-02-19 01:41:04 +000019