blob: 7036dd19b4bc14c6b467f9b09f24f672e8dc5651 [file] [log] [blame]
Dan Gohmanc8054d92009-09-09 00:09:15 +00001; RUN: llc < %s -mtriple=thumbv6-apple-darwin
Evan Chengf59e9f42009-08-13 06:05:07 +00002
3 %struct.BF_KEY = type { [18 x i32], [1024 x i32] }
4
Rafael Espindola29dda212010-06-17 15:18:27 +00005define void @BF_encrypt(i32* nocapture %data, %struct.BF_KEY* nocapture %key, i32 %encrypt) nounwind {
Evan Chengf59e9f42009-08-13 06:05:07 +00006entry:
David Blaikie79e6c742015-02-27 19:29:02 +00007 %0 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 0, i32 0; <i32*> [#uses=2]
David Blaikiea79ac142015-02-27 21:17:42 +00008 %1 = load i32, i32* %data, align 4 ; <i32> [#uses=2]
9 %2 = load i32, i32* undef, align 4 ; <i32> [#uses=2]
Evan Chengf59e9f42009-08-13 06:05:07 +000010 br i1 undef, label %bb1, label %bb
11
12bb: ; preds = %entry
David Blaikiea79ac142015-02-27 21:17:42 +000013 %3 = load i32, i32* %0, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +000014 %4 = xor i32 %3, %1 ; <i32> [#uses=4]
David Blaikiea79ac142015-02-27 21:17:42 +000015 %5 = load i32, i32* null, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +000016 %6 = lshr i32 %4, 24 ; <i32> [#uses=1]
David Blaikie79e6c742015-02-27 19:29:02 +000017 %7 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %6; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +000018 %8 = load i32, i32* %7, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +000019 %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]
David Blaikie79e6c742015-02-27 19:29:02 +000022 %12 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %11; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +000023 %13 = load i32, i32* %12, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +000024 %14 = add i32 %13, %8 ; <i32> [#uses=1]
David Blaikie79e6c742015-02-27 19:29:02 +000025 %15 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 undef; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +000026 %16 = load i32, i32* %15, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +000027 %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]
David Blaikie79e6c742015-02-27 19:29:02 +000030 %20 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %19; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +000031 %21 = load i32, i32* %20, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +000032 %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]
David Blaikie79e6c742015-02-27 19:29:02 +000035 %25 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 0, i32 2; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +000036 %26 = load i32, i32* %25, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +000037 %27 = lshr i32 %24, 24 ; <i32> [#uses=1]
David Blaikie79e6c742015-02-27 19:29:02 +000038 %28 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %27; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +000039 %29 = load i32, i32* %28, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +000040 %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]
David Blaikie79e6c742015-02-27 19:29:02 +000043 %33 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %32; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +000044 %34 = load i32, i32* %33, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +000045 %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]
David Blaikie79e6c742015-02-27 19:29:02 +000049 %39 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %38; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +000050 %40 = load i32, i32* %39, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +000051 %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]
David Blaikie79e6c742015-02-27 19:29:02 +000054 %44 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %43; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +000055 %45 = load i32, i32* %44, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +000056 %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]
David Blaikie79e6c742015-02-27 19:29:02 +000059 %49 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 0, i32 3; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +000060 %50 = load i32, i32* %49, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +000061 %51 = lshr i32 %48, 24 ; <i32> [#uses=1]
David Blaikie79e6c742015-02-27 19:29:02 +000062 %52 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %51; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +000063 %53 = load i32, i32* %52, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +000064 %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]
David Blaikie79e6c742015-02-27 19:29:02 +000067 %57 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %56; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +000068 %58 = load i32, i32* %57, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +000069 %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]
David Blaikie79e6c742015-02-27 19:29:02 +000073 %63 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %62; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +000074 %64 = load i32, i32* %63, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +000075 %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]
David Blaikie79e6c742015-02-27 19:29:02 +000078 %68 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %67; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +000079 %69 = load i32, i32* %68, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +000080 %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]
David Blaikiea79ac142015-02-27 21:17:42 +000083 %73 = load i32, i32* null, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +000084 %74 = lshr i32 %72, 24 ; <i32> [#uses=1]
David Blaikie79e6c742015-02-27 19:29:02 +000085 %75 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %74; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +000086 %76 = load i32, i32* %75, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +000087 %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]
David Blaikie79e6c742015-02-27 19:29:02 +000090 %80 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %79; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +000091 %81 = load i32, i32* %80, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +000092 %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]
David Blaikie79e6c742015-02-27 19:29:02 +000096 %86 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %85; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +000097 %87 = load i32, i32* %86, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +000098 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000101 %91 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %90; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000102 %92 = load i32, i32* %91, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000103 %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]
David Blaikiea79ac142015-02-27 21:17:42 +0000106 %96 = load i32, i32* undef, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000107 %97 = lshr i32 %95, 24 ; <i32> [#uses=1]
David Blaikie79e6c742015-02-27 19:29:02 +0000108 %98 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %97; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000109 %99 = load i32, i32* %98, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000110 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000113 %103 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %102; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000114 %104 = load i32, i32* %103, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000115 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000119 %109 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %108; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000120 %110 = load i32, i32* %109, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000121 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000124 %114 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %113; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000125 %115 = load i32, i32* %114, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000126 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000129 %119 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 0, i32 6; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000130 %120 = load i32, i32* %119, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000131 %121 = lshr i32 %118, 24 ; <i32> [#uses=1]
David Blaikie79e6c742015-02-27 19:29:02 +0000132 %122 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %121; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000133 %123 = load i32, i32* %122, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000134 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000137 %127 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %126; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000138 %128 = load i32, i32* %127, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000139 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000143 %133 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %132; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000144 %134 = load i32, i32* %133, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000145 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000148 %138 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %137; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000149 %139 = load i32, i32* %138, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000150 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000153 %143 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 0, i32 7; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000154 %144 = load i32, i32* %143, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000155 %145 = lshr i32 %142, 24 ; <i32> [#uses=1]
David Blaikie79e6c742015-02-27 19:29:02 +0000156 %146 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %145; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000157 %147 = load i32, i32* %146, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000158 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000161 %151 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %150; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000162 %152 = load i32, i32* %151, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000163 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000167 %157 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %156; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000168 %158 = load i32, i32* %157, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000169 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000172 %162 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %161; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000173 %163 = load i32, i32* %162, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000174 %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]
David Blaikiea79ac142015-02-27 21:17:42 +0000177 %167 = load i32, i32* undef, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000178 %168 = lshr i32 %166, 24 ; <i32> [#uses=1]
David Blaikie79e6c742015-02-27 19:29:02 +0000179 %169 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %168; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000180 %170 = load i32, i32* %169, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000181 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000184 %174 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %173; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000185 %175 = load i32, i32* %174, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000186 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000190 %180 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %179; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000191 %181 = load i32, i32* %180, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000192 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000195 %185 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %184; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000196 %186 = load i32, i32* %185, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000197 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000200 %190 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 0, i32 9; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000201 %191 = load i32, i32* %190, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000202 %192 = lshr i32 %189, 24 ; <i32> [#uses=1]
David Blaikie79e6c742015-02-27 19:29:02 +0000203 %193 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %192; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000204 %194 = load i32, i32* %193, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000205 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000208 %198 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %197; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000209 %199 = load i32, i32* %198, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000210 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000214 %204 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %203; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000215 %205 = load i32, i32* %204, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000216 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000219 %209 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %208; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000220 %210 = load i32, i32* %209, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000221 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000224 %214 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 0, i32 10; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000225 %215 = load i32, i32* %214, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000226 %216 = lshr i32 %213, 24 ; <i32> [#uses=1]
David Blaikie79e6c742015-02-27 19:29:02 +0000227 %217 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %216; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000228 %218 = load i32, i32* %217, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000229 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000232 %222 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %221; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000233 %223 = load i32, i32* %222, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000234 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000238 %228 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %227; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000239 %229 = load i32, i32* %228, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000240 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000243 %233 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %232; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000244 %234 = load i32, i32* %233, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000245 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000248 %238 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 0, i32 11; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000249 %239 = load i32, i32* %238, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000250 %240 = lshr i32 %237, 24 ; <i32> [#uses=1]
David Blaikie79e6c742015-02-27 19:29:02 +0000251 %241 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %240; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000252 %242 = load i32, i32* %241, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000253 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000256 %246 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %245; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000257 %247 = load i32, i32* %246, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000258 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000262 %252 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %251; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000263 %253 = load i32, i32* %252, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000264 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000267 %257 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %256; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000268 %258 = load i32, i32* %257, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000269 %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]
David Blaikiea79ac142015-02-27 21:17:42 +0000272 %262 = load i32, i32* undef, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000273 %263 = lshr i32 %261, 24 ; <i32> [#uses=1]
David Blaikie79e6c742015-02-27 19:29:02 +0000274 %264 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %263; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000275 %265 = load i32, i32* %264, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000276 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000279 %269 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %268; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000280 %270 = load i32, i32* %269, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000281 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000285 %275 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %274; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000286 %276 = load i32, i32* %275, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000287 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000290 %280 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %279; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000291 %281 = load i32, i32* %280, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000292 %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]
David Blaikiea79ac142015-02-27 21:17:42 +0000295 %285 = load i32, i32* null, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000296 %286 = lshr i32 %284, 24 ; <i32> [#uses=1]
David Blaikie79e6c742015-02-27 19:29:02 +0000297 %287 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %286; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000298 %288 = load i32, i32* %287, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000299 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000302 %292 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %291; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000303 %293 = load i32, i32* %292, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000304 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000308 %298 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %297; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000309 %299 = load i32, i32* %298, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000310 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000313 %303 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %302; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000314 %304 = load i32, i32* %303, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000315 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000318 %308 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 0, i32 15; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000319 %309 = load i32, i32* %308, align 4 ; <i32> [#uses=1]
David Blaikie79e6c742015-02-27 19:29:02 +0000320 %310 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 0; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000321 %311 = load i32, i32* %310, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000322 %312 = or i32 0, 256 ; <i32> [#uses=1]
323 %313 = and i32 %312, 511 ; <i32> [#uses=1]
David Blaikie79e6c742015-02-27 19:29:02 +0000324 %314 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %313; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000325 %315 = load i32, i32* %314, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000326 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000329 %319 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %318; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000330 %320 = load i32, i32* %319, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000331 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000334 %324 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %323; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000335 %325 = load i32, i32* %324, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000336 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000339 %329 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 0, i32 17; <i32*> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000340 br label %bb2
341
342bb1: ; preds = %entry
David Blaikiea79ac142015-02-27 21:17:42 +0000343 %330 = load i32, i32* null, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000344 %331 = xor i32 %330, %1 ; <i32> [#uses=4]
David Blaikiea79ac142015-02-27 21:17:42 +0000345 %332 = load i32, i32* null, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000346 %333 = lshr i32 %331, 24 ; <i32> [#uses=1]
David Blaikie79e6c742015-02-27 19:29:02 +0000347 %334 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %333; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000348 %335 = load i32, i32* %334, align 4 ; <i32> [#uses=1]
349 %336 = load i32, i32* null, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000350 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000354 %341 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %340; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000355 %342 = load i32, i32* %341, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000356 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000359 %346 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %345; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000360 %347 = load i32, i32* %346, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000361 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000364 %351 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 0, i32 15; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000365 %352 = load i32, i32* %351, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000366 %353 = lshr i32 %350, 24 ; <i32> [#uses=1]
David Blaikie79e6c742015-02-27 19:29:02 +0000367 %354 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %353; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000368 %355 = load i32, i32* %354, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000369 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000372 %359 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %358; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000373 %360 = load i32, i32* %359, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000374 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000378 %365 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %364; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000379 %366 = load i32, i32* %365, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000380 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000383 %370 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %369; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000384 %371 = load i32, i32* %370, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000385 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000388 %375 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 0, i32 14; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000389 %376 = load i32, i32* %375, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000390 %377 = lshr i32 %374, 24 ; <i32> [#uses=1]
David Blaikie79e6c742015-02-27 19:29:02 +0000391 %378 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %377; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000392 %379 = load i32, i32* %378, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000393 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000396 %383 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %382; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000397 %384 = load i32, i32* %383, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000398 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000402 %389 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %388; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000403 %390 = load i32, i32* %389, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000404 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000407 %394 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %393; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000408 %395 = load i32, i32* %394, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000409 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000412 %399 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 0, i32 13; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000413 %400 = load i32, i32* %399, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000414 %401 = lshr i32 %398, 24 ; <i32> [#uses=1]
David Blaikie79e6c742015-02-27 19:29:02 +0000415 %402 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %401; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000416 %403 = load i32, i32* %402, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000417 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000420 %407 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %406; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000421 %408 = load i32, i32* %407, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000422 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000426 %413 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %412; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000427 %414 = load i32, i32* %413, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000428 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000431 %418 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %417; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000432 %419 = load i32, i32* %418, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000433 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000436 %423 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 0, i32 12; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000437 %424 = load i32, i32* %423, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000438 %425 = lshr i32 %422, 24 ; <i32> [#uses=1]
David Blaikie79e6c742015-02-27 19:29:02 +0000439 %426 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %425; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000440 %427 = load i32, i32* %426, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000441 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000444 %431 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %430; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000445 %432 = load i32, i32* %431, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000446 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000450 %437 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %436; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000451 %438 = load i32, i32* %437, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000452 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000455 %442 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %441; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000456 %443 = load i32, i32* %442, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000457 %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]
David Blaikiea79ac142015-02-27 21:17:42 +0000460 %447 = load i32, i32* undef, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000461 %448 = lshr i32 %446, 24 ; <i32> [#uses=1]
David Blaikie79e6c742015-02-27 19:29:02 +0000462 %449 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %448; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000463 %450 = load i32, i32* %449, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000464 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000467 %454 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %453; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000468 %455 = load i32, i32* %454, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000469 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000473 %460 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %459; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000474 %461 = load i32, i32* %460, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000475 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000478 %465 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %464; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000479 %466 = load i32, i32* %465, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000480 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000483 %470 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 0, i32 10; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000484 %471 = load i32, i32* %470, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000485 %472 = lshr i32 %469, 24 ; <i32> [#uses=1]
David Blaikie79e6c742015-02-27 19:29:02 +0000486 %473 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %472; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000487 %474 = load i32, i32* %473, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000488 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000491 %478 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %477; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000492 %479 = load i32, i32* %478, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000493 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000497 %484 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %483; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000498 %485 = load i32, i32* %484, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000499 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000502 %489 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %488; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000503 %490 = load i32, i32* %489, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000504 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000507 %494 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 0, i32 9; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000508 %495 = load i32, i32* %494, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000509 %496 = lshr i32 %493, 24 ; <i32> [#uses=1]
David Blaikie79e6c742015-02-27 19:29:02 +0000510 %497 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %496; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000511 %498 = load i32, i32* %497, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000512 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000515 %502 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %501; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000516 %503 = load i32, i32* %502, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000517 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000521 %508 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %507; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000522 %509 = load i32, i32* %508, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000523 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000526 %513 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %512; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000527 %514 = load i32, i32* %513, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000528 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000531 %518 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 0, i32 8; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000532 %519 = load i32, i32* %518, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000533 %520 = lshr i32 %517, 24 ; <i32> [#uses=1]
David Blaikie79e6c742015-02-27 19:29:02 +0000534 %521 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %520; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000535 %522 = load i32, i32* %521, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000536 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000539 %526 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %525; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000540 %527 = load i32, i32* %526, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000541 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000545 %532 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %531; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000546 %533 = load i32, i32* %532, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000547 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000550 %537 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %536; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000551 %538 = load i32, i32* %537, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000552 %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]
David Blaikiea79ac142015-02-27 21:17:42 +0000555 %542 = load i32, i32* undef, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000556 %543 = lshr i32 %541, 24 ; <i32> [#uses=1]
David Blaikie79e6c742015-02-27 19:29:02 +0000557 %544 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %543; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000558 %545 = load i32, i32* %544, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000559 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000562 %549 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %548; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000563 %550 = load i32, i32* %549, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000564 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000568 %555 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %554; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000569 %556 = load i32, i32* %555, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000570 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000573 %560 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %559; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000574 %561 = load i32, i32* %560, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000575 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000578 %565 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 0, i32 6; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000579 %566 = load i32, i32* %565, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000580 %567 = lshr i32 %564, 24 ; <i32> [#uses=1]
David Blaikie79e6c742015-02-27 19:29:02 +0000581 %568 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %567; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000582 %569 = load i32, i32* %568, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000583 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000586 %573 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %572; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000587 %574 = load i32, i32* %573, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000588 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000592 %579 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %578; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000593 %580 = load i32, i32* %579, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000594 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000597 %584 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %583; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000598 %585 = load i32, i32* %584, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000599 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000602 %589 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 0, i32 5; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000603 %590 = load i32, i32* %589, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000604 %591 = lshr i32 %588, 24 ; <i32> [#uses=1]
David Blaikie79e6c742015-02-27 19:29:02 +0000605 %592 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %591; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000606 %593 = load i32, i32* %592, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000607 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000610 %597 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %596; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000611 %598 = load i32, i32* %597, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000612 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000616 %603 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %602; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000617 %604 = load i32, i32* %603, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000618 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000621 %608 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %607; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000622 %609 = load i32, i32* %608, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000623 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000626 %613 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 0, i32 4; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000627 %614 = load i32, i32* %613, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000628 %615 = lshr i32 %612, 24 ; <i32> [#uses=1]
David Blaikie79e6c742015-02-27 19:29:02 +0000629 %616 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %615; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000630 %617 = load i32, i32* %616, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000631 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000634 %621 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %620; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000635 %622 = load i32, i32* %621, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000636 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000640 %627 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %626; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000641 %628 = load i32, i32* %627, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000642 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000645 %632 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %631; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000646 %633 = load i32, i32* %632, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000647 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000650 %637 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 0, i32 3; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000651 %638 = load i32, i32* %637, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000652 %639 = lshr i32 %636, 24 ; <i32> [#uses=1]
David Blaikie79e6c742015-02-27 19:29:02 +0000653 %640 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %639; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000654 %641 = load i32, i32* %640, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000655 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000658 %645 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %644; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000659 %646 = load i32, i32* %645, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000660 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000664 %651 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %650; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000665 %652 = load i32, i32* %651, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000666 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000669 %656 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %655; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000670 %657 = load i32, i32* %656, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000671 %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]
David Blaikiea79ac142015-02-27 21:17:42 +0000674 %661 = load i32, i32* undef, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000675 %662 = lshr i32 %660, 24 ; <i32> [#uses=1]
David Blaikie79e6c742015-02-27 19:29:02 +0000676 %663 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %662; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000677 %664 = load i32, i32* %663, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000678 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000681 %668 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %667; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000682 %669 = load i32, i32* %668, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000683 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000687 %674 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %673; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000688 %675 = load i32, i32* %674, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000689 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000692 %679 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %678; <i32*> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000693 %680 = load i32, i32* %679, align 4 ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000694 %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]
David Blaikie79e6c742015-02-27 19:29:02 +0000697 %684 = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 0, i32 1; <i32*> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000698 br label %bb2
699
700bb2: ; 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]
David Blaikie79e6c742015-02-27 19:29:02 +0000715 %.pn11.in = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %.pn15; <i32*> [#uses=1]
716 %.pn12.in = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %.pn14; <i32*> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000717 %.pn13 = and i32 %.pn13.in, 767 ; <i32> [#uses=1]
718 %.pn10.in = or i32 %.pn10.in.in, 768 ; <i32> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000719 %.pn11 = load i32, i32* %.pn11.in ; <i32> [#uses=1]
720 %.pn12 = load i32, i32* %.pn12.in ; <i32> [#uses=1]
David Blaikie79e6c742015-02-27 19:29:02 +0000721 %.pn9.in = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %.pn13; <i32*> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000722 %.pn10 = and i32 %.pn10.in, 1023 ; <i32> [#uses=1]
723 %.pn8 = add i32 %.pn12, %.pn11 ; <i32> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000724 %.pn9 = load i32, i32* %.pn9.in ; <i32> [#uses=1]
David Blaikie79e6c742015-02-27 19:29:02 +0000725 %.pn7.in = getelementptr %struct.BF_KEY, %struct.BF_KEY* %key, i32 0, i32 1, i32 %.pn10; <i32*> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000726 %.pn6 = xor i32 %.pn8, %.pn9 ; <i32> [#uses=1]
David Blaikiea79ac142015-02-27 21:17:42 +0000727 %.pn7 = load i32, i32* %.pn7.in ; <i32> [#uses=1]
728 %.pn4 = load i32, i32* %.pn4.in ; <i32> [#uses=1]
729 %.pn2 = load i32, i32* %.pn2.in ; <i32> [#uses=1]
Evan Chengf59e9f42009-08-13 06:05:07 +0000730 %.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
736 ret void
737}