blob: 1cd68067ef23005b60cb8ab883a01b4542b8e230 [file] [log] [blame]
Andrew Lenhartheecbf302005-04-13 16:16:01 +00001; Make sure this testcase codegens the bsr instruction
Reid Spencer69ccadd2006-12-02 04:23:10 +00002; RUN: llvm-upgrade < %s | llvm-as | llc -march=alpha | grep 'bsr'
Andrew Lenhartheecbf302005-04-13 16:16:01 +00003
Andrew Lenharthab04e8c2006-04-13 17:52:32 +00004implementation
Andrew Lenhartheecbf302005-04-13 16:16:01 +00005
Andrew Lenharthab04e8c2006-04-13 17:52:32 +00006internal long %abc(int %x) {
Andrew Lenhartheecbf302005-04-13 16:16:01 +00007 %tmp.2 = add int %x, -1 ; <int> [#uses=1]
8 %tmp.0 = call long %abc( int %tmp.2 ) ; <long> [#uses=1]
9 %tmp.5 = add int %x, -2 ; <int> [#uses=1]
10 %tmp.3 = call long %abc( int %tmp.5 ) ; <long> [#uses=1]
11 %tmp.6 = add long %tmp.0, %tmp.3 ; <long> [#uses=1]
12 ret long %tmp.6
13}