1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 19:42:54 +02:00

Add a case with non-constant argument for testing the transform:

ffs(x) -> (x == 0 ? 0 : llvm.cttz(0)+1)

llvm-svn: 22069
This commit is contained in:
Reid Spencer 2005-05-15 21:26:59 +00:00
parent 58ad53e9d3
commit 418065989d

View File

@ -4,12 +4,17 @@
declare int %ffs(int)
declare int %ffsl(int)
declare int %ffsll(long)
declare int %__builtin_ffs(int)
%non_const = external global int
implementation ; Functions:
int %main () {
%arg = load int* %non_const
%val0 = call int %ffs(int %arg)
%val1 = call int %ffs(int 1)
%val2 = call int %ffs(int 2048)
%val2 = call int %__builtin_ffs(int 2048)
%val3 = call int %ffsl(int 65536)
%val4 = call int %ffsll(long 1024)
%val5 = call int %ffsll(long 17179869184)
@ -19,5 +24,6 @@ int %main () {
%rslt3 = add int %val5, %val6
%rslt4 = add int %rslt1, %rslt2
%rslt5 = add int %rslt4, %rslt3
%rslt6 = add int %rslt5, %val0
ret int %rslt5
}