Andrew Lenharth | e8aebf7 | 2005-05-04 15:56:34 +0000 | [diff] [blame] | 1 | ; Make sure this testcase codegens to the ctpop instruction |
Reid Spencer | 65f47a3 | 2007-04-15 18:40:57 +0000 | [diff] [blame] | 2 | ; RUN: llvm-upgrade < %s | llvm-as | llc -march=alpha -mcpu=ev67 | grep -i ctpop |
| 3 | ; RUN: llvm-upgrade < %s | llvm-as | llc -march=alpha -mattr=+CIX | \ |
| 4 | ; RUN: grep -i ctpop |
| 5 | ; RUN: llvm-upgrade < %s | llvm-as | llc -march=alpha -mcpu=ev6 | \ |
| 6 | ; RUN: not grep -i ctpop |
| 7 | ; RUN: llvm-upgrade < %s | llvm-as | llc -march=alpha -mcpu=ev56 | \ |
| 8 | ; RUN: not grep -i ctpop |
| 9 | ; RUN: llvm-upgrade < %s | llvm-as | llc -march=alpha -mattr=-CIX | \ |
Reid Spencer | 43b4003 | 2007-04-16 15:31:49 +0000 | [diff] [blame^] | 10 | ; RUN: not grep -i ctpop |
Reid Spencer | 4575ab2 | 2007-04-15 23:00:46 +0000 | [diff] [blame] | 11 | ; XFAIL: * |
Andrew Lenharth | 1419711 | 2005-05-04 15:20:16 +0000 | [diff] [blame] | 12 | |
Reid Spencer | a529f6f | 2007-04-16 03:18:25 +0000 | [diff] [blame] | 13 | declare long %llvm.ctpop.i64(long) |
Andrew Lenharth | 1419711 | 2005-05-04 15:20:16 +0000 | [diff] [blame] | 14 | |
| 15 | implementation ; Functions: |
| 16 | |
| 17 | long %bar(long %x) { |
| 18 | entry: |
Reid Spencer | a529f6f | 2007-04-16 03:18:25 +0000 | [diff] [blame] | 19 | %tmp.1 = call long %llvm.ctpop.i64( long %x ) |
Andrew Lenharth | 1419711 | 2005-05-04 15:20:16 +0000 | [diff] [blame] | 20 | ret long %tmp.1 |
| 21 | } |