Andrew Lenharth | e8aebf7 | 2005-05-04 15:56:34 +0000 | [diff] [blame] | 1 | ; Make sure this testcase codegens to the ctpop instruction |
Dan Gohman | fce288f | 2009-09-09 00:09:15 +0000 | [diff] [blame] | 2 | ; RUN: llc < %s -march=alpha -mcpu=ev67 | grep -i ctpop |
| 3 | ; RUN: llc < %s -march=alpha -mattr=+CIX | \ |
Reid Spencer | 65f47a3 | 2007-04-15 18:40:57 +0000 | [diff] [blame] | 4 | ; RUN: grep -i ctpop |
Dan Gohman | fce288f | 2009-09-09 00:09:15 +0000 | [diff] [blame] | 5 | ; RUN: llc < %s -march=alpha -mcpu=ev6 | \ |
Reid Spencer | 65f47a3 | 2007-04-15 18:40:57 +0000 | [diff] [blame] | 6 | ; RUN: not grep -i ctpop |
Dan Gohman | fce288f | 2009-09-09 00:09:15 +0000 | [diff] [blame] | 7 | ; RUN: llc < %s -march=alpha -mattr=-CIX | \ |
Reid Spencer | 43b4003 | 2007-04-16 15:31:49 +0000 | [diff] [blame] | 8 | ; RUN: not grep -i ctpop |
Andrew Lenharth | 1419711 | 2005-05-04 15:20:16 +0000 | [diff] [blame] | 9 | |
Tanya Lattner | 53a66d1 | 2008-02-19 01:41:04 +0000 | [diff] [blame] | 10 | declare i64 @llvm.ctpop.i64(i64) |
Andrew Lenharth | 1419711 | 2005-05-04 15:20:16 +0000 | [diff] [blame] | 11 | |
Tanya Lattner | 53a66d1 | 2008-02-19 01:41:04 +0000 | [diff] [blame] | 12 | define i64 @bar(i64 %x) { |
Andrew Lenharth | 1419711 | 2005-05-04 15:20:16 +0000 | [diff] [blame] | 13 | entry: |
Tanya Lattner | 53a66d1 | 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 |
Andrew Lenharth | 1419711 | 2005-05-04 15:20:16 +0000 | [diff] [blame] | 16 | } |
Tanya Lattner | 53a66d1 | 2008-02-19 01:41:04 +0000 | [diff] [blame] | 17 | |