2007-11-07-MulBy4.ll
3.54 KB
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc < %s -mtriple=i686-- | FileCheck %s
%struct.eebb = type { %struct.eebb*, i16* }
%struct.hf = type { %struct.hf*, i16*, i8*, i32, i32, %struct.eebb*, i32, i32, i8*, i8*, i8*, i8*, i16*, i8*, i16*, %struct.ri, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, [30 x i32], %struct.eebb, i32, i8* }
%struct.foo_data = type { i32, i32, i32, i32*, i32, i32, i8*, i8*, i32, i32, i32, i32, i32, i32, i32, i32, i8*, i16*, i16*, i16*, i16*, i32, i32, i32, %struct.ri*, i8*, %struct.hf* }
%struct.ri = type { %struct.ri*, i32, i8*, i16*, i32*, i32 }
define fastcc i32 @foo(i16* %eptr, i8* %ecode, %struct.foo_data* %md, i32 %ims) {
; CHECK-LABEL: foo:
; CHECK: # %bb.0: # %entry
; CHECK-NEXT: cmpl $0, 0
; CHECK-NEXT: je .LBB0_3
; CHECK-NEXT: # %bb.1: # %cond_next79
; CHECK-NEXT: cmpl $0, 0
; CHECK-NEXT: je .LBB0_3
; CHECK-NEXT: # %bb.2: # %cond_next130
; CHECK-NEXT: movb $1, %al
; CHECK-NEXT: testb %al, %al
; CHECK-NEXT: .LBB0_3: # %cond_true89
; CHECK-NEXT: xorl %eax, %eax
; CHECK-NEXT: retl
entry:
%tmp36 = load i32, i32* null, align 4 ; <i32> [#uses=1]
%tmp37 = icmp ult i32 0, %tmp36 ; <i1> [#uses=1]
br i1 %tmp37, label %cond_next79, label %cond_true
cond_true: ; preds = %entry
ret i32 0
cond_next79: ; preds = %entry
%tmp85 = load i32, i32* null, align 4 ; <i32> [#uses=1]
%tmp86 = icmp ult i32 0, %tmp85 ; <i1> [#uses=1]
br i1 %tmp86, label %cond_next130, label %cond_true89
cond_true89: ; preds = %cond_next79
ret i32 0
cond_next130: ; preds = %cond_next79
%tmp173 = icmp eq i32 0, 0 ; <i1> [#uses=1]
br i1 %tmp173, label %cond_next201, label %cond_true176
cond_true176: ; preds = %cond_next130
ret i32 0
cond_next201: ; preds = %cond_next130
switch i32 0, label %bb19955 [
i32 0, label %bb1266
i32 1, label %bb5018
i32 2, label %bb5075
i32 3, label %cond_true5534
i32 4, label %cond_true5534
i32 5, label %bb6039
i32 6, label %bb6181
i32 7, label %bb6323
i32 8, label %bb6463
i32 9, label %bb6605
i32 10, label %bb6746
i32 11, label %cond_next5871
i32 16, label %bb5452
i32 17, label %bb5395
i32 19, label %bb4883
i32 20, label %bb5136
i32 23, label %bb12899
i32 64, label %bb2162
i32 69, label %bb1447
i32 70, label %bb1737
i32 71, label %bb1447
i32 72, label %bb1737
i32 73, label %cond_true1984
i32 75, label %bb740
i32 80, label %bb552
]
bb552: ; preds = %cond_next201
ret i32 0
bb740: ; preds = %cond_next201
ret i32 0
bb1266: ; preds = %cond_next201
ret i32 0
bb1447: ; preds = %cond_next201, %cond_next201
ret i32 0
bb1737: ; preds = %cond_next201, %cond_next201
ret i32 0
cond_true1984: ; preds = %cond_next201
ret i32 0
bb2162: ; preds = %cond_next201
ret i32 0
bb4883: ; preds = %cond_next201
ret i32 0
bb5018: ; preds = %cond_next201
ret i32 0
bb5075: ; preds = %cond_next201
ret i32 0
bb5136: ; preds = %cond_next201
ret i32 0
bb5395: ; preds = %cond_next201
ret i32 0
bb5452: ; preds = %cond_next201
ret i32 0
cond_true5534: ; preds = %cond_next201, %cond_next201
ret i32 0
cond_next5871: ; preds = %cond_next201
ret i32 0
bb6039: ; preds = %cond_next201
ret i32 0
bb6181: ; preds = %cond_next201
ret i32 0
bb6323: ; preds = %cond_next201
ret i32 0
bb6463: ; preds = %cond_next201
ret i32 0
bb6605: ; preds = %cond_next201
ret i32 0
bb6746: ; preds = %cond_next201
ret i32 0
bb12899: ; preds = %cond_next201
ret i32 0
bb19955: ; preds = %cond_next201
ret i32 0
}