blob: 2095ca3584f15bff0bf8ce5f5e2005aec667fb94 [file] [log] [blame]
Chris Lattner3c8a3b12005-05-11 04:22:47 +00001; Make sure this testcase is supported by all code generators
2; RUN: llvm-as < %s | llc
3
4declare long %llvm.ctpop(long)
5declare int %llvm.ctpop(int)
6declare short %llvm.ctpop(short)
7declare sbyte %llvm.ctpop(sbyte)
8
9void %ctpoptest(sbyte %A, short %B, int %C, long %D,
10 sbyte *%AP, short* %BP, int* %CP, long* %DP) {
11 %a = call sbyte %llvm.ctpop(sbyte %A)
12 %b = call short %llvm.ctpop(short %B)
13 %c = call int %llvm.ctpop(int %C)
14 %d = call long %llvm.ctpop(long %D)
15
16 store sbyte %a, sbyte* %AP
17 store short %b, short* %BP
18 store int %c, int* %CP
19 store long %d, long* %DP
20 ret void
21}
Chris Lattner07fc1732005-05-11 05:31:01 +000022
23declare long %llvm.ctlz(long)
24declare int %llvm.ctlz(int)
25declare short %llvm.ctlz(short)
26declare sbyte %llvm.ctlz(sbyte)
27
28void %ctlztest(sbyte %A, short %B, int %C, long %D,
29 sbyte *%AP, short* %BP, int* %CP, long* %DP) {
30 %a = call sbyte %llvm.ctlz(sbyte %A)
31 %b = call short %llvm.ctlz(short %B)
32 %c = call int %llvm.ctlz(int %C)
33 %d = call long %llvm.ctlz(long %D)
34
35 store sbyte %a, sbyte* %AP
36 store short %b, short* %BP
37 store int %c, int* %CP
38 store long %d, long* %DP
39 ret void
40}
41
42declare long %llvm.cttz(long)
43declare int %llvm.cttz(int)
44declare short %llvm.cttz(short)
45declare sbyte %llvm.cttz(sbyte)
46
47void %cttztest(sbyte %A, short %B, int %C, long %D,
48 sbyte *%AP, short* %BP, int* %CP, long* %DP) {
49 %a = call sbyte %llvm.cttz(sbyte %A)
50 %b = call short %llvm.cttz(short %B)
51 %c = call int %llvm.cttz(int %C)
52 %d = call long %llvm.cttz(long %D)
53
54 store sbyte %a, sbyte* %AP
55 store short %b, short* %BP
56 store int %c, int* %CP
57 store long %d, long* %DP
58 ret void
59}