738 lines · plain
1; RUN: llc < %s -mtriple=thumbv6-apple-darwin2 3 %struct.BF_KEY = type { [18 x i32], [1024 x i32] }4 5define void @BF_encrypt(ptr nocapture %data, ptr nocapture %key, i32 %encrypt) nounwind {6entry:7 %0 = getelementptr %struct.BF_KEY, ptr %key, i32 0, i32 0, i32 0; <ptr> [#uses=2]8 %1 = load i32, ptr %data, align 4 ; <i32> [#uses=2]9 %2 = load i32, ptr undef, align 4 ; <i32> [#uses=2]10 br i1 undef, label %bb1, label %bb11 12bb: ; preds = %entry13 %3 = load i32, ptr %0, align 4 ; <i32> [#uses=1]14 %4 = xor i32 %3, %1 ; <i32> [#uses=4]15 %5 = load i32, ptr null, align 4 ; <i32> [#uses=1]16 %6 = lshr i32 %4, 24 ; <i32> [#uses=1]17 %7 = getelementptr %struct.BF_KEY, ptr %key, i32 0, i32 1, i32 %6; <ptr> [#uses=1]18 %8 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %11; <ptr> [#uses=1]23 %13 = load i32, ptr %12, align 4 ; <i32> [#uses=1]24 %14 = add i32 %13, %8 ; <i32> [#uses=1]25 %15 = getelementptr %struct.BF_KEY, ptr %key, i32 0, i32 1, i32 undef; <ptr> [#uses=1]26 %16 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %19; <ptr> [#uses=1]31 %21 = load i32, ptr %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, ptr %key, i32 0, i32 0, i32 2; <ptr> [#uses=1]36 %26 = load i32, ptr %25, align 4 ; <i32> [#uses=1]37 %27 = lshr i32 %24, 24 ; <i32> [#uses=1]38 %28 = getelementptr %struct.BF_KEY, ptr %key, i32 0, i32 1, i32 %27; <ptr> [#uses=1]39 %29 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %32; <ptr> [#uses=1]44 %34 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %38; <ptr> [#uses=1]50 %40 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %43; <ptr> [#uses=1]55 %45 = load i32, ptr %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, ptr %key, i32 0, i32 0, i32 3; <ptr> [#uses=1]60 %50 = load i32, ptr %49, align 4 ; <i32> [#uses=1]61 %51 = lshr i32 %48, 24 ; <i32> [#uses=1]62 %52 = getelementptr %struct.BF_KEY, ptr %key, i32 0, i32 1, i32 %51; <ptr> [#uses=1]63 %53 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %56; <ptr> [#uses=1]68 %58 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %62; <ptr> [#uses=1]74 %64 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %67; <ptr> [#uses=1]79 %69 = load i32, ptr %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, ptr null, align 4 ; <i32> [#uses=1]84 %74 = lshr i32 %72, 24 ; <i32> [#uses=1]85 %75 = getelementptr %struct.BF_KEY, ptr %key, i32 0, i32 1, i32 %74; <ptr> [#uses=1]86 %76 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %79; <ptr> [#uses=1]91 %81 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %85; <ptr> [#uses=1]97 %87 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %90; <ptr> [#uses=1]102 %92 = load i32, ptr %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, ptr undef, align 4 ; <i32> [#uses=1]107 %97 = lshr i32 %95, 24 ; <i32> [#uses=1]108 %98 = getelementptr %struct.BF_KEY, ptr %key, i32 0, i32 1, i32 %97; <ptr> [#uses=1]109 %99 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %102; <ptr> [#uses=1]114 %104 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %108; <ptr> [#uses=1]120 %110 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %113; <ptr> [#uses=1]125 %115 = load i32, ptr %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, ptr %key, i32 0, i32 0, i32 6; <ptr> [#uses=1]130 %120 = load i32, ptr %119, align 4 ; <i32> [#uses=1]131 %121 = lshr i32 %118, 24 ; <i32> [#uses=1]132 %122 = getelementptr %struct.BF_KEY, ptr %key, i32 0, i32 1, i32 %121; <ptr> [#uses=1]133 %123 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %126; <ptr> [#uses=1]138 %128 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %132; <ptr> [#uses=1]144 %134 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %137; <ptr> [#uses=1]149 %139 = load i32, ptr %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, ptr %key, i32 0, i32 0, i32 7; <ptr> [#uses=1]154 %144 = load i32, ptr %143, align 4 ; <i32> [#uses=1]155 %145 = lshr i32 %142, 24 ; <i32> [#uses=1]156 %146 = getelementptr %struct.BF_KEY, ptr %key, i32 0, i32 1, i32 %145; <ptr> [#uses=1]157 %147 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %150; <ptr> [#uses=1]162 %152 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %156; <ptr> [#uses=1]168 %158 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %161; <ptr> [#uses=1]173 %163 = load i32, ptr %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, ptr undef, align 4 ; <i32> [#uses=1]178 %168 = lshr i32 %166, 24 ; <i32> [#uses=1]179 %169 = getelementptr %struct.BF_KEY, ptr %key, i32 0, i32 1, i32 %168; <ptr> [#uses=1]180 %170 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %173; <ptr> [#uses=1]185 %175 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %179; <ptr> [#uses=1]191 %181 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %184; <ptr> [#uses=1]196 %186 = load i32, ptr %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, ptr %key, i32 0, i32 0, i32 9; <ptr> [#uses=1]201 %191 = load i32, ptr %190, align 4 ; <i32> [#uses=1]202 %192 = lshr i32 %189, 24 ; <i32> [#uses=1]203 %193 = getelementptr %struct.BF_KEY, ptr %key, i32 0, i32 1, i32 %192; <ptr> [#uses=1]204 %194 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %197; <ptr> [#uses=1]209 %199 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %203; <ptr> [#uses=1]215 %205 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %208; <ptr> [#uses=1]220 %210 = load i32, ptr %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, ptr %key, i32 0, i32 0, i32 10; <ptr> [#uses=1]225 %215 = load i32, ptr %214, align 4 ; <i32> [#uses=1]226 %216 = lshr i32 %213, 24 ; <i32> [#uses=1]227 %217 = getelementptr %struct.BF_KEY, ptr %key, i32 0, i32 1, i32 %216; <ptr> [#uses=1]228 %218 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %221; <ptr> [#uses=1]233 %223 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %227; <ptr> [#uses=1]239 %229 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %232; <ptr> [#uses=1]244 %234 = load i32, ptr %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, ptr %key, i32 0, i32 0, i32 11; <ptr> [#uses=1]249 %239 = load i32, ptr %238, align 4 ; <i32> [#uses=1]250 %240 = lshr i32 %237, 24 ; <i32> [#uses=1]251 %241 = getelementptr %struct.BF_KEY, ptr %key, i32 0, i32 1, i32 %240; <ptr> [#uses=1]252 %242 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %245; <ptr> [#uses=1]257 %247 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %251; <ptr> [#uses=1]263 %253 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %256; <ptr> [#uses=1]268 %258 = load i32, ptr %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, ptr undef, align 4 ; <i32> [#uses=1]273 %263 = lshr i32 %261, 24 ; <i32> [#uses=1]274 %264 = getelementptr %struct.BF_KEY, ptr %key, i32 0, i32 1, i32 %263; <ptr> [#uses=1]275 %265 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %268; <ptr> [#uses=1]280 %270 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %274; <ptr> [#uses=1]286 %276 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %279; <ptr> [#uses=1]291 %281 = load i32, ptr %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, ptr null, align 4 ; <i32> [#uses=1]296 %286 = lshr i32 %284, 24 ; <i32> [#uses=1]297 %287 = getelementptr %struct.BF_KEY, ptr %key, i32 0, i32 1, i32 %286; <ptr> [#uses=1]298 %288 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %291; <ptr> [#uses=1]303 %293 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %297; <ptr> [#uses=1]309 %299 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %302; <ptr> [#uses=1]314 %304 = load i32, ptr %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, ptr %key, i32 0, i32 0, i32 15; <ptr> [#uses=1]319 %309 = load i32, ptr %308, align 4 ; <i32> [#uses=1]320 %310 = getelementptr %struct.BF_KEY, ptr %key, i32 0, i32 1, i32 0; <ptr> [#uses=1]321 %311 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %313; <ptr> [#uses=1]325 %315 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %318; <ptr> [#uses=1]330 %320 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %323; <ptr> [#uses=1]335 %325 = load i32, ptr %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, ptr %key, i32 0, i32 0, i32 17; <ptr> [#uses=1]340 br label %bb2341 342bb1: ; preds = %entry343 %330 = load i32, ptr null, align 4 ; <i32> [#uses=1]344 %331 = xor i32 %330, %1 ; <i32> [#uses=4]345 %332 = load i32, ptr null, align 4 ; <i32> [#uses=1]346 %333 = lshr i32 %331, 24 ; <i32> [#uses=1]347 %334 = getelementptr %struct.BF_KEY, ptr %key, i32 0, i32 1, i32 %333; <ptr> [#uses=1]348 %335 = load i32, ptr %334, align 4 ; <i32> [#uses=1]349 %336 = load i32, ptr 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, ptr %key, i32 0, i32 1, i32 %340; <ptr> [#uses=1]355 %342 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %345; <ptr> [#uses=1]360 %347 = load i32, ptr %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, ptr %key, i32 0, i32 0, i32 15; <ptr> [#uses=1]365 %352 = load i32, ptr %351, align 4 ; <i32> [#uses=1]366 %353 = lshr i32 %350, 24 ; <i32> [#uses=1]367 %354 = getelementptr %struct.BF_KEY, ptr %key, i32 0, i32 1, i32 %353; <ptr> [#uses=1]368 %355 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %358; <ptr> [#uses=1]373 %360 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %364; <ptr> [#uses=1]379 %366 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %369; <ptr> [#uses=1]384 %371 = load i32, ptr %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, ptr %key, i32 0, i32 0, i32 14; <ptr> [#uses=1]389 %376 = load i32, ptr %375, align 4 ; <i32> [#uses=1]390 %377 = lshr i32 %374, 24 ; <i32> [#uses=1]391 %378 = getelementptr %struct.BF_KEY, ptr %key, i32 0, i32 1, i32 %377; <ptr> [#uses=1]392 %379 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %382; <ptr> [#uses=1]397 %384 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %388; <ptr> [#uses=1]403 %390 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %393; <ptr> [#uses=1]408 %395 = load i32, ptr %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, ptr %key, i32 0, i32 0, i32 13; <ptr> [#uses=1]413 %400 = load i32, ptr %399, align 4 ; <i32> [#uses=1]414 %401 = lshr i32 %398, 24 ; <i32> [#uses=1]415 %402 = getelementptr %struct.BF_KEY, ptr %key, i32 0, i32 1, i32 %401; <ptr> [#uses=1]416 %403 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %406; <ptr> [#uses=1]421 %408 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %412; <ptr> [#uses=1]427 %414 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %417; <ptr> [#uses=1]432 %419 = load i32, ptr %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, ptr %key, i32 0, i32 0, i32 12; <ptr> [#uses=1]437 %424 = load i32, ptr %423, align 4 ; <i32> [#uses=1]438 %425 = lshr i32 %422, 24 ; <i32> [#uses=1]439 %426 = getelementptr %struct.BF_KEY, ptr %key, i32 0, i32 1, i32 %425; <ptr> [#uses=1]440 %427 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %430; <ptr> [#uses=1]445 %432 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %436; <ptr> [#uses=1]451 %438 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %441; <ptr> [#uses=1]456 %443 = load i32, ptr %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, ptr undef, align 4 ; <i32> [#uses=1]461 %448 = lshr i32 %446, 24 ; <i32> [#uses=1]462 %449 = getelementptr %struct.BF_KEY, ptr %key, i32 0, i32 1, i32 %448; <ptr> [#uses=1]463 %450 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %453; <ptr> [#uses=1]468 %455 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %459; <ptr> [#uses=1]474 %461 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %464; <ptr> [#uses=1]479 %466 = load i32, ptr %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, ptr %key, i32 0, i32 0, i32 10; <ptr> [#uses=1]484 %471 = load i32, ptr %470, align 4 ; <i32> [#uses=1]485 %472 = lshr i32 %469, 24 ; <i32> [#uses=1]486 %473 = getelementptr %struct.BF_KEY, ptr %key, i32 0, i32 1, i32 %472; <ptr> [#uses=1]487 %474 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %477; <ptr> [#uses=1]492 %479 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %483; <ptr> [#uses=1]498 %485 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %488; <ptr> [#uses=1]503 %490 = load i32, ptr %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, ptr %key, i32 0, i32 0, i32 9; <ptr> [#uses=1]508 %495 = load i32, ptr %494, align 4 ; <i32> [#uses=1]509 %496 = lshr i32 %493, 24 ; <i32> [#uses=1]510 %497 = getelementptr %struct.BF_KEY, ptr %key, i32 0, i32 1, i32 %496; <ptr> [#uses=1]511 %498 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %501; <ptr> [#uses=1]516 %503 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %507; <ptr> [#uses=1]522 %509 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %512; <ptr> [#uses=1]527 %514 = load i32, ptr %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, ptr %key, i32 0, i32 0, i32 8; <ptr> [#uses=1]532 %519 = load i32, ptr %518, align 4 ; <i32> [#uses=1]533 %520 = lshr i32 %517, 24 ; <i32> [#uses=1]534 %521 = getelementptr %struct.BF_KEY, ptr %key, i32 0, i32 1, i32 %520; <ptr> [#uses=1]535 %522 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %525; <ptr> [#uses=1]540 %527 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %531; <ptr> [#uses=1]546 %533 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %536; <ptr> [#uses=1]551 %538 = load i32, ptr %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, ptr undef, align 4 ; <i32> [#uses=1]556 %543 = lshr i32 %541, 24 ; <i32> [#uses=1]557 %544 = getelementptr %struct.BF_KEY, ptr %key, i32 0, i32 1, i32 %543; <ptr> [#uses=1]558 %545 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %548; <ptr> [#uses=1]563 %550 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %554; <ptr> [#uses=1]569 %556 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %559; <ptr> [#uses=1]574 %561 = load i32, ptr %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, ptr %key, i32 0, i32 0, i32 6; <ptr> [#uses=1]579 %566 = load i32, ptr %565, align 4 ; <i32> [#uses=1]580 %567 = lshr i32 %564, 24 ; <i32> [#uses=1]581 %568 = getelementptr %struct.BF_KEY, ptr %key, i32 0, i32 1, i32 %567; <ptr> [#uses=1]582 %569 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %572; <ptr> [#uses=1]587 %574 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %578; <ptr> [#uses=1]593 %580 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %583; <ptr> [#uses=1]598 %585 = load i32, ptr %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, ptr %key, i32 0, i32 0, i32 5; <ptr> [#uses=1]603 %590 = load i32, ptr %589, align 4 ; <i32> [#uses=1]604 %591 = lshr i32 %588, 24 ; <i32> [#uses=1]605 %592 = getelementptr %struct.BF_KEY, ptr %key, i32 0, i32 1, i32 %591; <ptr> [#uses=1]606 %593 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %596; <ptr> [#uses=1]611 %598 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %602; <ptr> [#uses=1]617 %604 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %607; <ptr> [#uses=1]622 %609 = load i32, ptr %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, ptr %key, i32 0, i32 0, i32 4; <ptr> [#uses=1]627 %614 = load i32, ptr %613, align 4 ; <i32> [#uses=1]628 %615 = lshr i32 %612, 24 ; <i32> [#uses=1]629 %616 = getelementptr %struct.BF_KEY, ptr %key, i32 0, i32 1, i32 %615; <ptr> [#uses=1]630 %617 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %620; <ptr> [#uses=1]635 %622 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %626; <ptr> [#uses=1]641 %628 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %631; <ptr> [#uses=1]646 %633 = load i32, ptr %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, ptr %key, i32 0, i32 0, i32 3; <ptr> [#uses=1]651 %638 = load i32, ptr %637, align 4 ; <i32> [#uses=1]652 %639 = lshr i32 %636, 24 ; <i32> [#uses=1]653 %640 = getelementptr %struct.BF_KEY, ptr %key, i32 0, i32 1, i32 %639; <ptr> [#uses=1]654 %641 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %644; <ptr> [#uses=1]659 %646 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %650; <ptr> [#uses=1]665 %652 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %655; <ptr> [#uses=1]670 %657 = load i32, ptr %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, ptr undef, align 4 ; <i32> [#uses=1]675 %662 = lshr i32 %660, 24 ; <i32> [#uses=1]676 %663 = getelementptr %struct.BF_KEY, ptr %key, i32 0, i32 1, i32 %662; <ptr> [#uses=1]677 %664 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %667; <ptr> [#uses=1]682 %669 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %673; <ptr> [#uses=1]688 %675 = load i32, ptr %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, ptr %key, i32 0, i32 1, i32 %678; <ptr> [#uses=1]693 %680 = load i32, ptr %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, ptr %key, i32 0, i32 0, i32 1; <ptr> [#uses=1]698 br label %bb2699 700bb2: ; preds = %bb1, %bb701 %.pn2.in = phi ptr [ %329, %bb ], [ %0, %bb1 ]; <ptr> [#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 ptr [ null, %bb ], [ %684, %bb1 ]; <ptr> [#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, ptr %key, i32 0, i32 1, i32 %.pn15; <ptr> [#uses=1]716 %.pn12.in = getelementptr %struct.BF_KEY, ptr %key, i32 0, i32 1, i32 %.pn14; <ptr> [#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, ptr %.pn11.in ; <i32> [#uses=1]720 %.pn12 = load i32, ptr %.pn12.in ; <i32> [#uses=1]721 %.pn9.in = getelementptr %struct.BF_KEY, ptr %key, i32 0, i32 1, i32 %.pn13; <ptr> [#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, ptr %.pn9.in ; <i32> [#uses=1]725 %.pn7.in = getelementptr %struct.BF_KEY, ptr %key, i32 0, i32 1, i32 %.pn10; <ptr> [#uses=1]726 %.pn6 = xor i32 %.pn8, %.pn9 ; <i32> [#uses=1]727 %.pn7 = load i32, ptr %.pn7.in ; <i32> [#uses=1]728 %.pn4 = load i32, ptr %.pn4.in ; <i32> [#uses=1]729 %.pn2 = load i32, ptr %.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, ptr undef, align 4735 store i32 %r.0, ptr %data, align 4736 ret void737}738