New test cases for bit accurate integers developed by Guoling Han.
[oota-llvm.git] / test / Integer / BitIcmp.ll
1 ; RUN: llvm-as %s -o - | llvm-dis > %t1.ll
2 ; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll
3 ; RUN: diff %t1.ll %t2.ll
4
5
6
7 implementation
8
9 define i55 "simpleIcmp"(i55 %i0, i55 %j0)
10 begin
11         %t1 = icmp eq i55 %i0, %j0
12         %t2 = icmp ne i55 %i0, %j0
13         %t3 = icmp ult i55 %i0, %j0
14         %t4 = icmp sgt i55 %i0, %j0
15         %t5 = icmp ule i55 %i0, %j0
16         %t6 = icmp sge i55 %i0, %j0
17
18         %t7 = icmp eq i55 %i0, 1098765432
19         %t8 = icmp ne i55 %i0, -31415926
20
21         %t9 = icmp ult i55 10000, %j0
22         %t10 = icmp sgt i55 -10000, %j0
23
24         ret i55 %i0
25 end
26
27 define i31 "phitest"(i12 %i)
28 begin
29
30 HasArg:
31         %n1 = add i12 1, %i
32         br label %Continue
33         
34 Continue:
35         %n = phi i12 [%n1, %HasArg], [%next, %Continue]
36         %next = add i12 1, %n
37         br label %Continue
38 end
39
40 define i18 "select"(i18 %i)
41 begin
42         %t = icmp sgt i18 %i, 100
43         %k = select i1 %t, i18 %i, i18 999
44         ret i18 %k
45 end
46