Merging r261039:
[oota-llvm.git] / test / CodeGen / X86 / fold-vector-shuffle-crash.ll
1 ; RUN: llc < %s -mtriple=x86_64-unknown -mcpu=corei7
2
3 define void @autogen_SD13708(i32) {
4 BB:
5  %Shuff7 = shufflevector <8 x i32> zeroinitializer, <8 x i32> zeroinitializer, <8 x i32> <i32 8, i32 10, i32 12, i32 14, i32 undef, i32 2, i32 4, i32 undef>
6  br label %CF
7
8 CF:
9  %Tr = trunc <8 x i64> zeroinitializer to <8 x i32>
10  %Shuff20 = shufflevector <8 x i32> %Shuff7, <8 x i32> %Tr, <8 x i32> <i32 13, i32 15, i32 1, i32 3, i32 5, i32 7, i32 undef, i32 11>
11  br i1 undef, label %CF, label %CF247
12
13 CF247:
14  %I171 = insertelement <8 x i32> %Shuff20, i32 %0, i32 0
15  br i1 undef, label %CF, label %CF247
16 }
17
18 define void @autogen_SD13800(i8*, i32*, i64*, i32, i64, i8) {
19 BB:
20   %A4 = alloca <8 x i1>
21   %A3 = alloca i32
22   %A2 = alloca <2 x float>
23   %A1 = alloca <2 x double>
24   %A = alloca <8 x float>
25   %L = load <8 x i1>, <8 x i1>* %A4
26   store i8 %5, i8* %0
27   %E = extractelement <2 x i64> zeroinitializer, i32 0
28   %Shuff = shufflevector <4 x i64> zeroinitializer, <4 x i64> zeroinitializer, <4 x i32> <i32 7, i32 undef, i32 undef, i32 5>
29   %I = insertelement <8 x i64> zeroinitializer, i64 419346, i32 1
30   %B = shl i64 426618, 419346
31   %Tr = trunc <8 x i64> %I to <8 x i16>
32   %Sl = select i1 false, <4 x i64> zeroinitializer, <4 x i64> zeroinitializer
33   %Cmp = icmp eq <16 x i64> zeroinitializer, zeroinitializer
34   %L5 = load i8, i8* %0
35   store i8 17, i8* %0
36   %E6 = extractelement <4 x i64> zeroinitializer, i32 1
37   %Shuff7 = shufflevector <2 x i64> zeroinitializer, <2 x i64> <i64 -1, i64 -1>, <2 x i32> <i32 0, i32 2>
38   %I8 = insertelement <16 x i8> <i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1>, i8 %L5, i32 2
39   %B9 = mul <8 x i16> %Tr, %Tr
40   %FC = fptosi float 0xBDF7B90B80000000 to i32
41   %Sl10 = select i1 false, float 0xBDF7B90B80000000, float 0xB875A90980000000
42   %Cmp11 = icmp slt <2 x i64> zeroinitializer, %Shuff7
43   %L12 = load <8 x float>, <8 x float>* %A
44   store <2 x double> <double 0xFFFFFFFFFFFFFFFF, double 0.000000e+00>, <2 x double>* %A1
45   %E13 = extractelement <4 x i64> zeroinitializer, i32 2
46   %Shuff14 = shufflevector <2 x i32> zeroinitializer, <2 x i32> zeroinitializer, <2 x i32> <i32 1, i32 3>
47   %I15 = insertelement <16 x i8> <i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1>, i8 %L5, i32 15
48   %B16 = add <2 x i64> zeroinitializer, <i64 -1, i64 -1>
49   %BC = bitcast i64 426618 to double
50   %Sl17 = select i1 false, <2 x i32> zeroinitializer, <2 x i32> zeroinitializer
51   %Cmp18 = icmp slt <8 x i1> %L, %L
52   %L19 = load i8, i8* %0
53   store i8 %L5, i8* %0
54   %E20 = extractelement <16 x i8> %I8, i32 1
55   %Shuff21 = shufflevector <8 x i64> zeroinitializer, <8 x i64> %I, <8 x i32> <i32 undef, i32 6, i32 8, i32 10, i32 12, i32 14, i32 0, i32 2>
56   %I22 = insertelement <8 x i16> %Tr, i16 18460, i32 6
57   %B23 = sub i64 419346, %4
58   %FC24 = fptosi double 0xE603EE221901D6A0 to i32
59   %Sl25 = select i1 false, i8 %L5, i8 %5
60   %Cmp26 = icmp ugt i64 %B, %B23
61   br label %CF253
62
63 CF253:                                            ; preds = %CF253, %CF271, %CF260, %BB
64   %L27 = load i8, i8* %0
65   store i8 %L5, i8* %0
66   %E28 = extractelement <2 x i64> zeroinitializer, i32 0
67   %Shuff29 = shufflevector <16 x i8> <i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1>, <16 x i8> %I8, <16 x i32> <i32 15, i32 17, i32 19, i32 21, i32 23, i32 25, i32 27, i32 undef, i32 31, i32 undef, i32 3, i32 5, i32 7, i32 9, i32 11, i32 13>
68   %I30 = insertelement <8 x i1> %Cmp18, i1 false, i32 1
69   %B31 = fsub double 0xE603EE221901D6A0, %BC
70   %Tr32 = trunc <2 x i64> <i64 -1, i64 -1> to <2 x i32>
71   %Sl33 = select i1 false, double %BC, double %B31
72   %Cmp34 = icmp sgt <2 x i32> zeroinitializer, %Shuff14
73   %L35 = load i8, i8* %0
74   store i8 %L5, i8* %0
75   %E36 = extractelement <16 x i8> %Shuff29, i32 5
76   %Shuff37 = shufflevector <8 x i64> zeroinitializer, <8 x i64> %I, <8 x i32> <i32 8, i32 undef, i32 undef, i32 14, i32 0, i32 undef, i32 4, i32 6>
77   %I38 = insertelement <4 x i64> zeroinitializer, i64 %E28, i32 2
78   %FC39 = uitofp i8 %5 to double
79   %Sl40 = select i1 %Cmp26, i32 %3, i32 %FC
80   %Cmp41 = icmp sgt <2 x i64> zeroinitializer, <i64 -1, i64 -1>
81   %L42 = load i8, i8* %0
82   store i8 17, i8* %0
83   %E43 = extractelement <2 x i1> %Cmp41, i32 1
84   br i1 %E43, label %CF253, label %CF256
85
86 CF256:                                            ; preds = %CF256, %CF253
87   %Shuff44 = shufflevector <8 x i64> zeroinitializer, <8 x i64> zeroinitializer, <8 x i32> <i32 14, i32 0, i32 2, i32 4, i32 6, i32 undef, i32 undef, i32 12>
88   %I45 = insertelement <8 x i32> zeroinitializer, i32 %FC, i32 0
89   %ZE = zext i8 %L19 to i32
90   %Sl46 = select i1 %E43, i8 %L35, i8 %L35
91   %Cmp47 = icmp ult i64 %E6, 426618
92   br i1 %Cmp47, label %CF256, label %CF271
93
94 CF271:                                            ; preds = %CF256
95   %L48 = load i8, i8* %0
96   store i8 %L27, i8* %0
97   %E49 = extractelement <4 x i32> <i32 -1, i32 -1, i32 -1, i32 -1>, i32 2
98   %Shuff50 = shufflevector <8 x i64> zeroinitializer, <8 x i64> zeroinitializer, <8 x i32> <i32 undef, i32 7, i32 undef, i32 11, i32 13, i32 15, i32 1, i32 3>
99   %I51 = insertelement <8 x i64> zeroinitializer, i64 %4, i32 7
100   %B52 = xor <8 x i32> %I45, zeroinitializer
101   %BC53 = bitcast <4 x i32> <i32 -1, i32 -1, i32 -1, i32 -1> to <4 x float>
102   %Sl54 = select i1 false, <2 x i64> <i64 -1, i64 -1>, <2 x i64> <i64 -1, i64 -1>
103   %Cmp55 = icmp sgt i16 0, 18460
104   br i1 %Cmp55, label %CF253, label %CF255
105
106 CF255:                                            ; preds = %CF255, %CF266, %CF270, %CF271
107   %L56 = load i8, i8* %0
108   store i8 %L35, i8* %0
109   %E57 = extractelement <4 x i64> zeroinitializer, i32 3
110   %Shuff58 = shufflevector <8 x i64> zeroinitializer, <8 x i64> %Shuff37, <8 x i32> <i32 undef, i32 undef, i32 10, i32 12, i32 14, i32 0, i32 2, i32 4>
111   %I59 = insertelement <4 x i32> <i32 -1, i32 -1, i32 -1, i32 -1>, i32 %FC, i32 0
112   %B60 = lshr <4 x i64> %I38, zeroinitializer
113   %FC61 = sitofp <8 x i1> %L to <8 x float>
114   %Sl62 = select i1 false, i8 %L19, i8 17
115   %Cmp63 = icmp ult i64 %E6, %E57
116   br i1 %Cmp63, label %CF255, label %CF266
117
118 CF266:                                            ; preds = %CF255
119   %L64 = load i64, i64* %2
120   store i8 17, i8* %0
121   %E65 = extractelement <8 x i64> %Shuff21, i32 6
122   %Shuff66 = shufflevector <2 x i1> %Cmp11, <2 x i1> %Cmp41, <2 x i32> <i32 1, i32 3>
123   %I67 = insertelement <8 x i1> %I30, i1 false, i32 7
124   %FC68 = uitofp i8 %Sl62 to float
125   %Sl69 = select i1 false, i8 %L42, i8 17
126   %Cmp70 = icmp eq <2 x i32> zeroinitializer, zeroinitializer
127   %L71 = load i8, i8* %0
128   store i8 %5, i8* %0
129   %E72 = extractelement <2 x i64> <i64 -1, i64 -1>, i32 1
130   %Shuff73 = shufflevector <8 x i64> zeroinitializer, <8 x i64> %Shuff44, <8 x i32> <i32 undef, i32 14, i32 0, i32 2, i32 4, i32 6, i32 undef, i32 10>
131   %I74 = insertelement <2 x i1> %Cmp70, i1 %Cmp55, i32 0
132   %B75 = add <16 x i8> %I15, <i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1>
133   %FC76 = sitofp i8 33 to double
134   %Sl77 = select i1 %E43, double %BC, double %B31
135   %Cmp78 = icmp ult <8 x i64> %Shuff44, %I
136   %L79 = load i8, i8* %0
137   store i8 17, i8* %0
138   %E80 = extractelement <2 x i64> %Shuff7, i32 0
139   %Shuff81 = shufflevector <8 x i64> zeroinitializer, <8 x i64> %Shuff73, <8 x i32> <i32 undef, i32 5, i32 7, i32 9, i32 undef, i32 13, i32 15, i32 1>
140   %I82 = insertelement <8 x i64> %Shuff81, i64 %E57, i32 5
141   %FC83 = fptosi float %FC68 to i32
142   %Sl84 = select i1 %Cmp26, <2 x i64> <i64 -1, i64 -1>, <2 x i64> <i64 -1, i64 -1>
143   %Cmp85 = icmp ugt i64 %E6, %E57
144   br i1 %Cmp85, label %CF255, label %CF261
145
146 CF261:                                            ; preds = %CF261, %CF266
147   %L86 = load i8, i8* %0
148   store i8 %L42, i8* %0
149   %E87 = extractelement <16 x i8> <i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1>, i32 7
150   %Shuff88 = shufflevector <16 x i8> %Shuff29, <16 x i8> %I15, <16 x i32> <i32 26, i32 28, i32 30, i32 0, i32 2, i32 4, i32 6, i32 8, i32 10, i32 12, i32 14, i32 16, i32 18, i32 20, i32 22, i32 24>
151   %I89 = insertelement <16 x i8> <i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1>, i8 %L35, i32 12
152   %B90 = shl i32 %3, %E49
153   %BC91 = bitcast <2 x i64> %Sl84 to <2 x double>
154   %Sl92 = select i1 false, i8 %L5, i8 %L19
155   %Cmp93 = icmp ugt i32 -1, %FC24
156   br i1 %Cmp93, label %CF261, label %CF268
157
158 CF268:                                            ; preds = %CF268, %CF261
159   %L94 = load i8, i8* %0
160   store i8 %L5, i8* %0
161   %E95 = extractelement <8 x i64> %Shuff58, i32 0
162   %Shuff96 = shufflevector <8 x i64> %Shuff73, <8 x i64> %Shuff73, <8 x i32> <i32 3, i32 5, i32 undef, i32 9, i32 undef, i32 undef, i32 15, i32 1>
163   %I97 = insertelement <4 x i64> zeroinitializer, i64 %B23, i32 1
164   %B98 = or <8 x i64> %Shuff58, %Shuff50
165   %FC99 = sitofp <2 x i1> %Cmp34 to <2 x float>
166   %Sl100 = select i1 %Cmp85, i64 %4, i64 %E
167   %Cmp101 = icmp ne <2 x i64> %B16, zeroinitializer
168   %L102 = load i8, i8* %0
169   store i8 %L56, i8* %0
170   %E103 = extractelement <8 x i16> %I22, i32 6
171   %Shuff104 = shufflevector <2 x double> %BC91, <2 x double> %BC91, <2 x i32> <i32 1, i32 3>
172   %I105 = insertelement <8 x i64> %Shuff96, i64 198384, i32 7
173   %B106 = sdiv <8 x i32> %B52, %I45
174   %ZE107 = zext i16 0 to i32
175   %Sl108 = select i1 %E43, <16 x i8> %Shuff29, <16 x i8> <i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1>
176   %Cmp109 = icmp slt <16 x i64> zeroinitializer, zeroinitializer
177   %L110 = load <8 x float>, <8 x float>* %A
178   store i8 %L56, i8* %0
179   %E111 = extractelement <8 x i64> zeroinitializer, i32 3
180   %Shuff112 = shufflevector <2 x i1> %Shuff66, <2 x i1> %Cmp11, <2 x i32> <i32 2, i32 0>
181   %I113 = insertelement <2 x i64> %B16, i64 %E95, i32 0
182   %B114 = mul i8 %E20, %Sl25
183   %Tr115 = trunc <8 x i64> %I105 to <8 x i16>
184   %Sl116 = select i1 %Cmp26, <16 x i32> <i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1>, <16 x i32> <i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1>
185   %Cmp117 = icmp ult <8 x i16> %Tr, %Tr115
186   %L118 = load i8, i8* %0
187   store i8 %L19, i8* %0
188   %E119 = extractelement <4 x i32> %I59, i32 3
189   %Shuff120 = shufflevector <2 x i64> <i64 -1, i64 -1>, <2 x i64> %I113, <2 x i32> <i32 2, i32 0>
190   %I121 = insertelement <2 x i1> %Shuff66, i1 %Cmp26, i32 0
191   %B122 = fmul double 0.000000e+00, 0xE603EE221901D6A0
192   %FC123 = sitofp i64 %E6 to float
193   %Sl124 = select i1 false, <2 x i1> %Cmp41, <2 x i1> %Shuff66
194   %Cmp125 = icmp ult <4 x i64> %I38, %I38
195   %L126 = load i8, i8* %0
196   store i8 %L126, i8* %0
197   %E127 = extractelement <8 x i64> zeroinitializer, i32 7
198   %Shuff128 = shufflevector <2 x i1> %Cmp101, <2 x i1> %Cmp11, <2 x i32> <i32 undef, i32 0>
199   %I129 = insertelement <8 x i1> %Cmp18, i1 %E43, i32 0
200   %B130 = lshr i8 %L71, %L56
201   %FC131 = sitofp i32 %3 to float
202   %Sl132 = select i1 false, <2 x i64> %Shuff7, <2 x i64> %Sl84
203   %Cmp133 = icmp sge <8 x i16> %Tr, %Tr115
204   %L134 = load i8, i8* %0
205   store i8 %L102, i8* %0
206   %E135 = extractelement <16 x i8> %Shuff88, i32 3
207   %Shuff136 = shufflevector <8 x i64> %Shuff21, <8 x i64> zeroinitializer, <8 x i32> <i32 6, i32 8, i32 undef, i32 12, i32 14, i32 0, i32 2, i32 4>
208   %I137 = insertelement <2 x i64> zeroinitializer, i64 %E111, i32 0
209   %B138 = shl <8 x i64> %I51, %Shuff136
210   %Se = sext <2 x i32> %Tr32 to <2 x i64>
211   %Sl139 = select i1 %E43, <8 x i16> %Tr, <8 x i16> %Tr115
212   %Cmp140 = icmp sge <2 x i32> %Sl17, %Tr32
213   %L141 = load i8, i8* %0
214   store i8 17, i8* %0
215   %E142 = extractelement <8 x i16> %Tr115, i32 6
216   %Shuff143 = shufflevector <8 x i64> zeroinitializer, <8 x i64> %Shuff21, <8 x i32> <i32 1, i32 3, i32 undef, i32 7, i32 undef, i32 11, i32 13, i32 15>
217   %I144 = insertelement <4 x i64> %Shuff, i64 %4, i32 3
218   %B145 = sub <2 x i64> <i64 -1, i64 -1>, %I113
219   %Se146 = sext i8 %E135 to i32
220   %Sl147 = select i1 %Cmp55, <2 x i32> %Tr32, <2 x i32> zeroinitializer
221   %Cmp148 = icmp eq <8 x i1> %I30, %Cmp18
222   %L149 = load i8, i8* %0
223   store i8 %L56, i8* %0
224   %E150 = extractelement <2 x i64> %I113, i32 0
225   %Shuff151 = shufflevector <8 x i64> zeroinitializer, <8 x i64> %I, <8 x i32> <i32 9, i32 11, i32 13, i32 15, i32 1, i32 3, i32 undef, i32 7>
226   %I152 = insertelement <8 x i64> %Shuff136, i64 %E6, i32 3
227   %B153 = frem float %FC68, %FC123
228   %Se154 = sext i1 false to i32
229   %Sl155 = select i1 %Cmp26, i8 %E20, i8 %L19
230   %Cmp156 = icmp eq i64 198384, %4
231   br i1 %Cmp156, label %CF268, label %CF270
232
233 CF270:                                            ; preds = %CF268
234   %L157 = load i8, i8* %0
235   store i8 %L157, i8* %0
236   %E158 = extractelement <8 x i1> %Cmp78, i32 1
237   br i1 %E158, label %CF255, label %CF260
238
239 CF260:                                            ; preds = %CF270
240   %Shuff159 = shufflevector <8 x i64> zeroinitializer, <8 x i64> %Shuff81, <8 x i32> <i32 undef, i32 6, i32 8, i32 undef, i32 12, i32 14, i32 0, i32 2>
241   %I160 = insertelement <2 x i1> %Cmp11, i1 %Cmp156, i32 0
242   %B161 = urem <2 x i32> zeroinitializer, %Sl147
243   %Se162 = sext i8 %L48 to i16
244   %Sl163 = select i1 %Cmp93, i32 %FC83, i32 378892
245   %Cmp164 = fcmp uge double 0xE603EE221901D6A0, 0xE603EE221901D6A0
246   br i1 %Cmp164, label %CF253, label %CF254
247
248 CF254:                                            ; preds = %CF254, %CF265, %CF263, %CF260
249   %L165 = load i8, i8* %0
250   store i8 %Sl62, i8* %0
251   %E166 = extractelement <8 x i64> %Shuff58, i32 1
252   %Shuff167 = shufflevector <8 x i64> %Shuff58, <8 x i64> %Shuff96, <8 x i32> <i32 12, i32 14, i32 0, i32 undef, i32 4, i32 undef, i32 8, i32 10>
253   %I168 = insertelement <2 x double> %BC91, double %BC, i32 0
254   %B169 = ashr i16 %E142, %E103
255   %FC170 = sitofp <2 x i64> %Sl84 to <2 x float>
256   %Sl171 = select i1 %Cmp156, i8 %L165, i8 %5
257   %Cmp172 = icmp ugt i8 %E20, %L102
258   br i1 %Cmp172, label %CF254, label %CF262
259
260 CF262:                                            ; preds = %CF262, %CF254
261   %L173 = load i8, i8* %0
262   store i8 %L94, i8* %0
263   %E174 = extractelement <2 x i1> %Cmp70, i32 0
264   br i1 %E174, label %CF262, label %CF264
265
266 CF264:                                            ; preds = %CF264, %CF262
267   %Shuff175 = shufflevector <16 x i1> %Cmp, <16 x i1> %Cmp, <16 x i32> <i32 undef, i32 9, i32 undef, i32 13, i32 undef, i32 17, i32 19, i32 21, i32 23, i32 25, i32 27, i32 29, i32 undef, i32 1, i32 3, i32 5>
268   %I176 = insertelement <8 x i64> %Shuff21, i64 419346, i32 1
269   %B177 = lshr <2 x i32> %Sl17, zeroinitializer
270   %FC178 = sitofp <8 x i32> %B106 to <8 x float>
271   %Sl179 = select i1 %Cmp156, i8 %B114, i8 %Sl171
272   %Cmp180 = icmp ugt <4 x i64> %B60, zeroinitializer
273   %L181 = load i8, i8* %0
274   store i8 %L102, i8* %0
275   %E182 = extractelement <8 x i64> zeroinitializer, i32 0
276   %Shuff183 = shufflevector <8 x i64> zeroinitializer, <8 x i64> %I176, <8 x i32> <i32 3, i32 5, i32 undef, i32 undef, i32 11, i32 13, i32 undef, i32 1>
277   %I184 = insertelement <2 x i1> %Cmp34, i1 %Cmp63, i32 1
278   %B185 = urem i32 %Sl163, %Se146
279   %FC186 = sitofp i64 %E166 to float
280   %Sl187 = select i1 %Cmp156, i1 %E43, i1 %Cmp26
281   br i1 %Sl187, label %CF264, label %CF265
282
283 CF265:                                            ; preds = %CF264
284   %Cmp188 = icmp uge <16 x i1> %Shuff175, %Cmp
285   %L189 = load i8, i8* %0
286   store i8 %L19, i8* %0
287   %E190 = extractelement <2 x i1> %Cmp11, i32 0
288   br i1 %E190, label %CF254, label %CF259
289
290 CF259:                                            ; preds = %CF259, %CF265
291   %Shuff191 = shufflevector <8 x i1> %Cmp117, <8 x i1> %I30, <8 x i32> <i32 11, i32 13, i32 15, i32 1, i32 3, i32 5, i32 7, i32 9>
292   %I192 = insertelement <16 x i1> %Cmp188, i1 %Cmp85, i32 13
293   %B193 = urem <2 x i64> %Sl132, %Sl54
294   %Tr194 = trunc i64 %E166 to i8
295   %Sl195 = select i1 %Cmp93, <2 x i1> %I160, <2 x i1> %Shuff66
296   %Cmp196 = icmp ult <2 x i1> %Shuff66, %Cmp11
297   %L197 = load i8, i8* %0
298   store i8 %L5, i8* %0
299   %E198 = extractelement <8 x i64> %Shuff183, i32 0
300   %Shuff199 = shufflevector <8 x i16> %I22, <8 x i16> %Tr115, <8 x i32> <i32 3, i32 5, i32 undef, i32 9, i32 11, i32 13, i32 15, i32 undef>
301   %I200 = insertelement <16 x i8> %Shuff29, i8 %L197, i32 5
302   %B201 = and <2 x i64> %B145, %I113
303   %ZE202 = zext <2 x i1> %I74 to <2 x i64>
304   %Sl203 = select i1 %Cmp26, i8 %L126, i8 %L102
305   %Cmp204 = fcmp oeq <4 x float> %BC53, %BC53
306   %L205 = load i8, i8* %0
307   store i8 %5, i8* %0
308   %E206 = extractelement <2 x double> %Shuff104, i32 0
309   %Shuff207 = shufflevector <4 x i64> %I38, <4 x i64> zeroinitializer, <4 x i32> <i32 7, i32 undef, i32 3, i32 5>
310   %I208 = insertelement <8 x i64> %I82, i64 323142, i32 1
311   %B209 = lshr i8 %L56, %L5
312   %FC210 = fptoui double 0xE603EE221901D6A0 to i1
313   br i1 %FC210, label %CF259, label %CF263
314
315 CF263:                                            ; preds = %CF259
316   %Sl211 = select i1 %E174, i32 %ZE, i32 %ZE107
317   %Cmp212 = icmp ne i32 %Se154, %Sl163
318   br i1 %Cmp212, label %CF254, label %CF257
319
320 CF257:                                            ; preds = %CF263
321   %L213 = load i8, i8* %0
322   store i8 %L213, i8* %0
323   %E214 = extractelement <8 x i64> %Shuff81, i32 3
324   %Shuff215 = shufflevector <8 x i64> %Shuff159, <8 x i64> %Shuff136, <8 x i32> <i32 14, i32 0, i32 2, i32 4, i32 6, i32 8, i32 10, i32 12>
325   %I216 = insertelement <8 x i64> %Shuff215, i64 323142, i32 0
326   %Se217 = sext i8 %L71 to i64
327   %Sl218 = select i1 %Cmp156, <8 x i16> %Tr115, <8 x i16> %Tr115
328   %Cmp219 = fcmp ole <2 x float> %FC170, %FC99
329   %L220 = load i8, i8* %0
330   store i8 %L19, i8* %0
331   %E221 = extractelement <8 x i64> zeroinitializer, i32 6
332   %Shuff222 = shufflevector <4 x i1> %Cmp204, <4 x i1> %Cmp125, <4 x i32> <i32 1, i32 undef, i32 5, i32 7>
333   %I223 = insertelement <8 x i1> %Cmp18, i1 %FC210, i32 3
334   %B224 = lshr i32 %E49, %FC24
335   %FC225 = sitofp <4 x i1> %Cmp180 to <4 x float>
336   %Sl226 = select i1 %Cmp93, i64 %E28, i64 %B23
337   %Cmp227 = icmp ugt <4 x i64> zeroinitializer, %B60
338   %L228 = load i8, i8* %0
339   store i8 %Sl46, i8* %0
340   %E229 = extractelement <1 x i32> zeroinitializer, i32 0
341   %Shuff230 = shufflevector <16 x i8> %Shuff29, <16 x i8> %I200, <16 x i32> <i32 11, i32 13, i32 15, i32 17, i32 19, i32 21, i32 23, i32 undef, i32 undef, i32 29, i32 31, i32 1, i32 undef, i32 5, i32 undef, i32 9>
342   %I231 = insertelement <8 x i64> %Shuff183, i64 %L64, i32 5
343   %B232 = fadd float %FC68, %FC68
344   %Se233 = sext i1 %Cmp172 to i64
345   %Sl234 = select i1 false, i1 %Cmp164, i1 %E43
346   br label %CF
347
348 CF:                                               ; preds = %CF, %CF257
349   %Cmp235 = icmp ule i32 %Sl163, %Sl211
350   br i1 %Cmp235, label %CF, label %CF252
351
352 CF252:                                            ; preds = %CF252, %CF269, %CF
353   %L236 = load i8, i8* %0
354   store i8 %L19, i8* %0
355   %E237 = extractelement <16 x i1> %Shuff175, i32 15
356   br i1 %E237, label %CF252, label %CF269
357
358 CF269:                                            ; preds = %CF252
359   %Shuff238 = shufflevector <2 x i1> %I160, <2 x i1> %Cmp101, <2 x i32> undef
360   %I239 = insertelement <8 x i64> zeroinitializer, i64 %4, i32 0
361   %B240 = add i8 %L56, %Sl155
362   %Tr241 = trunc <2 x i32> %Sl147 to <2 x i1>
363   %Sl242 = select i1 %Sl234, <2 x float> %FC99, <2 x float> %FC99
364   %Cmp243 = icmp eq i8 %L5, %L118
365   br i1 %Cmp243, label %CF252, label %CF258
366
367 CF258:                                            ; preds = %CF258, %CF269
368   %L244 = load i8, i8* %0
369   store i8 %L19, i8* %0
370   %E245 = extractelement <2 x i64> %B201, i32 1
371   %Shuff246 = shufflevector <4 x i64> zeroinitializer, <4 x i64> %I144, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
372   %I247 = insertelement <8 x i64> %Shuff73, i64 %E182, i32 2
373   %B248 = or i64 %Sl226, %E245
374   %Tr249 = trunc <2 x i64> <i64 -1, i64 -1> to <2 x i16>
375   %Sl250 = select i1 %FC210, i64 %E57, i64 %L64
376   %Cmp251 = icmp eq i32 %FC24, %FC
377   br i1 %Cmp251, label %CF258, label %CF267
378
379 CF267:                                            ; preds = %CF258
380   store i8 %L42, i8* %0
381   store i8 %Sl69, i8* %0
382   store i8 %L5, i8* %0
383   store i8 %L134, i8* %0
384   store i8 %L141, i8* %0
385   ret void
386 }