Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 1 | ; Make sure this testcase codegens to the ctpop instruction |
Tanya Lattner | f28e0ce | 2008-02-19 01:41:04 +0000 | [diff] [blame] | 2 | ; RUN: llvm-as < %s | llc -march=alpha -mcpu=ev67 | grep -i ctpop |
| 3 | ; RUN: llvm-as < %s | llc -march=alpha -mattr=+CIX | \ |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 4 | ; RUN: grep -i ctpop |
Tanya Lattner | f28e0ce | 2008-02-19 01:41:04 +0000 | [diff] [blame] | 5 | ; RUN: llvm-as < %s | llc -march=alpha -mcpu=ev6 | \ |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 6 | ; RUN: not grep -i ctpop |
Tanya Lattner | f28e0ce | 2008-02-19 01:41:04 +0000 | [diff] [blame] | 7 | ; RUN: llvm-as < %s | llc -march=alpha -mattr=-CIX | \ |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 8 | ; RUN: not grep -i ctpop |
| 9 | |
Tanya Lattner | f28e0ce | 2008-02-19 01:41:04 +0000 | [diff] [blame] | 10 | declare i64 @llvm.ctpop.i64(i64) |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 11 | |
Tanya Lattner | f28e0ce | 2008-02-19 01:41:04 +0000 | [diff] [blame] | 12 | define i64 @bar(i64 %x) { |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 13 | entry: |
Tanya Lattner | f28e0ce | 2008-02-19 01:41:04 +0000 | [diff] [blame] | 14 | %tmp.1 = call i64 @llvm.ctpop.i64( i64 %x ) ; <i64> [#uses=1] |
| 15 | ret i64 %tmp.1 |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 16 | } |
Tanya Lattner | f28e0ce | 2008-02-19 01:41:04 +0000 | [diff] [blame] | 17 | |