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 -mcpu=ev56 | \ |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 8 | ; RUN: not grep -i ctpop |
Tanya Lattner | f28e0ce | 2008-02-19 01:41:04 +0000 | [diff] [blame^] | 9 | ; RUN: llvm-as < %s | llc -march=alpha -mattr=-CIX | \ |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 10 | ; RUN: not grep -i ctpop |
| 11 | |
Tanya Lattner | f28e0ce | 2008-02-19 01:41:04 +0000 | [diff] [blame^] | 12 | declare i64 @llvm.ctpop.i64(i64) |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 13 | |
Tanya Lattner | f28e0ce | 2008-02-19 01:41:04 +0000 | [diff] [blame^] | 14 | define i64 @bar(i64 %x) { |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 15 | entry: |
Tanya Lattner | f28e0ce | 2008-02-19 01:41:04 +0000 | [diff] [blame^] | 16 | %tmp.1 = call i64 @llvm.ctpop.i64( i64 %x ) ; <i64> [#uses=1] |
| 17 | ret i64 %tmp.1 |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 18 | } |
Tanya Lattner | f28e0ce | 2008-02-19 01:41:04 +0000 | [diff] [blame^] | 19 | |