blob: 1329a1278e7b7bbb8048a0e2f35e09494bcf81eb (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
declare void @print_i32(i32)
define i32 @main() {
entry:
%a = add i32 315904, 128
%b = trunc i32 %a to i8
%c0 = icmp eq i8 %b, 128
%d = zext i8 %b to i32
%c1 = icmp eq i32 %d, 128
%e = sext i8 %b to i32
%c2 = icmp eq i32 %e, -128
%c0i = zext i1 %c0 to i32
%c1i = zext i1 %c1 to i32
%c2i = zext i1 %c2 to i32
%c0is = shl i32 %c0i, 0
%c1is = shl i32 %c1i, 1
%c2is = shl i32 %c2i, 2
%tmp = add i32 %c0is, %c1is
%res = add i32 %tmp, %c2is
%p = icmp eq i32 %res, 7
br i1 %p, label %exitTrue, label %exitFalse
exitTrue:
call void @print_i32(i32 1)
ret i32 0
exitFalse:
call void @print_i32(i32 0)
ret i32 0
}
|