blob: 32ea0cb0d994382b6da4646a66d89094d8d692c6 [file] [log] [blame]
Andrew Lenhartheecbf302005-04-13 16:16:01 +00001; Make sure this testcase codegens the bsr instruction
Reid Spencer65f47a32007-04-15 18:40:57 +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}