2005-04-13 16:16:01 +00:00
|
|
|
; Make sure this testcase codegens the bsr instruction
|
2007-04-15 18:40:57 +00:00
|
|
|
; RUN: llvm-upgrade < %s | llvm-as | llc -march=alpha | grep bsr
|
2005-04-13 16:16:01 +00:00
|
|
|
|
2006-04-13 17:52:32 +00:00
|
|
|
implementation
|
2005-04-13 16:16:01 +00:00
|
|
|
|
2006-04-13 17:52:32 +00:00
|
|
|
internal long %abc(int %x) {
|
2005-04-13 16:16:01 +00:00
|
|
|
%tmp.2 = add int %x, -1 ; <int> [#uses=1]
|
|
|
|
%tmp.0 = call long %abc( int %tmp.2 ) ; <long> [#uses=1]
|
|
|
|
%tmp.5 = add int %x, -2 ; <int> [#uses=1]
|
|
|
|
%tmp.3 = call long %abc( int %tmp.5 ) ; <long> [#uses=1]
|
|
|
|
%tmp.6 = add long %tmp.0, %tmp.3 ; <long> [#uses=1]
|
|
|
|
ret long %tmp.6
|
|
|
|
}
|