Tests: reformat sitofp.ll and use FileCheck
[oota-llvm.git] / test / Transforms / InstCombine / sitofp.ll
1 ; RUN: opt < %s -instcombine -S | FileCheck %s
2
3 ; CHECK-LABEL: test1
4 ; CHECK: ret i1 true
5 define i1 @test1(i8 %A) {
6   %B = sitofp i8 %A to double
7   %C = fcmp ult double %B, 128.0
8   ret i1 %C
9 }
10
11 ; CHECK-LABEL: test2
12 ; CHECK: ret i1 true
13 define i1 @test2(i8 %A) {
14   %B = sitofp i8 %A to double
15   %C = fcmp ugt double %B, -128.1
16   ret i1 %C
17 }
18
19 ; CHECK-LABEL: test3
20 ; CHECK: ret i1 true
21 define i1 @test3(i8 %A) {
22   %B = sitofp i8 %A to double
23   %C = fcmp ule double %B, 127.0
24   ret i1 %C
25 }
26
27 ; CHECK-LABEL: test4
28 ; CHECK: icmp ne i8 %A, 127
29 ; CHECK-NEXT: ret i1
30 define i1 @test4(i8 %A) {
31   %B = sitofp i8 %A to double
32   %C = fcmp ult double %B, 127.0
33   ret i1 %C
34 }
35
36 ; CHECK-LABEL: test5
37 ; CHECK: ret i32
38 define i32 @test5(i32 %A) {
39   %B = sitofp i32 %A to double
40   %C = fptosi double %B to i32
41   %D = uitofp i32 %C to double
42   %E = fptoui double %D to i32
43   ret i32 %E
44 }
45
46 ; CHECK-LABEL: test6
47 ; CHECK: and i32 %A, 39
48 ; CHECK-NEXT: ret i32
49 define i32 @test6(i32 %A) {
50   %B = and i32 %A, 7
51   %C = and i32 %A, 32
52   %D = sitofp i32 %B to double
53   %E = sitofp i32 %C to double
54   %F = fadd double %D, %E
55   %G = fptosi double %F to i32
56   ret i32 %G
57 }
58
59 ; CHECK-LABEL: test7
60 ; CHECK: ret i32
61 define i32 @test7(i32 %A) nounwind {
62   %B = sitofp i32 %A to double
63   %C = fptoui double %B to i32
64   ret i32 %C
65 }
66
67 ; CHECK-LABEL: test8
68 ; CHECK: ret i32
69 define i32 @test8(i32 %A) nounwind {
70   %B = uitofp i32 %A to double
71   %C = fptosi double %B to i32
72   ret i32 %C
73 }
74