diff options
| author | Nate Begeman <natebegeman@mac.com> | 2005-05-11 23:45:54 +0000 | 
|---|---|---|
| committer | Nate Begeman <natebegeman@mac.com> | 2005-05-11 23:45:54 +0000 | 
| commit | 4ce1dea8afaa97c4c1b98de9eae6f7d533e4ce06 (patch) | |
| tree | 571c2b73f20338b75f9e34de91018b8d9c82528c /llvm | |
| parent | 99fa5bc1fa54bf24364847927e7525edd2cd7d5d (diff) | |
| download | bcm5719-llvm-4ce1dea8afaa97c4c1b98de9eae6f7d533e4ce06.tar.gz bcm5719-llvm-4ce1dea8afaa97c4c1b98de9eae6f7d533e4ce06.zip | |
Add testcase for legalizing ISD::CTTZ efficiently.  On PPC, ctlz(int) is
now codegen'd as this:
        addi r2, r3, -1
        andc r2, r2, r3
        cntlzw r2, r2
        subfic r3, r2, 32
        blr
llvm-svn: 21881
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/test/Regression/CodeGen/PowerPC/cttz.ll | 12 | 
1 files changed, 12 insertions, 0 deletions
| diff --git a/llvm/test/Regression/CodeGen/PowerPC/cttz.ll b/llvm/test/Regression/CodeGen/PowerPC/cttz.ll new file mode 100644 index 00000000000..f860456d647 --- /dev/null +++ b/llvm/test/Regression/CodeGen/PowerPC/cttz.ll @@ -0,0 +1,12 @@ +; Make sure this testcase does not use ctpop +; RUN: llvm-as < %s | llc -march=ppc32 | grep -i 'cntlzw' + +declare int %llvm.cttz(int) + +implementation   ; Functions: + +int %bar(int %x) { +entry: +	%tmp.1 = call int %llvm.cttz( int %x )  +	ret int %tmp.1 +} | 

