1
; RUN: llc < %s -mtriple=thumbv6-apple-darwin
3
%struct.BF_KEY = type { [18 x i32], [1024 x i32] }
5
define arm_apcscc void @BF_encrypt(i32* nocapture %data, %struct.BF_KEY* nocapture %key, i32 %encrypt) nounwind {
7
%0 = getelementptr %struct.BF_KEY* %key, i32 0, i32 0, i32 0; <i32*> [#uses=2]
8
%1 = load i32* %data, align 4 ; <i32> [#uses=2]
9
%2 = load i32* undef, align 4 ; <i32> [#uses=2]
10
br i1 undef, label %bb1, label %bb
13
%3 = load i32* %0, align 4 ; <i32> [#uses=1]
14
%4 = xor i32 %3, %1 ; <i32> [#uses=4]
15
%5 = load i32* null, align 4 ; <i32> [#uses=1]
16
%6 = lshr i32 %4, 24 ; <i32> [#uses=1]
17
%7 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %6; <i32*> [#uses=1]
18
%8 = load i32* %7, align 4 ; <i32> [#uses=1]
19
%9 = lshr i32 %4, 16 ; <i32> [#uses=1]
20
%10 = or i32 %9, 256 ; <i32> [#uses=1]
21
%11 = and i32 %10, 511 ; <i32> [#uses=1]
22
%12 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %11; <i32*> [#uses=1]
23
%13 = load i32* %12, align 4 ; <i32> [#uses=1]
24
%14 = add i32 %13, %8 ; <i32> [#uses=1]
25
%15 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 undef; <i32*> [#uses=1]
26
%16 = load i32* %15, align 4 ; <i32> [#uses=1]
27
%17 = xor i32 %14, %16 ; <i32> [#uses=1]
28
%18 = or i32 %4, 768 ; <i32> [#uses=1]
29
%19 = and i32 %18, 1023 ; <i32> [#uses=1]
30
%20 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %19; <i32*> [#uses=1]
31
%21 = load i32* %20, align 4 ; <i32> [#uses=1]
32
%22 = add i32 %17, %21 ; <i32> [#uses=1]
33
%23 = xor i32 %5, %2 ; <i32> [#uses=1]
34
%24 = xor i32 %23, %22 ; <i32> [#uses=5]
35
%25 = getelementptr %struct.BF_KEY* %key, i32 0, i32 0, i32 2; <i32*> [#uses=1]
36
%26 = load i32* %25, align 4 ; <i32> [#uses=1]
37
%27 = lshr i32 %24, 24 ; <i32> [#uses=1]
38
%28 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %27; <i32*> [#uses=1]
39
%29 = load i32* %28, align 4 ; <i32> [#uses=1]
40
%30 = lshr i32 %24, 16 ; <i32> [#uses=1]
41
%31 = or i32 %30, 256 ; <i32> [#uses=1]
42
%32 = and i32 %31, 511 ; <i32> [#uses=1]
43
%33 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %32; <i32*> [#uses=1]
44
%34 = load i32* %33, align 4 ; <i32> [#uses=1]
45
%35 = add i32 %34, %29 ; <i32> [#uses=1]
46
%36 = lshr i32 %24, 8 ; <i32> [#uses=1]
47
%37 = or i32 %36, 512 ; <i32> [#uses=1]
48
%38 = and i32 %37, 767 ; <i32> [#uses=1]
49
%39 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %38; <i32*> [#uses=1]
50
%40 = load i32* %39, align 4 ; <i32> [#uses=1]
51
%41 = xor i32 %35, %40 ; <i32> [#uses=1]
52
%42 = or i32 %24, 768 ; <i32> [#uses=1]
53
%43 = and i32 %42, 1023 ; <i32> [#uses=1]
54
%44 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %43; <i32*> [#uses=1]
55
%45 = load i32* %44, align 4 ; <i32> [#uses=1]
56
%46 = add i32 %41, %45 ; <i32> [#uses=1]
57
%47 = xor i32 %26, %4 ; <i32> [#uses=1]
58
%48 = xor i32 %47, %46 ; <i32> [#uses=5]
59
%49 = getelementptr %struct.BF_KEY* %key, i32 0, i32 0, i32 3; <i32*> [#uses=1]
60
%50 = load i32* %49, align 4 ; <i32> [#uses=1]
61
%51 = lshr i32 %48, 24 ; <i32> [#uses=1]
62
%52 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %51; <i32*> [#uses=1]
63
%53 = load i32* %52, align 4 ; <i32> [#uses=1]
64
%54 = lshr i32 %48, 16 ; <i32> [#uses=1]
65
%55 = or i32 %54, 256 ; <i32> [#uses=1]
66
%56 = and i32 %55, 511 ; <i32> [#uses=1]
67
%57 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %56; <i32*> [#uses=1]
68
%58 = load i32* %57, align 4 ; <i32> [#uses=1]
69
%59 = add i32 %58, %53 ; <i32> [#uses=1]
70
%60 = lshr i32 %48, 8 ; <i32> [#uses=1]
71
%61 = or i32 %60, 512 ; <i32> [#uses=1]
72
%62 = and i32 %61, 767 ; <i32> [#uses=1]
73
%63 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %62; <i32*> [#uses=1]
74
%64 = load i32* %63, align 4 ; <i32> [#uses=1]
75
%65 = xor i32 %59, %64 ; <i32> [#uses=1]
76
%66 = or i32 %48, 768 ; <i32> [#uses=1]
77
%67 = and i32 %66, 1023 ; <i32> [#uses=1]
78
%68 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %67; <i32*> [#uses=1]
79
%69 = load i32* %68, align 4 ; <i32> [#uses=1]
80
%70 = add i32 %65, %69 ; <i32> [#uses=1]
81
%71 = xor i32 %50, %24 ; <i32> [#uses=1]
82
%72 = xor i32 %71, %70 ; <i32> [#uses=5]
83
%73 = load i32* null, align 4 ; <i32> [#uses=1]
84
%74 = lshr i32 %72, 24 ; <i32> [#uses=1]
85
%75 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %74; <i32*> [#uses=1]
86
%76 = load i32* %75, align 4 ; <i32> [#uses=1]
87
%77 = lshr i32 %72, 16 ; <i32> [#uses=1]
88
%78 = or i32 %77, 256 ; <i32> [#uses=1]
89
%79 = and i32 %78, 511 ; <i32> [#uses=1]
90
%80 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %79; <i32*> [#uses=1]
91
%81 = load i32* %80, align 4 ; <i32> [#uses=1]
92
%82 = add i32 %81, %76 ; <i32> [#uses=1]
93
%83 = lshr i32 %72, 8 ; <i32> [#uses=1]
94
%84 = or i32 %83, 512 ; <i32> [#uses=1]
95
%85 = and i32 %84, 767 ; <i32> [#uses=1]
96
%86 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %85; <i32*> [#uses=1]
97
%87 = load i32* %86, align 4 ; <i32> [#uses=1]
98
%88 = xor i32 %82, %87 ; <i32> [#uses=1]
99
%89 = or i32 %72, 768 ; <i32> [#uses=1]
100
%90 = and i32 %89, 1023 ; <i32> [#uses=1]
101
%91 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %90; <i32*> [#uses=1]
102
%92 = load i32* %91, align 4 ; <i32> [#uses=1]
103
%93 = add i32 %88, %92 ; <i32> [#uses=1]
104
%94 = xor i32 %73, %48 ; <i32> [#uses=1]
105
%95 = xor i32 %94, %93 ; <i32> [#uses=5]
106
%96 = load i32* undef, align 4 ; <i32> [#uses=1]
107
%97 = lshr i32 %95, 24 ; <i32> [#uses=1]
108
%98 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %97; <i32*> [#uses=1]
109
%99 = load i32* %98, align 4 ; <i32> [#uses=1]
110
%100 = lshr i32 %95, 16 ; <i32> [#uses=1]
111
%101 = or i32 %100, 256 ; <i32> [#uses=1]
112
%102 = and i32 %101, 511 ; <i32> [#uses=1]
113
%103 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %102; <i32*> [#uses=1]
114
%104 = load i32* %103, align 4 ; <i32> [#uses=1]
115
%105 = add i32 %104, %99 ; <i32> [#uses=1]
116
%106 = lshr i32 %95, 8 ; <i32> [#uses=1]
117
%107 = or i32 %106, 512 ; <i32> [#uses=1]
118
%108 = and i32 %107, 767 ; <i32> [#uses=1]
119
%109 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %108; <i32*> [#uses=1]
120
%110 = load i32* %109, align 4 ; <i32> [#uses=1]
121
%111 = xor i32 %105, %110 ; <i32> [#uses=1]
122
%112 = or i32 %95, 768 ; <i32> [#uses=1]
123
%113 = and i32 %112, 1023 ; <i32> [#uses=1]
124
%114 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %113; <i32*> [#uses=1]
125
%115 = load i32* %114, align 4 ; <i32> [#uses=1]
126
%116 = add i32 %111, %115 ; <i32> [#uses=1]
127
%117 = xor i32 %96, %72 ; <i32> [#uses=1]
128
%118 = xor i32 %117, %116 ; <i32> [#uses=5]
129
%119 = getelementptr %struct.BF_KEY* %key, i32 0, i32 0, i32 6; <i32*> [#uses=1]
130
%120 = load i32* %119, align 4 ; <i32> [#uses=1]
131
%121 = lshr i32 %118, 24 ; <i32> [#uses=1]
132
%122 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %121; <i32*> [#uses=1]
133
%123 = load i32* %122, align 4 ; <i32> [#uses=1]
134
%124 = lshr i32 %118, 16 ; <i32> [#uses=1]
135
%125 = or i32 %124, 256 ; <i32> [#uses=1]
136
%126 = and i32 %125, 511 ; <i32> [#uses=1]
137
%127 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %126; <i32*> [#uses=1]
138
%128 = load i32* %127, align 4 ; <i32> [#uses=1]
139
%129 = add i32 %128, %123 ; <i32> [#uses=1]
140
%130 = lshr i32 %118, 8 ; <i32> [#uses=1]
141
%131 = or i32 %130, 512 ; <i32> [#uses=1]
142
%132 = and i32 %131, 767 ; <i32> [#uses=1]
143
%133 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %132; <i32*> [#uses=1]
144
%134 = load i32* %133, align 4 ; <i32> [#uses=1]
145
%135 = xor i32 %129, %134 ; <i32> [#uses=1]
146
%136 = or i32 %118, 768 ; <i32> [#uses=1]
147
%137 = and i32 %136, 1023 ; <i32> [#uses=1]
148
%138 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %137; <i32*> [#uses=1]
149
%139 = load i32* %138, align 4 ; <i32> [#uses=1]
150
%140 = add i32 %135, %139 ; <i32> [#uses=1]
151
%141 = xor i32 %120, %95 ; <i32> [#uses=1]
152
%142 = xor i32 %141, %140 ; <i32> [#uses=5]
153
%143 = getelementptr %struct.BF_KEY* %key, i32 0, i32 0, i32 7; <i32*> [#uses=1]
154
%144 = load i32* %143, align 4 ; <i32> [#uses=1]
155
%145 = lshr i32 %142, 24 ; <i32> [#uses=1]
156
%146 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %145; <i32*> [#uses=1]
157
%147 = load i32* %146, align 4 ; <i32> [#uses=1]
158
%148 = lshr i32 %142, 16 ; <i32> [#uses=1]
159
%149 = or i32 %148, 256 ; <i32> [#uses=1]
160
%150 = and i32 %149, 511 ; <i32> [#uses=1]
161
%151 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %150; <i32*> [#uses=1]
162
%152 = load i32* %151, align 4 ; <i32> [#uses=1]
163
%153 = add i32 %152, %147 ; <i32> [#uses=1]
164
%154 = lshr i32 %142, 8 ; <i32> [#uses=1]
165
%155 = or i32 %154, 512 ; <i32> [#uses=1]
166
%156 = and i32 %155, 767 ; <i32> [#uses=1]
167
%157 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %156; <i32*> [#uses=1]
168
%158 = load i32* %157, align 4 ; <i32> [#uses=1]
169
%159 = xor i32 %153, %158 ; <i32> [#uses=1]
170
%160 = or i32 %142, 768 ; <i32> [#uses=1]
171
%161 = and i32 %160, 1023 ; <i32> [#uses=1]
172
%162 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %161; <i32*> [#uses=1]
173
%163 = load i32* %162, align 4 ; <i32> [#uses=1]
174
%164 = add i32 %159, %163 ; <i32> [#uses=1]
175
%165 = xor i32 %144, %118 ; <i32> [#uses=1]
176
%166 = xor i32 %165, %164 ; <i32> [#uses=5]
177
%167 = load i32* undef, align 4 ; <i32> [#uses=1]
178
%168 = lshr i32 %166, 24 ; <i32> [#uses=1]
179
%169 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %168; <i32*> [#uses=1]
180
%170 = load i32* %169, align 4 ; <i32> [#uses=1]
181
%171 = lshr i32 %166, 16 ; <i32> [#uses=1]
182
%172 = or i32 %171, 256 ; <i32> [#uses=1]
183
%173 = and i32 %172, 511 ; <i32> [#uses=1]
184
%174 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %173; <i32*> [#uses=1]
185
%175 = load i32* %174, align 4 ; <i32> [#uses=1]
186
%176 = add i32 %175, %170 ; <i32> [#uses=1]
187
%177 = lshr i32 %166, 8 ; <i32> [#uses=1]
188
%178 = or i32 %177, 512 ; <i32> [#uses=1]
189
%179 = and i32 %178, 767 ; <i32> [#uses=1]
190
%180 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %179; <i32*> [#uses=1]
191
%181 = load i32* %180, align 4 ; <i32> [#uses=1]
192
%182 = xor i32 %176, %181 ; <i32> [#uses=1]
193
%183 = or i32 %166, 768 ; <i32> [#uses=1]
194
%184 = and i32 %183, 1023 ; <i32> [#uses=1]
195
%185 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %184; <i32*> [#uses=1]
196
%186 = load i32* %185, align 4 ; <i32> [#uses=1]
197
%187 = add i32 %182, %186 ; <i32> [#uses=1]
198
%188 = xor i32 %167, %142 ; <i32> [#uses=1]
199
%189 = xor i32 %188, %187 ; <i32> [#uses=5]
200
%190 = getelementptr %struct.BF_KEY* %key, i32 0, i32 0, i32 9; <i32*> [#uses=1]
201
%191 = load i32* %190, align 4 ; <i32> [#uses=1]
202
%192 = lshr i32 %189, 24 ; <i32> [#uses=1]
203
%193 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %192; <i32*> [#uses=1]
204
%194 = load i32* %193, align 4 ; <i32> [#uses=1]
205
%195 = lshr i32 %189, 16 ; <i32> [#uses=1]
206
%196 = or i32 %195, 256 ; <i32> [#uses=1]
207
%197 = and i32 %196, 511 ; <i32> [#uses=1]
208
%198 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %197; <i32*> [#uses=1]
209
%199 = load i32* %198, align 4 ; <i32> [#uses=1]
210
%200 = add i32 %199, %194 ; <i32> [#uses=1]
211
%201 = lshr i32 %189, 8 ; <i32> [#uses=1]
212
%202 = or i32 %201, 512 ; <i32> [#uses=1]
213
%203 = and i32 %202, 767 ; <i32> [#uses=1]
214
%204 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %203; <i32*> [#uses=1]
215
%205 = load i32* %204, align 4 ; <i32> [#uses=1]
216
%206 = xor i32 %200, %205 ; <i32> [#uses=1]
217
%207 = or i32 %189, 768 ; <i32> [#uses=1]
218
%208 = and i32 %207, 1023 ; <i32> [#uses=1]
219
%209 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %208; <i32*> [#uses=1]
220
%210 = load i32* %209, align 4 ; <i32> [#uses=1]
221
%211 = add i32 %206, %210 ; <i32> [#uses=1]
222
%212 = xor i32 %191, %166 ; <i32> [#uses=1]
223
%213 = xor i32 %212, %211 ; <i32> [#uses=5]
224
%214 = getelementptr %struct.BF_KEY* %key, i32 0, i32 0, i32 10; <i32*> [#uses=1]
225
%215 = load i32* %214, align 4 ; <i32> [#uses=1]
226
%216 = lshr i32 %213, 24 ; <i32> [#uses=1]
227
%217 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %216; <i32*> [#uses=1]
228
%218 = load i32* %217, align 4 ; <i32> [#uses=1]
229
%219 = lshr i32 %213, 16 ; <i32> [#uses=1]
230
%220 = or i32 %219, 256 ; <i32> [#uses=1]
231
%221 = and i32 %220, 511 ; <i32> [#uses=1]
232
%222 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %221; <i32*> [#uses=1]
233
%223 = load i32* %222, align 4 ; <i32> [#uses=1]
234
%224 = add i32 %223, %218 ; <i32> [#uses=1]
235
%225 = lshr i32 %213, 8 ; <i32> [#uses=1]
236
%226 = or i32 %225, 512 ; <i32> [#uses=1]
237
%227 = and i32 %226, 767 ; <i32> [#uses=1]
238
%228 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %227; <i32*> [#uses=1]
239
%229 = load i32* %228, align 4 ; <i32> [#uses=1]
240
%230 = xor i32 %224, %229 ; <i32> [#uses=1]
241
%231 = or i32 %213, 768 ; <i32> [#uses=1]
242
%232 = and i32 %231, 1023 ; <i32> [#uses=1]
243
%233 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %232; <i32*> [#uses=1]
244
%234 = load i32* %233, align 4 ; <i32> [#uses=1]
245
%235 = add i32 %230, %234 ; <i32> [#uses=1]
246
%236 = xor i32 %215, %189 ; <i32> [#uses=1]
247
%237 = xor i32 %236, %235 ; <i32> [#uses=5]
248
%238 = getelementptr %struct.BF_KEY* %key, i32 0, i32 0, i32 11; <i32*> [#uses=1]
249
%239 = load i32* %238, align 4 ; <i32> [#uses=1]
250
%240 = lshr i32 %237, 24 ; <i32> [#uses=1]
251
%241 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %240; <i32*> [#uses=1]
252
%242 = load i32* %241, align 4 ; <i32> [#uses=1]
253
%243 = lshr i32 %237, 16 ; <i32> [#uses=1]
254
%244 = or i32 %243, 256 ; <i32> [#uses=1]
255
%245 = and i32 %244, 511 ; <i32> [#uses=1]
256
%246 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %245; <i32*> [#uses=1]
257
%247 = load i32* %246, align 4 ; <i32> [#uses=1]
258
%248 = add i32 %247, %242 ; <i32> [#uses=1]
259
%249 = lshr i32 %237, 8 ; <i32> [#uses=1]
260
%250 = or i32 %249, 512 ; <i32> [#uses=1]
261
%251 = and i32 %250, 767 ; <i32> [#uses=1]
262
%252 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %251; <i32*> [#uses=1]
263
%253 = load i32* %252, align 4 ; <i32> [#uses=1]
264
%254 = xor i32 %248, %253 ; <i32> [#uses=1]
265
%255 = or i32 %237, 768 ; <i32> [#uses=1]
266
%256 = and i32 %255, 1023 ; <i32> [#uses=1]
267
%257 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %256; <i32*> [#uses=1]
268
%258 = load i32* %257, align 4 ; <i32> [#uses=1]
269
%259 = add i32 %254, %258 ; <i32> [#uses=1]
270
%260 = xor i32 %239, %213 ; <i32> [#uses=1]
271
%261 = xor i32 %260, %259 ; <i32> [#uses=5]
272
%262 = load i32* undef, align 4 ; <i32> [#uses=1]
273
%263 = lshr i32 %261, 24 ; <i32> [#uses=1]
274
%264 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %263; <i32*> [#uses=1]
275
%265 = load i32* %264, align 4 ; <i32> [#uses=1]
276
%266 = lshr i32 %261, 16 ; <i32> [#uses=1]
277
%267 = or i32 %266, 256 ; <i32> [#uses=1]
278
%268 = and i32 %267, 511 ; <i32> [#uses=1]
279
%269 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %268; <i32*> [#uses=1]
280
%270 = load i32* %269, align 4 ; <i32> [#uses=1]
281
%271 = add i32 %270, %265 ; <i32> [#uses=1]
282
%272 = lshr i32 %261, 8 ; <i32> [#uses=1]
283
%273 = or i32 %272, 512 ; <i32> [#uses=1]
284
%274 = and i32 %273, 767 ; <i32> [#uses=1]
285
%275 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %274; <i32*> [#uses=1]
286
%276 = load i32* %275, align 4 ; <i32> [#uses=1]
287
%277 = xor i32 %271, %276 ; <i32> [#uses=1]
288
%278 = or i32 %261, 768 ; <i32> [#uses=1]
289
%279 = and i32 %278, 1023 ; <i32> [#uses=1]
290
%280 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %279; <i32*> [#uses=1]
291
%281 = load i32* %280, align 4 ; <i32> [#uses=1]
292
%282 = add i32 %277, %281 ; <i32> [#uses=1]
293
%283 = xor i32 %262, %237 ; <i32> [#uses=1]
294
%284 = xor i32 %283, %282 ; <i32> [#uses=4]
295
%285 = load i32* null, align 4 ; <i32> [#uses=1]
296
%286 = lshr i32 %284, 24 ; <i32> [#uses=1]
297
%287 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %286; <i32*> [#uses=1]
298
%288 = load i32* %287, align 4 ; <i32> [#uses=1]
299
%289 = lshr i32 %284, 16 ; <i32> [#uses=1]
300
%290 = or i32 %289, 256 ; <i32> [#uses=1]
301
%291 = and i32 %290, 511 ; <i32> [#uses=1]
302
%292 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %291; <i32*> [#uses=1]
303
%293 = load i32* %292, align 4 ; <i32> [#uses=1]
304
%294 = add i32 %293, %288 ; <i32> [#uses=1]
305
%295 = lshr i32 %284, 8 ; <i32> [#uses=1]
306
%296 = or i32 %295, 512 ; <i32> [#uses=1]
307
%297 = and i32 %296, 767 ; <i32> [#uses=1]
308
%298 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %297; <i32*> [#uses=1]
309
%299 = load i32* %298, align 4 ; <i32> [#uses=1]
310
%300 = xor i32 %294, %299 ; <i32> [#uses=1]
311
%301 = or i32 %284, 768 ; <i32> [#uses=1]
312
%302 = and i32 %301, 1023 ; <i32> [#uses=1]
313
%303 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %302; <i32*> [#uses=1]
314
%304 = load i32* %303, align 4 ; <i32> [#uses=1]
315
%305 = add i32 %300, %304 ; <i32> [#uses=1]
316
%306 = xor i32 %285, %261 ; <i32> [#uses=1]
317
%307 = xor i32 %306, %305 ; <i32> [#uses=1]
318
%308 = getelementptr %struct.BF_KEY* %key, i32 0, i32 0, i32 15; <i32*> [#uses=1]
319
%309 = load i32* %308, align 4 ; <i32> [#uses=1]
320
%310 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 0; <i32*> [#uses=1]
321
%311 = load i32* %310, align 4 ; <i32> [#uses=1]
322
%312 = or i32 0, 256 ; <i32> [#uses=1]
323
%313 = and i32 %312, 511 ; <i32> [#uses=1]
324
%314 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %313; <i32*> [#uses=1]
325
%315 = load i32* %314, align 4 ; <i32> [#uses=1]
326
%316 = add i32 %315, %311 ; <i32> [#uses=1]
327
%317 = or i32 0, 512 ; <i32> [#uses=1]
328
%318 = and i32 %317, 767 ; <i32> [#uses=1]
329
%319 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %318; <i32*> [#uses=1]
330
%320 = load i32* %319, align 4 ; <i32> [#uses=1]
331
%321 = xor i32 %316, %320 ; <i32> [#uses=1]
332
%322 = or i32 0, 768 ; <i32> [#uses=1]
333
%323 = and i32 %322, 1023 ; <i32> [#uses=1]
334
%324 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %323; <i32*> [#uses=1]
335
%325 = load i32* %324, align 4 ; <i32> [#uses=1]
336
%326 = add i32 %321, %325 ; <i32> [#uses=1]
337
%327 = xor i32 %309, %307 ; <i32> [#uses=1]
338
%328 = xor i32 %327, %326 ; <i32> [#uses=5]
339
%329 = getelementptr %struct.BF_KEY* %key, i32 0, i32 0, i32 17; <i32*> [#uses=1]
342
bb1: ; preds = %entry
343
%330 = load i32* null, align 4 ; <i32> [#uses=1]
344
%331 = xor i32 %330, %1 ; <i32> [#uses=4]
345
%332 = load i32* null, align 4 ; <i32> [#uses=1]
346
%333 = lshr i32 %331, 24 ; <i32> [#uses=1]
347
%334 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %333; <i32*> [#uses=1]
348
%335 = load i32* %334, align 4 ; <i32> [#uses=1]
349
%336 = load i32* null, align 4 ; <i32> [#uses=1]
350
%337 = add i32 %336, %335 ; <i32> [#uses=1]
351
%338 = lshr i32 %331, 8 ; <i32> [#uses=1]
352
%339 = or i32 %338, 512 ; <i32> [#uses=1]
353
%340 = and i32 %339, 767 ; <i32> [#uses=1]
354
%341 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %340; <i32*> [#uses=1]
355
%342 = load i32* %341, align 4 ; <i32> [#uses=1]
356
%343 = xor i32 %337, %342 ; <i32> [#uses=1]
357
%344 = or i32 %331, 768 ; <i32> [#uses=1]
358
%345 = and i32 %344, 1023 ; <i32> [#uses=1]
359
%346 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %345; <i32*> [#uses=1]
360
%347 = load i32* %346, align 4 ; <i32> [#uses=1]
361
%348 = add i32 %343, %347 ; <i32> [#uses=1]
362
%349 = xor i32 %332, %2 ; <i32> [#uses=1]
363
%350 = xor i32 %349, %348 ; <i32> [#uses=5]
364
%351 = getelementptr %struct.BF_KEY* %key, i32 0, i32 0, i32 15; <i32*> [#uses=1]
365
%352 = load i32* %351, align 4 ; <i32> [#uses=1]
366
%353 = lshr i32 %350, 24 ; <i32> [#uses=1]
367
%354 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %353; <i32*> [#uses=1]
368
%355 = load i32* %354, align 4 ; <i32> [#uses=1]
369
%356 = lshr i32 %350, 16 ; <i32> [#uses=1]
370
%357 = or i32 %356, 256 ; <i32> [#uses=1]
371
%358 = and i32 %357, 511 ; <i32> [#uses=1]
372
%359 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %358; <i32*> [#uses=1]
373
%360 = load i32* %359, align 4 ; <i32> [#uses=1]
374
%361 = add i32 %360, %355 ; <i32> [#uses=1]
375
%362 = lshr i32 %350, 8 ; <i32> [#uses=1]
376
%363 = or i32 %362, 512 ; <i32> [#uses=1]
377
%364 = and i32 %363, 767 ; <i32> [#uses=1]
378
%365 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %364; <i32*> [#uses=1]
379
%366 = load i32* %365, align 4 ; <i32> [#uses=1]
380
%367 = xor i32 %361, %366 ; <i32> [#uses=1]
381
%368 = or i32 %350, 768 ; <i32> [#uses=1]
382
%369 = and i32 %368, 1023 ; <i32> [#uses=1]
383
%370 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %369; <i32*> [#uses=1]
384
%371 = load i32* %370, align 4 ; <i32> [#uses=1]
385
%372 = add i32 %367, %371 ; <i32> [#uses=1]
386
%373 = xor i32 %352, %331 ; <i32> [#uses=1]
387
%374 = xor i32 %373, %372 ; <i32> [#uses=5]
388
%375 = getelementptr %struct.BF_KEY* %key, i32 0, i32 0, i32 14; <i32*> [#uses=1]
389
%376 = load i32* %375, align 4 ; <i32> [#uses=1]
390
%377 = lshr i32 %374, 24 ; <i32> [#uses=1]
391
%378 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %377; <i32*> [#uses=1]
392
%379 = load i32* %378, align 4 ; <i32> [#uses=1]
393
%380 = lshr i32 %374, 16 ; <i32> [#uses=1]
394
%381 = or i32 %380, 256 ; <i32> [#uses=1]
395
%382 = and i32 %381, 511 ; <i32> [#uses=1]
396
%383 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %382; <i32*> [#uses=1]
397
%384 = load i32* %383, align 4 ; <i32> [#uses=1]
398
%385 = add i32 %384, %379 ; <i32> [#uses=1]
399
%386 = lshr i32 %374, 8 ; <i32> [#uses=1]
400
%387 = or i32 %386, 512 ; <i32> [#uses=1]
401
%388 = and i32 %387, 767 ; <i32> [#uses=1]
402
%389 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %388; <i32*> [#uses=1]
403
%390 = load i32* %389, align 4 ; <i32> [#uses=1]
404
%391 = xor i32 %385, %390 ; <i32> [#uses=1]
405
%392 = or i32 %374, 768 ; <i32> [#uses=1]
406
%393 = and i32 %392, 1023 ; <i32> [#uses=1]
407
%394 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %393; <i32*> [#uses=1]
408
%395 = load i32* %394, align 4 ; <i32> [#uses=1]
409
%396 = add i32 %391, %395 ; <i32> [#uses=1]
410
%397 = xor i32 %376, %350 ; <i32> [#uses=1]
411
%398 = xor i32 %397, %396 ; <i32> [#uses=5]
412
%399 = getelementptr %struct.BF_KEY* %key, i32 0, i32 0, i32 13; <i32*> [#uses=1]
413
%400 = load i32* %399, align 4 ; <i32> [#uses=1]
414
%401 = lshr i32 %398, 24 ; <i32> [#uses=1]
415
%402 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %401; <i32*> [#uses=1]
416
%403 = load i32* %402, align 4 ; <i32> [#uses=1]
417
%404 = lshr i32 %398, 16 ; <i32> [#uses=1]
418
%405 = or i32 %404, 256 ; <i32> [#uses=1]
419
%406 = and i32 %405, 511 ; <i32> [#uses=1]
420
%407 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %406; <i32*> [#uses=1]
421
%408 = load i32* %407, align 4 ; <i32> [#uses=1]
422
%409 = add i32 %408, %403 ; <i32> [#uses=1]
423
%410 = lshr i32 %398, 8 ; <i32> [#uses=1]
424
%411 = or i32 %410, 512 ; <i32> [#uses=1]
425
%412 = and i32 %411, 767 ; <i32> [#uses=1]
426
%413 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %412; <i32*> [#uses=1]
427
%414 = load i32* %413, align 4 ; <i32> [#uses=1]
428
%415 = xor i32 %409, %414 ; <i32> [#uses=1]
429
%416 = or i32 %398, 768 ; <i32> [#uses=1]
430
%417 = and i32 %416, 1023 ; <i32> [#uses=1]
431
%418 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %417; <i32*> [#uses=1]
432
%419 = load i32* %418, align 4 ; <i32> [#uses=1]
433
%420 = add i32 %415, %419 ; <i32> [#uses=1]
434
%421 = xor i32 %400, %374 ; <i32> [#uses=1]
435
%422 = xor i32 %421, %420 ; <i32> [#uses=5]
436
%423 = getelementptr %struct.BF_KEY* %key, i32 0, i32 0, i32 12; <i32*> [#uses=1]
437
%424 = load i32* %423, align 4 ; <i32> [#uses=1]
438
%425 = lshr i32 %422, 24 ; <i32> [#uses=1]
439
%426 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %425; <i32*> [#uses=1]
440
%427 = load i32* %426, align 4 ; <i32> [#uses=1]
441
%428 = lshr i32 %422, 16 ; <i32> [#uses=1]
442
%429 = or i32 %428, 256 ; <i32> [#uses=1]
443
%430 = and i32 %429, 511 ; <i32> [#uses=1]
444
%431 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %430; <i32*> [#uses=1]
445
%432 = load i32* %431, align 4 ; <i32> [#uses=1]
446
%433 = add i32 %432, %427 ; <i32> [#uses=1]
447
%434 = lshr i32 %422, 8 ; <i32> [#uses=1]
448
%435 = or i32 %434, 512 ; <i32> [#uses=1]
449
%436 = and i32 %435, 767 ; <i32> [#uses=1]
450
%437 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %436; <i32*> [#uses=1]
451
%438 = load i32* %437, align 4 ; <i32> [#uses=1]
452
%439 = xor i32 %433, %438 ; <i32> [#uses=1]
453
%440 = or i32 %422, 768 ; <i32> [#uses=1]
454
%441 = and i32 %440, 1023 ; <i32> [#uses=1]
455
%442 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %441; <i32*> [#uses=1]
456
%443 = load i32* %442, align 4 ; <i32> [#uses=1]
457
%444 = add i32 %439, %443 ; <i32> [#uses=1]
458
%445 = xor i32 %424, %398 ; <i32> [#uses=1]
459
%446 = xor i32 %445, %444 ; <i32> [#uses=5]
460
%447 = load i32* undef, align 4 ; <i32> [#uses=1]
461
%448 = lshr i32 %446, 24 ; <i32> [#uses=1]
462
%449 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %448; <i32*> [#uses=1]
463
%450 = load i32* %449, align 4 ; <i32> [#uses=1]
464
%451 = lshr i32 %446, 16 ; <i32> [#uses=1]
465
%452 = or i32 %451, 256 ; <i32> [#uses=1]
466
%453 = and i32 %452, 511 ; <i32> [#uses=1]
467
%454 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %453; <i32*> [#uses=1]
468
%455 = load i32* %454, align 4 ; <i32> [#uses=1]
469
%456 = add i32 %455, %450 ; <i32> [#uses=1]
470
%457 = lshr i32 %446, 8 ; <i32> [#uses=1]
471
%458 = or i32 %457, 512 ; <i32> [#uses=1]
472
%459 = and i32 %458, 767 ; <i32> [#uses=1]
473
%460 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %459; <i32*> [#uses=1]
474
%461 = load i32* %460, align 4 ; <i32> [#uses=1]
475
%462 = xor i32 %456, %461 ; <i32> [#uses=1]
476
%463 = or i32 %446, 768 ; <i32> [#uses=1]
477
%464 = and i32 %463, 1023 ; <i32> [#uses=1]
478
%465 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %464; <i32*> [#uses=1]
479
%466 = load i32* %465, align 4 ; <i32> [#uses=1]
480
%467 = add i32 %462, %466 ; <i32> [#uses=1]
481
%468 = xor i32 %447, %422 ; <i32> [#uses=1]
482
%469 = xor i32 %468, %467 ; <i32> [#uses=5]
483
%470 = getelementptr %struct.BF_KEY* %key, i32 0, i32 0, i32 10; <i32*> [#uses=1]
484
%471 = load i32* %470, align 4 ; <i32> [#uses=1]
485
%472 = lshr i32 %469, 24 ; <i32> [#uses=1]
486
%473 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %472; <i32*> [#uses=1]
487
%474 = load i32* %473, align 4 ; <i32> [#uses=1]
488
%475 = lshr i32 %469, 16 ; <i32> [#uses=1]
489
%476 = or i32 %475, 256 ; <i32> [#uses=1]
490
%477 = and i32 %476, 511 ; <i32> [#uses=1]
491
%478 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %477; <i32*> [#uses=1]
492
%479 = load i32* %478, align 4 ; <i32> [#uses=1]
493
%480 = add i32 %479, %474 ; <i32> [#uses=1]
494
%481 = lshr i32 %469, 8 ; <i32> [#uses=1]
495
%482 = or i32 %481, 512 ; <i32> [#uses=1]
496
%483 = and i32 %482, 767 ; <i32> [#uses=1]
497
%484 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %483; <i32*> [#uses=1]
498
%485 = load i32* %484, align 4 ; <i32> [#uses=1]
499
%486 = xor i32 %480, %485 ; <i32> [#uses=1]
500
%487 = or i32 %469, 768 ; <i32> [#uses=1]
501
%488 = and i32 %487, 1023 ; <i32> [#uses=1]
502
%489 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %488; <i32*> [#uses=1]
503
%490 = load i32* %489, align 4 ; <i32> [#uses=1]
504
%491 = add i32 %486, %490 ; <i32> [#uses=1]
505
%492 = xor i32 %471, %446 ; <i32> [#uses=1]
506
%493 = xor i32 %492, %491 ; <i32> [#uses=5]
507
%494 = getelementptr %struct.BF_KEY* %key, i32 0, i32 0, i32 9; <i32*> [#uses=1]
508
%495 = load i32* %494, align 4 ; <i32> [#uses=1]
509
%496 = lshr i32 %493, 24 ; <i32> [#uses=1]
510
%497 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %496; <i32*> [#uses=1]
511
%498 = load i32* %497, align 4 ; <i32> [#uses=1]
512
%499 = lshr i32 %493, 16 ; <i32> [#uses=1]
513
%500 = or i32 %499, 256 ; <i32> [#uses=1]
514
%501 = and i32 %500, 511 ; <i32> [#uses=1]
515
%502 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %501; <i32*> [#uses=1]
516
%503 = load i32* %502, align 4 ; <i32> [#uses=1]
517
%504 = add i32 %503, %498 ; <i32> [#uses=1]
518
%505 = lshr i32 %493, 8 ; <i32> [#uses=1]
519
%506 = or i32 %505, 512 ; <i32> [#uses=1]
520
%507 = and i32 %506, 767 ; <i32> [#uses=1]
521
%508 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %507; <i32*> [#uses=1]
522
%509 = load i32* %508, align 4 ; <i32> [#uses=1]
523
%510 = xor i32 %504, %509 ; <i32> [#uses=1]
524
%511 = or i32 %493, 768 ; <i32> [#uses=1]
525
%512 = and i32 %511, 1023 ; <i32> [#uses=1]
526
%513 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %512; <i32*> [#uses=1]
527
%514 = load i32* %513, align 4 ; <i32> [#uses=1]
528
%515 = add i32 %510, %514 ; <i32> [#uses=1]
529
%516 = xor i32 %495, %469 ; <i32> [#uses=1]
530
%517 = xor i32 %516, %515 ; <i32> [#uses=5]
531
%518 = getelementptr %struct.BF_KEY* %key, i32 0, i32 0, i32 8; <i32*> [#uses=1]
532
%519 = load i32* %518, align 4 ; <i32> [#uses=1]
533
%520 = lshr i32 %517, 24 ; <i32> [#uses=1]
534
%521 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %520; <i32*> [#uses=1]
535
%522 = load i32* %521, align 4 ; <i32> [#uses=1]
536
%523 = lshr i32 %517, 16 ; <i32> [#uses=1]
537
%524 = or i32 %523, 256 ; <i32> [#uses=1]
538
%525 = and i32 %524, 511 ; <i32> [#uses=1]
539
%526 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %525; <i32*> [#uses=1]
540
%527 = load i32* %526, align 4 ; <i32> [#uses=1]
541
%528 = add i32 %527, %522 ; <i32> [#uses=1]
542
%529 = lshr i32 %517, 8 ; <i32> [#uses=1]
543
%530 = or i32 %529, 512 ; <i32> [#uses=1]
544
%531 = and i32 %530, 767 ; <i32> [#uses=1]
545
%532 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %531; <i32*> [#uses=1]
546
%533 = load i32* %532, align 4 ; <i32> [#uses=1]
547
%534 = xor i32 %528, %533 ; <i32> [#uses=1]
548
%535 = or i32 %517, 768 ; <i32> [#uses=1]
549
%536 = and i32 %535, 1023 ; <i32> [#uses=1]
550
%537 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %536; <i32*> [#uses=1]
551
%538 = load i32* %537, align 4 ; <i32> [#uses=1]
552
%539 = add i32 %534, %538 ; <i32> [#uses=1]
553
%540 = xor i32 %519, %493 ; <i32> [#uses=1]
554
%541 = xor i32 %540, %539 ; <i32> [#uses=5]
555
%542 = load i32* undef, align 4 ; <i32> [#uses=1]
556
%543 = lshr i32 %541, 24 ; <i32> [#uses=1]
557
%544 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %543; <i32*> [#uses=1]
558
%545 = load i32* %544, align 4 ; <i32> [#uses=1]
559
%546 = lshr i32 %541, 16 ; <i32> [#uses=1]
560
%547 = or i32 %546, 256 ; <i32> [#uses=1]
561
%548 = and i32 %547, 511 ; <i32> [#uses=1]
562
%549 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %548; <i32*> [#uses=1]
563
%550 = load i32* %549, align 4 ; <i32> [#uses=1]
564
%551 = add i32 %550, %545 ; <i32> [#uses=1]
565
%552 = lshr i32 %541, 8 ; <i32> [#uses=1]
566
%553 = or i32 %552, 512 ; <i32> [#uses=1]
567
%554 = and i32 %553, 767 ; <i32> [#uses=1]
568
%555 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %554; <i32*> [#uses=1]
569
%556 = load i32* %555, align 4 ; <i32> [#uses=1]
570
%557 = xor i32 %551, %556 ; <i32> [#uses=1]
571
%558 = or i32 %541, 768 ; <i32> [#uses=1]
572
%559 = and i32 %558, 1023 ; <i32> [#uses=1]
573
%560 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %559; <i32*> [#uses=1]
574
%561 = load i32* %560, align 4 ; <i32> [#uses=1]
575
%562 = add i32 %557, %561 ; <i32> [#uses=1]
576
%563 = xor i32 %542, %517 ; <i32> [#uses=1]
577
%564 = xor i32 %563, %562 ; <i32> [#uses=5]
578
%565 = getelementptr %struct.BF_KEY* %key, i32 0, i32 0, i32 6; <i32*> [#uses=1]
579
%566 = load i32* %565, align 4 ; <i32> [#uses=1]
580
%567 = lshr i32 %564, 24 ; <i32> [#uses=1]
581
%568 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %567; <i32*> [#uses=1]
582
%569 = load i32* %568, align 4 ; <i32> [#uses=1]
583
%570 = lshr i32 %564, 16 ; <i32> [#uses=1]
584
%571 = or i32 %570, 256 ; <i32> [#uses=1]
585
%572 = and i32 %571, 511 ; <i32> [#uses=1]
586
%573 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %572; <i32*> [#uses=1]
587
%574 = load i32* %573, align 4 ; <i32> [#uses=1]
588
%575 = add i32 %574, %569 ; <i32> [#uses=1]
589
%576 = lshr i32 %564, 8 ; <i32> [#uses=1]
590
%577 = or i32 %576, 512 ; <i32> [#uses=1]
591
%578 = and i32 %577, 767 ; <i32> [#uses=1]
592
%579 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %578; <i32*> [#uses=1]
593
%580 = load i32* %579, align 4 ; <i32> [#uses=1]
594
%581 = xor i32 %575, %580 ; <i32> [#uses=1]
595
%582 = or i32 %564, 768 ; <i32> [#uses=1]
596
%583 = and i32 %582, 1023 ; <i32> [#uses=1]
597
%584 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %583; <i32*> [#uses=1]
598
%585 = load i32* %584, align 4 ; <i32> [#uses=1]
599
%586 = add i32 %581, %585 ; <i32> [#uses=1]
600
%587 = xor i32 %566, %541 ; <i32> [#uses=1]
601
%588 = xor i32 %587, %586 ; <i32> [#uses=5]
602
%589 = getelementptr %struct.BF_KEY* %key, i32 0, i32 0, i32 5; <i32*> [#uses=1]
603
%590 = load i32* %589, align 4 ; <i32> [#uses=1]
604
%591 = lshr i32 %588, 24 ; <i32> [#uses=1]
605
%592 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %591; <i32*> [#uses=1]
606
%593 = load i32* %592, align 4 ; <i32> [#uses=1]
607
%594 = lshr i32 %588, 16 ; <i32> [#uses=1]
608
%595 = or i32 %594, 256 ; <i32> [#uses=1]
609
%596 = and i32 %595, 511 ; <i32> [#uses=1]
610
%597 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %596; <i32*> [#uses=1]
611
%598 = load i32* %597, align 4 ; <i32> [#uses=1]
612
%599 = add i32 %598, %593 ; <i32> [#uses=1]
613
%600 = lshr i32 %588, 8 ; <i32> [#uses=1]
614
%601 = or i32 %600, 512 ; <i32> [#uses=1]
615
%602 = and i32 %601, 767 ; <i32> [#uses=1]
616
%603 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %602; <i32*> [#uses=1]
617
%604 = load i32* %603, align 4 ; <i32> [#uses=1]
618
%605 = xor i32 %599, %604 ; <i32> [#uses=1]
619
%606 = or i32 %588, 768 ; <i32> [#uses=1]
620
%607 = and i32 %606, 1023 ; <i32> [#uses=1]
621
%608 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %607; <i32*> [#uses=1]
622
%609 = load i32* %608, align 4 ; <i32> [#uses=1]
623
%610 = add i32 %605, %609 ; <i32> [#uses=1]
624
%611 = xor i32 %590, %564 ; <i32> [#uses=1]
625
%612 = xor i32 %611, %610 ; <i32> [#uses=5]
626
%613 = getelementptr %struct.BF_KEY* %key, i32 0, i32 0, i32 4; <i32*> [#uses=1]
627
%614 = load i32* %613, align 4 ; <i32> [#uses=1]
628
%615 = lshr i32 %612, 24 ; <i32> [#uses=1]
629
%616 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %615; <i32*> [#uses=1]
630
%617 = load i32* %616, align 4 ; <i32> [#uses=1]
631
%618 = lshr i32 %612, 16 ; <i32> [#uses=1]
632
%619 = or i32 %618, 256 ; <i32> [#uses=1]
633
%620 = and i32 %619, 511 ; <i32> [#uses=1]
634
%621 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %620; <i32*> [#uses=1]
635
%622 = load i32* %621, align 4 ; <i32> [#uses=1]
636
%623 = add i32 %622, %617 ; <i32> [#uses=1]
637
%624 = lshr i32 %612, 8 ; <i32> [#uses=1]
638
%625 = or i32 %624, 512 ; <i32> [#uses=1]
639
%626 = and i32 %625, 767 ; <i32> [#uses=1]
640
%627 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %626; <i32*> [#uses=1]
641
%628 = load i32* %627, align 4 ; <i32> [#uses=1]
642
%629 = xor i32 %623, %628 ; <i32> [#uses=1]
643
%630 = or i32 %612, 768 ; <i32> [#uses=1]
644
%631 = and i32 %630, 1023 ; <i32> [#uses=1]
645
%632 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %631; <i32*> [#uses=1]
646
%633 = load i32* %632, align 4 ; <i32> [#uses=1]
647
%634 = add i32 %629, %633 ; <i32> [#uses=1]
648
%635 = xor i32 %614, %588 ; <i32> [#uses=1]
649
%636 = xor i32 %635, %634 ; <i32> [#uses=5]
650
%637 = getelementptr %struct.BF_KEY* %key, i32 0, i32 0, i32 3; <i32*> [#uses=1]
651
%638 = load i32* %637, align 4 ; <i32> [#uses=1]
652
%639 = lshr i32 %636, 24 ; <i32> [#uses=1]
653
%640 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %639; <i32*> [#uses=1]
654
%641 = load i32* %640, align 4 ; <i32> [#uses=1]
655
%642 = lshr i32 %636, 16 ; <i32> [#uses=1]
656
%643 = or i32 %642, 256 ; <i32> [#uses=1]
657
%644 = and i32 %643, 511 ; <i32> [#uses=1]
658
%645 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %644; <i32*> [#uses=1]
659
%646 = load i32* %645, align 4 ; <i32> [#uses=1]
660
%647 = add i32 %646, %641 ; <i32> [#uses=1]
661
%648 = lshr i32 %636, 8 ; <i32> [#uses=1]
662
%649 = or i32 %648, 512 ; <i32> [#uses=1]
663
%650 = and i32 %649, 767 ; <i32> [#uses=1]
664
%651 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %650; <i32*> [#uses=1]
665
%652 = load i32* %651, align 4 ; <i32> [#uses=1]
666
%653 = xor i32 %647, %652 ; <i32> [#uses=1]
667
%654 = or i32 %636, 768 ; <i32> [#uses=1]
668
%655 = and i32 %654, 1023 ; <i32> [#uses=1]
669
%656 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %655; <i32*> [#uses=1]
670
%657 = load i32* %656, align 4 ; <i32> [#uses=1]
671
%658 = add i32 %653, %657 ; <i32> [#uses=1]
672
%659 = xor i32 %638, %612 ; <i32> [#uses=1]
673
%660 = xor i32 %659, %658 ; <i32> [#uses=5]
674
%661 = load i32* undef, align 4 ; <i32> [#uses=1]
675
%662 = lshr i32 %660, 24 ; <i32> [#uses=1]
676
%663 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %662; <i32*> [#uses=1]
677
%664 = load i32* %663, align 4 ; <i32> [#uses=1]
678
%665 = lshr i32 %660, 16 ; <i32> [#uses=1]
679
%666 = or i32 %665, 256 ; <i32> [#uses=1]
680
%667 = and i32 %666, 511 ; <i32> [#uses=1]
681
%668 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %667; <i32*> [#uses=1]
682
%669 = load i32* %668, align 4 ; <i32> [#uses=1]
683
%670 = add i32 %669, %664 ; <i32> [#uses=1]
684
%671 = lshr i32 %660, 8 ; <i32> [#uses=1]
685
%672 = or i32 %671, 512 ; <i32> [#uses=1]
686
%673 = and i32 %672, 767 ; <i32> [#uses=1]
687
%674 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %673; <i32*> [#uses=1]
688
%675 = load i32* %674, align 4 ; <i32> [#uses=1]
689
%676 = xor i32 %670, %675 ; <i32> [#uses=1]
690
%677 = or i32 %660, 768 ; <i32> [#uses=1]
691
%678 = and i32 %677, 1023 ; <i32> [#uses=1]
692
%679 = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %678; <i32*> [#uses=1]
693
%680 = load i32* %679, align 4 ; <i32> [#uses=1]
694
%681 = add i32 %676, %680 ; <i32> [#uses=1]
695
%682 = xor i32 %661, %636 ; <i32> [#uses=1]
696
%683 = xor i32 %682, %681 ; <i32> [#uses=5]
697
%684 = getelementptr %struct.BF_KEY* %key, i32 0, i32 0, i32 1; <i32*> [#uses=1]
700
bb2: ; preds = %bb1, %bb
701
%.pn2.in = phi i32* [ %329, %bb ], [ %0, %bb1 ]; <i32*> [#uses=1]
702
%.pn3 = phi i32 [ %328, %bb ], [ %683, %bb1 ]; <i32> [#uses=1]
703
%.pn15.in = phi i32 [ %328, %bb ], [ %683, %bb1 ]; <i32> [#uses=1]
704
%.pn14.in.in.in = phi i32 [ %328, %bb ], [ %683, %bb1 ]; <i32> [#uses=1]
705
%.pn13.in.in.in = phi i32 [ %328, %bb ], [ %683, %bb1 ]; <i32> [#uses=1]
706
%.pn10.in.in = phi i32 [ %328, %bb ], [ %683, %bb1 ]; <i32> [#uses=1]
707
%.pn4.in = phi i32* [ null, %bb ], [ %684, %bb1 ]; <i32*> [#uses=1]
708
%.pn5 = phi i32 [ 0, %bb ], [ %660, %bb1 ]; <i32> [#uses=1]
709
%.pn14.in.in = lshr i32 %.pn14.in.in.in, 16; <i32> [#uses=1]
710
%.pn14.in = or i32 %.pn14.in.in, 256 ; <i32> [#uses=1]
711
%.pn13.in.in = lshr i32 %.pn13.in.in.in, 8; <i32> [#uses=1]
712
%.pn15 = lshr i32 %.pn15.in, 24 ; <i32> [#uses=1]
713
%.pn14 = and i32 %.pn14.in, 511 ; <i32> [#uses=1]
714
%.pn13.in = or i32 %.pn13.in.in, 512 ; <i32> [#uses=1]
715
%.pn11.in = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %.pn15; <i32*> [#uses=1]
716
%.pn12.in = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %.pn14; <i32*> [#uses=1]
717
%.pn13 = and i32 %.pn13.in, 767 ; <i32> [#uses=1]
718
%.pn10.in = or i32 %.pn10.in.in, 768 ; <i32> [#uses=1]
719
%.pn11 = load i32* %.pn11.in ; <i32> [#uses=1]
720
%.pn12 = load i32* %.pn12.in ; <i32> [#uses=1]
721
%.pn9.in = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %.pn13; <i32*> [#uses=1]
722
%.pn10 = and i32 %.pn10.in, 1023 ; <i32> [#uses=1]
723
%.pn8 = add i32 %.pn12, %.pn11 ; <i32> [#uses=1]
724
%.pn9 = load i32* %.pn9.in ; <i32> [#uses=1]
725
%.pn7.in = getelementptr %struct.BF_KEY* %key, i32 0, i32 1, i32 %.pn10; <i32*> [#uses=1]
726
%.pn6 = xor i32 %.pn8, %.pn9 ; <i32> [#uses=1]
727
%.pn7 = load i32* %.pn7.in ; <i32> [#uses=1]
728
%.pn4 = load i32* %.pn4.in ; <i32> [#uses=1]
729
%.pn2 = load i32* %.pn2.in ; <i32> [#uses=1]
730
%.pn = add i32 %.pn6, %.pn7 ; <i32> [#uses=1]
731
%r.0 = xor i32 %.pn2, %.pn3 ; <i32> [#uses=1]
732
%.pn1 = xor i32 %.pn, %.pn5 ; <i32> [#uses=1]
733
%l.0 = xor i32 %.pn1, %.pn4 ; <i32> [#uses=1]
734
store i32 %l.0, i32* undef, align 4
735
store i32 %r.0, i32* %data, align 4