Branch data Line data Source code
1 : : /* Generated automatically by the program `genmatch' from
2 : : a IL pattern matching and simplification description. */
3 : : #pragma GCC diagnostic push
4 : : #pragma GCC diagnostic ignored "-Wunused-variable"
5 : : #pragma GCC diagnostic ignored "-Wunused-function"
6 : :
7 : : #include "gimple-match-auto.h"
8 : :
9 : : bool
10 : 438789023 : gimple_maybe_bit_not (tree t, tree *res_ops, tree (*valueize)(tree) ATTRIBUTE_UNUSED)
11 : : {
12 : 438789023 : const tree type = TREE_TYPE (t);
13 : 438789023 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
14 : 438789023 : switch (TREE_CODE (t))
15 : : {
16 : 163498710 : case INTEGER_CST:
17 : 163498710 : {
18 : 163498710 : {
19 : 163498710 : tree captures[1] ATTRIBUTE_UNUSED = { t };
20 : 163498710 : {
21 : 163498710 : res_ops[0] = captures[0];
22 : 163498710 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 8, __FILE__, __LINE__, false);
23 : : return true;
24 : : }
25 : : }
26 : 275290313 : break;
27 : : }
28 : 275290313 : default:;
29 : : }
30 : 275290313 : {
31 : 275290313 : tree t_pops[1];
32 : 275290313 : if (gimple_bit_not_with_nop (t, t_pops, valueize))
33 : : {
34 : 349421 : tree _p0 = t_pops[0];
35 : 349421 : {
36 : 349421 : tree captures[2] ATTRIBUTE_UNUSED = { t, _p0 };
37 : 349421 : {
38 : 349421 : res_ops[0] = captures[0];
39 : 349421 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 9, __FILE__, __LINE__, false);
40 : 349421 : return true;
41 : : }
42 : : }
43 : : }
44 : : }
45 : 274940892 : {
46 : 274940892 : tree t_pops[1];
47 : 274940892 : if (gimple_maybe_cmp (t, t_pops, valueize))
48 : : {
49 : 7025109 : tree _p0 = t_pops[0];
50 : 7025109 : {
51 : 7025109 : tree captures[2] ATTRIBUTE_UNUSED = { t, _p0 };
52 : 7025109 : {
53 : 7025109 : res_ops[0] = captures[0];
54 : 7025109 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 10, __FILE__, __LINE__, false);
55 : 7025109 : return true;
56 : : }
57 : : }
58 : : }
59 : : }
60 : 267915783 : {
61 : 267915783 : tree t_pops[2];
62 : 267915783 : if (gimple_bit_xor_cst (t, t_pops, valueize))
63 : : {
64 : 22991 : tree _p0 = t_pops[0];
65 : 22991 : tree _p1 = t_pops[1];
66 : 22991 : {
67 : 22991 : tree captures[3] ATTRIBUTE_UNUSED = { t, _p0, _p1 };
68 : 22991 : {
69 : 22991 : res_ops[0] = captures[0];
70 : 22991 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 11, __FILE__, __LINE__, false);
71 : 22991 : return true;
72 : : }
73 : : }
74 : : }
75 : : }
76 : 267892792 : return false;
77 : : }
78 : :
79 : : bool
80 : 399016545 : gimple_with_known_nonzero_bits_1 (tree t, tree (*valueize)(tree) ATTRIBUTE_UNUSED)
81 : : {
82 : 399016545 : const tree type = TREE_TYPE (t);
83 : 399016545 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
84 : 399016545 : switch (TREE_CODE (t))
85 : : {
86 : 154592281 : case INTEGER_CST:
87 : 154592281 : {
88 : 154592281 : {
89 : 154592281 : tree captures[1] ATTRIBUTE_UNUSED = { t };
90 : 154592281 : {
91 : 154592281 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 37, __FILE__, __LINE__, false);
92 : 154592281 : return true;
93 : : }
94 : : }
95 : 233189152 : break;
96 : : }
97 : 233189152 : case SSA_NAME:
98 : 233189152 : {
99 : 233189152 : {
100 : 233189152 : tree captures[1] ATTRIBUTE_UNUSED = { t };
101 : 233189152 : if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
102 : : )
103 : : {
104 : 171548853 : {
105 : 171548853 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 38, __FILE__, __LINE__, false);
106 : 171548853 : return true;
107 : : }
108 : : }
109 : : }
110 : : break;
111 : : }
112 : : default:;
113 : : }
114 : : return false;
115 : : }
116 : :
117 : : bool
118 : 27596050 : gimple_unsigned_integer_sat_sub (tree t, tree *res_ops, tree (*valueize)(tree) ATTRIBUTE_UNUSED)
119 : : {
120 : 27596050 : const tree type = TREE_TYPE (t);
121 : 27596050 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
122 : 27596050 : switch (TREE_CODE (t))
123 : : {
124 : 23113693 : case SSA_NAME:
125 : 23113693 : if (gimple *_d1 = get_def (valueize, t))
126 : : {
127 : 23113693 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
128 : 21994815 : switch (gimple_assign_rhs_code (_a1))
129 : : {
130 : 188065 : case COND_EXPR:
131 : 188065 : {
132 : 188065 : tree _p0 = gimple_assign_rhs1 (_a1);
133 : 188065 : _p0 = do_valueize (valueize, _p0);
134 : 188065 : tree _p1 = gimple_assign_rhs2 (_a1);
135 : 188065 : _p1 = do_valueize (valueize, _p1);
136 : 188065 : tree _p2 = gimple_assign_rhs3 (_a1);
137 : 188065 : _p2 = do_valueize (valueize, _p2);
138 : 188065 : switch (TREE_CODE (_p0))
139 : : {
140 : 188065 : case SSA_NAME:
141 : 188065 : if (gimple *_d2 = get_def (valueize, _p0))
142 : : {
143 : 188065 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
144 : 189124 : switch (gimple_assign_rhs_code (_a2))
145 : : {
146 : 28658 : case GT_EXPR:
147 : 28658 : {
148 : 28658 : tree _q20 = gimple_assign_rhs1 (_a2);
149 : 28658 : _q20 = do_valueize (valueize, _q20);
150 : 28658 : tree _q21 = gimple_assign_rhs2 (_a2);
151 : 28658 : _q21 = do_valueize (valueize, _q21);
152 : 28658 : switch (TREE_CODE (_p1))
153 : : {
154 : 20826 : case SSA_NAME:
155 : 20826 : if (gimple *_d3 = get_def (valueize, _p1))
156 : : {
157 : 20826 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
158 : 18093 : switch (gimple_assign_rhs_code (_a3))
159 : : {
160 : 845 : case MINUS_EXPR:
161 : 845 : {
162 : 845 : tree _q50 = gimple_assign_rhs1 (_a3);
163 : 845 : _q50 = do_valueize (valueize, _q50);
164 : 845 : tree _q51 = gimple_assign_rhs2 (_a3);
165 : 845 : _q51 = do_valueize (valueize, _q51);
166 : 845 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
167 : : {
168 : 43 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
169 : : {
170 : 43 : if (integer_zerop (_p2))
171 : : {
172 : 42 : {
173 : 42 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
174 : 42 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
175 : : )
176 : : {
177 : 42 : if (types_match (type, captures[0], captures[1])
178 : : )
179 : : {
180 : 42 : {
181 : 42 : res_ops[0] = captures[0];
182 : 42 : res_ops[1] = captures[1];
183 : 42 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 56, __FILE__, __LINE__, false);
184 : 42 : return true;
185 : : }
186 : : }
187 : : }
188 : : }
189 : : }
190 : : }
191 : : }
192 : : break;
193 : : }
194 : : default:;
195 : : }
196 : : }
197 : : break;
198 : : default:;
199 : : }
200 : : break;
201 : : }
202 : 8078 : case GE_EXPR:
203 : 8078 : {
204 : 8078 : tree _q20 = gimple_assign_rhs1 (_a2);
205 : 8078 : _q20 = do_valueize (valueize, _q20);
206 : 8078 : tree _q21 = gimple_assign_rhs2 (_a2);
207 : 8078 : _q21 = do_valueize (valueize, _q21);
208 : 8078 : switch (TREE_CODE (_p1))
209 : : {
210 : 7911 : case SSA_NAME:
211 : 7911 : if (gimple *_d3 = get_def (valueize, _p1))
212 : : {
213 : 7911 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
214 : 8077 : switch (gimple_assign_rhs_code (_a3))
215 : : {
216 : 503 : CASE_CONVERT:
217 : 503 : {
218 : 503 : tree _q50 = gimple_assign_rhs1 (_a3);
219 : 503 : _q50 = do_valueize (valueize, _q50);
220 : 503 : switch (TREE_CODE (_q50))
221 : : {
222 : 503 : case SSA_NAME:
223 : 503 : if (gimple *_d4 = get_def (valueize, _q50))
224 : : {
225 : 503 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
226 : 627 : switch (gimple_assign_rhs_code (_a4))
227 : : {
228 : 65 : case MINUS_EXPR:
229 : 65 : {
230 : 65 : tree _q60 = gimple_assign_rhs1 (_a4);
231 : 65 : _q60 = do_valueize (valueize, _q60);
232 : 65 : tree _q61 = gimple_assign_rhs2 (_a4);
233 : 65 : _q61 = do_valueize (valueize, _q61);
234 : 65 : switch (TREE_CODE (_q60))
235 : : {
236 : 65 : case SSA_NAME:
237 : 65 : if (gimple *_d5 = get_def (valueize, _q60))
238 : : {
239 : 65 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
240 : 18 : switch (gimple_assign_rhs_code (_a5))
241 : : {
242 : 0 : CASE_CONVERT:
243 : 0 : {
244 : 0 : tree _q70 = gimple_assign_rhs1 (_a5);
245 : 0 : _q70 = do_valueize (valueize, _q70);
246 : 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
247 : : {
248 : 0 : switch (TREE_CODE (_q61))
249 : : {
250 : 0 : case SSA_NAME:
251 : 0 : if (gimple *_d6 = get_def (valueize, _q61))
252 : : {
253 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
254 : 0 : switch (gimple_assign_rhs_code (_a6))
255 : : {
256 : 0 : CASE_CONVERT:
257 : 0 : {
258 : 0 : tree _q90 = gimple_assign_rhs1 (_a6);
259 : 0 : _q90 = do_valueize (valueize, _q90);
260 : 0 : if ((_q90 == _q21 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q21, 0) && types_match (_q90, _q21)))
261 : : {
262 : 0 : if (integer_zerop (_p2))
263 : : {
264 : 0 : {
265 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
266 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
267 : : )
268 : : {
269 : 0 : if (TYPE_UNSIGNED (TREE_TYPE (captures[0])) && types_match (captures[0], captures[1])
270 : : )
271 : : {
272 : 0 : {
273 : 0 : res_ops[0] = captures[0];
274 : 0 : res_ops[1] = captures[1];
275 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 57, __FILE__, __LINE__, false);
276 : 0 : return true;
277 : : }
278 : : }
279 : : }
280 : : }
281 : : }
282 : : }
283 : : break;
284 : : }
285 : : default:;
286 : : }
287 : : }
288 : : break;
289 : : default:;
290 : : }
291 : : }
292 : : break;
293 : : }
294 : : default:;
295 : : }
296 : : }
297 : : break;
298 : 65 : default:;
299 : : }
300 : 65 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
301 : : {
302 : 47 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
303 : : {
304 : 0 : if (integer_zerop (_p2))
305 : : {
306 : 0 : {
307 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
308 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
309 : : )
310 : : {
311 : 0 : if (TYPE_UNSIGNED (TREE_TYPE (captures[0])) && types_match (captures[0], captures[1])
312 : : )
313 : : {
314 : 0 : {
315 : 0 : res_ops[0] = captures[0];
316 : 0 : res_ops[1] = captures[1];
317 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 57, __FILE__, __LINE__, false);
318 : 0 : return true;
319 : : }
320 : : }
321 : : }
322 : : }
323 : : }
324 : : }
325 : : }
326 : : break;
327 : : }
328 : : default:;
329 : : }
330 : : }
331 : : break;
332 : : default:;
333 : : }
334 : : break;
335 : : }
336 : 4285 : case MINUS_EXPR:
337 : 4285 : {
338 : 4285 : tree _q50 = gimple_assign_rhs1 (_a3);
339 : 4285 : _q50 = do_valueize (valueize, _q50);
340 : 4285 : tree _q51 = gimple_assign_rhs2 (_a3);
341 : 4285 : _q51 = do_valueize (valueize, _q51);
342 : 4285 : switch (TREE_CODE (_q50))
343 : : {
344 : 4236 : case SSA_NAME:
345 : 4236 : if (gimple *_d4 = get_def (valueize, _q50))
346 : : {
347 : 4236 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
348 : 4270 : switch (gimple_assign_rhs_code (_a4))
349 : : {
350 : 145 : CASE_CONVERT:
351 : 145 : {
352 : 145 : tree _q60 = gimple_assign_rhs1 (_a4);
353 : 145 : _q60 = do_valueize (valueize, _q60);
354 : 145 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
355 : : {
356 : 81 : switch (TREE_CODE (_q51))
357 : : {
358 : 81 : case SSA_NAME:
359 : 81 : if (gimple *_d5 = get_def (valueize, _q51))
360 : : {
361 : 81 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
362 : 72 : switch (gimple_assign_rhs_code (_a5))
363 : : {
364 : 62 : CASE_CONVERT:
365 : 62 : {
366 : 62 : tree _q80 = gimple_assign_rhs1 (_a5);
367 : 62 : _q80 = do_valueize (valueize, _q80);
368 : 62 : if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
369 : : {
370 : 45 : if (integer_zerop (_p2))
371 : : {
372 : 45 : {
373 : 45 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
374 : 45 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
375 : : )
376 : : {
377 : 45 : if (TYPE_UNSIGNED (TREE_TYPE (captures[0])) && types_match (captures[0], captures[1])
378 : : )
379 : : {
380 : 0 : {
381 : 0 : res_ops[0] = captures[0];
382 : 0 : res_ops[1] = captures[1];
383 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 57, __FILE__, __LINE__, false);
384 : 0 : return true;
385 : : }
386 : : }
387 : : }
388 : : }
389 : : }
390 : : }
391 : : break;
392 : : }
393 : : default:;
394 : : }
395 : : }
396 : : break;
397 : : default:;
398 : : }
399 : : }
400 : : break;
401 : : }
402 : : default:;
403 : : }
404 : : }
405 : : break;
406 : 4285 : default:;
407 : : }
408 : 4285 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
409 : : {
410 : 544 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
411 : : {
412 : 216 : if (integer_zerop (_p2))
413 : : {
414 : 8 : {
415 : 8 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
416 : 8 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
417 : : )
418 : : {
419 : 8 : if (TYPE_UNSIGNED (TREE_TYPE (captures[0])) && types_match (captures[0], captures[1])
420 : : )
421 : : {
422 : 8 : {
423 : 8 : res_ops[0] = captures[0];
424 : 8 : res_ops[1] = captures[1];
425 : 8 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 57, __FILE__, __LINE__, false);
426 : 8 : return true;
427 : : }
428 : : }
429 : : }
430 : : }
431 : : }
432 : : }
433 : : }
434 : : break;
435 : : }
436 : : default:;
437 : : }
438 : : }
439 : : break;
440 : : default:;
441 : : }
442 : : break;
443 : : }
444 : 9311 : case EQ_EXPR:
445 : 9311 : {
446 : 9311 : tree _q20 = gimple_assign_rhs1 (_a2);
447 : 9311 : _q20 = do_valueize (valueize, _q20);
448 : 9311 : tree _q21 = gimple_assign_rhs2 (_a2);
449 : 9311 : _q21 = do_valueize (valueize, _q21);
450 : 9311 : if (tree_swap_operands_p (_q20, _q21))
451 : 0 : std::swap (_q20, _q21);
452 : 9311 : switch (TREE_CODE (_q20))
453 : : {
454 : 9311 : case SSA_NAME:
455 : 9311 : if (gimple *_d3 = get_def (valueize, _q20))
456 : : {
457 : 9311 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
458 : 9811 : switch (gimple_assign_rhs_code (_a3))
459 : : {
460 : 3 : case IMAGPART_EXPR:
461 : 3 : {
462 : 3 : tree _q30 = TREE_OPERAND (gimple_assign_rhs1 (_a3), 0);
463 : 3 : if ((TREE_CODE (_q30) == SSA_NAME
464 : 3 : || is_gimple_min_invariant (_q30)))
465 : : {
466 : 3 : _q30 = do_valueize (valueize, _q30);
467 : 3 : switch (TREE_CODE (_q30))
468 : : {
469 : 3 : case SSA_NAME:
470 : 3 : if (gimple *_d4 = get_def (valueize, _q30))
471 : : {
472 : 3 : if (gcall *_c4 = dyn_cast <gcall *> (_d4))
473 : 1 : switch (gimple_call_combined_fn (_c4))
474 : : {
475 : 1 : case CFN_SUB_OVERFLOW:
476 : 1 : if (gimple_call_num_args (_c4) == 2)
477 : : {
478 : 1 : tree _q40 = gimple_call_arg (_c4, 0);
479 : 1 : _q40 = do_valueize (valueize, _q40);
480 : 1 : tree _q41 = gimple_call_arg (_c4, 1);
481 : 1 : _q41 = do_valueize (valueize, _q41);
482 : 1 : if (integer_zerop (_q21))
483 : : {
484 : 1 : switch (TREE_CODE (_p1))
485 : : {
486 : 1 : case SSA_NAME:
487 : 1 : if (gimple *_d5 = get_def (valueize, _p1))
488 : : {
489 : 1 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
490 : 0 : switch (gimple_assign_rhs_code (_a5))
491 : : {
492 : 0 : case REALPART_EXPR:
493 : 0 : {
494 : 0 : tree _q80 = TREE_OPERAND (gimple_assign_rhs1 (_a5), 0);
495 : 0 : if ((TREE_CODE (_q80) == SSA_NAME
496 : 0 : || is_gimple_min_invariant (_q80)))
497 : : {
498 : 0 : _q80 = do_valueize (valueize, _q80);
499 : 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
500 : : {
501 : 0 : if (integer_zerop (_p2))
502 : : {
503 : 0 : {
504 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _q30 };
505 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
506 : : )
507 : : {
508 : 0 : if (types_match (type, captures[0], captures[1])
509 : : )
510 : : {
511 : 0 : {
512 : 0 : res_ops[0] = captures[0];
513 : 0 : res_ops[1] = captures[1];
514 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 58, __FILE__, __LINE__, false);
515 : 0 : return true;
516 : : }
517 : : }
518 : : }
519 : : }
520 : : }
521 : : }
522 : : }
523 : : break;
524 : : }
525 : : default:;
526 : : }
527 : : }
528 : : break;
529 : : default:;
530 : : }
531 : : }
532 : : }
533 : : break;
534 : : default:;
535 : : }
536 : : }
537 : : break;
538 : : default:;
539 : : }
540 : : }
541 : : break;
542 : : }
543 : : default:;
544 : : }
545 : : }
546 : : break;
547 : : default:;
548 : : }
549 : 27596050 : break;
550 : : }
551 : 20053 : case NE_EXPR:
552 : 20053 : {
553 : 20053 : tree _q20 = gimple_assign_rhs1 (_a2);
554 : 20053 : _q20 = do_valueize (valueize, _q20);
555 : 20053 : tree _q21 = gimple_assign_rhs2 (_a2);
556 : 20053 : _q21 = do_valueize (valueize, _q21);
557 : 20053 : if (tree_swap_operands_p (_q20, _q21))
558 : 1 : std::swap (_q20, _q21);
559 : 20053 : switch (TREE_CODE (_q20))
560 : : {
561 : 20037 : case SSA_NAME:
562 : 20037 : if (gimple *_d3 = get_def (valueize, _q20))
563 : : {
564 : 20037 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
565 : 17600 : switch (gimple_assign_rhs_code (_a3))
566 : : {
567 : 6 : case IMAGPART_EXPR:
568 : 6 : {
569 : 6 : tree _q30 = TREE_OPERAND (gimple_assign_rhs1 (_a3), 0);
570 : 6 : if ((TREE_CODE (_q30) == SSA_NAME
571 : 6 : || is_gimple_min_invariant (_q30)))
572 : : {
573 : 6 : _q30 = do_valueize (valueize, _q30);
574 : 6 : switch (TREE_CODE (_q30))
575 : : {
576 : 6 : case SSA_NAME:
577 : 6 : if (gimple *_d4 = get_def (valueize, _q30))
578 : : {
579 : 6 : if (gcall *_c4 = dyn_cast <gcall *> (_d4))
580 : 6 : switch (gimple_call_combined_fn (_c4))
581 : : {
582 : 0 : case CFN_SUB_OVERFLOW:
583 : 0 : if (gimple_call_num_args (_c4) == 2)
584 : : {
585 : 0 : tree _q40 = gimple_call_arg (_c4, 0);
586 : 0 : _q40 = do_valueize (valueize, _q40);
587 : 0 : tree _q41 = gimple_call_arg (_c4, 1);
588 : 0 : _q41 = do_valueize (valueize, _q41);
589 : 0 : if (integer_zerop (_q21))
590 : : {
591 : 0 : if (integer_zerop (_p1))
592 : : {
593 : 0 : switch (TREE_CODE (_p2))
594 : : {
595 : 0 : case SSA_NAME:
596 : 0 : if (gimple *_d5 = get_def (valueize, _p2))
597 : : {
598 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
599 : 0 : switch (gimple_assign_rhs_code (_a5))
600 : : {
601 : 0 : case REALPART_EXPR:
602 : 0 : {
603 : 0 : tree _q90 = TREE_OPERAND (gimple_assign_rhs1 (_a5), 0);
604 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
605 : 0 : || is_gimple_min_invariant (_q90)))
606 : : {
607 : 0 : _q90 = do_valueize (valueize, _q90);
608 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
609 : : {
610 : 0 : {
611 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _q30 };
612 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
613 : : )
614 : : {
615 : 0 : if (types_match (type, captures[0], captures[1])
616 : : )
617 : : {
618 : 0 : {
619 : 0 : res_ops[0] = captures[0];
620 : 0 : res_ops[1] = captures[1];
621 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 59, __FILE__, __LINE__, false);
622 : 0 : return true;
623 : : }
624 : : }
625 : : }
626 : : }
627 : : }
628 : : }
629 : : break;
630 : : }
631 : : default:;
632 : : }
633 : : }
634 : : break;
635 : : default:;
636 : : }
637 : : }
638 : : }
639 : : }
640 : : break;
641 : : default:;
642 : : }
643 : : }
644 : : break;
645 : : default:;
646 : : }
647 : : }
648 : : break;
649 : : }
650 : : default:;
651 : : }
652 : : }
653 : : break;
654 : 20053 : default:;
655 : : }
656 : 20053 : switch (TREE_CODE (_q21))
657 : : {
658 : 18200 : case INTEGER_CST:
659 : 18200 : {
660 : 18200 : switch (TREE_CODE (_p1))
661 : : {
662 : 16814 : case SSA_NAME:
663 : 16814 : if (gimple *_d3 = get_def (valueize, _p1))
664 : : {
665 : 16814 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
666 : 19533 : switch (gimple_assign_rhs_code (_a3))
667 : : {
668 : 82 : case MINUS_EXPR:
669 : 82 : {
670 : 82 : tree _q50 = gimple_assign_rhs1 (_a3);
671 : 82 : _q50 = do_valueize (valueize, _q50);
672 : 82 : tree _q51 = gimple_assign_rhs2 (_a3);
673 : 82 : _q51 = do_valueize (valueize, _q51);
674 : 82 : switch (TREE_CODE (_q50))
675 : : {
676 : 82 : case INTEGER_CST:
677 : 82 : {
678 : 82 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
679 : : {
680 : 0 : if (integer_zerop (_p2))
681 : : {
682 : 0 : {
683 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q20, _q21 };
684 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
685 : : )
686 : : {
687 : 0 : if (types_match (type, captures[1])
688 : : )
689 : : {
690 : 0 : {
691 : 0 : unsigned precision = TYPE_PRECISION (type);
692 : 0 : wide_int max = wi::mask (precision, false, precision);
693 : 0 : wide_int c0 = wi::to_wide (captures[0]);
694 : 0 : wide_int c2 = wi::to_wide (captures[2]);
695 : 0 : wide_int c0_add_1 = wi::add (c0, wi::uhwi (1, precision));
696 : 0 : if (wi::eq_p (c2, max) && wi::eq_p (c0_add_1, max)
697 : : )
698 : : {
699 : 0 : {
700 : 0 : res_ops[0] = captures[0];
701 : 0 : res_ops[1] = captures[1];
702 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 60, __FILE__, __LINE__, false);
703 : 0 : return true;
704 : : }
705 : : }
706 : 0 : }
707 : : }
708 : : }
709 : : }
710 : : }
711 : : }
712 : : break;
713 : : }
714 : : default:;
715 : : }
716 : : break;
717 : : }
718 : : default:;
719 : : }
720 : : }
721 : : break;
722 : : default:;
723 : : }
724 : : break;
725 : : }
726 : : default:;
727 : : }
728 : 27596050 : break;
729 : : }
730 : 6383 : case LE_EXPR:
731 : 6383 : {
732 : 6383 : tree _q20 = gimple_assign_rhs1 (_a2);
733 : 6383 : _q20 = do_valueize (valueize, _q20);
734 : 6383 : tree _q21 = gimple_assign_rhs2 (_a2);
735 : 6383 : _q21 = do_valueize (valueize, _q21);
736 : 6383 : switch (TREE_CODE (_q21))
737 : : {
738 : 2277 : case INTEGER_CST:
739 : 2277 : {
740 : 2277 : switch (TREE_CODE (_p1))
741 : : {
742 : 1883 : case SSA_NAME:
743 : 1883 : if (gimple *_d3 = get_def (valueize, _p1))
744 : : {
745 : 1883 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
746 : 1706 : switch (gimple_assign_rhs_code (_a3))
747 : : {
748 : 215 : case MINUS_EXPR:
749 : 215 : {
750 : 215 : tree _q50 = gimple_assign_rhs1 (_a3);
751 : 215 : _q50 = do_valueize (valueize, _q50);
752 : 215 : tree _q51 = gimple_assign_rhs2 (_a3);
753 : 215 : _q51 = do_valueize (valueize, _q51);
754 : 215 : switch (TREE_CODE (_q50))
755 : : {
756 : 215 : case INTEGER_CST:
757 : 215 : {
758 : 215 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
759 : : {
760 : 5 : if (integer_zerop (_p2))
761 : : {
762 : 3 : {
763 : 3 : tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q20, _q21 };
764 : 3 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
765 : : )
766 : : {
767 : 3 : if (types_match (type, captures[1]) && int_fits_type_p (captures[0], type)
768 : : )
769 : : {
770 : 3 : {
771 : 3 : unsigned precision = TYPE_PRECISION (type);
772 : 3 : wide_int max = wi::mask (precision, false, precision);
773 : 3 : wide_int c0 = wi::to_wide (captures[0]);
774 : 3 : wide_int c2 = wi::to_wide (captures[2]);
775 : 3 : wide_int c2_add_1 = wi::add (c2, wi::uhwi (1, precision));
776 : 3 : bool equal_p = wi::eq_p (c0, c2);
777 : 3 : bool less_than_1_p = !wi::eq_p (c2, max) && wi::eq_p (c2_add_1, c0);
778 : 3 : if (equal_p || less_than_1_p
779 : : )
780 : : {
781 : 3 : {
782 : 3 : res_ops[0] = captures[0];
783 : 3 : res_ops[1] = captures[1];
784 : 3 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 61, __FILE__, __LINE__, false);
785 : 3 : return true;
786 : : }
787 : : }
788 : 3 : }
789 : : }
790 : : }
791 : : }
792 : : }
793 : : }
794 : : break;
795 : : }
796 : : default:;
797 : : }
798 : : break;
799 : : }
800 : : default:;
801 : : }
802 : : }
803 : : break;
804 : : default:;
805 : : }
806 : : break;
807 : : }
808 : 6380 : default:;
809 : : }
810 : 6380 : if (integer_onep (_q21))
811 : : {
812 : 213 : switch (TREE_CODE (_p1))
813 : : {
814 : 197 : case SSA_NAME:
815 : 197 : if (gimple *_d3 = get_def (valueize, _p1))
816 : : {
817 : 197 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
818 : 197 : switch (gimple_assign_rhs_code (_a3))
819 : : {
820 : 0 : case BIT_XOR_EXPR:
821 : 0 : {
822 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
823 : 0 : _q50 = do_valueize (valueize, _q50);
824 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
825 : 0 : _q51 = do_valueize (valueize, _q51);
826 : 0 : if (tree_swap_operands_p (_q50, _q51))
827 : 0 : std::swap (_q50, _q51);
828 : 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
829 : : {
830 : 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
831 : : {
832 : 0 : if (integer_onep (_q51))
833 : : {
834 : 0 : if (integer_zerop (_p2))
835 : : {
836 : 0 : {
837 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
838 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
839 : : )
840 : : {
841 : 0 : if (types_match (type, captures[1])
842 : : )
843 : : {
844 : 0 : {
845 : 0 : res_ops[0] = captures[0];
846 : 0 : res_ops[1] = captures[1];
847 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 62, __FILE__, __LINE__, false);
848 : 0 : return true;
849 : : }
850 : : }
851 : : }
852 : : }
853 : : }
854 : : }
855 : : }
856 : : }
857 : 27596050 : break;
858 : : }
859 : : default:;
860 : : }
861 : : }
862 : : break;
863 : : default:;
864 : : }
865 : : }
866 : : break;
867 : : }
868 : : default:;
869 : : }
870 : : }
871 : : break;
872 : 0 : case GT_EXPR:
873 : 0 : {
874 : 0 : tree _q20 = TREE_OPERAND (_p0, 0);
875 : 0 : if ((TREE_CODE (_q20) == SSA_NAME
876 : 0 : || is_gimple_min_invariant (_q20)))
877 : : {
878 : 0 : _q20 = do_valueize (valueize, _q20);
879 : 0 : tree _q21 = TREE_OPERAND (_p0, 1);
880 : 0 : if ((TREE_CODE (_q21) == SSA_NAME
881 : 0 : || is_gimple_min_invariant (_q21)))
882 : : {
883 : 0 : _q21 = do_valueize (valueize, _q21);
884 : 0 : switch (TREE_CODE (_p1))
885 : : {
886 : 0 : case SSA_NAME:
887 : 0 : if (gimple *_d2 = get_def (valueize, _p1))
888 : : {
889 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
890 : 0 : switch (gimple_assign_rhs_code (_a2))
891 : : {
892 : 0 : case MINUS_EXPR:
893 : 0 : {
894 : 0 : tree _q50 = gimple_assign_rhs1 (_a2);
895 : 0 : _q50 = do_valueize (valueize, _q50);
896 : 0 : tree _q51 = gimple_assign_rhs2 (_a2);
897 : 0 : _q51 = do_valueize (valueize, _q51);
898 : 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
899 : : {
900 : 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
901 : : {
902 : 0 : if (integer_zerop (_p2))
903 : : {
904 : 0 : {
905 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
906 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
907 : : )
908 : : {
909 : 0 : if (types_match (type, captures[0], captures[1])
910 : : )
911 : : {
912 : 0 : {
913 : 0 : res_ops[0] = captures[0];
914 : 0 : res_ops[1] = captures[1];
915 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 56, __FILE__, __LINE__, false);
916 : 0 : return true;
917 : : }
918 : : }
919 : : }
920 : : }
921 : : }
922 : : }
923 : : }
924 : : break;
925 : : }
926 : : default:;
927 : : }
928 : : }
929 : : break;
930 : : default:;
931 : : }
932 : : }
933 : : }
934 : : break;
935 : : }
936 : 0 : case GE_EXPR:
937 : 0 : {
938 : 0 : tree _q20 = TREE_OPERAND (_p0, 0);
939 : 0 : if ((TREE_CODE (_q20) == SSA_NAME
940 : 0 : || is_gimple_min_invariant (_q20)))
941 : : {
942 : 0 : _q20 = do_valueize (valueize, _q20);
943 : 0 : tree _q21 = TREE_OPERAND (_p0, 1);
944 : 0 : if ((TREE_CODE (_q21) == SSA_NAME
945 : 0 : || is_gimple_min_invariant (_q21)))
946 : : {
947 : 0 : _q21 = do_valueize (valueize, _q21);
948 : 0 : switch (TREE_CODE (_p1))
949 : : {
950 : 0 : case SSA_NAME:
951 : 0 : if (gimple *_d2 = get_def (valueize, _p1))
952 : : {
953 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
954 : 0 : switch (gimple_assign_rhs_code (_a2))
955 : : {
956 : 0 : CASE_CONVERT:
957 : 0 : {
958 : 0 : tree _q50 = gimple_assign_rhs1 (_a2);
959 : 0 : _q50 = do_valueize (valueize, _q50);
960 : 0 : switch (TREE_CODE (_q50))
961 : : {
962 : 0 : case SSA_NAME:
963 : 0 : if (gimple *_d3 = get_def (valueize, _q50))
964 : : {
965 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
966 : 0 : switch (gimple_assign_rhs_code (_a3))
967 : : {
968 : 0 : case MINUS_EXPR:
969 : 0 : {
970 : 0 : tree _q60 = gimple_assign_rhs1 (_a3);
971 : 0 : _q60 = do_valueize (valueize, _q60);
972 : 0 : tree _q61 = gimple_assign_rhs2 (_a3);
973 : 0 : _q61 = do_valueize (valueize, _q61);
974 : 0 : switch (TREE_CODE (_q60))
975 : : {
976 : 0 : case SSA_NAME:
977 : 0 : if (gimple *_d4 = get_def (valueize, _q60))
978 : : {
979 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
980 : 0 : switch (gimple_assign_rhs_code (_a4))
981 : : {
982 : 0 : CASE_CONVERT:
983 : 0 : {
984 : 0 : tree _q70 = gimple_assign_rhs1 (_a4);
985 : 0 : _q70 = do_valueize (valueize, _q70);
986 : 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
987 : : {
988 : 0 : switch (TREE_CODE (_q61))
989 : : {
990 : 0 : case SSA_NAME:
991 : 0 : if (gimple *_d5 = get_def (valueize, _q61))
992 : : {
993 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
994 : 0 : switch (gimple_assign_rhs_code (_a5))
995 : : {
996 : 0 : CASE_CONVERT:
997 : 0 : {
998 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
999 : 0 : _q90 = do_valueize (valueize, _q90);
1000 : 0 : if ((_q90 == _q21 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q21, 0) && types_match (_q90, _q21)))
1001 : : {
1002 : 0 : if (integer_zerop (_p2))
1003 : : {
1004 : 0 : {
1005 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
1006 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
1007 : : )
1008 : : {
1009 : 0 : if (TYPE_UNSIGNED (TREE_TYPE (captures[0])) && types_match (captures[0], captures[1])
1010 : : )
1011 : : {
1012 : 0 : {
1013 : 0 : res_ops[0] = captures[0];
1014 : 0 : res_ops[1] = captures[1];
1015 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 57, __FILE__, __LINE__, false);
1016 : 0 : return true;
1017 : : }
1018 : : }
1019 : : }
1020 : : }
1021 : : }
1022 : : }
1023 : : break;
1024 : : }
1025 : : default:;
1026 : : }
1027 : : }
1028 : : break;
1029 : : default:;
1030 : : }
1031 : : }
1032 : : break;
1033 : : }
1034 : : default:;
1035 : : }
1036 : : }
1037 : : break;
1038 : 0 : default:;
1039 : : }
1040 : 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
1041 : : {
1042 : 0 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
1043 : : {
1044 : 0 : if (integer_zerop (_p2))
1045 : : {
1046 : 0 : {
1047 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
1048 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
1049 : : )
1050 : : {
1051 : 0 : if (TYPE_UNSIGNED (TREE_TYPE (captures[0])) && types_match (captures[0], captures[1])
1052 : : )
1053 : : {
1054 : 0 : {
1055 : 0 : res_ops[0] = captures[0];
1056 : 0 : res_ops[1] = captures[1];
1057 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 57, __FILE__, __LINE__, false);
1058 : 0 : return true;
1059 : : }
1060 : : }
1061 : : }
1062 : : }
1063 : : }
1064 : : }
1065 : : }
1066 : : break;
1067 : : }
1068 : : default:;
1069 : : }
1070 : : }
1071 : : break;
1072 : : default:;
1073 : : }
1074 : : break;
1075 : : }
1076 : 0 : case MINUS_EXPR:
1077 : 0 : {
1078 : 0 : tree _q50 = gimple_assign_rhs1 (_a2);
1079 : 0 : _q50 = do_valueize (valueize, _q50);
1080 : 0 : tree _q51 = gimple_assign_rhs2 (_a2);
1081 : 0 : _q51 = do_valueize (valueize, _q51);
1082 : 0 : switch (TREE_CODE (_q50))
1083 : : {
1084 : 0 : case SSA_NAME:
1085 : 0 : if (gimple *_d3 = get_def (valueize, _q50))
1086 : : {
1087 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
1088 : 0 : switch (gimple_assign_rhs_code (_a3))
1089 : : {
1090 : 0 : CASE_CONVERT:
1091 : 0 : {
1092 : 0 : tree _q60 = gimple_assign_rhs1 (_a3);
1093 : 0 : _q60 = do_valueize (valueize, _q60);
1094 : 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
1095 : : {
1096 : 0 : switch (TREE_CODE (_q51))
1097 : : {
1098 : 0 : case SSA_NAME:
1099 : 0 : if (gimple *_d4 = get_def (valueize, _q51))
1100 : : {
1101 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
1102 : 0 : switch (gimple_assign_rhs_code (_a4))
1103 : : {
1104 : 0 : CASE_CONVERT:
1105 : 0 : {
1106 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
1107 : 0 : _q80 = do_valueize (valueize, _q80);
1108 : 0 : if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
1109 : : {
1110 : 0 : if (integer_zerop (_p2))
1111 : : {
1112 : 0 : {
1113 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
1114 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
1115 : : )
1116 : : {
1117 : 0 : if (TYPE_UNSIGNED (TREE_TYPE (captures[0])) && types_match (captures[0], captures[1])
1118 : : )
1119 : : {
1120 : 0 : {
1121 : 0 : res_ops[0] = captures[0];
1122 : 0 : res_ops[1] = captures[1];
1123 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 57, __FILE__, __LINE__, false);
1124 : 0 : return true;
1125 : : }
1126 : : }
1127 : : }
1128 : : }
1129 : : }
1130 : : }
1131 : : break;
1132 : : }
1133 : : default:;
1134 : : }
1135 : : }
1136 : : break;
1137 : : default:;
1138 : : }
1139 : : }
1140 : : break;
1141 : : }
1142 : : default:;
1143 : : }
1144 : : }
1145 : : break;
1146 : 0 : default:;
1147 : : }
1148 : 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
1149 : : {
1150 : 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
1151 : : {
1152 : 0 : if (integer_zerop (_p2))
1153 : : {
1154 : 0 : {
1155 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
1156 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
1157 : : )
1158 : : {
1159 : 0 : if (TYPE_UNSIGNED (TREE_TYPE (captures[0])) && types_match (captures[0], captures[1])
1160 : : )
1161 : : {
1162 : 0 : {
1163 : 0 : res_ops[0] = captures[0];
1164 : 0 : res_ops[1] = captures[1];
1165 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 57, __FILE__, __LINE__, false);
1166 : 0 : return true;
1167 : : }
1168 : : }
1169 : : }
1170 : : }
1171 : : }
1172 : : }
1173 : : }
1174 : : break;
1175 : : }
1176 : : default:;
1177 : : }
1178 : : }
1179 : : break;
1180 : : default:;
1181 : : }
1182 : : }
1183 : : }
1184 : : break;
1185 : : }
1186 : 0 : case EQ_EXPR:
1187 : 0 : {
1188 : 0 : tree _q20 = TREE_OPERAND (_p0, 0);
1189 : 0 : if ((TREE_CODE (_q20) == SSA_NAME
1190 : 0 : || is_gimple_min_invariant (_q20)))
1191 : : {
1192 : 0 : _q20 = do_valueize (valueize, _q20);
1193 : 0 : tree _q21 = TREE_OPERAND (_p0, 1);
1194 : 0 : if ((TREE_CODE (_q21) == SSA_NAME
1195 : 0 : || is_gimple_min_invariant (_q21)))
1196 : : {
1197 : 0 : _q21 = do_valueize (valueize, _q21);
1198 : 0 : if (tree_swap_operands_p (_q20, _q21))
1199 : 0 : std::swap (_q20, _q21);
1200 : 0 : switch (TREE_CODE (_q20))
1201 : : {
1202 : 0 : case SSA_NAME:
1203 : 0 : if (gimple *_d2 = get_def (valueize, _q20))
1204 : : {
1205 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
1206 : 0 : switch (gimple_assign_rhs_code (_a2))
1207 : : {
1208 : 0 : case IMAGPART_EXPR:
1209 : 0 : {
1210 : 0 : tree _q30 = TREE_OPERAND (gimple_assign_rhs1 (_a2), 0);
1211 : 0 : if ((TREE_CODE (_q30) == SSA_NAME
1212 : 0 : || is_gimple_min_invariant (_q30)))
1213 : : {
1214 : 0 : _q30 = do_valueize (valueize, _q30);
1215 : 0 : switch (TREE_CODE (_q30))
1216 : : {
1217 : 0 : case SSA_NAME:
1218 : 0 : if (gimple *_d3 = get_def (valueize, _q30))
1219 : : {
1220 : 0 : if (gcall *_c3 = dyn_cast <gcall *> (_d3))
1221 : 0 : switch (gimple_call_combined_fn (_c3))
1222 : : {
1223 : 0 : case CFN_SUB_OVERFLOW:
1224 : 0 : if (gimple_call_num_args (_c3) == 2)
1225 : : {
1226 : 0 : tree _q40 = gimple_call_arg (_c3, 0);
1227 : 0 : _q40 = do_valueize (valueize, _q40);
1228 : 0 : tree _q41 = gimple_call_arg (_c3, 1);
1229 : 0 : _q41 = do_valueize (valueize, _q41);
1230 : 0 : if (integer_zerop (_q21))
1231 : : {
1232 : 0 : switch (TREE_CODE (_p1))
1233 : : {
1234 : 0 : case SSA_NAME:
1235 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
1236 : : {
1237 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
1238 : 0 : switch (gimple_assign_rhs_code (_a4))
1239 : : {
1240 : 0 : case REALPART_EXPR:
1241 : 0 : {
1242 : 0 : tree _q80 = TREE_OPERAND (gimple_assign_rhs1 (_a4), 0);
1243 : 0 : if ((TREE_CODE (_q80) == SSA_NAME
1244 : 0 : || is_gimple_min_invariant (_q80)))
1245 : : {
1246 : 0 : _q80 = do_valueize (valueize, _q80);
1247 : 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
1248 : : {
1249 : 0 : if (integer_zerop (_p2))
1250 : : {
1251 : 0 : {
1252 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _q30 };
1253 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
1254 : : )
1255 : : {
1256 : 0 : if (types_match (type, captures[0], captures[1])
1257 : : )
1258 : : {
1259 : 0 : {
1260 : 0 : res_ops[0] = captures[0];
1261 : 0 : res_ops[1] = captures[1];
1262 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 58, __FILE__, __LINE__, false);
1263 : 0 : return true;
1264 : : }
1265 : : }
1266 : : }
1267 : : }
1268 : : }
1269 : : }
1270 : : }
1271 : : break;
1272 : : }
1273 : : default:;
1274 : : }
1275 : : }
1276 : : break;
1277 : : default:;
1278 : : }
1279 : : }
1280 : : }
1281 : : break;
1282 : : default:;
1283 : : }
1284 : : }
1285 : : break;
1286 : : default:;
1287 : : }
1288 : : }
1289 : : break;
1290 : : }
1291 : : default:;
1292 : : }
1293 : : }
1294 : : break;
1295 : : default:;
1296 : : }
1297 : : }
1298 : : }
1299 : 27596050 : break;
1300 : : }
1301 : 0 : case NE_EXPR:
1302 : 0 : {
1303 : 0 : tree _q20 = TREE_OPERAND (_p0, 0);
1304 : 0 : if ((TREE_CODE (_q20) == SSA_NAME
1305 : 0 : || is_gimple_min_invariant (_q20)))
1306 : : {
1307 : 0 : _q20 = do_valueize (valueize, _q20);
1308 : 0 : tree _q21 = TREE_OPERAND (_p0, 1);
1309 : 0 : if ((TREE_CODE (_q21) == SSA_NAME
1310 : 0 : || is_gimple_min_invariant (_q21)))
1311 : : {
1312 : 0 : _q21 = do_valueize (valueize, _q21);
1313 : 0 : if (tree_swap_operands_p (_q20, _q21))
1314 : 0 : std::swap (_q20, _q21);
1315 : 0 : switch (TREE_CODE (_q20))
1316 : : {
1317 : 0 : case SSA_NAME:
1318 : 0 : if (gimple *_d2 = get_def (valueize, _q20))
1319 : : {
1320 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
1321 : 0 : switch (gimple_assign_rhs_code (_a2))
1322 : : {
1323 : 0 : case IMAGPART_EXPR:
1324 : 0 : {
1325 : 0 : tree _q30 = TREE_OPERAND (gimple_assign_rhs1 (_a2), 0);
1326 : 0 : if ((TREE_CODE (_q30) == SSA_NAME
1327 : 0 : || is_gimple_min_invariant (_q30)))
1328 : : {
1329 : 0 : _q30 = do_valueize (valueize, _q30);
1330 : 0 : switch (TREE_CODE (_q30))
1331 : : {
1332 : 0 : case SSA_NAME:
1333 : 0 : if (gimple *_d3 = get_def (valueize, _q30))
1334 : : {
1335 : 0 : if (gcall *_c3 = dyn_cast <gcall *> (_d3))
1336 : 0 : switch (gimple_call_combined_fn (_c3))
1337 : : {
1338 : 0 : case CFN_SUB_OVERFLOW:
1339 : 0 : if (gimple_call_num_args (_c3) == 2)
1340 : : {
1341 : 0 : tree _q40 = gimple_call_arg (_c3, 0);
1342 : 0 : _q40 = do_valueize (valueize, _q40);
1343 : 0 : tree _q41 = gimple_call_arg (_c3, 1);
1344 : 0 : _q41 = do_valueize (valueize, _q41);
1345 : 0 : if (integer_zerop (_q21))
1346 : : {
1347 : 0 : if (integer_zerop (_p1))
1348 : : {
1349 : 0 : switch (TREE_CODE (_p2))
1350 : : {
1351 : 0 : case SSA_NAME:
1352 : 0 : if (gimple *_d4 = get_def (valueize, _p2))
1353 : : {
1354 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
1355 : 0 : switch (gimple_assign_rhs_code (_a4))
1356 : : {
1357 : 0 : case REALPART_EXPR:
1358 : 0 : {
1359 : 0 : tree _q90 = TREE_OPERAND (gimple_assign_rhs1 (_a4), 0);
1360 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
1361 : 0 : || is_gimple_min_invariant (_q90)))
1362 : : {
1363 : 0 : _q90 = do_valueize (valueize, _q90);
1364 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
1365 : : {
1366 : 0 : {
1367 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _q30 };
1368 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
1369 : : )
1370 : : {
1371 : 0 : if (types_match (type, captures[0], captures[1])
1372 : : )
1373 : : {
1374 : 0 : {
1375 : 0 : res_ops[0] = captures[0];
1376 : 0 : res_ops[1] = captures[1];
1377 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 59, __FILE__, __LINE__, false);
1378 : 0 : return true;
1379 : : }
1380 : : }
1381 : : }
1382 : : }
1383 : : }
1384 : : }
1385 : : break;
1386 : : }
1387 : : default:;
1388 : : }
1389 : : }
1390 : : break;
1391 : : default:;
1392 : : }
1393 : : }
1394 : : }
1395 : : }
1396 : : break;
1397 : : default:;
1398 : : }
1399 : : }
1400 : : break;
1401 : : default:;
1402 : : }
1403 : : }
1404 : : break;
1405 : : }
1406 : : default:;
1407 : : }
1408 : : }
1409 : : break;
1410 : 0 : default:;
1411 : : }
1412 : 0 : switch (TREE_CODE (_q21))
1413 : : {
1414 : 0 : case INTEGER_CST:
1415 : 0 : {
1416 : 0 : switch (TREE_CODE (_p1))
1417 : : {
1418 : 0 : case SSA_NAME:
1419 : 0 : if (gimple *_d2 = get_def (valueize, _p1))
1420 : : {
1421 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
1422 : 0 : switch (gimple_assign_rhs_code (_a2))
1423 : : {
1424 : 0 : case MINUS_EXPR:
1425 : 0 : {
1426 : 0 : tree _q50 = gimple_assign_rhs1 (_a2);
1427 : 0 : _q50 = do_valueize (valueize, _q50);
1428 : 0 : tree _q51 = gimple_assign_rhs2 (_a2);
1429 : 0 : _q51 = do_valueize (valueize, _q51);
1430 : 0 : switch (TREE_CODE (_q50))
1431 : : {
1432 : 0 : case INTEGER_CST:
1433 : 0 : {
1434 : 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
1435 : : {
1436 : 0 : if (integer_zerop (_p2))
1437 : : {
1438 : 0 : {
1439 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q20, _q21 };
1440 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
1441 : : )
1442 : : {
1443 : 0 : if (types_match (type, captures[1])
1444 : : )
1445 : : {
1446 : 0 : {
1447 : 0 : unsigned precision = TYPE_PRECISION (type);
1448 : 0 : wide_int max = wi::mask (precision, false, precision);
1449 : 0 : wide_int c0 = wi::to_wide (captures[0]);
1450 : 0 : wide_int c2 = wi::to_wide (captures[2]);
1451 : 0 : wide_int c0_add_1 = wi::add (c0, wi::uhwi (1, precision));
1452 : 0 : if (wi::eq_p (c2, max) && wi::eq_p (c0_add_1, max)
1453 : : )
1454 : : {
1455 : 0 : {
1456 : 0 : res_ops[0] = captures[0];
1457 : 0 : res_ops[1] = captures[1];
1458 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 60, __FILE__, __LINE__, false);
1459 : 0 : return true;
1460 : : }
1461 : : }
1462 : 0 : }
1463 : : }
1464 : : }
1465 : : }
1466 : : }
1467 : : }
1468 : : break;
1469 : : }
1470 : : default:;
1471 : : }
1472 : : break;
1473 : : }
1474 : : default:;
1475 : : }
1476 : : }
1477 : : break;
1478 : : default:;
1479 : : }
1480 : : break;
1481 : : }
1482 : : default:;
1483 : : }
1484 : : }
1485 : : }
1486 : 27596050 : break;
1487 : : }
1488 : 0 : case LE_EXPR:
1489 : 0 : {
1490 : 0 : tree _q20 = TREE_OPERAND (_p0, 0);
1491 : 0 : if ((TREE_CODE (_q20) == SSA_NAME
1492 : 0 : || is_gimple_min_invariant (_q20)))
1493 : : {
1494 : 0 : _q20 = do_valueize (valueize, _q20);
1495 : 0 : tree _q21 = TREE_OPERAND (_p0, 1);
1496 : 0 : if ((TREE_CODE (_q21) == SSA_NAME
1497 : 0 : || is_gimple_min_invariant (_q21)))
1498 : : {
1499 : 0 : _q21 = do_valueize (valueize, _q21);
1500 : 0 : switch (TREE_CODE (_q21))
1501 : : {
1502 : 0 : case INTEGER_CST:
1503 : 0 : {
1504 : 0 : switch (TREE_CODE (_p1))
1505 : : {
1506 : 0 : case SSA_NAME:
1507 : 0 : if (gimple *_d2 = get_def (valueize, _p1))
1508 : : {
1509 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
1510 : 0 : switch (gimple_assign_rhs_code (_a2))
1511 : : {
1512 : 0 : case MINUS_EXPR:
1513 : 0 : {
1514 : 0 : tree _q50 = gimple_assign_rhs1 (_a2);
1515 : 0 : _q50 = do_valueize (valueize, _q50);
1516 : 0 : tree _q51 = gimple_assign_rhs2 (_a2);
1517 : 0 : _q51 = do_valueize (valueize, _q51);
1518 : 0 : switch (TREE_CODE (_q50))
1519 : : {
1520 : 0 : case INTEGER_CST:
1521 : 0 : {
1522 : 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
1523 : : {
1524 : 0 : if (integer_zerop (_p2))
1525 : : {
1526 : 0 : {
1527 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q20, _q21 };
1528 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
1529 : : )
1530 : : {
1531 : 0 : if (types_match (type, captures[1]) && int_fits_type_p (captures[0], type)
1532 : : )
1533 : : {
1534 : 0 : {
1535 : 0 : unsigned precision = TYPE_PRECISION (type);
1536 : 0 : wide_int max = wi::mask (precision, false, precision);
1537 : 0 : wide_int c0 = wi::to_wide (captures[0]);
1538 : 0 : wide_int c2 = wi::to_wide (captures[2]);
1539 : 0 : wide_int c2_add_1 = wi::add (c2, wi::uhwi (1, precision));
1540 : 0 : bool equal_p = wi::eq_p (c0, c2);
1541 : 0 : bool less_than_1_p = !wi::eq_p (c2, max) && wi::eq_p (c2_add_1, c0);
1542 : 0 : if (equal_p || less_than_1_p
1543 : : )
1544 : : {
1545 : 0 : {
1546 : 0 : res_ops[0] = captures[0];
1547 : 0 : res_ops[1] = captures[1];
1548 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 61, __FILE__, __LINE__, false);
1549 : 0 : return true;
1550 : : }
1551 : : }
1552 : 0 : }
1553 : : }
1554 : : }
1555 : : }
1556 : : }
1557 : : }
1558 : : break;
1559 : : }
1560 : : default:;
1561 : : }
1562 : : break;
1563 : : }
1564 : : default:;
1565 : : }
1566 : : }
1567 : : break;
1568 : : default:;
1569 : : }
1570 : : break;
1571 : : }
1572 : 0 : default:;
1573 : : }
1574 : 0 : if (integer_onep (_q21))
1575 : : {
1576 : 0 : switch (TREE_CODE (_p1))
1577 : : {
1578 : 0 : case SSA_NAME:
1579 : 0 : if (gimple *_d2 = get_def (valueize, _p1))
1580 : : {
1581 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
1582 : 0 : switch (gimple_assign_rhs_code (_a2))
1583 : : {
1584 : 0 : case BIT_XOR_EXPR:
1585 : 0 : {
1586 : 0 : tree _q50 = gimple_assign_rhs1 (_a2);
1587 : 0 : _q50 = do_valueize (valueize, _q50);
1588 : 0 : tree _q51 = gimple_assign_rhs2 (_a2);
1589 : 0 : _q51 = do_valueize (valueize, _q51);
1590 : 0 : if (tree_swap_operands_p (_q50, _q51))
1591 : 0 : std::swap (_q50, _q51);
1592 : 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
1593 : : {
1594 : 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
1595 : : {
1596 : 0 : if (integer_onep (_q51))
1597 : : {
1598 : 0 : if (integer_zerop (_p2))
1599 : : {
1600 : 0 : {
1601 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
1602 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
1603 : : )
1604 : : {
1605 : 0 : if (types_match (type, captures[1])
1606 : : )
1607 : : {
1608 : 0 : {
1609 : 0 : res_ops[0] = captures[0];
1610 : 0 : res_ops[1] = captures[1];
1611 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 62, __FILE__, __LINE__, false);
1612 : 0 : return true;
1613 : : }
1614 : : }
1615 : : }
1616 : : }
1617 : : }
1618 : : }
1619 : : }
1620 : : }
1621 : 27596050 : break;
1622 : : }
1623 : : default:;
1624 : : }
1625 : : }
1626 : : break;
1627 : : default:;
1628 : : }
1629 : : }
1630 : : }
1631 : : }
1632 : : break;
1633 : : }
1634 : : default:;
1635 : : }
1636 : : break;
1637 : : }
1638 : 1962558 : case MULT_EXPR:
1639 : 1962558 : {
1640 : 1962558 : tree _p0 = gimple_assign_rhs1 (_a1);
1641 : 1962558 : _p0 = do_valueize (valueize, _p0);
1642 : 1962558 : tree _p1 = gimple_assign_rhs2 (_a1);
1643 : 1962558 : _p1 = do_valueize (valueize, _p1);
1644 : 1962558 : if (tree_swap_operands_p (_p0, _p1))
1645 : 36038 : std::swap (_p0, _p1);
1646 : 1962558 : switch (TREE_CODE (_p0))
1647 : : {
1648 : 1962353 : case SSA_NAME:
1649 : 1962353 : if (gimple *_d2 = get_def (valueize, _p0))
1650 : : {
1651 : 1962353 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
1652 : 1998879 : switch (gimple_assign_rhs_code (_a2))
1653 : : {
1654 : 58451 : case MINUS_EXPR:
1655 : 58451 : {
1656 : 58451 : tree _q20 = gimple_assign_rhs1 (_a2);
1657 : 58451 : _q20 = do_valueize (valueize, _q20);
1658 : 58451 : tree _q21 = gimple_assign_rhs2 (_a2);
1659 : 58451 : _q21 = do_valueize (valueize, _q21);
1660 : 58451 : switch (TREE_CODE (_p1))
1661 : : {
1662 : 17303 : case SSA_NAME:
1663 : 17303 : if (gimple *_d3 = get_def (valueize, _p1))
1664 : : {
1665 : 17303 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
1666 : 15868 : switch (gimple_assign_rhs_code (_a3))
1667 : : {
1668 : 479 : CASE_CONVERT:
1669 : 479 : {
1670 : 479 : tree _q50 = gimple_assign_rhs1 (_a3);
1671 : 479 : _q50 = do_valueize (valueize, _q50);
1672 : 479 : switch (TREE_CODE (_q50))
1673 : : {
1674 : 479 : case SSA_NAME:
1675 : 479 : if (gimple *_d4 = get_def (valueize, _q50))
1676 : : {
1677 : 479 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
1678 : 751 : switch (gimple_assign_rhs_code (_a4))
1679 : : {
1680 : 0 : case GT_EXPR:
1681 : 0 : {
1682 : 0 : tree _q60 = gimple_assign_rhs1 (_a4);
1683 : 0 : _q60 = do_valueize (valueize, _q60);
1684 : 0 : tree _q61 = gimple_assign_rhs2 (_a4);
1685 : 0 : _q61 = do_valueize (valueize, _q61);
1686 : 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
1687 : : {
1688 : 0 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
1689 : : {
1690 : 0 : {
1691 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
1692 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
1693 : : )
1694 : : {
1695 : 0 : if (types_match (type, captures[0], captures[1])
1696 : : )
1697 : : {
1698 : 0 : {
1699 : 0 : res_ops[0] = captures[0];
1700 : 0 : res_ops[1] = captures[1];
1701 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 63, __FILE__, __LINE__, false);
1702 : 0 : return true;
1703 : : }
1704 : : }
1705 : : }
1706 : : }
1707 : : }
1708 : : }
1709 : : break;
1710 : : }
1711 : 0 : case GE_EXPR:
1712 : 0 : {
1713 : 0 : tree _q60 = gimple_assign_rhs1 (_a4);
1714 : 0 : _q60 = do_valueize (valueize, _q60);
1715 : 0 : tree _q61 = gimple_assign_rhs2 (_a4);
1716 : 0 : _q61 = do_valueize (valueize, _q61);
1717 : 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
1718 : : {
1719 : 0 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
1720 : : {
1721 : 0 : {
1722 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
1723 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
1724 : : )
1725 : : {
1726 : 0 : if (types_match (type, captures[0], captures[1])
1727 : : )
1728 : : {
1729 : 0 : {
1730 : 0 : res_ops[0] = captures[0];
1731 : 0 : res_ops[1] = captures[1];
1732 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 64, __FILE__, __LINE__, false);
1733 : 0 : return true;
1734 : : }
1735 : : }
1736 : : }
1737 : : }
1738 : : }
1739 : : }
1740 : : break;
1741 : : }
1742 : : default:;
1743 : : }
1744 : : }
1745 : : break;
1746 : : default:;
1747 : : }
1748 : : break;
1749 : : }
1750 : : default:;
1751 : : }
1752 : : }
1753 : : break;
1754 : : default:;
1755 : : }
1756 : : break;
1757 : : }
1758 : 621903 : CASE_CONVERT:
1759 : 621903 : {
1760 : 621903 : tree _q20 = gimple_assign_rhs1 (_a2);
1761 : 621903 : _q20 = do_valueize (valueize, _q20);
1762 : 621903 : switch (TREE_CODE (_q20))
1763 : : {
1764 : 621886 : case SSA_NAME:
1765 : 621886 : if (gimple *_d3 = get_def (valueize, _q20))
1766 : : {
1767 : 621886 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
1768 : 501085 : switch (gimple_assign_rhs_code (_a3))
1769 : : {
1770 : 1 : case GT_EXPR:
1771 : 1 : {
1772 : 1 : tree _q30 = gimple_assign_rhs1 (_a3);
1773 : 1 : _q30 = do_valueize (valueize, _q30);
1774 : 1 : tree _q31 = gimple_assign_rhs2 (_a3);
1775 : 1 : _q31 = do_valueize (valueize, _q31);
1776 : 1 : switch (TREE_CODE (_p1))
1777 : : {
1778 : 1 : case SSA_NAME:
1779 : 1 : if (gimple *_d4 = get_def (valueize, _p1))
1780 : : {
1781 : 1 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
1782 : 1 : switch (gimple_assign_rhs_code (_a4))
1783 : : {
1784 : 0 : case MINUS_EXPR:
1785 : 0 : {
1786 : 0 : tree _q60 = gimple_assign_rhs1 (_a4);
1787 : 0 : _q60 = do_valueize (valueize, _q60);
1788 : 0 : tree _q61 = gimple_assign_rhs2 (_a4);
1789 : 0 : _q61 = do_valueize (valueize, _q61);
1790 : 0 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
1791 : : {
1792 : 0 : if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
1793 : : {
1794 : 0 : {
1795 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
1796 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
1797 : : )
1798 : : {
1799 : 0 : if (types_match (type, captures[0], captures[1])
1800 : : )
1801 : : {
1802 : 0 : {
1803 : 0 : res_ops[0] = captures[0];
1804 : 0 : res_ops[1] = captures[1];
1805 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 63, __FILE__, __LINE__, false);
1806 : 0 : return true;
1807 : : }
1808 : : }
1809 : : }
1810 : : }
1811 : : }
1812 : : }
1813 : : break;
1814 : : }
1815 : : default:;
1816 : : }
1817 : : }
1818 : : break;
1819 : : default:;
1820 : : }
1821 : : break;
1822 : : }
1823 : 169 : case GE_EXPR:
1824 : 169 : {
1825 : 169 : tree _q30 = gimple_assign_rhs1 (_a3);
1826 : 169 : _q30 = do_valueize (valueize, _q30);
1827 : 169 : tree _q31 = gimple_assign_rhs2 (_a3);
1828 : 169 : _q31 = do_valueize (valueize, _q31);
1829 : 169 : switch (TREE_CODE (_p1))
1830 : : {
1831 : 33 : case SSA_NAME:
1832 : 33 : if (gimple *_d4 = get_def (valueize, _p1))
1833 : : {
1834 : 33 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
1835 : 18 : switch (gimple_assign_rhs_code (_a4))
1836 : : {
1837 : 18 : case MINUS_EXPR:
1838 : 18 : {
1839 : 18 : tree _q60 = gimple_assign_rhs1 (_a4);
1840 : 18 : _q60 = do_valueize (valueize, _q60);
1841 : 18 : tree _q61 = gimple_assign_rhs2 (_a4);
1842 : 18 : _q61 = do_valueize (valueize, _q61);
1843 : 18 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
1844 : : {
1845 : 18 : if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
1846 : : {
1847 : 18 : {
1848 : 18 : tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
1849 : 18 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
1850 : : )
1851 : : {
1852 : 18 : if (types_match (type, captures[0], captures[1])
1853 : : )
1854 : : {
1855 : 18 : {
1856 : 18 : res_ops[0] = captures[0];
1857 : 18 : res_ops[1] = captures[1];
1858 : 18 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 64, __FILE__, __LINE__, false);
1859 : 18 : return true;
1860 : : }
1861 : : }
1862 : : }
1863 : : }
1864 : : }
1865 : : }
1866 : : break;
1867 : : }
1868 : : default:;
1869 : : }
1870 : : }
1871 : : break;
1872 : : default:;
1873 : : }
1874 : : break;
1875 : : }
1876 : : default:;
1877 : : }
1878 : : }
1879 : : break;
1880 : : default:;
1881 : : }
1882 : : break;
1883 : : }
1884 : 29662 : case REALPART_EXPR:
1885 : 29662 : {
1886 : 29662 : tree _q20 = TREE_OPERAND (gimple_assign_rhs1 (_a2), 0);
1887 : 29662 : if ((TREE_CODE (_q20) == SSA_NAME
1888 : 29662 : || is_gimple_min_invariant (_q20)))
1889 : : {
1890 : 9299 : _q20 = do_valueize (valueize, _q20);
1891 : 9299 : switch (TREE_CODE (_q20))
1892 : : {
1893 : 9299 : case SSA_NAME:
1894 : 9299 : if (gimple *_d3 = get_def (valueize, _q20))
1895 : : {
1896 : 9299 : if (gcall *_c3 = dyn_cast <gcall *> (_d3))
1897 : 212 : switch (gimple_call_combined_fn (_c3))
1898 : : {
1899 : 0 : case CFN_SUB_OVERFLOW:
1900 : 0 : if (gimple_call_num_args (_c3) == 2)
1901 : : {
1902 : 0 : tree _q30 = gimple_call_arg (_c3, 0);
1903 : 0 : _q30 = do_valueize (valueize, _q30);
1904 : 0 : tree _q31 = gimple_call_arg (_c3, 1);
1905 : 0 : _q31 = do_valueize (valueize, _q31);
1906 : 0 : switch (TREE_CODE (_p1))
1907 : : {
1908 : 0 : case SSA_NAME:
1909 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
1910 : : {
1911 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
1912 : 0 : switch (gimple_assign_rhs_code (_a4))
1913 : : {
1914 : 0 : case BIT_XOR_EXPR:
1915 : 0 : {
1916 : 0 : tree _q60 = gimple_assign_rhs1 (_a4);
1917 : 0 : _q60 = do_valueize (valueize, _q60);
1918 : 0 : tree _q61 = gimple_assign_rhs2 (_a4);
1919 : 0 : _q61 = do_valueize (valueize, _q61);
1920 : 0 : if (tree_swap_operands_p (_q60, _q61))
1921 : 0 : std::swap (_q60, _q61);
1922 : 0 : switch (TREE_CODE (_q60))
1923 : : {
1924 : 0 : case SSA_NAME:
1925 : 0 : if (gimple *_d5 = get_def (valueize, _q60))
1926 : : {
1927 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
1928 : 0 : switch (gimple_assign_rhs_code (_a5))
1929 : : {
1930 : 0 : case IMAGPART_EXPR:
1931 : 0 : {
1932 : 0 : tree _q70 = TREE_OPERAND (gimple_assign_rhs1 (_a5), 0);
1933 : 0 : if ((TREE_CODE (_q70) == SSA_NAME
1934 : 0 : || is_gimple_min_invariant (_q70)))
1935 : : {
1936 : 0 : _q70 = do_valueize (valueize, _q70);
1937 : 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
1938 : : {
1939 : 0 : if (integer_onep (_q61))
1940 : : {
1941 : 0 : {
1942 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q20 };
1943 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
1944 : : )
1945 : : {
1946 : 0 : if (types_match (type, captures[0], captures[1])
1947 : : )
1948 : : {
1949 : 0 : {
1950 : 0 : res_ops[0] = captures[0];
1951 : 0 : res_ops[1] = captures[1];
1952 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 65, __FILE__, __LINE__, false);
1953 : 0 : return true;
1954 : : }
1955 : : }
1956 : : }
1957 : : }
1958 : : }
1959 : : }
1960 : : }
1961 : : break;
1962 : : }
1963 : : default:;
1964 : : }
1965 : : }
1966 : : break;
1967 : : default:;
1968 : : }
1969 : 27596050 : break;
1970 : : }
1971 : : default:;
1972 : : }
1973 : : }
1974 : : break;
1975 : : default:;
1976 : : }
1977 : : }
1978 : : break;
1979 : : default:;
1980 : : }
1981 : : }
1982 : : break;
1983 : : default:;
1984 : : }
1985 : : }
1986 : : break;
1987 : : }
1988 : 3743 : case BIT_XOR_EXPR:
1989 : 3743 : {
1990 : 3743 : tree _q20 = gimple_assign_rhs1 (_a2);
1991 : 3743 : _q20 = do_valueize (valueize, _q20);
1992 : 3743 : tree _q21 = gimple_assign_rhs2 (_a2);
1993 : 3743 : _q21 = do_valueize (valueize, _q21);
1994 : 3743 : if (tree_swap_operands_p (_q20, _q21))
1995 : 13 : std::swap (_q20, _q21);
1996 : 3743 : switch (TREE_CODE (_q20))
1997 : : {
1998 : 3743 : case SSA_NAME:
1999 : 3743 : if (gimple *_d3 = get_def (valueize, _q20))
2000 : : {
2001 : 3743 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
2002 : 4322 : switch (gimple_assign_rhs_code (_a3))
2003 : : {
2004 : 0 : case IMAGPART_EXPR:
2005 : 0 : {
2006 : 0 : tree _q30 = TREE_OPERAND (gimple_assign_rhs1 (_a3), 0);
2007 : 0 : if ((TREE_CODE (_q30) == SSA_NAME
2008 : 0 : || is_gimple_min_invariant (_q30)))
2009 : : {
2010 : 0 : _q30 = do_valueize (valueize, _q30);
2011 : 0 : if (integer_onep (_q21))
2012 : : {
2013 : 0 : switch (TREE_CODE (_p1))
2014 : : {
2015 : 0 : case SSA_NAME:
2016 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
2017 : : {
2018 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
2019 : 0 : switch (gimple_assign_rhs_code (_a4))
2020 : : {
2021 : 0 : case REALPART_EXPR:
2022 : 0 : {
2023 : 0 : tree _q60 = TREE_OPERAND (gimple_assign_rhs1 (_a4), 0);
2024 : 0 : if ((TREE_CODE (_q60) == SSA_NAME
2025 : 0 : || is_gimple_min_invariant (_q60)))
2026 : : {
2027 : 0 : _q60 = do_valueize (valueize, _q60);
2028 : 0 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
2029 : : {
2030 : 0 : switch (TREE_CODE (_q60))
2031 : : {
2032 : 0 : case SSA_NAME:
2033 : 0 : if (gimple *_d5 = get_def (valueize, _q60))
2034 : : {
2035 : 0 : if (gcall *_c5 = dyn_cast <gcall *> (_d5))
2036 : 0 : switch (gimple_call_combined_fn (_c5))
2037 : : {
2038 : 0 : case CFN_SUB_OVERFLOW:
2039 : 0 : if (gimple_call_num_args (_c5) == 2)
2040 : : {
2041 : 0 : tree _q80 = gimple_call_arg (_c5, 0);
2042 : 0 : _q80 = do_valueize (valueize, _q80);
2043 : 0 : tree _q81 = gimple_call_arg (_c5, 1);
2044 : 0 : _q81 = do_valueize (valueize, _q81);
2045 : 0 : {
2046 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q80, _q81, _q30 };
2047 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
2048 : : )
2049 : : {
2050 : 0 : if (types_match (type, captures[0], captures[1])
2051 : : )
2052 : : {
2053 : 0 : {
2054 : 0 : res_ops[0] = captures[0];
2055 : 0 : res_ops[1] = captures[1];
2056 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 65, __FILE__, __LINE__, false);
2057 : 0 : return true;
2058 : : }
2059 : : }
2060 : : }
2061 : : }
2062 : : }
2063 : : break;
2064 : : default:;
2065 : : }
2066 : : }
2067 : : break;
2068 : : default:;
2069 : : }
2070 : : }
2071 : : }
2072 : : break;
2073 : : }
2074 : : default:;
2075 : : }
2076 : : }
2077 : : break;
2078 : : default:;
2079 : : }
2080 : : }
2081 : : }
2082 : : break;
2083 : : }
2084 : : default:;
2085 : : }
2086 : : }
2087 : : break;
2088 : : default:;
2089 : : }
2090 : 27596050 : break;
2091 : : }
2092 : : default:;
2093 : : }
2094 : : }
2095 : : break;
2096 : : default:;
2097 : : }
2098 : 27596050 : break;
2099 : : }
2100 : 989410 : case BIT_AND_EXPR:
2101 : 989410 : {
2102 : 989410 : tree _p0 = gimple_assign_rhs1 (_a1);
2103 : 989410 : _p0 = do_valueize (valueize, _p0);
2104 : 989410 : tree _p1 = gimple_assign_rhs2 (_a1);
2105 : 989410 : _p1 = do_valueize (valueize, _p1);
2106 : 989410 : if (tree_swap_operands_p (_p0, _p1))
2107 : 5406 : std::swap (_p0, _p1);
2108 : 989410 : switch (TREE_CODE (_p0))
2109 : : {
2110 : 989410 : case SSA_NAME:
2111 : 989410 : if (gimple *_d2 = get_def (valueize, _p0))
2112 : : {
2113 : 989410 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
2114 : 1083216 : switch (gimple_assign_rhs_code (_a2))
2115 : : {
2116 : 3306 : case REALPART_EXPR:
2117 : 3306 : {
2118 : 3306 : tree _q20 = TREE_OPERAND (gimple_assign_rhs1 (_a2), 0);
2119 : 3306 : if ((TREE_CODE (_q20) == SSA_NAME
2120 : 3306 : || is_gimple_min_invariant (_q20)))
2121 : : {
2122 : 3306 : _q20 = do_valueize (valueize, _q20);
2123 : 3306 : switch (TREE_CODE (_q20))
2124 : : {
2125 : 3306 : case SSA_NAME:
2126 : 3306 : if (gimple *_d3 = get_def (valueize, _q20))
2127 : : {
2128 : 3306 : if (gcall *_c3 = dyn_cast <gcall *> (_d3))
2129 : 3286 : switch (gimple_call_combined_fn (_c3))
2130 : : {
2131 : 1 : case CFN_SUB_OVERFLOW:
2132 : 1 : if (gimple_call_num_args (_c3) == 2)
2133 : : {
2134 : 1 : tree _q30 = gimple_call_arg (_c3, 0);
2135 : 1 : _q30 = do_valueize (valueize, _q30);
2136 : 1 : tree _q31 = gimple_call_arg (_c3, 1);
2137 : 1 : _q31 = do_valueize (valueize, _q31);
2138 : 1 : switch (TREE_CODE (_p1))
2139 : : {
2140 : 1 : case SSA_NAME:
2141 : 1 : if (gimple *_d4 = get_def (valueize, _p1))
2142 : : {
2143 : 1 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
2144 : 2 : switch (gimple_assign_rhs_code (_a4))
2145 : : {
2146 : 0 : case PLUS_EXPR:
2147 : 0 : {
2148 : 0 : tree _q60 = gimple_assign_rhs1 (_a4);
2149 : 0 : _q60 = do_valueize (valueize, _q60);
2150 : 0 : tree _q61 = gimple_assign_rhs2 (_a4);
2151 : 0 : _q61 = do_valueize (valueize, _q61);
2152 : 0 : if (tree_swap_operands_p (_q60, _q61))
2153 : 0 : std::swap (_q60, _q61);
2154 : 0 : switch (TREE_CODE (_q60))
2155 : : {
2156 : 0 : case SSA_NAME:
2157 : 0 : if (gimple *_d5 = get_def (valueize, _q60))
2158 : : {
2159 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
2160 : 0 : switch (gimple_assign_rhs_code (_a5))
2161 : : {
2162 : 0 : case IMAGPART_EXPR:
2163 : 0 : {
2164 : 0 : tree _q70 = TREE_OPERAND (gimple_assign_rhs1 (_a5), 0);
2165 : 0 : if ((TREE_CODE (_q70) == SSA_NAME
2166 : 0 : || is_gimple_min_invariant (_q70)))
2167 : : {
2168 : 0 : _q70 = do_valueize (valueize, _q70);
2169 : 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
2170 : : {
2171 : 0 : if (integer_minus_onep (_q61))
2172 : : {
2173 : 0 : {
2174 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _q20 };
2175 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
2176 : : )
2177 : : {
2178 : 0 : if (types_match (type, captures[0], captures[1])
2179 : : )
2180 : : {
2181 : 0 : {
2182 : 0 : res_ops[0] = captures[0];
2183 : 0 : res_ops[1] = captures[1];
2184 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 66, __FILE__, __LINE__, false);
2185 : 0 : return true;
2186 : : }
2187 : : }
2188 : : }
2189 : : }
2190 : : }
2191 : : }
2192 : : }
2193 : : break;
2194 : : }
2195 : : default:;
2196 : : }
2197 : : }
2198 : : break;
2199 : : default:;
2200 : : }
2201 : 27596050 : break;
2202 : : }
2203 : : default:;
2204 : : }
2205 : : }
2206 : : break;
2207 : : default:;
2208 : : }
2209 : : }
2210 : : break;
2211 : : default:;
2212 : : }
2213 : : }
2214 : : break;
2215 : : default:;
2216 : : }
2217 : : }
2218 : : break;
2219 : : }
2220 : 103121 : case PLUS_EXPR:
2221 : 103121 : {
2222 : 103121 : tree _q20 = gimple_assign_rhs1 (_a2);
2223 : 103121 : _q20 = do_valueize (valueize, _q20);
2224 : 103121 : tree _q21 = gimple_assign_rhs2 (_a2);
2225 : 103121 : _q21 = do_valueize (valueize, _q21);
2226 : 103121 : if (tree_swap_operands_p (_q20, _q21))
2227 : 804 : std::swap (_q20, _q21);
2228 : 103121 : switch (TREE_CODE (_q20))
2229 : : {
2230 : 103121 : case SSA_NAME:
2231 : 103121 : if (gimple *_d3 = get_def (valueize, _q20))
2232 : : {
2233 : 103121 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
2234 : 92879 : switch (gimple_assign_rhs_code (_a3))
2235 : : {
2236 : 0 : case IMAGPART_EXPR:
2237 : 0 : {
2238 : 0 : tree _q30 = TREE_OPERAND (gimple_assign_rhs1 (_a3), 0);
2239 : 0 : if ((TREE_CODE (_q30) == SSA_NAME
2240 : 0 : || is_gimple_min_invariant (_q30)))
2241 : : {
2242 : 0 : _q30 = do_valueize (valueize, _q30);
2243 : 0 : if (integer_minus_onep (_q21))
2244 : : {
2245 : 0 : switch (TREE_CODE (_p1))
2246 : : {
2247 : 0 : case SSA_NAME:
2248 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
2249 : : {
2250 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
2251 : 0 : switch (gimple_assign_rhs_code (_a4))
2252 : : {
2253 : 0 : case REALPART_EXPR:
2254 : 0 : {
2255 : 0 : tree _q60 = TREE_OPERAND (gimple_assign_rhs1 (_a4), 0);
2256 : 0 : if ((TREE_CODE (_q60) == SSA_NAME
2257 : 0 : || is_gimple_min_invariant (_q60)))
2258 : : {
2259 : 0 : _q60 = do_valueize (valueize, _q60);
2260 : 0 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
2261 : : {
2262 : 0 : switch (TREE_CODE (_q60))
2263 : : {
2264 : 0 : case SSA_NAME:
2265 : 0 : if (gimple *_d5 = get_def (valueize, _q60))
2266 : : {
2267 : 0 : if (gcall *_c5 = dyn_cast <gcall *> (_d5))
2268 : 0 : switch (gimple_call_combined_fn (_c5))
2269 : : {
2270 : 0 : case CFN_SUB_OVERFLOW:
2271 : 0 : if (gimple_call_num_args (_c5) == 2)
2272 : : {
2273 : 0 : tree _q80 = gimple_call_arg (_c5, 0);
2274 : 0 : _q80 = do_valueize (valueize, _q80);
2275 : 0 : tree _q81 = gimple_call_arg (_c5, 1);
2276 : 0 : _q81 = do_valueize (valueize, _q81);
2277 : 0 : {
2278 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q80, _q81, _q30 };
2279 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
2280 : : )
2281 : : {
2282 : 0 : if (types_match (type, captures[0], captures[1])
2283 : : )
2284 : : {
2285 : 0 : {
2286 : 0 : res_ops[0] = captures[0];
2287 : 0 : res_ops[1] = captures[1];
2288 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 66, __FILE__, __LINE__, false);
2289 : 0 : return true;
2290 : : }
2291 : : }
2292 : : }
2293 : : }
2294 : : }
2295 : : break;
2296 : : default:;
2297 : : }
2298 : : }
2299 : : break;
2300 : : default:;
2301 : : }
2302 : : }
2303 : : }
2304 : : break;
2305 : : }
2306 : : default:;
2307 : : }
2308 : : }
2309 : : break;
2310 : : default:;
2311 : : }
2312 : : }
2313 : : }
2314 : : break;
2315 : : }
2316 : : default:;
2317 : : }
2318 : : }
2319 : : break;
2320 : : default:;
2321 : : }
2322 : 27596050 : break;
2323 : : }
2324 : : default:;
2325 : : }
2326 : : }
2327 : : break;
2328 : : default:;
2329 : : }
2330 : 27596050 : break;
2331 : : }
2332 : 5654588 : case PLUS_EXPR:
2333 : 5654588 : {
2334 : 5654588 : tree _p0 = gimple_assign_rhs1 (_a1);
2335 : 5654588 : _p0 = do_valueize (valueize, _p0);
2336 : 5654588 : tree _p1 = gimple_assign_rhs2 (_a1);
2337 : 5654588 : _p1 = do_valueize (valueize, _p1);
2338 : 5654588 : if (tree_swap_operands_p (_p0, _p1))
2339 : 115835 : std::swap (_p0, _p1);
2340 : 5654588 : switch (TREE_CODE (_p0))
2341 : : {
2342 : 5654580 : case SSA_NAME:
2343 : 5654580 : if (gimple *_d2 = get_def (valueize, _p0))
2344 : : {
2345 : 5654580 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
2346 : 4433384 : switch (gimple_assign_rhs_code (_a2))
2347 : : {
2348 : 11902 : case MAX_EXPR:
2349 : 11902 : {
2350 : 11902 : tree _q20 = gimple_assign_rhs1 (_a2);
2351 : 11902 : _q20 = do_valueize (valueize, _q20);
2352 : 11902 : tree _q21 = gimple_assign_rhs2 (_a2);
2353 : 11902 : _q21 = do_valueize (valueize, _q21);
2354 : 11902 : if (tree_swap_operands_p (_q20, _q21))
2355 : 9 : std::swap (_q20, _q21);
2356 : 11902 : switch (TREE_CODE (_q21))
2357 : : {
2358 : 9646 : case INTEGER_CST:
2359 : 9646 : {
2360 : 9646 : switch (TREE_CODE (_p1))
2361 : : {
2362 : 6435 : case INTEGER_CST:
2363 : 6435 : {
2364 : 6435 : {
2365 : 6435 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
2366 : 6435 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
2367 : : )
2368 : : {
2369 : 1089 : if (types_match (type, captures[1]) && int_fits_type_p (captures[1], type)
2370 : : )
2371 : : {
2372 : 1089 : {
2373 : 1089 : unsigned precision = TYPE_PRECISION (type);
2374 : 1089 : wide_int c1 = wi::to_wide (captures[1]);
2375 : 1089 : wide_int c2 = wi::to_wide (captures[2]);
2376 : 1089 : wide_int sum = wi::add (c1, c2);
2377 : 1089 : if (wi::eq_p (sum, wi::uhwi (0, precision))
2378 : : )
2379 : : {
2380 : 241 : {
2381 : 241 : res_ops[0] = captures[0];
2382 : 241 : res_ops[1] = captures[1];
2383 : 241 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 67, __FILE__, __LINE__, false);
2384 : 241 : return true;
2385 : : }
2386 : : }
2387 : 1089 : }
2388 : : }
2389 : : }
2390 : : }
2391 : 6194 : break;
2392 : : }
2393 : : default:;
2394 : : }
2395 : : break;
2396 : : }
2397 : : default:;
2398 : : }
2399 : 27596050 : break;
2400 : : }
2401 : : default:;
2402 : : }
2403 : : }
2404 : : break;
2405 : : default:;
2406 : : }
2407 : 27596050 : break;
2408 : : }
2409 : : default:;
2410 : : }
2411 : 3664612 : else if (gphi *_a1 = dyn_cast <gphi *> (_d1))
2412 : : {
2413 : 3664540 : basic_block _b1 = gimple_bb (_a1);
2414 : 3664540 : tree _p1, _p2;
2415 : 3664540 : gcond *_cond_1 = match_cond_with_binary_phi (_a1, &_p1, &_p2);
2416 : 3664540 : if (_cond_1)
2417 : : {
2418 : 729085 : tree _cond_lhs_1 = gimple_cond_lhs (_cond_1);
2419 : 729085 : tree _cond_rhs_1 = gimple_cond_rhs (_cond_1);
2420 : 729085 : tree _p0 = build2 (gimple_cond_code (_cond_1), boolean_type_node, _cond_lhs_1, _cond_rhs_1);
2421 : 729085 : switch (TREE_CODE (_p0))
2422 : : {
2423 : 0 : case SSA_NAME:
2424 : 0 : if (gimple *_d2 = get_def (valueize, _p0))
2425 : : {
2426 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
2427 : 0 : switch (gimple_assign_rhs_code (_a2))
2428 : : {
2429 : 0 : case GT_EXPR:
2430 : 0 : {
2431 : 0 : tree _q20 = gimple_assign_rhs1 (_a2);
2432 : 0 : _q20 = do_valueize (valueize, _q20);
2433 : 0 : tree _q21 = gimple_assign_rhs2 (_a2);
2434 : 0 : _q21 = do_valueize (valueize, _q21);
2435 : 0 : switch (TREE_CODE (_p1))
2436 : : {
2437 : 0 : case SSA_NAME:
2438 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
2439 : : {
2440 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
2441 : 0 : switch (gimple_assign_rhs_code (_a3))
2442 : : {
2443 : 0 : case MINUS_EXPR:
2444 : 0 : {
2445 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
2446 : 0 : _q50 = do_valueize (valueize, _q50);
2447 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
2448 : 0 : _q51 = do_valueize (valueize, _q51);
2449 : 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
2450 : : {
2451 : 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
2452 : : {
2453 : 0 : if (integer_zerop (_p2))
2454 : : {
2455 : 0 : {
2456 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
2457 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
2458 : : )
2459 : : {
2460 : 0 : if (types_match (type, captures[0], captures[1])
2461 : : )
2462 : : {
2463 : 0 : {
2464 : 0 : res_ops[0] = captures[0];
2465 : 0 : res_ops[1] = captures[1];
2466 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 56, __FILE__, __LINE__, false);
2467 : 0 : return true;
2468 : : }
2469 : : }
2470 : : }
2471 : : }
2472 : : }
2473 : : }
2474 : : }
2475 : : break;
2476 : : }
2477 : : default:;
2478 : : }
2479 : : }
2480 : : break;
2481 : : default:;
2482 : : }
2483 : : break;
2484 : : }
2485 : 0 : case GE_EXPR:
2486 : 0 : {
2487 : 0 : tree _q20 = gimple_assign_rhs1 (_a2);
2488 : 0 : _q20 = do_valueize (valueize, _q20);
2489 : 0 : tree _q21 = gimple_assign_rhs2 (_a2);
2490 : 0 : _q21 = do_valueize (valueize, _q21);
2491 : 0 : switch (TREE_CODE (_p1))
2492 : : {
2493 : 0 : case SSA_NAME:
2494 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
2495 : : {
2496 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
2497 : 0 : switch (gimple_assign_rhs_code (_a3))
2498 : : {
2499 : 0 : CASE_CONVERT:
2500 : 0 : {
2501 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
2502 : 0 : _q50 = do_valueize (valueize, _q50);
2503 : 0 : switch (TREE_CODE (_q50))
2504 : : {
2505 : 0 : case SSA_NAME:
2506 : 0 : if (gimple *_d4 = get_def (valueize, _q50))
2507 : : {
2508 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
2509 : 0 : switch (gimple_assign_rhs_code (_a4))
2510 : : {
2511 : 0 : case MINUS_EXPR:
2512 : 0 : {
2513 : 0 : tree _q60 = gimple_assign_rhs1 (_a4);
2514 : 0 : _q60 = do_valueize (valueize, _q60);
2515 : 0 : tree _q61 = gimple_assign_rhs2 (_a4);
2516 : 0 : _q61 = do_valueize (valueize, _q61);
2517 : 0 : switch (TREE_CODE (_q60))
2518 : : {
2519 : 0 : case SSA_NAME:
2520 : 0 : if (gimple *_d5 = get_def (valueize, _q60))
2521 : : {
2522 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
2523 : 0 : switch (gimple_assign_rhs_code (_a5))
2524 : : {
2525 : 0 : CASE_CONVERT:
2526 : 0 : {
2527 : 0 : tree _q70 = gimple_assign_rhs1 (_a5);
2528 : 0 : _q70 = do_valueize (valueize, _q70);
2529 : 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
2530 : : {
2531 : 0 : switch (TREE_CODE (_q61))
2532 : : {
2533 : 0 : case SSA_NAME:
2534 : 0 : if (gimple *_d6 = get_def (valueize, _q61))
2535 : : {
2536 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
2537 : 0 : switch (gimple_assign_rhs_code (_a6))
2538 : : {
2539 : 0 : CASE_CONVERT:
2540 : 0 : {
2541 : 0 : tree _q90 = gimple_assign_rhs1 (_a6);
2542 : 0 : _q90 = do_valueize (valueize, _q90);
2543 : 0 : if ((_q90 == _q21 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q21, 0) && types_match (_q90, _q21)))
2544 : : {
2545 : 0 : if (integer_zerop (_p2))
2546 : : {
2547 : 0 : {
2548 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
2549 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
2550 : : )
2551 : : {
2552 : 0 : if (TYPE_UNSIGNED (TREE_TYPE (captures[0])) && types_match (captures[0], captures[1])
2553 : : )
2554 : : {
2555 : 0 : {
2556 : 0 : res_ops[0] = captures[0];
2557 : 0 : res_ops[1] = captures[1];
2558 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 57, __FILE__, __LINE__, false);
2559 : 0 : return true;
2560 : : }
2561 : : }
2562 : : }
2563 : : }
2564 : : }
2565 : : }
2566 : : break;
2567 : : }
2568 : : default:;
2569 : : }
2570 : : }
2571 : : break;
2572 : : default:;
2573 : : }
2574 : : }
2575 : : break;
2576 : : }
2577 : : default:;
2578 : : }
2579 : : }
2580 : : break;
2581 : 0 : default:;
2582 : : }
2583 : 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
2584 : : {
2585 : 0 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
2586 : : {
2587 : 0 : if (integer_zerop (_p2))
2588 : : {
2589 : 0 : {
2590 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
2591 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
2592 : : )
2593 : : {
2594 : 0 : if (TYPE_UNSIGNED (TREE_TYPE (captures[0])) && types_match (captures[0], captures[1])
2595 : : )
2596 : : {
2597 : 0 : {
2598 : 0 : res_ops[0] = captures[0];
2599 : 0 : res_ops[1] = captures[1];
2600 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 57, __FILE__, __LINE__, false);
2601 : 0 : return true;
2602 : : }
2603 : : }
2604 : : }
2605 : : }
2606 : : }
2607 : : }
2608 : : }
2609 : : break;
2610 : : }
2611 : : default:;
2612 : : }
2613 : : }
2614 : : break;
2615 : : default:;
2616 : : }
2617 : : break;
2618 : : }
2619 : 0 : case MINUS_EXPR:
2620 : 0 : {
2621 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
2622 : 0 : _q50 = do_valueize (valueize, _q50);
2623 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
2624 : 0 : _q51 = do_valueize (valueize, _q51);
2625 : 0 : switch (TREE_CODE (_q50))
2626 : : {
2627 : 0 : case SSA_NAME:
2628 : 0 : if (gimple *_d4 = get_def (valueize, _q50))
2629 : : {
2630 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
2631 : 0 : switch (gimple_assign_rhs_code (_a4))
2632 : : {
2633 : 0 : CASE_CONVERT:
2634 : 0 : {
2635 : 0 : tree _q60 = gimple_assign_rhs1 (_a4);
2636 : 0 : _q60 = do_valueize (valueize, _q60);
2637 : 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
2638 : : {
2639 : 0 : switch (TREE_CODE (_q51))
2640 : : {
2641 : 0 : case SSA_NAME:
2642 : 0 : if (gimple *_d5 = get_def (valueize, _q51))
2643 : : {
2644 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
2645 : 0 : switch (gimple_assign_rhs_code (_a5))
2646 : : {
2647 : 0 : CASE_CONVERT:
2648 : 0 : {
2649 : 0 : tree _q80 = gimple_assign_rhs1 (_a5);
2650 : 0 : _q80 = do_valueize (valueize, _q80);
2651 : 0 : if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
2652 : : {
2653 : 0 : if (integer_zerop (_p2))
2654 : : {
2655 : 0 : {
2656 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
2657 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
2658 : : )
2659 : : {
2660 : 0 : if (TYPE_UNSIGNED (TREE_TYPE (captures[0])) && types_match (captures[0], captures[1])
2661 : : )
2662 : : {
2663 : 0 : {
2664 : 0 : res_ops[0] = captures[0];
2665 : 0 : res_ops[1] = captures[1];
2666 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 57, __FILE__, __LINE__, false);
2667 : 0 : return true;
2668 : : }
2669 : : }
2670 : : }
2671 : : }
2672 : : }
2673 : : }
2674 : : break;
2675 : : }
2676 : : default:;
2677 : : }
2678 : : }
2679 : : break;
2680 : : default:;
2681 : : }
2682 : : }
2683 : : break;
2684 : : }
2685 : : default:;
2686 : : }
2687 : : }
2688 : : break;
2689 : 0 : default:;
2690 : : }
2691 : 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
2692 : : {
2693 : 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
2694 : : {
2695 : 0 : if (integer_zerop (_p2))
2696 : : {
2697 : 0 : {
2698 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
2699 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
2700 : : )
2701 : : {
2702 : 0 : if (TYPE_UNSIGNED (TREE_TYPE (captures[0])) && types_match (captures[0], captures[1])
2703 : : )
2704 : : {
2705 : 0 : {
2706 : 0 : res_ops[0] = captures[0];
2707 : 0 : res_ops[1] = captures[1];
2708 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 57, __FILE__, __LINE__, false);
2709 : 0 : return true;
2710 : : }
2711 : : }
2712 : : }
2713 : : }
2714 : : }
2715 : : }
2716 : : }
2717 : : break;
2718 : : }
2719 : : default:;
2720 : : }
2721 : : }
2722 : : break;
2723 : : default:;
2724 : : }
2725 : : break;
2726 : : }
2727 : 0 : case EQ_EXPR:
2728 : 0 : {
2729 : 0 : tree _q20 = gimple_assign_rhs1 (_a2);
2730 : 0 : _q20 = do_valueize (valueize, _q20);
2731 : 0 : tree _q21 = gimple_assign_rhs2 (_a2);
2732 : 0 : _q21 = do_valueize (valueize, _q21);
2733 : 0 : if (tree_swap_operands_p (_q20, _q21))
2734 : 0 : std::swap (_q20, _q21);
2735 : 0 : switch (TREE_CODE (_q20))
2736 : : {
2737 : 0 : case SSA_NAME:
2738 : 0 : if (gimple *_d3 = get_def (valueize, _q20))
2739 : : {
2740 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
2741 : 0 : switch (gimple_assign_rhs_code (_a3))
2742 : : {
2743 : 0 : case IMAGPART_EXPR:
2744 : 0 : {
2745 : 0 : tree _q30 = TREE_OPERAND (gimple_assign_rhs1 (_a3), 0);
2746 : 0 : if ((TREE_CODE (_q30) == SSA_NAME
2747 : 0 : || is_gimple_min_invariant (_q30)))
2748 : : {
2749 : 0 : _q30 = do_valueize (valueize, _q30);
2750 : 0 : switch (TREE_CODE (_q30))
2751 : : {
2752 : 0 : case SSA_NAME:
2753 : 0 : if (gimple *_d4 = get_def (valueize, _q30))
2754 : : {
2755 : 0 : if (gcall *_c4 = dyn_cast <gcall *> (_d4))
2756 : 0 : switch (gimple_call_combined_fn (_c4))
2757 : : {
2758 : 0 : case CFN_SUB_OVERFLOW:
2759 : 0 : if (gimple_call_num_args (_c4) == 2)
2760 : : {
2761 : 0 : tree _q40 = gimple_call_arg (_c4, 0);
2762 : 0 : _q40 = do_valueize (valueize, _q40);
2763 : 0 : tree _q41 = gimple_call_arg (_c4, 1);
2764 : 0 : _q41 = do_valueize (valueize, _q41);
2765 : 0 : if (integer_zerop (_q21))
2766 : : {
2767 : 0 : switch (TREE_CODE (_p1))
2768 : : {
2769 : 0 : case SSA_NAME:
2770 : 0 : if (gimple *_d5 = get_def (valueize, _p1))
2771 : : {
2772 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
2773 : 0 : switch (gimple_assign_rhs_code (_a5))
2774 : : {
2775 : 0 : case REALPART_EXPR:
2776 : 0 : {
2777 : 0 : tree _q80 = TREE_OPERAND (gimple_assign_rhs1 (_a5), 0);
2778 : 0 : if ((TREE_CODE (_q80) == SSA_NAME
2779 : 0 : || is_gimple_min_invariant (_q80)))
2780 : : {
2781 : 0 : _q80 = do_valueize (valueize, _q80);
2782 : 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
2783 : : {
2784 : 0 : if (integer_zerop (_p2))
2785 : : {
2786 : 0 : {
2787 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _q30 };
2788 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
2789 : : )
2790 : : {
2791 : 0 : if (types_match (type, captures[0], captures[1])
2792 : : )
2793 : : {
2794 : 0 : {
2795 : 0 : res_ops[0] = captures[0];
2796 : 0 : res_ops[1] = captures[1];
2797 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 58, __FILE__, __LINE__, false);
2798 : 0 : return true;
2799 : : }
2800 : : }
2801 : : }
2802 : : }
2803 : : }
2804 : : }
2805 : : }
2806 : : break;
2807 : : }
2808 : : default:;
2809 : : }
2810 : : }
2811 : : break;
2812 : : default:;
2813 : : }
2814 : : }
2815 : : }
2816 : : break;
2817 : : default:;
2818 : : }
2819 : : }
2820 : : break;
2821 : : default:;
2822 : : }
2823 : : }
2824 : : break;
2825 : : }
2826 : : default:;
2827 : : }
2828 : : }
2829 : : break;
2830 : : default:;
2831 : : }
2832 : 3664530 : break;
2833 : : }
2834 : 0 : case NE_EXPR:
2835 : 0 : {
2836 : 0 : tree _q20 = gimple_assign_rhs1 (_a2);
2837 : 0 : _q20 = do_valueize (valueize, _q20);
2838 : 0 : tree _q21 = gimple_assign_rhs2 (_a2);
2839 : 0 : _q21 = do_valueize (valueize, _q21);
2840 : 0 : if (tree_swap_operands_p (_q20, _q21))
2841 : 0 : std::swap (_q20, _q21);
2842 : 0 : switch (TREE_CODE (_q20))
2843 : : {
2844 : 0 : case SSA_NAME:
2845 : 0 : if (gimple *_d3 = get_def (valueize, _q20))
2846 : : {
2847 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
2848 : 0 : switch (gimple_assign_rhs_code (_a3))
2849 : : {
2850 : 0 : case IMAGPART_EXPR:
2851 : 0 : {
2852 : 0 : tree _q30 = TREE_OPERAND (gimple_assign_rhs1 (_a3), 0);
2853 : 0 : if ((TREE_CODE (_q30) == SSA_NAME
2854 : 0 : || is_gimple_min_invariant (_q30)))
2855 : : {
2856 : 0 : _q30 = do_valueize (valueize, _q30);
2857 : 0 : switch (TREE_CODE (_q30))
2858 : : {
2859 : 0 : case SSA_NAME:
2860 : 0 : if (gimple *_d4 = get_def (valueize, _q30))
2861 : : {
2862 : 0 : if (gcall *_c4 = dyn_cast <gcall *> (_d4))
2863 : 0 : switch (gimple_call_combined_fn (_c4))
2864 : : {
2865 : 0 : case CFN_SUB_OVERFLOW:
2866 : 0 : if (gimple_call_num_args (_c4) == 2)
2867 : : {
2868 : 0 : tree _q40 = gimple_call_arg (_c4, 0);
2869 : 0 : _q40 = do_valueize (valueize, _q40);
2870 : 0 : tree _q41 = gimple_call_arg (_c4, 1);
2871 : 0 : _q41 = do_valueize (valueize, _q41);
2872 : 0 : if (integer_zerop (_q21))
2873 : : {
2874 : 0 : if (integer_zerop (_p1))
2875 : : {
2876 : 0 : switch (TREE_CODE (_p2))
2877 : : {
2878 : 0 : case SSA_NAME:
2879 : 0 : if (gimple *_d5 = get_def (valueize, _p2))
2880 : : {
2881 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
2882 : 0 : switch (gimple_assign_rhs_code (_a5))
2883 : : {
2884 : 0 : case REALPART_EXPR:
2885 : 0 : {
2886 : 0 : tree _q90 = TREE_OPERAND (gimple_assign_rhs1 (_a5), 0);
2887 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
2888 : 0 : || is_gimple_min_invariant (_q90)))
2889 : : {
2890 : 0 : _q90 = do_valueize (valueize, _q90);
2891 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
2892 : : {
2893 : 0 : {
2894 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _q30 };
2895 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
2896 : : )
2897 : : {
2898 : 0 : if (types_match (type, captures[0], captures[1])
2899 : : )
2900 : : {
2901 : 0 : {
2902 : 0 : res_ops[0] = captures[0];
2903 : 0 : res_ops[1] = captures[1];
2904 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 59, __FILE__, __LINE__, false);
2905 : 0 : return true;
2906 : : }
2907 : : }
2908 : : }
2909 : : }
2910 : : }
2911 : : }
2912 : : break;
2913 : : }
2914 : : default:;
2915 : : }
2916 : : }
2917 : : break;
2918 : : default:;
2919 : : }
2920 : : }
2921 : : }
2922 : : }
2923 : : break;
2924 : : default:;
2925 : : }
2926 : : }
2927 : : break;
2928 : : default:;
2929 : : }
2930 : : }
2931 : : break;
2932 : : }
2933 : : default:;
2934 : : }
2935 : : }
2936 : : break;
2937 : 0 : default:;
2938 : : }
2939 : 0 : switch (TREE_CODE (_q21))
2940 : : {
2941 : 0 : case INTEGER_CST:
2942 : 0 : {
2943 : 0 : switch (TREE_CODE (_p1))
2944 : : {
2945 : 0 : case SSA_NAME:
2946 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
2947 : : {
2948 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
2949 : 0 : switch (gimple_assign_rhs_code (_a3))
2950 : : {
2951 : 0 : case MINUS_EXPR:
2952 : 0 : {
2953 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
2954 : 0 : _q50 = do_valueize (valueize, _q50);
2955 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
2956 : 0 : _q51 = do_valueize (valueize, _q51);
2957 : 0 : switch (TREE_CODE (_q50))
2958 : : {
2959 : 0 : case INTEGER_CST:
2960 : 0 : {
2961 : 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
2962 : : {
2963 : 0 : if (integer_zerop (_p2))
2964 : : {
2965 : 0 : {
2966 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q20, _q21 };
2967 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
2968 : : )
2969 : : {
2970 : 0 : if (types_match (type, captures[1])
2971 : : )
2972 : : {
2973 : 0 : {
2974 : 0 : unsigned precision = TYPE_PRECISION (type);
2975 : 0 : wide_int max = wi::mask (precision, false, precision);
2976 : 0 : wide_int c0 = wi::to_wide (captures[0]);
2977 : 0 : wide_int c2 = wi::to_wide (captures[2]);
2978 : 0 : wide_int c0_add_1 = wi::add (c0, wi::uhwi (1, precision));
2979 : 0 : if (wi::eq_p (c2, max) && wi::eq_p (c0_add_1, max)
2980 : : )
2981 : : {
2982 : 0 : {
2983 : 0 : res_ops[0] = captures[0];
2984 : 0 : res_ops[1] = captures[1];
2985 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 60, __FILE__, __LINE__, false);
2986 : 0 : return true;
2987 : : }
2988 : : }
2989 : 0 : }
2990 : : }
2991 : : }
2992 : : }
2993 : : }
2994 : : }
2995 : : break;
2996 : : }
2997 : : default:;
2998 : : }
2999 : : break;
3000 : : }
3001 : : default:;
3002 : : }
3003 : : }
3004 : : break;
3005 : : default:;
3006 : : }
3007 : : break;
3008 : : }
3009 : : default:;
3010 : : }
3011 : 3664530 : break;
3012 : : }
3013 : 0 : case LE_EXPR:
3014 : 0 : {
3015 : 0 : tree _q20 = gimple_assign_rhs1 (_a2);
3016 : 0 : _q20 = do_valueize (valueize, _q20);
3017 : 0 : tree _q21 = gimple_assign_rhs2 (_a2);
3018 : 0 : _q21 = do_valueize (valueize, _q21);
3019 : 0 : switch (TREE_CODE (_q21))
3020 : : {
3021 : 0 : case INTEGER_CST:
3022 : 0 : {
3023 : 0 : switch (TREE_CODE (_p1))
3024 : : {
3025 : 0 : case SSA_NAME:
3026 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
3027 : : {
3028 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
3029 : 0 : switch (gimple_assign_rhs_code (_a3))
3030 : : {
3031 : 0 : case MINUS_EXPR:
3032 : 0 : {
3033 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
3034 : 0 : _q50 = do_valueize (valueize, _q50);
3035 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
3036 : 0 : _q51 = do_valueize (valueize, _q51);
3037 : 0 : switch (TREE_CODE (_q50))
3038 : : {
3039 : 0 : case INTEGER_CST:
3040 : 0 : {
3041 : 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
3042 : : {
3043 : 0 : if (integer_zerop (_p2))
3044 : : {
3045 : 0 : {
3046 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q20, _q21 };
3047 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
3048 : : )
3049 : : {
3050 : 0 : if (types_match (type, captures[1]) && int_fits_type_p (captures[0], type)
3051 : : )
3052 : : {
3053 : 0 : {
3054 : 0 : unsigned precision = TYPE_PRECISION (type);
3055 : 0 : wide_int max = wi::mask (precision, false, precision);
3056 : 0 : wide_int c0 = wi::to_wide (captures[0]);
3057 : 0 : wide_int c2 = wi::to_wide (captures[2]);
3058 : 0 : wide_int c2_add_1 = wi::add (c2, wi::uhwi (1, precision));
3059 : 0 : bool equal_p = wi::eq_p (c0, c2);
3060 : 0 : bool less_than_1_p = !wi::eq_p (c2, max) && wi::eq_p (c2_add_1, c0);
3061 : 0 : if (equal_p || less_than_1_p
3062 : : )
3063 : : {
3064 : 0 : {
3065 : 0 : res_ops[0] = captures[0];
3066 : 0 : res_ops[1] = captures[1];
3067 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 61, __FILE__, __LINE__, false);
3068 : 0 : return true;
3069 : : }
3070 : : }
3071 : 0 : }
3072 : : }
3073 : : }
3074 : : }
3075 : : }
3076 : : }
3077 : : break;
3078 : : }
3079 : : default:;
3080 : : }
3081 : : break;
3082 : : }
3083 : : default:;
3084 : : }
3085 : : }
3086 : : break;
3087 : : default:;
3088 : : }
3089 : : break;
3090 : : }
3091 : 0 : default:;
3092 : : }
3093 : 0 : if (integer_onep (_q21))
3094 : : {
3095 : 0 : switch (TREE_CODE (_p1))
3096 : : {
3097 : 0 : case SSA_NAME:
3098 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
3099 : : {
3100 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
3101 : 0 : switch (gimple_assign_rhs_code (_a3))
3102 : : {
3103 : 0 : case BIT_XOR_EXPR:
3104 : 0 : {
3105 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
3106 : 0 : _q50 = do_valueize (valueize, _q50);
3107 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
3108 : 0 : _q51 = do_valueize (valueize, _q51);
3109 : 0 : if (tree_swap_operands_p (_q50, _q51))
3110 : 0 : std::swap (_q50, _q51);
3111 : 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
3112 : : {
3113 : 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
3114 : : {
3115 : 0 : if (integer_onep (_q51))
3116 : : {
3117 : 0 : if (integer_zerop (_p2))
3118 : : {
3119 : 0 : {
3120 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
3121 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
3122 : : )
3123 : : {
3124 : 0 : if (types_match (type, captures[1])
3125 : : )
3126 : : {
3127 : 0 : {
3128 : 0 : res_ops[0] = captures[0];
3129 : 0 : res_ops[1] = captures[1];
3130 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 62, __FILE__, __LINE__, false);
3131 : 0 : return true;
3132 : : }
3133 : : }
3134 : : }
3135 : : }
3136 : : }
3137 : : }
3138 : : }
3139 : : }
3140 : 3664530 : break;
3141 : : }
3142 : : default:;
3143 : : }
3144 : : }
3145 : : break;
3146 : : default:;
3147 : : }
3148 : : }
3149 : : break;
3150 : : }
3151 : : default:;
3152 : : }
3153 : : }
3154 : : break;
3155 : 86226 : case GT_EXPR:
3156 : 86226 : {
3157 : 86226 : tree _q20 = TREE_OPERAND (_p0, 0);
3158 : 86226 : if ((TREE_CODE (_q20) == SSA_NAME
3159 : 86226 : || is_gimple_min_invariant (_q20)))
3160 : : {
3161 : 86226 : _q20 = do_valueize (valueize, _q20);
3162 : 86226 : tree _q21 = TREE_OPERAND (_p0, 1);
3163 : 86226 : if ((TREE_CODE (_q21) == SSA_NAME
3164 : 86226 : || is_gimple_min_invariant (_q21)))
3165 : : {
3166 : 86226 : _q21 = do_valueize (valueize, _q21);
3167 : 86226 : switch (TREE_CODE (_p1))
3168 : : {
3169 : 78185 : case SSA_NAME:
3170 : 78185 : if (gimple *_d2 = get_def (valueize, _p1))
3171 : : {
3172 : 78185 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
3173 : 111365 : switch (gimple_assign_rhs_code (_a2))
3174 : : {
3175 : 905 : case MINUS_EXPR:
3176 : 905 : {
3177 : 905 : tree _q50 = gimple_assign_rhs1 (_a2);
3178 : 905 : _q50 = do_valueize (valueize, _q50);
3179 : 905 : tree _q51 = gimple_assign_rhs2 (_a2);
3180 : 905 : _q51 = do_valueize (valueize, _q51);
3181 : 905 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
3182 : : {
3183 : 111 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
3184 : : {
3185 : 81 : if (integer_zerop (_p2))
3186 : : {
3187 : 49 : {
3188 : 49 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
3189 : 49 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
3190 : : )
3191 : : {
3192 : 6 : if (types_match (type, captures[0], captures[1])
3193 : : )
3194 : : {
3195 : 6 : {
3196 : 6 : res_ops[0] = captures[0];
3197 : 6 : res_ops[1] = captures[1];
3198 : 6 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 56, __FILE__, __LINE__, false);
3199 : 6 : return true;
3200 : : }
3201 : : }
3202 : : }
3203 : : }
3204 : : }
3205 : : }
3206 : : }
3207 : : break;
3208 : : }
3209 : : default:;
3210 : : }
3211 : : }
3212 : : break;
3213 : : default:;
3214 : : }
3215 : : }
3216 : : }
3217 : : break;
3218 : : }
3219 : 11137 : case GE_EXPR:
3220 : 11137 : {
3221 : 11137 : tree _q20 = TREE_OPERAND (_p0, 0);
3222 : 11137 : if ((TREE_CODE (_q20) == SSA_NAME
3223 : 11137 : || is_gimple_min_invariant (_q20)))
3224 : : {
3225 : 11137 : _q20 = do_valueize (valueize, _q20);
3226 : 11137 : tree _q21 = TREE_OPERAND (_p0, 1);
3227 : 11137 : if ((TREE_CODE (_q21) == SSA_NAME
3228 : 11137 : || is_gimple_min_invariant (_q21)))
3229 : : {
3230 : 11137 : _q21 = do_valueize (valueize, _q21);
3231 : 11137 : switch (TREE_CODE (_p1))
3232 : : {
3233 : 8343 : case SSA_NAME:
3234 : 8343 : if (gimple *_d2 = get_def (valueize, _p1))
3235 : : {
3236 : 8343 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
3237 : 7535 : switch (gimple_assign_rhs_code (_a2))
3238 : : {
3239 : 378 : CASE_CONVERT:
3240 : 378 : {
3241 : 378 : tree _q50 = gimple_assign_rhs1 (_a2);
3242 : 378 : _q50 = do_valueize (valueize, _q50);
3243 : 378 : switch (TREE_CODE (_q50))
3244 : : {
3245 : 378 : case SSA_NAME:
3246 : 378 : if (gimple *_d3 = get_def (valueize, _q50))
3247 : : {
3248 : 378 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
3249 : 362 : switch (gimple_assign_rhs_code (_a3))
3250 : : {
3251 : 38 : case MINUS_EXPR:
3252 : 38 : {
3253 : 38 : tree _q60 = gimple_assign_rhs1 (_a3);
3254 : 38 : _q60 = do_valueize (valueize, _q60);
3255 : 38 : tree _q61 = gimple_assign_rhs2 (_a3);
3256 : 38 : _q61 = do_valueize (valueize, _q61);
3257 : 38 : switch (TREE_CODE (_q60))
3258 : : {
3259 : 38 : case SSA_NAME:
3260 : 38 : if (gimple *_d4 = get_def (valueize, _q60))
3261 : : {
3262 : 38 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
3263 : 74 : switch (gimple_assign_rhs_code (_a4))
3264 : : {
3265 : 0 : CASE_CONVERT:
3266 : 0 : {
3267 : 0 : tree _q70 = gimple_assign_rhs1 (_a4);
3268 : 0 : _q70 = do_valueize (valueize, _q70);
3269 : 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
3270 : : {
3271 : 0 : switch (TREE_CODE (_q61))
3272 : : {
3273 : 0 : case SSA_NAME:
3274 : 0 : if (gimple *_d5 = get_def (valueize, _q61))
3275 : : {
3276 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
3277 : 0 : switch (gimple_assign_rhs_code (_a5))
3278 : : {
3279 : 0 : CASE_CONVERT:
3280 : 0 : {
3281 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
3282 : 0 : _q90 = do_valueize (valueize, _q90);
3283 : 0 : if ((_q90 == _q21 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q21, 0) && types_match (_q90, _q21)))
3284 : : {
3285 : 0 : if (integer_zerop (_p2))
3286 : : {
3287 : 0 : {
3288 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
3289 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
3290 : : )
3291 : : {
3292 : 0 : if (TYPE_UNSIGNED (TREE_TYPE (captures[0])) && types_match (captures[0], captures[1])
3293 : : )
3294 : : {
3295 : 0 : {
3296 : 0 : res_ops[0] = captures[0];
3297 : 0 : res_ops[1] = captures[1];
3298 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 57, __FILE__, __LINE__, false);
3299 : 0 : return true;
3300 : : }
3301 : : }
3302 : : }
3303 : : }
3304 : : }
3305 : : }
3306 : : break;
3307 : : }
3308 : : default:;
3309 : : }
3310 : : }
3311 : : break;
3312 : : default:;
3313 : : }
3314 : : }
3315 : : break;
3316 : : }
3317 : : default:;
3318 : : }
3319 : : }
3320 : : break;
3321 : 38 : default:;
3322 : : }
3323 : 38 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
3324 : : {
3325 : 0 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
3326 : : {
3327 : 0 : if (integer_zerop (_p2))
3328 : : {
3329 : 0 : {
3330 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
3331 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
3332 : : )
3333 : : {
3334 : 0 : if (TYPE_UNSIGNED (TREE_TYPE (captures[0])) && types_match (captures[0], captures[1])
3335 : : )
3336 : : {
3337 : 0 : {
3338 : 0 : res_ops[0] = captures[0];
3339 : 0 : res_ops[1] = captures[1];
3340 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 57, __FILE__, __LINE__, false);
3341 : 0 : return true;
3342 : : }
3343 : : }
3344 : : }
3345 : : }
3346 : : }
3347 : : }
3348 : : }
3349 : : break;
3350 : : }
3351 : : default:;
3352 : : }
3353 : : }
3354 : : break;
3355 : : default:;
3356 : : }
3357 : : break;
3358 : : }
3359 : 556 : case MINUS_EXPR:
3360 : 556 : {
3361 : 556 : tree _q50 = gimple_assign_rhs1 (_a2);
3362 : 556 : _q50 = do_valueize (valueize, _q50);
3363 : 556 : tree _q51 = gimple_assign_rhs2 (_a2);
3364 : 556 : _q51 = do_valueize (valueize, _q51);
3365 : 556 : switch (TREE_CODE (_q50))
3366 : : {
3367 : 540 : case SSA_NAME:
3368 : 540 : if (gimple *_d3 = get_def (valueize, _q50))
3369 : : {
3370 : 540 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
3371 : 575 : switch (gimple_assign_rhs_code (_a3))
3372 : : {
3373 : 201 : CASE_CONVERT:
3374 : 201 : {
3375 : 201 : tree _q60 = gimple_assign_rhs1 (_a3);
3376 : 201 : _q60 = do_valueize (valueize, _q60);
3377 : 201 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
3378 : : {
3379 : 0 : switch (TREE_CODE (_q51))
3380 : : {
3381 : 0 : case SSA_NAME:
3382 : 0 : if (gimple *_d4 = get_def (valueize, _q51))
3383 : : {
3384 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
3385 : 0 : switch (gimple_assign_rhs_code (_a4))
3386 : : {
3387 : 0 : CASE_CONVERT:
3388 : 0 : {
3389 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
3390 : 0 : _q80 = do_valueize (valueize, _q80);
3391 : 0 : if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
3392 : : {
3393 : 0 : if (integer_zerop (_p2))
3394 : : {
3395 : 0 : {
3396 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
3397 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
3398 : : )
3399 : : {
3400 : 0 : if (TYPE_UNSIGNED (TREE_TYPE (captures[0])) && types_match (captures[0], captures[1])
3401 : : )
3402 : : {
3403 : 0 : {
3404 : 0 : res_ops[0] = captures[0];
3405 : 0 : res_ops[1] = captures[1];
3406 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 57, __FILE__, __LINE__, false);
3407 : 0 : return true;
3408 : : }
3409 : : }
3410 : : }
3411 : : }
3412 : : }
3413 : : }
3414 : : break;
3415 : : }
3416 : : default:;
3417 : : }
3418 : : }
3419 : : break;
3420 : : default:;
3421 : : }
3422 : : }
3423 : : break;
3424 : : }
3425 : : default:;
3426 : : }
3427 : : }
3428 : : break;
3429 : 556 : default:;
3430 : : }
3431 : 556 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
3432 : : {
3433 : 214 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
3434 : : {
3435 : 210 : if (integer_zerop (_p2))
3436 : : {
3437 : 6 : {
3438 : 6 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
3439 : 6 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
3440 : : )
3441 : : {
3442 : 4 : if (TYPE_UNSIGNED (TREE_TYPE (captures[0])) && types_match (captures[0], captures[1])
3443 : : )
3444 : : {
3445 : 4 : {
3446 : 4 : res_ops[0] = captures[0];
3447 : 4 : res_ops[1] = captures[1];
3448 : 4 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 57, __FILE__, __LINE__, false);
3449 : 4 : return true;
3450 : : }
3451 : : }
3452 : : }
3453 : : }
3454 : : }
3455 : : }
3456 : : }
3457 : : break;
3458 : : }
3459 : : default:;
3460 : : }
3461 : : }
3462 : : break;
3463 : : default:;
3464 : : }
3465 : : }
3466 : : }
3467 : : break;
3468 : : }
3469 : 304624 : case EQ_EXPR:
3470 : 304624 : {
3471 : 304624 : tree _q20 = TREE_OPERAND (_p0, 0);
3472 : 304624 : if ((TREE_CODE (_q20) == SSA_NAME
3473 : 304624 : || is_gimple_min_invariant (_q20)))
3474 : : {
3475 : 304624 : _q20 = do_valueize (valueize, _q20);
3476 : 304624 : tree _q21 = TREE_OPERAND (_p0, 1);
3477 : 304624 : if ((TREE_CODE (_q21) == SSA_NAME
3478 : 304624 : || is_gimple_min_invariant (_q21)))
3479 : : {
3480 : 304624 : _q21 = do_valueize (valueize, _q21);
3481 : 304624 : if (tree_swap_operands_p (_q20, _q21))
3482 : 0 : std::swap (_q20, _q21);
3483 : 304624 : switch (TREE_CODE (_q20))
3484 : : {
3485 : 304557 : case SSA_NAME:
3486 : 304557 : if (gimple *_d2 = get_def (valueize, _q20))
3487 : : {
3488 : 304557 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
3489 : 515072 : switch (gimple_assign_rhs_code (_a2))
3490 : : {
3491 : 14 : case IMAGPART_EXPR:
3492 : 14 : {
3493 : 14 : tree _q30 = TREE_OPERAND (gimple_assign_rhs1 (_a2), 0);
3494 : 14 : if ((TREE_CODE (_q30) == SSA_NAME
3495 : 14 : || is_gimple_min_invariant (_q30)))
3496 : : {
3497 : 8 : _q30 = do_valueize (valueize, _q30);
3498 : 8 : switch (TREE_CODE (_q30))
3499 : : {
3500 : 8 : case SSA_NAME:
3501 : 8 : if (gimple *_d3 = get_def (valueize, _q30))
3502 : : {
3503 : 8 : if (gcall *_c3 = dyn_cast <gcall *> (_d3))
3504 : 0 : switch (gimple_call_combined_fn (_c3))
3505 : : {
3506 : 0 : case CFN_SUB_OVERFLOW:
3507 : 0 : if (gimple_call_num_args (_c3) == 2)
3508 : : {
3509 : 0 : tree _q40 = gimple_call_arg (_c3, 0);
3510 : 0 : _q40 = do_valueize (valueize, _q40);
3511 : 0 : tree _q41 = gimple_call_arg (_c3, 1);
3512 : 0 : _q41 = do_valueize (valueize, _q41);
3513 : 0 : if (integer_zerop (_q21))
3514 : : {
3515 : 0 : switch (TREE_CODE (_p1))
3516 : : {
3517 : 0 : case SSA_NAME:
3518 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
3519 : : {
3520 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
3521 : 0 : switch (gimple_assign_rhs_code (_a4))
3522 : : {
3523 : 0 : case REALPART_EXPR:
3524 : 0 : {
3525 : 0 : tree _q80 = TREE_OPERAND (gimple_assign_rhs1 (_a4), 0);
3526 : 0 : if ((TREE_CODE (_q80) == SSA_NAME
3527 : 0 : || is_gimple_min_invariant (_q80)))
3528 : : {
3529 : 0 : _q80 = do_valueize (valueize, _q80);
3530 : 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
3531 : : {
3532 : 0 : if (integer_zerop (_p2))
3533 : : {
3534 : 0 : {
3535 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _q30 };
3536 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
3537 : : )
3538 : : {
3539 : 0 : if (types_match (type, captures[0], captures[1])
3540 : : )
3541 : : {
3542 : 0 : {
3543 : 0 : res_ops[0] = captures[0];
3544 : 0 : res_ops[1] = captures[1];
3545 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 58, __FILE__, __LINE__, false);
3546 : 0 : return true;
3547 : : }
3548 : : }
3549 : : }
3550 : : }
3551 : : }
3552 : : }
3553 : : }
3554 : : break;
3555 : : }
3556 : : default:;
3557 : : }
3558 : : }
3559 : : break;
3560 : : default:;
3561 : : }
3562 : : }
3563 : : }
3564 : : break;
3565 : : default:;
3566 : : }
3567 : : }
3568 : : break;
3569 : : default:;
3570 : : }
3571 : : }
3572 : : break;
3573 : : }
3574 : : default:;
3575 : : }
3576 : : }
3577 : : break;
3578 : : default:;
3579 : : }
3580 : : }
3581 : : }
3582 : 3664530 : break;
3583 : : }
3584 : 256974 : case NE_EXPR:
3585 : 256974 : {
3586 : 256974 : tree _q20 = TREE_OPERAND (_p0, 0);
3587 : 256974 : if ((TREE_CODE (_q20) == SSA_NAME
3588 : 256974 : || is_gimple_min_invariant (_q20)))
3589 : : {
3590 : 256974 : _q20 = do_valueize (valueize, _q20);
3591 : 256974 : tree _q21 = TREE_OPERAND (_p0, 1);
3592 : 256974 : if ((TREE_CODE (_q21) == SSA_NAME
3593 : 256974 : || is_gimple_min_invariant (_q21)))
3594 : : {
3595 : 256974 : _q21 = do_valueize (valueize, _q21);
3596 : 256974 : if (tree_swap_operands_p (_q20, _q21))
3597 : 0 : std::swap (_q20, _q21);
3598 : 256974 : switch (TREE_CODE (_q20))
3599 : : {
3600 : 256720 : case SSA_NAME:
3601 : 256720 : if (gimple *_d2 = get_def (valueize, _q20))
3602 : : {
3603 : 256720 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
3604 : 331874 : switch (gimple_assign_rhs_code (_a2))
3605 : : {
3606 : 33860 : case IMAGPART_EXPR:
3607 : 33860 : {
3608 : 33860 : tree _q30 = TREE_OPERAND (gimple_assign_rhs1 (_a2), 0);
3609 : 33860 : if ((TREE_CODE (_q30) == SSA_NAME
3610 : 33860 : || is_gimple_min_invariant (_q30)))
3611 : : {
3612 : 33860 : _q30 = do_valueize (valueize, _q30);
3613 : 33860 : switch (TREE_CODE (_q30))
3614 : : {
3615 : 33860 : case SSA_NAME:
3616 : 33860 : if (gimple *_d3 = get_def (valueize, _q30))
3617 : : {
3618 : 33860 : if (gcall *_c3 = dyn_cast <gcall *> (_d3))
3619 : 33836 : switch (gimple_call_combined_fn (_c3))
3620 : : {
3621 : 12374 : case CFN_SUB_OVERFLOW:
3622 : 12374 : if (gimple_call_num_args (_c3) == 2)
3623 : : {
3624 : 12374 : tree _q40 = gimple_call_arg (_c3, 0);
3625 : 12374 : _q40 = do_valueize (valueize, _q40);
3626 : 12374 : tree _q41 = gimple_call_arg (_c3, 1);
3627 : 12374 : _q41 = do_valueize (valueize, _q41);
3628 : 12374 : if (integer_zerop (_q21))
3629 : : {
3630 : 12374 : if (integer_zerop (_p1))
3631 : : {
3632 : 0 : switch (TREE_CODE (_p2))
3633 : : {
3634 : 0 : case SSA_NAME:
3635 : 0 : if (gimple *_d4 = get_def (valueize, _p2))
3636 : : {
3637 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
3638 : 0 : switch (gimple_assign_rhs_code (_a4))
3639 : : {
3640 : 0 : case REALPART_EXPR:
3641 : 0 : {
3642 : 0 : tree _q90 = TREE_OPERAND (gimple_assign_rhs1 (_a4), 0);
3643 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
3644 : 0 : || is_gimple_min_invariant (_q90)))
3645 : : {
3646 : 0 : _q90 = do_valueize (valueize, _q90);
3647 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
3648 : : {
3649 : 0 : {
3650 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q40, _q41, _q30 };
3651 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
3652 : : )
3653 : : {
3654 : 0 : if (types_match (type, captures[0], captures[1])
3655 : : )
3656 : : {
3657 : 0 : {
3658 : 0 : res_ops[0] = captures[0];
3659 : 0 : res_ops[1] = captures[1];
3660 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 59, __FILE__, __LINE__, false);
3661 : 0 : return true;
3662 : : }
3663 : : }
3664 : : }
3665 : : }
3666 : : }
3667 : : }
3668 : : break;
3669 : : }
3670 : : default:;
3671 : : }
3672 : : }
3673 : : break;
3674 : : default:;
3675 : : }
3676 : : }
3677 : : }
3678 : : }
3679 : : break;
3680 : : default:;
3681 : : }
3682 : : }
3683 : : break;
3684 : : default:;
3685 : : }
3686 : : }
3687 : : break;
3688 : : }
3689 : : default:;
3690 : : }
3691 : : }
3692 : : break;
3693 : 256974 : default:;
3694 : : }
3695 : 256974 : switch (TREE_CODE (_q21))
3696 : : {
3697 : 231169 : case INTEGER_CST:
3698 : 231169 : {
3699 : 231169 : switch (TREE_CODE (_p1))
3700 : : {
3701 : 218472 : case SSA_NAME:
3702 : 218472 : if (gimple *_d2 = get_def (valueize, _p1))
3703 : : {
3704 : 218472 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
3705 : 145190 : switch (gimple_assign_rhs_code (_a2))
3706 : : {
3707 : 538 : case MINUS_EXPR:
3708 : 538 : {
3709 : 538 : tree _q50 = gimple_assign_rhs1 (_a2);
3710 : 538 : _q50 = do_valueize (valueize, _q50);
3711 : 538 : tree _q51 = gimple_assign_rhs2 (_a2);
3712 : 538 : _q51 = do_valueize (valueize, _q51);
3713 : 538 : switch (TREE_CODE (_q50))
3714 : : {
3715 : 110 : case INTEGER_CST:
3716 : 110 : {
3717 : 110 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
3718 : : {
3719 : 0 : if (integer_zerop (_p2))
3720 : : {
3721 : 0 : {
3722 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q20, _q21 };
3723 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
3724 : : )
3725 : : {
3726 : 0 : if (types_match (type, captures[1])
3727 : : )
3728 : : {
3729 : 0 : {
3730 : 0 : unsigned precision = TYPE_PRECISION (type);
3731 : 0 : wide_int max = wi::mask (precision, false, precision);
3732 : 0 : wide_int c0 = wi::to_wide (captures[0]);
3733 : 0 : wide_int c2 = wi::to_wide (captures[2]);
3734 : 0 : wide_int c0_add_1 = wi::add (c0, wi::uhwi (1, precision));
3735 : 0 : if (wi::eq_p (c2, max) && wi::eq_p (c0_add_1, max)
3736 : : )
3737 : : {
3738 : 0 : {
3739 : 0 : res_ops[0] = captures[0];
3740 : 0 : res_ops[1] = captures[1];
3741 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 60, __FILE__, __LINE__, false);
3742 : 0 : return true;
3743 : : }
3744 : : }
3745 : 0 : }
3746 : : }
3747 : : }
3748 : : }
3749 : : }
3750 : : }
3751 : : break;
3752 : : }
3753 : : default:;
3754 : : }
3755 : : break;
3756 : : }
3757 : : default:;
3758 : : }
3759 : : }
3760 : : break;
3761 : : default:;
3762 : : }
3763 : : break;
3764 : : }
3765 : : default:;
3766 : : }
3767 : : }
3768 : : }
3769 : 3664530 : break;
3770 : : }
3771 : 17573 : case LE_EXPR:
3772 : 17573 : {
3773 : 17573 : tree _q20 = TREE_OPERAND (_p0, 0);
3774 : 17573 : if ((TREE_CODE (_q20) == SSA_NAME
3775 : 17573 : || is_gimple_min_invariant (_q20)))
3776 : : {
3777 : 17573 : _q20 = do_valueize (valueize, _q20);
3778 : 17573 : tree _q21 = TREE_OPERAND (_p0, 1);
3779 : 17573 : if ((TREE_CODE (_q21) == SSA_NAME
3780 : 17573 : || is_gimple_min_invariant (_q21)))
3781 : : {
3782 : 17573 : _q21 = do_valueize (valueize, _q21);
3783 : 17573 : switch (TREE_CODE (_q21))
3784 : : {
3785 : 12103 : case INTEGER_CST:
3786 : 12103 : {
3787 : 12103 : switch (TREE_CODE (_p1))
3788 : : {
3789 : 8894 : case SSA_NAME:
3790 : 8894 : if (gimple *_d2 = get_def (valueize, _p1))
3791 : : {
3792 : 8894 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
3793 : 8548 : switch (gimple_assign_rhs_code (_a2))
3794 : : {
3795 : 77 : case MINUS_EXPR:
3796 : 77 : {
3797 : 77 : tree _q50 = gimple_assign_rhs1 (_a2);
3798 : 77 : _q50 = do_valueize (valueize, _q50);
3799 : 77 : tree _q51 = gimple_assign_rhs2 (_a2);
3800 : 77 : _q51 = do_valueize (valueize, _q51);
3801 : 77 : switch (TREE_CODE (_q50))
3802 : : {
3803 : 54 : case INTEGER_CST:
3804 : 54 : {
3805 : 54 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
3806 : : {
3807 : 1 : if (integer_zerop (_p2))
3808 : : {
3809 : 0 : {
3810 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q50, _q20, _q21 };
3811 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
3812 : : )
3813 : : {
3814 : 0 : if (types_match (type, captures[1]) && int_fits_type_p (captures[0], type)
3815 : : )
3816 : : {
3817 : 0 : {
3818 : 0 : unsigned precision = TYPE_PRECISION (type);
3819 : 0 : wide_int max = wi::mask (precision, false, precision);
3820 : 0 : wide_int c0 = wi::to_wide (captures[0]);
3821 : 0 : wide_int c2 = wi::to_wide (captures[2]);
3822 : 0 : wide_int c2_add_1 = wi::add (c2, wi::uhwi (1, precision));
3823 : 0 : bool equal_p = wi::eq_p (c0, c2);
3824 : 0 : bool less_than_1_p = !wi::eq_p (c2, max) && wi::eq_p (c2_add_1, c0);
3825 : 0 : if (equal_p || less_than_1_p
3826 : : )
3827 : : {
3828 : 0 : {
3829 : 0 : res_ops[0] = captures[0];
3830 : 0 : res_ops[1] = captures[1];
3831 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 61, __FILE__, __LINE__, false);
3832 : 0 : return true;
3833 : : }
3834 : : }
3835 : 0 : }
3836 : : }
3837 : : }
3838 : : }
3839 : : }
3840 : : }
3841 : : break;
3842 : : }
3843 : : default:;
3844 : : }
3845 : : break;
3846 : : }
3847 : : default:;
3848 : : }
3849 : : }
3850 : : break;
3851 : : default:;
3852 : : }
3853 : : break;
3854 : : }
3855 : 17573 : default:;
3856 : : }
3857 : 17573 : if (integer_onep (_q21))
3858 : : {
3859 : 1886 : switch (TREE_CODE (_p1))
3860 : : {
3861 : 1597 : case SSA_NAME:
3862 : 1597 : if (gimple *_d2 = get_def (valueize, _p1))
3863 : : {
3864 : 1597 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
3865 : 1475 : switch (gimple_assign_rhs_code (_a2))
3866 : : {
3867 : 2 : case BIT_XOR_EXPR:
3868 : 2 : {
3869 : 2 : tree _q50 = gimple_assign_rhs1 (_a2);
3870 : 2 : _q50 = do_valueize (valueize, _q50);
3871 : 2 : tree _q51 = gimple_assign_rhs2 (_a2);
3872 : 2 : _q51 = do_valueize (valueize, _q51);
3873 : 2 : if (tree_swap_operands_p (_q50, _q51))
3874 : 0 : std::swap (_q50, _q51);
3875 : 2 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
3876 : : {
3877 : 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
3878 : : {
3879 : 0 : if (integer_onep (_q51))
3880 : : {
3881 : 0 : if (integer_zerop (_p2))
3882 : : {
3883 : 0 : {
3884 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
3885 : 0 : if (INTEGRAL_TYPE_P (type) && TYPE_UNSIGNED (type)
3886 : : )
3887 : : {
3888 : 0 : if (types_match (type, captures[1])
3889 : : )
3890 : : {
3891 : 0 : {
3892 : 0 : res_ops[0] = captures[0];
3893 : 0 : res_ops[1] = captures[1];
3894 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 62, __FILE__, __LINE__, false);
3895 : 0 : return true;
3896 : : }
3897 : : }
3898 : : }
3899 : : }
3900 : : }
3901 : : }
3902 : : }
3903 : : }
3904 : 3664530 : break;
3905 : : }
3906 : : default:;
3907 : : }
3908 : : }
3909 : : break;
3910 : : default:;
3911 : : }
3912 : : }
3913 : : }
3914 : : }
3915 : : break;
3916 : : }
3917 : : default:;
3918 : : }
3919 : : }
3920 : : }
3921 : : }
3922 : : break;
3923 : : default:;
3924 : : }
3925 : : return false;
3926 : : }
3927 : :
3928 : : bool
3929 : 10 : gimple_simplify_237 (gimple_match_op *res_op, gimple_seq *seq,
3930 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
3931 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
3932 : : const enum tree_code ARG_UNUSED (op))
3933 : : {
3934 : 10 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
3935 : 10 : if (tree_nop_conversion_p (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
3936 : 10 : && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[2]))
3937 : 20 : && (CONSTANT_CLASS_P (captures[3]) || (single_use (captures[1]) && single_use (captures[0])))
3938 : : )
3939 : : {
3940 : 9 : gimple_seq *lseq = seq;
3941 : 9 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail868;
3942 : 9 : {
3943 : 9 : res_op->set_op (op, type, 2);
3944 : 9 : res_op->ops[0] = captures[3];
3945 : 9 : res_op->ops[1] = build_zero_cst (TREE_TYPE (captures[3]));
3946 : 9 : res_op->resimplify (lseq, valueize);
3947 : 9 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 352, __FILE__, __LINE__, true);
3948 : 9 : return true;
3949 : : }
3950 : 0 : next_after_fail868:;
3951 : : }
3952 : : return false;
3953 : : }
3954 : :
3955 : : bool
3956 : 11076 : gimple_simplify_240 (gimple_match_op *res_op, gimple_seq *seq,
3957 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
3958 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
3959 : : const enum tree_code ARG_UNUSED (cmp),
3960 : : const enum tree_code ARG_UNUSED (ocmp))
3961 : : {
3962 : 11076 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
3963 : 11076 : if (TYPE_UNSIGNED (TREE_TYPE (captures[0]))
3964 : 442 : && TREE_CODE (TREE_TYPE (captures[0])) != COMPLEX_TYPE
3965 : 11434 : && (VECTOR_TYPE_P (type) || !VECTOR_TYPE_P (TREE_TYPE (captures[0])))
3966 : : )
3967 : : {
3968 : 358 : gimple_seq *lseq = seq;
3969 : 358 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail871;
3970 : 358 : {
3971 : 358 : res_op->set_op (ocmp, type, 2);
3972 : 358 : res_op->ops[0] = captures[0];
3973 : 358 : res_op->ops[1] = captures[1];
3974 : 358 : res_op->resimplify (lseq, valueize);
3975 : 358 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 358, __FILE__, __LINE__, true);
3976 : 358 : return true;
3977 : : }
3978 : 0 : next_after_fail871:;
3979 : : }
3980 : : return false;
3981 : : }
3982 : :
3983 : : bool
3984 : 7258 : gimple_simplify_245 (gimple_match_op *res_op, gimple_seq *seq,
3985 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
3986 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
3987 : : const enum tree_code ARG_UNUSED (cmp))
3988 : : {
3989 : 7258 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
3990 : 7258 : if (wi::lt_p (wi::to_wide (captures[1]), wi::to_wide (captures[2]),
3991 : 7258 : TYPE_SIGN (TREE_TYPE (captures[0])))
3992 : : )
3993 : : {
3994 : 0 : gimple_seq *lseq = seq;
3995 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail876;
3996 : 0 : {
3997 : 0 : tree tem;
3998 : 0 : tem = constant_boolean_node (cmp == NE_EXPR, type);
3999 : 0 : res_op->set_value (tem);
4000 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 363, __FILE__, __LINE__, true);
4001 : 0 : return true;
4002 : : }
4003 : 0 : next_after_fail876:;
4004 : : }
4005 : : else
4006 : : {
4007 : 7258 : if (wi::gt_p (wi::to_wide (captures[1]), wi::to_wide (captures[2]),
4008 : 7258 : TYPE_SIGN (TREE_TYPE (captures[0])))
4009 : : )
4010 : : {
4011 : 7258 : gimple_seq *lseq = seq;
4012 : 7258 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail877;
4013 : 7258 : {
4014 : 7258 : res_op->set_op (cmp, type, 2);
4015 : 7258 : res_op->ops[0] = captures[0];
4016 : 7258 : res_op->ops[1] = captures[2];
4017 : 7258 : res_op->resimplify (lseq, valueize);
4018 : 7258 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 364, __FILE__, __LINE__, true);
4019 : 7258 : return true;
4020 : : }
4021 : 0 : next_after_fail877:;
4022 : : }
4023 : : }
4024 : : return false;
4025 : : }
4026 : :
4027 : : bool
4028 : 1309 : gimple_simplify_249 (gimple_match_op *res_op, gimple_seq *seq,
4029 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
4030 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
4031 : : const enum tree_code ARG_UNUSED (cmp))
4032 : : {
4033 : 1309 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
4034 : 1309 : if (tree_fits_shwi_p (captures[3])
4035 : 1309 : && tree_to_shwi (captures[3]) > 0
4036 : 2618 : && tree_to_shwi (captures[3]) < TYPE_PRECISION (TREE_TYPE (captures[2]))
4037 : : )
4038 : : {
4039 : 1309 : if (tree_to_shwi (captures[3]) > wi::ctz (wi::to_wide (captures[5]))
4040 : : )
4041 : : {
4042 : 0 : gimple_seq *lseq = seq;
4043 : 0 : if (lseq
4044 : : && (!single_use (captures[0])
4045 : : || !single_use (captures[1])))
4046 : 0 : lseq = NULL;
4047 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail883;
4048 : 0 : {
4049 : 0 : tree tem;
4050 : 0 : tem = constant_boolean_node (cmp == NE_EXPR, type);
4051 : 0 : res_op->set_value (tem);
4052 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 370, __FILE__, __LINE__, true);
4053 : 0 : return true;
4054 : : }
4055 : 0 : next_after_fail883:;
4056 : : }
4057 : : else
4058 : : {
4059 : 1309 : {
4060 : 1309 : wide_int c1 = wi::to_wide (captures[3]);
4061 : 1309 : wide_int c2 = wi::lrshift (wi::to_wide (captures[4]), c1);
4062 : 1309 : wide_int c3 = wi::lrshift (wi::to_wide (captures[5]), c1);
4063 : 1309 : gimple_seq *lseq = seq;
4064 : 1309 : if (lseq
4065 : 397 : && (!single_use (captures[0])
4066 : 370 : || !single_use (captures[1])))
4067 : 1257 : lseq = NULL;
4068 : 1309 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail884;
4069 : 1309 : {
4070 : 1309 : res_op->set_op (cmp, type, 2);
4071 : 1309 : {
4072 : 1309 : tree _o1[2], _r1;
4073 : 1309 : _o1[0] = captures[2];
4074 : 1309 : _o1[1] = wide_int_to_tree (TREE_TYPE (captures[2]), c2);
4075 : 1309 : gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
4076 : 1309 : tem_op.resimplify (lseq, valueize);
4077 : 1309 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
4078 : 1309 : if (!_r1) goto next_after_fail884;
4079 : 52 : res_op->ops[0] = _r1;
4080 : : }
4081 : 52 : res_op->ops[1] = wide_int_to_tree (TREE_TYPE (captures[2]), c3);
4082 : 52 : res_op->resimplify (lseq, valueize);
4083 : 52 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 371, __FILE__, __LINE__, true);
4084 : 52 : return true;
4085 : : }
4086 : 1257 : next_after_fail884:;
4087 : 1309 : }
4088 : : }
4089 : : }
4090 : : return false;
4091 : : }
4092 : :
4093 : : bool
4094 : 2 : gimple_simplify_254 (gimple_match_op *res_op, gimple_seq *seq,
4095 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
4096 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
4097 : : const enum tree_code ARG_UNUSED (rotate),
4098 : : const enum tree_code ARG_UNUSED (invrot),
4099 : : const enum tree_code ARG_UNUSED (cmp))
4100 : : {
4101 : 2 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
4102 : 2 : gimple_seq *lseq = seq;
4103 : 2 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail897;
4104 : 2 : {
4105 : 2 : res_op->set_op (cmp, type, 2);
4106 : 2 : res_op->ops[0] = captures[0];
4107 : 2 : res_op->ops[1] = captures[2];
4108 : 2 : res_op->resimplify (lseq, valueize);
4109 : 2 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 384, __FILE__, __LINE__, true);
4110 : : return true;
4111 : : }
4112 : 0 : next_after_fail897:;
4113 : 0 : return false;
4114 : : }
4115 : :
4116 : : bool
4117 : 84 : gimple_simplify_257 (gimple_match_op *res_op, gimple_seq *seq,
4118 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
4119 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures))
4120 : : {
4121 : 84 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
4122 : 84 : if (TREE_CODE (TREE_TYPE (captures[1])) != COMPLEX_TYPE
4123 : 84 : && (!VECTOR_MODE_P (TYPE_MODE (TREE_TYPE (captures[1])))
4124 : 0 : || !target_supports_op_p (TREE_TYPE (captures[1]), TRUNC_DIV_EXPR,
4125 : : optab_vector)
4126 : 0 : || target_supports_op_p (TREE_TYPE (captures[1]), TRUNC_MOD_EXPR,
4127 : : optab_vector))
4128 : : )
4129 : : {
4130 : 48 : gimple_seq *lseq = seq;
4131 : 48 : if (lseq
4132 : 16 : && (!single_use (captures[0])))
4133 : 42 : lseq = NULL;
4134 : 48 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail900;
4135 : 48 : {
4136 : 48 : res_op->set_op (EQ_EXPR, type, 2);
4137 : 48 : {
4138 : 48 : tree _o1[2], _r1;
4139 : 48 : _o1[0] = captures[1];
4140 : 48 : _o1[1] = captures[2];
4141 : 48 : gimple_match_op tem_op (res_op->cond.any_else (), TRUNC_MOD_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
4142 : 48 : tem_op.resimplify (lseq, valueize);
4143 : 48 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
4144 : 48 : if (!_r1) goto next_after_fail900;
4145 : 6 : res_op->ops[0] = _r1;
4146 : : }
4147 : 6 : res_op->ops[1] = build_zero_cst (TREE_TYPE (captures[1]));
4148 : 6 : res_op->resimplify (lseq, valueize);
4149 : 6 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 387, __FILE__, __LINE__, true);
4150 : 6 : return true;
4151 : : }
4152 : : next_after_fail900:;
4153 : : }
4154 : : return false;
4155 : : }
4156 : :
4157 : : bool
4158 : 964 : gimple_simplify_260 (gimple_match_op *res_op, gimple_seq *seq,
4159 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
4160 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
4161 : : const enum tree_code ARG_UNUSED (cmp),
4162 : : const enum tree_code ARG_UNUSED (icmp),
4163 : : const enum tree_code ARG_UNUSED (ncmp))
4164 : : {
4165 : 964 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
4166 : 964 : if (types_match (type, TREE_TYPE (captures[0]))
4167 : : )
4168 : : {
4169 : 964 : gimple_seq *lseq = seq;
4170 : 964 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail903;
4171 : 964 : {
4172 : 964 : res_op->set_op (cmp, type, 2);
4173 : 964 : res_op->ops[0] = captures[1];
4174 : 964 : res_op->ops[1] = captures[2];
4175 : 964 : res_op->resimplify (lseq, valueize);
4176 : 964 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 390, __FILE__, __LINE__, true);
4177 : 964 : return true;
4178 : : }
4179 : 0 : next_after_fail903:;
4180 : : }
4181 : : return false;
4182 : : }
4183 : :
4184 : : bool
4185 : 64355 : gimple_simplify_265 (gimple_match_op *res_op, gimple_seq *seq,
4186 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
4187 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
4188 : : const enum tree_code ARG_UNUSED (cmp))
4189 : : {
4190 : 64355 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
4191 : 128710 : if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
4192 : 128710 : && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
4193 : 131927 : && wi::to_wide (captures[1]) != 0
4194 : : )
4195 : : {
4196 : 3217 : {
4197 : 3217 : widest_int quot;
4198 : 3217 : if (wi::multiple_of_p (wi::to_widest (captures[2]), wi::to_widest (captures[1]),
4199 : 3217 : TYPE_SIGN (TREE_TYPE (captures[0])), ")
4200 : : )
4201 : : {
4202 : 3175 : gimple_seq *lseq = seq;
4203 : 3175 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail911;
4204 : 3175 : {
4205 : 3175 : res_op->set_op (cmp, type, 2);
4206 : 3175 : res_op->ops[0] = captures[0];
4207 : 3175 : res_op->ops[1] = wide_int_to_tree (TREE_TYPE (captures[0]), quot);
4208 : 3175 : res_op->resimplify (lseq, valueize);
4209 : 3175 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 397, __FILE__, __LINE__, true);
4210 : 3175 : return true;
4211 : : }
4212 : 0 : next_after_fail911:;
4213 : : }
4214 : : else
4215 : : {
4216 : 42 : gimple_seq *lseq = seq;
4217 : 42 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail912;
4218 : 42 : {
4219 : 42 : tree tem;
4220 : 42 : tem = constant_boolean_node (cmp == NE_EXPR, type);
4221 : 42 : res_op->set_value (tem);
4222 : 42 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 398, __FILE__, __LINE__, true);
4223 : 42 : return true;
4224 : : }
4225 : 0 : next_after_fail912:;
4226 : : }
4227 : 3217 : }
4228 : : }
4229 : : else
4230 : : {
4231 : 122276 : if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
4232 : 61138 : && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0]))
4233 : 122276 : && (wi::bit_and (wi::to_wide (captures[1]), 1) == 1)
4234 : : )
4235 : : {
4236 : 1104 : gimple_seq *lseq = seq;
4237 : 1104 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail913;
4238 : 1104 : {
4239 : 1104 : res_op->set_op (cmp, type, 2);
4240 : 1104 : res_op->ops[0] = captures[0];
4241 : 1104 : tree itype = TREE_TYPE (captures[0]);
4242 : 1104 : int p = TYPE_PRECISION (itype);
4243 : 1104 : wide_int m = wi::one (p + 1) << p;
4244 : 1104 : wide_int a = wide_int::from (wi::to_wide (captures[1]), p + 1, UNSIGNED);
4245 : 1104 : wide_int i = wide_int::from (wi::mod_inv (a, m),
4246 : 3312 : p, TYPE_SIGN (itype)); res_op->ops[1] =
4247 : 1104 : wide_int_to_tree (itype, wi::mul (i, wi::to_wide (captures[2])));
4248 : 1104 : res_op->resimplify (lseq, valueize);
4249 : 1104 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 399, __FILE__, __LINE__, true);
4250 : 1104 : return true;
4251 : 1104 : }
4252 : 0 : next_after_fail913:;
4253 : : }
4254 : : }
4255 : : return false;
4256 : : }
4257 : :
4258 : : bool
4259 : 2258 : gimple_simplify_273 (gimple_match_op *res_op, gimple_seq *seq,
4260 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
4261 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
4262 : : const enum tree_code ARG_UNUSED (cmp))
4263 : : {
4264 : 2258 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
4265 : 2258 : if (flag_associative_math
4266 : : )
4267 : : {
4268 : 9 : {
4269 : 9 : tree tem = const_binop (MINUS_EXPR, TREE_TYPE (captures[1]), captures[0], captures[2]);
4270 : 9 : if (tem && !TREE_OVERFLOW (tem)
4271 : : )
4272 : : {
4273 : 9 : gimple_seq *lseq = seq;
4274 : 9 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail936;
4275 : 9 : {
4276 : 9 : res_op->set_op (cmp, type, 2);
4277 : 9 : res_op->ops[0] = tem;
4278 : 9 : res_op->ops[1] = captures[1];
4279 : 9 : res_op->resimplify (lseq, valueize);
4280 : 9 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 421, __FILE__, __LINE__, true);
4281 : 9 : return true;
4282 : : }
4283 : 0 : next_after_fail936:;
4284 : : }
4285 : : }
4286 : : }
4287 : : return false;
4288 : : }
4289 : :
4290 : : bool
4291 : 14940 : gimple_simplify_277 (gimple_match_op *res_op, gimple_seq *seq,
4292 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
4293 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
4294 : : const enum tree_code ARG_UNUSED (cmp),
4295 : : const enum tree_code ARG_UNUSED (icmp))
4296 : : {
4297 : 14940 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
4298 : 14940 : if (SCALAR_FLOAT_TYPE_P (TREE_TYPE (captures[1]))
4299 : 14940 : && ! DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[1]))
4300 : : )
4301 : : {
4302 : 12590 : {
4303 : 12590 : tree itype = TREE_TYPE (captures[0]);
4304 : 12590 : format_helper fmt (REAL_MODE_FORMAT (TYPE_MODE (TREE_TYPE (captures[1]))));
4305 : 12590 : const REAL_VALUE_TYPE *cst = TREE_REAL_CST_PTR (captures[1]);
4306 : 12590 : bool exception_p = real_isnan (cst)
4307 : 276 : && flag_trapping_math
4308 : 12866 : && ((cmp != EQ_EXPR && cmp != NE_EXPR)
4309 : 56 : || (cst->signalling
4310 : 56 : && HONOR_SNANS (TREE_TYPE (captures[1]))));
4311 : 12590 : if (fmt.can_represent_integral_type_p (itype) && ! exception_p
4312 : : )
4313 : : {
4314 : 602 : {
4315 : 602 : signop isign = TYPE_SIGN (itype);
4316 : 602 : REAL_VALUE_TYPE imin, imax;
4317 : 602 : real_from_integer (&imin, fmt, wi::min_value (itype), isign);
4318 : 602 : real_from_integer (&imax, fmt, wi::max_value (itype), isign);
4319 : 602 : REAL_VALUE_TYPE icst;
4320 : 602 : if (cmp == GT_EXPR || cmp == GE_EXPR)
4321 : 246 : real_ceil (&icst, fmt, cst);
4322 : 356 : else if (cmp == LT_EXPR || cmp == LE_EXPR)
4323 : 157 : real_floor (&icst, fmt, cst);
4324 : : else
4325 : 199 : real_trunc (&icst, fmt, cst);
4326 : 602 : bool cst_int_p = !real_isnan (cst) && real_identical (&icst, cst);
4327 : 602 : bool overflow_p = false;
4328 : 602 : wide_int icst_val
4329 : 602 : = real_to_integer (&icst, &overflow_p, TYPE_PRECISION (itype));
4330 : 602 : if (real_compare (LT_EXPR, cst, &imin)
4331 : : )
4332 : : {
4333 : 0 : gimple_seq *lseq = seq;
4334 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail961;
4335 : 0 : {
4336 : 0 : tree tem;
4337 : 0 : tem = constant_boolean_node (cmp == GT_EXPR || cmp == GE_EXPR || cmp == NE_EXPR,
4338 : : type);
4339 : 0 : res_op->set_value (tem);
4340 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 446, __FILE__, __LINE__, true);
4341 : 0 : return true;
4342 : : }
4343 : 0 : next_after_fail961:;
4344 : : }
4345 : : else
4346 : : {
4347 : 602 : if (real_compare (GT_EXPR, cst, &imax)
4348 : : )
4349 : : {
4350 : 7 : gimple_seq *lseq = seq;
4351 : 7 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail962;
4352 : 7 : {
4353 : 7 : tree tem;
4354 : 7 : tem = constant_boolean_node (cmp == LT_EXPR || cmp == LE_EXPR || cmp == NE_EXPR,
4355 : : type);
4356 : 7 : res_op->set_value (tem);
4357 : 7 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 447, __FILE__, __LINE__, true);
4358 : 7 : return true;
4359 : : }
4360 : 0 : next_after_fail962:;
4361 : : }
4362 : : else
4363 : : {
4364 : 595 : if (cst_int_p
4365 : : )
4366 : : {
4367 : 575 : gimple_seq *lseq = seq;
4368 : 575 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail963;
4369 : 575 : {
4370 : 575 : res_op->set_op (cmp, type, 2);
4371 : 575 : res_op->ops[0] = captures[0];
4372 : 575 : gcc_assert (!overflow_p); res_op->ops[1] =
4373 : 575 : wide_int_to_tree (itype, icst_val);
4374 : 575 : res_op->resimplify (lseq, valueize);
4375 : 575 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 448, __FILE__, __LINE__, true);
4376 : 575 : return true;
4377 : : }
4378 : 0 : next_after_fail963:;
4379 : : }
4380 : : else
4381 : : {
4382 : 20 : if (cmp == EQ_EXPR || cmp == NE_EXPR
4383 : : )
4384 : : {
4385 : 0 : gimple_seq *lseq = seq;
4386 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail964;
4387 : 0 : {
4388 : 0 : tree tem;
4389 : 0 : tem = constant_boolean_node (cmp == NE_EXPR, type);
4390 : 0 : res_op->set_value (tem);
4391 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 449, __FILE__, __LINE__, true);
4392 : 0 : return true;
4393 : : }
4394 : 0 : next_after_fail964:;
4395 : : }
4396 : : else
4397 : : {
4398 : 20 : {
4399 : 20 : gcc_checking_assert (!overflow_p);
4400 : 20 : gimple_seq *lseq = seq;
4401 : 20 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail965;
4402 : 20 : {
4403 : 20 : res_op->set_op (icmp, type, 2);
4404 : 20 : res_op->ops[0] = captures[0];
4405 : 20 : res_op->ops[1] = wide_int_to_tree (itype, icst_val);
4406 : 20 : res_op->resimplify (lseq, valueize);
4407 : 20 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 450, __FILE__, __LINE__, true);
4408 : 20 : return true;
4409 : : }
4410 : 0 : next_after_fail965:;
4411 : : }
4412 : : }
4413 : : }
4414 : : }
4415 : : }
4416 : 602 : }
4417 : : }
4418 : : }
4419 : : }
4420 : : return false;
4421 : : }
4422 : :
4423 : : bool
4424 : 4864 : gimple_simplify_283 (gimple_match_op *res_op, gimple_seq *seq,
4425 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
4426 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
4427 : : const enum tree_code ARG_UNUSED (cmp))
4428 : : {
4429 : 4864 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
4430 : 4864 : if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
4431 : 9624 : && wi::bit_and_not (wi::to_wide (captures[2]), wi::to_wide (captures[3])) != 0
4432 : : )
4433 : : {
4434 : 116 : gimple_seq *lseq = seq;
4435 : 116 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail985;
4436 : 116 : {
4437 : 116 : tree tem;
4438 : 116 : tem = constant_boolean_node (cmp == NE_EXPR, type);
4439 : 116 : res_op->set_value (tem);
4440 : 116 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 463, __FILE__, __LINE__, true);
4441 : 116 : return true;
4442 : : }
4443 : 0 : next_after_fail985:;
4444 : : }
4445 : : return false;
4446 : : }
4447 : :
4448 : : bool
4449 : 7675 : gimple_simplify_285 (gimple_match_op *res_op, gimple_seq *seq,
4450 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
4451 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
4452 : : const enum tree_code ARG_UNUSED (cmp))
4453 : : {
4454 : 7675 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
4455 : 7675 : gimple_seq *lseq = seq;
4456 : 7675 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail990;
4457 : 7675 : {
4458 : 7675 : res_op->set_op (cmp, type, 2);
4459 : 7675 : res_op->ops[0] = captures[0];
4460 : 7675 : res_op->ops[1] = captures[1];
4461 : 7675 : res_op->resimplify (lseq, valueize);
4462 : 7675 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 468, __FILE__, __LINE__, true);
4463 : : return true;
4464 : : }
4465 : 0 : next_after_fail990:;
4466 : 0 : return false;
4467 : : }
4468 : :
4469 : : bool
4470 : 134 : gimple_simplify_286 (gimple_match_op *res_op, gimple_seq *seq,
4471 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
4472 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
4473 : : const enum tree_code ARG_UNUSED (cmp))
4474 : : {
4475 : 134 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
4476 : 134 : gimple_seq *lseq = seq;
4477 : 134 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail991;
4478 : 134 : {
4479 : 134 : res_op->set_op (cmp, type, 2);
4480 : 134 : res_op->ops[0] = captures[1];
4481 : 134 : res_op->ops[1] = build_zero_cst (TREE_TYPE (captures[1]));
4482 : 134 : res_op->resimplify (lseq, valueize);
4483 : 134 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 469, __FILE__, __LINE__, true);
4484 : : return true;
4485 : : }
4486 : 0 : next_after_fail991:;
4487 : 0 : return false;
4488 : : }
4489 : :
4490 : : bool
4491 : 154534 : gimple_simplify_287 (gimple_match_op *res_op, gimple_seq *seq,
4492 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
4493 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
4494 : : const enum tree_code ARG_UNUSED (cmp))
4495 : : {
4496 : 154534 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
4497 : 154534 : gimple_seq *lseq = seq;
4498 : 154534 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail992;
4499 : 154534 : {
4500 : 154534 : res_op->set_op (cmp, type, 2);
4501 : 154534 : {
4502 : 154534 : tree _o1[2], _r1;
4503 : 154534 : _o1[0] = captures[0];
4504 : 154534 : {
4505 : 154534 : tree _o2[1], _r2;
4506 : 154534 : _o2[0] = captures[1];
4507 : 154534 : gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
4508 : 154534 : tem_op.resimplify (NULL, valueize);
4509 : 154534 : _r2 = maybe_push_res_to_seq (&tem_op, NULL);
4510 : 154534 : if (!_r2) goto next_after_fail992;
4511 : 23464 : _o1[1] = _r2;
4512 : : }
4513 : 23464 : gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
4514 : 23464 : tem_op.resimplify (lseq, valueize);
4515 : 23464 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
4516 : 23464 : if (!_r1) goto next_after_fail992;
4517 : 13861 : res_op->ops[0] = _r1;
4518 : : }
4519 : 13861 : res_op->ops[1] = build_zero_cst (TREE_TYPE (captures[0]));
4520 : 13861 : res_op->resimplify (lseq, valueize);
4521 : 13861 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 470, __FILE__, __LINE__, true);
4522 : : return true;
4523 : : }
4524 : : next_after_fail992:;
4525 : : return false;
4526 : : }
4527 : :
4528 : : bool
4529 : 3941 : gimple_simplify_289 (gimple_match_op *res_op, gimple_seq *seq,
4530 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
4531 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
4532 : : const enum tree_code ARG_UNUSED (cmp))
4533 : : {
4534 : 3941 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
4535 : 3941 : gimple_seq *lseq = seq;
4536 : 3941 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail994;
4537 : 3941 : {
4538 : 3941 : res_op->set_op (cmp, type, 2);
4539 : 3941 : {
4540 : 3941 : tree _o1[2], _r1;
4541 : 3941 : _o1[0] = captures[0];
4542 : 3941 : {
4543 : 3941 : tree _o2[1], _r2;
4544 : 3941 : _o2[0] = captures[1];
4545 : 3941 : gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
4546 : 3941 : tem_op.resimplify (NULL, valueize);
4547 : 3941 : _r2 = maybe_push_res_to_seq (&tem_op, NULL);
4548 : 3941 : if (!_r2) goto next_after_fail994;
4549 : 2371 : _o1[1] = _r2;
4550 : : }
4551 : 2371 : gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
4552 : 2371 : tem_op.resimplify (lseq, valueize);
4553 : 2371 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
4554 : 2371 : if (!_r1) goto next_after_fail994;
4555 : 2313 : res_op->ops[0] = _r1;
4556 : : }
4557 : 2313 : res_op->ops[1] = build_zero_cst (TREE_TYPE (captures[0]));
4558 : 2313 : res_op->resimplify (lseq, valueize);
4559 : 2313 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 472, __FILE__, __LINE__, true);
4560 : : return true;
4561 : : }
4562 : : next_after_fail994:;
4563 : : return false;
4564 : : }
4565 : :
4566 : : bool
4567 : 111917863 : gimple_simplify_291 (gimple_match_op *res_op, gimple_seq *seq,
4568 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
4569 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
4570 : : const enum tree_code ARG_UNUSED (cmp))
4571 : : {
4572 : 111917863 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
4573 : 111917863 : if (tree_expr_nonzero_p (captures[0])
4574 : : )
4575 : : {
4576 : 85873 : gimple_seq *lseq = seq;
4577 : 85873 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail996;
4578 : 85873 : {
4579 : 85873 : tree tem;
4580 : 85873 : tem = constant_boolean_node (cmp == NE_EXPR, type);
4581 : 85873 : res_op->set_value (tem);
4582 : 85873 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 474, __FILE__, __LINE__, true);
4583 : 85873 : return true;
4584 : : }
4585 : 0 : next_after_fail996:;
4586 : : }
4587 : : return false;
4588 : : }
4589 : :
4590 : : bool
4591 : 29952 : gimple_simplify_294 (gimple_match_op *res_op, gimple_seq *seq,
4592 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
4593 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
4594 : : const enum tree_code ARG_UNUSED (cmp),
4595 : : const enum tree_code ARG_UNUSED (ncmp))
4596 : : {
4597 : 29952 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
4598 : 57326 : if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
4599 : 15431 : && type_has_mode_precision_p (TREE_TYPE (captures[1]))
4600 : 15003 : && element_precision (captures[0]) >= element_precision (captures[1])
4601 : 59904 : && wi::only_sign_bit_p (wi::to_wide (captures[2]), element_precision (captures[1]))
4602 : : )
4603 : : {
4604 : 193 : {
4605 : 193 : tree stype = signed_type_for (TREE_TYPE (captures[1]));
4606 : 193 : gimple_seq *lseq = seq;
4607 : 193 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail999;
4608 : 193 : {
4609 : 193 : res_op->set_op (ncmp, type, 2);
4610 : 193 : {
4611 : 193 : tree _o1[1], _r1;
4612 : 193 : _o1[0] = captures[1];
4613 : 193 : if (stype != TREE_TYPE (_o1[0]) /* XXX */
4614 : 193 : && !useless_type_conversion_p (stype, TREE_TYPE (_o1[0])))
4615 : : {
4616 : 155 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, stype, _o1[0]);
4617 : 155 : tem_op.resimplify (lseq, valueize);
4618 : 155 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
4619 : 155 : if (!_r1) goto next_after_fail999;
4620 : : }
4621 : : else
4622 : : _r1 = _o1[0];
4623 : 38 : res_op->ops[0] = _r1;
4624 : : }
4625 : 38 : res_op->ops[1] = build_zero_cst (stype);
4626 : 38 : res_op->resimplify (lseq, valueize);
4627 : 38 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 477, __FILE__, __LINE__, true);
4628 : 38 : return true;
4629 : : }
4630 : : next_after_fail999:;
4631 : : }
4632 : : }
4633 : : return false;
4634 : : }
4635 : :
4636 : : bool
4637 : 62 : gimple_simplify_298 (gimple_match_op *res_op, gimple_seq *seq,
4638 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
4639 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
4640 : : const enum tree_code ARG_UNUSED (cmp),
4641 : : const enum tree_code ARG_UNUSED (ncmp))
4642 : : {
4643 : 62 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
4644 : 124 : if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
4645 : 62 : && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
4646 : 124 : && types_match (captures[0], captures[2])
4647 : : )
4648 : : {
4649 : 10 : gimple_seq *lseq = seq;
4650 : 10 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1003;
4651 : 10 : {
4652 : 10 : res_op->set_op (ncmp, type, 2);
4653 : 10 : {
4654 : 10 : tree _o1[2], _r1;
4655 : 10 : _o1[0] = captures[0];
4656 : 10 : _o1[1] = captures[2];
4657 : 10 : gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
4658 : 10 : tem_op.resimplify (lseq, valueize);
4659 : 10 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
4660 : 10 : if (!_r1) goto next_after_fail1003;
4661 : 4 : res_op->ops[0] = _r1;
4662 : : }
4663 : 4 : res_op->ops[1] = captures[1];
4664 : 4 : res_op->resimplify (lseq, valueize);
4665 : 4 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 479, __FILE__, __LINE__, true);
4666 : 4 : return true;
4667 : : }
4668 : : next_after_fail1003:;
4669 : : }
4670 : : return false;
4671 : : }
4672 : :
4673 : : bool
4674 : 189 : gimple_simplify_303 (gimple_match_op *res_op, gimple_seq *seq,
4675 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
4676 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
4677 : : const enum tree_code ARG_UNUSED (inner),
4678 : : const enum tree_code ARG_UNUSED (outer))
4679 : : {
4680 : 189 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
4681 : 189 : {
4682 : 189 : bool cst1 = integer_onep (captures[1]);
4683 : 189 : bool cst0 = integer_zerop (captures[1]);
4684 : 189 : bool innereq = inner == EQ_EXPR;
4685 : 189 : bool outereq = outer == EQ_EXPR;
4686 : 275 : if (innereq ? cst0 : cst1
4687 : : )
4688 : : {
4689 : 55 : gimple_seq *lseq = seq;
4690 : 55 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1022;
4691 : 55 : {
4692 : 55 : tree tem;
4693 : 55 : tem = constant_boolean_node (!outereq, type);
4694 : 55 : res_op->set_value (tem);
4695 : 55 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 490, __FILE__, __LINE__, true);
4696 : 55 : return true;
4697 : : }
4698 : 0 : next_after_fail1022:;
4699 : : }
4700 : : else
4701 : : {
4702 : 204 : if (innereq ? cst1 : cst0
4703 : : )
4704 : : {
4705 : 70 : {
4706 : 70 : tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
4707 : 70 : tree ucst1 = build_one_cst (utype);
4708 : 70 : if (!outereq
4709 : : )
4710 : : {
4711 : 35 : gimple_seq *lseq = seq;
4712 : 35 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1023;
4713 : 35 : {
4714 : 35 : res_op->set_op (GT_EXPR, type, 2);
4715 : 35 : {
4716 : 35 : tree _o1[1], _r1;
4717 : 35 : _o1[0] = captures[0];
4718 : 35 : if (utype != TREE_TYPE (_o1[0]) /* XXX */
4719 : 35 : && !useless_type_conversion_p (utype, TREE_TYPE (_o1[0])))
4720 : : {
4721 : 31 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o1[0]);
4722 : 31 : tem_op.resimplify (lseq, valueize);
4723 : 31 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
4724 : 31 : if (!_r1) goto next_after_fail1023;
4725 : : }
4726 : : else
4727 : : _r1 = _o1[0];
4728 : 19 : res_op->ops[0] = _r1;
4729 : : }
4730 : 19 : res_op->ops[1] = ucst1;
4731 : 19 : res_op->resimplify (lseq, valueize);
4732 : 19 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 491, __FILE__, __LINE__, true);
4733 : 19 : return true;
4734 : : }
4735 : : next_after_fail1023:;
4736 : : }
4737 : : else
4738 : : {
4739 : 35 : gimple_seq *lseq = seq;
4740 : 35 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1024;
4741 : 35 : {
4742 : 35 : res_op->set_op (LE_EXPR, type, 2);
4743 : 35 : {
4744 : 35 : tree _o1[1], _r1;
4745 : 35 : _o1[0] = captures[0];
4746 : 35 : if (utype != TREE_TYPE (_o1[0]) /* XXX */
4747 : 35 : && !useless_type_conversion_p (utype, TREE_TYPE (_o1[0])))
4748 : : {
4749 : 31 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o1[0]);
4750 : 31 : tem_op.resimplify (lseq, valueize);
4751 : 31 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
4752 : 31 : if (!_r1) goto next_after_fail1024;
4753 : : }
4754 : : else
4755 : : _r1 = _o1[0];
4756 : 19 : res_op->ops[0] = _r1;
4757 : : }
4758 : 19 : res_op->ops[1] = ucst1;
4759 : 19 : res_op->resimplify (lseq, valueize);
4760 : 19 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 492, __FILE__, __LINE__, true);
4761 : 19 : return true;
4762 : : }
4763 : : next_after_fail1024:;
4764 : : }
4765 : : }
4766 : : }
4767 : : else
4768 : : {
4769 : 64 : {
4770 : 64 : tree value = build_int_cst (TREE_TYPE (captures[0]), !innereq);
4771 : 64 : if (outereq
4772 : : )
4773 : : {
4774 : 32 : gimple_seq *lseq = seq;
4775 : 32 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1025;
4776 : 32 : {
4777 : 32 : res_op->set_op (EQ_EXPR, type, 2);
4778 : 32 : res_op->ops[0] = captures[0];
4779 : 32 : res_op->ops[1] = value;
4780 : 32 : res_op->resimplify (lseq, valueize);
4781 : 32 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 493, __FILE__, __LINE__, true);
4782 : 32 : return true;
4783 : : }
4784 : 0 : next_after_fail1025:;
4785 : : }
4786 : : else
4787 : : {
4788 : 32 : gimple_seq *lseq = seq;
4789 : 32 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1026;
4790 : 32 : {
4791 : 32 : res_op->set_op (NE_EXPR, type, 2);
4792 : 32 : res_op->ops[0] = captures[0];
4793 : 32 : res_op->ops[1] = value;
4794 : 32 : res_op->resimplify (lseq, valueize);
4795 : 32 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 494, __FILE__, __LINE__, true);
4796 : 32 : return true;
4797 : : }
4798 : 0 : next_after_fail1026:;
4799 : : }
4800 : : }
4801 : : }
4802 : : }
4803 : : }
4804 : : return false;
4805 : : }
4806 : :
4807 : : bool
4808 : 5 : gimple_simplify_312 (gimple_match_op *res_op, gimple_seq *seq,
4809 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
4810 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
4811 : : const enum tree_code ARG_UNUSED (cmp),
4812 : : const enum tree_code ARG_UNUSED (rep),
4813 : : const combined_fn ARG_UNUSED (popcount))
4814 : : {
4815 : 5 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
4816 : 5 : gimple_seq *lseq = seq;
4817 : 5 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1048;
4818 : 5 : {
4819 : 5 : res_op->set_op (rep, type, 2);
4820 : 5 : res_op->ops[0] = captures[0];
4821 : 5 : res_op->ops[1] = build_zero_cst (TREE_TYPE (captures[0]));
4822 : 5 : res_op->resimplify (lseq, valueize);
4823 : 5 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 516, __FILE__, __LINE__, true);
4824 : : return true;
4825 : : }
4826 : 0 : next_after_fail1048:;
4827 : 0 : return false;
4828 : : }
4829 : :
4830 : : bool
4831 : 14 : gimple_simplify_313 (gimple_match_op *res_op, gimple_seq *seq,
4832 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
4833 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
4834 : : const enum tree_code ARG_UNUSED (cmp),
4835 : : const combined_fn ARG_UNUSED (ffs))
4836 : : {
4837 : 14 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
4838 : 14 : {
4839 : 14 : int prec = TYPE_PRECISION (TREE_TYPE (captures[1]));
4840 : 14 : if (integer_zerop (captures[2])
4841 : : )
4842 : : {
4843 : 14 : gimple_seq *lseq = seq;
4844 : 14 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1049;
4845 : 14 : {
4846 : 14 : res_op->set_op (cmp, type, 2);
4847 : 14 : res_op->ops[0] = captures[1];
4848 : 14 : res_op->ops[1] = build_zero_cst (TREE_TYPE (captures[1]));
4849 : 14 : res_op->resimplify (lseq, valueize);
4850 : 14 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 517, __FILE__, __LINE__, true);
4851 : 14 : return true;
4852 : : }
4853 : 0 : next_after_fail1049:;
4854 : : }
4855 : : else
4856 : : {
4857 : 0 : if (tree_int_cst_sgn (captures[2]) < 0 || wi::to_widest (captures[2]) > prec
4858 : : )
4859 : : {
4860 : 0 : gimple_seq *lseq = seq;
4861 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1050;
4862 : 0 : {
4863 : 0 : tree tem;
4864 : 0 : tem = constant_boolean_node (cmp == NE_EXPR ? true : false, type);
4865 : 0 : res_op->set_value (tem);
4866 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 518, __FILE__, __LINE__, true);
4867 : 0 : return true;
4868 : : }
4869 : 0 : next_after_fail1050:;
4870 : : }
4871 : : else
4872 : : {
4873 : 0 : if (single_use (captures[0])
4874 : : )
4875 : : {
4876 : 0 : gimple_seq *lseq = seq;
4877 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1051;
4878 : 0 : {
4879 : 0 : res_op->set_op (cmp, type, 2);
4880 : 0 : {
4881 : 0 : tree _o1[2], _r1;
4882 : 0 : _o1[0] = captures[1];
4883 : 0 : _o1[1] = wide_int_to_tree (TREE_TYPE (captures[1]),
4884 : 0 : wi::mask (tree_to_uhwi (captures[2]),
4885 : : false, prec));
4886 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
4887 : 0 : tem_op.resimplify (lseq, valueize);
4888 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
4889 : 0 : if (!_r1) goto next_after_fail1051;
4890 : 0 : res_op->ops[0] = _r1;
4891 : : }
4892 : 0 : res_op->ops[1] = wide_int_to_tree (TREE_TYPE (captures[1]),
4893 : 0 : wi::shifted_mask (tree_to_uhwi (captures[2]) - 1, 1,
4894 : : false, prec));
4895 : 0 : res_op->resimplify (lseq, valueize);
4896 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 519, __FILE__, __LINE__, true);
4897 : 0 : return true;
4898 : : }
4899 : 0 : next_after_fail1051:;
4900 : : }
4901 : : }
4902 : : }
4903 : : }
4904 : 0 : return false;
4905 : : }
4906 : :
4907 : : bool
4908 : 218 : gimple_simplify_323 (gimple_match_op *res_op, gimple_seq *seq,
4909 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
4910 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
4911 : : const combined_fn ARG_UNUSED (COPYSIGN_ALL))
4912 : : {
4913 : 218 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
4914 : 218 : gimple_seq *lseq = seq;
4915 : 218 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1063;
4916 : 218 : {
4917 : 218 : res_op->set_op (ABS_EXPR, type, 1);
4918 : 218 : res_op->ops[0] = captures[0];
4919 : 218 : res_op->resimplify (lseq, valueize);
4920 : 218 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 531, __FILE__, __LINE__, true);
4921 : : return true;
4922 : : }
4923 : 0 : next_after_fail1063:;
4924 : 0 : return false;
4925 : : }
4926 : :
4927 : : bool
4928 : 444 : gimple_simplify_327 (gimple_match_op *res_op, gimple_seq *seq,
4929 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
4930 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
4931 : : const enum tree_code ARG_UNUSED (div))
4932 : : {
4933 : 444 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
4934 : 444 : if (!TYPE_UNSIGNED (type)
4935 : : )
4936 : : {
4937 : 276 : gimple_seq *lseq = seq;
4938 : 276 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1069;
4939 : 276 : {
4940 : 276 : res_op->set_op (NEGATE_EXPR, type, 1);
4941 : 276 : res_op->ops[0] = captures[0];
4942 : 276 : res_op->resimplify (lseq, valueize);
4943 : 276 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 535, __FILE__, __LINE__, true);
4944 : 276 : return true;
4945 : : }
4946 : 0 : next_after_fail1069:;
4947 : : }
4948 : : return false;
4949 : : }
4950 : :
4951 : : bool
4952 : 16 : gimple_simplify_330 (gimple_match_op *res_op, gimple_seq *seq,
4953 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
4954 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
4955 : : const enum tree_code ARG_UNUSED (div))
4956 : : {
4957 : 16 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
4958 : 16 : if (INTEGRAL_TYPE_P (type)
4959 : 16 : && TYPE_OVERFLOW_UNDEFINED (type)
4960 : 16 : && !integer_zerop (captures[0])
4961 : 32 : && (!flag_non_call_exceptions || tree_expr_nonzero_p (captures[0]))
4962 : : )
4963 : : {
4964 : 16 : gimple_seq *lseq = seq;
4965 : 16 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1072;
4966 : 16 : {
4967 : 16 : res_op->set_op (COND_EXPR, type, 3);
4968 : 16 : {
4969 : 16 : tree _o1[2], _r1;
4970 : 16 : _o1[0] = captures[0];
4971 : 16 : _o1[1] = build_zero_cst (type);
4972 : 16 : gimple_match_op tem_op (res_op->cond.any_else (), LT_EXPR, boolean_type_node, _o1[0], _o1[1]);
4973 : 16 : tem_op.resimplify (lseq, valueize);
4974 : 16 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
4975 : 16 : if (!_r1) goto next_after_fail1072;
4976 : 8 : res_op->ops[0] = _r1;
4977 : : }
4978 : 8 : res_op->ops[1] = build_minus_one_cst (type);
4979 : 8 : res_op->ops[2] = build_one_cst (type);
4980 : 8 : res_op->resimplify (lseq, valueize);
4981 : 8 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 538, __FILE__, __LINE__, true);
4982 : 8 : return true;
4983 : : }
4984 : : next_after_fail1072:;
4985 : : }
4986 : : return false;
4987 : : }
4988 : :
4989 : : bool
4990 : 1480296 : gimple_simplify_335 (gimple_match_op *res_op, gimple_seq *seq,
4991 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
4992 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
4993 : : const enum tree_code ARG_UNUSED (div))
4994 : : {
4995 : 1480296 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
4996 : 1480296 : if (INTEGRAL_TYPE_P (type)
4997 : 1480296 : && (TYPE_UNSIGNED (type) || tree_expr_nonnegative_p (captures[0]))
4998 : : )
4999 : : {
5000 : 24807 : gimple_seq *lseq = seq;
5001 : 24807 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1078;
5002 : 24807 : {
5003 : 24807 : res_op->set_op (RSHIFT_EXPR, type, 2);
5004 : 24807 : res_op->ops[0] = captures[0];
5005 : 24807 : res_op->ops[1] = build_int_cst (integer_type_node,
5006 : 24807 : wi::exact_log2 (wi::to_wide (captures[1])));
5007 : 24807 : res_op->resimplify (lseq, valueize);
5008 : 24807 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 544, __FILE__, __LINE__, true);
5009 : 24807 : return true;
5010 : : }
5011 : 0 : next_after_fail1078:;
5012 : : }
5013 : : return false;
5014 : : }
5015 : :
5016 : : bool
5017 : 126 : gimple_simplify_340 (gimple_match_op *res_op, gimple_seq *seq,
5018 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
5019 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
5020 : : const enum tree_code ARG_UNUSED (div))
5021 : : {
5022 : 126 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
5023 : 126 : {
5024 : 126 : int_range_max vr0, vr1, vr2, vr3, vr4;
5025 : 126 : if (INTEGRAL_TYPE_P (type)
5026 : 252 : && get_range_query (cfun)->range_of_expr (vr1, captures[3])
5027 : 252 : && get_range_query (cfun)->range_of_expr (vr2, captures[4])
5028 : 126 : && range_op_handler (MULT_EXPR).overflow_free_p (vr1, vr2)
5029 : 62 : && get_range_query (cfun)->range_of_expr (vr0, captures[1])
5030 : 62 : && get_range_query (cfun)->range_of_expr (vr3, captures[2])
5031 : 151 : && range_op_handler (MINUS_EXPR).overflow_free_p (vr0, vr3)
5032 : 56 : && get_range_query (cfun)->range_of_expr (vr4, captures[0])
5033 : 28 : && !vr4.undefined_p ()
5034 : 154 : && (TYPE_UNSIGNED (type)
5035 : 27 : || (vr0.nonnegative_p () && vr4.nonnegative_p ())
5036 : 25 : || (vr0.nonpositive_p () && vr4.nonpositive_p ()))
5037 : : )
5038 : : {
5039 : 3 : gimple_seq *lseq = seq;
5040 : 3 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1086;
5041 : 3 : {
5042 : 3 : res_op->set_op (MINUS_EXPR, type, 2);
5043 : 3 : {
5044 : 3 : tree _o1[2], _r1;
5045 : 3 : _o1[0] = captures[1];
5046 : 3 : _o1[1] = captures[4];
5047 : 3 : gimple_match_op tem_op (res_op->cond.any_else (), div, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
5048 : 3 : tem_op.resimplify (lseq, valueize);
5049 : 3 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
5050 : 3 : if (!_r1) goto next_after_fail1086;
5051 : 3 : res_op->ops[0] = _r1;
5052 : : }
5053 : 3 : res_op->ops[1] = captures[3];
5054 : 3 : res_op->resimplify (lseq, valueize);
5055 : 3 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 552, __FILE__, __LINE__, true);
5056 : 3 : return true;
5057 : : }
5058 : 123 : next_after_fail1086:;
5059 : : }
5060 : 126 : }
5061 : 123 : return false;
5062 : : }
5063 : :
5064 : : bool
5065 : 0 : gimple_simplify_353 (gimple_match_op *res_op, gimple_seq *seq,
5066 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
5067 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
5068 : : const combined_fn ARG_UNUSED (SIN),
5069 : : const combined_fn ARG_UNUSED (TAN),
5070 : : const combined_fn ARG_UNUSED (COS))
5071 : : {
5072 : 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
5073 : 0 : if (flag_unsafe_math_optimizations && canonicalize_math_p ()
5074 : : )
5075 : : {
5076 : 0 : if (! HONOR_NANS (captures[1])
5077 : 0 : && ! HONOR_INFINITIES (captures[1])
5078 : : )
5079 : : {
5080 : 0 : gimple_seq *lseq = seq;
5081 : 0 : if (lseq
5082 : 0 : && (!single_use (captures[0])
5083 : 0 : || !single_use (captures[2])))
5084 : 0 : lseq = NULL;
5085 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1101;
5086 : 0 : {
5087 : 0 : res_op->set_op (COS, type, 1);
5088 : 0 : res_op->ops[0] = captures[1];
5089 : 0 : res_op->resimplify (lseq, valueize);
5090 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 567, __FILE__, __LINE__, true);
5091 : 0 : return true;
5092 : : }
5093 : 0 : next_after_fail1101:;
5094 : : }
5095 : : }
5096 : : return false;
5097 : : }
5098 : :
5099 : : bool
5100 : 0 : gimple_simplify_358 (gimple_match_op *res_op, gimple_seq *seq,
5101 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
5102 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
5103 : : const combined_fn ARG_UNUSED (POW))
5104 : : {
5105 : 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
5106 : 0 : if (flag_unsafe_math_optimizations && canonicalize_math_p ()
5107 : : )
5108 : : {
5109 : 0 : if (!TREE_OVERFLOW (captures[2])
5110 : : )
5111 : : {
5112 : 0 : gimple_seq *lseq = seq;
5113 : 0 : if (lseq
5114 : 0 : && (!single_use (captures[0])))
5115 : 0 : lseq = NULL;
5116 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1106;
5117 : 0 : {
5118 : 0 : res_op->set_op (POW, type, 2);
5119 : 0 : res_op->ops[0] = captures[1];
5120 : 0 : {
5121 : 0 : tree _o1[2], _r1;
5122 : 0 : _o1[0] = captures[2];
5123 : 0 : _o1[1] = build_one_cst (type);
5124 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
5125 : 0 : tem_op.resimplify (lseq, valueize);
5126 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
5127 : 0 : if (!_r1) goto next_after_fail1106;
5128 : 0 : res_op->ops[1] = _r1;
5129 : : }
5130 : 0 : res_op->resimplify (lseq, valueize);
5131 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 572, __FILE__, __LINE__, true);
5132 : 0 : return true;
5133 : : }
5134 : : next_after_fail1106:;
5135 : : }
5136 : : }
5137 : : return false;
5138 : : }
5139 : :
5140 : : bool
5141 : 68536 : gimple_simplify_364 (gimple_match_op *res_op, gimple_seq *seq,
5142 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
5143 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
5144 : : const enum tree_code ARG_UNUSED (op))
5145 : : {
5146 : 68536 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
5147 : 137072 : if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
5148 : 68536 : && TYPE_UNSIGNED (TREE_TYPE (captures[1]))
5149 : 137072 : && wi::only_sign_bit_p (wi::to_wide (captures[1]))
5150 : : )
5151 : : {
5152 : 2 : {
5153 : 2 : tree stype = signed_type_for (TREE_TYPE (captures[1]));
5154 : 2 : gimple_seq *lseq = seq;
5155 : 2 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1114;
5156 : 2 : {
5157 : 2 : res_op->set_op (op, type, 2);
5158 : 2 : {
5159 : 2 : tree _o1[1], _r1;
5160 : 2 : _o1[0] = captures[0];
5161 : 2 : if (stype != TREE_TYPE (_o1[0]) /* XXX */
5162 : 2 : && !useless_type_conversion_p (stype, TREE_TYPE (_o1[0])))
5163 : : {
5164 : 2 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, stype, _o1[0]);
5165 : 2 : tem_op.resimplify (lseq, valueize);
5166 : 2 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
5167 : 2 : if (!_r1) goto next_after_fail1114;
5168 : : }
5169 : : else
5170 : : _r1 = _o1[0];
5171 : 1 : res_op->ops[0] = _r1;
5172 : : }
5173 : 1 : {
5174 : 1 : tree _o1[1], _r1;
5175 : 1 : _o1[0] = captures[2];
5176 : 1 : if (stype != TREE_TYPE (_o1[0]) /* XXX */
5177 : 1 : && !useless_type_conversion_p (stype, TREE_TYPE (_o1[0])))
5178 : : {
5179 : 1 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, stype, _o1[0]);
5180 : 1 : tem_op.resimplify (lseq, valueize);
5181 : 1 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
5182 : 1 : if (!_r1) goto next_after_fail1114;
5183 : : }
5184 : : else
5185 : : _r1 = _o1[0];
5186 : 1 : res_op->ops[1] = _r1;
5187 : : }
5188 : 1 : res_op->resimplify (lseq, valueize);
5189 : 1 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 580, __FILE__, __LINE__, true);
5190 : 1 : return true;
5191 : : }
5192 : : next_after_fail1114:;
5193 : : }
5194 : : }
5195 : : return false;
5196 : : }
5197 : :
5198 : : bool
5199 : 29291 : gimple_simplify_374 (gimple_match_op *res_op, gimple_seq *seq,
5200 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
5201 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
5202 : : const enum tree_code ARG_UNUSED (cmp),
5203 : : const enum tree_code ARG_UNUSED (cmp2))
5204 : : {
5205 : 29291 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
5206 : 29291 : if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[2]))
5207 : 27686 : && TYPE_UNSIGNED (TREE_TYPE (captures[2])) && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
5208 : 56977 : && wi::gt_p (wi::to_wide (captures[1]), 0, TYPE_SIGN (TREE_TYPE (captures[1])))
5209 : : )
5210 : : {
5211 : 27686 : {
5212 : 27686 : tree utype = TREE_TYPE (captures[2]);
5213 : 27686 : wide_int denom = wi::to_wide (captures[1]);
5214 : 27686 : wide_int right = wi::to_wide (captures[2]);
5215 : 27686 : wide_int smax = wi::sdiv_trunc (wi::max_value (TREE_TYPE (captures[0])), denom);
5216 : 27686 : wide_int smin = wi::sdiv_trunc (wi::min_value (TREE_TYPE (captures[0])), denom);
5217 : 27686 : bool small = wi::leu_p (right, smax);
5218 : 27686 : bool large = wi::geu_p (right, smin);
5219 : 27686 : if (small || large
5220 : : )
5221 : : {
5222 : 21115 : gimple_seq *lseq = seq;
5223 : 21115 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1126;
5224 : 21115 : {
5225 : 21115 : res_op->set_op (cmp, type, 2);
5226 : 21115 : {
5227 : 21115 : tree _o1[1], _r1;
5228 : 21115 : _o1[0] = captures[0];
5229 : 21115 : if (utype != TREE_TYPE (_o1[0]) /* XXX */
5230 : 21115 : && !useless_type_conversion_p (utype, TREE_TYPE (_o1[0])))
5231 : : {
5232 : 21115 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o1[0]);
5233 : 21115 : tem_op.resimplify (lseq, valueize);
5234 : 21115 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
5235 : 21115 : if (!_r1) goto next_after_fail1126;
5236 : : }
5237 : : else
5238 : : _r1 = _o1[0];
5239 : 5468 : res_op->ops[0] = _r1;
5240 : : }
5241 : 5468 : {
5242 : 5468 : tree _o1[2], _r1;
5243 : 5468 : _o1[0] = captures[2];
5244 : 5468 : {
5245 : 5468 : tree _o2[1], _r2;
5246 : 5468 : _o2[0] = captures[1];
5247 : 5468 : if (TREE_TYPE (res_op->ops[0]) != TREE_TYPE (_o2[0]) /* XXX */
5248 : 5468 : && !useless_type_conversion_p (TREE_TYPE (res_op->ops[0]), TREE_TYPE (_o2[0])))
5249 : : {
5250 : 5468 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, TREE_TYPE (res_op->ops[0]), _o2[0]);
5251 : 5468 : tem_op.resimplify (lseq, valueize);
5252 : 5468 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
5253 : 5468 : if (!_r2) goto next_after_fail1126;
5254 : : }
5255 : : else
5256 : : _r2 = _o2[0];
5257 : 5468 : _o1[1] = _r2;
5258 : : }
5259 : 5468 : gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
5260 : 5468 : tem_op.resimplify (lseq, valueize);
5261 : 5468 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
5262 : 5468 : if (!_r1) goto next_after_fail1126;
5263 : 5468 : res_op->ops[1] = _r1;
5264 : : }
5265 : 5468 : res_op->resimplify (lseq, valueize);
5266 : 5468 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 592, __FILE__, __LINE__, true);
5267 : 5468 : return true;
5268 : : }
5269 : 15647 : next_after_fail1126:;
5270 : : }
5271 : : else
5272 : : {
5273 : 6571 : gimple_seq *lseq = seq;
5274 : 6571 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1127;
5275 : 6571 : {
5276 : 6571 : res_op->set_op (cmp2, type, 2);
5277 : 6571 : res_op->ops[0] = captures[0];
5278 : 6571 : res_op->ops[1] = build_zero_cst (TREE_TYPE (captures[0]));
5279 : 6571 : res_op->resimplify (lseq, valueize);
5280 : 6571 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 593, __FILE__, __LINE__, true);
5281 : 6571 : return true;
5282 : : }
5283 : 15647 : next_after_fail1127:;
5284 : : }
5285 : 27686 : }
5286 : : }
5287 : : return false;
5288 : : }
5289 : :
5290 : : bool
5291 : 0 : gimple_simplify_386 (gimple_match_op *res_op, gimple_seq *seq,
5292 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
5293 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
5294 : : const enum tree_code ARG_UNUSED (op),
5295 : : const enum tree_code ARG_UNUSED (cmp))
5296 : : {
5297 : 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
5298 : 0 : {
5299 : 0 : bool ok = true;
5300 : 0 : HOST_WIDE_INT val = 0;
5301 : 0 : if (!tree_fits_shwi_p (captures[3]))
5302 : : ok = false;
5303 : : else
5304 : : {
5305 : 0 : val = tree_to_shwi (captures[3]);
5306 : 0 : if (op == GT_EXPR || op == LE_EXPR)
5307 : : {
5308 : 0 : if (val == HOST_WIDE_INT_MAX)
5309 : : ok = false;
5310 : : else
5311 : 0 : val++;
5312 : : }
5313 : : }
5314 : 0 : HOST_WIDE_INT zero_val = tree_to_shwi (captures[2]);
5315 : 0 : tree type0 = TREE_TYPE (captures[1]);
5316 : 0 : int prec = TYPE_PRECISION (type0);
5317 : 0 : if (prec > MAX_FIXED_MODE_SIZE)
5318 : 0 : ok = false;
5319 : 0 : if (val <= 0
5320 : : )
5321 : : {
5322 : 0 : if (ok && zero_val >= val
5323 : : )
5324 : : {
5325 : 0 : gimple_seq *lseq = seq;
5326 : 0 : if (lseq
5327 : : && (!single_use (captures[0])))
5328 : : lseq = NULL;
5329 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1174;
5330 : 0 : {
5331 : 0 : tree tem;
5332 : 0 : tem = constant_boolean_node (cmp == EQ_EXPR ? true : false, type);
5333 : 0 : res_op->set_value (tem);
5334 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 623, __FILE__, __LINE__, true);
5335 : 0 : return true;
5336 : : }
5337 : 0 : next_after_fail1174:;
5338 : : }
5339 : : }
5340 : : else
5341 : : {
5342 : 0 : if (val >= prec
5343 : : )
5344 : : {
5345 : 0 : if (ok && zero_val < val
5346 : : )
5347 : : {
5348 : 0 : gimple_seq *lseq = seq;
5349 : 0 : if (lseq
5350 : : && (!single_use (captures[0])))
5351 : : lseq = NULL;
5352 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1175;
5353 : 0 : {
5354 : 0 : tree tem;
5355 : 0 : tem = constant_boolean_node (cmp == EQ_EXPR ? false : true, type);
5356 : 0 : res_op->set_value (tem);
5357 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 624, __FILE__, __LINE__, true);
5358 : 0 : return true;
5359 : : }
5360 : 0 : next_after_fail1175:;
5361 : : }
5362 : : }
5363 : : else
5364 : : {
5365 : 0 : if (ok && (zero_val < 0 || zero_val >= prec)
5366 : : )
5367 : : {
5368 : 0 : gimple_seq *lseq = seq;
5369 : 0 : if (lseq
5370 : 0 : && (!single_use (captures[0])))
5371 : 0 : lseq = NULL;
5372 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1176;
5373 : 0 : {
5374 : 0 : res_op->set_op (cmp, type, 2);
5375 : 0 : {
5376 : 0 : tree _o1[2], _r1;
5377 : 0 : _o1[0] = captures[1];
5378 : 0 : _o1[1] = wide_int_to_tree (type0,
5379 : 0 : wi::mask (val, false, prec));
5380 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
5381 : 0 : tem_op.resimplify (lseq, valueize);
5382 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
5383 : 0 : if (!_r1) goto next_after_fail1176;
5384 : 0 : res_op->ops[0] = _r1;
5385 : : }
5386 : 0 : res_op->ops[1] = build_zero_cst (type0);
5387 : 0 : res_op->resimplify (lseq, valueize);
5388 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 625, __FILE__, __LINE__, true);
5389 : 0 : return true;
5390 : : }
5391 : : next_after_fail1176:;
5392 : : }
5393 : : }
5394 : : }
5395 : : }
5396 : : return false;
5397 : : }
5398 : :
5399 : : bool
5400 : 36 : gimple_simplify_395 (gimple_match_op *res_op, gimple_seq *seq,
5401 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
5402 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
5403 : : const combined_fn ARG_UNUSED (logs),
5404 : : const combined_fn ARG_UNUSED (exps),
5405 : : const enum tree_code ARG_UNUSED (cmp))
5406 : : {
5407 : 36 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
5408 : 36 : if (flag_unsafe_math_optimizations
5409 : : )
5410 : : {
5411 : 36 : if (! HONOR_SIGN_DEPENDENT_ROUNDING (type)
5412 : 36 : && ! HONOR_NANS (type) && ! HONOR_INFINITIES (type)
5413 : 36 : && ! flag_trapping_math
5414 : 72 : && ! flag_errno_math
5415 : : )
5416 : : {
5417 : 36 : gimple_seq *lseq = seq;
5418 : 36 : if (lseq
5419 : 18 : && (!single_use (captures[0])))
5420 : 18 : lseq = NULL;
5421 : 36 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1185;
5422 : 36 : {
5423 : 36 : res_op->set_op (cmp, type, 2);
5424 : 36 : res_op->ops[0] = captures[1];
5425 : 36 : {
5426 : 36 : tree _o1[1], _r1;
5427 : 36 : _o1[0] = captures[2];
5428 : 36 : gimple_match_op tem_op (res_op->cond.any_else (), logs, TREE_TYPE (_o1[0]), _o1[0]);
5429 : 36 : tem_op.resimplify (NULL, valueize);
5430 : 36 : _r1 = maybe_push_res_to_seq (&tem_op, NULL);
5431 : 36 : if (!_r1) goto next_after_fail1185;
5432 : 36 : res_op->ops[1] = _r1;
5433 : : }
5434 : 36 : res_op->resimplify (lseq, valueize);
5435 : 36 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 630, __FILE__, __LINE__, true);
5436 : 36 : return true;
5437 : : }
5438 : : next_after_fail1185:;
5439 : : }
5440 : : }
5441 : : return false;
5442 : : }
5443 : :
5444 : : bool
5445 : 4744786 : gimple_simplify_399 (gimple_match_op *res_op, gimple_seq *seq,
5446 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
5447 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
5448 : : const enum tree_code ARG_UNUSED (shift))
5449 : : {
5450 : 4744786 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
5451 : 4744786 : if ((
5452 : : 1
5453 : : || !sanitize_flags_p (SANITIZE_SHIFT_EXPONENT))
5454 : 4744786 : && (TYPE_UNSIGNED (type)
5455 : 1258528 : || shift == LSHIFT_EXPR
5456 : 743336 : || tree_expr_nonnegative_p (captures[0]))
5457 : 8777464 : && wi::ges_p (wi::to_wide (uniform_integer_cst_p (captures[1])),
5458 : 8777283 : element_precision (type))
5459 : : )
5460 : : {
5461 : 181 : gimple_seq *lseq = seq;
5462 : 181 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1193;
5463 : 181 : {
5464 : 181 : tree tem;
5465 : 181 : tem = build_zero_cst (type);
5466 : 181 : res_op->set_value (tem);
5467 : 181 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 638, __FILE__, __LINE__, true);
5468 : 181 : return true;
5469 : : }
5470 : 0 : next_after_fail1193:;
5471 : : }
5472 : : return false;
5473 : : }
5474 : :
5475 : : bool
5476 : 75352 : gimple_simplify_401 (gimple_match_op *res_op, gimple_seq *seq,
5477 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
5478 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures))
5479 : : {
5480 : 75352 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
5481 : 75352 : if (wi::ltu_p (wi::to_wide (captures[1]), element_precision (type))
5482 : : )
5483 : : {
5484 : 75352 : gimple_seq *lseq = seq;
5485 : 75352 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1195;
5486 : 75352 : {
5487 : 75352 : res_op->set_op (BIT_AND_EXPR, type, 2);
5488 : 75352 : {
5489 : 75352 : tree _o1[1], _r1;
5490 : 75352 : _o1[0] = captures[0];
5491 : 75352 : if (type != TREE_TYPE (_o1[0]) /* XXX */
5492 : 75352 : && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
5493 : : {
5494 : 324 : gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, type, _o1[0]);
5495 : 324 : tem_op.resimplify (lseq, valueize);
5496 : 324 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
5497 : 324 : if (!_r1) goto next_after_fail1195;
5498 : : }
5499 : : else
5500 : : _r1 = _o1[0];
5501 : 75302 : res_op->ops[0] = _r1;
5502 : : }
5503 : 75302 : {
5504 : 75302 : tree _o1[2], _r1;
5505 : 75302 : _o1[0] = build_minus_one_cst (type);
5506 : 75302 : _o1[1] = captures[1];
5507 : 75302 : gimple_match_op tem_op (res_op->cond.any_else (), LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
5508 : 75302 : tem_op.resimplify (lseq, valueize);
5509 : 75302 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
5510 : 75302 : if (!_r1) goto next_after_fail1195;
5511 : 75302 : res_op->ops[1] = _r1;
5512 : : }
5513 : 75302 : res_op->resimplify (lseq, valueize);
5514 : 75302 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 640, __FILE__, __LINE__, true);
5515 : 75302 : return true;
5516 : : }
5517 : : next_after_fail1195:;
5518 : : }
5519 : : return false;
5520 : : }
5521 : :
5522 : : bool
5523 : 12655 : gimple_simplify_408 (gimple_match_op *res_op, gimple_seq *seq,
5524 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
5525 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
5526 : : const enum tree_code ARG_UNUSED (bit_op),
5527 : : const enum tree_code ARG_UNUSED (shift))
5528 : : {
5529 : 12655 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
5530 : 12655 : if (tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
5531 : : )
5532 : : {
5533 : 1442 : {
5534 : 1442 : tree mask = int_const_binop (shift, fold_convert (type, captures[3]), captures[4]);
5535 : 1442 : if (mask
5536 : : )
5537 : : {
5538 : 1442 : gimple_seq *lseq = seq;
5539 : 1442 : if (lseq
5540 : 513 : && (!single_use (captures[0])
5541 : 221 : || !single_use (captures[1])))
5542 : 1284 : lseq = NULL;
5543 : 1442 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1205;
5544 : 1442 : {
5545 : 1442 : res_op->set_op (bit_op, type, 2);
5546 : 1442 : {
5547 : 1442 : tree _o1[2], _r1;
5548 : 1442 : {
5549 : 1442 : tree _o2[1], _r2;
5550 : 1442 : _o2[0] = captures[2];
5551 : 1442 : if (type != TREE_TYPE (_o2[0]) /* XXX */
5552 : 1442 : && !useless_type_conversion_p (type, TREE_TYPE (_o2[0])))
5553 : : {
5554 : 1442 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o2[0]);
5555 : 1442 : tem_op.resimplify (lseq, valueize);
5556 : 1442 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
5557 : 1442 : if (!_r2) goto next_after_fail1205;
5558 : : }
5559 : : else
5560 : : _r2 = _o2[0];
5561 : 278 : _o1[0] = _r2;
5562 : : }
5563 : 278 : _o1[1] = captures[4];
5564 : 278 : gimple_match_op tem_op (res_op->cond.any_else (), shift, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
5565 : 278 : tem_op.resimplify (lseq, valueize);
5566 : 278 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
5567 : 278 : if (!_r1) goto next_after_fail1205;
5568 : 158 : res_op->ops[0] = _r1;
5569 : : }
5570 : 158 : res_op->ops[1] = mask;
5571 : 158 : res_op->resimplify (lseq, valueize);
5572 : 158 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 649, __FILE__, __LINE__, true);
5573 : 158 : return true;
5574 : : }
5575 : : next_after_fail1205:;
5576 : : }
5577 : : }
5578 : : }
5579 : : return false;
5580 : : }
5581 : :
5582 : : bool
5583 : 19394 : gimple_simplify_414 (gimple_match_op *res_op, gimple_seq *seq,
5584 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
5585 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
5586 : : const enum tree_code ARG_UNUSED (bitop))
5587 : : {
5588 : 19394 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
5589 : 19394 : if (1
5590 : 19394 : && TREE_CODE (captures[3]) != INTEGER_CST
5591 : 10405 : && tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
5592 : 8170 : && types_match (type, captures[2])
5593 : 6067 : && !POINTER_TYPE_P (TREE_TYPE (captures[2]))
5594 : 24274 : && TREE_CODE (TREE_TYPE (captures[2])) != OFFSET_TYPE
5595 : : )
5596 : : {
5597 : 4848 : gimple_seq *lseq = seq;
5598 : 4848 : if (lseq
5599 : 2474 : && (!single_use (captures[0])
5600 : 2332 : || !single_use (captures[1])))
5601 : 2810 : lseq = NULL;
5602 : 4848 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1216;
5603 : 4848 : {
5604 : 4848 : res_op->set_op (bitop, type, 2);
5605 : 4848 : res_op->ops[0] = captures[2];
5606 : 4848 : {
5607 : 4848 : tree _o1[1], _r1;
5608 : 4848 : _o1[0] = captures[3];
5609 : 4848 : if (type != TREE_TYPE (_o1[0]) /* XXX */
5610 : 4848 : && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
5611 : : {
5612 : 4848 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
5613 : 4848 : tem_op.resimplify (lseq, valueize);
5614 : 4848 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
5615 : 4848 : if (!_r1) goto next_after_fail1216;
5616 : : }
5617 : : else
5618 : : _r1 = _o1[0];
5619 : 2207 : res_op->ops[1] = _r1;
5620 : : }
5621 : 2207 : res_op->resimplify (lseq, valueize);
5622 : 2207 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 659, __FILE__, __LINE__, true);
5623 : 2207 : return true;
5624 : : }
5625 : : next_after_fail1216:;
5626 : : }
5627 : : return false;
5628 : : }
5629 : :
5630 : : bool
5631 : 100 : gimple_simplify_419 (gimple_match_op *res_op, gimple_seq *seq,
5632 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
5633 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
5634 : : const combined_fn ARG_UNUSED (froms),
5635 : : const combined_fn ARG_UNUSED (tos))
5636 : : {
5637 : 100 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
5638 : 100 : if (flag_unsafe_math_optimizations
5639 : 24 : && optimize
5640 : 24 : && FLOAT_TYPE_P (type)
5641 : 24 : && FLOAT_TYPE_P (TREE_TYPE (captures[0]))
5642 : 24 : && types_match (type, TREE_TYPE (captures[1]))
5643 : 24 : && types_match (type, TREE_TYPE (captures[2]))
5644 : 24 : && types_match (type, TREE_TYPE (captures[3]))
5645 : 24 : && TYPE_PRECISION (type) < TYPE_PRECISION (TREE_TYPE (captures[0]))
5646 : 124 : && direct_internal_fn_supported_p (as_internal_fn (tos),
5647 : : type, OPTIMIZE_FOR_BOTH)
5648 : : )
5649 : : {
5650 : 24 : gimple_seq *lseq = seq;
5651 : 24 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1222;
5652 : 24 : {
5653 : 24 : res_op->set_op (tos, type, 3);
5654 : 24 : res_op->ops[0] = captures[1];
5655 : 24 : res_op->ops[1] = captures[2];
5656 : 24 : res_op->ops[2] = captures[3];
5657 : 24 : res_op->resimplify (lseq, valueize);
5658 : 24 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 665, __FILE__, __LINE__, true);
5659 : 24 : return true;
5660 : : }
5661 : 0 : next_after_fail1222:;
5662 : : }
5663 : : return false;
5664 : : }
5665 : :
5666 : : bool
5667 : 7913215 : gimple_simplify_425 (gimple_match_op *res_op, gimple_seq *seq,
5668 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
5669 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures))
5670 : : {
5671 : 7913215 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
5672 : 7913215 : if (INTEGRAL_TYPE_P (type)
5673 : 5983927 : && TYPE_PRECISION (type) == 1
5674 : 7913218 : && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[0]))
5675 : : )
5676 : : {
5677 : 3 : gimple_seq *lseq = seq;
5678 : 3 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1240;
5679 : 3 : {
5680 : 3 : res_op->set_op (NOP_EXPR, type, 1);
5681 : 3 : res_op->ops[0] = captures[0];
5682 : 3 : res_op->resimplify (lseq, valueize);
5683 : 3 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 671, __FILE__, __LINE__, true);
5684 : 3 : return true;
5685 : : }
5686 : 0 : next_after_fail1240:;
5687 : : }
5688 : : return false;
5689 : : }
5690 : :
5691 : : bool
5692 : 20 : gimple_simplify_426 (gimple_match_op *res_op, gimple_seq *seq,
5693 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
5694 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
5695 : : const combined_fn ARG_UNUSED (copysigns),
5696 : : const combined_fn ARG_UNUSED (coss))
5697 : : {
5698 : 20 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
5699 : 20 : gimple_seq *lseq = seq;
5700 : 20 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1241;
5701 : 20 : {
5702 : 20 : res_op->set_op (coss, type, 1);
5703 : 20 : res_op->ops[0] = captures[0];
5704 : 20 : res_op->resimplify (lseq, valueize);
5705 : 20 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 672, __FILE__, __LINE__, true);
5706 : : return true;
5707 : : }
5708 : 0 : next_after_fail1241:;
5709 : 0 : return false;
5710 : : }
5711 : :
5712 : : bool
5713 : 36 : gimple_simplify_427 (gimple_match_op *res_op, gimple_seq *seq,
5714 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
5715 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
5716 : : const combined_fn ARG_UNUSED (coss),
5717 : : const combined_fn ARG_UNUSED (atans),
5718 : : const combined_fn ARG_UNUSED (sqrts),
5719 : : const combined_fn ARG_UNUSED (copysigns))
5720 : : {
5721 : 36 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
5722 : 36 : {
5723 : 36 : REAL_VALUE_TYPE r_cst;
5724 : 36 : build_sinatan_real (&r_cst, type);
5725 : 36 : tree t_cst = build_real (type, r_cst);
5726 : 36 : tree t_one = build_one_cst (type);
5727 : 36 : tree t_zero = build_zero_cst (type);
5728 : 36 : if (SCALAR_FLOAT_TYPE_P (type)
5729 : : )
5730 : : {
5731 : 36 : gimple_seq *lseq = seq;
5732 : 36 : if (lseq
5733 : 18 : && (!single_use (captures[0])))
5734 : 30 : lseq = NULL;
5735 : 36 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1242;
5736 : 36 : {
5737 : 36 : res_op->set_op (COND_EXPR, type, 3);
5738 : 36 : {
5739 : 36 : tree _o1[2], _r1;
5740 : 36 : {
5741 : 36 : tree _o2[1], _r2;
5742 : 36 : _o2[0] = captures[1];
5743 : 36 : gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
5744 : 36 : tem_op.resimplify (lseq, valueize);
5745 : 36 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
5746 : 36 : if (!_r2) goto next_after_fail1242;
5747 : 6 : _o1[0] = _r2;
5748 : : }
5749 : 6 : _o1[1] = t_cst;
5750 : 6 : gimple_match_op tem_op (res_op->cond.any_else (), LT_EXPR, boolean_type_node, _o1[0], _o1[1]);
5751 : 6 : tem_op.resimplify (lseq, valueize);
5752 : 6 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
5753 : 6 : if (!_r1) goto next_after_fail1242;
5754 : 6 : res_op->ops[0] = _r1;
5755 : : }
5756 : 6 : {
5757 : 6 : tree _o1[2], _r1;
5758 : 6 : _o1[0] = t_one;
5759 : 6 : {
5760 : 6 : tree _o2[1], _r2;
5761 : 6 : {
5762 : 6 : tree _o3[2], _r3;
5763 : 6 : {
5764 : 6 : tree _o4[2], _r4;
5765 : 6 : _o4[0] = captures[1];
5766 : 6 : _o4[1] = captures[1];
5767 : 6 : gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o4[0]), _o4[0], _o4[1]);
5768 : 6 : tem_op.resimplify (lseq, valueize);
5769 : 6 : _r4 = maybe_push_res_to_seq (&tem_op, lseq);
5770 : 6 : if (!_r4) goto next_after_fail1242;
5771 : 6 : _o3[0] = _r4;
5772 : : }
5773 : 6 : _o3[1] = t_one;
5774 : 6 : gimple_match_op tem_op (res_op->cond.any_else (), PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
5775 : 6 : tem_op.resimplify (lseq, valueize);
5776 : 6 : _r3 = maybe_push_res_to_seq (&tem_op, lseq);
5777 : 6 : if (!_r3) goto next_after_fail1242;
5778 : 6 : _o2[0] = _r3;
5779 : : }
5780 : 6 : gimple_match_op tem_op (res_op->cond.any_else (), sqrts, TREE_TYPE (_o2[0]), _o2[0]);
5781 : 6 : tem_op.resimplify (lseq, valueize);
5782 : 6 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
5783 : 6 : if (!_r2) goto next_after_fail1242;
5784 : 6 : _o1[1] = _r2;
5785 : : }
5786 : 6 : gimple_match_op tem_op (res_op->cond.any_else (), RDIV_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
5787 : 6 : tem_op.resimplify (lseq, valueize);
5788 : 6 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
5789 : 6 : if (!_r1) goto next_after_fail1242;
5790 : 6 : res_op->ops[1] = _r1;
5791 : : }
5792 : 6 : {
5793 : 6 : tree _o1[2], _r1;
5794 : 6 : _o1[0] = t_zero;
5795 : 6 : _o1[1] = captures[1];
5796 : 6 : gimple_match_op tem_op (res_op->cond.any_else (), copysigns, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
5797 : 6 : tem_op.resimplify (lseq, valueize);
5798 : 6 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
5799 : 6 : if (!_r1) goto next_after_fail1242;
5800 : 6 : res_op->ops[2] = _r1;
5801 : : }
5802 : 6 : res_op->resimplify (lseq, valueize);
5803 : 6 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 673, __FILE__, __LINE__, true);
5804 : 6 : return true;
5805 : : }
5806 : 30 : next_after_fail1242:;
5807 : : }
5808 : : }
5809 : 30 : return false;
5810 : : }
5811 : :
5812 : : bool
5813 : 455 : gimple_simplify_433 (gimple_match_op *res_op, gimple_seq *seq,
5814 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
5815 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
5816 : : const combined_fn ARG_UNUSED (POW))
5817 : : {
5818 : 455 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
5819 : 455 : gimple_seq *lseq = seq;
5820 : 455 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1249;
5821 : 455 : {
5822 : 455 : tree tem;
5823 : 455 : tem = captures[0];
5824 : 455 : res_op->set_value (tem);
5825 : 455 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 680, __FILE__, __LINE__, true);
5826 : : return true;
5827 : : }
5828 : 0 : next_after_fail1249:;
5829 : 0 : return false;
5830 : : }
5831 : :
5832 : : bool
5833 : 14 : gimple_simplify_435 (gimple_match_op *res_op, gimple_seq *seq,
5834 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
5835 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
5836 : : const combined_fn ARG_UNUSED (copysigns),
5837 : : const combined_fn ARG_UNUSED (hypots))
5838 : : {
5839 : 14 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
5840 : 14 : gimple_seq *lseq = seq;
5841 : 14 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1251;
5842 : 14 : {
5843 : 14 : res_op->set_op (hypots, type, 2);
5844 : 14 : res_op->ops[0] = captures[0];
5845 : 14 : res_op->ops[1] = captures[2];
5846 : 14 : res_op->resimplify (lseq, valueize);
5847 : 14 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 682, __FILE__, __LINE__, true);
5848 : : return true;
5849 : : }
5850 : 0 : next_after_fail1251:;
5851 : 0 : return false;
5852 : : }
5853 : :
5854 : : bool
5855 : 9 : gimple_simplify_437 (gimple_match_op *res_op, gimple_seq *seq,
5856 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
5857 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
5858 : : const combined_fn ARG_UNUSED (HYPOT))
5859 : : {
5860 : 9 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
5861 : 9 : gimple_seq *lseq = seq;
5862 : 9 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1253;
5863 : 9 : {
5864 : 9 : res_op->set_op (ABS_EXPR, type, 1);
5865 : 9 : res_op->ops[0] = captures[0];
5866 : 9 : res_op->resimplify (lseq, valueize);
5867 : 9 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 684, __FILE__, __LINE__, true);
5868 : : return true;
5869 : : }
5870 : 0 : next_after_fail1253:;
5871 : 0 : return false;
5872 : : }
5873 : :
5874 : : bool
5875 : 512044 : gimple_simplify_439 (gimple_match_op *res_op, gimple_seq *seq,
5876 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
5877 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures))
5878 : : {
5879 : 512044 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
5880 : 512044 : if (!HONOR_SIGN_DEPENDENT_ROUNDING (type)
5881 : 512044 : && !HONOR_SIGNED_ZEROS (type)
5882 : : )
5883 : : {
5884 : 511418 : gimple_seq *lseq = seq;
5885 : 511418 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1255;
5886 : 511418 : {
5887 : 511418 : res_op->set_op (MINUS_EXPR, type, 2);
5888 : 511418 : {
5889 : 511418 : tree _o1[1], _r1;
5890 : 511418 : _o1[0] = captures[1];
5891 : 511418 : gimple_match_op tem_op (res_op->cond.any_else (), NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
5892 : 511418 : tem_op.resimplify (lseq, valueize);
5893 : 511418 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
5894 : 511418 : if (!_r1) goto next_after_fail1255;
5895 : 505682 : res_op->ops[0] = _r1;
5896 : : }
5897 : 505682 : res_op->ops[1] = captures[0];
5898 : 505682 : res_op->resimplify (lseq, valueize);
5899 : 505682 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 686, __FILE__, __LINE__, true);
5900 : 505682 : return true;
5901 : : }
5902 : : next_after_fail1255:;
5903 : : }
5904 : : return false;
5905 : : }
5906 : :
5907 : : bool
5908 : 576 : gimple_simplify_444 (gimple_match_op *res_op, gimple_seq *seq,
5909 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
5910 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
5911 : : const combined_fn ARG_UNUSED (fmas))
5912 : : {
5913 : 576 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
5914 : 576 : if (canonicalize_math_after_vectorization_p ()
5915 : : )
5916 : : {
5917 : 400 : if (!HONOR_SIGN_DEPENDENT_ROUNDING (type) && single_use (captures[0])
5918 : : )
5919 : : {
5920 : 377 : gimple_seq *lseq = seq;
5921 : 377 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1261;
5922 : 377 : {
5923 : 377 : res_op->set_op (CFN_FNMS, type, 3);
5924 : 377 : res_op->ops[0] = captures[1];
5925 : 377 : res_op->ops[1] = captures[2];
5926 : 377 : res_op->ops[2] = captures[3];
5927 : 377 : res_op->resimplify (lseq, valueize);
5928 : 377 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 692, __FILE__, __LINE__, true);
5929 : 377 : return true;
5930 : : }
5931 : 0 : next_after_fail1261:;
5932 : : }
5933 : : }
5934 : : return false;
5935 : : }
5936 : :
5937 : : bool
5938 : 0 : gimple_simplify_449 (gimple_match_op *res_op, gimple_seq *seq,
5939 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
5940 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures))
5941 : : {
5942 : 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
5943 : 0 : gimple_seq *lseq = seq;
5944 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1266;
5945 : 0 : {
5946 : 0 : res_op->set_op (BIT_AND_EXPR, type, 2);
5947 : 0 : res_op->ops[0] = captures[0];
5948 : 0 : res_op->ops[1] = captures[1];
5949 : 0 : res_op->resimplify (lseq, valueize);
5950 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 697, __FILE__, __LINE__, true);
5951 : : return true;
5952 : : }
5953 : 0 : next_after_fail1266:;
5954 : 0 : return false;
5955 : : }
5956 : :
5957 : : bool
5958 : 357272 : gimple_simplify_455 (gimple_match_op *res_op, gimple_seq *seq,
5959 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
5960 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
5961 : : const enum tree_code ARG_UNUSED (op))
5962 : : {
5963 : 357272 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
5964 : 357272 : {
5965 : 357272 : tree pmop[2];
5966 : 357272 : tree utype = fold_bit_and_mask (TREE_TYPE (captures[1]), captures[3], op, captures[1], ERROR_MARK,
5967 : : NULL_TREE, NULL_TREE, captures[2], ERROR_MARK,
5968 : : NULL_TREE, NULL_TREE, pmop);
5969 : 357272 : if (utype
5970 : : )
5971 : : {
5972 : 1871 : gimple_seq *lseq = seq;
5973 : 1871 : if (lseq
5974 : 423 : && (!single_use (captures[0])))
5975 : 1785 : lseq = NULL;
5976 : 1871 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1272;
5977 : 1871 : {
5978 : 1871 : res_op->set_op (NOP_EXPR, type, 1);
5979 : 1871 : {
5980 : 1871 : tree _o1[2], _r1;
5981 : 1871 : {
5982 : 1871 : tree _o2[2], _r2;
5983 : 1871 : {
5984 : 1871 : tree _o3[1], _r3;
5985 : 1871 : _o3[0] = pmop[0];
5986 : 1871 : if (utype != TREE_TYPE (_o3[0]) /* XXX */
5987 : 1871 : && !useless_type_conversion_p (utype, TREE_TYPE (_o3[0])))
5988 : : {
5989 : 892 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o3[0]);
5990 : 892 : tem_op.resimplify (lseq, valueize);
5991 : 892 : _r3 = maybe_push_res_to_seq (&tem_op, lseq);
5992 : 892 : if (!_r3) goto next_after_fail1272;
5993 : : }
5994 : : else
5995 : : _r3 = _o3[0];
5996 : 1029 : _o2[0] = _r3;
5997 : : }
5998 : 1029 : {
5999 : 1029 : tree _o3[1], _r3;
6000 : 1029 : _o3[0] = pmop[1];
6001 : 1029 : if (utype != TREE_TYPE (_o3[0]) /* XXX */
6002 : 1029 : && !useless_type_conversion_p (utype, TREE_TYPE (_o3[0])))
6003 : : {
6004 : 50 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o3[0]);
6005 : 50 : tem_op.resimplify (lseq, valueize);
6006 : 50 : _r3 = maybe_push_res_to_seq (&tem_op, lseq);
6007 : 50 : if (!_r3) goto next_after_fail1272;
6008 : : }
6009 : : else
6010 : : _r3 = _o3[0];
6011 : 1028 : _o2[1] = _r3;
6012 : : }
6013 : 1028 : gimple_match_op tem_op (res_op->cond.any_else (), op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
6014 : 1028 : tem_op.resimplify (lseq, valueize);
6015 : 1028 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
6016 : 1028 : if (!_r2) goto next_after_fail1272;
6017 : 904 : _o1[0] = _r2;
6018 : : }
6019 : 904 : {
6020 : 904 : tree _o2[1], _r2;
6021 : 904 : _o2[0] = captures[3];
6022 : 904 : if (utype != TREE_TYPE (_o2[0]) /* XXX */
6023 : 904 : && !useless_type_conversion_p (utype, TREE_TYPE (_o2[0])))
6024 : : {
6025 : 49 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o2[0]);
6026 : 49 : tem_op.resimplify (lseq, valueize);
6027 : 49 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
6028 : 49 : if (!_r2) goto next_after_fail1272;
6029 : : }
6030 : : else
6031 : : _r2 = _o2[0];
6032 : 904 : _o1[1] = _r2;
6033 : : }
6034 : 904 : (*res_op).set_op (BIT_AND_EXPR, TREE_TYPE (_o1[0]), 2);
6035 : 904 : (*res_op).ops[0] = _o1[0];
6036 : 904 : (*res_op).ops[1] = _o1[1];
6037 : 904 : (*res_op).resimplify (lseq, valueize);
6038 : : }
6039 : 904 : if (type != res_op->type
6040 : 904 : && !useless_type_conversion_p (type, res_op->type))
6041 : : {
6042 : 49 : if (!(res_op->ops[0] = maybe_push_res_to_seq (res_op, lseq))) goto next_after_fail1272;
6043 : 31 : res_op->set_op (NOP_EXPR, type, 1);
6044 : 31 : res_op->resimplify (lseq, valueize);
6045 : : }
6046 : 886 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 702, __FILE__, __LINE__, true);
6047 : 886 : return true;
6048 : : }
6049 : 356386 : next_after_fail1272:;
6050 : : }
6051 : : }
6052 : 356386 : return false;
6053 : : }
6054 : :
6055 : : bool
6056 : 58402 : gimple_simplify_468 (gimple_match_op *res_op, gimple_seq *seq,
6057 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
6058 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
6059 : : const enum tree_code ARG_UNUSED (shift))
6060 : : {
6061 : 58402 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
6062 : 58402 : if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
6063 : 1070 : && TYPE_PRECISION (type) <= HOST_BITS_PER_WIDE_INT
6064 : 1070 : && tree_fits_uhwi_p (captures[4])
6065 : 1070 : && tree_to_uhwi (captures[4]) > 0
6066 : 59472 : && tree_to_uhwi (captures[4]) < TYPE_PRECISION (type)
6067 : : )
6068 : : {
6069 : 1070 : {
6070 : 1070 : unsigned int shiftc = tree_to_uhwi (captures[4]);
6071 : 1070 : unsigned HOST_WIDE_INT mask = TREE_INT_CST_LOW (captures[5]);
6072 : 1070 : unsigned HOST_WIDE_INT newmask, zerobits = 0;
6073 : 1070 : tree shift_type = TREE_TYPE (captures[2]);
6074 : 1070 : unsigned int prec;
6075 : 1070 : if (shift == LSHIFT_EXPR)
6076 : 2 : zerobits = ((HOST_WIDE_INT_1U << shiftc) - 1);
6077 : 1068 : else if (shift == RSHIFT_EXPR
6078 : 1068 : && type_has_mode_precision_p (shift_type))
6079 : : {
6080 : 1068 : prec = TYPE_PRECISION (TREE_TYPE (captures[2]));
6081 : 1068 : tree arg00 = captures[3];
6082 : 1068 : if (captures[2] != captures[3]
6083 : 1068 : && TYPE_UNSIGNED (TREE_TYPE (captures[3])))
6084 : : {
6085 : 0 : tree inner_type = TREE_TYPE (captures[3]);
6086 : 0 : if (type_has_mode_precision_p (inner_type)
6087 : 0 : && TYPE_PRECISION (inner_type) < prec)
6088 : : {
6089 : 0 : prec = TYPE_PRECISION (inner_type);
6090 : 0 : if (shiftc < prec)
6091 : 0 : shift_type = inner_type;
6092 : : }
6093 : : }
6094 : 1068 : zerobits = HOST_WIDE_INT_M1U;
6095 : 1068 : if (shiftc < prec)
6096 : : {
6097 : 1068 : zerobits >>= HOST_BITS_PER_WIDE_INT - shiftc;
6098 : 1068 : zerobits <<= prec - shiftc;
6099 : : }
6100 : 1068 : if (!TYPE_UNSIGNED (TREE_TYPE (captures[2]))
6101 : 1068 : && prec == TYPE_PRECISION (TREE_TYPE (captures[2])))
6102 : : {
6103 : 122 : if ((mask & zerobits) == 0)
6104 : 8 : shift_type = unsigned_type_for (TREE_TYPE (captures[2]));
6105 : : else
6106 : : zerobits = 0;
6107 : : }
6108 : : }
6109 : 956 : if ((mask & zerobits) == mask
6110 : : )
6111 : : {
6112 : 0 : gimple_seq *lseq = seq;
6113 : 0 : if (lseq
6114 : : && (!single_use (captures[0])
6115 : : || !single_use (captures[1])))
6116 : 0 : lseq = NULL;
6117 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1287;
6118 : 0 : {
6119 : 0 : tree tem;
6120 : 0 : tem = build_int_cst (type, 0);
6121 : 0 : res_op->set_value (tem);
6122 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 713, __FILE__, __LINE__, true);
6123 : 0 : return true;
6124 : : }
6125 : 0 : next_after_fail1287:;
6126 : : }
6127 : : else
6128 : : {
6129 : 1070 : {
6130 : 1070 : newmask = mask | zerobits;
6131 : 1070 : if (newmask != mask && (newmask & (newmask + 1)) == 0
6132 : : )
6133 : : {
6134 : : {
6135 : 6 : for (prec = BITS_PER_UNIT;
6136 : 8 : prec < HOST_BITS_PER_WIDE_INT; prec <<= 1)
6137 : 6 : if (newmask == (HOST_WIDE_INT_1U << prec) - 1)
6138 : : break;
6139 : 2 : if (prec < HOST_BITS_PER_WIDE_INT
6140 : 2 : || newmask == HOST_WIDE_INT_M1U
6141 : : )
6142 : : {
6143 : 2 : {
6144 : 2 : tree newmaskt = build_int_cst_type (TREE_TYPE (captures[5]), newmask);
6145 : 2 : if (!tree_int_cst_equal (newmaskt, captures[5])
6146 : : )
6147 : : {
6148 : 2 : if (shift_type != TREE_TYPE (captures[2])
6149 : : )
6150 : : {
6151 : 2 : gimple_seq *lseq = seq;
6152 : 2 : if (lseq
6153 : 0 : && (!single_use (captures[0])
6154 : 0 : || !single_use (captures[1])))
6155 : 2 : lseq = NULL;
6156 : 2 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1288;
6157 : 2 : {
6158 : 2 : res_op->set_op (BIT_AND_EXPR, type, 2);
6159 : 2 : {
6160 : 2 : tree _r1;
6161 : 2 : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
6162 : 2 : {
6163 : 2 : tree _o2[2], _r2;
6164 : 2 : {
6165 : 2 : tree _o3[1], _r3;
6166 : 2 : _o3[0] = captures[2];
6167 : 2 : if (shift_type != TREE_TYPE (_o3[0]) /* XXX */
6168 : 2 : && !useless_type_conversion_p (shift_type, TREE_TYPE (_o3[0])))
6169 : : {
6170 : 2 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, shift_type, _o3[0]);
6171 : 2 : tem_op.resimplify (lseq, valueize);
6172 : 2 : _r3 = maybe_push_res_to_seq (&tem_op, lseq);
6173 : 2 : if (!_r3) goto next_after_fail1288;
6174 : : }
6175 : : else
6176 : : _r3 = _o3[0];
6177 : 2 : _o2[0] = _r3;
6178 : : }
6179 : 2 : _o2[1] = captures[4];
6180 : 2 : tem_op.set_op (shift, shift_type, 2);
6181 : 2 : tem_op.ops[0] = _o2[0];
6182 : 2 : tem_op.ops[1] = _o2[1];
6183 : 2 : tem_op.resimplify (lseq, valueize);
6184 : : }
6185 : 2 : if (type != tem_op.type
6186 : 2 : && !useless_type_conversion_p (type, tem_op.type))
6187 : : {
6188 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
6189 : 0 : if (!_r1) goto next_after_fail1288;
6190 : 0 : tem_op.set_op (NOP_EXPR, type, 1);
6191 : 0 : tem_op.ops[0] = _r1;
6192 : 0 : tem_op.resimplify (lseq, valueize);
6193 : : }
6194 : 2 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
6195 : 2 : if (!_r1) goto next_after_fail1288;
6196 : 0 : res_op->ops[0] = _r1;
6197 : : }
6198 : 0 : res_op->ops[1] = newmaskt;
6199 : 0 : res_op->resimplify (lseq, valueize);
6200 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 714, __FILE__, __LINE__, true);
6201 : 0 : return true;
6202 : : }
6203 : : next_after_fail1288:;
6204 : : }
6205 : : else
6206 : : {
6207 : 0 : gimple_seq *lseq = seq;
6208 : 0 : if (lseq
6209 : 0 : && (!single_use (captures[0])
6210 : 0 : || !single_use (captures[1])))
6211 : 0 : lseq = NULL;
6212 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1289;
6213 : 0 : {
6214 : 0 : res_op->set_op (BIT_AND_EXPR, type, 2);
6215 : 0 : res_op->ops[0] = captures[0];
6216 : 0 : res_op->ops[1] = newmaskt;
6217 : 0 : res_op->resimplify (lseq, valueize);
6218 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 715, __FILE__, __LINE__, true);
6219 : 0 : return true;
6220 : : }
6221 : 0 : next_after_fail1289:;
6222 : : }
6223 : : }
6224 : : }
6225 : : }
6226 : : }
6227 : : }
6228 : : }
6229 : : }
6230 : : }
6231 : : }
6232 : : return false;
6233 : : }
6234 : :
6235 : : bool
6236 : 23 : gimple_simplify_483 (gimple_match_op *res_op, gimple_seq *seq,
6237 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
6238 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures))
6239 : : {
6240 : 23 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
6241 : 23 : gimple_seq *lseq = seq;
6242 : 23 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1339;
6243 : 23 : {
6244 : 23 : tree tem;
6245 : 23 : tem = captures[2];
6246 : 23 : res_op->set_value (tem);
6247 : 23 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 737, __FILE__, __LINE__, true);
6248 : : return true;
6249 : : }
6250 : 0 : next_after_fail1339:;
6251 : 0 : return false;
6252 : : }
6253 : :
6254 : : bool
6255 : 1274 : gimple_simplify_485 (gimple_match_op *res_op, gimple_seq *seq,
6256 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
6257 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures))
6258 : : {
6259 : 1274 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
6260 : 2548 : if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
6261 : 2530 : && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[1]))
6262 : : )
6263 : : {
6264 : 1254 : gimple_seq *lseq = seq;
6265 : 1254 : if (lseq
6266 : 269 : && (!single_use (captures[0])
6267 : 95 : || !single_use (captures[2])))
6268 : 1159 : lseq = NULL;
6269 : 1254 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1341;
6270 : 1254 : {
6271 : 1254 : res_op->set_op (GT_EXPR, type, 2);
6272 : 1254 : res_op->ops[0] = captures[3];
6273 : 1254 : {
6274 : 1254 : tree _o1[2], _r1;
6275 : 1254 : _o1[0] = captures[1];
6276 : 1254 : _o1[1] = build_int_cst (TREE_TYPE (captures[1]), 1);
6277 : 1254 : gimple_match_op tem_op (res_op->cond.any_else (), MINUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
6278 : 1254 : tem_op.resimplify (lseq, valueize);
6279 : 1254 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
6280 : 1254 : if (!_r1) goto next_after_fail1341;
6281 : 95 : res_op->ops[1] = _r1;
6282 : : }
6283 : 95 : res_op->resimplify (lseq, valueize);
6284 : 95 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 739, __FILE__, __LINE__, true);
6285 : 95 : return true;
6286 : : }
6287 : : next_after_fail1341:;
6288 : : }
6289 : : return false;
6290 : : }
6291 : :
6292 : : bool
6293 : 185673 : gimple_simplify_488 (gimple_match_op *res_op, gimple_seq *seq,
6294 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
6295 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
6296 : : const enum tree_code ARG_UNUSED (shift))
6297 : : {
6298 : 185673 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
6299 : 185673 : if (tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
6300 : 185673 : && TYPE_PRECISION (type) <= HOST_BITS_PER_WIDE_INT
6301 : 176060 : && tree_fits_uhwi_p (captures[4])
6302 : 175976 : && tree_to_uhwi (captures[4]) > 0
6303 : 361642 : && tree_to_uhwi (captures[4]) < TYPE_PRECISION (type)
6304 : : )
6305 : : {
6306 : 175965 : {
6307 : 175965 : unsigned int shiftc = tree_to_uhwi (captures[4]);
6308 : 175965 : unsigned HOST_WIDE_INT mask = TREE_INT_CST_LOW (captures[5]);
6309 : 175965 : unsigned HOST_WIDE_INT newmask, zerobits = 0;
6310 : 175965 : tree shift_type = TREE_TYPE (captures[2]);
6311 : 175965 : unsigned int prec;
6312 : 175965 : if (shift == LSHIFT_EXPR)
6313 : 26203 : zerobits = ((HOST_WIDE_INT_1U << shiftc) - 1);
6314 : 149762 : else if (shift == RSHIFT_EXPR
6315 : 149762 : && type_has_mode_precision_p (shift_type))
6316 : : {
6317 : 149762 : prec = TYPE_PRECISION (TREE_TYPE (captures[2]));
6318 : 149762 : tree arg00 = captures[3];
6319 : 149762 : if (captures[2] != captures[3]
6320 : 149762 : && TYPE_UNSIGNED (TREE_TYPE (captures[3])))
6321 : : {
6322 : 0 : tree inner_type = TREE_TYPE (captures[3]);
6323 : 0 : if (type_has_mode_precision_p (inner_type)
6324 : 0 : && TYPE_PRECISION (inner_type) < prec)
6325 : : {
6326 : 0 : prec = TYPE_PRECISION (inner_type);
6327 : 0 : if (shiftc < prec)
6328 : 0 : shift_type = inner_type;
6329 : : }
6330 : : }
6331 : 149762 : zerobits = HOST_WIDE_INT_M1U;
6332 : 149762 : if (shiftc < prec)
6333 : : {
6334 : 149762 : zerobits >>= HOST_BITS_PER_WIDE_INT - shiftc;
6335 : 149762 : zerobits <<= prec - shiftc;
6336 : : }
6337 : 149762 : if (!TYPE_UNSIGNED (TREE_TYPE (captures[2]))
6338 : 149762 : && prec == TYPE_PRECISION (TREE_TYPE (captures[2])))
6339 : : {
6340 : 16029 : if ((mask & zerobits) == 0)
6341 : 14441 : shift_type = unsigned_type_for (TREE_TYPE (captures[2]));
6342 : : else
6343 : : zerobits = 0;
6344 : : }
6345 : : }
6346 : 174377 : if ((mask & zerobits) == mask
6347 : : )
6348 : : {
6349 : 163 : gimple_seq *lseq = seq;
6350 : 163 : if (lseq
6351 : : && (!single_use (captures[0])
6352 : : || !single_use (captures[1])))
6353 : 163 : lseq = NULL;
6354 : 163 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1346;
6355 : 163 : {
6356 : 163 : tree tem;
6357 : 163 : tem = build_int_cst (type, 0);
6358 : 163 : res_op->set_value (tem);
6359 : 163 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 713, __FILE__, __LINE__, true);
6360 : 163 : return true;
6361 : : }
6362 : 0 : next_after_fail1346:;
6363 : : }
6364 : : else
6365 : : {
6366 : 175802 : {
6367 : 175802 : newmask = mask | zerobits;
6368 : 175802 : if (newmask != mask && (newmask & (newmask + 1)) == 0
6369 : : )
6370 : : {
6371 : : {
6372 : 31146 : for (prec = BITS_PER_UNIT;
6373 : 41838 : prec < HOST_BITS_PER_WIDE_INT; prec <<= 1)
6374 : 31632 : if (newmask == (HOST_WIDE_INT_1U << prec) - 1)
6375 : : break;
6376 : 10692 : if (prec < HOST_BITS_PER_WIDE_INT
6377 : 10206 : || newmask == HOST_WIDE_INT_M1U
6378 : : )
6379 : : {
6380 : 1073 : {
6381 : 1073 : tree newmaskt = build_int_cst_type (TREE_TYPE (captures[5]), newmask);
6382 : 1073 : if (!tree_int_cst_equal (newmaskt, captures[5])
6383 : : )
6384 : : {
6385 : 1073 : if (shift_type != TREE_TYPE (captures[2])
6386 : : )
6387 : : {
6388 : 122 : gimple_seq *lseq = seq;
6389 : 122 : if (lseq
6390 : 44 : && (!single_use (captures[0])
6391 : 17 : || !single_use (captures[1])))
6392 : 105 : lseq = NULL;
6393 : 122 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1347;
6394 : 122 : {
6395 : 122 : res_op->set_op (BIT_AND_EXPR, type, 2);
6396 : 122 : {
6397 : 122 : tree _r1;
6398 : 122 : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
6399 : 122 : {
6400 : 122 : tree _o2[2], _r2;
6401 : 122 : {
6402 : 122 : tree _o3[1], _r3;
6403 : 122 : _o3[0] = captures[2];
6404 : 122 : if (shift_type != TREE_TYPE (_o3[0]) /* XXX */
6405 : 122 : && !useless_type_conversion_p (shift_type, TREE_TYPE (_o3[0])))
6406 : : {
6407 : 122 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, shift_type, _o3[0]);
6408 : 122 : tem_op.resimplify (lseq, valueize);
6409 : 122 : _r3 = maybe_push_res_to_seq (&tem_op, lseq);
6410 : 122 : if (!_r3) goto next_after_fail1347;
6411 : : }
6412 : : else
6413 : : _r3 = _o3[0];
6414 : 29 : _o2[0] = _r3;
6415 : : }
6416 : 29 : _o2[1] = captures[4];
6417 : 29 : tem_op.set_op (shift, shift_type, 2);
6418 : 29 : tem_op.ops[0] = _o2[0];
6419 : 29 : tem_op.ops[1] = _o2[1];
6420 : 29 : tem_op.resimplify (lseq, valueize);
6421 : : }
6422 : 29 : if (type != tem_op.type
6423 : 29 : && !useless_type_conversion_p (type, tem_op.type))
6424 : : {
6425 : 29 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
6426 : 29 : if (!_r1) goto next_after_fail1347;
6427 : 17 : tem_op.set_op (NOP_EXPR, type, 1);
6428 : 17 : tem_op.ops[0] = _r1;
6429 : 17 : tem_op.resimplify (lseq, valueize);
6430 : : }
6431 : 17 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
6432 : 17 : if (!_r1) goto next_after_fail1347;
6433 : 17 : res_op->ops[0] = _r1;
6434 : : }
6435 : 17 : res_op->ops[1] = newmaskt;
6436 : 17 : res_op->resimplify (lseq, valueize);
6437 : 17 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 714, __FILE__, __LINE__, true);
6438 : 17 : return true;
6439 : : }
6440 : : next_after_fail1347:;
6441 : : }
6442 : : else
6443 : : {
6444 : 951 : gimple_seq *lseq = seq;
6445 : 951 : if (lseq
6446 : 75 : && (!single_use (captures[0])
6447 : 75 : || !single_use (captures[1])))
6448 : 876 : lseq = NULL;
6449 : 951 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1348;
6450 : 951 : {
6451 : 951 : res_op->set_op (BIT_AND_EXPR, type, 2);
6452 : 951 : res_op->ops[0] = captures[0];
6453 : 951 : res_op->ops[1] = newmaskt;
6454 : 951 : res_op->resimplify (lseq, valueize);
6455 : 951 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 715, __FILE__, __LINE__, true);
6456 : 951 : return true;
6457 : : }
6458 : 0 : next_after_fail1348:;
6459 : : }
6460 : : }
6461 : : }
6462 : : }
6463 : : }
6464 : : }
6465 : : }
6466 : : }
6467 : : }
6468 : : }
6469 : : return false;
6470 : : }
6471 : :
6472 : : bool
6473 : 38005 : gimple_simplify_505 (gimple_match_op *res_op, gimple_seq *seq,
6474 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
6475 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures))
6476 : : {
6477 : 38005 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
6478 : 38005 : if (!TYPE_UNSIGNED (TREE_TYPE (captures[2]))
6479 : 38005 : && (element_precision (TREE_TYPE (captures[2]))
6480 : 0 : <= element_precision (TREE_TYPE (captures[3]))
6481 : 0 : || !TYPE_UNSIGNED (TREE_TYPE (captures[3])))
6482 : : )
6483 : : {
6484 : 0 : {
6485 : 0 : tree shift_type = TREE_TYPE (captures[2]);
6486 : 0 : gimple_seq *lseq = seq;
6487 : 0 : if (lseq
6488 : 0 : && (!single_use (captures[0])
6489 : 0 : || !single_use (captures[1])))
6490 : 0 : lseq = NULL;
6491 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1368;
6492 : 0 : {
6493 : 0 : res_op->set_op (NOP_EXPR, type, 1);
6494 : 0 : {
6495 : 0 : tree _o1[2], _r1;
6496 : 0 : {
6497 : 0 : tree _o2[1], _r2;
6498 : 0 : _o2[0] = captures[3];
6499 : 0 : if (shift_type != TREE_TYPE (_o2[0]) /* XXX */
6500 : 0 : && !useless_type_conversion_p (shift_type, TREE_TYPE (_o2[0])))
6501 : : {
6502 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, shift_type, _o2[0]);
6503 : 0 : tem_op.resimplify (lseq, valueize);
6504 : 0 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
6505 : 0 : if (!_r2) goto next_after_fail1368;
6506 : : }
6507 : : else
6508 : : _r2 = _o2[0];
6509 : 0 : _o1[0] = _r2;
6510 : : }
6511 : 0 : _o1[1] = captures[4];
6512 : 0 : (*res_op).set_op (RSHIFT_EXPR, TREE_TYPE (_o1[0]), 2);
6513 : 0 : (*res_op).ops[0] = _o1[0];
6514 : 0 : (*res_op).ops[1] = _o1[1];
6515 : 0 : (*res_op).resimplify (lseq, valueize);
6516 : : }
6517 : 0 : if (type != res_op->type
6518 : 0 : && !useless_type_conversion_p (type, res_op->type))
6519 : : {
6520 : 0 : if (!(res_op->ops[0] = maybe_push_res_to_seq (res_op, lseq))) goto next_after_fail1368;
6521 : 0 : res_op->set_op (NOP_EXPR, type, 1);
6522 : 0 : res_op->resimplify (lseq, valueize);
6523 : : }
6524 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 753, __FILE__, __LINE__, true);
6525 : 0 : return true;
6526 : : }
6527 : : next_after_fail1368:;
6528 : : }
6529 : : }
6530 : : return false;
6531 : : }
6532 : :
6533 : : bool
6534 : 4115 : gimple_simplify_512 (gimple_match_op *res_op, gimple_seq *seq,
6535 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
6536 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
6537 : : const enum tree_code ARG_UNUSED (op))
6538 : : {
6539 : 4115 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
6540 : 4115 : if (INTEGRAL_TYPE_P (type)
6541 : 4109 : && TYPE_PRECISION (type) > 1
6542 : 8224 : && (INTEGRAL_TYPE_P (TREE_TYPE (captures[0])))
6543 : : )
6544 : : {
6545 : 4109 : gimple_seq *lseq = seq;
6546 : 4109 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1376;
6547 : 4109 : {
6548 : 4109 : res_op->set_op (op, type, 2);
6549 : 4109 : {
6550 : 4109 : tree _o1[2], _r1;
6551 : 4109 : {
6552 : 4109 : tree _o2[1], _r2;
6553 : 4109 : _o2[0] = captures[0];
6554 : 4109 : if (type != TREE_TYPE (_o2[0]) /* XXX */
6555 : 4109 : && !useless_type_conversion_p (type, TREE_TYPE (_o2[0])))
6556 : : {
6557 : 2642 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o2[0]);
6558 : 2642 : tem_op.resimplify (lseq, valueize);
6559 : 2642 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
6560 : 2642 : if (!_r2) goto next_after_fail1376;
6561 : : }
6562 : : else
6563 : : _r2 = _o2[0];
6564 : 4031 : _o1[0] = _r2;
6565 : : }
6566 : 4031 : _o1[1] = captures[1];
6567 : 4031 : gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
6568 : 4031 : tem_op.resimplify (lseq, valueize);
6569 : 4031 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
6570 : 4031 : if (!_r1) goto next_after_fail1376;
6571 : 3745 : res_op->ops[0] = _r1;
6572 : : }
6573 : 3745 : res_op->ops[1] = captures[2];
6574 : 3745 : res_op->resimplify (lseq, valueize);
6575 : 3745 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 762, __FILE__, __LINE__, true);
6576 : 3745 : return true;
6577 : : }
6578 : : next_after_fail1376:;
6579 : : }
6580 : : return false;
6581 : : }
6582 : :
6583 : : bool
6584 : 616 : gimple_simplify_522 (gimple_match_op *res_op, gimple_seq *seq,
6585 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
6586 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures))
6587 : : {
6588 : 616 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
6589 : 616 : if (TYPE_UNSIGNED (TREE_TYPE (captures[0]))
6590 : 616 : && bitwise_equal_p (captures[0], captures[2])
6591 : : )
6592 : : {
6593 : 427 : gimple_seq *lseq = seq;
6594 : 427 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1386;
6595 : 427 : {
6596 : 427 : res_op->set_op (NOP_EXPR, type, 1);
6597 : 427 : {
6598 : 427 : tree _o1[2], _r1;
6599 : 427 : _o1[0] = captures[0];
6600 : 427 : _o1[1] = captures[1];
6601 : 427 : (*res_op).set_op (EQ_EXPR, boolean_type_node, 2);
6602 : 427 : (*res_op).ops[0] = _o1[0];
6603 : 427 : (*res_op).ops[1] = _o1[1];
6604 : 427 : (*res_op).resimplify (lseq, valueize);
6605 : : }
6606 : 427 : if (type != res_op->type
6607 : 427 : && !useless_type_conversion_p (type, res_op->type))
6608 : : {
6609 : 426 : if (!(res_op->ops[0] = maybe_push_res_to_seq (res_op, lseq))) goto next_after_fail1386;
6610 : 426 : res_op->set_op (NOP_EXPR, type, 1);
6611 : 426 : res_op->resimplify (lseq, valueize);
6612 : : }
6613 : 427 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 772, __FILE__, __LINE__, true);
6614 : 427 : return true;
6615 : : }
6616 : : next_after_fail1386:;
6617 : : }
6618 : : return false;
6619 : : }
6620 : :
6621 : : bool
6622 : 19 : gimple_simplify_529 (gimple_match_op *res_op, gimple_seq *seq,
6623 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
6624 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
6625 : : const enum tree_code ARG_UNUSED (cmp),
6626 : : const enum tree_code ARG_UNUSED (minmax))
6627 : : {
6628 : 19 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
6629 : 19 : {
6630 : 19 : tree_code code = minmax_from_comparison (cmp, captures[0], captures[3], captures[0], captures[1]);
6631 : 19 : if (code == MIN_EXPR
6632 : : )
6633 : : {
6634 : 11 : gimple_seq *lseq = seq;
6635 : 11 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1440;
6636 : 11 : {
6637 : 11 : res_op->set_op (minmax, type, 2);
6638 : 11 : {
6639 : 11 : tree _o1[2], _r1;
6640 : 11 : _o1[0] = captures[0];
6641 : 11 : _o1[1] = captures[3];
6642 : 11 : gimple_match_op tem_op (res_op->cond.any_else (), MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
6643 : 11 : tem_op.resimplify (lseq, valueize);
6644 : 11 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
6645 : 11 : if (!_r1) goto next_after_fail1440;
6646 : 11 : res_op->ops[0] = _r1;
6647 : : }
6648 : 11 : res_op->ops[1] = captures[2];
6649 : 11 : res_op->resimplify (lseq, valueize);
6650 : 11 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 790, __FILE__, __LINE__, true);
6651 : 11 : return true;
6652 : : }
6653 : : next_after_fail1440:;
6654 : : }
6655 : : else
6656 : : {
6657 : 8 : if (code == MAX_EXPR
6658 : : )
6659 : : {
6660 : 8 : gimple_seq *lseq = seq;
6661 : 8 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1441;
6662 : 8 : {
6663 : 8 : res_op->set_op (minmax, type, 2);
6664 : 8 : {
6665 : 8 : tree _o1[2], _r1;
6666 : 8 : _o1[0] = captures[0];
6667 : 8 : _o1[1] = captures[3];
6668 : 8 : gimple_match_op tem_op (res_op->cond.any_else (), MAX_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
6669 : 8 : tem_op.resimplify (lseq, valueize);
6670 : 8 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
6671 : 8 : if (!_r1) goto next_after_fail1441;
6672 : 8 : res_op->ops[0] = _r1;
6673 : : }
6674 : 8 : res_op->ops[1] = captures[2];
6675 : 8 : res_op->resimplify (lseq, valueize);
6676 : 8 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 791, __FILE__, __LINE__, true);
6677 : 8 : return true;
6678 : : }
6679 : : next_after_fail1441:;
6680 : : }
6681 : : }
6682 : : }
6683 : : return false;
6684 : : }
6685 : :
6686 : : bool
6687 : 85115 : gimple_simplify_531 (gimple_match_op *res_op, gimple_seq *seq,
6688 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
6689 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
6690 : : const enum tree_code ARG_UNUSED (eqne))
6691 : : {
6692 : 85115 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
6693 : 167507 : if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
6694 : 78451 : && INTEGRAL_TYPE_P (type)
6695 : 248519 : && (wi::to_widest (captures[2]) + 1 == wi::to_widest (captures[3])
6696 : 160306 : || wi::to_widest (captures[2]) == wi::to_widest (captures[3]) + 1)
6697 : : )
6698 : : {
6699 : 18199 : {
6700 : 18199 : int_range_max r;
6701 : 36398 : get_range_query (cfun)->range_of_expr (r, captures[0]);
6702 : 18199 : if (r.undefined_p ())
6703 : 16 : r.set_varying (TREE_TYPE (captures[0]));
6704 : 18199 : wide_int min = r.lower_bound ();
6705 : 18199 : wide_int max = r.upper_bound ();
6706 : 36398 : if (min + 1 == max
6707 : 18199 : && (wi::to_wide (captures[1]) == min
6708 : 18227 : || wi::to_wide (captures[1]) == max)
6709 : : )
6710 : : {
6711 : 7065 : {
6712 : 7065 : tree arg0 = captures[2], arg1 = captures[3];
6713 : 7065 : tree type1;
6714 : 7065 : if ((eqne == EQ_EXPR) ^ (wi::to_wide (captures[1]) == min))
6715 : 2929 : std::swap (arg0, arg1);
6716 : 7065 : if (TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (type))
6717 : 127 : type1 = TREE_TYPE (captures[0]);
6718 : : else
6719 : : type1 = type;
6720 : 7065 : auto prec = TYPE_PRECISION (type1);
6721 : 7065 : auto unsign = TYPE_UNSIGNED (type1);
6722 : 7065 : if (TREE_CODE (type1) == BOOLEAN_TYPE)
6723 : 8 : type1 = build_nonstandard_integer_type (prec, unsign);
6724 : 7065 : min = wide_int::from (min, prec,
6725 : 14130 : TYPE_SIGN (TREE_TYPE (captures[0])));
6726 : 7065 : wide_int a = wide_int::from (wi::to_wide (arg0), prec,
6727 : 14130 : TYPE_SIGN (type));
6728 : 7065 : enum tree_code code;
6729 : 7065 : wi::overflow_type ovf;
6730 : 7065 : if (tree_int_cst_lt (arg0, arg1))
6731 : : {
6732 : 6336 : code = PLUS_EXPR;
6733 : 6336 : a -= min;
6734 : 6336 : if (!unsign)
6735 : : {
6736 : 2990 : wi::add (min + (wi::neg_p (a) ? 0 : 1), a, SIGNED, &ovf);
6737 : 1513 : if (ovf)
6738 : 0 : type1 = unsigned_type_for (type1);
6739 : : }
6740 : : }
6741 : : else
6742 : : {
6743 : 729 : code = MINUS_EXPR;
6744 : 729 : a += min;
6745 : 729 : if (!unsign)
6746 : : {
6747 : 542 : wi::sub (a, min + (wi::neg_p (min) ? 0 : 1), SIGNED, &ovf);
6748 : 271 : if (ovf)
6749 : 0 : type1 = unsigned_type_for (type1);
6750 : : }
6751 : : }
6752 : 7065 : tree arg = wide_int_to_tree (type1, a);
6753 : 7065 : if (code == PLUS_EXPR
6754 : : )
6755 : : {
6756 : 6336 : gimple_seq *lseq = seq;
6757 : 6336 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1444;
6758 : 6336 : {
6759 : 6336 : res_op->set_op (NOP_EXPR, type, 1);
6760 : 6336 : {
6761 : 6336 : tree _o1[2], _r1;
6762 : 6336 : {
6763 : 6336 : tree _o2[1], _r2;
6764 : 6336 : _o2[0] = captures[0];
6765 : 6336 : if (type1 != TREE_TYPE (_o2[0]) /* XXX */
6766 : 6336 : && !useless_type_conversion_p (type1, TREE_TYPE (_o2[0])))
6767 : : {
6768 : 3246 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type1, _o2[0]);
6769 : 3246 : tem_op.resimplify (lseq, valueize);
6770 : 3246 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
6771 : 3246 : if (!_r2) goto next_after_fail1444;
6772 : : }
6773 : : else
6774 : : _r2 = _o2[0];
6775 : 6304 : _o1[0] = _r2;
6776 : : }
6777 : 6304 : _o1[1] = arg;
6778 : 6304 : (*res_op).set_op (PLUS_EXPR, TREE_TYPE (_o1[0]), 2);
6779 : 6304 : (*res_op).ops[0] = _o1[0];
6780 : 6304 : (*res_op).ops[1] = _o1[1];
6781 : 6304 : (*res_op).resimplify (lseq, valueize);
6782 : : }
6783 : 6304 : if (type != res_op->type
6784 : 6304 : && !useless_type_conversion_p (type, res_op->type))
6785 : : {
6786 : 114 : if (!(res_op->ops[0] = maybe_push_res_to_seq (res_op, lseq))) goto next_after_fail1444;
6787 : 114 : res_op->set_op (NOP_EXPR, type, 1);
6788 : 114 : res_op->resimplify (lseq, valueize);
6789 : : }
6790 : 6304 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 794, __FILE__, __LINE__, true);
6791 : 6304 : return true;
6792 : : }
6793 : 32 : next_after_fail1444:;
6794 : : }
6795 : : else
6796 : : {
6797 : 729 : gimple_seq *lseq = seq;
6798 : 729 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1445;
6799 : 729 : {
6800 : 729 : res_op->set_op (NOP_EXPR, type, 1);
6801 : 729 : {
6802 : 729 : tree _o1[2], _r1;
6803 : 729 : _o1[0] = arg;
6804 : 729 : {
6805 : 729 : tree _o2[1], _r2;
6806 : 729 : _o2[0] = captures[0];
6807 : 729 : if (type1 != TREE_TYPE (_o2[0]) /* XXX */
6808 : 729 : && !useless_type_conversion_p (type1, TREE_TYPE (_o2[0])))
6809 : : {
6810 : 516 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type1, _o2[0]);
6811 : 516 : tem_op.resimplify (lseq, valueize);
6812 : 516 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
6813 : 516 : if (!_r2) goto next_after_fail1445;
6814 : : }
6815 : : else
6816 : : _r2 = _o2[0];
6817 : 729 : _o1[1] = _r2;
6818 : : }
6819 : 729 : (*res_op).set_op (MINUS_EXPR, TREE_TYPE (_o1[0]), 2);
6820 : 729 : (*res_op).ops[0] = _o1[0];
6821 : 729 : (*res_op).ops[1] = _o1[1];
6822 : 729 : (*res_op).resimplify (lseq, valueize);
6823 : : }
6824 : 729 : if (type != res_op->type
6825 : 729 : && !useless_type_conversion_p (type, res_op->type))
6826 : : {
6827 : 13 : if (!(res_op->ops[0] = maybe_push_res_to_seq (res_op, lseq))) goto next_after_fail1445;
6828 : 13 : res_op->set_op (NOP_EXPR, type, 1);
6829 : 13 : res_op->resimplify (lseq, valueize);
6830 : : }
6831 : 729 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 795, __FILE__, __LINE__, true);
6832 : 729 : return true;
6833 : : }
6834 : 32 : next_after_fail1445:;
6835 : : }
6836 : 7065 : }
6837 : : }
6838 : 18199 : }
6839 : : }
6840 : : return false;
6841 : : }
6842 : :
6843 : : bool
6844 : 1 : gimple_simplify_548 (gimple_match_op *res_op, gimple_seq *seq,
6845 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
6846 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures))
6847 : : {
6848 : 1 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
6849 : 1 : if (INTEGRAL_TYPE_P (type)
6850 : : )
6851 : : {
6852 : 1 : gimple_seq *lseq = seq;
6853 : 1 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1464;
6854 : 1 : {
6855 : 1 : tree tem;
6856 : 1 : tem = captures[2];
6857 : 1 : res_op->set_value (tem);
6858 : 1 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 806, __FILE__, __LINE__, true);
6859 : 1 : return true;
6860 : : }
6861 : 0 : next_after_fail1464:;
6862 : : }
6863 : : return false;
6864 : : }
6865 : :
6866 : : bool
6867 : 47 : gimple_simplify_551 (gimple_match_op *res_op, gimple_seq *seq,
6868 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
6869 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
6870 : : const enum tree_code ARG_UNUSED (cmp))
6871 : : {
6872 : 47 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
6873 : 47 : if (!HONOR_SIGNED_ZEROS (type)
6874 : 47 : && bitwise_equal_p (captures[0], captures[2])
6875 : : )
6876 : : {
6877 : 9 : gimple_seq *lseq = seq;
6878 : 9 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1467;
6879 : 9 : {
6880 : 9 : tree tem;
6881 : 9 : tem = captures[1];
6882 : 9 : res_op->set_value (tem);
6883 : 9 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 809, __FILE__, __LINE__, true);
6884 : 9 : return true;
6885 : : }
6886 : 0 : next_after_fail1467:;
6887 : : }
6888 : : return false;
6889 : : }
6890 : :
6891 : : bool
6892 : 1 : gimple_simplify_559 (gimple_match_op *res_op, gimple_seq *seq,
6893 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
6894 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
6895 : : const enum tree_code ARG_UNUSED (cmp))
6896 : : {
6897 : 1 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
6898 : 1 : if (!HONOR_SIGNED_ZEROS (type)
6899 : : )
6900 : : {
6901 : 1 : gimple_seq *lseq = seq;
6902 : 1 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1475;
6903 : 1 : {
6904 : 1 : tree tem;
6905 : 1 : tem = captures[0];
6906 : 1 : res_op->set_value (tem);
6907 : 1 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 814, __FILE__, __LINE__, true);
6908 : 1 : return true;
6909 : : }
6910 : 0 : next_after_fail1475:;
6911 : : }
6912 : : return false;
6913 : : }
6914 : :
6915 : : bool
6916 : 70 : gimple_simplify_568 (gimple_match_op *res_op, gimple_seq *seq,
6917 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
6918 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
6919 : : const enum tree_code ARG_UNUSED (cmp))
6920 : : {
6921 : 70 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
6922 : 70 : if (INTEGRAL_TYPE_P (type)
6923 : 70 : && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
6924 : 70 : && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
6925 : 140 : && TYPE_PRECISION (TREE_TYPE (captures[0])) == TYPE_PRECISION (type)
6926 : : )
6927 : : {
6928 : 64 : {
6929 : 64 : tree shifter = build_int_cst (integer_type_node, TYPE_PRECISION (type) - 1);
6930 : 64 : if (cmp == LT_EXPR
6931 : : )
6932 : : {
6933 : 62 : gimple_seq *lseq = seq;
6934 : 62 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1489;
6935 : 62 : {
6936 : 62 : res_op->set_op (BIT_XOR_EXPR, type, 2);
6937 : 62 : {
6938 : 62 : tree _r1;
6939 : 62 : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
6940 : 62 : {
6941 : 62 : tree _o2[2], _r2;
6942 : 62 : _o2[0] = captures[0];
6943 : 62 : _o2[1] = shifter;
6944 : 62 : tem_op.set_op (RSHIFT_EXPR, TREE_TYPE (_o2[0]), 2);
6945 : 62 : tem_op.ops[0] = _o2[0];
6946 : 62 : tem_op.ops[1] = _o2[1];
6947 : 62 : tem_op.resimplify (lseq, valueize);
6948 : : }
6949 : 62 : if (type != tem_op.type
6950 : 62 : && !useless_type_conversion_p (type, tem_op.type))
6951 : : {
6952 : 28 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
6953 : 28 : if (!_r1) goto next_after_fail1489;
6954 : 28 : tem_op.set_op (NOP_EXPR, type, 1);
6955 : 28 : tem_op.ops[0] = _r1;
6956 : 28 : tem_op.resimplify (lseq, valueize);
6957 : : }
6958 : 62 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
6959 : 62 : if (!_r1) goto next_after_fail1489;
6960 : 62 : res_op->ops[0] = _r1;
6961 : : }
6962 : 62 : res_op->ops[1] = captures[1];
6963 : 62 : res_op->resimplify (lseq, valueize);
6964 : 62 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 822, __FILE__, __LINE__, true);
6965 : 62 : return true;
6966 : : }
6967 : : next_after_fail1489:;
6968 : : }
6969 : : else
6970 : : {
6971 : 2 : gimple_seq *lseq = seq;
6972 : 2 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1490;
6973 : 2 : {
6974 : 2 : res_op->set_op (BIT_NOT_EXPR, type, 1);
6975 : 2 : {
6976 : 2 : tree _o1[2], _r1;
6977 : 2 : {
6978 : 2 : tree _r2;
6979 : 2 : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
6980 : 2 : {
6981 : 2 : tree _o3[2], _r3;
6982 : 2 : _o3[0] = captures[0];
6983 : 2 : _o3[1] = shifter;
6984 : 2 : tem_op.set_op (RSHIFT_EXPR, TREE_TYPE (_o3[0]), 2);
6985 : 2 : tem_op.ops[0] = _o3[0];
6986 : 2 : tem_op.ops[1] = _o3[1];
6987 : 2 : tem_op.resimplify (lseq, valueize);
6988 : : }
6989 : 2 : if (type != tem_op.type
6990 : 2 : && !useless_type_conversion_p (type, tem_op.type))
6991 : : {
6992 : 2 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
6993 : 2 : if (!_r2) goto next_after_fail1490;
6994 : 2 : tem_op.set_op (NOP_EXPR, type, 1);
6995 : 2 : tem_op.ops[0] = _r2;
6996 : 2 : tem_op.resimplify (lseq, valueize);
6997 : : }
6998 : 2 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
6999 : 2 : if (!_r2) goto next_after_fail1490;
7000 : 2 : _o1[0] = _r2;
7001 : : }
7002 : 2 : _o1[1] = captures[1];
7003 : 2 : gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
7004 : 2 : tem_op.resimplify (lseq, valueize);
7005 : 2 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
7006 : 2 : if (!_r1) goto next_after_fail1490;
7007 : 2 : res_op->ops[0] = _r1;
7008 : : }
7009 : 2 : res_op->resimplify (lseq, valueize);
7010 : 2 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 823, __FILE__, __LINE__, true);
7011 : 2 : return true;
7012 : : }
7013 : : next_after_fail1490:;
7014 : : }
7015 : : }
7016 : : }
7017 : : return false;
7018 : : }
7019 : :
7020 : : bool
7021 : 16 : gimple_simplify_580 (gimple_match_op *res_op, gimple_seq *seq,
7022 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
7023 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
7024 : : const enum tree_code ARG_UNUSED (neeq),
7025 : : const combined_fn ARG_UNUSED (sign))
7026 : : {
7027 : 16 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
7028 : 16 : if (neeq == NE_EXPR
7029 : : )
7030 : : {
7031 : 16 : gimple_seq *lseq = seq;
7032 : 16 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1518;
7033 : 16 : {
7034 : 16 : res_op->set_op (ABS_EXPR, type, 1);
7035 : 16 : res_op->ops[0] = captures[0];
7036 : 16 : res_op->resimplify (lseq, valueize);
7037 : 16 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 833, __FILE__, __LINE__, true);
7038 : 16 : return true;
7039 : : }
7040 : 0 : next_after_fail1518:;
7041 : : }
7042 : : else
7043 : : {
7044 : 0 : gimple_seq *lseq = seq;
7045 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1519;
7046 : 0 : {
7047 : 0 : res_op->set_op (NEGATE_EXPR, type, 1);
7048 : 0 : {
7049 : 0 : tree _o1[1], _r1;
7050 : 0 : _o1[0] = captures[0];
7051 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
7052 : 0 : tem_op.resimplify (lseq, valueize);
7053 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
7054 : 0 : if (!_r1) goto next_after_fail1519;
7055 : 0 : res_op->ops[0] = _r1;
7056 : : }
7057 : 0 : res_op->resimplify (lseq, valueize);
7058 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 834, __FILE__, __LINE__, true);
7059 : 0 : return true;
7060 : : }
7061 : : next_after_fail1519:;
7062 : : }
7063 : : return false;
7064 : : }
7065 : :
7066 : : bool
7067 : 3448 : gimple_simplify_585 (gimple_match_op *res_op, gimple_seq *seq,
7068 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
7069 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
7070 : : const combined_fn ARG_UNUSED (func))
7071 : : {
7072 : 3448 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
7073 : 3448 : {
7074 : 3448 : int val;
7075 : 3448 : internal_fn ifn = IFN_LAST;
7076 : 3448 : if (TREE_CODE (TREE_TYPE (captures[2])) == BITINT_TYPE)
7077 : : {
7078 : 0 : if (tree_fits_shwi_p (captures[3]))
7079 : : {
7080 : 0 : HOST_WIDE_INT valw = tree_to_shwi (captures[3]);
7081 : 0 : if ((int) valw == valw)
7082 : : {
7083 : 0 : val = valw;
7084 : 0 : ifn = IFN_CLZ;
7085 : : }
7086 : : }
7087 : : }
7088 : 3448 : else if (direct_internal_fn_supported_p (IFN_CLZ, TREE_TYPE (captures[2]),
7089 : : OPTIMIZE_FOR_BOTH)
7090 : 6849 : && CLZ_DEFINED_VALUE_AT_ZERO
7091 : : (SCALAR_INT_TYPE_MODE (TREE_TYPE (captures[2])), val) == 2)
7092 : 29 : ifn = IFN_CLZ;
7093 : 3448 : if (ifn == IFN_CLZ && wi::to_widest (captures[3]) == val
7094 : : )
7095 : : {
7096 : 29 : gimple_seq *lseq = seq;
7097 : 29 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1524;
7098 : 29 : {
7099 : 29 : res_op->set_op (CFN_CLZ, type, 2);
7100 : 29 : res_op->ops[0] = captures[2];
7101 : 29 : res_op->ops[1] = captures[3];
7102 : 29 : res_op->resimplify (lseq, valueize);
7103 : 29 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 837, __FILE__, __LINE__, true);
7104 : 29 : return true;
7105 : : }
7106 : 0 : next_after_fail1524:;
7107 : : }
7108 : : }
7109 : 3419 : return false;
7110 : : }
7111 : :
7112 : : bool
7113 : 1057 : gimple_simplify_593 (gimple_match_op *res_op, gimple_seq *seq,
7114 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
7115 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
7116 : : const enum tree_code ARG_UNUSED (minmax))
7117 : : {
7118 : 1057 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
7119 : 1057 : gimple_seq *lseq = seq;
7120 : 1057 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1532;
7121 : 1057 : {
7122 : 1057 : tree tem;
7123 : 1057 : tem = captures[0];
7124 : 1057 : res_op->set_value (tem);
7125 : 1057 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 842, __FILE__, __LINE__, true);
7126 : : return true;
7127 : : }
7128 : 0 : next_after_fail1532:;
7129 : 0 : return false;
7130 : : }
7131 : :
7132 : : bool
7133 : 28 : gimple_simplify_597 (gimple_match_op *res_op, gimple_seq *seq,
7134 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
7135 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
7136 : : const enum tree_code ARG_UNUSED (minmax),
7137 : : const enum tree_code ARG_UNUSED (cmp))
7138 : : {
7139 : 28 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
7140 : 28 : {
7141 : 28 : poly_int64 off0, off1;
7142 : 28 : tree base0, base1;
7143 : 28 : int equal = address_compare (cmp, TREE_TYPE (captures[0]), captures[1], captures[3], base0, base1,
7144 : : off0, off1,
7145 : :
7146 : : );
7147 : 28 : if (equal == 1
7148 : : )
7149 : : {
7150 : 0 : if (minmax == MIN_EXPR
7151 : : )
7152 : : {
7153 : 0 : if (known_le (off0, off1)
7154 : : )
7155 : : {
7156 : 0 : gimple_seq *lseq = seq;
7157 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1536;
7158 : 0 : {
7159 : 0 : tree tem;
7160 : 0 : tem = captures[0];
7161 : 0 : res_op->set_value (tem);
7162 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 845, __FILE__, __LINE__, true);
7163 : 0 : return true;
7164 : : }
7165 : 0 : next_after_fail1536:;
7166 : : }
7167 : : else
7168 : : {
7169 : 0 : if (known_gt (off0, off1)
7170 : : )
7171 : : {
7172 : 0 : gimple_seq *lseq = seq;
7173 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1537;
7174 : 0 : {
7175 : 0 : tree tem;
7176 : 0 : tem = captures[2];
7177 : 0 : res_op->set_value (tem);
7178 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 846, __FILE__, __LINE__, true);
7179 : 0 : return true;
7180 : : }
7181 : 0 : next_after_fail1537:;
7182 : : }
7183 : : }
7184 : : }
7185 : : else
7186 : : {
7187 : 0 : if (known_ge (off0, off1)
7188 : : )
7189 : : {
7190 : 0 : gimple_seq *lseq = seq;
7191 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1538;
7192 : 0 : {
7193 : 0 : tree tem;
7194 : 0 : tem = captures[0];
7195 : 0 : res_op->set_value (tem);
7196 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 847, __FILE__, __LINE__, true);
7197 : 0 : return true;
7198 : : }
7199 : 0 : next_after_fail1538:;
7200 : : }
7201 : : else
7202 : : {
7203 : 0 : if (known_lt (off0, off1)
7204 : : )
7205 : : {
7206 : 0 : gimple_seq *lseq = seq;
7207 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1539;
7208 : 0 : {
7209 : 0 : tree tem;
7210 : 0 : tem = captures[2];
7211 : 0 : res_op->set_value (tem);
7212 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 848, __FILE__, __LINE__, true);
7213 : 0 : return true;
7214 : : }
7215 : 0 : next_after_fail1539:;
7216 : : }
7217 : : }
7218 : : }
7219 : : }
7220 : : }
7221 : 28 : return false;
7222 : : }
7223 : :
7224 : : bool
7225 : 27 : gimple_simplify_615 (gimple_match_op *res_op, gimple_seq *seq,
7226 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
7227 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
7228 : : const enum tree_code ARG_UNUSED (bitop),
7229 : : const combined_fn ARG_UNUSED (bswap))
7230 : : {
7231 : 27 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
7232 : 27 : gimple_seq *lseq = seq;
7233 : 27 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1569;
7234 : 27 : {
7235 : 27 : res_op->set_op (bitop, type, 2);
7236 : 27 : res_op->ops[0] = captures[0];
7237 : 27 : {
7238 : 27 : tree _o1[1], _r1;
7239 : 27 : _o1[0] = captures[1];
7240 : 27 : gimple_match_op tem_op (res_op->cond.any_else (), bswap, TREE_TYPE (_o1[0]), _o1[0]);
7241 : 27 : tem_op.resimplify (lseq, valueize);
7242 : 27 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
7243 : 27 : if (!_r1) goto next_after_fail1569;
7244 : 27 : res_op->ops[1] = _r1;
7245 : : }
7246 : 27 : res_op->resimplify (lseq, valueize);
7247 : 27 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 866, __FILE__, __LINE__, true);
7248 : : return true;
7249 : : }
7250 : : next_after_fail1569:;
7251 : : return false;
7252 : : }
7253 : :
7254 : : bool
7255 : 516 : gimple_simplify_624 (gimple_match_op *res_op, gimple_seq *seq,
7256 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
7257 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
7258 : : const combined_fn ARG_UNUSED (uncond_op),
7259 : : const combined_fn ARG_UNUSED (cond_op))
7260 : : {
7261 : 516 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
7262 : 516 : {
7263 : 516 : tree op_type = TREE_TYPE (captures[1]);
7264 : 516 : if (vectorized_internal_fn_supported_p (as_internal_fn (cond_op), op_type)
7265 : 516 : && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
7266 : 1032 : && single_use (captures[1])
7267 : : )
7268 : : {
7269 : 516 : gimple_seq *lseq = seq;
7270 : 516 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1578;
7271 : 516 : {
7272 : 516 : res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
7273 : 516 : {
7274 : 516 : tree _o1[5], _r1;
7275 : 516 : _o1[0] = captures[0];
7276 : 516 : _o1[1] = captures[2];
7277 : 516 : _o1[2] = captures[3];
7278 : 516 : _o1[3] = captures[4];
7279 : 516 : {
7280 : 516 : tree _o2[1], _r2;
7281 : 516 : _o2[0] = captures[5];
7282 : 516 : if (op_type != TREE_TYPE (_o2[0]) /* XXX */
7283 : 516 : && !useless_type_conversion_p (op_type, TREE_TYPE (_o2[0])))
7284 : : {
7285 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
7286 : 0 : tem_op.resimplify (lseq, valueize);
7287 : 0 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
7288 : 0 : if (!_r2) goto next_after_fail1578;
7289 : : }
7290 : : else
7291 : : _r2 = _o2[0];
7292 : 516 : _o1[4] = _r2;
7293 : : }
7294 : 516 : (*res_op).set_op (cond_op, TREE_TYPE (_o1[1]), 5);
7295 : 516 : (*res_op).ops[0] = _o1[0];
7296 : 516 : (*res_op).ops[1] = _o1[1];
7297 : 516 : (*res_op).ops[2] = _o1[2];
7298 : 516 : (*res_op).ops[3] = _o1[3];
7299 : 516 : (*res_op).ops[4] = _o1[4];
7300 : 516 : (*res_op).resimplify (lseq, valueize);
7301 : : }
7302 : 516 : if (type != res_op->type
7303 : 516 : && !useless_type_conversion_p (type, res_op->type))
7304 : : {
7305 : 0 : if (!(res_op->ops[0] = maybe_push_res_to_seq (res_op, lseq))) goto next_after_fail1578;
7306 : 0 : res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
7307 : 0 : res_op->resimplify (lseq, valueize);
7308 : : }
7309 : 516 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 870, __FILE__, __LINE__, true);
7310 : 516 : return true;
7311 : : }
7312 : : next_after_fail1578:;
7313 : : }
7314 : : }
7315 : : return false;
7316 : : }
7317 : :
7318 : : bool
7319 : 0 : gimple_simplify_633 (gimple_match_op *res_op, gimple_seq *seq,
7320 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
7321 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
7322 : : const combined_fn ARG_UNUSED (cond_len_op))
7323 : : {
7324 : 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
7325 : 0 : {
7326 : 0 : tree op_type = TREE_TYPE (captures[6]);
7327 : 0 : if (inverse_conditions_p (captures[0], captures[2])
7328 : 0 : && element_precision (type) == element_precision (op_type)
7329 : : )
7330 : : {
7331 : 0 : gimple_seq *lseq = seq;
7332 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1587;
7333 : 0 : {
7334 : 0 : res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
7335 : 0 : {
7336 : 0 : tree _o1[7], _r1;
7337 : 0 : _o1[0] = captures[2];
7338 : 0 : _o1[1] = captures[3];
7339 : 0 : _o1[2] = captures[4];
7340 : 0 : _o1[3] = captures[5];
7341 : 0 : {
7342 : 0 : tree _o2[1], _r2;
7343 : 0 : _o2[0] = captures[1];
7344 : 0 : if (op_type != TREE_TYPE (_o2[0]) /* XXX */
7345 : 0 : && !useless_type_conversion_p (op_type, TREE_TYPE (_o2[0])))
7346 : : {
7347 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
7348 : 0 : tem_op.resimplify (lseq, valueize);
7349 : 0 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
7350 : 0 : if (!_r2) goto next_after_fail1587;
7351 : : }
7352 : : else
7353 : : _r2 = _o2[0];
7354 : 0 : _o1[4] = _r2;
7355 : : }
7356 : 0 : _o1[5] = captures[7];
7357 : 0 : _o1[6] = captures[8];
7358 : 0 : (*res_op).set_op (cond_len_op, TREE_TYPE (_o1[1]), 7);
7359 : 0 : (*res_op).ops[0] = _o1[0];
7360 : 0 : (*res_op).ops[1] = _o1[1];
7361 : 0 : (*res_op).ops[2] = _o1[2];
7362 : 0 : (*res_op).ops[3] = _o1[3];
7363 : 0 : (*res_op).ops[4] = _o1[4];
7364 : 0 : (*res_op).ops[5] = _o1[5];
7365 : 0 : (*res_op).ops[6] = _o1[6];
7366 : 0 : (*res_op).resimplify (lseq, valueize);
7367 : : }
7368 : 0 : if (type != res_op->type
7369 : 0 : && !useless_type_conversion_p (type, res_op->type))
7370 : : {
7371 : 0 : if (!(res_op->ops[0] = maybe_push_res_to_seq (res_op, lseq))) goto next_after_fail1587;
7372 : 0 : res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
7373 : 0 : res_op->resimplify (lseq, valueize);
7374 : : }
7375 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 879, __FILE__, __LINE__, true);
7376 : 0 : return true;
7377 : : }
7378 : : next_after_fail1587:;
7379 : : }
7380 : : }
7381 : : return false;
7382 : : }
7383 : :
7384 : : bool
7385 : 690 : gimple_simplify_648 (gimple_match_op *res_op, gimple_seq *seq,
7386 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
7387 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
7388 : : const combined_fn ARG_UNUSED (fns))
7389 : : {
7390 : 690 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
7391 : 690 : gimple_seq *lseq = seq;
7392 : 690 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1602;
7393 : 690 : {
7394 : 690 : tree tem;
7395 : 690 : tem = captures[0];
7396 : 690 : res_op->set_value (tem);
7397 : 690 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 894, __FILE__, __LINE__, true);
7398 : : return true;
7399 : : }
7400 : 0 : next_after_fail1602:;
7401 : 0 : return false;
7402 : : }
7403 : :
7404 : : bool
7405 : 75 : gimple_simplify_653 (gimple_match_op *res_op, gimple_seq *seq,
7406 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
7407 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures))
7408 : : {
7409 : 75 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
7410 : 75 : gimple_seq *lseq = seq;
7411 : 75 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1607;
7412 : 75 : {
7413 : 75 : tree tem;
7414 : 75 : tem = captures[0];
7415 : 75 : res_op->set_value (tem);
7416 : 75 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 899, __FILE__, __LINE__, true);
7417 : : return true;
7418 : : }
7419 : 0 : next_after_fail1607:;
7420 : 0 : return false;
7421 : : }
7422 : :
7423 : : bool
7424 : 6621 : gimple_simplify_658 (gimple_match_op *res_op, gimple_seq *seq,
7425 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
7426 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
7427 : : const combined_fn ARG_UNUSED (ifn),
7428 : : const combined_fn ARG_UNUSED (lfn),
7429 : : const combined_fn ARG_UNUSED (llfn))
7430 : : {
7431 : 6621 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
7432 : 6621 : if (canonicalize_math_p ()
7433 : : )
7434 : : {
7435 : 4993 : if (TYPE_PRECISION (integer_type_node)
7436 : 4993 : == TYPE_PRECISION (long_integer_type_node)
7437 : : )
7438 : : {
7439 : 12 : gimple_seq *lseq = seq;
7440 : 12 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1612;
7441 : 12 : {
7442 : 12 : res_op->set_op (lfn, type, 1);
7443 : 12 : res_op->ops[0] = captures[0];
7444 : 12 : res_op->resimplify (lseq, valueize);
7445 : 12 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 904, __FILE__, __LINE__, true);
7446 : 12 : return true;
7447 : : }
7448 : 0 : next_after_fail1612:;
7449 : : }
7450 : : }
7451 : : return false;
7452 : : }
7453 : :
7454 : : bool
7455 : 1 : gimple_simplify_668 (gimple_match_op *res_op, gimple_seq *seq,
7456 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
7457 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures))
7458 : : {
7459 : 1 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
7460 : 1 : if (canonicalize_math_after_vectorization_p ()
7461 : : )
7462 : : {
7463 : 1 : gimple_seq *lseq = seq;
7464 : 1 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1622;
7465 : 1 : {
7466 : 1 : res_op->set_op (CFN_FMA, type, 3);
7467 : 1 : res_op->ops[0] = captures[0];
7468 : 1 : res_op->ops[1] = captures[1];
7469 : 1 : res_op->ops[2] = captures[2];
7470 : 1 : res_op->resimplify (lseq, valueize);
7471 : 1 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 914, __FILE__, __LINE__, true);
7472 : 1 : return true;
7473 : : }
7474 : 0 : next_after_fail1622:;
7475 : : }
7476 : : return false;
7477 : : }
7478 : :
7479 : : bool
7480 : 1775 : gimple_simplify_676 (gimple_match_op *res_op, gimple_seq *seq,
7481 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
7482 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
7483 : : const combined_fn ARG_UNUSED (CTZ))
7484 : : {
7485 : 1775 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
7486 : 3550 : if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
7487 : 1775 : && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
7488 : 3550 : && TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (TREE_TYPE (captures[1]))
7489 : : )
7490 : : {
7491 : 422 : {
7492 : 422 : combined_fn cfn = CFN_LAST;
7493 : 422 : tree type0 = TREE_TYPE (captures[1]);
7494 : 422 : if (TREE_CODE (type0) == BITINT_TYPE)
7495 : : {
7496 : 12 : if (TYPE_PRECISION (type0) > MAX_FIXED_MODE_SIZE)
7497 : : cfn = CFN_CTZ;
7498 : : else
7499 : 0 : type0
7500 : 0 : = build_nonstandard_integer_type (TYPE_PRECISION (type0),
7501 : : 1);
7502 : : }
7503 : 422 : type0 = unsigned_type_for (type0);
7504 : 422 : if (cfn == CFN_LAST
7505 : 422 : && direct_internal_fn_supported_p (IFN_CTZ, type0,
7506 : : OPTIMIZE_FOR_BOTH))
7507 : : cfn = CFN_CTZ;
7508 : 396 : if (cfn == CFN_LAST
7509 : 390 : && TYPE_PRECISION (TREE_TYPE (captures[0])) > BITS_PER_WORD
7510 : 396 : && !direct_internal_fn_supported_p (IFN_CTZ,
7511 : 0 : TREE_TYPE (captures[0]),
7512 : : OPTIMIZE_FOR_BOTH))
7513 : : {
7514 : 0 : if (TYPE_PRECISION (type0)
7515 : 0 : == TYPE_PRECISION (unsigned_type_node))
7516 : : cfn = CFN_BUILT_IN_CTZ;
7517 : 0 : else if (TYPE_PRECISION (type0)
7518 : 0 : == TYPE_PRECISION (long_long_unsigned_type_node))
7519 : 422 : cfn = CFN_BUILT_IN_CTZLL;
7520 : : }
7521 : 422 : if (sanitize_flags_p (SANITIZE_BUILTIN)
7522 : 422 : && (!cfun
7523 : 0 : || (cfun->curr_properties & PROP_ssa) == 0))
7524 : : cfn = CFN_LAST;
7525 : 422 : if (cfn == CFN_CTZ
7526 : : )
7527 : : {
7528 : 32 : gimple_seq *lseq = seq;
7529 : 32 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1630;
7530 : 32 : {
7531 : 32 : res_op->set_op (CFN_CTZ, type, 1);
7532 : 32 : {
7533 : 32 : tree _o1[1], _r1;
7534 : 32 : _o1[0] = captures[1];
7535 : 32 : if (type0 != TREE_TYPE (_o1[0]) /* XXX */
7536 : 32 : && !useless_type_conversion_p (type0, TREE_TYPE (_o1[0])))
7537 : : {
7538 : 11 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type0, _o1[0]);
7539 : 11 : tem_op.resimplify (lseq, valueize);
7540 : 11 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
7541 : 11 : if (!_r1) goto next_after_fail1630;
7542 : : }
7543 : : else
7544 : : _r1 = _o1[0];
7545 : 27 : res_op->ops[0] = _r1;
7546 : : }
7547 : 27 : res_op->resimplify (lseq, valueize);
7548 : 27 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 919, __FILE__, __LINE__, true);
7549 : 27 : return true;
7550 : : }
7551 : : next_after_fail1630:;
7552 : : }
7553 : : else
7554 : : {
7555 : 390 : if (cfn == CFN_BUILT_IN_CTZ
7556 : : )
7557 : : {
7558 : 0 : gimple_seq *lseq = seq;
7559 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1631;
7560 : 0 : {
7561 : 0 : res_op->set_op (CFN_BUILT_IN_CTZ, type, 1);
7562 : 0 : {
7563 : 0 : tree _o1[1], _r1;
7564 : 0 : _o1[0] = captures[1];
7565 : 0 : if (type0 != TREE_TYPE (_o1[0]) /* XXX */
7566 : 0 : && !useless_type_conversion_p (type0, TREE_TYPE (_o1[0])))
7567 : : {
7568 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type0, _o1[0]);
7569 : 0 : tem_op.resimplify (lseq, valueize);
7570 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
7571 : 0 : if (!_r1) goto next_after_fail1631;
7572 : : }
7573 : : else
7574 : : _r1 = _o1[0];
7575 : 0 : res_op->ops[0] = _r1;
7576 : : }
7577 : 0 : res_op->resimplify (lseq, valueize);
7578 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
7579 : 0 : return true;
7580 : : }
7581 : : next_after_fail1631:;
7582 : : }
7583 : : else
7584 : : {
7585 : 390 : if (cfn == CFN_BUILT_IN_CTZLL
7586 : : )
7587 : : {
7588 : 0 : gimple_seq *lseq = seq;
7589 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1632;
7590 : 0 : {
7591 : 0 : res_op->set_op (CFN_BUILT_IN_CTZLL, type, 1);
7592 : 0 : {
7593 : 0 : tree _o1[1], _r1;
7594 : 0 : _o1[0] = captures[1];
7595 : 0 : if (type0 != TREE_TYPE (_o1[0]) /* XXX */
7596 : 0 : && !useless_type_conversion_p (type0, TREE_TYPE (_o1[0])))
7597 : : {
7598 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type0, _o1[0]);
7599 : 0 : tem_op.resimplify (lseq, valueize);
7600 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
7601 : 0 : if (!_r1) goto next_after_fail1632;
7602 : : }
7603 : : else
7604 : : _r1 = _o1[0];
7605 : 0 : res_op->ops[0] = _r1;
7606 : : }
7607 : 0 : res_op->resimplify (lseq, valueize);
7608 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 921, __FILE__, __LINE__, true);
7609 : 0 : return true;
7610 : : }
7611 : : next_after_fail1632:;
7612 : : }
7613 : : }
7614 : : }
7615 : : }
7616 : : }
7617 : : return false;
7618 : : }
7619 : :
7620 : : bool
7621 : 6669 : gimple_simplify_695 (gimple_match_op *res_op, gimple_seq *seq,
7622 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
7623 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
7624 : : const enum tree_code ARG_UNUSED (plusminus),
7625 : : const enum tree_code ARG_UNUSED (minusplus))
7626 : : {
7627 : 6669 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
7628 : 6669 : if (!VECTOR_INTEGER_TYPE_P (type)
7629 : : && !FLOAT_WORDS_BIG_ENDIAN
7630 : 13051 : && (operand_equal_p (captures[0], captures[2], 0)
7631 : 4088 : ? operand_equal_p (captures[1], captures[3], 0)
7632 : 3540 : : operand_equal_p (captures[0], captures[3], 0) && operand_equal_p (captures[1], captures[2], 0))
7633 : : )
7634 : : {
7635 : 4040 : {
7636 : 4040 : vec_perm_builder builder;
7637 : 4040 : if (tree_to_vec_perm_builder (&builder, captures[4])
7638 : : )
7639 : : {
7640 : 4040 : {
7641 : 4040 : poly_uint64 nelts = TYPE_VECTOR_SUBPARTS (type);
7642 : 4040 : vec_perm_indices sel (builder, 2, nelts);
7643 : 4040 : machine_mode vec_mode = TYPE_MODE (type);
7644 : 4040 : machine_mode wide_mode;
7645 : 4040 : scalar_mode wide_elt_mode;
7646 : 4040 : poly_uint64 wide_nunits;
7647 : 4040 : scalar_mode inner_mode = GET_MODE_INNER (vec_mode);
7648 : 4040 : if (VECTOR_MODE_P (vec_mode)
7649 : 4024 : && sel.series_p (0, 2, 0, 2)
7650 : 3794 : && sel.series_p (1, 2, nelts + 1, 2)
7651 : 6355 : && GET_MODE_2XWIDER_MODE (inner_mode).exists (&wide_elt_mode)
7652 : 3779 : && multiple_p (GET_MODE_NUNITS (vec_mode), 2, &wide_nunits)
7653 : 7819 : && related_vector_mode (vec_mode, wide_elt_mode,
7654 : 2576 : wide_nunits).exists (&wide_mode)
7655 : : )
7656 : : {
7657 : 1464 : {
7658 : 1464 : tree stype
7659 : 1464 : = lang_hooks.types.type_for_mode (GET_MODE_INNER (wide_mode),
7660 : 1464 : TYPE_UNSIGNED (type));
7661 : 1464 : tree ntype = build_vector_type_for_mode (stype, wide_mode);
7662 : 5856 : const struct real_format *fmt_old = FLOAT_MODE_FORMAT (vec_mode);
7663 : 5856 : const struct real_format *fmt_new = FLOAT_MODE_FORMAT (wide_mode);
7664 : 1464 : if (TYPE_MODE (stype) != BLKmode
7665 : 1464 : && VECTOR_TYPE_P (ntype)
7666 : 1464 : && fmt_old != NULL
7667 : 2928 : && fmt_new != NULL
7668 : : )
7669 : : {
7670 : 1464 : {
7671 : 1464 : if (known_eq (GET_MODE_NUNITS (wide_mode), 1)
7672 : 1464 : && !target_supports_op_p (ntype, NEGATE_EXPR, optab_vector))
7673 : : ntype = stype;
7674 : 1464 : if (fmt_new->signbit_rw
7675 : 1464 : == fmt_old->signbit_rw + GET_MODE_UNIT_BITSIZE (vec_mode)
7676 : 1464 : && fmt_new->signbit_rw == fmt_new->signbit_ro
7677 : 1464 : && targetm.can_change_mode_class (TYPE_MODE (ntype),
7678 : 1464 : TYPE_MODE (type), ALL_REGS)
7679 : 1464 : && ((optimize_vectors_before_lowering_p ()
7680 : 0 : && VECTOR_TYPE_P (ntype))
7681 : 0 : || target_supports_op_p (ntype, NEGATE_EXPR, optab_vector))
7682 : : )
7683 : : {
7684 : 0 : if (plusminus == PLUS_EXPR
7685 : : )
7686 : : {
7687 : 0 : gimple_seq *lseq = seq;
7688 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1658;
7689 : 0 : {
7690 : 0 : res_op->set_op (PLUS_EXPR, type, 2);
7691 : 0 : {
7692 : 0 : tree _r1;
7693 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
7694 : 0 : {
7695 : 0 : tree _o2[1], _r2;
7696 : 0 : {
7697 : 0 : tree _o3[1], _r3;
7698 : 0 : _o3[0] = captures[3];
7699 : 0 : if (ntype != TREE_TYPE (_o3[0]) /* XXX */
7700 : 0 : && !useless_type_conversion_p (ntype, TREE_TYPE (_o3[0])))
7701 : : {
7702 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, ntype, _o3[0]);
7703 : 0 : tem_op.resimplify (lseq, valueize);
7704 : 0 : _r3 = maybe_push_res_to_seq (&tem_op, lseq);
7705 : 0 : if (!_r3) goto next_after_fail1658;
7706 : : }
7707 : : else
7708 : : _r3 = _o3[0];
7709 : 0 : _o2[0] = _r3;
7710 : : }
7711 : 0 : tem_op.set_op (NEGATE_EXPR, TREE_TYPE (_o2[0]), 1);
7712 : 0 : tem_op.ops[0] = _o2[0];
7713 : 0 : tem_op.resimplify (lseq, valueize);
7714 : : }
7715 : 0 : if (type != tem_op.type
7716 : 0 : && !useless_type_conversion_p (type, tem_op.type))
7717 : : {
7718 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
7719 : 0 : if (!_r1) goto next_after_fail1658;
7720 : 0 : tem_op.set_op (VIEW_CONVERT_EXPR, type, 1);
7721 : 0 : tem_op.ops[0] = _r1;
7722 : 0 : tem_op.resimplify (lseq, valueize);
7723 : : }
7724 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
7725 : 0 : if (!_r1) goto next_after_fail1658;
7726 : 0 : res_op->ops[0] = _r1;
7727 : : }
7728 : 0 : res_op->ops[1] = captures[2];
7729 : 0 : res_op->resimplify (lseq, valueize);
7730 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 943, __FILE__, __LINE__, true);
7731 : 0 : return true;
7732 : : }
7733 : 4040 : next_after_fail1658:;
7734 : : }
7735 : : else
7736 : : {
7737 : 0 : gimple_seq *lseq = seq;
7738 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1659;
7739 : 0 : {
7740 : 0 : res_op->set_op (MINUS_EXPR, type, 2);
7741 : 0 : res_op->ops[0] = captures[0];
7742 : 0 : {
7743 : 0 : tree _r1;
7744 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
7745 : 0 : {
7746 : 0 : tree _o2[1], _r2;
7747 : 0 : {
7748 : 0 : tree _o3[1], _r3;
7749 : 0 : _o3[0] = captures[1];
7750 : 0 : if (ntype != TREE_TYPE (_o3[0]) /* XXX */
7751 : 0 : && !useless_type_conversion_p (ntype, TREE_TYPE (_o3[0])))
7752 : : {
7753 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, ntype, _o3[0]);
7754 : 0 : tem_op.resimplify (lseq, valueize);
7755 : 0 : _r3 = maybe_push_res_to_seq (&tem_op, lseq);
7756 : 0 : if (!_r3) goto next_after_fail1659;
7757 : : }
7758 : : else
7759 : : _r3 = _o3[0];
7760 : 0 : _o2[0] = _r3;
7761 : : }
7762 : 0 : tem_op.set_op (NEGATE_EXPR, TREE_TYPE (_o2[0]), 1);
7763 : 0 : tem_op.ops[0] = _o2[0];
7764 : 0 : tem_op.resimplify (lseq, valueize);
7765 : : }
7766 : 0 : if (type != tem_op.type
7767 : 0 : && !useless_type_conversion_p (type, tem_op.type))
7768 : : {
7769 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
7770 : 0 : if (!_r1) goto next_after_fail1659;
7771 : 0 : tem_op.set_op (VIEW_CONVERT_EXPR, type, 1);
7772 : 0 : tem_op.ops[0] = _r1;
7773 : 0 : tem_op.resimplify (lseq, valueize);
7774 : : }
7775 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
7776 : 0 : if (!_r1) goto next_after_fail1659;
7777 : 0 : res_op->ops[1] = _r1;
7778 : : }
7779 : 0 : res_op->resimplify (lseq, valueize);
7780 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 944, __FILE__, __LINE__, true);
7781 : 0 : return true;
7782 : : }
7783 : 4040 : next_after_fail1659:;
7784 : : }
7785 : : }
7786 : : }
7787 : : }
7788 : : }
7789 : : }
7790 : 4040 : }
7791 : : }
7792 : 4040 : }
7793 : : }
7794 : : return false;
7795 : : }
7796 : :
7797 : : bool
7798 : 7 : gimple_simplify_CFN_COSH (gimple_match_op *res_op, gimple_seq *seq,
7799 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
7800 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
7801 : : {
7802 : 7 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
7803 : 7 : switch (TREE_CODE (_p0))
7804 : : {
7805 : 7 : case SSA_NAME:
7806 : 7 : if (gimple *_d1 = get_def (valueize, _p0))
7807 : : {
7808 : 4 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
7809 : 0 : switch (gimple_assign_rhs_code (_a1))
7810 : : {
7811 : 0 : case NEGATE_EXPR:
7812 : 0 : {
7813 : 0 : tree _q20 = gimple_assign_rhs1 (_a1);
7814 : 0 : _q20 = do_valueize (valueize, _q20);
7815 : 0 : {
7816 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
7817 : 0 : const combined_fn coss = CFN_COSH;
7818 : 0 : gimple_seq *lseq = seq;
7819 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1702;
7820 : 0 : {
7821 : 0 : res_op->set_op (coss, type, 1);
7822 : 0 : res_op->ops[0] = captures[0];
7823 : 0 : res_op->resimplify (lseq, valueize);
7824 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 966, __FILE__, __LINE__, true);
7825 : 0 : return true;
7826 : : }
7827 : 0 : next_after_fail1702:;
7828 : : }
7829 : 0 : break;
7830 : : }
7831 : 0 : case ABS_EXPR:
7832 : 0 : {
7833 : 0 : tree _q20 = gimple_assign_rhs1 (_a1);
7834 : 0 : _q20 = do_valueize (valueize, _q20);
7835 : 0 : {
7836 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
7837 : 0 : const combined_fn coss = CFN_COSH;
7838 : 0 : gimple_seq *lseq = seq;
7839 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1703;
7840 : 0 : {
7841 : 0 : res_op->set_op (coss, type, 1);
7842 : 0 : res_op->ops[0] = captures[0];
7843 : 0 : res_op->resimplify (lseq, valueize);
7844 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 966, __FILE__, __LINE__, true);
7845 : 0 : return true;
7846 : : }
7847 : 0 : next_after_fail1703:;
7848 : : }
7849 : 0 : break;
7850 : : }
7851 : : default:;
7852 : : }
7853 : 4 : else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
7854 : 0 : switch (gimple_call_combined_fn (_c1))
7855 : : {
7856 : 0 : case CFN_BUILT_IN_COPYSIGN:
7857 : 0 : if (gimple_call_num_args (_c1) == 2)
7858 : : {
7859 : 0 : tree _q20 = gimple_call_arg (_c1, 0);
7860 : 0 : _q20 = do_valueize (valueize, _q20);
7861 : 0 : tree _q21 = gimple_call_arg (_c1, 1);
7862 : 0 : _q21 = do_valueize (valueize, _q21);
7863 : 0 : {
7864 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
7865 : 0 : if (gimple_simplify_426 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGN, CFN_COSH))
7866 : 0 : return true;
7867 : : }
7868 : : }
7869 : : break;
7870 : 0 : case CFN_BUILT_IN_COPYSIGNF:
7871 : 0 : if (gimple_call_num_args (_c1) == 2)
7872 : : {
7873 : 0 : tree _q20 = gimple_call_arg (_c1, 0);
7874 : 0 : _q20 = do_valueize (valueize, _q20);
7875 : 0 : tree _q21 = gimple_call_arg (_c1, 1);
7876 : 0 : _q21 = do_valueize (valueize, _q21);
7877 : 0 : {
7878 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
7879 : 0 : if (gimple_simplify_426 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF, CFN_COSH))
7880 : 0 : return true;
7881 : : }
7882 : : }
7883 : : break;
7884 : 0 : case CFN_BUILT_IN_COPYSIGNL:
7885 : 0 : if (gimple_call_num_args (_c1) == 2)
7886 : : {
7887 : 0 : tree _q20 = gimple_call_arg (_c1, 0);
7888 : 0 : _q20 = do_valueize (valueize, _q20);
7889 : 0 : tree _q21 = gimple_call_arg (_c1, 1);
7890 : 0 : _q21 = do_valueize (valueize, _q21);
7891 : 0 : {
7892 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
7893 : 0 : if (gimple_simplify_426 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNL, CFN_COSH))
7894 : 0 : return true;
7895 : : }
7896 : : }
7897 : : break;
7898 : 0 : case CFN_ATANH:
7899 : 0 : if (gimple_call_num_args (_c1) == 1)
7900 : : {
7901 : 0 : tree _q20 = gimple_call_arg (_c1, 0);
7902 : 0 : _q20 = do_valueize (valueize, _q20);
7903 : 0 : {
7904 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
7905 : 0 : if (gimple_simplify_428 (res_op, seq, valueize, type, captures, CFN_COSH, CFN_ATANH, CFN_SQRT))
7906 : 0 : return true;
7907 : : }
7908 : : }
7909 : : break;
7910 : 0 : case CFN_COPYSIGN:
7911 : 0 : if (gimple_call_num_args (_c1) == 2)
7912 : : {
7913 : 0 : tree _q20 = gimple_call_arg (_c1, 0);
7914 : 0 : _q20 = do_valueize (valueize, _q20);
7915 : 0 : tree _q21 = gimple_call_arg (_c1, 1);
7916 : 0 : _q21 = do_valueize (valueize, _q21);
7917 : 0 : {
7918 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
7919 : 0 : if (gimple_simplify_426 (res_op, seq, valueize, type, captures, CFN_COPYSIGN, CFN_COSH))
7920 : 0 : return true;
7921 : : }
7922 : : }
7923 : : break;
7924 : : default:;
7925 : : }
7926 : : }
7927 : : break;
7928 : : default:;
7929 : : }
7930 : : return false;
7931 : : }
7932 : :
7933 : : bool
7934 : 3113255 : gimple_simplify_VIEW_CONVERT_EXPR (gimple_match_op *res_op, gimple_seq *seq,
7935 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
7936 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
7937 : : {
7938 : 3113255 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
7939 : 3113255 : {
7940 : 3113255 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
7941 : 3113255 : if ((
7942 : : 1
7943 : 3113255 : && useless_type_conversion_p (type, TREE_TYPE (captures[0])))
7944 : : || (
7945 : :
7946 : : && type == TREE_TYPE (captures[0]))
7947 : : )
7948 : : {
7949 : 198406 : gimple_seq *lseq = seq;
7950 : 198406 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1750;
7951 : 198406 : {
7952 : 198406 : tree tem;
7953 : 198406 : tem = captures[0];
7954 : 198406 : res_op->set_value (tem);
7955 : 198406 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 955, __FILE__, __LINE__, true);
7956 : 198406 : return true;
7957 : : }
7958 : 0 : next_after_fail1750:;
7959 : : }
7960 : : }
7961 : 2914849 : switch (TREE_CODE (_p0))
7962 : : {
7963 : 2686113 : case SSA_NAME:
7964 : 2686113 : if (gimple *_d1 = get_def (valueize, _p0))
7965 : : {
7966 : 2075307 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
7967 : 1441990 : switch (gimple_assign_rhs_code (_a1))
7968 : : {
7969 : 13818 : case VIEW_CONVERT_EXPR:
7970 : 13818 : {
7971 : 13818 : tree _q20 = TREE_OPERAND (gimple_assign_rhs1 (_a1), 0);
7972 : 13818 : if ((TREE_CODE (_q20) == SSA_NAME
7973 : 13818 : || is_gimple_min_invariant (_q20)))
7974 : : {
7975 : 13814 : _q20 = do_valueize (valueize, _q20);
7976 : 13814 : {
7977 : 13814 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
7978 : 13814 : gimple_seq *lseq = seq;
7979 : 13814 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1751;
7980 : 13814 : {
7981 : 13814 : res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
7982 : 13814 : res_op->ops[0] = captures[0];
7983 : 13814 : res_op->resimplify (lseq, valueize);
7984 : 13814 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 992, __FILE__, __LINE__, true);
7985 : 13814 : return true;
7986 : : }
7987 : 0 : next_after_fail1751:;
7988 : : }
7989 : : }
7990 : : break;
7991 : : }
7992 : : default:;
7993 : : }
7994 : : }
7995 : : break;
7996 : 2901035 : default:;
7997 : : }
7998 : 2901035 : {
7999 : 2901035 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
8000 : 1709563 : if ((INTEGRAL_TYPE_P (type) || POINTER_TYPE_P (type))
8001 : 1197085 : && (INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) || POINTER_TYPE_P (TREE_TYPE (captures[0])))
8002 : 3826866 : && TYPE_PRECISION (type) == TYPE_PRECISION (TREE_TYPE (captures[0]))
8003 : : )
8004 : : {
8005 : 443898 : gimple_seq *lseq = seq;
8006 : 443898 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1752;
8007 : 443898 : {
8008 : 443898 : res_op->set_op (NOP_EXPR, type, 1);
8009 : 443898 : res_op->ops[0] = captures[0];
8010 : 443898 : res_op->resimplify (lseq, valueize);
8011 : 443898 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 993, __FILE__, __LINE__, true);
8012 : 443898 : return true;
8013 : : }
8014 : 0 : next_after_fail1752:;
8015 : : }
8016 : : }
8017 : 2457137 : switch (TREE_CODE (_p0))
8018 : : {
8019 : 2456829 : case SSA_NAME:
8020 : 2456829 : if (gimple *_d1 = get_def (valueize, _p0))
8021 : : {
8022 : 1896991 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
8023 : 1188975 : switch (gimple_assign_rhs_code (_a1))
8024 : : {
8025 : 7108 : CASE_CONVERT:
8026 : 7108 : {
8027 : 7108 : tree _q20 = gimple_assign_rhs1 (_a1);
8028 : 7108 : _q20 = do_valueize (valueize, _q20);
8029 : 7108 : {
8030 : 7108 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
8031 : 14216 : if ((INTEGRAL_TYPE_P (TREE_TYPE (captures[0])) || POINTER_TYPE_P (TREE_TYPE (captures[0])))
8032 : 2090 : && (INTEGRAL_TYPE_P (TREE_TYPE (captures[1])) || POINTER_TYPE_P (TREE_TYPE (captures[1])))
8033 : 2090 : && TYPE_SIZE (TREE_TYPE (captures[0])) == TYPE_SIZE (TREE_TYPE (captures[1]))
8034 : 7321 : && (TYPE_PRECISION (TREE_TYPE (captures[0])) == TYPE_PRECISION (TREE_TYPE (captures[1]))
8035 : 76 : || (TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (TREE_TYPE (captures[1]))
8036 : 1 : && TYPE_UNSIGNED (TREE_TYPE (captures[1]))))
8037 : : )
8038 : : {
8039 : 138 : gimple_seq *lseq = seq;
8040 : 138 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1753;
8041 : 138 : {
8042 : 138 : res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
8043 : 138 : res_op->ops[0] = captures[1];
8044 : 138 : res_op->resimplify (lseq, valueize);
8045 : 138 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 994, __FILE__, __LINE__, true);
8046 : 138 : return true;
8047 : : }
8048 : 0 : next_after_fail1753:;
8049 : : }
8050 : : }
8051 : 6970 : break;
8052 : : }
8053 : 20118 : case CONSTRUCTOR:
8054 : 20118 : {
8055 : 20118 : {
8056 : 20118 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
8057 : 20118 : {
8058 : 20118 : tree ctor = (TREE_CODE (captures[0]) == SSA_NAME
8059 : 20118 : ? gimple_assign_rhs1 (SSA_NAME_DEF_STMT (captures[0])) : captures[0]);
8060 : 20118 : if (CONSTRUCTOR_NELTS (ctor) == 0
8061 : : )
8062 : : {
8063 : 0 : gimple_seq *lseq = seq;
8064 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1754;
8065 : 0 : {
8066 : 0 : tree tem;
8067 : 0 : tem = build_zero_cst (type);
8068 : 0 : res_op->set_value (tem);
8069 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 995, __FILE__, __LINE__, true);
8070 : 0 : return true;
8071 : : }
8072 : 0 : next_after_fail1754:;
8073 : : }
8074 : : else
8075 : : {
8076 : 20118 : if (CONSTRUCTOR_NELTS (ctor) == 1
8077 : 546 : && VECTOR_TYPE_P (TREE_TYPE (ctor))
8078 : 20664 : && operand_equal_p (TYPE_SIZE (type),
8079 : 546 : TYPE_SIZE (TREE_TYPE
8080 : : (CONSTRUCTOR_ELT (ctor, 0)->value)))
8081 : : )
8082 : : {
8083 : 272 : gimple_seq *lseq = seq;
8084 : 272 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1755;
8085 : 272 : {
8086 : 272 : res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
8087 : 272 : res_op->ops[0] = CONSTRUCTOR_ELT (ctor, 0)->value;
8088 : 272 : res_op->resimplify (lseq, valueize);
8089 : 272 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 996, __FILE__, __LINE__, true);
8090 : 272 : return true;
8091 : : }
8092 : 0 : next_after_fail1755:;
8093 : : }
8094 : : }
8095 : : }
8096 : : }
8097 : : break;
8098 : : }
8099 : 7508 : case VEC_COND_EXPR:
8100 : 7508 : {
8101 : 7508 : tree _q20 = gimple_assign_rhs1 (_a1);
8102 : 7508 : _q20 = do_valueize (valueize, _q20);
8103 : 7508 : tree _q21 = gimple_assign_rhs2 (_a1);
8104 : 7508 : _q21 = do_valueize (valueize, _q21);
8105 : 7508 : tree _q22 = gimple_assign_rhs3 (_a1);
8106 : 7508 : _q22 = do_valueize (valueize, _q22);
8107 : 7508 : {
8108 : 7508 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22 };
8109 : 7359 : if (VECTOR_TYPE_P (type) && VECTOR_TYPE_P (TREE_TYPE (captures[2]))
8110 : 10058 : && known_eq (TYPE_VECTOR_SUBPARTS (type),
8111 : : TYPE_VECTOR_SUBPARTS (TREE_TYPE (captures[2])))
8112 : 10497 : && tree_nop_conversion_p (TREE_TYPE (type), TREE_TYPE (TREE_TYPE (captures[2])))
8113 : : )
8114 : : {
8115 : 439 : gimple_seq *lseq = seq;
8116 : 439 : if (lseq
8117 : 135 : && (!single_use (captures[0])))
8118 : 325 : lseq = NULL;
8119 : 439 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1756;
8120 : 439 : {
8121 : 439 : res_op->set_op (VEC_COND_EXPR, type, 3);
8122 : 439 : res_op->ops[0] = captures[1];
8123 : 439 : {
8124 : 439 : tree _o1[1], _r1;
8125 : 439 : _o1[0] = captures[2];
8126 : 439 : if (type != TREE_TYPE (_o1[0]) /* XXX */
8127 : 439 : && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
8128 : : {
8129 : 439 : gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, type, _o1[0]);
8130 : 439 : tem_op.resimplify (NULL, valueize);
8131 : 439 : _r1 = maybe_push_res_to_seq (&tem_op, NULL);
8132 : 439 : if (!_r1) goto next_after_fail1756;
8133 : : }
8134 : : else
8135 : : _r1 = _o1[0];
8136 : 185 : res_op->ops[1] = _r1;
8137 : : }
8138 : 185 : {
8139 : 185 : tree _o1[1], _r1;
8140 : 185 : _o1[0] = captures[3];
8141 : 185 : if (type != TREE_TYPE (_o1[0]) /* XXX */
8142 : 185 : && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
8143 : : {
8144 : 185 : gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, type, _o1[0]);
8145 : 185 : tem_op.resimplify (NULL, valueize);
8146 : 185 : _r1 = maybe_push_res_to_seq (&tem_op, NULL);
8147 : 185 : if (!_r1) goto next_after_fail1756;
8148 : : }
8149 : : else
8150 : : _r1 = _o1[0];
8151 : 183 : res_op->ops[2] = _r1;
8152 : : }
8153 : 183 : res_op->resimplify (lseq, valueize);
8154 : 183 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 997, __FILE__, __LINE__, true);
8155 : 183 : return true;
8156 : : }
8157 : 7325 : next_after_fail1756:;
8158 : : }
8159 : : }
8160 : 7325 : break;
8161 : : }
8162 : : default:;
8163 : : }
8164 : : }
8165 : : break;
8166 : : default:;
8167 : : }
8168 : : return false;
8169 : : }
8170 : :
8171 : : bool
8172 : 2781 : gimple_simplify_CFN_BUILT_IN_BSWAP16 (gimple_match_op *res_op, gimple_seq *seq,
8173 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
8174 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
8175 : : {
8176 : 2781 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
8177 : 2781 : switch (TREE_CODE (_p0))
8178 : : {
8179 : 2731 : case SSA_NAME:
8180 : 2731 : if (gimple *_d1 = get_def (valueize, _p0))
8181 : : {
8182 : 1375 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
8183 : 1414 : switch (gimple_assign_rhs_code (_a1))
8184 : : {
8185 : 2 : case BIT_NOT_EXPR:
8186 : 2 : {
8187 : 2 : tree _q20 = gimple_assign_rhs1 (_a1);
8188 : 2 : _q20 = do_valueize (valueize, _q20);
8189 : 2 : switch (TREE_CODE (_q20))
8190 : : {
8191 : 2 : case SSA_NAME:
8192 : 2 : if (gimple *_d2 = get_def (valueize, _q20))
8193 : : {
8194 : 2 : if (gcall *_c2 = dyn_cast <gcall *> (_d2))
8195 : 0 : switch (gimple_call_combined_fn (_c2))
8196 : : {
8197 : 0 : case CFN_BUILT_IN_BSWAP16:
8198 : 0 : if (gimple_call_num_args (_c2) == 1)
8199 : : {
8200 : 0 : tree _q30 = gimple_call_arg (_c2, 0);
8201 : 0 : _q30 = do_valueize (valueize, _q30);
8202 : 0 : {
8203 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
8204 : 0 : if (gimple_simplify_614 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP16))
8205 : 0 : return true;
8206 : : }
8207 : : }
8208 : : break;
8209 : : default:;
8210 : : }
8211 : : }
8212 : : break;
8213 : : default:;
8214 : : }
8215 : : break;
8216 : : }
8217 : 0 : case BIT_XOR_EXPR:
8218 : 0 : {
8219 : 0 : tree _q20 = gimple_assign_rhs1 (_a1);
8220 : 0 : _q20 = do_valueize (valueize, _q20);
8221 : 0 : tree _q21 = gimple_assign_rhs2 (_a1);
8222 : 0 : _q21 = do_valueize (valueize, _q21);
8223 : 0 : if (tree_swap_operands_p (_q20, _q21))
8224 : 0 : std::swap (_q20, _q21);
8225 : 0 : switch (TREE_CODE (_q20))
8226 : : {
8227 : 0 : case SSA_NAME:
8228 : 0 : if (gimple *_d2 = get_def (valueize, _q20))
8229 : : {
8230 : 0 : if (gcall *_c2 = dyn_cast <gcall *> (_d2))
8231 : 0 : switch (gimple_call_combined_fn (_c2))
8232 : : {
8233 : 0 : case CFN_BUILT_IN_BSWAP16:
8234 : 0 : if (gimple_call_num_args (_c2) == 1)
8235 : : {
8236 : 0 : tree _q30 = gimple_call_arg (_c2, 0);
8237 : 0 : _q30 = do_valueize (valueize, _q30);
8238 : 0 : {
8239 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
8240 : 0 : if (gimple_simplify_615 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR, CFN_BUILT_IN_BSWAP16))
8241 : 0 : return true;
8242 : : }
8243 : : }
8244 : : break;
8245 : : default:;
8246 : : }
8247 : : }
8248 : : break;
8249 : 0 : default:;
8250 : : }
8251 : 0 : switch (TREE_CODE (_q21))
8252 : : {
8253 : 0 : case SSA_NAME:
8254 : 0 : if (gimple *_d2 = get_def (valueize, _q21))
8255 : : {
8256 : 0 : if (gcall *_c2 = dyn_cast <gcall *> (_d2))
8257 : 0 : switch (gimple_call_combined_fn (_c2))
8258 : : {
8259 : 0 : case CFN_BUILT_IN_BSWAP16:
8260 : 0 : if (gimple_call_num_args (_c2) == 1)
8261 : : {
8262 : 0 : tree _q40 = gimple_call_arg (_c2, 0);
8263 : 0 : _q40 = do_valueize (valueize, _q40);
8264 : 0 : {
8265 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
8266 : 0 : if (gimple_simplify_615 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR, CFN_BUILT_IN_BSWAP16))
8267 : 0 : return true;
8268 : : }
8269 : : }
8270 : : break;
8271 : : default:;
8272 : : }
8273 : : }
8274 : : break;
8275 : : default:;
8276 : : }
8277 : 2781 : break;
8278 : : }
8279 : 22 : case BIT_IOR_EXPR:
8280 : 22 : {
8281 : 22 : tree _q20 = gimple_assign_rhs1 (_a1);
8282 : 22 : _q20 = do_valueize (valueize, _q20);
8283 : 22 : tree _q21 = gimple_assign_rhs2 (_a1);
8284 : 22 : _q21 = do_valueize (valueize, _q21);
8285 : 22 : if (tree_swap_operands_p (_q20, _q21))
8286 : 0 : std::swap (_q20, _q21);
8287 : 22 : switch (TREE_CODE (_q20))
8288 : : {
8289 : 22 : case SSA_NAME:
8290 : 22 : if (gimple *_d2 = get_def (valueize, _q20))
8291 : : {
8292 : 22 : if (gcall *_c2 = dyn_cast <gcall *> (_d2))
8293 : 0 : switch (gimple_call_combined_fn (_c2))
8294 : : {
8295 : 0 : case CFN_BUILT_IN_BSWAP16:
8296 : 0 : if (gimple_call_num_args (_c2) == 1)
8297 : : {
8298 : 0 : tree _q30 = gimple_call_arg (_c2, 0);
8299 : 0 : _q30 = do_valueize (valueize, _q30);
8300 : 0 : {
8301 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
8302 : 0 : if (gimple_simplify_615 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, CFN_BUILT_IN_BSWAP16))
8303 : 0 : return true;
8304 : : }
8305 : : }
8306 : : break;
8307 : : default:;
8308 : : }
8309 : : }
8310 : : break;
8311 : 22 : default:;
8312 : : }
8313 : 22 : switch (TREE_CODE (_q21))
8314 : : {
8315 : 0 : case SSA_NAME:
8316 : 0 : if (gimple *_d2 = get_def (valueize, _q21))
8317 : : {
8318 : 0 : if (gcall *_c2 = dyn_cast <gcall *> (_d2))
8319 : 0 : switch (gimple_call_combined_fn (_c2))
8320 : : {
8321 : 0 : case CFN_BUILT_IN_BSWAP16:
8322 : 0 : if (gimple_call_num_args (_c2) == 1)
8323 : : {
8324 : 0 : tree _q40 = gimple_call_arg (_c2, 0);
8325 : 0 : _q40 = do_valueize (valueize, _q40);
8326 : 0 : {
8327 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
8328 : 0 : if (gimple_simplify_615 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, CFN_BUILT_IN_BSWAP16))
8329 : 0 : return true;
8330 : : }
8331 : : }
8332 : : break;
8333 : : default:;
8334 : : }
8335 : : }
8336 : : break;
8337 : : default:;
8338 : : }
8339 : 2781 : break;
8340 : : }
8341 : 22 : case BIT_AND_EXPR:
8342 : 22 : {
8343 : 22 : tree _q20 = gimple_assign_rhs1 (_a1);
8344 : 22 : _q20 = do_valueize (valueize, _q20);
8345 : 22 : tree _q21 = gimple_assign_rhs2 (_a1);
8346 : 22 : _q21 = do_valueize (valueize, _q21);
8347 : 22 : if (tree_swap_operands_p (_q20, _q21))
8348 : 0 : std::swap (_q20, _q21);
8349 : 22 : switch (TREE_CODE (_q20))
8350 : : {
8351 : 22 : case SSA_NAME:
8352 : 22 : if (gimple *_d2 = get_def (valueize, _q20))
8353 : : {
8354 : 22 : if (gcall *_c2 = dyn_cast <gcall *> (_d2))
8355 : 0 : switch (gimple_call_combined_fn (_c2))
8356 : : {
8357 : 0 : case CFN_BUILT_IN_BSWAP16:
8358 : 0 : if (gimple_call_num_args (_c2) == 1)
8359 : : {
8360 : 0 : tree _q30 = gimple_call_arg (_c2, 0);
8361 : 0 : _q30 = do_valueize (valueize, _q30);
8362 : 0 : {
8363 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
8364 : 0 : if (gimple_simplify_615 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, CFN_BUILT_IN_BSWAP16))
8365 : 0 : return true;
8366 : : }
8367 : : }
8368 : : break;
8369 : : default:;
8370 : : }
8371 : : }
8372 : : break;
8373 : 22 : default:;
8374 : : }
8375 : 22 : switch (TREE_CODE (_q21))
8376 : : {
8377 : 0 : case SSA_NAME:
8378 : 0 : if (gimple *_d2 = get_def (valueize, _q21))
8379 : : {
8380 : 0 : if (gcall *_c2 = dyn_cast <gcall *> (_d2))
8381 : 0 : switch (gimple_call_combined_fn (_c2))
8382 : : {
8383 : 0 : case CFN_BUILT_IN_BSWAP16:
8384 : 0 : if (gimple_call_num_args (_c2) == 1)
8385 : : {
8386 : 0 : tree _q40 = gimple_call_arg (_c2, 0);
8387 : 0 : _q40 = do_valueize (valueize, _q40);
8388 : 0 : {
8389 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
8390 : 0 : if (gimple_simplify_615 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, CFN_BUILT_IN_BSWAP16))
8391 : 0 : return true;
8392 : : }
8393 : : }
8394 : : break;
8395 : : default:;
8396 : : }
8397 : : }
8398 : : break;
8399 : : default:;
8400 : : }
8401 : 2781 : break;
8402 : : }
8403 : : default:;
8404 : : }
8405 : 217 : else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
8406 : 4 : switch (gimple_call_combined_fn (_c1))
8407 : : {
8408 : 4 : case CFN_BUILT_IN_BSWAP16:
8409 : 4 : if (gimple_call_num_args (_c1) == 1)
8410 : : {
8411 : 4 : tree _q20 = gimple_call_arg (_c1, 0);
8412 : 4 : _q20 = do_valueize (valueize, _q20);
8413 : 4 : {
8414 : 4 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
8415 : 4 : if (gimple_simplify_613 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP16))
8416 : 4 : return true;
8417 : : }
8418 : : }
8419 : : break;
8420 : : default:;
8421 : : }
8422 : : }
8423 : : break;
8424 : : default:;
8425 : : }
8426 : : return false;
8427 : : }
8428 : :
8429 : : bool
8430 : 6550 : gimple_simplify_CFN_BUILT_IN_BSWAP64 (gimple_match_op *res_op, gimple_seq *seq,
8431 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
8432 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
8433 : : {
8434 : 6550 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
8435 : 6550 : switch (TREE_CODE (_p0))
8436 : : {
8437 : 6477 : case SSA_NAME:
8438 : 6477 : if (gimple *_d1 = get_def (valueize, _p0))
8439 : : {
8440 : 2688 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
8441 : 2944 : switch (gimple_assign_rhs_code (_a1))
8442 : : {
8443 : 2 : case BIT_NOT_EXPR:
8444 : 2 : {
8445 : 2 : tree _q20 = gimple_assign_rhs1 (_a1);
8446 : 2 : _q20 = do_valueize (valueize, _q20);
8447 : 2 : switch (TREE_CODE (_q20))
8448 : : {
8449 : 2 : case SSA_NAME:
8450 : 2 : if (gimple *_d2 = get_def (valueize, _q20))
8451 : : {
8452 : 2 : if (gcall *_c2 = dyn_cast <gcall *> (_d2))
8453 : 2 : switch (gimple_call_combined_fn (_c2))
8454 : : {
8455 : 2 : case CFN_BUILT_IN_BSWAP64:
8456 : 2 : if (gimple_call_num_args (_c2) == 1)
8457 : : {
8458 : 2 : tree _q30 = gimple_call_arg (_c2, 0);
8459 : 2 : _q30 = do_valueize (valueize, _q30);
8460 : 2 : {
8461 : 2 : tree captures[1] ATTRIBUTE_UNUSED = { _q30 };
8462 : 2 : if (gimple_simplify_614 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP64))
8463 : 2 : return true;
8464 : : }
8465 : : }
8466 : : break;
8467 : : default:;
8468 : : }
8469 : : }
8470 : : break;
8471 : : default:;
8472 : : }
8473 : : break;
8474 : : }
8475 : 4 : case BIT_XOR_EXPR:
8476 : 4 : {
8477 : 4 : tree _q20 = gimple_assign_rhs1 (_a1);
8478 : 4 : _q20 = do_valueize (valueize, _q20);
8479 : 4 : tree _q21 = gimple_assign_rhs2 (_a1);
8480 : 4 : _q21 = do_valueize (valueize, _q21);
8481 : 4 : if (tree_swap_operands_p (_q20, _q21))
8482 : 0 : std::swap (_q20, _q21);
8483 : 4 : switch (TREE_CODE (_q20))
8484 : : {
8485 : 4 : case SSA_NAME:
8486 : 4 : if (gimple *_d2 = get_def (valueize, _q20))
8487 : : {
8488 : 4 : if (gcall *_c2 = dyn_cast <gcall *> (_d2))
8489 : 4 : switch (gimple_call_combined_fn (_c2))
8490 : : {
8491 : 4 : case CFN_BUILT_IN_BSWAP64:
8492 : 4 : if (gimple_call_num_args (_c2) == 1)
8493 : : {
8494 : 4 : tree _q30 = gimple_call_arg (_c2, 0);
8495 : 4 : _q30 = do_valueize (valueize, _q30);
8496 : 4 : {
8497 : 4 : tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
8498 : 4 : if (gimple_simplify_615 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR, CFN_BUILT_IN_BSWAP64))
8499 : 4 : return true;
8500 : : }
8501 : : }
8502 : : break;
8503 : : default:;
8504 : : }
8505 : : }
8506 : : break;
8507 : 0 : default:;
8508 : : }
8509 : 0 : switch (TREE_CODE (_q21))
8510 : : {
8511 : 0 : case SSA_NAME:
8512 : 0 : if (gimple *_d2 = get_def (valueize, _q21))
8513 : : {
8514 : 0 : if (gcall *_c2 = dyn_cast <gcall *> (_d2))
8515 : 0 : switch (gimple_call_combined_fn (_c2))
8516 : : {
8517 : 0 : case CFN_BUILT_IN_BSWAP64:
8518 : 0 : if (gimple_call_num_args (_c2) == 1)
8519 : : {
8520 : 0 : tree _q40 = gimple_call_arg (_c2, 0);
8521 : 0 : _q40 = do_valueize (valueize, _q40);
8522 : 0 : {
8523 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
8524 : 0 : if (gimple_simplify_615 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR, CFN_BUILT_IN_BSWAP64))
8525 : 0 : return true;
8526 : : }
8527 : : }
8528 : : break;
8529 : : default:;
8530 : : }
8531 : : }
8532 : : break;
8533 : : default:;
8534 : : }
8535 : 6550 : break;
8536 : : }
8537 : 141 : case BIT_IOR_EXPR:
8538 : 141 : {
8539 : 141 : tree _q20 = gimple_assign_rhs1 (_a1);
8540 : 141 : _q20 = do_valueize (valueize, _q20);
8541 : 141 : tree _q21 = gimple_assign_rhs2 (_a1);
8542 : 141 : _q21 = do_valueize (valueize, _q21);
8543 : 141 : if (tree_swap_operands_p (_q20, _q21))
8544 : 0 : std::swap (_q20, _q21);
8545 : 141 : switch (TREE_CODE (_q20))
8546 : : {
8547 : 141 : case SSA_NAME:
8548 : 141 : if (gimple *_d2 = get_def (valueize, _q20))
8549 : : {
8550 : 141 : if (gcall *_c2 = dyn_cast <gcall *> (_d2))
8551 : 4 : switch (gimple_call_combined_fn (_c2))
8552 : : {
8553 : 4 : case CFN_BUILT_IN_BSWAP64:
8554 : 4 : if (gimple_call_num_args (_c2) == 1)
8555 : : {
8556 : 4 : tree _q30 = gimple_call_arg (_c2, 0);
8557 : 4 : _q30 = do_valueize (valueize, _q30);
8558 : 4 : {
8559 : 4 : tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
8560 : 4 : if (gimple_simplify_615 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, CFN_BUILT_IN_BSWAP64))
8561 : 4 : return true;
8562 : : }
8563 : : }
8564 : : break;
8565 : : default:;
8566 : : }
8567 : : }
8568 : : break;
8569 : 137 : default:;
8570 : : }
8571 : 137 : switch (TREE_CODE (_q21))
8572 : : {
8573 : 126 : case SSA_NAME:
8574 : 126 : if (gimple *_d2 = get_def (valueize, _q21))
8575 : : {
8576 : 122 : if (gcall *_c2 = dyn_cast <gcall *> (_d2))
8577 : 0 : switch (gimple_call_combined_fn (_c2))
8578 : : {
8579 : 0 : case CFN_BUILT_IN_BSWAP64:
8580 : 0 : if (gimple_call_num_args (_c2) == 1)
8581 : : {
8582 : 0 : tree _q40 = gimple_call_arg (_c2, 0);
8583 : 0 : _q40 = do_valueize (valueize, _q40);
8584 : 0 : {
8585 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
8586 : 0 : if (gimple_simplify_615 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, CFN_BUILT_IN_BSWAP64))
8587 : 0 : return true;
8588 : : }
8589 : : }
8590 : : break;
8591 : : default:;
8592 : : }
8593 : : }
8594 : : break;
8595 : : default:;
8596 : : }
8597 : 6550 : break;
8598 : : }
8599 : 15 : case BIT_AND_EXPR:
8600 : 15 : {
8601 : 15 : tree _q20 = gimple_assign_rhs1 (_a1);
8602 : 15 : _q20 = do_valueize (valueize, _q20);
8603 : 15 : tree _q21 = gimple_assign_rhs2 (_a1);
8604 : 15 : _q21 = do_valueize (valueize, _q21);
8605 : 15 : if (tree_swap_operands_p (_q20, _q21))
8606 : 0 : std::swap (_q20, _q21);
8607 : 15 : switch (TREE_CODE (_q20))
8608 : : {
8609 : 15 : case SSA_NAME:
8610 : 15 : if (gimple *_d2 = get_def (valueize, _q20))
8611 : : {
8612 : 15 : if (gcall *_c2 = dyn_cast <gcall *> (_d2))
8613 : 4 : switch (gimple_call_combined_fn (_c2))
8614 : : {
8615 : 4 : case CFN_BUILT_IN_BSWAP64:
8616 : 4 : if (gimple_call_num_args (_c2) == 1)
8617 : : {
8618 : 4 : tree _q30 = gimple_call_arg (_c2, 0);
8619 : 4 : _q30 = do_valueize (valueize, _q30);
8620 : 4 : {
8621 : 4 : tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q21 };
8622 : 4 : if (gimple_simplify_615 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, CFN_BUILT_IN_BSWAP64))
8623 : 4 : return true;
8624 : : }
8625 : : }
8626 : : break;
8627 : : default:;
8628 : : }
8629 : : }
8630 : : break;
8631 : 11 : default:;
8632 : : }
8633 : 11 : switch (TREE_CODE (_q21))
8634 : : {
8635 : 0 : case SSA_NAME:
8636 : 0 : if (gimple *_d2 = get_def (valueize, _q21))
8637 : : {
8638 : 0 : if (gcall *_c2 = dyn_cast <gcall *> (_d2))
8639 : 0 : switch (gimple_call_combined_fn (_c2))
8640 : : {
8641 : 0 : case CFN_BUILT_IN_BSWAP64:
8642 : 0 : if (gimple_call_num_args (_c2) == 1)
8643 : : {
8644 : 0 : tree _q40 = gimple_call_arg (_c2, 0);
8645 : 0 : _q40 = do_valueize (valueize, _q40);
8646 : 0 : {
8647 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q40, _q20 };
8648 : 0 : if (gimple_simplify_615 (res_op, seq, valueize, type, captures, BIT_AND_EXPR, CFN_BUILT_IN_BSWAP64))
8649 : 0 : return true;
8650 : : }
8651 : : }
8652 : : break;
8653 : : default:;
8654 : : }
8655 : : }
8656 : : break;
8657 : : default:;
8658 : : }
8659 : 6550 : break;
8660 : : }
8661 : : default:;
8662 : : }
8663 : 946 : else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
8664 : 476 : switch (gimple_call_combined_fn (_c1))
8665 : : {
8666 : 10 : case CFN_BUILT_IN_BSWAP64:
8667 : 10 : if (gimple_call_num_args (_c1) == 1)
8668 : : {
8669 : 10 : tree _q20 = gimple_call_arg (_c1, 0);
8670 : 10 : _q20 = do_valueize (valueize, _q20);
8671 : 10 : {
8672 : 10 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
8673 : 10 : if (gimple_simplify_613 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP64))
8674 : 10 : return true;
8675 : : }
8676 : : }
8677 : : break;
8678 : : default:;
8679 : : }
8680 : : }
8681 : : break;
8682 : : default:;
8683 : : }
8684 : : return false;
8685 : : }
8686 : :
8687 : : bool
8688 : 1024 : gimple_simplify_CFN_BUILT_IN_LOG2F (gimple_match_op *res_op, gimple_seq *seq,
8689 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
8690 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
8691 : : {
8692 : 1024 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
8693 : 1024 : switch (TREE_CODE (_p0))
8694 : : {
8695 : 657 : case SSA_NAME:
8696 : 657 : if (gimple *_d1 = get_def (valueize, _p0))
8697 : : {
8698 : 420 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
8699 : 246 : switch (gimple_assign_rhs_code (_a1))
8700 : : {
8701 : 9 : case RDIV_EXPR:
8702 : 9 : {
8703 : 9 : tree _q20 = gimple_assign_rhs1 (_a1);
8704 : 9 : _q20 = do_valueize (valueize, _q20);
8705 : 9 : tree _q21 = gimple_assign_rhs2 (_a1);
8706 : 9 : _q21 = do_valueize (valueize, _q21);
8707 : 9 : switch (TREE_CODE (_q20))
8708 : : {
8709 : 4 : case REAL_CST:
8710 : 4 : {
8711 : 4 : {
8712 : 4 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
8713 : 4 : if (gimple_simplify_642 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LOG2F))
8714 : 2 : return true;
8715 : : }
8716 : 2 : break;
8717 : : }
8718 : 7 : default:;
8719 : : }
8720 : 7 : if (real_onep (_q20))
8721 : : {
8722 : 1 : {
8723 : 1 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
8724 : 1 : if (gimple_simplify_641 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LOG2F))
8725 : 0 : return true;
8726 : : }
8727 : : }
8728 : : break;
8729 : : }
8730 : : default:;
8731 : : }
8732 : 241 : else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
8733 : 84 : switch (gimple_call_combined_fn (_c1))
8734 : : {
8735 : 12 : case CFN_BUILT_IN_SQRTF:
8736 : 12 : if (gimple_call_num_args (_c1) == 1)
8737 : : {
8738 : 12 : tree _q20 = gimple_call_arg (_c1, 0);
8739 : 12 : _q20 = do_valueize (valueize, _q20);
8740 : 12 : {
8741 : 12 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
8742 : 12 : if (flag_unsafe_math_optimizations
8743 : : )
8744 : : {
8745 : 12 : if (SCALAR_FLOAT_TYPE_P (type)
8746 : : )
8747 : : {
8748 : 12 : {
8749 : 12 : tree x;
8750 : 12 : switch (CFN_BUILT_IN_SQRTF)
8751 : : {
8752 : 12 : CASE_CFN_SQRT:
8753 : 12 : x = build_real (type, dconsthalf);
8754 : 12 : break;
8755 : : CASE_CFN_CBRT:
8756 : : x = build_real_truncate (type, dconst_third ());
8757 : : break;
8758 : : default:
8759 : : gcc_unreachable ();
8760 : : }
8761 : 12 : gimple_seq *lseq = seq;
8762 : 12 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1840;
8763 : 12 : {
8764 : 12 : res_op->set_op (MULT_EXPR, type, 2);
8765 : 12 : res_op->ops[0] = x;
8766 : 12 : {
8767 : 12 : tree _o1[1], _r1;
8768 : 12 : _o1[0] = captures[0];
8769 : 12 : gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG2F, TREE_TYPE (_o1[0]), _o1[0]);
8770 : 12 : tem_op.resimplify (lseq, valueize);
8771 : 12 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
8772 : 12 : if (!_r1) goto next_after_fail1840;
8773 : 6 : res_op->ops[1] = _r1;
8774 : : }
8775 : 6 : res_op->resimplify (lseq, valueize);
8776 : 6 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1009, __FILE__, __LINE__, true);
8777 : 6 : return true;
8778 : : }
8779 : : next_after_fail1840:;
8780 : : }
8781 : : }
8782 : : }
8783 : : }
8784 : : }
8785 : : break;
8786 : 12 : case CFN_BUILT_IN_EXP10F:
8787 : 12 : if (gimple_call_num_args (_c1) == 1)
8788 : : {
8789 : 12 : tree _q20 = gimple_call_arg (_c1, 0);
8790 : 12 : _q20 = do_valueize (valueize, _q20);
8791 : 12 : {
8792 : 12 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
8793 : 12 : if (flag_unsafe_math_optimizations
8794 : : )
8795 : : {
8796 : 12 : if (SCALAR_FLOAT_TYPE_P (type)
8797 : : )
8798 : : {
8799 : 12 : {
8800 : 12 : tree x;
8801 : 12 : switch (CFN_BUILT_IN_EXP10F)
8802 : : {
8803 : : CASE_CFN_EXP:
8804 : : x = build_real_truncate (type, dconst_e ());
8805 : : break;
8806 : : CASE_CFN_EXP2:
8807 : : x = build_real (type, dconst2);
8808 : : break;
8809 : 12 : CASE_CFN_EXP10:
8810 : 12 : CASE_CFN_POW10:
8811 : 12 : {
8812 : 12 : REAL_VALUE_TYPE dconst10;
8813 : 12 : real_from_integer (&dconst10, VOIDmode, 10, SIGNED);
8814 : 12 : x = build_real (type, dconst10);
8815 : : }
8816 : 12 : break;
8817 : : default:
8818 : : gcc_unreachable ();
8819 : : }
8820 : 12 : gimple_seq *lseq = seq;
8821 : 12 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1841;
8822 : 12 : {
8823 : 12 : res_op->set_op (MULT_EXPR, type, 2);
8824 : 12 : {
8825 : 12 : tree _o1[1], _r1;
8826 : 12 : _o1[0] = x;
8827 : 12 : gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG2F, TREE_TYPE (_o1[0]), _o1[0]);
8828 : 12 : tem_op.resimplify (lseq, valueize);
8829 : 12 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
8830 : 12 : if (!_r1) goto next_after_fail1841;
8831 : 12 : res_op->ops[0] = _r1;
8832 : : }
8833 : 12 : res_op->ops[1] = captures[0];
8834 : 12 : res_op->resimplify (lseq, valueize);
8835 : 12 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1010, __FILE__, __LINE__, true);
8836 : 12 : return true;
8837 : : }
8838 : : next_after_fail1841:;
8839 : : }
8840 : : }
8841 : : }
8842 : : }
8843 : : }
8844 : : break;
8845 : 12 : case CFN_BUILT_IN_EXPF:
8846 : 12 : if (gimple_call_num_args (_c1) == 1)
8847 : : {
8848 : 12 : tree _q20 = gimple_call_arg (_c1, 0);
8849 : 12 : _q20 = do_valueize (valueize, _q20);
8850 : 12 : {
8851 : 12 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
8852 : 12 : if (flag_unsafe_math_optimizations
8853 : : )
8854 : : {
8855 : 12 : if (SCALAR_FLOAT_TYPE_P (type)
8856 : : )
8857 : : {
8858 : 12 : {
8859 : 12 : tree x;
8860 : 12 : switch (CFN_BUILT_IN_EXPF)
8861 : : {
8862 : 12 : CASE_CFN_EXP:
8863 : 12 : x = build_real_truncate (type, dconst_e ());
8864 : 12 : break;
8865 : : CASE_CFN_EXP2:
8866 : : x = build_real (type, dconst2);
8867 : : break;
8868 : : CASE_CFN_EXP10:
8869 : : CASE_CFN_POW10:
8870 : : {
8871 : : REAL_VALUE_TYPE dconst10;
8872 : : real_from_integer (&dconst10, VOIDmode, 10, SIGNED);
8873 : : x = build_real (type, dconst10);
8874 : : }
8875 : : break;
8876 : : default:
8877 : : gcc_unreachable ();
8878 : : }
8879 : 12 : gimple_seq *lseq = seq;
8880 : 12 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1842;
8881 : 12 : {
8882 : 12 : res_op->set_op (MULT_EXPR, type, 2);
8883 : 12 : {
8884 : 12 : tree _o1[1], _r1;
8885 : 12 : _o1[0] = x;
8886 : 12 : gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG2F, TREE_TYPE (_o1[0]), _o1[0]);
8887 : 12 : tem_op.resimplify (lseq, valueize);
8888 : 12 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
8889 : 12 : if (!_r1) goto next_after_fail1842;
8890 : 12 : res_op->ops[0] = _r1;
8891 : : }
8892 : 12 : res_op->ops[1] = captures[0];
8893 : 12 : res_op->resimplify (lseq, valueize);
8894 : 12 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1010, __FILE__, __LINE__, true);
8895 : 12 : return true;
8896 : : }
8897 : : next_after_fail1842:;
8898 : : }
8899 : : }
8900 : : }
8901 : : }
8902 : : }
8903 : : break;
8904 : 12 : case CFN_BUILT_IN_POWF:
8905 : 12 : if (gimple_call_num_args (_c1) == 2)
8906 : : {
8907 : 12 : tree _q20 = gimple_call_arg (_c1, 0);
8908 : 12 : _q20 = do_valueize (valueize, _q20);
8909 : 12 : tree _q21 = gimple_call_arg (_c1, 1);
8910 : 12 : _q21 = do_valueize (valueize, _q21);
8911 : 12 : {
8912 : 12 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
8913 : 12 : if (gimple_simplify_643 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LOG2F, CFN_BUILT_IN_POWF))
8914 : 6 : return true;
8915 : : }
8916 : : }
8917 : : break;
8918 : 12 : case CFN_BUILT_IN_POW10F:
8919 : 12 : if (gimple_call_num_args (_c1) == 1)
8920 : : {
8921 : 12 : tree _q20 = gimple_call_arg (_c1, 0);
8922 : 12 : _q20 = do_valueize (valueize, _q20);
8923 : 12 : {
8924 : 12 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
8925 : 12 : if (flag_unsafe_math_optimizations
8926 : : )
8927 : : {
8928 : 12 : if (SCALAR_FLOAT_TYPE_P (type)
8929 : : )
8930 : : {
8931 : 12 : {
8932 : 12 : tree x;
8933 : 12 : switch (CFN_BUILT_IN_POW10F)
8934 : : {
8935 : : CASE_CFN_EXP:
8936 : : x = build_real_truncate (type, dconst_e ());
8937 : : break;
8938 : : CASE_CFN_EXP2:
8939 : : x = build_real (type, dconst2);
8940 : : break;
8941 : 12 : CASE_CFN_EXP10:
8942 : 12 : CASE_CFN_POW10:
8943 : 12 : {
8944 : 12 : REAL_VALUE_TYPE dconst10;
8945 : 12 : real_from_integer (&dconst10, VOIDmode, 10, SIGNED);
8946 : 12 : x = build_real (type, dconst10);
8947 : : }
8948 : 12 : break;
8949 : : default:
8950 : : gcc_unreachable ();
8951 : : }
8952 : 12 : gimple_seq *lseq = seq;
8953 : 12 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1843;
8954 : 12 : {
8955 : 12 : res_op->set_op (MULT_EXPR, type, 2);
8956 : 12 : {
8957 : 12 : tree _o1[1], _r1;
8958 : 12 : _o1[0] = x;
8959 : 12 : gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG2F, TREE_TYPE (_o1[0]), _o1[0]);
8960 : 12 : tem_op.resimplify (lseq, valueize);
8961 : 12 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
8962 : 12 : if (!_r1) goto next_after_fail1843;
8963 : 12 : res_op->ops[0] = _r1;
8964 : : }
8965 : 12 : res_op->ops[1] = captures[0];
8966 : 12 : res_op->resimplify (lseq, valueize);
8967 : 12 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1010, __FILE__, __LINE__, true);
8968 : 12 : return true;
8969 : : }
8970 : : next_after_fail1843:;
8971 : : }
8972 : : }
8973 : : }
8974 : : }
8975 : : }
8976 : : break;
8977 : 12 : case CFN_BUILT_IN_CBRTF:
8978 : 12 : if (gimple_call_num_args (_c1) == 1)
8979 : : {
8980 : 12 : tree _q20 = gimple_call_arg (_c1, 0);
8981 : 12 : _q20 = do_valueize (valueize, _q20);
8982 : 12 : {
8983 : 12 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
8984 : 12 : if (flag_unsafe_math_optimizations
8985 : : )
8986 : : {
8987 : 12 : if (SCALAR_FLOAT_TYPE_P (type)
8988 : : )
8989 : : {
8990 : 12 : {
8991 : 12 : tree x;
8992 : 12 : switch (CFN_BUILT_IN_CBRTF)
8993 : : {
8994 : : CASE_CFN_SQRT:
8995 : : x = build_real (type, dconsthalf);
8996 : : break;
8997 : 12 : CASE_CFN_CBRT:
8998 : 12 : x = build_real_truncate (type, dconst_third ());
8999 : 12 : break;
9000 : : default:
9001 : : gcc_unreachable ();
9002 : : }
9003 : 12 : gimple_seq *lseq = seq;
9004 : 12 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1844;
9005 : 12 : {
9006 : 12 : res_op->set_op (MULT_EXPR, type, 2);
9007 : 12 : res_op->ops[0] = x;
9008 : 12 : {
9009 : 12 : tree _o1[1], _r1;
9010 : 12 : _o1[0] = captures[0];
9011 : 12 : gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG2F, TREE_TYPE (_o1[0]), _o1[0]);
9012 : 12 : tem_op.resimplify (lseq, valueize);
9013 : 12 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
9014 : 12 : if (!_r1) goto next_after_fail1844;
9015 : 6 : res_op->ops[1] = _r1;
9016 : : }
9017 : 6 : res_op->resimplify (lseq, valueize);
9018 : 6 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1009, __FILE__, __LINE__, true);
9019 : 6 : return true;
9020 : : }
9021 : : next_after_fail1844:;
9022 : : }
9023 : : }
9024 : : }
9025 : : }
9026 : : }
9027 : : break;
9028 : 12 : case CFN_BUILT_IN_EXP2F:
9029 : 12 : if (gimple_call_num_args (_c1) == 1)
9030 : : {
9031 : 12 : tree _q20 = gimple_call_arg (_c1, 0);
9032 : 12 : _q20 = do_valueize (valueize, _q20);
9033 : 12 : {
9034 : 12 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
9035 : 12 : if (flag_unsafe_math_optimizations
9036 : : )
9037 : : {
9038 : 12 : gimple_seq *lseq = seq;
9039 : 12 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1845;
9040 : 12 : {
9041 : 12 : tree tem;
9042 : 12 : tem = captures[0];
9043 : 12 : res_op->set_value (tem);
9044 : 12 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1011, __FILE__, __LINE__, true);
9045 : 12 : return true;
9046 : : }
9047 : 0 : next_after_fail1845:;
9048 : : }
9049 : : }
9050 : : }
9051 : : break;
9052 : : default:;
9053 : : }
9054 : : }
9055 : : break;
9056 : : default:;
9057 : : }
9058 : : return false;
9059 : : }
9060 : :
9061 : : bool
9062 : 0 : gimple_simplify_CFN_LOG10 (gimple_match_op *res_op, gimple_seq *seq,
9063 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
9064 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
9065 : : {
9066 : 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
9067 : 0 : switch (TREE_CODE (_p0))
9068 : : {
9069 : 0 : case SSA_NAME:
9070 : 0 : if (gimple *_d1 = get_def (valueize, _p0))
9071 : : {
9072 : 0 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
9073 : 0 : switch (gimple_assign_rhs_code (_a1))
9074 : : {
9075 : 0 : case RDIV_EXPR:
9076 : 0 : {
9077 : 0 : tree _q20 = gimple_assign_rhs1 (_a1);
9078 : 0 : _q20 = do_valueize (valueize, _q20);
9079 : 0 : tree _q21 = gimple_assign_rhs2 (_a1);
9080 : 0 : _q21 = do_valueize (valueize, _q21);
9081 : 0 : switch (TREE_CODE (_q20))
9082 : : {
9083 : 0 : case REAL_CST:
9084 : 0 : {
9085 : 0 : {
9086 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
9087 : 0 : if (gimple_simplify_642 (res_op, seq, valueize, type, captures, CFN_LOG10))
9088 : 0 : return true;
9089 : : }
9090 : 0 : break;
9091 : : }
9092 : 0 : default:;
9093 : : }
9094 : 0 : if (real_onep (_q20))
9095 : : {
9096 : 0 : {
9097 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
9098 : 0 : if (gimple_simplify_641 (res_op, seq, valueize, type, captures, CFN_LOG10))
9099 : 0 : return true;
9100 : : }
9101 : : }
9102 : : break;
9103 : : }
9104 : : default:;
9105 : : }
9106 : 0 : else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
9107 : 0 : switch (gimple_call_combined_fn (_c1))
9108 : : {
9109 : 0 : case CFN_EXP:
9110 : 0 : if (gimple_call_num_args (_c1) == 1)
9111 : : {
9112 : 0 : tree _q20 = gimple_call_arg (_c1, 0);
9113 : 0 : _q20 = do_valueize (valueize, _q20);
9114 : 0 : {
9115 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
9116 : 0 : if (flag_unsafe_math_optimizations
9117 : : )
9118 : : {
9119 : 0 : if (SCALAR_FLOAT_TYPE_P (type)
9120 : : )
9121 : : {
9122 : 0 : {
9123 : 0 : tree x;
9124 : 0 : switch (CFN_EXP)
9125 : : {
9126 : 0 : CASE_CFN_EXP:
9127 : 0 : x = build_real_truncate (type, dconst_e ());
9128 : 0 : break;
9129 : : CASE_CFN_EXP2:
9130 : : x = build_real (type, dconst2);
9131 : : break;
9132 : : CASE_CFN_EXP10:
9133 : : CASE_CFN_POW10:
9134 : : {
9135 : : REAL_VALUE_TYPE dconst10;
9136 : : real_from_integer (&dconst10, VOIDmode, 10, SIGNED);
9137 : : x = build_real (type, dconst10);
9138 : : }
9139 : : break;
9140 : : default:
9141 : : gcc_unreachable ();
9142 : : }
9143 : 0 : gimple_seq *lseq = seq;
9144 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1880;
9145 : 0 : {
9146 : 0 : res_op->set_op (MULT_EXPR, type, 2);
9147 : 0 : {
9148 : 0 : tree _o1[1], _r1;
9149 : 0 : _o1[0] = x;
9150 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), CFN_LOG10, TREE_TYPE (_o1[0]), _o1[0]);
9151 : 0 : tem_op.resimplify (lseq, valueize);
9152 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
9153 : 0 : if (!_r1) goto next_after_fail1880;
9154 : 0 : res_op->ops[0] = _r1;
9155 : : }
9156 : 0 : res_op->ops[1] = captures[0];
9157 : 0 : res_op->resimplify (lseq, valueize);
9158 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1010, __FILE__, __LINE__, true);
9159 : 0 : return true;
9160 : : }
9161 : : next_after_fail1880:;
9162 : : }
9163 : : }
9164 : : }
9165 : : }
9166 : : }
9167 : : break;
9168 : 0 : case CFN_POW:
9169 : 0 : if (gimple_call_num_args (_c1) == 2)
9170 : : {
9171 : 0 : tree _q20 = gimple_call_arg (_c1, 0);
9172 : 0 : _q20 = do_valueize (valueize, _q20);
9173 : 0 : tree _q21 = gimple_call_arg (_c1, 1);
9174 : 0 : _q21 = do_valueize (valueize, _q21);
9175 : 0 : {
9176 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
9177 : 0 : if (gimple_simplify_643 (res_op, seq, valueize, type, captures, CFN_LOG10, CFN_POW))
9178 : 0 : return true;
9179 : : }
9180 : : }
9181 : : break;
9182 : 0 : case CFN_EXP2:
9183 : 0 : if (gimple_call_num_args (_c1) == 1)
9184 : : {
9185 : 0 : tree _q20 = gimple_call_arg (_c1, 0);
9186 : 0 : _q20 = do_valueize (valueize, _q20);
9187 : 0 : {
9188 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
9189 : 0 : if (flag_unsafe_math_optimizations
9190 : : )
9191 : : {
9192 : 0 : if (SCALAR_FLOAT_TYPE_P (type)
9193 : : )
9194 : : {
9195 : 0 : {
9196 : 0 : tree x;
9197 : 0 : switch (CFN_EXP2)
9198 : : {
9199 : : CASE_CFN_EXP:
9200 : : x = build_real_truncate (type, dconst_e ());
9201 : : break;
9202 : 0 : CASE_CFN_EXP2:
9203 : 0 : x = build_real (type, dconst2);
9204 : 0 : break;
9205 : : CASE_CFN_EXP10:
9206 : : CASE_CFN_POW10:
9207 : : {
9208 : : REAL_VALUE_TYPE dconst10;
9209 : : real_from_integer (&dconst10, VOIDmode, 10, SIGNED);
9210 : : x = build_real (type, dconst10);
9211 : : }
9212 : : break;
9213 : : default:
9214 : : gcc_unreachable ();
9215 : : }
9216 : 0 : gimple_seq *lseq = seq;
9217 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1881;
9218 : 0 : {
9219 : 0 : res_op->set_op (MULT_EXPR, type, 2);
9220 : 0 : {
9221 : 0 : tree _o1[1], _r1;
9222 : 0 : _o1[0] = x;
9223 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), CFN_LOG10, TREE_TYPE (_o1[0]), _o1[0]);
9224 : 0 : tem_op.resimplify (lseq, valueize);
9225 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
9226 : 0 : if (!_r1) goto next_after_fail1881;
9227 : 0 : res_op->ops[0] = _r1;
9228 : : }
9229 : 0 : res_op->ops[1] = captures[0];
9230 : 0 : res_op->resimplify (lseq, valueize);
9231 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1010, __FILE__, __LINE__, true);
9232 : 0 : return true;
9233 : : }
9234 : : next_after_fail1881:;
9235 : : }
9236 : : }
9237 : : }
9238 : : }
9239 : : }
9240 : : break;
9241 : 0 : case CFN_SQRT:
9242 : 0 : if (gimple_call_num_args (_c1) == 1)
9243 : : {
9244 : 0 : tree _q20 = gimple_call_arg (_c1, 0);
9245 : 0 : _q20 = do_valueize (valueize, _q20);
9246 : 0 : {
9247 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
9248 : 0 : if (flag_unsafe_math_optimizations
9249 : : )
9250 : : {
9251 : 0 : if (SCALAR_FLOAT_TYPE_P (type)
9252 : : )
9253 : : {
9254 : 0 : {
9255 : 0 : tree x;
9256 : 0 : switch (CFN_SQRT)
9257 : : {
9258 : 0 : CASE_CFN_SQRT:
9259 : 0 : x = build_real (type, dconsthalf);
9260 : 0 : break;
9261 : : CASE_CFN_CBRT:
9262 : : x = build_real_truncate (type, dconst_third ());
9263 : : break;
9264 : : default:
9265 : : gcc_unreachable ();
9266 : : }
9267 : 0 : gimple_seq *lseq = seq;
9268 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1882;
9269 : 0 : {
9270 : 0 : res_op->set_op (MULT_EXPR, type, 2);
9271 : 0 : res_op->ops[0] = x;
9272 : 0 : {
9273 : 0 : tree _o1[1], _r1;
9274 : 0 : _o1[0] = captures[0];
9275 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), CFN_LOG10, TREE_TYPE (_o1[0]), _o1[0]);
9276 : 0 : tem_op.resimplify (lseq, valueize);
9277 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
9278 : 0 : if (!_r1) goto next_after_fail1882;
9279 : 0 : res_op->ops[1] = _r1;
9280 : : }
9281 : 0 : res_op->resimplify (lseq, valueize);
9282 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1009, __FILE__, __LINE__, true);
9283 : 0 : return true;
9284 : : }
9285 : : next_after_fail1882:;
9286 : : }
9287 : : }
9288 : : }
9289 : : }
9290 : : }
9291 : : break;
9292 : 0 : case CFN_EXP10:
9293 : 0 : if (gimple_call_num_args (_c1) == 1)
9294 : : {
9295 : 0 : tree _q20 = gimple_call_arg (_c1, 0);
9296 : 0 : _q20 = do_valueize (valueize, _q20);
9297 : 0 : {
9298 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
9299 : 0 : if (flag_unsafe_math_optimizations
9300 : : )
9301 : : {
9302 : 0 : gimple_seq *lseq = seq;
9303 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1883;
9304 : 0 : {
9305 : 0 : tree tem;
9306 : 0 : tem = captures[0];
9307 : 0 : res_op->set_value (tem);
9308 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1011, __FILE__, __LINE__, true);
9309 : 0 : return true;
9310 : : }
9311 : 0 : next_after_fail1883:;
9312 : : }
9313 : : }
9314 : : }
9315 : : break;
9316 : : default:;
9317 : : }
9318 : : }
9319 : : break;
9320 : : default:;
9321 : : }
9322 : : return false;
9323 : : }
9324 : :
9325 : : bool
9326 : 277 : gimple_simplify_CFN_BUILT_IN_CBRTL (gimple_match_op *res_op, gimple_seq *seq,
9327 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
9328 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
9329 : : {
9330 : 277 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
9331 : 277 : switch (TREE_CODE (_p0))
9332 : : {
9333 : 250 : case SSA_NAME:
9334 : 250 : if (gimple *_d1 = get_def (valueize, _p0))
9335 : : {
9336 : 177 : if (gcall *_c1 = dyn_cast <gcall *> (_d1))
9337 : 84 : switch (gimple_call_combined_fn (_c1))
9338 : : {
9339 : 12 : case CFN_BUILT_IN_SQRTL:
9340 : 12 : if (gimple_call_num_args (_c1) == 1)
9341 : : {
9342 : 12 : tree _q20 = gimple_call_arg (_c1, 0);
9343 : 12 : _q20 = do_valueize (valueize, _q20);
9344 : 12 : {
9345 : 12 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
9346 : 12 : if (flag_unsafe_math_optimizations && canonicalize_math_p ()
9347 : : )
9348 : : {
9349 : 12 : gimple_seq *lseq = seq;
9350 : 12 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1939;
9351 : 12 : {
9352 : 12 : res_op->set_op (CFN_BUILT_IN_POWL, type, 2);
9353 : 12 : res_op->ops[0] = captures[0];
9354 : 12 : res_op->ops[1] = build_real_truncate (type, dconst_sixth ());
9355 : 12 : res_op->resimplify (lseq, valueize);
9356 : 12 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1017, __FILE__, __LINE__, true);
9357 : 12 : return true;
9358 : : }
9359 : 0 : next_after_fail1939:;
9360 : : }
9361 : : }
9362 : : }
9363 : : break;
9364 : 12 : case CFN_BUILT_IN_EXP10L:
9365 : 12 : if (gimple_call_num_args (_c1) == 1)
9366 : : {
9367 : 12 : tree _q20 = gimple_call_arg (_c1, 0);
9368 : 12 : _q20 = do_valueize (valueize, _q20);
9369 : 12 : {
9370 : 12 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
9371 : 12 : if (flag_unsafe_math_optimizations
9372 : : )
9373 : : {
9374 : 12 : gimple_seq *lseq = seq;
9375 : 12 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1940;
9376 : 12 : {
9377 : 12 : res_op->set_op (CFN_BUILT_IN_EXP10L, type, 1);
9378 : 12 : {
9379 : 12 : tree _o1[2], _r1;
9380 : 12 : _o1[0] = captures[0];
9381 : 12 : _o1[1] = build_real_truncate (type, dconst_third ());
9382 : 12 : gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
9383 : 12 : tem_op.resimplify (lseq, valueize);
9384 : 12 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
9385 : 12 : if (!_r1) goto next_after_fail1940;
9386 : 6 : res_op->ops[0] = _r1;
9387 : : }
9388 : 6 : res_op->resimplify (lseq, valueize);
9389 : 6 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1018, __FILE__, __LINE__, true);
9390 : 6 : return true;
9391 : : }
9392 : : next_after_fail1940:;
9393 : : }
9394 : : }
9395 : : }
9396 : : break;
9397 : 12 : case CFN_BUILT_IN_EXPL:
9398 : 12 : if (gimple_call_num_args (_c1) == 1)
9399 : : {
9400 : 12 : tree _q20 = gimple_call_arg (_c1, 0);
9401 : 12 : _q20 = do_valueize (valueize, _q20);
9402 : 12 : {
9403 : 12 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
9404 : 12 : if (flag_unsafe_math_optimizations
9405 : : )
9406 : : {
9407 : 12 : gimple_seq *lseq = seq;
9408 : 12 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1941;
9409 : 12 : {
9410 : 12 : res_op->set_op (CFN_BUILT_IN_EXPL, type, 1);
9411 : 12 : {
9412 : 12 : tree _o1[2], _r1;
9413 : 12 : _o1[0] = captures[0];
9414 : 12 : _o1[1] = build_real_truncate (type, dconst_third ());
9415 : 12 : gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
9416 : 12 : tem_op.resimplify (lseq, valueize);
9417 : 12 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
9418 : 12 : if (!_r1) goto next_after_fail1941;
9419 : 6 : res_op->ops[0] = _r1;
9420 : : }
9421 : 6 : res_op->resimplify (lseq, valueize);
9422 : 6 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1018, __FILE__, __LINE__, true);
9423 : 6 : return true;
9424 : : }
9425 : : next_after_fail1941:;
9426 : : }
9427 : : }
9428 : : }
9429 : : break;
9430 : 12 : case CFN_BUILT_IN_POWL:
9431 : 12 : if (gimple_call_num_args (_c1) == 2)
9432 : : {
9433 : 12 : tree _q20 = gimple_call_arg (_c1, 0);
9434 : 12 : _q20 = do_valueize (valueize, _q20);
9435 : 12 : tree _q21 = gimple_call_arg (_c1, 1);
9436 : 12 : _q21 = do_valueize (valueize, _q21);
9437 : 12 : if (tree_expr_nonnegative_p (_q20))
9438 : : {
9439 : 12 : {
9440 : 12 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
9441 : 12 : if (flag_unsafe_math_optimizations && canonicalize_math_p ()
9442 : : )
9443 : : {
9444 : 12 : gimple_seq *lseq = seq;
9445 : 12 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1942;
9446 : 12 : {
9447 : 12 : res_op->set_op (CFN_BUILT_IN_POWL, type, 2);
9448 : 12 : res_op->ops[0] = captures[0];
9449 : 12 : {
9450 : 12 : tree _o1[2], _r1;
9451 : 12 : _o1[0] = captures[1];
9452 : 12 : _o1[1] = build_real_truncate (type, dconst_third ());
9453 : 12 : gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
9454 : 12 : tem_op.resimplify (lseq, valueize);
9455 : 12 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
9456 : 12 : if (!_r1) goto next_after_fail1942;
9457 : 6 : res_op->ops[1] = _r1;
9458 : : }
9459 : 6 : res_op->resimplify (lseq, valueize);
9460 : 6 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1019, __FILE__, __LINE__, true);
9461 : 6 : return true;
9462 : : }
9463 : 6 : next_after_fail1942:;
9464 : : }
9465 : : }
9466 : : }
9467 : : }
9468 : : break;
9469 : 12 : case CFN_BUILT_IN_POW10L:
9470 : 12 : if (gimple_call_num_args (_c1) == 1)
9471 : : {
9472 : 12 : tree _q20 = gimple_call_arg (_c1, 0);
9473 : 12 : _q20 = do_valueize (valueize, _q20);
9474 : 12 : {
9475 : 12 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
9476 : 12 : if (flag_unsafe_math_optimizations
9477 : : )
9478 : : {
9479 : 12 : gimple_seq *lseq = seq;
9480 : 12 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1943;
9481 : 12 : {
9482 : 12 : res_op->set_op (CFN_BUILT_IN_POW10L, type, 1);
9483 : 12 : {
9484 : 12 : tree _o1[2], _r1;
9485 : 12 : _o1[0] = captures[0];
9486 : 12 : _o1[1] = build_real_truncate (type, dconst_third ());
9487 : 12 : gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
9488 : 12 : tem_op.resimplify (lseq, valueize);
9489 : 12 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
9490 : 12 : if (!_r1) goto next_after_fail1943;
9491 : 6 : res_op->ops[0] = _r1;
9492 : : }
9493 : 6 : res_op->resimplify (lseq, valueize);
9494 : 6 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1018, __FILE__, __LINE__, true);
9495 : 6 : return true;
9496 : : }
9497 : : next_after_fail1943:;
9498 : : }
9499 : : }
9500 : : }
9501 : : break;
9502 : 12 : case CFN_BUILT_IN_CBRTL:
9503 : 12 : if (gimple_call_num_args (_c1) == 1)
9504 : : {
9505 : 12 : tree _q20 = gimple_call_arg (_c1, 0);
9506 : 12 : _q20 = do_valueize (valueize, _q20);
9507 : 12 : if (tree_expr_nonnegative_p (_q20))
9508 : : {
9509 : 12 : {
9510 : 12 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
9511 : 12 : if (flag_unsafe_math_optimizations && canonicalize_math_p ()
9512 : : )
9513 : : {
9514 : 12 : gimple_seq *lseq = seq;
9515 : 12 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1944;
9516 : 12 : {
9517 : 12 : res_op->set_op (CFN_BUILT_IN_POWL, type, 2);
9518 : 12 : res_op->ops[0] = captures[0];
9519 : 12 : res_op->ops[1] = build_real_truncate (type, dconst_ninth ());
9520 : 12 : res_op->resimplify (lseq, valueize);
9521 : 12 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1020, __FILE__, __LINE__, true);
9522 : 12 : return true;
9523 : : }
9524 : 0 : next_after_fail1944:;
9525 : : }
9526 : : }
9527 : : }
9528 : : }
9529 : : break;
9530 : 12 : case CFN_BUILT_IN_EXP2L:
9531 : 12 : if (gimple_call_num_args (_c1) == 1)
9532 : : {
9533 : 12 : tree _q20 = gimple_call_arg (_c1, 0);
9534 : 12 : _q20 = do_valueize (valueize, _q20);
9535 : 12 : {
9536 : 12 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
9537 : 12 : if (flag_unsafe_math_optimizations
9538 : : )
9539 : : {
9540 : 12 : gimple_seq *lseq = seq;
9541 : 12 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1945;
9542 : 12 : {
9543 : 12 : res_op->set_op (CFN_BUILT_IN_EXP2L, type, 1);
9544 : 12 : {
9545 : 12 : tree _o1[2], _r1;
9546 : 12 : _o1[0] = captures[0];
9547 : 12 : _o1[1] = build_real_truncate (type, dconst_third ());
9548 : 12 : gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
9549 : 12 : tem_op.resimplify (lseq, valueize);
9550 : 12 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
9551 : 12 : if (!_r1) goto next_after_fail1945;
9552 : 6 : res_op->ops[0] = _r1;
9553 : : }
9554 : 6 : res_op->resimplify (lseq, valueize);
9555 : 6 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1018, __FILE__, __LINE__, true);
9556 : 6 : return true;
9557 : : }
9558 : : next_after_fail1945:;
9559 : : }
9560 : : }
9561 : : }
9562 : : break;
9563 : : default:;
9564 : : }
9565 : : }
9566 : : break;
9567 : : default:;
9568 : : }
9569 : : return false;
9570 : : }
9571 : :
9572 : : bool
9573 : 0 : gimple_simplify_CFN_BUILT_IN_TRUNCF32 (gimple_match_op *res_op, gimple_seq *seq,
9574 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
9575 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
9576 : : {
9577 : 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
9578 : 0 : switch (TREE_CODE (_p0))
9579 : : {
9580 : 0 : case SSA_NAME:
9581 : 0 : if (gimple *_d1 = get_def (valueize, _p0))
9582 : : {
9583 : 0 : if (gcall *_c1 = dyn_cast <gcall *> (_d1))
9584 : 0 : switch (gimple_call_combined_fn (_c1))
9585 : : {
9586 : 0 : case CFN_BUILT_IN_TRUNCF32:
9587 : 0 : if (gimple_call_num_args (_c1) == 1)
9588 : : {
9589 : 0 : tree _q20 = gimple_call_arg (_c1, 0);
9590 : 0 : _q20 = do_valueize (valueize, _q20);
9591 : 0 : {
9592 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
9593 : 0 : if (gimple_simplify_647 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCF32))
9594 : 0 : return true;
9595 : : }
9596 : : }
9597 : : break;
9598 : : default:;
9599 : : }
9600 : : }
9601 : : break;
9602 : 0 : default:;
9603 : : }
9604 : 0 : if (integer_valued_real_p (_p0))
9605 : : {
9606 : 0 : {
9607 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
9608 : 0 : if (gimple_simplify_648 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCF32))
9609 : 0 : return true;
9610 : : }
9611 : : }
9612 : : return false;
9613 : : }
9614 : :
9615 : : bool
9616 : 207 : gimple_simplify_CFN_TRUNC (gimple_match_op *res_op, gimple_seq *seq,
9617 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
9618 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
9619 : : {
9620 : 207 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
9621 : 207 : switch (TREE_CODE (_p0))
9622 : : {
9623 : 207 : case SSA_NAME:
9624 : 207 : if (gimple *_d1 = get_def (valueize, _p0))
9625 : : {
9626 : 120 : if (gcall *_c1 = dyn_cast <gcall *> (_d1))
9627 : 0 : switch (gimple_call_combined_fn (_c1))
9628 : : {
9629 : 0 : case CFN_TRUNC:
9630 : 0 : if (gimple_call_num_args (_c1) == 1)
9631 : : {
9632 : 0 : tree _q20 = gimple_call_arg (_c1, 0);
9633 : 0 : _q20 = do_valueize (valueize, _q20);
9634 : 0 : {
9635 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
9636 : 0 : if (gimple_simplify_647 (res_op, seq, valueize, type, captures, CFN_TRUNC))
9637 : 0 : return true;
9638 : : }
9639 : : }
9640 : : break;
9641 : : default:;
9642 : : }
9643 : : }
9644 : : break;
9645 : 207 : default:;
9646 : : }
9647 : 207 : if (integer_valued_real_p (_p0))
9648 : : {
9649 : 0 : {
9650 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
9651 : 0 : if (gimple_simplify_648 (res_op, seq, valueize, type, captures, CFN_TRUNC))
9652 : 0 : return true;
9653 : : }
9654 : : }
9655 : : return false;
9656 : : }
9657 : :
9658 : : bool
9659 : 0 : gimple_simplify_CFN_BUILT_IN_FLOORF32X (gimple_match_op *res_op, gimple_seq *seq,
9660 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
9661 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
9662 : : {
9663 : 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
9664 : 0 : switch (TREE_CODE (_p0))
9665 : : {
9666 : 0 : case SSA_NAME:
9667 : 0 : if (gimple *_d1 = get_def (valueize, _p0))
9668 : : {
9669 : 0 : if (gcall *_c1 = dyn_cast <gcall *> (_d1))
9670 : 0 : switch (gimple_call_combined_fn (_c1))
9671 : : {
9672 : 0 : case CFN_BUILT_IN_FLOORF32X:
9673 : 0 : if (gimple_call_num_args (_c1) == 1)
9674 : : {
9675 : 0 : tree _q20 = gimple_call_arg (_c1, 0);
9676 : 0 : _q20 = do_valueize (valueize, _q20);
9677 : 0 : {
9678 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
9679 : 0 : if (gimple_simplify_647 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF32X))
9680 : 0 : return true;
9681 : : }
9682 : : }
9683 : : break;
9684 : : default:;
9685 : : }
9686 : : }
9687 : : break;
9688 : 0 : default:;
9689 : : }
9690 : 0 : if (integer_valued_real_p (_p0))
9691 : : {
9692 : 0 : {
9693 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
9694 : 0 : if (gimple_simplify_648 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF32X))
9695 : 0 : return true;
9696 : : }
9697 : : }
9698 : 0 : if (tree_expr_nonnegative_p (_p0))
9699 : : {
9700 : 0 : {
9701 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
9702 : 0 : if (gimple_simplify_651 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF32X, CFN_BUILT_IN_TRUNCF32X))
9703 : 0 : return true;
9704 : : }
9705 : : }
9706 : : return false;
9707 : : }
9708 : :
9709 : : bool
9710 : 154 : gimple_simplify_CFN_BUILT_IN_CEILF16 (gimple_match_op *res_op, gimple_seq *seq,
9711 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
9712 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
9713 : : {
9714 : 154 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
9715 : 154 : switch (TREE_CODE (_p0))
9716 : : {
9717 : 152 : case SSA_NAME:
9718 : 152 : if (gimple *_d1 = get_def (valueize, _p0))
9719 : : {
9720 : 100 : if (gcall *_c1 = dyn_cast <gcall *> (_d1))
9721 : 0 : switch (gimple_call_combined_fn (_c1))
9722 : : {
9723 : 0 : case CFN_BUILT_IN_CEILF16:
9724 : 0 : if (gimple_call_num_args (_c1) == 1)
9725 : : {
9726 : 0 : tree _q20 = gimple_call_arg (_c1, 0);
9727 : 0 : _q20 = do_valueize (valueize, _q20);
9728 : 0 : {
9729 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
9730 : 0 : if (gimple_simplify_647 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEILF16))
9731 : 0 : return true;
9732 : : }
9733 : : }
9734 : : break;
9735 : : default:;
9736 : : }
9737 : : }
9738 : : break;
9739 : 154 : default:;
9740 : : }
9741 : 154 : if (integer_valued_real_p (_p0))
9742 : : {
9743 : 0 : {
9744 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
9745 : 0 : if (gimple_simplify_648 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEILF16))
9746 : 0 : return true;
9747 : : }
9748 : : }
9749 : : return false;
9750 : : }
9751 : :
9752 : : bool
9753 : 0 : gimple_simplify_CFN_BUILT_IN_CEILF128X (gimple_match_op *res_op, gimple_seq *seq,
9754 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
9755 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
9756 : : {
9757 : 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
9758 : 0 : switch (TREE_CODE (_p0))
9759 : : {
9760 : 0 : case SSA_NAME:
9761 : 0 : if (gimple *_d1 = get_def (valueize, _p0))
9762 : : {
9763 : 0 : if (gcall *_c1 = dyn_cast <gcall *> (_d1))
9764 : 0 : switch (gimple_call_combined_fn (_c1))
9765 : : {
9766 : 0 : case CFN_BUILT_IN_CEILF128X:
9767 : 0 : if (gimple_call_num_args (_c1) == 1)
9768 : : {
9769 : 0 : tree _q20 = gimple_call_arg (_c1, 0);
9770 : 0 : _q20 = do_valueize (valueize, _q20);
9771 : 0 : {
9772 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
9773 : 0 : if (gimple_simplify_647 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEILF128X))
9774 : 0 : return true;
9775 : : }
9776 : : }
9777 : : break;
9778 : : default:;
9779 : : }
9780 : : }
9781 : : break;
9782 : 0 : default:;
9783 : : }
9784 : 0 : if (integer_valued_real_p (_p0))
9785 : : {
9786 : 0 : {
9787 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
9788 : 0 : if (gimple_simplify_648 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEILF128X))
9789 : 0 : return true;
9790 : : }
9791 : : }
9792 : : return false;
9793 : : }
9794 : :
9795 : : bool
9796 : 44 : gimple_simplify_CFN_BUILT_IN_ROUNDF128 (gimple_match_op *res_op, gimple_seq *seq,
9797 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
9798 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
9799 : : {
9800 : 44 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
9801 : 44 : switch (TREE_CODE (_p0))
9802 : : {
9803 : 42 : case SSA_NAME:
9804 : 42 : if (gimple *_d1 = get_def (valueize, _p0))
9805 : : {
9806 : 28 : if (gcall *_c1 = dyn_cast <gcall *> (_d1))
9807 : 0 : switch (gimple_call_combined_fn (_c1))
9808 : : {
9809 : 0 : case CFN_BUILT_IN_ROUNDF128:
9810 : 0 : if (gimple_call_num_args (_c1) == 1)
9811 : : {
9812 : 0 : tree _q20 = gimple_call_arg (_c1, 0);
9813 : 0 : _q20 = do_valueize (valueize, _q20);
9814 : 0 : {
9815 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
9816 : 0 : if (gimple_simplify_647 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDF128))
9817 : 0 : return true;
9818 : : }
9819 : : }
9820 : : break;
9821 : : default:;
9822 : : }
9823 : : }
9824 : : break;
9825 : 44 : default:;
9826 : : }
9827 : 44 : if (integer_valued_real_p (_p0))
9828 : : {
9829 : 0 : {
9830 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
9831 : 0 : if (gimple_simplify_648 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDF128))
9832 : 0 : return true;
9833 : : }
9834 : : }
9835 : : return false;
9836 : : }
9837 : :
9838 : : bool
9839 : 829 : gimple_simplify_CFN_BUILT_IN_NEARBYINTL (gimple_match_op *res_op, gimple_seq *seq,
9840 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
9841 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
9842 : : {
9843 : 829 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
9844 : 829 : switch (TREE_CODE (_p0))
9845 : : {
9846 : 746 : case SSA_NAME:
9847 : 746 : if (gimple *_d1 = get_def (valueize, _p0))
9848 : : {
9849 : 449 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
9850 : 128 : switch (gimple_assign_rhs_code (_a1))
9851 : : {
9852 : 110 : CASE_CONVERT:
9853 : 110 : {
9854 : 110 : tree _q20 = gimple_assign_rhs1 (_a1);
9855 : 110 : _q20 = do_valueize (valueize, _q20);
9856 : 110 : if (gimple_double_value_p (_q20, valueize))
9857 : : {
9858 : 36 : {
9859 : 36 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
9860 : 36 : if (gimple_simplify_650 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTL, CFN_BUILT_IN_NEARBYINT))
9861 : 18 : return true;
9862 : : }
9863 : : }
9864 : 92 : if (gimple_float_value_p (_q20, valueize))
9865 : : {
9866 : 72 : {
9867 : 72 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
9868 : 72 : if (gimple_simplify_649 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTL, CFN_BUILT_IN_NEARBYINTF))
9869 : 36 : return true;
9870 : : }
9871 : : }
9872 : : break;
9873 : : }
9874 : : default:;
9875 : : }
9876 : 321 : else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
9877 : 0 : switch (gimple_call_combined_fn (_c1))
9878 : : {
9879 : 0 : case CFN_BUILT_IN_NEARBYINTL:
9880 : 0 : if (gimple_call_num_args (_c1) == 1)
9881 : : {
9882 : 0 : tree _q20 = gimple_call_arg (_c1, 0);
9883 : 0 : _q20 = do_valueize (valueize, _q20);
9884 : 0 : {
9885 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
9886 : 0 : if (gimple_simplify_647 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTL))
9887 : 0 : return true;
9888 : : }
9889 : : }
9890 : : break;
9891 : : default:;
9892 : : }
9893 : : }
9894 : : break;
9895 : 775 : default:;
9896 : : }
9897 : 775 : if (integer_valued_real_p (_p0))
9898 : : {
9899 : 44 : {
9900 : 44 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
9901 : 44 : if (gimple_simplify_648 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTL))
9902 : 44 : return true;
9903 : : }
9904 : : }
9905 : : return false;
9906 : : }
9907 : :
9908 : : bool
9909 : 0 : gimple_simplify_CFN_BUILT_IN_RINTF32 (gimple_match_op *res_op, gimple_seq *seq,
9910 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
9911 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
9912 : : {
9913 : 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
9914 : 0 : switch (TREE_CODE (_p0))
9915 : : {
9916 : 0 : case SSA_NAME:
9917 : 0 : if (gimple *_d1 = get_def (valueize, _p0))
9918 : : {
9919 : 0 : if (gcall *_c1 = dyn_cast <gcall *> (_d1))
9920 : 0 : switch (gimple_call_combined_fn (_c1))
9921 : : {
9922 : 0 : case CFN_BUILT_IN_RINTF32:
9923 : 0 : if (gimple_call_num_args (_c1) == 1)
9924 : : {
9925 : 0 : tree _q20 = gimple_call_arg (_c1, 0);
9926 : 0 : _q20 = do_valueize (valueize, _q20);
9927 : 0 : {
9928 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
9929 : 0 : if (gimple_simplify_647 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINTF32))
9930 : 0 : return true;
9931 : : }
9932 : : }
9933 : : break;
9934 : : default:;
9935 : : }
9936 : : }
9937 : : break;
9938 : 0 : default:;
9939 : : }
9940 : 0 : if (integer_valued_real_p (_p0))
9941 : : {
9942 : 0 : {
9943 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
9944 : 0 : if (gimple_simplify_648 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINTF32))
9945 : 0 : return true;
9946 : : }
9947 : : }
9948 : : return false;
9949 : : }
9950 : :
9951 : : bool
9952 : 616 : gimple_simplify_CFN_BUILT_IN_CEXPF (gimple_match_op *res_op, gimple_seq *seq,
9953 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
9954 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
9955 : : {
9956 : 616 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
9957 : 616 : if (gimple_compositional_complex (_p0, valueize))
9958 : : {
9959 : 79 : {
9960 : 79 : tree captures[3] ATTRIBUTE_UNUSED = { _p0 };
9961 : 79 : if (flag_unsafe_math_optimizations && canonicalize_math_p ()
9962 : : )
9963 : : {
9964 : 0 : if (targetm.libc_has_function (function_c99_math_complex, TREE_TYPE (captures[0]))
9965 : : )
9966 : : {
9967 : 0 : gimple_seq *lseq = seq;
9968 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1946;
9969 : 0 : {
9970 : 0 : res_op->set_op (COMPLEX_EXPR, type, 2);
9971 : 0 : {
9972 : 0 : tree _o1[2], _r1;
9973 : 0 : {
9974 : 0 : tree _o2[1], _r2;
9975 : 0 : {
9976 : 0 : tree _o3[1], _r3;
9977 : 0 : _o3[0] = captures[0];
9978 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o3[0])), _o3[0]);
9979 : 0 : tem_op.resimplify (lseq, valueize);
9980 : 0 : _r3 = maybe_push_res_to_seq (&tem_op, lseq);
9981 : 0 : if (!_r3) goto next_after_fail1946;
9982 : 0 : _o2[0] = _r3;
9983 : : }
9984 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_EXPF, TREE_TYPE (_o2[0]), _o2[0]);
9985 : 0 : tem_op.resimplify (lseq, valueize);
9986 : 0 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
9987 : 0 : if (!_r2) goto next_after_fail1946;
9988 : 0 : captures[1] = _r2;
9989 : : }
9990 : 0 : _o1[0] = captures[1];
9991 : 0 : {
9992 : 0 : tree _o2[1], _r2;
9993 : 0 : {
9994 : 0 : tree _o3[1], _r3;
9995 : 0 : {
9996 : 0 : tree _o4[1], _r4;
9997 : 0 : _o4[0] = captures[0];
9998 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o4[0])), _o4[0]);
9999 : 0 : tem_op.resimplify (lseq, valueize);
10000 : 0 : _r4 = maybe_push_res_to_seq (&tem_op, lseq);
10001 : 0 : if (!_r4) goto next_after_fail1946;
10002 : 0 : _o3[0] = _r4;
10003 : : }
10004 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_CEXPIF, type, _o3[0]);
10005 : 0 : tem_op.resimplify (lseq, valueize);
10006 : 0 : _r3 = maybe_push_res_to_seq (&tem_op, lseq);
10007 : 0 : if (!_r3) goto next_after_fail1946;
10008 : 0 : captures[2] = _r3;
10009 : : }
10010 : 0 : _o2[0] = captures[2];
10011 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
10012 : 0 : tem_op.resimplify (lseq, valueize);
10013 : 0 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
10014 : 0 : if (!_r2) goto next_after_fail1946;
10015 : 0 : _o1[1] = _r2;
10016 : : }
10017 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
10018 : 0 : tem_op.resimplify (lseq, valueize);
10019 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
10020 : 0 : if (!_r1) goto next_after_fail1946;
10021 : 0 : res_op->ops[0] = _r1;
10022 : : }
10023 : 0 : {
10024 : 0 : tree _o1[2], _r1;
10025 : 0 : _o1[0] = captures[1];
10026 : 0 : {
10027 : 0 : tree _o2[1], _r2;
10028 : 0 : _o2[0] = captures[2];
10029 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
10030 : 0 : tem_op.resimplify (lseq, valueize);
10031 : 0 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
10032 : 0 : if (!_r2) goto next_after_fail1946;
10033 : 0 : _o1[1] = _r2;
10034 : : }
10035 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
10036 : 0 : tem_op.resimplify (lseq, valueize);
10037 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
10038 : 0 : if (!_r1) goto next_after_fail1946;
10039 : 0 : res_op->ops[1] = _r1;
10040 : : }
10041 : 0 : res_op->resimplify (lseq, valueize);
10042 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1021, __FILE__, __LINE__, true);
10043 : 0 : return true;
10044 : : }
10045 : : next_after_fail1946:;
10046 : : }
10047 : : }
10048 : : }
10049 : : }
10050 : : return false;
10051 : : }
10052 : :
10053 : : bool
10054 : 1243 : gimple_simplify_CFN_BUILT_IN_LRINTL (gimple_match_op *res_op, gimple_seq *seq,
10055 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
10056 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
10057 : : {
10058 : 1243 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
10059 : 1243 : switch (TREE_CODE (_p0))
10060 : : {
10061 : 1141 : case SSA_NAME:
10062 : 1141 : if (gimple *_d1 = get_def (valueize, _p0))
10063 : : {
10064 : 743 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
10065 : 414 : switch (gimple_assign_rhs_code (_a1))
10066 : : {
10067 : 384 : CASE_CONVERT:
10068 : 384 : {
10069 : 384 : tree _q20 = gimple_assign_rhs1 (_a1);
10070 : 384 : _q20 = do_valueize (valueize, _q20);
10071 : 384 : if (gimple_double_value_p (_q20, valueize))
10072 : : {
10073 : 144 : {
10074 : 144 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
10075 : 144 : if (gimple_simplify_654 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LRINTL, CFN_BUILT_IN_LRINT))
10076 : 144 : return true;
10077 : : }
10078 : : }
10079 : 240 : if (gimple_float_value_p (_q20, valueize))
10080 : : {
10081 : 240 : {
10082 : 240 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
10083 : 240 : if (gimple_simplify_655 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LRINTL, CFN_BUILT_IN_LRINTF))
10084 : 240 : return true;
10085 : : }
10086 : : }
10087 : : break;
10088 : : }
10089 : : default:;
10090 : : }
10091 : : }
10092 : : break;
10093 : 859 : default:;
10094 : : }
10095 : 859 : if (integer_valued_real_p (_p0))
10096 : : {
10097 : 42 : {
10098 : 42 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
10099 : 42 : if (gimple_simplify_660 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LRINTL))
10100 : 20 : return true;
10101 : : }
10102 : : }
10103 : : return false;
10104 : : }
10105 : :
10106 : : bool
10107 : 391 : gimple_simplify_CFN_BUILT_IN_IROUND (gimple_match_op *res_op, gimple_seq *seq,
10108 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
10109 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
10110 : : {
10111 : 391 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
10112 : 391 : switch (TREE_CODE (_p0))
10113 : : {
10114 : 370 : case SSA_NAME:
10115 : 370 : if (gimple *_d1 = get_def (valueize, _p0))
10116 : : {
10117 : 200 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
10118 : 346 : switch (gimple_assign_rhs_code (_a1))
10119 : : {
10120 : 0 : CASE_CONVERT:
10121 : 0 : {
10122 : 0 : tree _q20 = gimple_assign_rhs1 (_a1);
10123 : 0 : _q20 = do_valueize (valueize, _q20);
10124 : 0 : if (gimple_float_value_p (_q20, valueize))
10125 : : {
10126 : 0 : {
10127 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
10128 : 0 : if (gimple_simplify_655 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IROUND, CFN_BUILT_IN_IROUNDF))
10129 : 0 : return true;
10130 : : }
10131 : : }
10132 : : break;
10133 : : }
10134 : : default:;
10135 : : }
10136 : : }
10137 : : break;
10138 : 391 : default:;
10139 : : }
10140 : 391 : if (integer_valued_real_p (_p0))
10141 : : {
10142 : 0 : {
10143 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
10144 : 0 : if (gimple_simplify_657 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IROUND))
10145 : 0 : return true;
10146 : : }
10147 : : }
10148 : 391 : {
10149 : 391 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
10150 : 391 : if (gimple_simplify_658 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IROUND, CFN_BUILT_IN_LROUND, CFN_BUILT_IN_LLROUND))
10151 : 4 : return true;
10152 : : }
10153 : 387 : return false;
10154 : : }
10155 : :
10156 : : bool
10157 : 2074 : gimple_simplify_CFN_BUILT_IN_LFLOORF (gimple_match_op *res_op, gimple_seq *seq,
10158 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
10159 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
10160 : : {
10161 : 2074 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
10162 : 2074 : if (tree_expr_nonnegative_p (_p0))
10163 : : {
10164 : 6 : {
10165 : 6 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
10166 : 6 : if (gimple_simplify_656 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LFLOORF))
10167 : 6 : return true;
10168 : : }
10169 : : }
10170 : 2068 : if (integer_valued_real_p (_p0))
10171 : : {
10172 : 20 : {
10173 : 20 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
10174 : 20 : if (gimple_simplify_657 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LFLOORF))
10175 : 20 : return true;
10176 : : }
10177 : : }
10178 : : return false;
10179 : : }
10180 : :
10181 : : bool
10182 : 142 : gimple_simplify_CFN_BUILT_IN_LLCEILF (gimple_match_op *res_op, gimple_seq *seq,
10183 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
10184 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
10185 : : {
10186 : 142 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
10187 : 142 : if (integer_valued_real_p (_p0))
10188 : : {
10189 : 20 : {
10190 : 20 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
10191 : 20 : if (gimple_simplify_657 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LLCEILF))
10192 : 20 : return true;
10193 : : }
10194 : : }
10195 : 122 : {
10196 : 122 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
10197 : 122 : if (gimple_simplify_659 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ICEILF, CFN_BUILT_IN_LCEILF, CFN_BUILT_IN_LLCEILF))
10198 : 122 : return true;
10199 : : }
10200 : 0 : return false;
10201 : : }
10202 : :
10203 : : bool
10204 : 40 : gimple_simplify_CFN_IRINT (gimple_match_op *res_op, gimple_seq *seq,
10205 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
10206 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
10207 : : {
10208 : 40 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
10209 : 40 : if (integer_valued_real_p (_p0))
10210 : : {
10211 : 0 : {
10212 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
10213 : 0 : if (gimple_simplify_660 (res_op, seq, valueize, type, captures, CFN_IRINT))
10214 : 0 : return true;
10215 : : }
10216 : : }
10217 : 40 : {
10218 : 40 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
10219 : 40 : if (gimple_simplify_658 (res_op, seq, valueize, type, captures, CFN_IRINT, CFN_LRINT, CFN_LLRINT))
10220 : 0 : return true;
10221 : : }
10222 : 40 : return false;
10223 : : }
10224 : :
10225 : : bool
10226 : 46612 : gimple_simplify_CFN_BUILT_IN_SIGNBIT (gimple_match_op *res_op, gimple_seq *seq,
10227 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
10228 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
10229 : : {
10230 : 46612 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
10231 : 46612 : if (tree_expr_nonnegative_p (_p0))
10232 : : {
10233 : 423 : {
10234 : 423 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
10235 : 423 : if (gimple_simplify_661 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SIGNBIT))
10236 : 423 : return true;
10237 : : }
10238 : : }
10239 : 46189 : {
10240 : 46189 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
10241 : 46189 : if (gimple_simplify_662 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SIGNBIT))
10242 : 8 : return true;
10243 : : }
10244 : 46181 : return false;
10245 : : }
10246 : :
10247 : : bool
10248 : 3279 : gimple_simplify_CFN_BUILT_IN_CTZLL (gimple_match_op *res_op, gimple_seq *seq,
10249 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
10250 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
10251 : : {
10252 : 3279 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
10253 : 3279 : switch (TREE_CODE (_p0))
10254 : : {
10255 : 3135 : case SSA_NAME:
10256 : 3135 : if (gimple *_d1 = get_def (valueize, _p0))
10257 : : {
10258 : 1432 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
10259 : 1677 : switch (gimple_assign_rhs_code (_a1))
10260 : : {
10261 : 0 : case NEGATE_EXPR:
10262 : 0 : {
10263 : 0 : tree _q20 = gimple_assign_rhs1 (_a1);
10264 : 0 : _q20 = do_valueize (valueize, _q20);
10265 : 0 : {
10266 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
10267 : 0 : if (gimple_simplify_674 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CTZLL))
10268 : 0 : return true;
10269 : : }
10270 : 0 : break;
10271 : : }
10272 : 0 : case ABS_EXPR:
10273 : 0 : {
10274 : 0 : tree _q20 = gimple_assign_rhs1 (_a1);
10275 : 0 : _q20 = do_valueize (valueize, _q20);
10276 : 0 : {
10277 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
10278 : 0 : if (gimple_simplify_675 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CTZLL))
10279 : 0 : return true;
10280 : : }
10281 : 0 : break;
10282 : : }
10283 : 327 : CASE_CONVERT:
10284 : 327 : {
10285 : 327 : tree _q20 = gimple_assign_rhs1 (_a1);
10286 : 327 : _q20 = do_valueize (valueize, _q20);
10287 : 327 : {
10288 : 327 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
10289 : 327 : if (gimple_simplify_676 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CTZLL))
10290 : 15 : return true;
10291 : : }
10292 : 312 : break;
10293 : : }
10294 : : default:;
10295 : : }
10296 : : }
10297 : : break;
10298 : 3264 : default:;
10299 : : }
10300 : 3264 : {
10301 : 3264 : tree _p0_pops[1];
10302 : 3264 : if (gimple_nop_convert (_p0, _p0_pops, valueize))
10303 : : {
10304 : 311 : tree _q20 = _p0_pops[0];
10305 : 311 : switch (TREE_CODE (_q20))
10306 : : {
10307 : 311 : case SSA_NAME:
10308 : 311 : if (gimple *_d1 = get_def (valueize, _q20))
10309 : : {
10310 : 287 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
10311 : 185 : switch (gimple_assign_rhs_code (_a1))
10312 : : {
10313 : 0 : case NEGATE_EXPR:
10314 : 0 : {
10315 : 0 : tree _q30 = gimple_assign_rhs1 (_a1);
10316 : 0 : _q30 = do_valueize (valueize, _q30);
10317 : 0 : {
10318 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
10319 : 0 : if (gimple_simplify_672 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CTZLL))
10320 : 0 : return true;
10321 : : }
10322 : 0 : break;
10323 : : }
10324 : 0 : case ABS_EXPR:
10325 : 0 : {
10326 : 0 : tree _q30 = gimple_assign_rhs1 (_a1);
10327 : 0 : _q30 = do_valueize (valueize, _q30);
10328 : 0 : {
10329 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
10330 : 0 : if (gimple_simplify_673 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CTZLL))
10331 : 0 : return true;
10332 : : }
10333 : 0 : break;
10334 : : }
10335 : : default:;
10336 : : }
10337 : : }
10338 : : break;
10339 : : default:;
10340 : : }
10341 : : }
10342 : : }
10343 : 3264 : return false;
10344 : : }
10345 : :
10346 : : bool
10347 : 2520 : gimple_simplify_CFN_BUILT_IN_PARITY (gimple_match_op *res_op, gimple_seq *seq,
10348 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
10349 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
10350 : : {
10351 : 2520 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
10352 : 2520 : switch (TREE_CODE (_p0))
10353 : : {
10354 : 2476 : case SSA_NAME:
10355 : 2476 : if (gimple *_d1 = get_def (valueize, _p0))
10356 : : {
10357 : 846 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
10358 : 488 : switch (gimple_assign_rhs_code (_a1))
10359 : : {
10360 : 2 : case BIT_NOT_EXPR:
10361 : 2 : {
10362 : 2 : tree _q20 = gimple_assign_rhs1 (_a1);
10363 : 2 : _q20 = do_valueize (valueize, _q20);
10364 : 2 : {
10365 : 2 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
10366 : 2 : if (gimple_simplify_683 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_PARITY))
10367 : 2 : return true;
10368 : : }
10369 : 0 : break;
10370 : : }
10371 : 131 : CASE_CONVERT:
10372 : 131 : {
10373 : 131 : tree _q20 = gimple_assign_rhs1 (_a1);
10374 : 131 : _q20 = do_valueize (valueize, _q20);
10375 : 131 : switch (TREE_CODE (_q20))
10376 : : {
10377 : 131 : case SSA_NAME:
10378 : 131 : if (gimple *_d2 = get_def (valueize, _q20))
10379 : : {
10380 : 129 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
10381 : 64 : switch (gimple_assign_rhs_code (_a2))
10382 : : {
10383 : 0 : case LROTATE_EXPR:
10384 : 0 : {
10385 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
10386 : 0 : _q30 = do_valueize (valueize, _q30);
10387 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
10388 : 0 : _q31 = do_valueize (valueize, _q31);
10389 : 0 : {
10390 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
10391 : 0 : if (gimple_simplify_685 (res_op, seq, valueize, type, captures, LROTATE_EXPR, CFN_BUILT_IN_PARITY))
10392 : 0 : return true;
10393 : : }
10394 : 0 : break;
10395 : : }
10396 : 0 : case RROTATE_EXPR:
10397 : 0 : {
10398 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
10399 : 0 : _q30 = do_valueize (valueize, _q30);
10400 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
10401 : 0 : _q31 = do_valueize (valueize, _q31);
10402 : 0 : {
10403 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
10404 : 0 : if (gimple_simplify_685 (res_op, seq, valueize, type, captures, RROTATE_EXPR, CFN_BUILT_IN_PARITY))
10405 : 0 : return true;
10406 : : }
10407 : 0 : break;
10408 : : }
10409 : : default:;
10410 : : }
10411 : 87 : else if (gcall *_c2 = dyn_cast <gcall *> (_d2))
10412 : 2 : switch (gimple_call_combined_fn (_c2))
10413 : : {
10414 : 0 : case CFN_BUILT_IN_BSWAP128:
10415 : 0 : if (gimple_call_num_args (_c2) == 1)
10416 : : {
10417 : 0 : tree _q30 = gimple_call_arg (_c2, 0);
10418 : 0 : _q30 = do_valueize (valueize, _q30);
10419 : 0 : {
10420 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
10421 : 0 : if (gimple_simplify_684 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP128, CFN_BUILT_IN_PARITY))
10422 : 0 : return true;
10423 : : }
10424 : : }
10425 : : break;
10426 : 2 : case CFN_BUILT_IN_BSWAP16:
10427 : 2 : if (gimple_call_num_args (_c2) == 1)
10428 : : {
10429 : 2 : tree _q30 = gimple_call_arg (_c2, 0);
10430 : 2 : _q30 = do_valueize (valueize, _q30);
10431 : 2 : {
10432 : 2 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
10433 : 2 : if (gimple_simplify_684 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP16, CFN_BUILT_IN_PARITY))
10434 : 1 : return true;
10435 : : }
10436 : : }
10437 : : break;
10438 : 0 : case CFN_BUILT_IN_BSWAP32:
10439 : 0 : if (gimple_call_num_args (_c2) == 1)
10440 : : {
10441 : 0 : tree _q30 = gimple_call_arg (_c2, 0);
10442 : 0 : _q30 = do_valueize (valueize, _q30);
10443 : 0 : {
10444 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
10445 : 0 : if (gimple_simplify_684 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP32, CFN_BUILT_IN_PARITY))
10446 : 0 : return true;
10447 : : }
10448 : : }
10449 : : break;
10450 : 0 : case CFN_BUILT_IN_BSWAP64:
10451 : 0 : if (gimple_call_num_args (_c2) == 1)
10452 : : {
10453 : 0 : tree _q30 = gimple_call_arg (_c2, 0);
10454 : 0 : _q30 = do_valueize (valueize, _q30);
10455 : 0 : {
10456 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
10457 : 0 : if (gimple_simplify_684 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP64, CFN_BUILT_IN_PARITY))
10458 : 0 : return true;
10459 : : }
10460 : : }
10461 : : break;
10462 : : default:;
10463 : : }
10464 : : }
10465 : : break;
10466 : 130 : default:;
10467 : : }
10468 : 130 : {
10469 : 130 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
10470 : 130 : if (gimple_simplify_686 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_PARITY))
10471 : 42 : return true;
10472 : : }
10473 : 88 : break;
10474 : : }
10475 : 0 : case LROTATE_EXPR:
10476 : 0 : {
10477 : 0 : tree _q20 = gimple_assign_rhs1 (_a1);
10478 : 0 : _q20 = do_valueize (valueize, _q20);
10479 : 0 : tree _q21 = gimple_assign_rhs2 (_a1);
10480 : 0 : _q21 = do_valueize (valueize, _q21);
10481 : 0 : {
10482 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
10483 : 0 : if (gimple_simplify_688 (res_op, seq, valueize, type, captures, LROTATE_EXPR, CFN_BUILT_IN_PARITY))
10484 : 0 : return true;
10485 : : }
10486 : 0 : break;
10487 : : }
10488 : 2 : case RROTATE_EXPR:
10489 : 2 : {
10490 : 2 : tree _q20 = gimple_assign_rhs1 (_a1);
10491 : 2 : _q20 = do_valueize (valueize, _q20);
10492 : 2 : tree _q21 = gimple_assign_rhs2 (_a1);
10493 : 2 : _q21 = do_valueize (valueize, _q21);
10494 : 2 : {
10495 : 2 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
10496 : 2 : if (gimple_simplify_688 (res_op, seq, valueize, type, captures, RROTATE_EXPR, CFN_BUILT_IN_PARITY))
10497 : 2 : return true;
10498 : : }
10499 : 0 : break;
10500 : : }
10501 : : default:;
10502 : : }
10503 : 438 : else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
10504 : 2 : switch (gimple_call_combined_fn (_c1))
10505 : : {
10506 : 0 : case CFN_BUILT_IN_BSWAP128:
10507 : 0 : if (gimple_call_num_args (_c1) == 1)
10508 : : {
10509 : 0 : tree _q20 = gimple_call_arg (_c1, 0);
10510 : 0 : _q20 = do_valueize (valueize, _q20);
10511 : 0 : {
10512 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
10513 : 0 : if (gimple_simplify_687 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP128, CFN_BUILT_IN_PARITY))
10514 : 0 : return true;
10515 : : }
10516 : : }
10517 : : break;
10518 : 0 : case CFN_BUILT_IN_BSWAP16:
10519 : 0 : if (gimple_call_num_args (_c1) == 1)
10520 : : {
10521 : 0 : tree _q20 = gimple_call_arg (_c1, 0);
10522 : 0 : _q20 = do_valueize (valueize, _q20);
10523 : 0 : {
10524 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
10525 : 0 : if (gimple_simplify_687 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP16, CFN_BUILT_IN_PARITY))
10526 : 0 : return true;
10527 : : }
10528 : : }
10529 : : break;
10530 : 2 : case CFN_BUILT_IN_BSWAP32:
10531 : 2 : if (gimple_call_num_args (_c1) == 1)
10532 : : {
10533 : 2 : tree _q20 = gimple_call_arg (_c1, 0);
10534 : 2 : _q20 = do_valueize (valueize, _q20);
10535 : 2 : {
10536 : 2 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
10537 : 2 : if (gimple_simplify_687 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP32, CFN_BUILT_IN_PARITY))
10538 : 2 : return true;
10539 : : }
10540 : : }
10541 : : break;
10542 : 0 : case CFN_BUILT_IN_BSWAP64:
10543 : 0 : if (gimple_call_num_args (_c1) == 1)
10544 : : {
10545 : 0 : tree _q20 = gimple_call_arg (_c1, 0);
10546 : 0 : _q20 = do_valueize (valueize, _q20);
10547 : 0 : {
10548 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
10549 : 0 : if (gimple_simplify_687 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP64, CFN_BUILT_IN_PARITY))
10550 : 0 : return true;
10551 : : }
10552 : : }
10553 : : break;
10554 : : default:;
10555 : : }
10556 : : }
10557 : : break;
10558 : 2471 : default:;
10559 : : }
10560 : 2471 : {
10561 : 2471 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
10562 : 2471 : if (gimple_simplify_682 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_PARITY))
10563 : 4 : return true;
10564 : : }
10565 : 2467 : return false;
10566 : : }
10567 : :
10568 : : bool
10569 : 0 : gimple_simplify_CFN_BUILT_IN_FFSIMAX (gimple_match_op *res_op, gimple_seq *seq,
10570 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
10571 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
10572 : : {
10573 : 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
10574 : 0 : switch (TREE_CODE (_p0))
10575 : : {
10576 : 0 : case SSA_NAME:
10577 : 0 : if (gimple *_d1 = get_def (valueize, _p0))
10578 : : {
10579 : 0 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
10580 : 0 : switch (gimple_assign_rhs_code (_a1))
10581 : : {
10582 : 0 : CASE_CONVERT:
10583 : 0 : {
10584 : 0 : tree _q20 = gimple_assign_rhs1 (_a1);
10585 : 0 : _q20 = do_valueize (valueize, _q20);
10586 : 0 : {
10587 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
10588 : 0 : if (gimple_simplify_690 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FFSIMAX))
10589 : 0 : return true;
10590 : : }
10591 : 0 : break;
10592 : : }
10593 : : default:;
10594 : : }
10595 : : }
10596 : : break;
10597 : 0 : default:;
10598 : : }
10599 : 0 : if (tree_expr_nonzero_p (_p0))
10600 : : {
10601 : 0 : {
10602 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
10603 : 0 : if (gimple_simplify_689 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FFSIMAX, CFN_BUILT_IN_CTZIMAX))
10604 : 0 : return true;
10605 : : }
10606 : : }
10607 : : return false;
10608 : : }
10609 : :
10610 : : bool
10611 : 0 : gimple_simplify_CFN_REDUC_FMAX (gimple_match_op *res_op, gimple_seq *seq,
10612 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
10613 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
10614 : : {
10615 : 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
10616 : 0 : switch (TREE_CODE (_p0))
10617 : : {
10618 : 0 : case SSA_NAME:
10619 : 0 : if (gimple *_d1 = get_def (valueize, _p0))
10620 : : {
10621 : 0 : if (gcall *_c1 = dyn_cast <gcall *> (_d1))
10622 : 0 : switch (gimple_call_combined_fn (_c1))
10623 : : {
10624 : 0 : case CFN_FMAX:
10625 : 0 : if (gimple_call_num_args (_c1) == 2)
10626 : : {
10627 : 0 : tree _q20 = gimple_call_arg (_c1, 0);
10628 : 0 : _q20 = do_valueize (valueize, _q20);
10629 : 0 : tree _q21 = gimple_call_arg (_c1, 1);
10630 : 0 : _q21 = do_valueize (valueize, _q21);
10631 : 0 : switch (TREE_CODE (_q21))
10632 : : {
10633 : 0 : case VECTOR_CST:
10634 : 0 : {
10635 : 0 : {
10636 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
10637 : 0 : gimple_seq *lseq = seq;
10638 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1963;
10639 : 0 : {
10640 : 0 : res_op->set_op (CFN_FMAX, type, 2);
10641 : 0 : {
10642 : 0 : tree _o1[1], _r1;
10643 : 0 : _o1[0] = captures[0];
10644 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), CFN_REDUC_FMAX, type, _o1[0]);
10645 : 0 : tem_op.resimplify (lseq, valueize);
10646 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
10647 : 0 : if (!_r1) goto next_after_fail1963;
10648 : 0 : res_op->ops[0] = _r1;
10649 : : }
10650 : 0 : {
10651 : 0 : tree _o1[1], _r1;
10652 : 0 : _o1[0] = captures[1];
10653 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), CFN_REDUC_FMAX, type, _o1[0]);
10654 : 0 : tem_op.resimplify (lseq, valueize);
10655 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
10656 : 0 : if (!_r1) goto next_after_fail1963;
10657 : 0 : res_op->ops[1] = _r1;
10658 : : }
10659 : 0 : res_op->resimplify (lseq, valueize);
10660 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1025, __FILE__, __LINE__, true);
10661 : 0 : return true;
10662 : : }
10663 : 0 : next_after_fail1963:;
10664 : : }
10665 : 0 : break;
10666 : : }
10667 : : default:;
10668 : : }
10669 : : }
10670 : : break;
10671 : : default:;
10672 : : }
10673 : : }
10674 : : break;
10675 : : default:;
10676 : : }
10677 : : return false;
10678 : : }
10679 : :
10680 : : bool
10681 : 5975 : gimple_simplify_CFN_REDUC_AND (gimple_match_op *res_op, gimple_seq *seq,
10682 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
10683 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
10684 : : {
10685 : 5975 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
10686 : 5975 : switch (TREE_CODE (_p0))
10687 : : {
10688 : 5975 : case SSA_NAME:
10689 : 5975 : if (gimple *_d1 = get_def (valueize, _p0))
10690 : : {
10691 : 2494 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
10692 : 3391 : switch (gimple_assign_rhs_code (_a1))
10693 : : {
10694 : 1489 : case BIT_AND_EXPR:
10695 : 1489 : {
10696 : 1489 : tree _q20 = gimple_assign_rhs1 (_a1);
10697 : 1489 : _q20 = do_valueize (valueize, _q20);
10698 : 1489 : tree _q21 = gimple_assign_rhs2 (_a1);
10699 : 1489 : _q21 = do_valueize (valueize, _q21);
10700 : 1489 : if (tree_swap_operands_p (_q20, _q21))
10701 : 10 : std::swap (_q20, _q21);
10702 : 1489 : switch (TREE_CODE (_q21))
10703 : : {
10704 : 0 : case VECTOR_CST:
10705 : 0 : {
10706 : 0 : {
10707 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
10708 : 0 : gimple_seq *lseq = seq;
10709 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1965;
10710 : 0 : {
10711 : 0 : res_op->set_op (BIT_AND_EXPR, type, 2);
10712 : 0 : {
10713 : 0 : tree _o1[1], _r1;
10714 : 0 : _o1[0] = captures[0];
10715 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), CFN_REDUC_AND, type, _o1[0]);
10716 : 0 : tem_op.resimplify (lseq, valueize);
10717 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
10718 : 0 : if (!_r1) goto next_after_fail1965;
10719 : 0 : res_op->ops[0] = _r1;
10720 : : }
10721 : 0 : {
10722 : 0 : tree _o1[1], _r1;
10723 : 0 : _o1[0] = captures[1];
10724 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), CFN_REDUC_AND, type, _o1[0]);
10725 : 0 : tem_op.resimplify (lseq, valueize);
10726 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
10727 : 0 : if (!_r1) goto next_after_fail1965;
10728 : 0 : res_op->ops[1] = _r1;
10729 : : }
10730 : 0 : res_op->resimplify (lseq, valueize);
10731 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1025, __FILE__, __LINE__, true);
10732 : 0 : return true;
10733 : : }
10734 : 0 : next_after_fail1965:;
10735 : : }
10736 : 0 : break;
10737 : : }
10738 : : default:;
10739 : : }
10740 : 5975 : break;
10741 : : }
10742 : : default:;
10743 : : }
10744 : : }
10745 : : break;
10746 : : default:;
10747 : : }
10748 : : return false;
10749 : : }
10750 : :
10751 : : bool
10752 : 4661561 : gimple_simplify_BIT_IOR_EXPR (gimple_match_op *res_op, gimple_seq *seq,
10753 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
10754 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0, tree _p1)
10755 : : {
10756 : 4661561 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
10757 : 4661561 : if (integer_zerop (_p1))
10758 : : {
10759 : 326708 : {
10760 : 326708 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
10761 : 326708 : gimple_seq *lseq = seq;
10762 : 326708 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2081;
10763 : 326708 : {
10764 : 326708 : tree tem;
10765 : 326708 : tem = captures[0];
10766 : 326708 : res_op->set_value (tem);
10767 : 326708 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1026, __FILE__, __LINE__, true);
10768 : 326708 : return true;
10769 : : }
10770 : 0 : next_after_fail2081:;
10771 : : }
10772 : : }
10773 : 4334853 : switch (TREE_CODE (_p0))
10774 : : {
10775 : 4278234 : case SSA_NAME:
10776 : 4278234 : if (gimple *_d1 = get_def (valueize, _p0))
10777 : : {
10778 : 3411238 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
10779 : 3644970 : switch (gimple_assign_rhs_code (_a1))
10780 : : {
10781 : 156689 : case LSHIFT_EXPR:
10782 : 156689 : {
10783 : 156689 : tree _q20 = gimple_assign_rhs1 (_a1);
10784 : 156689 : _q20 = do_valueize (valueize, _q20);
10785 : 156689 : tree _q21 = gimple_assign_rhs2 (_a1);
10786 : 156689 : _q21 = do_valueize (valueize, _q21);
10787 : 156689 : switch (TREE_CODE (_p1))
10788 : : {
10789 : 135176 : case SSA_NAME:
10790 : 135176 : if (gimple *_d2 = get_def (valueize, _p1))
10791 : : {
10792 : 128811 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
10793 : 133311 : switch (gimple_assign_rhs_code (_a2))
10794 : : {
10795 : 14661 : case LSHIFT_EXPR:
10796 : 14661 : {
10797 : 14661 : tree _q50 = gimple_assign_rhs1 (_a2);
10798 : 14661 : _q50 = do_valueize (valueize, _q50);
10799 : 14661 : tree _q51 = gimple_assign_rhs2 (_a2);
10800 : 14661 : _q51 = do_valueize (valueize, _q51);
10801 : 14661 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
10802 : : {
10803 : 15 : {
10804 : 15 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
10805 : 15 : if (gimple_simplify_3 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
10806 : 2 : return true;
10807 : : }
10808 : : }
10809 : : break;
10810 : : }
10811 : : default:;
10812 : : }
10813 : : }
10814 : : break;
10815 : : default:;
10816 : : }
10817 : : break;
10818 : : }
10819 : 35302 : case RSHIFT_EXPR:
10820 : 35302 : {
10821 : 35302 : tree _q20 = gimple_assign_rhs1 (_a1);
10822 : 35302 : _q20 = do_valueize (valueize, _q20);
10823 : 35302 : tree _q21 = gimple_assign_rhs2 (_a1);
10824 : 35302 : _q21 = do_valueize (valueize, _q21);
10825 : 35302 : switch (TREE_CODE (_p1))
10826 : : {
10827 : 32214 : case SSA_NAME:
10828 : 32214 : if (gimple *_d2 = get_def (valueize, _p1))
10829 : : {
10830 : 31891 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
10831 : 32003 : switch (gimple_assign_rhs_code (_a2))
10832 : : {
10833 : 316 : case RSHIFT_EXPR:
10834 : 316 : {
10835 : 316 : tree _q50 = gimple_assign_rhs1 (_a2);
10836 : 316 : _q50 = do_valueize (valueize, _q50);
10837 : 316 : tree _q51 = gimple_assign_rhs2 (_a2);
10838 : 316 : _q51 = do_valueize (valueize, _q51);
10839 : 316 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
10840 : : {
10841 : 35 : {
10842 : 35 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
10843 : 35 : if (gimple_simplify_4 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
10844 : 1 : return true;
10845 : : }
10846 : : }
10847 : : break;
10848 : : }
10849 : : default:;
10850 : : }
10851 : : }
10852 : : break;
10853 : : default:;
10854 : : }
10855 : : break;
10856 : : }
10857 : 416260 : case NE_EXPR:
10858 : 416260 : {
10859 : 416260 : tree _q20 = gimple_assign_rhs1 (_a1);
10860 : 416260 : _q20 = do_valueize (valueize, _q20);
10861 : 416260 : tree _q21 = gimple_assign_rhs2 (_a1);
10862 : 416260 : _q21 = do_valueize (valueize, _q21);
10863 : 416260 : if (tree_swap_operands_p (_q20, _q21))
10864 : 6530 : std::swap (_q20, _q21);
10865 : 416260 : if (integer_zerop (_q21))
10866 : : {
10867 : 49314 : switch (TREE_CODE (_p1))
10868 : : {
10869 : 49049 : case SSA_NAME:
10870 : 49049 : if (gimple *_d2 = get_def (valueize, _p1))
10871 : : {
10872 : 48547 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
10873 : 45949 : switch (gimple_assign_rhs_code (_a2))
10874 : : {
10875 : 27792 : case NE_EXPR:
10876 : 27792 : {
10877 : 27792 : tree _q50 = gimple_assign_rhs1 (_a2);
10878 : 27792 : _q50 = do_valueize (valueize, _q50);
10879 : 27792 : tree _q51 = gimple_assign_rhs2 (_a2);
10880 : 27792 : _q51 = do_valueize (valueize, _q51);
10881 : 27792 : if (tree_swap_operands_p (_q50, _q51))
10882 : 163 : std::swap (_q50, _q51);
10883 : 27792 : if (integer_zerop (_q51))
10884 : : {
10885 : 21637 : {
10886 : 21637 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
10887 : 21637 : if (gimple_simplify_113 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, NE_EXPR))
10888 : 4204 : return true;
10889 : : }
10890 : : }
10891 : 412056 : break;
10892 : : }
10893 : : default:;
10894 : : }
10895 : : }
10896 : : break;
10897 : : default:;
10898 : : }
10899 : : }
10900 : 412056 : if (integer_all_onesp (_q21))
10901 : : {
10902 : 7236 : switch (TREE_CODE (_p1))
10903 : : {
10904 : 6767 : case SSA_NAME:
10905 : 6767 : if (gimple *_d2 = get_def (valueize, _p1))
10906 : : {
10907 : 6762 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
10908 : 6725 : switch (gimple_assign_rhs_code (_a2))
10909 : : {
10910 : 2893 : case NE_EXPR:
10911 : 2893 : {
10912 : 2893 : tree _q50 = gimple_assign_rhs1 (_a2);
10913 : 2893 : _q50 = do_valueize (valueize, _q50);
10914 : 2893 : tree _q51 = gimple_assign_rhs2 (_a2);
10915 : 2893 : _q51 = do_valueize (valueize, _q51);
10916 : 2893 : if (tree_swap_operands_p (_q50, _q51))
10917 : 53 : std::swap (_q50, _q51);
10918 : 2893 : if (integer_all_onesp (_q51))
10919 : : {
10920 : 1208 : {
10921 : 1208 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
10922 : 1208 : if (gimple_simplify_114 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, NE_EXPR))
10923 : 316 : return true;
10924 : : }
10925 : : }
10926 : 4330180 : break;
10927 : : }
10928 : : default:;
10929 : : }
10930 : : }
10931 : : break;
10932 : : default:;
10933 : : }
10934 : : }
10935 : 4330180 : break;
10936 : : }
10937 : 322866 : case BIT_AND_EXPR:
10938 : 322866 : {
10939 : 322866 : tree _q20 = gimple_assign_rhs1 (_a1);
10940 : 322866 : _q20 = do_valueize (valueize, _q20);
10941 : 322866 : tree _q21 = gimple_assign_rhs2 (_a1);
10942 : 322866 : _q21 = do_valueize (valueize, _q21);
10943 : 322866 : if (tree_swap_operands_p (_q20, _q21))
10944 : 8748 : std::swap (_q20, _q21);
10945 : 322866 : switch (TREE_CODE (_p1))
10946 : : {
10947 : 177727 : case SSA_NAME:
10948 : 177727 : if (gimple *_d2 = get_def (valueize, _p1))
10949 : : {
10950 : 176552 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
10951 : 170182 : switch (gimple_assign_rhs_code (_a2))
10952 : : {
10953 : 142696 : case BIT_AND_EXPR:
10954 : 142696 : {
10955 : 142696 : tree _q50 = gimple_assign_rhs1 (_a2);
10956 : 142696 : _q50 = do_valueize (valueize, _q50);
10957 : 142696 : tree _q51 = gimple_assign_rhs2 (_a2);
10958 : 142696 : _q51 = do_valueize (valueize, _q51);
10959 : 142696 : if (tree_swap_operands_p (_q50, _q51))
10960 : 7627 : std::swap (_q50, _q51);
10961 : 142696 : {
10962 : 142696 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
10963 : 142696 : if (gimple_simplify_5 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
10964 : 8 : return true;
10965 : : }
10966 : 142688 : {
10967 : 142688 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q50 };
10968 : 142688 : if (gimple_simplify_5 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
10969 : 134 : return true;
10970 : : }
10971 : 142554 : {
10972 : 142554 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q51 };
10973 : 142554 : if (gimple_simplify_5 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
10974 : 0 : return true;
10975 : : }
10976 : 142554 : {
10977 : 142554 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q50 };
10978 : 142554 : if (gimple_simplify_5 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
10979 : 0 : return true;
10980 : : }
10981 : 142554 : break;
10982 : : }
10983 : : default:;
10984 : : }
10985 : : }
10986 : : break;
10987 : : default:;
10988 : : }
10989 : 4330180 : break;
10990 : : }
10991 : 16052 : case BIT_XOR_EXPR:
10992 : 16052 : {
10993 : 16052 : tree _q20 = gimple_assign_rhs1 (_a1);
10994 : 16052 : _q20 = do_valueize (valueize, _q20);
10995 : 16052 : tree _q21 = gimple_assign_rhs2 (_a1);
10996 : 16052 : _q21 = do_valueize (valueize, _q21);
10997 : 16052 : if (tree_swap_operands_p (_q20, _q21))
10998 : 837 : std::swap (_q20, _q21);
10999 : 16052 : if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
11000 : : {
11001 : 0 : {
11002 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
11003 : 0 : if (gimple_simplify_115 (res_op, seq, valueize, type, captures))
11004 : 0 : return true;
11005 : : }
11006 : : }
11007 : 16052 : if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
11008 : : {
11009 : 5 : {
11010 : 5 : tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
11011 : 5 : if (gimple_simplify_115 (res_op, seq, valueize, type, captures))
11012 : 5 : return true;
11013 : : }
11014 : : }
11015 : 16047 : switch (TREE_CODE (_p1))
11016 : : {
11017 : 8912 : case SSA_NAME:
11018 : 8912 : if (gimple *_d2 = get_def (valueize, _p1))
11019 : : {
11020 : 8677 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
11021 : 5118 : switch (gimple_assign_rhs_code (_a2))
11022 : : {
11023 : 1557 : case BIT_AND_EXPR:
11024 : 1557 : {
11025 : 1557 : tree _q50 = gimple_assign_rhs1 (_a2);
11026 : 1557 : _q50 = do_valueize (valueize, _q50);
11027 : 1557 : tree _q51 = gimple_assign_rhs2 (_a2);
11028 : 1557 : _q51 = do_valueize (valueize, _q51);
11029 : 1557 : if (tree_swap_operands_p (_q50, _q51))
11030 : 57 : std::swap (_q50, _q51);
11031 : 1557 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
11032 : : {
11033 : 674 : switch (TREE_CODE (_q51))
11034 : : {
11035 : 674 : case SSA_NAME:
11036 : 674 : if (gimple *_d3 = get_def (valueize, _q51))
11037 : : {
11038 : 602 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
11039 : 0 : switch (gimple_assign_rhs_code (_a3))
11040 : : {
11041 : 0 : case BIT_NOT_EXPR:
11042 : 0 : {
11043 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
11044 : 0 : _q70 = do_valueize (valueize, _q70);
11045 : 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
11046 : : {
11047 : 0 : {
11048 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p0 };
11049 : 0 : if (gimple_simplify_116 (res_op, seq, valueize, type, captures))
11050 : 0 : return true;
11051 : : }
11052 : : }
11053 : : break;
11054 : : }
11055 : : default:;
11056 : : }
11057 : : }
11058 : : break;
11059 : : default:;
11060 : : }
11061 : : }
11062 : 1557 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
11063 : : {
11064 : 226 : switch (TREE_CODE (_q51))
11065 : : {
11066 : 226 : case SSA_NAME:
11067 : 226 : if (gimple *_d3 = get_def (valueize, _q51))
11068 : : {
11069 : 214 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
11070 : 25 : switch (gimple_assign_rhs_code (_a3))
11071 : : {
11072 : 0 : case BIT_NOT_EXPR:
11073 : 0 : {
11074 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
11075 : 0 : _q70 = do_valueize (valueize, _q70);
11076 : 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
11077 : : {
11078 : 0 : {
11079 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p0 };
11080 : 0 : if (gimple_simplify_116 (res_op, seq, valueize, type, captures))
11081 : 0 : return true;
11082 : : }
11083 : : }
11084 : : break;
11085 : : }
11086 : : default:;
11087 : : }
11088 : : }
11089 : : break;
11090 : : default:;
11091 : : }
11092 : : }
11093 : 1557 : switch (TREE_CODE (_q50))
11094 : : {
11095 : 1557 : case SSA_NAME:
11096 : 1557 : if (gimple *_d3 = get_def (valueize, _q50))
11097 : : {
11098 : 1323 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
11099 : 339 : switch (gimple_assign_rhs_code (_a3))
11100 : : {
11101 : 141 : case BIT_NOT_EXPR:
11102 : 141 : {
11103 : 141 : tree _q60 = gimple_assign_rhs1 (_a3);
11104 : 141 : _q60 = do_valueize (valueize, _q60);
11105 : 141 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
11106 : : {
11107 : 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
11108 : : {
11109 : 0 : {
11110 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p0 };
11111 : 0 : if (gimple_simplify_116 (res_op, seq, valueize, type, captures))
11112 : 0 : return true;
11113 : : }
11114 : : }
11115 : : }
11116 : 141 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
11117 : : {
11118 : 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
11119 : : {
11120 : 0 : {
11121 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p0 };
11122 : 0 : if (gimple_simplify_116 (res_op, seq, valueize, type, captures))
11123 : 0 : return true;
11124 : : }
11125 : : }
11126 : : }
11127 : : break;
11128 : : }
11129 : : default:;
11130 : : }
11131 : : }
11132 : : break;
11133 : : default:;
11134 : : }
11135 : 16047 : break;
11136 : : }
11137 : : default:;
11138 : : }
11139 : : }
11140 : : break;
11141 : 16047 : default:;
11142 : : }
11143 : 16047 : {
11144 : 16047 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p0, _q20, _q21 };
11145 : 16047 : if (gimple_simplify_117 (res_op, seq, valueize, type, captures))
11146 : 2 : return true;
11147 : : }
11148 : 16045 : {
11149 : 16045 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p0, _q21, _q20 };
11150 : 16045 : if (gimple_simplify_117 (res_op, seq, valueize, type, captures))
11151 : 1 : return true;
11152 : : }
11153 : 16044 : break;
11154 : : }
11155 : : default:;
11156 : : }
11157 : : }
11158 : : break;
11159 : 4330180 : default:;
11160 : : }
11161 : 4330180 : switch (TREE_CODE (_p1))
11162 : : {
11163 : 3418287 : case SSA_NAME:
11164 : 3418287 : if (gimple *_d1 = get_def (valueize, _p1))
11165 : : {
11166 : 2797487 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
11167 : 2736347 : switch (gimple_assign_rhs_code (_a1))
11168 : : {
11169 : 5576 : case BIT_XOR_EXPR:
11170 : 5576 : {
11171 : 5576 : tree _q30 = gimple_assign_rhs1 (_a1);
11172 : 5576 : _q30 = do_valueize (valueize, _q30);
11173 : 5576 : tree _q31 = gimple_assign_rhs2 (_a1);
11174 : 5576 : _q31 = do_valueize (valueize, _q31);
11175 : 5576 : if (tree_swap_operands_p (_q30, _q31))
11176 : 343 : std::swap (_q30, _q31);
11177 : 5576 : if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
11178 : : {
11179 : 18 : {
11180 : 18 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
11181 : 18 : if (gimple_simplify_115 (res_op, seq, valueize, type, captures))
11182 : 18 : return true;
11183 : : }
11184 : : }
11185 : 5558 : if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
11186 : : {
11187 : 0 : {
11188 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
11189 : 0 : if (gimple_simplify_115 (res_op, seq, valueize, type, captures))
11190 : 0 : return true;
11191 : : }
11192 : : }
11193 : 4330162 : break;
11194 : : }
11195 : : default:;
11196 : : }
11197 : : }
11198 : : break;
11199 : 4330162 : default:;
11200 : : }
11201 : 4330162 : switch (TREE_CODE (_p0))
11202 : : {
11203 : 4273543 : case SSA_NAME:
11204 : 4273543 : if (gimple *_d1 = get_def (valueize, _p0))
11205 : : {
11206 : 3406549 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
11207 : 3640296 : switch (gimple_assign_rhs_code (_a1))
11208 : : {
11209 : 322724 : case BIT_AND_EXPR:
11210 : 322724 : {
11211 : 322724 : tree _q20 = gimple_assign_rhs1 (_a1);
11212 : 322724 : _q20 = do_valueize (valueize, _q20);
11213 : 322724 : tree _q21 = gimple_assign_rhs2 (_a1);
11214 : 322724 : _q21 = do_valueize (valueize, _q21);
11215 : 322724 : if (tree_swap_operands_p (_q20, _q21))
11216 : 8748 : std::swap (_q20, _q21);
11217 : 322724 : switch (TREE_CODE (_q21))
11218 : : {
11219 : 138138 : case SSA_NAME:
11220 : 138138 : if (gimple *_d2 = get_def (valueize, _q21))
11221 : : {
11222 : 118145 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
11223 : 137443 : switch (gimple_assign_rhs_code (_a2))
11224 : : {
11225 : 2662 : case BIT_NOT_EXPR:
11226 : 2662 : {
11227 : 2662 : tree _q40 = gimple_assign_rhs1 (_a2);
11228 : 2662 : _q40 = do_valueize (valueize, _q40);
11229 : 2662 : switch (TREE_CODE (_p1))
11230 : : {
11231 : 2662 : case SSA_NAME:
11232 : 2662 : if (gimple *_d3 = get_def (valueize, _p1))
11233 : : {
11234 : 2620 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
11235 : 2360 : switch (gimple_assign_rhs_code (_a3))
11236 : : {
11237 : 0 : case BIT_XOR_EXPR:
11238 : 0 : {
11239 : 0 : tree _q60 = gimple_assign_rhs1 (_a3);
11240 : 0 : _q60 = do_valueize (valueize, _q60);
11241 : 0 : tree _q61 = gimple_assign_rhs2 (_a3);
11242 : 0 : _q61 = do_valueize (valueize, _q61);
11243 : 0 : if (tree_swap_operands_p (_q60, _q61))
11244 : 0 : std::swap (_q60, _q61);
11245 : 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
11246 : : {
11247 : 0 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
11248 : : {
11249 : 0 : {
11250 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _p1 };
11251 : 0 : if (gimple_simplify_118 (res_op, seq, valueize, type, captures))
11252 : 0 : return true;
11253 : : }
11254 : : }
11255 : : }
11256 : 0 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
11257 : : {
11258 : 0 : if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
11259 : : {
11260 : 0 : {
11261 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _p1 };
11262 : 0 : if (gimple_simplify_118 (res_op, seq, valueize, type, captures))
11263 : 0 : return true;
11264 : : }
11265 : : }
11266 : : }
11267 : 322724 : break;
11268 : : }
11269 : : default:;
11270 : : }
11271 : : }
11272 : : break;
11273 : : default:;
11274 : : }
11275 : : break;
11276 : : }
11277 : : default:;
11278 : : }
11279 : : }
11280 : : break;
11281 : 322724 : default:;
11282 : : }
11283 : 322724 : switch (TREE_CODE (_q20))
11284 : : {
11285 : 322724 : case SSA_NAME:
11286 : 322724 : if (gimple *_d2 = get_def (valueize, _q20))
11287 : : {
11288 : 284779 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
11289 : 265739 : switch (gimple_assign_rhs_code (_a2))
11290 : : {
11291 : 6667 : case BIT_NOT_EXPR:
11292 : 6667 : {
11293 : 6667 : tree _q30 = gimple_assign_rhs1 (_a2);
11294 : 6667 : _q30 = do_valueize (valueize, _q30);
11295 : 6667 : switch (TREE_CODE (_p1))
11296 : : {
11297 : 6520 : case SSA_NAME:
11298 : 6520 : if (gimple *_d3 = get_def (valueize, _p1))
11299 : : {
11300 : 6494 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
11301 : 5583 : switch (gimple_assign_rhs_code (_a3))
11302 : : {
11303 : 811 : case BIT_XOR_EXPR:
11304 : 811 : {
11305 : 811 : tree _q60 = gimple_assign_rhs1 (_a3);
11306 : 811 : _q60 = do_valueize (valueize, _q60);
11307 : 811 : tree _q61 = gimple_assign_rhs2 (_a3);
11308 : 811 : _q61 = do_valueize (valueize, _q61);
11309 : 811 : if (tree_swap_operands_p (_q60, _q61))
11310 : 28 : std::swap (_q60, _q61);
11311 : 811 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
11312 : : {
11313 : 405 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
11314 : : {
11315 : 0 : {
11316 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q30, _p1 };
11317 : 0 : if (gimple_simplify_118 (res_op, seq, valueize, type, captures))
11318 : 0 : return true;
11319 : : }
11320 : : }
11321 : : }
11322 : 811 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
11323 : : {
11324 : 406 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
11325 : : {
11326 : 1 : {
11327 : 1 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q30, _p1 };
11328 : 1 : if (gimple_simplify_118 (res_op, seq, valueize, type, captures))
11329 : 1 : return true;
11330 : : }
11331 : : }
11332 : : }
11333 : 4330161 : break;
11334 : : }
11335 : : default:;
11336 : : }
11337 : : }
11338 : : break;
11339 : : default:;
11340 : : }
11341 : : break;
11342 : : }
11343 : : default:;
11344 : : }
11345 : : }
11346 : : break;
11347 : : default:;
11348 : : }
11349 : 4330161 : break;
11350 : : }
11351 : : default:;
11352 : : }
11353 : : }
11354 : : break;
11355 : 4330161 : default:;
11356 : : }
11357 : 4330161 : switch (TREE_CODE (_p1))
11358 : : {
11359 : 3418268 : case SSA_NAME:
11360 : 3418268 : if (gimple *_d1 = get_def (valueize, _p1))
11361 : : {
11362 : 2797468 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
11363 : 2736328 : switch (gimple_assign_rhs_code (_a1))
11364 : : {
11365 : 12881 : case BIT_NOT_EXPR:
11366 : 12881 : {
11367 : 12881 : tree _q30 = gimple_assign_rhs1 (_a1);
11368 : 12881 : _q30 = do_valueize (valueize, _q30);
11369 : 12881 : switch (TREE_CODE (_q30))
11370 : : {
11371 : 12881 : case SSA_NAME:
11372 : 12881 : if (gimple *_d2 = get_def (valueize, _q30))
11373 : : {
11374 : 12488 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
11375 : 12546 : switch (gimple_assign_rhs_code (_a2))
11376 : : {
11377 : 114 : case BIT_XOR_EXPR:
11378 : 114 : {
11379 : 114 : tree _q40 = gimple_assign_rhs1 (_a2);
11380 : 114 : _q40 = do_valueize (valueize, _q40);
11381 : 114 : tree _q41 = gimple_assign_rhs2 (_a2);
11382 : 114 : _q41 = do_valueize (valueize, _q41);
11383 : 114 : if (tree_swap_operands_p (_q40, _q41))
11384 : 0 : std::swap (_q40, _q41);
11385 : 114 : if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
11386 : : {
11387 : 0 : {
11388 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q41 };
11389 : 0 : if (gimple_simplify_119 (res_op, seq, valueize, type, captures))
11390 : 0 : return true;
11391 : : }
11392 : : }
11393 : 114 : if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
11394 : : {
11395 : 0 : {
11396 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q40 };
11397 : 0 : if (gimple_simplify_119 (res_op, seq, valueize, type, captures))
11398 : 0 : return true;
11399 : : }
11400 : : }
11401 : 4330161 : break;
11402 : : }
11403 : : default:;
11404 : : }
11405 : : }
11406 : : break;
11407 : : default:;
11408 : : }
11409 : : break;
11410 : : }
11411 : : default:;
11412 : : }
11413 : : }
11414 : : break;
11415 : 4330161 : default:;
11416 : : }
11417 : 4330161 : switch (TREE_CODE (_p0))
11418 : : {
11419 : 4273542 : case SSA_NAME:
11420 : 4273542 : if (gimple *_d1 = get_def (valueize, _p0))
11421 : : {
11422 : 3406548 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
11423 : 3640295 : switch (gimple_assign_rhs_code (_a1))
11424 : : {
11425 : 26149 : case BIT_NOT_EXPR:
11426 : 26149 : {
11427 : 26149 : tree _q20 = gimple_assign_rhs1 (_a1);
11428 : 26149 : _q20 = do_valueize (valueize, _q20);
11429 : 26149 : switch (TREE_CODE (_q20))
11430 : : {
11431 : 26149 : case SSA_NAME:
11432 : 26149 : if (gimple *_d2 = get_def (valueize, _q20))
11433 : : {
11434 : 24911 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
11435 : 22076 : switch (gimple_assign_rhs_code (_a2))
11436 : : {
11437 : 1765 : case BIT_XOR_EXPR:
11438 : 1765 : {
11439 : 1765 : tree _q30 = gimple_assign_rhs1 (_a2);
11440 : 1765 : _q30 = do_valueize (valueize, _q30);
11441 : 1765 : tree _q31 = gimple_assign_rhs2 (_a2);
11442 : 1765 : _q31 = do_valueize (valueize, _q31);
11443 : 1765 : if (tree_swap_operands_p (_q30, _q31))
11444 : 27 : std::swap (_q30, _q31);
11445 : 1765 : if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
11446 : : {
11447 : 2 : {
11448 : 2 : tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q31 };
11449 : 2 : if (gimple_simplify_119 (res_op, seq, valueize, type, captures))
11450 : 1 : return true;
11451 : : }
11452 : : }
11453 : 1764 : if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
11454 : : {
11455 : 0 : {
11456 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q31, _p0, _q30 };
11457 : 0 : if (gimple_simplify_119 (res_op, seq, valueize, type, captures))
11458 : 0 : return true;
11459 : : }
11460 : : }
11461 : 4330160 : break;
11462 : : }
11463 : : default:;
11464 : : }
11465 : : }
11466 : : break;
11467 : : default:;
11468 : : }
11469 : : break;
11470 : : }
11471 : : default:;
11472 : : }
11473 : : }
11474 : : break;
11475 : 4330160 : default:;
11476 : : }
11477 : 4330160 : {
11478 : 4330160 : tree _p1_pops[1];
11479 : 4330160 : if (gimple_nop_convert (_p1, _p1_pops, valueize))
11480 : : {
11481 : 41276 : tree _q30 = _p1_pops[0];
11482 : 41276 : switch (TREE_CODE (_q30))
11483 : : {
11484 : 41196 : case SSA_NAME:
11485 : 41196 : if (gimple *_d1 = get_def (valueize, _q30))
11486 : : {
11487 : 40178 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
11488 : 32798 : switch (gimple_assign_rhs_code (_a1))
11489 : : {
11490 : 480 : case EQ_EXPR:
11491 : 480 : {
11492 : 480 : tree _q40 = gimple_assign_rhs1 (_a1);
11493 : 480 : _q40 = do_valueize (valueize, _q40);
11494 : 480 : tree _q41 = gimple_assign_rhs2 (_a1);
11495 : 480 : _q41 = do_valueize (valueize, _q41);
11496 : 480 : if (tree_swap_operands_p (_q40, _q41))
11497 : 0 : std::swap (_q40, _q41);
11498 : 480 : if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
11499 : : {
11500 : 0 : {
11501 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
11502 : 0 : if (gimple_simplify_120 (res_op, seq, valueize, type, captures))
11503 : 0 : return true;
11504 : : }
11505 : : }
11506 : 480 : if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
11507 : : {
11508 : 0 : {
11509 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
11510 : 0 : if (gimple_simplify_120 (res_op, seq, valueize, type, captures))
11511 : 0 : return true;
11512 : : }
11513 : : }
11514 : 4330160 : break;
11515 : : }
11516 : : default:;
11517 : : }
11518 : : }
11519 : : break;
11520 : : default:;
11521 : : }
11522 : : }
11523 : : }
11524 : 4330160 : {
11525 : 4330160 : tree _p0_pops[1];
11526 : 4330160 : if (gimple_nop_convert (_p0, _p0_pops, valueize))
11527 : : {
11528 : 99010 : tree _q20 = _p0_pops[0];
11529 : 99010 : switch (TREE_CODE (_q20))
11530 : : {
11531 : 98978 : case SSA_NAME:
11532 : 98978 : if (gimple *_d1 = get_def (valueize, _q20))
11533 : : {
11534 : 98315 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
11535 : 18347 : switch (gimple_assign_rhs_code (_a1))
11536 : : {
11537 : 146 : case EQ_EXPR:
11538 : 146 : {
11539 : 146 : tree _q30 = gimple_assign_rhs1 (_a1);
11540 : 146 : _q30 = do_valueize (valueize, _q30);
11541 : 146 : tree _q31 = gimple_assign_rhs2 (_a1);
11542 : 146 : _q31 = do_valueize (valueize, _q31);
11543 : 146 : if (tree_swap_operands_p (_q30, _q31))
11544 : 0 : std::swap (_q30, _q31);
11545 : 146 : if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
11546 : : {
11547 : 0 : {
11548 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
11549 : 0 : if (gimple_simplify_120 (res_op, seq, valueize, type, captures))
11550 : 0 : return true;
11551 : : }
11552 : : }
11553 : 146 : if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
11554 : : {
11555 : 0 : {
11556 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
11557 : 0 : if (gimple_simplify_120 (res_op, seq, valueize, type, captures))
11558 : 0 : return true;
11559 : : }
11560 : : }
11561 : 4330160 : break;
11562 : : }
11563 : : default:;
11564 : : }
11565 : : }
11566 : : break;
11567 : : default:;
11568 : : }
11569 : : }
11570 : : }
11571 : 4330160 : switch (TREE_CODE (_p1))
11572 : : {
11573 : 3418267 : case SSA_NAME:
11574 : 3418267 : if (gimple *_d1 = get_def (valueize, _p1))
11575 : : {
11576 : 2797467 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
11577 : 2736328 : switch (gimple_assign_rhs_code (_a1))
11578 : : {
11579 : 262334 : case EQ_EXPR:
11580 : 262334 : {
11581 : 262334 : tree _q30 = gimple_assign_rhs1 (_a1);
11582 : 262334 : _q30 = do_valueize (valueize, _q30);
11583 : 262334 : tree _q31 = gimple_assign_rhs2 (_a1);
11584 : 262334 : _q31 = do_valueize (valueize, _q31);
11585 : 262334 : if (tree_swap_operands_p (_q30, _q31))
11586 : 863 : std::swap (_q30, _q31);
11587 : 262334 : if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
11588 : : {
11589 : 2 : {
11590 : 2 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
11591 : 2 : if (gimple_simplify_120 (res_op, seq, valueize, type, captures))
11592 : 1 : return true;
11593 : : }
11594 : : }
11595 : 262333 : if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
11596 : : {
11597 : 0 : {
11598 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
11599 : 0 : if (gimple_simplify_120 (res_op, seq, valueize, type, captures))
11600 : 0 : return true;
11601 : : }
11602 : : }
11603 : 4330159 : break;
11604 : : }
11605 : : default:;
11606 : : }
11607 : : }
11608 : : break;
11609 : 4330159 : default:;
11610 : : }
11611 : 4330159 : switch (TREE_CODE (_p0))
11612 : : {
11613 : 4273540 : case SSA_NAME:
11614 : 4273540 : if (gimple *_d1 = get_def (valueize, _p0))
11615 : : {
11616 : 3406546 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
11617 : 3640294 : switch (gimple_assign_rhs_code (_a1))
11618 : : {
11619 : 276076 : case EQ_EXPR:
11620 : 276076 : {
11621 : 276076 : tree _q20 = gimple_assign_rhs1 (_a1);
11622 : 276076 : _q20 = do_valueize (valueize, _q20);
11623 : 276076 : tree _q21 = gimple_assign_rhs2 (_a1);
11624 : 276076 : _q21 = do_valueize (valueize, _q21);
11625 : 276076 : if (tree_swap_operands_p (_q20, _q21))
11626 : 725 : std::swap (_q20, _q21);
11627 : 276076 : if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
11628 : : {
11629 : 0 : {
11630 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
11631 : 0 : if (gimple_simplify_120 (res_op, seq, valueize, type, captures))
11632 : 0 : return true;
11633 : : }
11634 : : }
11635 : 276076 : if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
11636 : : {
11637 : 0 : {
11638 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
11639 : 0 : if (gimple_simplify_120 (res_op, seq, valueize, type, captures))
11640 : 0 : return true;
11641 : : }
11642 : : }
11643 : 4330159 : break;
11644 : : }
11645 : : default:;
11646 : : }
11647 : : }
11648 : : break;
11649 : 4330159 : default:;
11650 : : }
11651 : 4330159 : switch (TREE_CODE (_p1))
11652 : : {
11653 : 3418266 : case SSA_NAME:
11654 : 3418266 : if (gimple *_d1 = get_def (valueize, _p1))
11655 : : {
11656 : 2797466 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
11657 : 2736327 : switch (gimple_assign_rhs_code (_a1))
11658 : : {
11659 : 5557 : case BIT_XOR_EXPR:
11660 : 5557 : {
11661 : 5557 : tree _q30 = gimple_assign_rhs1 (_a1);
11662 : 5557 : _q30 = do_valueize (valueize, _q30);
11663 : 5557 : tree _q31 = gimple_assign_rhs2 (_a1);
11664 : 5557 : _q31 = do_valueize (valueize, _q31);
11665 : 5557 : if (tree_swap_operands_p (_q30, _q31))
11666 : 336 : std::swap (_q30, _q31);
11667 : 5557 : {
11668 : 5557 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
11669 : 5557 : if (gimple_simplify_117 (res_op, seq, valueize, type, captures))
11670 : 2 : return true;
11671 : : }
11672 : 5555 : {
11673 : 5555 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q31, _q30 };
11674 : 5555 : if (gimple_simplify_117 (res_op, seq, valueize, type, captures))
11675 : 0 : return true;
11676 : : }
11677 : 5555 : break;
11678 : : }
11679 : : default:;
11680 : : }
11681 : : }
11682 : : break;
11683 : 4330157 : default:;
11684 : : }
11685 : 4330157 : switch (TREE_CODE (_p0))
11686 : : {
11687 : 4273538 : case SSA_NAME:
11688 : 4273538 : if (gimple *_d1 = get_def (valueize, _p0))
11689 : : {
11690 : 3406544 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
11691 : 3640292 : switch (gimple_assign_rhs_code (_a1))
11692 : : {
11693 : 83764 : case PLUS_EXPR:
11694 : 83764 : {
11695 : 83764 : tree _q20 = gimple_assign_rhs1 (_a1);
11696 : 83764 : _q20 = do_valueize (valueize, _q20);
11697 : 83764 : tree _q21 = gimple_assign_rhs2 (_a1);
11698 : 83764 : _q21 = do_valueize (valueize, _q21);
11699 : 83764 : if (tree_swap_operands_p (_q20, _q21))
11700 : 3790 : std::swap (_q20, _q21);
11701 : 83764 : if (integer_minus_onep (_q21))
11702 : : {
11703 : 1697 : switch (TREE_CODE (_p1))
11704 : : {
11705 : 1052 : case SSA_NAME:
11706 : 1052 : if (gimple *_d2 = get_def (valueize, _p1))
11707 : : {
11708 : 983 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
11709 : 749 : switch (gimple_assign_rhs_code (_a2))
11710 : : {
11711 : 4 : case NEGATE_EXPR:
11712 : 4 : {
11713 : 4 : tree _q50 = gimple_assign_rhs1 (_a2);
11714 : 4 : _q50 = do_valueize (valueize, _q50);
11715 : 4 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
11716 : : {
11717 : 1 : {
11718 : 1 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
11719 : 1 : if (gimple_simplify_8 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
11720 : 1 : return true;
11721 : : }
11722 : : }
11723 : : break;
11724 : : }
11725 : : default:;
11726 : : }
11727 : : }
11728 : : break;
11729 : : default:;
11730 : : }
11731 : : }
11732 : 4328869 : break;
11733 : : }
11734 : 2914 : case NEGATE_EXPR:
11735 : 2914 : {
11736 : 2914 : tree _q20 = gimple_assign_rhs1 (_a1);
11737 : 2914 : _q20 = do_valueize (valueize, _q20);
11738 : 2914 : switch (TREE_CODE (_p1))
11739 : : {
11740 : 2591 : case SSA_NAME:
11741 : 2591 : if (gimple *_d2 = get_def (valueize, _p1))
11742 : : {
11743 : 2359 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
11744 : 2345 : switch (gimple_assign_rhs_code (_a2))
11745 : : {
11746 : 288 : case PLUS_EXPR:
11747 : 288 : {
11748 : 288 : tree _q40 = gimple_assign_rhs1 (_a2);
11749 : 288 : _q40 = do_valueize (valueize, _q40);
11750 : 288 : tree _q41 = gimple_assign_rhs2 (_a2);
11751 : 288 : _q41 = do_valueize (valueize, _q41);
11752 : 288 : if (tree_swap_operands_p (_q40, _q41))
11753 : 16 : std::swap (_q40, _q41);
11754 : 288 : if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
11755 : : {
11756 : 0 : if (integer_minus_onep (_q41))
11757 : : {
11758 : 0 : {
11759 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
11760 : 0 : if (gimple_simplify_9 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
11761 : 0 : return true;
11762 : : }
11763 : : }
11764 : : }
11765 : 4328869 : break;
11766 : : }
11767 : 0 : case MINUS_EXPR:
11768 : 0 : {
11769 : 0 : tree _q40 = gimple_assign_rhs1 (_a2);
11770 : 0 : _q40 = do_valueize (valueize, _q40);
11771 : 0 : tree _q41 = gimple_assign_rhs2 (_a2);
11772 : 0 : _q41 = do_valueize (valueize, _q41);
11773 : 0 : if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
11774 : : {
11775 : 0 : if (integer_onep (_q41))
11776 : : {
11777 : 0 : {
11778 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
11779 : 0 : if (gimple_simplify_10 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
11780 : 0 : return true;
11781 : : }
11782 : : }
11783 : : }
11784 : : break;
11785 : : }
11786 : : default:;
11787 : : }
11788 : : }
11789 : : break;
11790 : : default:;
11791 : : }
11792 : : break;
11793 : : }
11794 : 5549 : case MINUS_EXPR:
11795 : 5549 : {
11796 : 5549 : tree _q20 = gimple_assign_rhs1 (_a1);
11797 : 5549 : _q20 = do_valueize (valueize, _q20);
11798 : 5549 : tree _q21 = gimple_assign_rhs2 (_a1);
11799 : 5549 : _q21 = do_valueize (valueize, _q21);
11800 : 5549 : if (integer_onep (_q21))
11801 : : {
11802 : 2 : switch (TREE_CODE (_p1))
11803 : : {
11804 : 2 : case SSA_NAME:
11805 : 2 : if (gimple *_d2 = get_def (valueize, _p1))
11806 : : {
11807 : 2 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
11808 : 2 : switch (gimple_assign_rhs_code (_a2))
11809 : : {
11810 : 2 : case NEGATE_EXPR:
11811 : 2 : {
11812 : 2 : tree _q50 = gimple_assign_rhs1 (_a2);
11813 : 2 : _q50 = do_valueize (valueize, _q50);
11814 : 2 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
11815 : : {
11816 : 2 : {
11817 : 2 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
11818 : 2 : if (gimple_simplify_11 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
11819 : 2 : return true;
11820 : : }
11821 : : }
11822 : : break;
11823 : : }
11824 : : default:;
11825 : : }
11826 : : }
11827 : : break;
11828 : : default:;
11829 : : }
11830 : : }
11831 : : break;
11832 : : }
11833 : 230815 : case BIT_IOR_EXPR:
11834 : 230815 : {
11835 : 230815 : tree _q20 = gimple_assign_rhs1 (_a1);
11836 : 230815 : _q20 = do_valueize (valueize, _q20);
11837 : 230815 : tree _q21 = gimple_assign_rhs2 (_a1);
11838 : 230815 : _q21 = do_valueize (valueize, _q21);
11839 : 230815 : if (tree_swap_operands_p (_q20, _q21))
11840 : 8272 : std::swap (_q20, _q21);
11841 : 230815 : switch (TREE_CODE (_p1))
11842 : : {
11843 : 219960 : case SSA_NAME:
11844 : 219960 : if (gimple *_d2 = get_def (valueize, _p1))
11845 : : {
11846 : 218336 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
11847 : 170153 : switch (gimple_assign_rhs_code (_a2))
11848 : : {
11849 : 9699 : case BIT_AND_EXPR:
11850 : 9699 : {
11851 : 9699 : tree _q50 = gimple_assign_rhs1 (_a2);
11852 : 9699 : _q50 = do_valueize (valueize, _q50);
11853 : 9699 : tree _q51 = gimple_assign_rhs2 (_a2);
11854 : 9699 : _q51 = do_valueize (valueize, _q51);
11855 : 9699 : if (tree_swap_operands_p (_q50, _q51))
11856 : 595 : std::swap (_q50, _q51);
11857 : 9699 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
11858 : : {
11859 : 2 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
11860 : : {
11861 : 1 : {
11862 : 1 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
11863 : 1 : if (gimple_simplify_121 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
11864 : 1 : return true;
11865 : : }
11866 : : }
11867 : : }
11868 : 9698 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
11869 : : {
11870 : 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
11871 : : {
11872 : 0 : {
11873 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
11874 : 0 : if (gimple_simplify_121 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
11875 : 0 : return true;
11876 : : }
11877 : : }
11878 : : }
11879 : 230814 : break;
11880 : : }
11881 : 372 : case BIT_XOR_EXPR:
11882 : 372 : {
11883 : 372 : tree _q50 = gimple_assign_rhs1 (_a2);
11884 : 372 : _q50 = do_valueize (valueize, _q50);
11885 : 372 : tree _q51 = gimple_assign_rhs2 (_a2);
11886 : 372 : _q51 = do_valueize (valueize, _q51);
11887 : 372 : if (tree_swap_operands_p (_q50, _q51))
11888 : 44 : std::swap (_q50, _q51);
11889 : 372 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
11890 : : {
11891 : 48 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
11892 : : {
11893 : 0 : {
11894 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
11895 : 0 : if (gimple_simplify_121 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
11896 : 0 : return true;
11897 : : }
11898 : : }
11899 : : }
11900 : 372 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
11901 : : {
11902 : 96 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
11903 : : {
11904 : 0 : {
11905 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
11906 : 0 : if (gimple_simplify_121 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
11907 : 0 : return true;
11908 : : }
11909 : : }
11910 : : }
11911 : 230814 : break;
11912 : : }
11913 : 14183 : CASE_CONVERT:
11914 : 14183 : {
11915 : 14183 : tree _q50 = gimple_assign_rhs1 (_a2);
11916 : 14183 : _q50 = do_valueize (valueize, _q50);
11917 : 14183 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
11918 : : {
11919 : 0 : {
11920 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q21 };
11921 : 0 : if (gimple_simplify_122 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
11922 : 0 : return true;
11923 : : }
11924 : : }
11925 : 14183 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
11926 : : {
11927 : 0 : {
11928 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q20 };
11929 : 0 : if (gimple_simplify_122 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
11930 : 0 : return true;
11931 : : }
11932 : : }
11933 : : break;
11934 : : }
11935 : : default:;
11936 : : }
11937 : : }
11938 : : break;
11939 : 230814 : default:;
11940 : : }
11941 : 230814 : if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q21, 0))
11942 : : {
11943 : 970 : {
11944 : 970 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q21 };
11945 : 970 : if (gimple_simplify_122 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
11946 : 970 : return true;
11947 : : }
11948 : : }
11949 : 229844 : if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q20, 0))
11950 : : {
11951 : 8 : {
11952 : 8 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q20 };
11953 : 8 : if (gimple_simplify_122 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
11954 : 8 : return true;
11955 : : }
11956 : : }
11957 : 4328869 : break;
11958 : : }
11959 : 322723 : case BIT_AND_EXPR:
11960 : 322723 : {
11961 : 322723 : tree _q20 = gimple_assign_rhs1 (_a1);
11962 : 322723 : _q20 = do_valueize (valueize, _q20);
11963 : 322723 : tree _q21 = gimple_assign_rhs2 (_a1);
11964 : 322723 : _q21 = do_valueize (valueize, _q21);
11965 : 322723 : if (tree_swap_operands_p (_q20, _q21))
11966 : 8747 : std::swap (_q20, _q21);
11967 : 322723 : switch (TREE_CODE (_p1))
11968 : : {
11969 : 177584 : case SSA_NAME:
11970 : 177584 : if (gimple *_d2 = get_def (valueize, _p1))
11971 : : {
11972 : 176409 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
11973 : 170039 : switch (gimple_assign_rhs_code (_a2))
11974 : : {
11975 : 4862 : case BIT_IOR_EXPR:
11976 : 4862 : {
11977 : 4862 : tree _q50 = gimple_assign_rhs1 (_a2);
11978 : 4862 : _q50 = do_valueize (valueize, _q50);
11979 : 4862 : tree _q51 = gimple_assign_rhs2 (_a2);
11980 : 4862 : _q51 = do_valueize (valueize, _q51);
11981 : 4862 : if (tree_swap_operands_p (_q50, _q51))
11982 : 476 : std::swap (_q50, _q51);
11983 : 4862 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
11984 : : {
11985 : 301 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
11986 : : {
11987 : 300 : {
11988 : 300 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
11989 : 300 : if (gimple_simplify_123 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
11990 : 300 : return true;
11991 : : }
11992 : : }
11993 : : }
11994 : 4562 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
11995 : : {
11996 : 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
11997 : : {
11998 : 0 : {
11999 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q21, _q20 };
12000 : 0 : if (gimple_simplify_123 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
12001 : 0 : return true;
12002 : : }
12003 : : }
12004 : : }
12005 : 322423 : break;
12006 : : }
12007 : 1333 : case BIT_NOT_EXPR:
12008 : 1333 : {
12009 : 1333 : tree _q50 = gimple_assign_rhs1 (_a2);
12010 : 1333 : _q50 = do_valueize (valueize, _q50);
12011 : 1333 : switch (TREE_CODE (_q50))
12012 : : {
12013 : 1333 : case SSA_NAME:
12014 : 1333 : if (gimple *_d3 = get_def (valueize, _q50))
12015 : : {
12016 : 1332 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
12017 : 151 : switch (gimple_assign_rhs_code (_a3))
12018 : : {
12019 : 0 : case BIT_XOR_EXPR:
12020 : 0 : {
12021 : 0 : tree _q60 = gimple_assign_rhs1 (_a3);
12022 : 0 : _q60 = do_valueize (valueize, _q60);
12023 : 0 : tree _q61 = gimple_assign_rhs2 (_a3);
12024 : 0 : _q61 = do_valueize (valueize, _q61);
12025 : 0 : if (tree_swap_operands_p (_q60, _q61))
12026 : 0 : std::swap (_q60, _q61);
12027 : 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
12028 : : {
12029 : 0 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
12030 : : {
12031 : 0 : {
12032 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
12033 : 0 : if (gimple_simplify_124 (res_op, seq, valueize, type, captures))
12034 : 0 : return true;
12035 : : }
12036 : : }
12037 : : }
12038 : 0 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
12039 : : {
12040 : 0 : if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
12041 : : {
12042 : 0 : {
12043 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
12044 : 0 : if (gimple_simplify_124 (res_op, seq, valueize, type, captures))
12045 : 0 : return true;
12046 : : }
12047 : : }
12048 : : }
12049 : 322423 : break;
12050 : : }
12051 : : default:;
12052 : : }
12053 : : }
12054 : : break;
12055 : : default:;
12056 : : }
12057 : : break;
12058 : : }
12059 : 217 : case EQ_EXPR:
12060 : 217 : {
12061 : 217 : tree _q50 = gimple_assign_rhs1 (_a2);
12062 : 217 : _q50 = do_valueize (valueize, _q50);
12063 : 217 : tree _q51 = gimple_assign_rhs2 (_a2);
12064 : 217 : _q51 = do_valueize (valueize, _q51);
12065 : 217 : if (tree_swap_operands_p (_q50, _q51))
12066 : 7 : std::swap (_q50, _q51);
12067 : 217 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
12068 : : {
12069 : 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
12070 : : {
12071 : 0 : {
12072 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
12073 : 0 : if (gimple_simplify_125 (res_op, seq, valueize, type, captures))
12074 : 0 : return true;
12075 : : }
12076 : : }
12077 : : }
12078 : 217 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
12079 : : {
12080 : 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
12081 : : {
12082 : 0 : {
12083 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
12084 : 0 : if (gimple_simplify_125 (res_op, seq, valueize, type, captures))
12085 : 0 : return true;
12086 : : }
12087 : : }
12088 : : }
12089 : 322423 : break;
12090 : : }
12091 : : default:;
12092 : : }
12093 : : }
12094 : : break;
12095 : 322423 : default:;
12096 : : }
12097 : 322423 : {
12098 : 322423 : tree _p1_pops[1];
12099 : 322423 : if (gimple_nop_convert (_p1, _p1_pops, valueize))
12100 : : {
12101 : 736 : tree _q50 = _p1_pops[0];
12102 : 736 : switch (TREE_CODE (_q50))
12103 : : {
12104 : 736 : case SSA_NAME:
12105 : 736 : if (gimple *_d2 = get_def (valueize, _q50))
12106 : : {
12107 : 732 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
12108 : 743 : switch (gimple_assign_rhs_code (_a2))
12109 : : {
12110 : 0 : case EQ_EXPR:
12111 : 0 : {
12112 : 0 : tree _q60 = gimple_assign_rhs1 (_a2);
12113 : 0 : _q60 = do_valueize (valueize, _q60);
12114 : 0 : tree _q61 = gimple_assign_rhs2 (_a2);
12115 : 0 : _q61 = do_valueize (valueize, _q61);
12116 : 0 : if (tree_swap_operands_p (_q60, _q61))
12117 : 0 : std::swap (_q60, _q61);
12118 : 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
12119 : : {
12120 : 0 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
12121 : : {
12122 : 0 : {
12123 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
12124 : 0 : if (gimple_simplify_125 (res_op, seq, valueize, type, captures))
12125 : 0 : return true;
12126 : : }
12127 : : }
12128 : : }
12129 : 0 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
12130 : : {
12131 : 0 : if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
12132 : : {
12133 : 0 : {
12134 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
12135 : 0 : if (gimple_simplify_125 (res_op, seq, valueize, type, captures))
12136 : 0 : return true;
12137 : : }
12138 : : }
12139 : : }
12140 : 322423 : break;
12141 : : }
12142 : : default:;
12143 : : }
12144 : : }
12145 : : break;
12146 : : default:;
12147 : : }
12148 : : }
12149 : : }
12150 : 322423 : break;
12151 : : }
12152 : 16043 : case BIT_XOR_EXPR:
12153 : 16043 : {
12154 : 16043 : tree _q20 = gimple_assign_rhs1 (_a1);
12155 : 16043 : _q20 = do_valueize (valueize, _q20);
12156 : 16043 : tree _q21 = gimple_assign_rhs2 (_a1);
12157 : 16043 : _q21 = do_valueize (valueize, _q21);
12158 : 16043 : if (tree_swap_operands_p (_q20, _q21))
12159 : 837 : std::swap (_q20, _q21);
12160 : 16043 : switch (TREE_CODE (_p1))
12161 : : {
12162 : 8909 : case SSA_NAME:
12163 : 8909 : if (gimple *_d2 = get_def (valueize, _p1))
12164 : : {
12165 : 8674 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
12166 : 5115 : switch (gimple_assign_rhs_code (_a2))
12167 : : {
12168 : 280 : case BIT_IOR_EXPR:
12169 : 280 : {
12170 : 280 : tree _q50 = gimple_assign_rhs1 (_a2);
12171 : 280 : _q50 = do_valueize (valueize, _q50);
12172 : 280 : tree _q51 = gimple_assign_rhs2 (_a2);
12173 : 280 : _q51 = do_valueize (valueize, _q51);
12174 : 280 : if (tree_swap_operands_p (_q50, _q51))
12175 : 15 : std::swap (_q50, _q51);
12176 : 280 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
12177 : : {
12178 : 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
12179 : : {
12180 : 0 : {
12181 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
12182 : 0 : if (gimple_simplify_123 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
12183 : 0 : return true;
12184 : : }
12185 : : }
12186 : : }
12187 : 280 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
12188 : : {
12189 : 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
12190 : : {
12191 : 0 : {
12192 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q21, _q20 };
12193 : 0 : if (gimple_simplify_123 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
12194 : 0 : return true;
12195 : : }
12196 : : }
12197 : : }
12198 : 16039 : break;
12199 : : }
12200 : 1007 : case BIT_XOR_EXPR:
12201 : 1007 : {
12202 : 1007 : tree _q50 = gimple_assign_rhs1 (_a2);
12203 : 1007 : _q50 = do_valueize (valueize, _q50);
12204 : 1007 : tree _q51 = gimple_assign_rhs2 (_a2);
12205 : 1007 : _q51 = do_valueize (valueize, _q51);
12206 : 1007 : if (tree_swap_operands_p (_q50, _q51))
12207 : 99 : std::swap (_q50, _q51);
12208 : 1007 : switch (TREE_CODE (_q50))
12209 : : {
12210 : 1007 : case SSA_NAME:
12211 : 1007 : if (gimple *_d3 = get_def (valueize, _q50))
12212 : : {
12213 : 880 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
12214 : 744 : switch (gimple_assign_rhs_code (_a3))
12215 : : {
12216 : 2 : case BIT_XOR_EXPR:
12217 : 2 : {
12218 : 2 : tree _q60 = gimple_assign_rhs1 (_a3);
12219 : 2 : _q60 = do_valueize (valueize, _q60);
12220 : 2 : tree _q61 = gimple_assign_rhs2 (_a3);
12221 : 2 : _q61 = do_valueize (valueize, _q61);
12222 : 2 : if (tree_swap_operands_p (_q60, _q61))
12223 : 1 : std::swap (_q60, _q61);
12224 : 2 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
12225 : : {
12226 : 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
12227 : : {
12228 : 0 : {
12229 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q61 };
12230 : 0 : if (gimple_simplify_126 (res_op, seq, valueize, type, captures))
12231 : 0 : return true;
12232 : : }
12233 : : }
12234 : : }
12235 : 2 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
12236 : : {
12237 : 2 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
12238 : : {
12239 : 0 : {
12240 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q60 };
12241 : 0 : if (gimple_simplify_126 (res_op, seq, valueize, type, captures))
12242 : 0 : return true;
12243 : : }
12244 : : }
12245 : : }
12246 : 2 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
12247 : : {
12248 : 2 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
12249 : : {
12250 : 0 : {
12251 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q61 };
12252 : 0 : if (gimple_simplify_126 (res_op, seq, valueize, type, captures))
12253 : 0 : return true;
12254 : : }
12255 : : }
12256 : : }
12257 : 2 : if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
12258 : : {
12259 : 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
12260 : : {
12261 : 0 : {
12262 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q60 };
12263 : 0 : if (gimple_simplify_126 (res_op, seq, valueize, type, captures))
12264 : 0 : return true;
12265 : : }
12266 : : }
12267 : : }
12268 : 1007 : break;
12269 : : }
12270 : : default:;
12271 : : }
12272 : : }
12273 : : break;
12274 : 1007 : default:;
12275 : : }
12276 : 1007 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
12277 : : {
12278 : 227 : switch (TREE_CODE (_q51))
12279 : : {
12280 : 226 : case SSA_NAME:
12281 : 226 : if (gimple *_d3 = get_def (valueize, _q51))
12282 : : {
12283 : 220 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
12284 : 42 : switch (gimple_assign_rhs_code (_a3))
12285 : : {
12286 : 2 : case BIT_XOR_EXPR:
12287 : 2 : {
12288 : 2 : tree _q70 = gimple_assign_rhs1 (_a3);
12289 : 2 : _q70 = do_valueize (valueize, _q70);
12290 : 2 : tree _q71 = gimple_assign_rhs2 (_a3);
12291 : 2 : _q71 = do_valueize (valueize, _q71);
12292 : 2 : if (tree_swap_operands_p (_q70, _q71))
12293 : 0 : std::swap (_q70, _q71);
12294 : 2 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
12295 : : {
12296 : 2 : {
12297 : 2 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q71 };
12298 : 2 : if (gimple_simplify_126 (res_op, seq, valueize, type, captures))
12299 : 2 : return true;
12300 : : }
12301 : : }
12302 : 0 : if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
12303 : : {
12304 : 0 : {
12305 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q70 };
12306 : 0 : if (gimple_simplify_126 (res_op, seq, valueize, type, captures))
12307 : 0 : return true;
12308 : : }
12309 : : }
12310 : 1005 : break;
12311 : : }
12312 : : default:;
12313 : : }
12314 : : }
12315 : : break;
12316 : : default:;
12317 : : }
12318 : : }
12319 : 1005 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
12320 : : {
12321 : 398 : switch (TREE_CODE (_q51))
12322 : : {
12323 : 398 : case SSA_NAME:
12324 : 398 : if (gimple *_d3 = get_def (valueize, _q51))
12325 : : {
12326 : 377 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
12327 : 2 : switch (gimple_assign_rhs_code (_a3))
12328 : : {
12329 : 2 : case BIT_XOR_EXPR:
12330 : 2 : {
12331 : 2 : tree _q70 = gimple_assign_rhs1 (_a3);
12332 : 2 : _q70 = do_valueize (valueize, _q70);
12333 : 2 : tree _q71 = gimple_assign_rhs2 (_a3);
12334 : 2 : _q71 = do_valueize (valueize, _q71);
12335 : 2 : if (tree_swap_operands_p (_q70, _q71))
12336 : 0 : std::swap (_q70, _q71);
12337 : 2 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
12338 : : {
12339 : 2 : {
12340 : 2 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q71 };
12341 : 2 : if (gimple_simplify_126 (res_op, seq, valueize, type, captures))
12342 : 2 : return true;
12343 : : }
12344 : : }
12345 : 0 : if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
12346 : : {
12347 : 0 : {
12348 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q70 };
12349 : 0 : if (gimple_simplify_126 (res_op, seq, valueize, type, captures))
12350 : 0 : return true;
12351 : : }
12352 : : }
12353 : 16039 : break;
12354 : : }
12355 : : default:;
12356 : : }
12357 : : }
12358 : : break;
12359 : : default:;
12360 : : }
12361 : : }
12362 : 16039 : break;
12363 : : }
12364 : : default:;
12365 : : }
12366 : : }
12367 : : break;
12368 : 16039 : default:;
12369 : : }
12370 : 16039 : switch (TREE_CODE (_q20))
12371 : : {
12372 : 16039 : case SSA_NAME:
12373 : 16039 : if (gimple *_d2 = get_def (valueize, _q20))
12374 : : {
12375 : 14592 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
12376 : 11243 : switch (gimple_assign_rhs_code (_a2))
12377 : : {
12378 : 201 : case BIT_XOR_EXPR:
12379 : 201 : {
12380 : 201 : tree _q30 = gimple_assign_rhs1 (_a2);
12381 : 201 : _q30 = do_valueize (valueize, _q30);
12382 : 201 : tree _q31 = gimple_assign_rhs2 (_a2);
12383 : 201 : _q31 = do_valueize (valueize, _q31);
12384 : 201 : if (tree_swap_operands_p (_q30, _q31))
12385 : 3 : std::swap (_q30, _q31);
12386 : 201 : switch (TREE_CODE (_p1))
12387 : : {
12388 : 155 : case SSA_NAME:
12389 : 155 : if (gimple *_d3 = get_def (valueize, _p1))
12390 : : {
12391 : 155 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
12392 : 165 : switch (gimple_assign_rhs_code (_a3))
12393 : : {
12394 : 0 : case BIT_XOR_EXPR:
12395 : 0 : {
12396 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
12397 : 0 : _q70 = do_valueize (valueize, _q70);
12398 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
12399 : 0 : _q71 = do_valueize (valueize, _q71);
12400 : 0 : if (tree_swap_operands_p (_q70, _q71))
12401 : 0 : std::swap (_q70, _q71);
12402 : 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
12403 : : {
12404 : 0 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
12405 : : {
12406 : 0 : {
12407 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _q30, _q31 };
12408 : 0 : if (gimple_simplify_127 (res_op, seq, valueize, type, captures))
12409 : 0 : return true;
12410 : : }
12411 : : }
12412 : 0 : if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
12413 : : {
12414 : 0 : {
12415 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _q31, _q30 };
12416 : 0 : if (gimple_simplify_127 (res_op, seq, valueize, type, captures))
12417 : 0 : return true;
12418 : : }
12419 : : }
12420 : : }
12421 : 0 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
12422 : : {
12423 : 0 : if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
12424 : : {
12425 : 0 : {
12426 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _q30, _q31 };
12427 : 0 : if (gimple_simplify_127 (res_op, seq, valueize, type, captures))
12428 : 0 : return true;
12429 : : }
12430 : : }
12431 : : }
12432 : 0 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
12433 : : {
12434 : 0 : if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
12435 : : {
12436 : 0 : {
12437 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _q31, _q30 };
12438 : 0 : if (gimple_simplify_127 (res_op, seq, valueize, type, captures))
12439 : 0 : return true;
12440 : : }
12441 : : }
12442 : : }
12443 : 16039 : break;
12444 : : }
12445 : : default:;
12446 : : }
12447 : : }
12448 : : break;
12449 : : default:;
12450 : : }
12451 : 16039 : break;
12452 : : }
12453 : : default:;
12454 : : }
12455 : : }
12456 : : break;
12457 : 16039 : default:;
12458 : : }
12459 : 16039 : switch (TREE_CODE (_q21))
12460 : : {
12461 : 14882 : case SSA_NAME:
12462 : 14882 : if (gimple *_d2 = get_def (valueize, _q21))
12463 : : {
12464 : 14193 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
12465 : 12338 : switch (gimple_assign_rhs_code (_a2))
12466 : : {
12467 : 158 : case BIT_XOR_EXPR:
12468 : 158 : {
12469 : 158 : tree _q40 = gimple_assign_rhs1 (_a2);
12470 : 158 : _q40 = do_valueize (valueize, _q40);
12471 : 158 : tree _q41 = gimple_assign_rhs2 (_a2);
12472 : 158 : _q41 = do_valueize (valueize, _q41);
12473 : 158 : if (tree_swap_operands_p (_q40, _q41))
12474 : 6 : std::swap (_q40, _q41);
12475 : 158 : switch (TREE_CODE (_p1))
12476 : : {
12477 : 132 : case SSA_NAME:
12478 : 132 : if (gimple *_d3 = get_def (valueize, _p1))
12479 : : {
12480 : 132 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
12481 : 132 : switch (gimple_assign_rhs_code (_a3))
12482 : : {
12483 : 0 : case BIT_XOR_EXPR:
12484 : 0 : {
12485 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
12486 : 0 : _q70 = do_valueize (valueize, _q70);
12487 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
12488 : 0 : _q71 = do_valueize (valueize, _q71);
12489 : 0 : if (tree_swap_operands_p (_q70, _q71))
12490 : 0 : std::swap (_q70, _q71);
12491 : 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
12492 : : {
12493 : 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
12494 : : {
12495 : 0 : {
12496 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q40, _q41 };
12497 : 0 : if (gimple_simplify_127 (res_op, seq, valueize, type, captures))
12498 : 0 : return true;
12499 : : }
12500 : : }
12501 : 0 : if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
12502 : : {
12503 : 0 : {
12504 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q41, _q40 };
12505 : 0 : if (gimple_simplify_127 (res_op, seq, valueize, type, captures))
12506 : 0 : return true;
12507 : : }
12508 : : }
12509 : : }
12510 : 0 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
12511 : : {
12512 : 0 : if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
12513 : : {
12514 : 0 : {
12515 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q40, _q41 };
12516 : 0 : if (gimple_simplify_127 (res_op, seq, valueize, type, captures))
12517 : 0 : return true;
12518 : : }
12519 : : }
12520 : : }
12521 : 0 : if ((_q70 == _q41 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q41, 0) && types_match (_q70, _q41)))
12522 : : {
12523 : 0 : if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
12524 : : {
12525 : 0 : {
12526 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q41, _q40 };
12527 : 0 : if (gimple_simplify_127 (res_op, seq, valueize, type, captures))
12528 : 0 : return true;
12529 : : }
12530 : : }
12531 : : }
12532 : 4328869 : break;
12533 : : }
12534 : : default:;
12535 : : }
12536 : : }
12537 : : break;
12538 : : default:;
12539 : : }
12540 : 4328869 : break;
12541 : : }
12542 : : default:;
12543 : : }
12544 : : }
12545 : : break;
12546 : : default:;
12547 : : }
12548 : 4328869 : break;
12549 : : }
12550 : 26147 : case BIT_NOT_EXPR:
12551 : 26147 : {
12552 : 26147 : tree _q20 = gimple_assign_rhs1 (_a1);
12553 : 26147 : _q20 = do_valueize (valueize, _q20);
12554 : 26147 : switch (TREE_CODE (_q20))
12555 : : {
12556 : 26147 : case SSA_NAME:
12557 : 26147 : if (gimple *_d2 = get_def (valueize, _q20))
12558 : : {
12559 : 24909 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
12560 : 22075 : switch (gimple_assign_rhs_code (_a2))
12561 : : {
12562 : 1764 : case BIT_XOR_EXPR:
12563 : 1764 : {
12564 : 1764 : tree _q30 = gimple_assign_rhs1 (_a2);
12565 : 1764 : _q30 = do_valueize (valueize, _q30);
12566 : 1764 : tree _q31 = gimple_assign_rhs2 (_a2);
12567 : 1764 : _q31 = do_valueize (valueize, _q31);
12568 : 1764 : if (tree_swap_operands_p (_q30, _q31))
12569 : 27 : std::swap (_q30, _q31);
12570 : 1764 : switch (TREE_CODE (_p1))
12571 : : {
12572 : 1764 : case SSA_NAME:
12573 : 1764 : if (gimple *_d3 = get_def (valueize, _p1))
12574 : : {
12575 : 1754 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
12576 : 1034 : switch (gimple_assign_rhs_code (_a3))
12577 : : {
12578 : 541 : case BIT_AND_EXPR:
12579 : 541 : {
12580 : 541 : tree _q60 = gimple_assign_rhs1 (_a3);
12581 : 541 : _q60 = do_valueize (valueize, _q60);
12582 : 541 : tree _q61 = gimple_assign_rhs2 (_a3);
12583 : 541 : _q61 = do_valueize (valueize, _q61);
12584 : 541 : if (tree_swap_operands_p (_q60, _q61))
12585 : 15 : std::swap (_q60, _q61);
12586 : 541 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
12587 : : {
12588 : 178 : if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
12589 : : {
12590 : 1 : {
12591 : 1 : tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
12592 : 1 : if (gimple_simplify_128 (res_op, seq, valueize, type, captures))
12593 : 1 : return true;
12594 : : }
12595 : : }
12596 : : }
12597 : 540 : if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
12598 : : {
12599 : 135 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
12600 : : {
12601 : 0 : {
12602 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
12603 : 0 : if (gimple_simplify_128 (res_op, seq, valueize, type, captures))
12604 : 0 : return true;
12605 : : }
12606 : : }
12607 : : }
12608 : 4328869 : break;
12609 : : }
12610 : : default:;
12611 : : }
12612 : : }
12613 : : break;
12614 : : default:;
12615 : : }
12616 : 4328869 : break;
12617 : : }
12618 : 1494 : case BIT_IOR_EXPR:
12619 : 1494 : {
12620 : 1494 : tree _q30 = gimple_assign_rhs1 (_a2);
12621 : 1494 : _q30 = do_valueize (valueize, _q30);
12622 : 1494 : tree _q31 = gimple_assign_rhs2 (_a2);
12623 : 1494 : _q31 = do_valueize (valueize, _q31);
12624 : 1494 : if (tree_swap_operands_p (_q30, _q31))
12625 : 2 : std::swap (_q30, _q31);
12626 : 1494 : if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
12627 : : {
12628 : 0 : {
12629 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q20, _q31 };
12630 : 0 : if (gimple_simplify_129 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
12631 : 0 : return true;
12632 : : }
12633 : : }
12634 : 1494 : if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
12635 : : {
12636 : 0 : {
12637 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q20, _q30 };
12638 : 0 : if (gimple_simplify_129 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
12639 : 0 : return true;
12640 : : }
12641 : : }
12642 : 4328869 : break;
12643 : : }
12644 : : default:;
12645 : : }
12646 : : }
12647 : : break;
12648 : : default:;
12649 : : }
12650 : : break;
12651 : : }
12652 : 276076 : case EQ_EXPR:
12653 : 276076 : {
12654 : 276076 : tree _q20 = gimple_assign_rhs1 (_a1);
12655 : 276076 : _q20 = do_valueize (valueize, _q20);
12656 : 276076 : tree _q21 = gimple_assign_rhs2 (_a1);
12657 : 276076 : _q21 = do_valueize (valueize, _q21);
12658 : 276076 : if (tree_swap_operands_p (_q20, _q21))
12659 : 725 : std::swap (_q20, _q21);
12660 : 276076 : switch (TREE_CODE (_p1))
12661 : : {
12662 : 274206 : case SSA_NAME:
12663 : 274206 : if (gimple *_d2 = get_def (valueize, _p1))
12664 : : {
12665 : 273578 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
12666 : 270219 : switch (gimple_assign_rhs_code (_a2))
12667 : : {
12668 : 1011 : case BIT_AND_EXPR:
12669 : 1011 : {
12670 : 1011 : tree _q50 = gimple_assign_rhs1 (_a2);
12671 : 1011 : _q50 = do_valueize (valueize, _q50);
12672 : 1011 : tree _q51 = gimple_assign_rhs2 (_a2);
12673 : 1011 : _q51 = do_valueize (valueize, _q51);
12674 : 1011 : if (tree_swap_operands_p (_q50, _q51))
12675 : 57 : std::swap (_q50, _q51);
12676 : 1011 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
12677 : : {
12678 : 1 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
12679 : : {
12680 : 1 : {
12681 : 1 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p0 };
12682 : 1 : if (gimple_simplify_130 (res_op, seq, valueize, type, captures))
12683 : 1 : return true;
12684 : : }
12685 : : }
12686 : : }
12687 : 1010 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
12688 : : {
12689 : 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
12690 : : {
12691 : 0 : {
12692 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p0 };
12693 : 0 : if (gimple_simplify_130 (res_op, seq, valueize, type, captures))
12694 : 0 : return true;
12695 : : }
12696 : : }
12697 : : }
12698 : 4328869 : break;
12699 : : }
12700 : : default:;
12701 : : }
12702 : : }
12703 : : break;
12704 : : default:;
12705 : : }
12706 : 4328869 : break;
12707 : : }
12708 : : default:;
12709 : : }
12710 : : }
12711 : : break;
12712 : 4328869 : default:;
12713 : : }
12714 : 4328869 : {
12715 : 4328869 : tree _p0_pops[1];
12716 : 4328869 : if (gimple_nop_convert (_p0, _p0_pops, valueize))
12717 : : {
12718 : 99010 : tree _q20 = _p0_pops[0];
12719 : 99010 : switch (TREE_CODE (_q20))
12720 : : {
12721 : 98978 : case SSA_NAME:
12722 : 98978 : if (gimple *_d1 = get_def (valueize, _q20))
12723 : : {
12724 : 98315 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
12725 : 18347 : switch (gimple_assign_rhs_code (_a1))
12726 : : {
12727 : 146 : case EQ_EXPR:
12728 : 146 : {
12729 : 146 : tree _q30 = gimple_assign_rhs1 (_a1);
12730 : 146 : _q30 = do_valueize (valueize, _q30);
12731 : 146 : tree _q31 = gimple_assign_rhs2 (_a1);
12732 : 146 : _q31 = do_valueize (valueize, _q31);
12733 : 146 : if (tree_swap_operands_p (_q30, _q31))
12734 : 0 : std::swap (_q30, _q31);
12735 : 146 : switch (TREE_CODE (_p1))
12736 : : {
12737 : 130 : case SSA_NAME:
12738 : 130 : if (gimple *_d2 = get_def (valueize, _p1))
12739 : : {
12740 : 130 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
12741 : 74 : switch (gimple_assign_rhs_code (_a2))
12742 : : {
12743 : 0 : case BIT_AND_EXPR:
12744 : 0 : {
12745 : 0 : tree _q60 = gimple_assign_rhs1 (_a2);
12746 : 0 : _q60 = do_valueize (valueize, _q60);
12747 : 0 : tree _q61 = gimple_assign_rhs2 (_a2);
12748 : 0 : _q61 = do_valueize (valueize, _q61);
12749 : 0 : if (tree_swap_operands_p (_q60, _q61))
12750 : 0 : std::swap (_q60, _q61);
12751 : 0 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
12752 : : {
12753 : 0 : if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
12754 : : {
12755 : 0 : {
12756 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
12757 : 0 : if (gimple_simplify_130 (res_op, seq, valueize, type, captures))
12758 : 0 : return true;
12759 : : }
12760 : : }
12761 : : }
12762 : 0 : if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
12763 : : {
12764 : 0 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
12765 : : {
12766 : 0 : {
12767 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
12768 : 0 : if (gimple_simplify_130 (res_op, seq, valueize, type, captures))
12769 : 0 : return true;
12770 : : }
12771 : : }
12772 : : }
12773 : 4328869 : break;
12774 : : }
12775 : : default:;
12776 : : }
12777 : : }
12778 : : break;
12779 : : default:;
12780 : : }
12781 : 4328869 : break;
12782 : : }
12783 : : default:;
12784 : : }
12785 : : }
12786 : : break;
12787 : : default:;
12788 : : }
12789 : : }
12790 : : }
12791 : 4328869 : if (integer_all_onesp (_p1))
12792 : : {
12793 : 21409 : {
12794 : 21409 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
12795 : 21409 : gimple_seq *lseq = seq;
12796 : 21409 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2082;
12797 : 21409 : {
12798 : 21409 : tree tem;
12799 : 21409 : tem = captures[1];
12800 : 21409 : res_op->set_value (tem);
12801 : 21409 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1081, __FILE__, __LINE__, true);
12802 : 21409 : return true;
12803 : : }
12804 : 0 : next_after_fail2082:;
12805 : : }
12806 : : }
12807 : 4307460 : if (integer_zerop (_p1))
12808 : : {
12809 : 0 : {
12810 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
12811 : 0 : gimple_seq *lseq = seq;
12812 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2083;
12813 : 0 : {
12814 : 0 : tree tem;
12815 : 0 : tem = captures[0];
12816 : 0 : res_op->set_value (tem);
12817 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1082, __FILE__, __LINE__, true);
12818 : 0 : return true;
12819 : : }
12820 : 0 : next_after_fail2083:;
12821 : : }
12822 : : }
12823 : 4307460 : switch (TREE_CODE (_p0))
12824 : : {
12825 : 4250841 : case SSA_NAME:
12826 : 4250841 : if (gimple *_d1 = get_def (valueize, _p0))
12827 : : {
12828 : 3396726 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
12829 : 3634463 : switch (gimple_assign_rhs_code (_a1))
12830 : : {
12831 : 197685 : CASE_CONVERT:
12832 : 197685 : {
12833 : 197685 : tree _q20 = gimple_assign_rhs1 (_a1);
12834 : 197685 : _q20 = do_valueize (valueize, _q20);
12835 : 197685 : switch (TREE_CODE (_p1))
12836 : : {
12837 : 173573 : case SSA_NAME:
12838 : 173573 : if (gimple *_d2 = get_def (valueize, _p1))
12839 : : {
12840 : 168035 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
12841 : 166161 : switch (gimple_assign_rhs_code (_a2))
12842 : : {
12843 : 101106 : CASE_CONVERT:
12844 : 101106 : {
12845 : 101106 : tree _q40 = gimple_assign_rhs1 (_a2);
12846 : 101106 : _q40 = do_valueize (valueize, _q40);
12847 : 101106 : {
12848 : 101106 : tree _q40_pops[1];
12849 : 101106 : if (gimple_maybe_bit_not (_q40, _q40_pops, valueize))
12850 : : {
12851 : 2064 : tree _q50 = _q40_pops[0];
12852 : 2064 : {
12853 : 2064 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
12854 : 2064 : if (gimple_simplify_14 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
12855 : 0 : return true;
12856 : : }
12857 : : }
12858 : : }
12859 : 101106 : break;
12860 : : }
12861 : : default:;
12862 : : }
12863 : : }
12864 : : break;
12865 : 197685 : default:;
12866 : : }
12867 : 197685 : {
12868 : 197685 : tree _q20_pops[1];
12869 : 197685 : if (gimple_maybe_bit_not (_q20, _q20_pops, valueize))
12870 : : {
12871 : 11942 : tree _q30 = _q20_pops[0];
12872 : 11942 : switch (TREE_CODE (_p1))
12873 : : {
12874 : 11665 : case SSA_NAME:
12875 : 11665 : if (gimple *_d2 = get_def (valueize, _p1))
12876 : : {
12877 : 10841 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
12878 : 8237 : switch (gimple_assign_rhs_code (_a2))
12879 : : {
12880 : 931 : CASE_CONVERT:
12881 : 931 : {
12882 : 931 : tree _q50 = gimple_assign_rhs1 (_a2);
12883 : 931 : _q50 = do_valueize (valueize, _q50);
12884 : 931 : {
12885 : 931 : tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
12886 : 931 : if (gimple_simplify_14 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
12887 : 0 : return true;
12888 : : }
12889 : 931 : break;
12890 : : }
12891 : : default:;
12892 : : }
12893 : : }
12894 : : break;
12895 : : default:;
12896 : : }
12897 : : }
12898 : : }
12899 : 197685 : break;
12900 : : }
12901 : : default:;
12902 : : }
12903 : : }
12904 : : break;
12905 : 4307460 : default:;
12906 : : }
12907 : 4307460 : {
12908 : 4307460 : tree _p1_pops[1];
12909 : 4307460 : if (gimple_maybe_bit_not (_p1, _p1_pops, valueize))
12910 : : {
12911 : 2301709 : tree _q30 = _p1_pops[0];
12912 : 2301709 : {
12913 : 2301709 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
12914 : 2301709 : if (gimple_simplify_14 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
12915 : 263 : return true;
12916 : : }
12917 : : }
12918 : : }
12919 : 4307197 : {
12920 : 4307197 : tree _p0_pops[1];
12921 : 4307197 : if (gimple_maybe_bit_not (_p0, _p0_pops, valueize))
12922 : : {
12923 : 1412677 : tree _q20 = _p0_pops[0];
12924 : 1412677 : {
12925 : 1412677 : tree captures[2] ATTRIBUTE_UNUSED = { _p1, _q20 };
12926 : 1412677 : if (gimple_simplify_14 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
12927 : 6 : return true;
12928 : : }
12929 : : }
12930 : : }
12931 : 4307191 : if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
12932 : : {
12933 : 10553 : {
12934 : 10553 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
12935 : 10553 : if (gimple_simplify_131 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
12936 : 10553 : return true;
12937 : : }
12938 : : }
12939 : 4296638 : switch (TREE_CODE (_p0))
12940 : : {
12941 : 4240019 : case SSA_NAME:
12942 : 4240019 : {
12943 : 4240019 : switch (TREE_CODE (_p1))
12944 : : {
12945 : 855479 : case INTEGER_CST:
12946 : 855479 : {
12947 : 855479 : {
12948 : 855479 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
12949 : 1473106 : if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
12950 : 2328597 : && wi::bit_and_not (get_nonzero_bits (captures[0]), wi::to_wide (captures[1])) == 0
12951 : : )
12952 : : {
12953 : 3762 : gimple_seq *lseq = seq;
12954 : 3762 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2084;
12955 : 3762 : {
12956 : 3762 : tree tem;
12957 : 3762 : tem = captures[1];
12958 : 3762 : res_op->set_value (tem);
12959 : 3762 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1083, __FILE__, __LINE__, true);
12960 : 3762 : return true;
12961 : : }
12962 : 0 : next_after_fail2084:;
12963 : : }
12964 : : }
12965 : 851717 : break;
12966 : : }
12967 : : default:;
12968 : : }
12969 : : break;
12970 : : }
12971 : 4292876 : default:;
12972 : : }
12973 : 4292876 : switch (TREE_CODE (_p1))
12974 : : {
12975 : 3407107 : case SSA_NAME:
12976 : 3407107 : if (gimple *_d1 = get_def (valueize, _p1))
12977 : : {
12978 : 2787373 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
12979 : 2727486 : switch (gimple_assign_rhs_code (_a1))
12980 : : {
12981 : 12879 : case BIT_NOT_EXPR:
12982 : 12879 : {
12983 : 12879 : tree _q30 = gimple_assign_rhs1 (_a1);
12984 : 12879 : _q30 = do_valueize (valueize, _q30);
12985 : 12879 : switch (TREE_CODE (_q30))
12986 : : {
12987 : 12879 : case SSA_NAME:
12988 : 12879 : if (gimple *_d2 = get_def (valueize, _q30))
12989 : : {
12990 : 12486 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
12991 : 12544 : switch (gimple_assign_rhs_code (_a2))
12992 : : {
12993 : 739 : case BIT_IOR_EXPR:
12994 : 739 : {
12995 : 739 : tree _q40 = gimple_assign_rhs1 (_a2);
12996 : 739 : _q40 = do_valueize (valueize, _q40);
12997 : 739 : tree _q41 = gimple_assign_rhs2 (_a2);
12998 : 739 : _q41 = do_valueize (valueize, _q41);
12999 : 739 : if (tree_swap_operands_p (_q40, _q41))
13000 : 6 : std::swap (_q40, _q41);
13001 : 739 : if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
13002 : : {
13003 : 6 : {
13004 : 6 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q41 };
13005 : 6 : if (gimple_simplify_129 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
13006 : 6 : return true;
13007 : : }
13008 : : }
13009 : 733 : if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
13010 : : {
13011 : 0 : {
13012 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q40 };
13013 : 0 : if (gimple_simplify_129 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
13014 : 0 : return true;
13015 : : }
13016 : : }
13017 : 4292870 : break;
13018 : : }
13019 : : default:;
13020 : : }
13021 : : }
13022 : : break;
13023 : : default:;
13024 : : }
13025 : : break;
13026 : : }
13027 : : default:;
13028 : : }
13029 : : }
13030 : : break;
13031 : 4292870 : default:;
13032 : : }
13033 : 4292870 : switch (TREE_CODE (_p0))
13034 : : {
13035 : 4236251 : case SSA_NAME:
13036 : 4236251 : if (gimple *_d1 = get_def (valueize, _p0))
13037 : : {
13038 : 3384759 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
13039 : 3625088 : switch (gimple_assign_rhs_code (_a1))
13040 : : {
13041 : 322410 : case BIT_AND_EXPR:
13042 : 322410 : {
13043 : 322410 : tree _q20 = gimple_assign_rhs1 (_a1);
13044 : 322410 : _q20 = do_valueize (valueize, _q20);
13045 : 322410 : tree _q21 = gimple_assign_rhs2 (_a1);
13046 : 322410 : _q21 = do_valueize (valueize, _q21);
13047 : 322410 : if (tree_swap_operands_p (_q20, _q21))
13048 : 8618 : std::swap (_q20, _q21);
13049 : 322410 : switch (TREE_CODE (_q20))
13050 : : {
13051 : 322410 : case SSA_NAME:
13052 : 322410 : if (gimple *_d2 = get_def (valueize, _q20))
13053 : : {
13054 : 284465 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
13055 : 265415 : switch (gimple_assign_rhs_code (_a2))
13056 : : {
13057 : 6666 : case BIT_NOT_EXPR:
13058 : 6666 : {
13059 : 6666 : tree _q30 = gimple_assign_rhs1 (_a2);
13060 : 6666 : _q30 = do_valueize (valueize, _q30);
13061 : 6666 : switch (TREE_CODE (_p1))
13062 : : {
13063 : 6519 : case SSA_NAME:
13064 : 6519 : if (gimple *_d3 = get_def (valueize, _p1))
13065 : : {
13066 : 6493 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
13067 : 5582 : switch (gimple_assign_rhs_code (_a3))
13068 : : {
13069 : 270 : case BIT_NOT_EXPR:
13070 : 270 : {
13071 : 270 : tree _q60 = gimple_assign_rhs1 (_a3);
13072 : 270 : _q60 = do_valueize (valueize, _q60);
13073 : 270 : switch (TREE_CODE (_q60))
13074 : : {
13075 : 270 : case SSA_NAME:
13076 : 270 : if (gimple *_d4 = get_def (valueize, _q60))
13077 : : {
13078 : 270 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
13079 : 0 : switch (gimple_assign_rhs_code (_a4))
13080 : : {
13081 : 0 : case BIT_IOR_EXPR:
13082 : 0 : {
13083 : 0 : tree _q70 = gimple_assign_rhs1 (_a4);
13084 : 0 : _q70 = do_valueize (valueize, _q70);
13085 : 0 : tree _q71 = gimple_assign_rhs2 (_a4);
13086 : 0 : _q71 = do_valueize (valueize, _q71);
13087 : 0 : if (tree_swap_operands_p (_q70, _q71))
13088 : 0 : std::swap (_q70, _q71);
13089 : 0 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
13090 : : {
13091 : 0 : if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
13092 : : {
13093 : 0 : {
13094 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
13095 : 0 : if (gimple_simplify_132 (res_op, seq, valueize, type, captures))
13096 : 0 : return true;
13097 : : }
13098 : : }
13099 : : }
13100 : 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
13101 : : {
13102 : 0 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
13103 : : {
13104 : 0 : {
13105 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
13106 : 0 : if (gimple_simplify_132 (res_op, seq, valueize, type, captures))
13107 : 0 : return true;
13108 : : }
13109 : : }
13110 : : }
13111 : 322410 : break;
13112 : : }
13113 : : default:;
13114 : : }
13115 : : }
13116 : : break;
13117 : : default:;
13118 : : }
13119 : : break;
13120 : : }
13121 : : default:;
13122 : : }
13123 : : }
13124 : : break;
13125 : : default:;
13126 : : }
13127 : : break;
13128 : : }
13129 : : default:;
13130 : : }
13131 : : }
13132 : : break;
13133 : 322410 : default:;
13134 : : }
13135 : 322410 : switch (TREE_CODE (_q21))
13136 : : {
13137 : 137833 : case SSA_NAME:
13138 : 137833 : if (gimple *_d2 = get_def (valueize, _q21))
13139 : : {
13140 : 117840 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
13141 : 137136 : switch (gimple_assign_rhs_code (_a2))
13142 : : {
13143 : 2662 : case BIT_NOT_EXPR:
13144 : 2662 : {
13145 : 2662 : tree _q40 = gimple_assign_rhs1 (_a2);
13146 : 2662 : _q40 = do_valueize (valueize, _q40);
13147 : 2662 : switch (TREE_CODE (_p1))
13148 : : {
13149 : 2662 : case SSA_NAME:
13150 : 2662 : if (gimple *_d3 = get_def (valueize, _p1))
13151 : : {
13152 : 2620 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
13153 : 2360 : switch (gimple_assign_rhs_code (_a3))
13154 : : {
13155 : 2 : case BIT_NOT_EXPR:
13156 : 2 : {
13157 : 2 : tree _q60 = gimple_assign_rhs1 (_a3);
13158 : 2 : _q60 = do_valueize (valueize, _q60);
13159 : 2 : switch (TREE_CODE (_q60))
13160 : : {
13161 : 2 : case SSA_NAME:
13162 : 2 : if (gimple *_d4 = get_def (valueize, _q60))
13163 : : {
13164 : 2 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
13165 : 2 : switch (gimple_assign_rhs_code (_a4))
13166 : : {
13167 : 2 : case BIT_IOR_EXPR:
13168 : 2 : {
13169 : 2 : tree _q70 = gimple_assign_rhs1 (_a4);
13170 : 2 : _q70 = do_valueize (valueize, _q70);
13171 : 2 : tree _q71 = gimple_assign_rhs2 (_a4);
13172 : 2 : _q71 = do_valueize (valueize, _q71);
13173 : 2 : if (tree_swap_operands_p (_q70, _q71))
13174 : 0 : std::swap (_q70, _q71);
13175 : 2 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
13176 : : {
13177 : 0 : if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
13178 : : {
13179 : 0 : {
13180 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
13181 : 0 : if (gimple_simplify_132 (res_op, seq, valueize, type, captures))
13182 : 0 : return true;
13183 : : }
13184 : : }
13185 : : }
13186 : 2 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
13187 : : {
13188 : 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
13189 : : {
13190 : 0 : {
13191 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
13192 : 0 : if (gimple_simplify_132 (res_op, seq, valueize, type, captures))
13193 : 0 : return true;
13194 : : }
13195 : : }
13196 : : }
13197 : 322410 : break;
13198 : : }
13199 : : default:;
13200 : : }
13201 : : }
13202 : : break;
13203 : : default:;
13204 : : }
13205 : : break;
13206 : : }
13207 : : default:;
13208 : : }
13209 : : }
13210 : : break;
13211 : : default:;
13212 : : }
13213 : : break;
13214 : : }
13215 : : default:;
13216 : : }
13217 : : }
13218 : : break;
13219 : 322410 : default:;
13220 : : }
13221 : 322410 : switch (TREE_CODE (_p1))
13222 : : {
13223 : 177278 : case SSA_NAME:
13224 : 177278 : if (gimple *_d2 = get_def (valueize, _p1))
13225 : : {
13226 : 176103 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
13227 : 169733 : switch (gimple_assign_rhs_code (_a2))
13228 : : {
13229 : 1333 : case BIT_NOT_EXPR:
13230 : 1333 : {
13231 : 1333 : tree _q50 = gimple_assign_rhs1 (_a2);
13232 : 1333 : _q50 = do_valueize (valueize, _q50);
13233 : 1333 : switch (TREE_CODE (_q50))
13234 : : {
13235 : 1333 : case SSA_NAME:
13236 : 1333 : if (gimple *_d3 = get_def (valueize, _q50))
13237 : : {
13238 : 1332 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
13239 : 151 : switch (gimple_assign_rhs_code (_a3))
13240 : : {
13241 : 146 : case BIT_IOR_EXPR:
13242 : 146 : {
13243 : 146 : tree _q60 = gimple_assign_rhs1 (_a3);
13244 : 146 : _q60 = do_valueize (valueize, _q60);
13245 : 146 : tree _q61 = gimple_assign_rhs2 (_a3);
13246 : 146 : _q61 = do_valueize (valueize, _q61);
13247 : 146 : if (tree_swap_operands_p (_q60, _q61))
13248 : 0 : std::swap (_q60, _q61);
13249 : 146 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
13250 : : {
13251 : 0 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
13252 : : {
13253 : 0 : {
13254 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
13255 : 0 : if (gimple_simplify_133 (res_op, seq, valueize, type, captures))
13256 : 0 : return true;
13257 : : }
13258 : : }
13259 : : }
13260 : 4290289 : break;
13261 : : }
13262 : : default:;
13263 : : }
13264 : : }
13265 : : break;
13266 : : default:;
13267 : : }
13268 : : break;
13269 : : }
13270 : 855 : case BIT_XOR_EXPR:
13271 : 855 : {
13272 : 855 : tree _q50 = gimple_assign_rhs1 (_a2);
13273 : 855 : _q50 = do_valueize (valueize, _q50);
13274 : 855 : tree _q51 = gimple_assign_rhs2 (_a2);
13275 : 855 : _q51 = do_valueize (valueize, _q51);
13276 : 855 : if (tree_swap_operands_p (_q50, _q51))
13277 : 31 : std::swap (_q50, _q51);
13278 : 855 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
13279 : : {
13280 : 8 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
13281 : : {
13282 : 8 : {
13283 : 8 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
13284 : 8 : if (gimple_simplify_22 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
13285 : 8 : return true;
13286 : : }
13287 : : }
13288 : : }
13289 : 4290289 : break;
13290 : : }
13291 : 142548 : case BIT_AND_EXPR:
13292 : 142548 : {
13293 : 142548 : tree _q50 = gimple_assign_rhs1 (_a2);
13294 : 142548 : _q50 = do_valueize (valueize, _q50);
13295 : 142548 : tree _q51 = gimple_assign_rhs2 (_a2);
13296 : 142548 : _q51 = do_valueize (valueize, _q51);
13297 : 142548 : if (tree_swap_operands_p (_q50, _q51))
13298 : 7615 : std::swap (_q50, _q51);
13299 : 142548 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
13300 : : {
13301 : 1544 : {
13302 : 1544 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q20 };
13303 : 1544 : if (gimple_simplify_29 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
13304 : 1442 : return true;
13305 : : }
13306 : : }
13307 : 141106 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
13308 : : {
13309 : 137 : {
13310 : 137 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q20 };
13311 : 137 : if (gimple_simplify_29 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
13312 : 83 : return true;
13313 : : }
13314 : : }
13315 : 141023 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
13316 : : {
13317 : 257 : {
13318 : 257 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q21 };
13319 : 257 : if (gimple_simplify_29 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
13320 : 162 : return true;
13321 : : }
13322 : : }
13323 : 140861 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q21, 0))
13324 : : {
13325 : 764 : {
13326 : 764 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q21 };
13327 : 764 : if (gimple_simplify_29 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
13328 : 396 : return true;
13329 : : }
13330 : : }
13331 : 4290289 : break;
13332 : : }
13333 : : default:;
13334 : : }
13335 : : }
13336 : : break;
13337 : : default:;
13338 : : }
13339 : 4290289 : break;
13340 : : }
13341 : 26120 : case BIT_NOT_EXPR:
13342 : 26120 : {
13343 : 26120 : tree _q20 = gimple_assign_rhs1 (_a1);
13344 : 26120 : _q20 = do_valueize (valueize, _q20);
13345 : 26120 : switch (TREE_CODE (_q20))
13346 : : {
13347 : 26120 : case SSA_NAME:
13348 : 26120 : if (gimple *_d2 = get_def (valueize, _q20))
13349 : : {
13350 : 24894 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
13351 : 22051 : switch (gimple_assign_rhs_code (_a2))
13352 : : {
13353 : 1494 : case BIT_IOR_EXPR:
13354 : 1494 : {
13355 : 1494 : tree _q30 = gimple_assign_rhs1 (_a2);
13356 : 1494 : _q30 = do_valueize (valueize, _q30);
13357 : 1494 : tree _q31 = gimple_assign_rhs2 (_a2);
13358 : 1494 : _q31 = do_valueize (valueize, _q31);
13359 : 1494 : if (tree_swap_operands_p (_q30, _q31))
13360 : 2 : std::swap (_q30, _q31);
13361 : 1494 : switch (TREE_CODE (_p1))
13362 : : {
13363 : 1494 : case SSA_NAME:
13364 : 1494 : if (gimple *_d3 = get_def (valueize, _p1))
13365 : : {
13366 : 1494 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
13367 : 743 : switch (gimple_assign_rhs_code (_a3))
13368 : : {
13369 : 270 : case BIT_AND_EXPR:
13370 : 270 : {
13371 : 270 : tree _q60 = gimple_assign_rhs1 (_a3);
13372 : 270 : _q60 = do_valueize (valueize, _q60);
13373 : 270 : tree _q61 = gimple_assign_rhs2 (_a3);
13374 : 270 : _q61 = do_valueize (valueize, _q61);
13375 : 270 : if (tree_swap_operands_p (_q60, _q61))
13376 : 9 : std::swap (_q60, _q61);
13377 : 270 : switch (TREE_CODE (_q60))
13378 : : {
13379 : 270 : case SSA_NAME:
13380 : 270 : if (gimple *_d4 = get_def (valueize, _q60))
13381 : : {
13382 : 216 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
13383 : 0 : switch (gimple_assign_rhs_code (_a4))
13384 : : {
13385 : 0 : case BIT_NOT_EXPR:
13386 : 0 : {
13387 : 0 : tree _q70 = gimple_assign_rhs1 (_a4);
13388 : 0 : _q70 = do_valueize (valueize, _q70);
13389 : 0 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
13390 : : {
13391 : 0 : if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
13392 : : {
13393 : 0 : {
13394 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q60, _q30, _q31 };
13395 : 0 : if (gimple_simplify_134 (res_op, seq, valueize, type, captures))
13396 : 0 : return true;
13397 : : }
13398 : : }
13399 : : }
13400 : 0 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
13401 : : {
13402 : 0 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
13403 : : {
13404 : 0 : {
13405 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q60, _q31, _q30 };
13406 : 0 : if (gimple_simplify_134 (res_op, seq, valueize, type, captures))
13407 : 0 : return true;
13408 : : }
13409 : : }
13410 : : }
13411 : : break;
13412 : : }
13413 : : default:;
13414 : : }
13415 : : }
13416 : : break;
13417 : 270 : default:;
13418 : : }
13419 : 270 : if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
13420 : : {
13421 : 135 : switch (TREE_CODE (_q61))
13422 : : {
13423 : 135 : case SSA_NAME:
13424 : 135 : if (gimple *_d4 = get_def (valueize, _q61))
13425 : : {
13426 : 135 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
13427 : 0 : switch (gimple_assign_rhs_code (_a4))
13428 : : {
13429 : 0 : case BIT_NOT_EXPR:
13430 : 0 : {
13431 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
13432 : 0 : _q80 = do_valueize (valueize, _q80);
13433 : 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
13434 : : {
13435 : 0 : {
13436 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q61, _q30, _q31 };
13437 : 0 : if (gimple_simplify_134 (res_op, seq, valueize, type, captures))
13438 : 0 : return true;
13439 : : }
13440 : : }
13441 : : break;
13442 : : }
13443 : : default:;
13444 : : }
13445 : : }
13446 : : break;
13447 : : default:;
13448 : : }
13449 : : }
13450 : 270 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
13451 : : {
13452 : 135 : switch (TREE_CODE (_q61))
13453 : : {
13454 : 135 : case SSA_NAME:
13455 : 135 : if (gimple *_d4 = get_def (valueize, _q61))
13456 : : {
13457 : 135 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
13458 : 0 : switch (gimple_assign_rhs_code (_a4))
13459 : : {
13460 : 0 : case BIT_NOT_EXPR:
13461 : 0 : {
13462 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
13463 : 0 : _q80 = do_valueize (valueize, _q80);
13464 : 0 : if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
13465 : : {
13466 : 0 : {
13467 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q61, _q31, _q30 };
13468 : 0 : if (gimple_simplify_134 (res_op, seq, valueize, type, captures))
13469 : 0 : return true;
13470 : : }
13471 : : }
13472 : : break;
13473 : : }
13474 : : default:;
13475 : : }
13476 : : }
13477 : : break;
13478 : 135 : default:;
13479 : : }
13480 : 135 : if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
13481 : : {
13482 : 0 : {
13483 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0, _q20 };
13484 : 0 : if (gimple_simplify_133 (res_op, seq, valueize, type, captures))
13485 : 0 : return true;
13486 : : }
13487 : : }
13488 : : }
13489 : 26120 : break;
13490 : : }
13491 : 405 : case BIT_XOR_EXPR:
13492 : 405 : {
13493 : 405 : tree _q60 = gimple_assign_rhs1 (_a3);
13494 : 405 : _q60 = do_valueize (valueize, _q60);
13495 : 405 : tree _q61 = gimple_assign_rhs2 (_a3);
13496 : 405 : _q61 = do_valueize (valueize, _q61);
13497 : 405 : if (tree_swap_operands_p (_q60, _q61))
13498 : 18 : std::swap (_q60, _q61);
13499 : 405 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
13500 : : {
13501 : 180 : if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
13502 : : {
13503 : 0 : {
13504 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0, _q20 };
13505 : 0 : if (gimple_simplify_135 (res_op, seq, valueize, type, captures))
13506 : 0 : return true;
13507 : : }
13508 : : }
13509 : : }
13510 : 26120 : break;
13511 : : }
13512 : : default:;
13513 : : }
13514 : : }
13515 : : break;
13516 : : default:;
13517 : : }
13518 : 26120 : break;
13519 : : }
13520 : : default:;
13521 : : }
13522 : : }
13523 : : break;
13524 : 26120 : default:;
13525 : : }
13526 : 26120 : switch (TREE_CODE (_p1))
13527 : : {
13528 : 25995 : case SSA_NAME:
13529 : 25995 : if (gimple *_d2 = get_def (valueize, _p1))
13530 : : {
13531 : 25370 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
13532 : 19755 : switch (gimple_assign_rhs_code (_a2))
13533 : : {
13534 : 778 : CASE_CONVERT:
13535 : 778 : {
13536 : 778 : tree _q40 = gimple_assign_rhs1 (_a2);
13537 : 778 : _q40 = do_valueize (valueize, _q40);
13538 : 778 : switch (TREE_CODE (_q40))
13539 : : {
13540 : 778 : case SSA_NAME:
13541 : 778 : if (gimple *_d3 = get_def (valueize, _q40))
13542 : : {
13543 : 754 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
13544 : 926 : switch (gimple_assign_rhs_code (_a3))
13545 : : {
13546 : 103 : case BIT_NOT_EXPR:
13547 : 103 : {
13548 : 103 : tree _q50 = gimple_assign_rhs1 (_a3);
13549 : 103 : _q50 = do_valueize (valueize, _q50);
13550 : 103 : {
13551 : 103 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
13552 : 103 : if (gimple_simplify_136 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
13553 : 16 : return true;
13554 : : }
13555 : 87 : break;
13556 : : }
13557 : : default:;
13558 : : }
13559 : : }
13560 : : break;
13561 : : default:;
13562 : : }
13563 : : break;
13564 : : }
13565 : 776 : case BIT_NOT_EXPR:
13566 : 776 : {
13567 : 776 : tree _q40 = gimple_assign_rhs1 (_a2);
13568 : 776 : _q40 = do_valueize (valueize, _q40);
13569 : 776 : {
13570 : 776 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
13571 : 776 : if (gimple_simplify_136 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
13572 : 351 : return true;
13573 : : }
13574 : 425 : break;
13575 : : }
13576 : : default:;
13577 : : }
13578 : : }
13579 : : break;
13580 : : default:;
13581 : : }
13582 : : break;
13583 : : }
13584 : 16038 : case BIT_XOR_EXPR:
13585 : 16038 : {
13586 : 16038 : tree _q20 = gimple_assign_rhs1 (_a1);
13587 : 16038 : _q20 = do_valueize (valueize, _q20);
13588 : 16038 : tree _q21 = gimple_assign_rhs2 (_a1);
13589 : 16038 : _q21 = do_valueize (valueize, _q21);
13590 : 16038 : if (tree_swap_operands_p (_q20, _q21))
13591 : 837 : std::swap (_q20, _q21);
13592 : 16038 : switch (TREE_CODE (_p1))
13593 : : {
13594 : 8904 : case SSA_NAME:
13595 : 8904 : if (gimple *_d2 = get_def (valueize, _p1))
13596 : : {
13597 : 8669 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
13598 : 5110 : switch (gimple_assign_rhs_code (_a2))
13599 : : {
13600 : 718 : case BIT_NOT_EXPR:
13601 : 718 : {
13602 : 718 : tree _q50 = gimple_assign_rhs1 (_a2);
13603 : 718 : _q50 = do_valueize (valueize, _q50);
13604 : 718 : switch (TREE_CODE (_q50))
13605 : : {
13606 : 718 : case SSA_NAME:
13607 : 718 : if (gimple *_d3 = get_def (valueize, _q50))
13608 : : {
13609 : 718 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
13610 : 298 : switch (gimple_assign_rhs_code (_a3))
13611 : : {
13612 : 290 : case BIT_IOR_EXPR:
13613 : 290 : {
13614 : 290 : tree _q60 = gimple_assign_rhs1 (_a3);
13615 : 290 : _q60 = do_valueize (valueize, _q60);
13616 : 290 : tree _q61 = gimple_assign_rhs2 (_a3);
13617 : 290 : _q61 = do_valueize (valueize, _q61);
13618 : 290 : if (tree_swap_operands_p (_q60, _q61))
13619 : 6 : std::swap (_q60, _q61);
13620 : 290 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
13621 : : {
13622 : 48 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
13623 : : {
13624 : 0 : {
13625 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
13626 : 0 : if (gimple_simplify_135 (res_op, seq, valueize, type, captures))
13627 : 0 : return true;
13628 : : }
13629 : : }
13630 : : }
13631 : 4290289 : break;
13632 : : }
13633 : : default:;
13634 : : }
13635 : : }
13636 : : break;
13637 : : default:;
13638 : : }
13639 : : break;
13640 : : }
13641 : 1557 : case BIT_AND_EXPR:
13642 : 1557 : {
13643 : 1557 : tree _q50 = gimple_assign_rhs1 (_a2);
13644 : 1557 : _q50 = do_valueize (valueize, _q50);
13645 : 1557 : tree _q51 = gimple_assign_rhs2 (_a2);
13646 : 1557 : _q51 = do_valueize (valueize, _q51);
13647 : 1557 : if (tree_swap_operands_p (_q50, _q51))
13648 : 57 : std::swap (_q50, _q51);
13649 : 1557 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
13650 : : {
13651 : 674 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
13652 : : {
13653 : 8 : {
13654 : 8 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
13655 : 8 : if (gimple_simplify_22 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
13656 : 8 : return true;
13657 : : }
13658 : : }
13659 : : }
13660 : 4290289 : break;
13661 : : }
13662 : : default:;
13663 : : }
13664 : : }
13665 : : break;
13666 : : default:;
13667 : : }
13668 : 4290289 : break;
13669 : : }
13670 : 197657 : CASE_CONVERT:
13671 : 197657 : {
13672 : 197657 : tree _q20 = gimple_assign_rhs1 (_a1);
13673 : 197657 : _q20 = do_valueize (valueize, _q20);
13674 : 197657 : switch (TREE_CODE (_q20))
13675 : : {
13676 : 197625 : case SSA_NAME:
13677 : 197625 : if (gimple *_d2 = get_def (valueize, _q20))
13678 : : {
13679 : 192180 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
13680 : 128665 : switch (gimple_assign_rhs_code (_a2))
13681 : : {
13682 : 1179 : case BIT_NOT_EXPR:
13683 : 1179 : {
13684 : 1179 : tree _q30 = gimple_assign_rhs1 (_a2);
13685 : 1179 : _q30 = do_valueize (valueize, _q30);
13686 : 1179 : switch (TREE_CODE (_p1))
13687 : : {
13688 : 1179 : case SSA_NAME:
13689 : 1179 : if (gimple *_d3 = get_def (valueize, _p1))
13690 : : {
13691 : 1121 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
13692 : 1259 : switch (gimple_assign_rhs_code (_a3))
13693 : : {
13694 : 192 : CASE_CONVERT:
13695 : 192 : {
13696 : 192 : tree _q50 = gimple_assign_rhs1 (_a3);
13697 : 192 : _q50 = do_valueize (valueize, _q50);
13698 : 192 : switch (TREE_CODE (_q50))
13699 : : {
13700 : 192 : case SSA_NAME:
13701 : 192 : if (gimple *_d4 = get_def (valueize, _q50))
13702 : : {
13703 : 192 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
13704 : 192 : switch (gimple_assign_rhs_code (_a4))
13705 : : {
13706 : 192 : case BIT_NOT_EXPR:
13707 : 192 : {
13708 : 192 : tree _q60 = gimple_assign_rhs1 (_a4);
13709 : 192 : _q60 = do_valueize (valueize, _q60);
13710 : 192 : {
13711 : 192 : tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q60 };
13712 : 192 : if (gimple_simplify_136 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
13713 : 96 : return true;
13714 : : }
13715 : 96 : break;
13716 : : }
13717 : : default:;
13718 : : }
13719 : : }
13720 : : break;
13721 : : default:;
13722 : : }
13723 : : break;
13724 : : }
13725 : 82 : case BIT_NOT_EXPR:
13726 : 82 : {
13727 : 82 : tree _q50 = gimple_assign_rhs1 (_a3);
13728 : 82 : _q50 = do_valueize (valueize, _q50);
13729 : 82 : {
13730 : 82 : tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q50 };
13731 : 82 : if (gimple_simplify_136 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
13732 : 0 : return true;
13733 : : }
13734 : 82 : break;
13735 : : }
13736 : : default:;
13737 : : }
13738 : : }
13739 : : break;
13740 : : default:;
13741 : : }
13742 : : break;
13743 : : }
13744 : 4782 : case BIT_AND_EXPR:
13745 : 4782 : {
13746 : 4782 : tree _q30 = gimple_assign_rhs1 (_a2);
13747 : 4782 : _q30 = do_valueize (valueize, _q30);
13748 : 4782 : tree _q31 = gimple_assign_rhs2 (_a2);
13749 : 4782 : _q31 = do_valueize (valueize, _q31);
13750 : 4782 : if (tree_swap_operands_p (_q30, _q31))
13751 : 57 : std::swap (_q30, _q31);
13752 : 4782 : switch (TREE_CODE (_p1))
13753 : : {
13754 : 4617 : case SSA_NAME:
13755 : 4617 : if (gimple *_d3 = get_def (valueize, _p1))
13756 : : {
13757 : 4353 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
13758 : 4140 : switch (gimple_assign_rhs_code (_a3))
13759 : : {
13760 : 459 : CASE_CONVERT:
13761 : 459 : {
13762 : 459 : tree _q60 = gimple_assign_rhs1 (_a3);
13763 : 459 : _q60 = do_valueize (valueize, _q60);
13764 : 459 : switch (TREE_CODE (_q60))
13765 : : {
13766 : 459 : case SSA_NAME:
13767 : 459 : if (gimple *_d4 = get_def (valueize, _q60))
13768 : : {
13769 : 459 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
13770 : 548 : switch (gimple_assign_rhs_code (_a4))
13771 : : {
13772 : 292 : case BIT_AND_EXPR:
13773 : 292 : {
13774 : 292 : tree _q70 = gimple_assign_rhs1 (_a4);
13775 : 292 : _q70 = do_valueize (valueize, _q70);
13776 : 292 : tree _q71 = gimple_assign_rhs2 (_a4);
13777 : 292 : _q71 = do_valueize (valueize, _q71);
13778 : 292 : if (tree_swap_operands_p (_q70, _q71))
13779 : 0 : std::swap (_q70, _q71);
13780 : 292 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q30, 0))
13781 : : {
13782 : 4 : {
13783 : 4 : tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q71, _q30 };
13784 : 4 : if (gimple_simplify_29 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
13785 : 4 : return true;
13786 : : }
13787 : : }
13788 : 288 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q30, 0))
13789 : : {
13790 : 0 : {
13791 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q70, _q30 };
13792 : 0 : if (gimple_simplify_29 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
13793 : 0 : return true;
13794 : : }
13795 : : }
13796 : 288 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q31, 0))
13797 : : {
13798 : 0 : {
13799 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q71, _q31 };
13800 : 0 : if (gimple_simplify_29 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
13801 : 0 : return true;
13802 : : }
13803 : : }
13804 : 288 : if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q31, 0))
13805 : : {
13806 : 11 : {
13807 : 11 : tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q70, _q31 };
13808 : 11 : if (gimple_simplify_29 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
13809 : 1 : return true;
13810 : : }
13811 : : }
13812 : 197542 : break;
13813 : : }
13814 : : default:;
13815 : : }
13816 : : }
13817 : : break;
13818 : : default:;
13819 : : }
13820 : : break;
13821 : : }
13822 : : default:;
13823 : : }
13824 : : }
13825 : : break;
13826 : : default:;
13827 : : }
13828 : 197542 : break;
13829 : : }
13830 : 2685 : case BIT_IOR_EXPR:
13831 : 2685 : {
13832 : 2685 : tree _q30 = gimple_assign_rhs1 (_a2);
13833 : 2685 : _q30 = do_valueize (valueize, _q30);
13834 : 2685 : tree _q31 = gimple_assign_rhs2 (_a2);
13835 : 2685 : _q31 = do_valueize (valueize, _q31);
13836 : 2685 : if (tree_swap_operands_p (_q30, _q31))
13837 : 217 : std::swap (_q30, _q31);
13838 : 2685 : switch (TREE_CODE (_p1))
13839 : : {
13840 : 2507 : case SSA_NAME:
13841 : 2507 : if (gimple *_d3 = get_def (valueize, _p1))
13842 : : {
13843 : 2454 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
13844 : 2375 : switch (gimple_assign_rhs_code (_a3))
13845 : : {
13846 : 445 : CASE_CONVERT:
13847 : 445 : {
13848 : 445 : tree _q60 = gimple_assign_rhs1 (_a3);
13849 : 445 : _q60 = do_valueize (valueize, _q60);
13850 : 445 : if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q31, 0))
13851 : : {
13852 : 0 : {
13853 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q31 };
13854 : 0 : if (gimple_simplify_122 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
13855 : 0 : return true;
13856 : : }
13857 : : }
13858 : 445 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q30, 0))
13859 : : {
13860 : 0 : {
13861 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q30, _q30 };
13862 : 0 : if (gimple_simplify_122 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
13863 : 0 : return true;
13864 : : }
13865 : : }
13866 : : break;
13867 : : }
13868 : : default:;
13869 : : }
13870 : : }
13871 : : break;
13872 : 2685 : default:;
13873 : : }
13874 : 2685 : if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q31, 0))
13875 : : {
13876 : 14 : {
13877 : 14 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q31 };
13878 : 14 : if (gimple_simplify_122 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
13879 : 14 : return true;
13880 : : }
13881 : : }
13882 : 2671 : if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q30, 0))
13883 : : {
13884 : 0 : {
13885 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q30, _q30 };
13886 : 0 : if (gimple_simplify_122 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
13887 : 0 : return true;
13888 : : }
13889 : : }
13890 : 197542 : break;
13891 : : }
13892 : : default:;
13893 : : }
13894 : : }
13895 : : break;
13896 : 197542 : default:;
13897 : : }
13898 : 197542 : switch (TREE_CODE (_p1))
13899 : : {
13900 : 173458 : case SSA_NAME:
13901 : 173458 : if (gimple *_d2 = get_def (valueize, _p1))
13902 : : {
13903 : 167920 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
13904 : 166046 : switch (gimple_assign_rhs_code (_a2))
13905 : : {
13906 : 100991 : CASE_CONVERT:
13907 : 100991 : {
13908 : 100991 : tree _q40 = gimple_assign_rhs1 (_a2);
13909 : 100991 : _q40 = do_valueize (valueize, _q40);
13910 : 100991 : switch (TREE_CODE (_q40))
13911 : : {
13912 : 100911 : case SSA_NAME:
13913 : 100911 : if (gimple *_d3 = get_def (valueize, _q40))
13914 : : {
13915 : 100336 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
13916 : 18374 : switch (gimple_assign_rhs_code (_a3))
13917 : : {
13918 : 354 : case BIT_IOR_EXPR:
13919 : 354 : {
13920 : 354 : tree _q50 = gimple_assign_rhs1 (_a3);
13921 : 354 : _q50 = do_valueize (valueize, _q50);
13922 : 354 : tree _q51 = gimple_assign_rhs2 (_a3);
13923 : 354 : _q51 = do_valueize (valueize, _q51);
13924 : 354 : if (tree_swap_operands_p (_q50, _q51))
13925 : 6 : std::swap (_q50, _q51);
13926 : 354 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
13927 : : {
13928 : 0 : {
13929 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q50, _q51, _q20 };
13930 : 0 : if (gimple_simplify_137 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
13931 : 0 : return true;
13932 : : }
13933 : : }
13934 : 354 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
13935 : : {
13936 : 0 : {
13937 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q51, _q50, _q20 };
13938 : 0 : if (gimple_simplify_137 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
13939 : 0 : return true;
13940 : : }
13941 : : }
13942 : 4290289 : break;
13943 : : }
13944 : : default:;
13945 : : }
13946 : : }
13947 : : break;
13948 : : default:;
13949 : : }
13950 : : break;
13951 : : }
13952 : 8593 : case BIT_IOR_EXPR:
13953 : 8593 : {
13954 : 8593 : tree _q40 = gimple_assign_rhs1 (_a2);
13955 : 8593 : _q40 = do_valueize (valueize, _q40);
13956 : 8593 : tree _q41 = gimple_assign_rhs2 (_a2);
13957 : 8593 : _q41 = do_valueize (valueize, _q41);
13958 : 8593 : if (tree_swap_operands_p (_q40, _q41))
13959 : 390 : std::swap (_q40, _q41);
13960 : 8593 : if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _q20, 0))
13961 : : {
13962 : 0 : {
13963 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _q20 };
13964 : 0 : if (gimple_simplify_137 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
13965 : 0 : return true;
13966 : : }
13967 : : }
13968 : 8593 : if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _q20, 0))
13969 : : {
13970 : 0 : {
13971 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q41, _q40, _q20 };
13972 : 0 : if (gimple_simplify_137 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
13973 : 0 : return true;
13974 : : }
13975 : : }
13976 : 4290289 : break;
13977 : : }
13978 : : default:;
13979 : : }
13980 : : }
13981 : : break;
13982 : : default:;
13983 : : }
13984 : : break;
13985 : : }
13986 : : default:;
13987 : : }
13988 : : }
13989 : : break;
13990 : 4290289 : default:;
13991 : : }
13992 : 4290289 : switch (TREE_CODE (_p1))
13993 : : {
13994 : 3404534 : case SSA_NAME:
13995 : 3404534 : if (gimple *_d1 = get_def (valueize, _p1))
13996 : : {
13997 : 2784800 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
13998 : 2724913 : switch (gimple_assign_rhs_code (_a1))
13999 : : {
14000 : 202866 : CASE_CONVERT:
14001 : 202866 : {
14002 : 202866 : tree _q30 = gimple_assign_rhs1 (_a1);
14003 : 202866 : _q30 = do_valueize (valueize, _q30);
14004 : 202866 : switch (TREE_CODE (_q30))
14005 : : {
14006 : 202786 : case SSA_NAME:
14007 : 202786 : if (gimple *_d2 = get_def (valueize, _q30))
14008 : : {
14009 : 198266 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
14010 : 135641 : switch (gimple_assign_rhs_code (_a2))
14011 : : {
14012 : 2630 : case BIT_IOR_EXPR:
14013 : 2630 : {
14014 : 2630 : tree _q40 = gimple_assign_rhs1 (_a2);
14015 : 2630 : _q40 = do_valueize (valueize, _q40);
14016 : 2630 : tree _q41 = gimple_assign_rhs2 (_a2);
14017 : 2630 : _q41 = do_valueize (valueize, _q41);
14018 : 2630 : if (tree_swap_operands_p (_q40, _q41))
14019 : 199 : std::swap (_q40, _q41);
14020 : 2630 : if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _p0, 0))
14021 : : {
14022 : 0 : {
14023 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0 };
14024 : 0 : if (gimple_simplify_137 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14025 : 0 : return true;
14026 : : }
14027 : : }
14028 : 2630 : if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _p0, 0))
14029 : : {
14030 : 0 : {
14031 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q41, _q40, _p0 };
14032 : 0 : if (gimple_simplify_137 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14033 : 0 : return true;
14034 : : }
14035 : : }
14036 : 4290150 : break;
14037 : : }
14038 : : default:;
14039 : : }
14040 : : }
14041 : : break;
14042 : : default:;
14043 : : }
14044 : : break;
14045 : : }
14046 : 109822 : case BIT_IOR_EXPR:
14047 : 109822 : {
14048 : 109822 : tree _q30 = gimple_assign_rhs1 (_a1);
14049 : 109822 : _q30 = do_valueize (valueize, _q30);
14050 : 109822 : tree _q31 = gimple_assign_rhs2 (_a1);
14051 : 109822 : _q31 = do_valueize (valueize, _q31);
14052 : 109822 : if (tree_swap_operands_p (_q30, _q31))
14053 : 12037 : std::swap (_q30, _q31);
14054 : 109822 : if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || operand_equal_p (_q31, _p0, 0))
14055 : : {
14056 : 27 : {
14057 : 27 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0 };
14058 : 27 : if (gimple_simplify_137 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14059 : 27 : return true;
14060 : : }
14061 : : }
14062 : 109795 : if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || operand_equal_p (_q30, _p0, 0))
14063 : : {
14064 : 112 : {
14065 : 112 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q31, _q30, _p0 };
14066 : 112 : if (gimple_simplify_137 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14067 : 112 : return true;
14068 : : }
14069 : : }
14070 : 4290150 : break;
14071 : : }
14072 : : default:;
14073 : : }
14074 : : }
14075 : : break;
14076 : 4290150 : default:;
14077 : : }
14078 : 4290150 : switch (TREE_CODE (_p0))
14079 : : {
14080 : 4233531 : case SSA_NAME:
14081 : 4233531 : if (gimple *_d1 = get_def (valueize, _p0))
14082 : : {
14083 : 3382042 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
14084 : 3622327 : switch (gimple_assign_rhs_code (_a1))
14085 : : {
14086 : 228706 : case BIT_IOR_EXPR:
14087 : 228706 : {
14088 : 228706 : tree _q20 = gimple_assign_rhs1 (_a1);
14089 : 228706 : _q20 = do_valueize (valueize, _q20);
14090 : 228706 : tree _q21 = gimple_assign_rhs2 (_a1);
14091 : 228706 : _q21 = do_valueize (valueize, _q21);
14092 : 228706 : if (tree_swap_operands_p (_q20, _q21))
14093 : 8256 : std::swap (_q20, _q21);
14094 : 228706 : {
14095 : 228706 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
14096 : 228706 : if (gimple_simplify_138 (res_op, seq, valueize, type, captures))
14097 : 3 : return true;
14098 : : }
14099 : 228703 : switch (TREE_CODE (_p1))
14100 : : {
14101 : 219924 : case SSA_NAME:
14102 : 219924 : if (gimple *_d2 = get_def (valueize, _p1))
14103 : : {
14104 : 218302 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
14105 : 170133 : switch (gimple_assign_rhs_code (_a2))
14106 : : {
14107 : 14177 : CASE_CONVERT:
14108 : 14177 : {
14109 : 14177 : tree _q50 = gimple_assign_rhs1 (_a2);
14110 : 14177 : _q50 = do_valueize (valueize, _q50);
14111 : 14177 : switch (TREE_CODE (_q50))
14112 : : {
14113 : 14177 : case SSA_NAME:
14114 : 14177 : if (gimple *_d3 = get_def (valueize, _q50))
14115 : : {
14116 : 13908 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
14117 : 19337 : switch (gimple_assign_rhs_code (_a3))
14118 : : {
14119 : 342 : case BIT_IOR_EXPR:
14120 : 342 : {
14121 : 342 : tree _q60 = gimple_assign_rhs1 (_a3);
14122 : 342 : _q60 = do_valueize (valueize, _q60);
14123 : 342 : tree _q61 = gimple_assign_rhs2 (_a3);
14124 : 342 : _q61 = do_valueize (valueize, _q61);
14125 : 342 : if (tree_swap_operands_p (_q60, _q61))
14126 : 78 : std::swap (_q60, _q61);
14127 : 342 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
14128 : : {
14129 : 0 : {
14130 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _q50, _q61 };
14131 : 0 : if (gimple_simplify_139 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14132 : 0 : return true;
14133 : : }
14134 : : }
14135 : 342 : if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
14136 : : {
14137 : 0 : {
14138 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _q50, _q60 };
14139 : 0 : if (gimple_simplify_139 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14140 : 0 : return true;
14141 : : }
14142 : : }
14143 : 342 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
14144 : : {
14145 : 0 : {
14146 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _q50, _q61 };
14147 : 0 : if (gimple_simplify_139 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14148 : 0 : return true;
14149 : : }
14150 : : }
14151 : 342 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
14152 : : {
14153 : 0 : {
14154 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _q50, _q60 };
14155 : 0 : if (gimple_simplify_139 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14156 : 0 : return true;
14157 : : }
14158 : : }
14159 : 4290144 : break;
14160 : : }
14161 : : default:;
14162 : : }
14163 : : }
14164 : : break;
14165 : : default:;
14166 : : }
14167 : : break;
14168 : : }
14169 : 4277 : case BIT_IOR_EXPR:
14170 : 4277 : {
14171 : 4277 : tree _q50 = gimple_assign_rhs1 (_a2);
14172 : 4277 : _q50 = do_valueize (valueize, _q50);
14173 : 4277 : tree _q51 = gimple_assign_rhs2 (_a2);
14174 : 4277 : _q51 = do_valueize (valueize, _q51);
14175 : 4277 : if (tree_swap_operands_p (_q50, _q51))
14176 : 298 : std::swap (_q50, _q51);
14177 : 4277 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
14178 : : {
14179 : 1 : {
14180 : 1 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _p1, _q51 };
14181 : 1 : if (gimple_simplify_140 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14182 : 1 : return true;
14183 : : }
14184 : : }
14185 : 4276 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
14186 : : {
14187 : 0 : {
14188 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _p1, _q50 };
14189 : 0 : if (gimple_simplify_140 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14190 : 0 : return true;
14191 : : }
14192 : : }
14193 : 4276 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
14194 : : {
14195 : 2 : {
14196 : 2 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _p1, _q51 };
14197 : 2 : if (gimple_simplify_140 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14198 : 2 : return true;
14199 : : }
14200 : : }
14201 : 4274 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
14202 : : {
14203 : 0 : {
14204 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _p1, _q50 };
14205 : 0 : if (gimple_simplify_140 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14206 : 0 : return true;
14207 : : }
14208 : : }
14209 : 4290144 : break;
14210 : : }
14211 : : default:;
14212 : : }
14213 : : }
14214 : : break;
14215 : : default:;
14216 : : }
14217 : 4290144 : break;
14218 : : }
14219 : : default:;
14220 : : }
14221 : : }
14222 : : break;
14223 : 4290144 : default:;
14224 : : }
14225 : 4290144 : switch (TREE_CODE (_p1))
14226 : : {
14227 : 3404391 : case SSA_NAME:
14228 : 3404391 : if (gimple *_d1 = get_def (valueize, _p1))
14229 : : {
14230 : 2784657 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
14231 : 2724771 : switch (gimple_assign_rhs_code (_a1))
14232 : : {
14233 : 109680 : case BIT_IOR_EXPR:
14234 : 109680 : {
14235 : 109680 : tree _q30 = gimple_assign_rhs1 (_a1);
14236 : 109680 : _q30 = do_valueize (valueize, _q30);
14237 : 109680 : tree _q31 = gimple_assign_rhs2 (_a1);
14238 : 109680 : _q31 = do_valueize (valueize, _q31);
14239 : 109680 : if (tree_swap_operands_p (_q30, _q31))
14240 : 12026 : std::swap (_q30, _q31);
14241 : 109680 : {
14242 : 109680 : tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
14243 : 109680 : if (gimple_simplify_138 (res_op, seq, valueize, type, captures))
14244 : 0 : return true;
14245 : : }
14246 : 109680 : break;
14247 : : }
14248 : : default:;
14249 : : }
14250 : : }
14251 : : break;
14252 : 4290144 : default:;
14253 : : }
14254 : 4290144 : switch (TREE_CODE (_p0))
14255 : : {
14256 : 4233525 : case SSA_NAME:
14257 : 4233525 : if (gimple *_d1 = get_def (valueize, _p0))
14258 : : {
14259 : 3382036 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
14260 : 3622321 : switch (gimple_assign_rhs_code (_a1))
14261 : : {
14262 : 197506 : CASE_CONVERT:
14263 : 197506 : {
14264 : 197506 : tree _q20 = gimple_assign_rhs1 (_a1);
14265 : 197506 : _q20 = do_valueize (valueize, _q20);
14266 : 197506 : switch (TREE_CODE (_q20))
14267 : : {
14268 : 197474 : case SSA_NAME:
14269 : 197474 : if (gimple *_d2 = get_def (valueize, _q20))
14270 : : {
14271 : 192029 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
14272 : 128495 : switch (gimple_assign_rhs_code (_a2))
14273 : : {
14274 : 2669 : case BIT_IOR_EXPR:
14275 : 2669 : {
14276 : 2669 : tree _q30 = gimple_assign_rhs1 (_a2);
14277 : 2669 : _q30 = do_valueize (valueize, _q30);
14278 : 2669 : tree _q31 = gimple_assign_rhs2 (_a2);
14279 : 2669 : _q31 = do_valueize (valueize, _q31);
14280 : 2669 : if (tree_swap_operands_p (_q30, _q31))
14281 : 217 : std::swap (_q30, _q31);
14282 : 2669 : switch (TREE_CODE (_p1))
14283 : : {
14284 : 2505 : case SSA_NAME:
14285 : 2505 : if (gimple *_d3 = get_def (valueize, _p1))
14286 : : {
14287 : 2452 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
14288 : 2373 : switch (gimple_assign_rhs_code (_a3))
14289 : : {
14290 : 445 : CASE_CONVERT:
14291 : 445 : {
14292 : 445 : tree _q60 = gimple_assign_rhs1 (_a3);
14293 : 445 : _q60 = do_valueize (valueize, _q60);
14294 : 445 : switch (TREE_CODE (_q60))
14295 : : {
14296 : 445 : case SSA_NAME:
14297 : 445 : if (gimple *_d4 = get_def (valueize, _q60))
14298 : : {
14299 : 445 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
14300 : 393 : switch (gimple_assign_rhs_code (_a4))
14301 : : {
14302 : 10 : case BIT_IOR_EXPR:
14303 : 10 : {
14304 : 10 : tree _q70 = gimple_assign_rhs1 (_a4);
14305 : 10 : _q70 = do_valueize (valueize, _q70);
14306 : 10 : tree _q71 = gimple_assign_rhs2 (_a4);
14307 : 10 : _q71 = do_valueize (valueize, _q71);
14308 : 10 : if (tree_swap_operands_p (_q70, _q71))
14309 : 0 : std::swap (_q70, _q71);
14310 : 10 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
14311 : : {
14312 : 1 : {
14313 : 1 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60, _q71 };
14314 : 1 : if (gimple_simplify_141 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14315 : 0 : return true;
14316 : : }
14317 : : }
14318 : 10 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
14319 : : {
14320 : 0 : {
14321 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60, _q70 };
14322 : 0 : if (gimple_simplify_141 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14323 : 0 : return true;
14324 : : }
14325 : : }
14326 : 10 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
14327 : : {
14328 : 0 : {
14329 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _q60, _q71 };
14330 : 0 : if (gimple_simplify_141 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14331 : 0 : return true;
14332 : : }
14333 : : }
14334 : 10 : if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
14335 : : {
14336 : 0 : {
14337 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _q60, _q70 };
14338 : 0 : if (gimple_simplify_141 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14339 : 0 : return true;
14340 : : }
14341 : : }
14342 : 197506 : break;
14343 : : }
14344 : : default:;
14345 : : }
14346 : : }
14347 : : break;
14348 : : default:;
14349 : : }
14350 : : break;
14351 : : }
14352 : 336 : case BIT_IOR_EXPR:
14353 : 336 : {
14354 : 336 : tree _q60 = gimple_assign_rhs1 (_a3);
14355 : 336 : _q60 = do_valueize (valueize, _q60);
14356 : 336 : tree _q61 = gimple_assign_rhs2 (_a3);
14357 : 336 : _q61 = do_valueize (valueize, _q61);
14358 : 336 : if (tree_swap_operands_p (_q60, _q61))
14359 : 42 : std::swap (_q60, _q61);
14360 : 336 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
14361 : : {
14362 : 0 : {
14363 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _p1, _q61 };
14364 : 0 : if (gimple_simplify_142 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14365 : 0 : return true;
14366 : : }
14367 : : }
14368 : 336 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
14369 : : {
14370 : 0 : {
14371 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _p1, _q60 };
14372 : 0 : if (gimple_simplify_142 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14373 : 0 : return true;
14374 : : }
14375 : : }
14376 : 336 : if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
14377 : : {
14378 : 0 : {
14379 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _p1, _q61 };
14380 : 0 : if (gimple_simplify_142 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14381 : 0 : return true;
14382 : : }
14383 : : }
14384 : 336 : if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
14385 : : {
14386 : 0 : {
14387 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _p1, _q60 };
14388 : 0 : if (gimple_simplify_142 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14389 : 0 : return true;
14390 : : }
14391 : : }
14392 : 197506 : break;
14393 : : }
14394 : : default:;
14395 : : }
14396 : : }
14397 : : break;
14398 : : default:;
14399 : : }
14400 : 197506 : break;
14401 : : }
14402 : : default:;
14403 : : }
14404 : : }
14405 : : break;
14406 : 197506 : default:;
14407 : : }
14408 : 197506 : switch (TREE_CODE (_p1))
14409 : : {
14410 : 173422 : case SSA_NAME:
14411 : 173422 : if (gimple *_d2 = get_def (valueize, _p1))
14412 : : {
14413 : 167884 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
14414 : 166010 : switch (gimple_assign_rhs_code (_a2))
14415 : : {
14416 : 100991 : CASE_CONVERT:
14417 : 100991 : {
14418 : 100991 : tree _q40 = gimple_assign_rhs1 (_a2);
14419 : 100991 : _q40 = do_valueize (valueize, _q40);
14420 : 100991 : {
14421 : 100991 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
14422 : 100991 : if (gimple_simplify_31 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14423 : 1685 : return true;
14424 : : }
14425 : 99306 : break;
14426 : : }
14427 : : default:;
14428 : : }
14429 : : }
14430 : : break;
14431 : 195821 : default:;
14432 : : }
14433 : 195821 : {
14434 : 195821 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
14435 : 195821 : if (gimple_simplify_32 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14436 : 269 : return true;
14437 : : }
14438 : 195552 : break;
14439 : : }
14440 : 320317 : case BIT_AND_EXPR:
14441 : 320317 : {
14442 : 320317 : tree _q20 = gimple_assign_rhs1 (_a1);
14443 : 320317 : _q20 = do_valueize (valueize, _q20);
14444 : 320317 : tree _q21 = gimple_assign_rhs2 (_a1);
14445 : 320317 : _q21 = do_valueize (valueize, _q21);
14446 : 320317 : if (tree_swap_operands_p (_q20, _q21))
14447 : 8609 : std::swap (_q20, _q21);
14448 : 320317 : if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
14449 : : {
14450 : 6 : {
14451 : 6 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
14452 : 6 : if (gimple_simplify_143 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
14453 : 6 : return true;
14454 : : }
14455 : : }
14456 : 320311 : if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
14457 : : {
14458 : 9 : {
14459 : 9 : tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
14460 : 9 : if (gimple_simplify_143 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
14461 : 9 : return true;
14462 : : }
14463 : : }
14464 : 320302 : {
14465 : 320302 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
14466 : 320302 : if (gimple_simplify_144 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
14467 : 576 : return true;
14468 : : }
14469 : 319726 : {
14470 : 319726 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
14471 : 319726 : if (gimple_simplify_144 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
14472 : 1319 : return true;
14473 : : }
14474 : 318407 : switch (TREE_CODE (_p1))
14475 : : {
14476 : 174210 : case SSA_NAME:
14477 : 174210 : if (gimple *_d2 = get_def (valueize, _p1))
14478 : : {
14479 : 173035 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
14480 : 166721 : switch (gimple_assign_rhs_code (_a2))
14481 : : {
14482 : 4554 : case BIT_IOR_EXPR:
14483 : 4554 : {
14484 : 4554 : tree _q50 = gimple_assign_rhs1 (_a2);
14485 : 4554 : _q50 = do_valueize (valueize, _q50);
14486 : 4554 : tree _q51 = gimple_assign_rhs2 (_a2);
14487 : 4554 : _q51 = do_valueize (valueize, _q51);
14488 : 4554 : if (tree_swap_operands_p (_q50, _q51))
14489 : 350 : std::swap (_q50, _q51);
14490 : 4554 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
14491 : : {
14492 : 1 : {
14493 : 1 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51 };
14494 : 1 : if (gimple_simplify_145 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
14495 : 1 : return true;
14496 : : }
14497 : : }
14498 : 4553 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
14499 : : {
14500 : 0 : {
14501 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50 };
14502 : 0 : if (gimple_simplify_145 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
14503 : 0 : return true;
14504 : : }
14505 : : }
14506 : 4553 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
14507 : : {
14508 : 0 : {
14509 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q51 };
14510 : 0 : if (gimple_simplify_145 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
14511 : 0 : return true;
14512 : : }
14513 : : }
14514 : 4553 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
14515 : : {
14516 : 0 : {
14517 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q50 };
14518 : 0 : if (gimple_simplify_145 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
14519 : 0 : return true;
14520 : : }
14521 : : }
14522 : 318406 : break;
14523 : : }
14524 : 1325 : case BIT_NOT_EXPR:
14525 : 1325 : {
14526 : 1325 : tree _q50 = gimple_assign_rhs1 (_a2);
14527 : 1325 : _q50 = do_valueize (valueize, _q50);
14528 : 1325 : switch (TREE_CODE (_q50))
14529 : : {
14530 : 1325 : case SSA_NAME:
14531 : 1325 : if (gimple *_d3 = get_def (valueize, _q50))
14532 : : {
14533 : 1325 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
14534 : 144 : switch (gimple_assign_rhs_code (_a3))
14535 : : {
14536 : 0 : case BIT_AND_EXPR:
14537 : 0 : {
14538 : 0 : tree _q60 = gimple_assign_rhs1 (_a3);
14539 : 0 : _q60 = do_valueize (valueize, _q60);
14540 : 0 : tree _q61 = gimple_assign_rhs2 (_a3);
14541 : 0 : _q61 = do_valueize (valueize, _q61);
14542 : 0 : if (tree_swap_operands_p (_q60, _q61))
14543 : 0 : std::swap (_q60, _q61);
14544 : 0 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
14545 : : {
14546 : 0 : {
14547 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q61 };
14548 : 0 : if (gimple_simplify_146 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
14549 : 0 : return true;
14550 : : }
14551 : : }
14552 : 0 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
14553 : : {
14554 : 0 : {
14555 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q60 };
14556 : 0 : if (gimple_simplify_146 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
14557 : 0 : return true;
14558 : : }
14559 : : }
14560 : 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
14561 : : {
14562 : 0 : {
14563 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q61 };
14564 : 0 : if (gimple_simplify_146 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
14565 : 0 : return true;
14566 : : }
14567 : : }
14568 : 0 : if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
14569 : : {
14570 : 0 : {
14571 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q60 };
14572 : 0 : if (gimple_simplify_146 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
14573 : 0 : return true;
14574 : : }
14575 : : }
14576 : 318406 : break;
14577 : : }
14578 : : default:;
14579 : : }
14580 : : }
14581 : : break;
14582 : : default:;
14583 : : }
14584 : : break;
14585 : : }
14586 : : default:;
14587 : : }
14588 : : }
14589 : : break;
14590 : 318406 : default:;
14591 : : }
14592 : 318406 : {
14593 : 318406 : tree _q20_pops[1];
14594 : 318406 : if (gimple_nop_convert (_q20, _q20_pops, valueize))
14595 : : {
14596 : 2293 : tree _q30 = _q20_pops[0];
14597 : 2293 : switch (TREE_CODE (_q30))
14598 : : {
14599 : 2293 : case SSA_NAME:
14600 : 2293 : if (gimple *_d2 = get_def (valueize, _q30))
14601 : : {
14602 : 2290 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
14603 : 3029 : switch (gimple_assign_rhs_code (_a2))
14604 : : {
14605 : 0 : case BIT_IOR_EXPR:
14606 : 0 : {
14607 : 0 : tree _q40 = gimple_assign_rhs1 (_a2);
14608 : 0 : _q40 = do_valueize (valueize, _q40);
14609 : 0 : tree _q41 = gimple_assign_rhs2 (_a2);
14610 : 0 : _q41 = do_valueize (valueize, _q41);
14611 : 0 : if (tree_swap_operands_p (_q40, _q41))
14612 : 0 : std::swap (_q40, _q41);
14613 : 0 : {
14614 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q40, _q41, _q21, _p1 };
14615 : 0 : if (gimple_simplify_147 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14616 : 0 : return true;
14617 : : }
14618 : 0 : {
14619 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q41, _q40, _q21, _p1 };
14620 : 0 : if (gimple_simplify_147 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14621 : 0 : return true;
14622 : : }
14623 : 0 : break;
14624 : : }
14625 : 0 : case BIT_XOR_EXPR:
14626 : 0 : {
14627 : 0 : tree _q40 = gimple_assign_rhs1 (_a2);
14628 : 0 : _q40 = do_valueize (valueize, _q40);
14629 : 0 : tree _q41 = gimple_assign_rhs2 (_a2);
14630 : 0 : _q41 = do_valueize (valueize, _q41);
14631 : 0 : if (tree_swap_operands_p (_q40, _q41))
14632 : 0 : std::swap (_q40, _q41);
14633 : 0 : {
14634 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q40, _q41, _q21, _p1 };
14635 : 0 : if (gimple_simplify_147 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
14636 : 0 : return true;
14637 : : }
14638 : 0 : {
14639 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q41, _q40, _q21, _p1 };
14640 : 0 : if (gimple_simplify_147 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
14641 : 0 : return true;
14642 : : }
14643 : 0 : break;
14644 : : }
14645 : : default:;
14646 : : }
14647 : : }
14648 : : break;
14649 : : default:;
14650 : : }
14651 : : }
14652 : : }
14653 : 318406 : {
14654 : 318406 : tree _q21_pops[1];
14655 : 318406 : if (gimple_nop_convert (_q21, _q21_pops, valueize))
14656 : : {
14657 : 4697 : tree _q40 = _q21_pops[0];
14658 : 4697 : switch (TREE_CODE (_q40))
14659 : : {
14660 : 4697 : case SSA_NAME:
14661 : 4697 : if (gimple *_d2 = get_def (valueize, _q40))
14662 : : {
14663 : 4681 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
14664 : 4659 : switch (gimple_assign_rhs_code (_a2))
14665 : : {
14666 : 23 : case BIT_IOR_EXPR:
14667 : 23 : {
14668 : 23 : tree _q50 = gimple_assign_rhs1 (_a2);
14669 : 23 : _q50 = do_valueize (valueize, _q50);
14670 : 23 : tree _q51 = gimple_assign_rhs2 (_a2);
14671 : 23 : _q51 = do_valueize (valueize, _q51);
14672 : 23 : if (tree_swap_operands_p (_q50, _q51))
14673 : 9 : std::swap (_q50, _q51);
14674 : 23 : {
14675 : 23 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q40, _q50, _q51, _q20, _p1 };
14676 : 23 : if (gimple_simplify_147 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14677 : 0 : return true;
14678 : : }
14679 : 23 : {
14680 : 23 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q40, _q51, _q50, _q20, _p1 };
14681 : 23 : if (gimple_simplify_147 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14682 : 0 : return true;
14683 : : }
14684 : 23 : break;
14685 : : }
14686 : 0 : case BIT_XOR_EXPR:
14687 : 0 : {
14688 : 0 : tree _q50 = gimple_assign_rhs1 (_a2);
14689 : 0 : _q50 = do_valueize (valueize, _q50);
14690 : 0 : tree _q51 = gimple_assign_rhs2 (_a2);
14691 : 0 : _q51 = do_valueize (valueize, _q51);
14692 : 0 : if (tree_swap_operands_p (_q50, _q51))
14693 : 0 : std::swap (_q50, _q51);
14694 : 0 : {
14695 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q40, _q50, _q51, _q20, _p1 };
14696 : 0 : if (gimple_simplify_147 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
14697 : 0 : return true;
14698 : : }
14699 : 0 : {
14700 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q40, _q51, _q50, _q20, _p1 };
14701 : 0 : if (gimple_simplify_147 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
14702 : 0 : return true;
14703 : : }
14704 : 0 : break;
14705 : : }
14706 : : default:;
14707 : : }
14708 : : }
14709 : : break;
14710 : : default:;
14711 : : }
14712 : : }
14713 : : }
14714 : 318406 : switch (TREE_CODE (_q20))
14715 : : {
14716 : 318406 : case SSA_NAME:
14717 : 318406 : if (gimple *_d2 = get_def (valueize, _q20))
14718 : : {
14719 : 280617 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
14720 : 261222 : switch (gimple_assign_rhs_code (_a2))
14721 : : {
14722 : 1607 : case BIT_IOR_EXPR:
14723 : 1607 : {
14724 : 1607 : tree _q30 = gimple_assign_rhs1 (_a2);
14725 : 1607 : _q30 = do_valueize (valueize, _q30);
14726 : 1607 : tree _q31 = gimple_assign_rhs2 (_a2);
14727 : 1607 : _q31 = do_valueize (valueize, _q31);
14728 : 1607 : if (tree_swap_operands_p (_q30, _q31))
14729 : 78 : std::swap (_q30, _q31);
14730 : 1607 : {
14731 : 1607 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q30, _q31, _q21, _p1 };
14732 : 1607 : if (gimple_simplify_148 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14733 : 0 : return true;
14734 : : }
14735 : 1607 : {
14736 : 1607 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q31, _q30, _q21, _p1 };
14737 : 1607 : if (gimple_simplify_148 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14738 : 0 : return true;
14739 : : }
14740 : 1607 : break;
14741 : : }
14742 : 2976 : case BIT_XOR_EXPR:
14743 : 2976 : {
14744 : 2976 : tree _q30 = gimple_assign_rhs1 (_a2);
14745 : 2976 : _q30 = do_valueize (valueize, _q30);
14746 : 2976 : tree _q31 = gimple_assign_rhs2 (_a2);
14747 : 2976 : _q31 = do_valueize (valueize, _q31);
14748 : 2976 : if (tree_swap_operands_p (_q30, _q31))
14749 : 196 : std::swap (_q30, _q31);
14750 : 2976 : {
14751 : 2976 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q30, _q31, _q21, _p1 };
14752 : 2976 : if (gimple_simplify_148 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
14753 : 14 : return true;
14754 : : }
14755 : 2962 : {
14756 : 2962 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q31, _q30, _q21, _p1 };
14757 : 2962 : if (gimple_simplify_148 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
14758 : 0 : return true;
14759 : : }
14760 : 2962 : break;
14761 : : }
14762 : : default:;
14763 : : }
14764 : : }
14765 : : break;
14766 : 318392 : default:;
14767 : : }
14768 : 318392 : switch (TREE_CODE (_q21))
14769 : : {
14770 : 136102 : case SSA_NAME:
14771 : 136102 : if (gimple *_d2 = get_def (valueize, _q21))
14772 : : {
14773 : 116194 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
14774 : 135369 : switch (gimple_assign_rhs_code (_a2))
14775 : : {
14776 : 137 : case BIT_IOR_EXPR:
14777 : 137 : {
14778 : 137 : tree _q40 = gimple_assign_rhs1 (_a2);
14779 : 137 : _q40 = do_valueize (valueize, _q40);
14780 : 137 : tree _q41 = gimple_assign_rhs2 (_a2);
14781 : 137 : _q41 = do_valueize (valueize, _q41);
14782 : 137 : if (tree_swap_operands_p (_q40, _q41))
14783 : 2 : std::swap (_q40, _q41);
14784 : 137 : {
14785 : 137 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q21, _q40, _q41, _q20, _p1 };
14786 : 137 : if (gimple_simplify_148 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14787 : 0 : return true;
14788 : : }
14789 : 137 : {
14790 : 137 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q21, _q41, _q40, _q20, _p1 };
14791 : 137 : if (gimple_simplify_148 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14792 : 0 : return true;
14793 : : }
14794 : 137 : break;
14795 : : }
14796 : 49 : case BIT_XOR_EXPR:
14797 : 49 : {
14798 : 49 : tree _q40 = gimple_assign_rhs1 (_a2);
14799 : 49 : _q40 = do_valueize (valueize, _q40);
14800 : 49 : tree _q41 = gimple_assign_rhs2 (_a2);
14801 : 49 : _q41 = do_valueize (valueize, _q41);
14802 : 49 : if (tree_swap_operands_p (_q40, _q41))
14803 : 0 : std::swap (_q40, _q41);
14804 : 49 : {
14805 : 49 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q21, _q40, _q41, _q20, _p1 };
14806 : 49 : if (gimple_simplify_148 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
14807 : 7 : return true;
14808 : : }
14809 : 42 : {
14810 : 42 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q21, _q41, _q40, _q20, _p1 };
14811 : 42 : if (gimple_simplify_148 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
14812 : 0 : return true;
14813 : : }
14814 : 42 : break;
14815 : : }
14816 : : default:;
14817 : : }
14818 : : }
14819 : : break;
14820 : : default:;
14821 : : }
14822 : 4286258 : break;
14823 : : }
14824 : : default:;
14825 : : }
14826 : : }
14827 : : break;
14828 : 4286258 : default:;
14829 : : }
14830 : 4286258 : switch (TREE_CODE (_p1))
14831 : : {
14832 : 3401709 : case SSA_NAME:
14833 : 3401709 : if (gimple *_d1 = get_def (valueize, _p1))
14834 : : {
14835 : 2781987 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
14836 : 2722166 : switch (gimple_assign_rhs_code (_a1))
14837 : : {
14838 : 178519 : case BIT_AND_EXPR:
14839 : 178519 : {
14840 : 178519 : tree _q30 = gimple_assign_rhs1 (_a1);
14841 : 178519 : _q30 = do_valueize (valueize, _q30);
14842 : 178519 : tree _q31 = gimple_assign_rhs2 (_a1);
14843 : 178519 : _q31 = do_valueize (valueize, _q31);
14844 : 178519 : if (tree_swap_operands_p (_q30, _q31))
14845 : 8875 : std::swap (_q30, _q31);
14846 : 178519 : if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
14847 : : {
14848 : 40 : {
14849 : 40 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
14850 : 40 : if (gimple_simplify_143 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
14851 : 40 : return true;
14852 : : }
14853 : : }
14854 : 178479 : if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
14855 : : {
14856 : 1 : {
14857 : 1 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
14858 : 1 : if (gimple_simplify_143 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
14859 : 1 : return true;
14860 : : }
14861 : : }
14862 : 178478 : {
14863 : 178478 : tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
14864 : 178478 : if (gimple_simplify_144 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
14865 : 894 : return true;
14866 : : }
14867 : 177584 : {
14868 : 177584 : tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _p0 };
14869 : 177584 : if (gimple_simplify_144 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
14870 : 139 : return true;
14871 : : }
14872 : 177445 : break;
14873 : : }
14874 : : default:;
14875 : : }
14876 : : }
14877 : : break;
14878 : 4285184 : default:;
14879 : : }
14880 : 4285184 : switch (TREE_CODE (_p0))
14881 : : {
14882 : 4228565 : case SSA_NAME:
14883 : 4228565 : if (gimple *_d1 = get_def (valueize, _p0))
14884 : : {
14885 : 3377113 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
14886 : 3617398 : switch (gimple_assign_rhs_code (_a1))
14887 : : {
14888 : 228698 : case BIT_IOR_EXPR:
14889 : 228698 : {
14890 : 228698 : tree _q20 = gimple_assign_rhs1 (_a1);
14891 : 228698 : _q20 = do_valueize (valueize, _q20);
14892 : 228698 : tree _q21 = gimple_assign_rhs2 (_a1);
14893 : 228698 : _q21 = do_valueize (valueize, _q21);
14894 : 228698 : if (tree_swap_operands_p (_q20, _q21))
14895 : 8256 : std::swap (_q20, _q21);
14896 : 228698 : switch (TREE_CODE (_p1))
14897 : : {
14898 : 219919 : case SSA_NAME:
14899 : 219919 : if (gimple *_d2 = get_def (valueize, _p1))
14900 : : {
14901 : 218297 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
14902 : 170128 : switch (gimple_assign_rhs_code (_a2))
14903 : : {
14904 : 9696 : case BIT_AND_EXPR:
14905 : 9696 : {
14906 : 9696 : tree _q50 = gimple_assign_rhs1 (_a2);
14907 : 9696 : _q50 = do_valueize (valueize, _q50);
14908 : 9696 : tree _q51 = gimple_assign_rhs2 (_a2);
14909 : 9696 : _q51 = do_valueize (valueize, _q51);
14910 : 9696 : if (tree_swap_operands_p (_q50, _q51))
14911 : 595 : std::swap (_q50, _q51);
14912 : 9696 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
14913 : : {
14914 : 1 : {
14915 : 1 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q51, _p0, _q21 };
14916 : 1 : if (gimple_simplify_149 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
14917 : 1 : return true;
14918 : : }
14919 : : }
14920 : 9695 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
14921 : : {
14922 : 0 : {
14923 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q51, _p0, _q20 };
14924 : 0 : if (gimple_simplify_149 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
14925 : 0 : return true;
14926 : : }
14927 : : }
14928 : 9695 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
14929 : : {
14930 : 0 : {
14931 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q50, _p0, _q21 };
14932 : 0 : if (gimple_simplify_149 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
14933 : 0 : return true;
14934 : : }
14935 : : }
14936 : 9695 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
14937 : : {
14938 : 10 : {
14939 : 10 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _p0, _q20 };
14940 : 10 : if (gimple_simplify_149 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
14941 : 10 : return true;
14942 : : }
14943 : : }
14944 : 4285173 : break;
14945 : : }
14946 : : default:;
14947 : : }
14948 : : }
14949 : : break;
14950 : : default:;
14951 : : }
14952 : 4285173 : break;
14953 : : }
14954 : 25234 : case BIT_NOT_EXPR:
14955 : 25234 : {
14956 : 25234 : tree _q20 = gimple_assign_rhs1 (_a1);
14957 : 25234 : _q20 = do_valueize (valueize, _q20);
14958 : 25234 : switch (TREE_CODE (_q20))
14959 : : {
14960 : 25234 : case SSA_NAME:
14961 : 25234 : if (gimple *_d2 = get_def (valueize, _q20))
14962 : : {
14963 : 24015 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
14964 : 20737 : switch (gimple_assign_rhs_code (_a2))
14965 : : {
14966 : 2244 : case BIT_AND_EXPR:
14967 : 2244 : {
14968 : 2244 : tree _q30 = gimple_assign_rhs1 (_a2);
14969 : 2244 : _q30 = do_valueize (valueize, _q30);
14970 : 2244 : tree _q31 = gimple_assign_rhs2 (_a2);
14971 : 2244 : _q31 = do_valueize (valueize, _q31);
14972 : 2244 : if (tree_swap_operands_p (_q30, _q31))
14973 : 204 : std::swap (_q30, _q31);
14974 : 2244 : switch (TREE_CODE (_p1))
14975 : : {
14976 : 2244 : case SSA_NAME:
14977 : 2244 : if (gimple *_d3 = get_def (valueize, _p1))
14978 : : {
14979 : 2244 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
14980 : 2074 : switch (gimple_assign_rhs_code (_a3))
14981 : : {
14982 : 6 : case BIT_AND_EXPR:
14983 : 6 : {
14984 : 6 : tree _q60 = gimple_assign_rhs1 (_a3);
14985 : 6 : _q60 = do_valueize (valueize, _q60);
14986 : 6 : tree _q61 = gimple_assign_rhs2 (_a3);
14987 : 6 : _q61 = do_valueize (valueize, _q61);
14988 : 6 : if (tree_swap_operands_p (_q60, _q61))
14989 : 0 : std::swap (_q60, _q61);
14990 : 6 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
14991 : : {
14992 : 0 : {
14993 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q60, _q30, _p0, _q31 };
14994 : 0 : if (gimple_simplify_150 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
14995 : 0 : return true;
14996 : : }
14997 : : }
14998 : 6 : if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
14999 : : {
15000 : 0 : {
15001 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q60, _q31, _p0, _q30 };
15002 : 0 : if (gimple_simplify_150 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
15003 : 0 : return true;
15004 : : }
15005 : : }
15006 : 6 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
15007 : : {
15008 : 0 : {
15009 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q61, _q30, _p0, _q31 };
15010 : 0 : if (gimple_simplify_150 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
15011 : 0 : return true;
15012 : : }
15013 : : }
15014 : 6 : if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
15015 : : {
15016 : 0 : {
15017 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q61, _q31, _p0, _q30 };
15018 : 0 : if (gimple_simplify_150 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
15019 : 0 : return true;
15020 : : }
15021 : : }
15022 : 2244 : break;
15023 : : }
15024 : : default:;
15025 : : }
15026 : : }
15027 : : break;
15028 : 2244 : default:;
15029 : : }
15030 : 2244 : if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
15031 : : {
15032 : 0 : {
15033 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
15034 : 0 : if (gimple_simplify_151 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
15035 : 0 : return true;
15036 : : }
15037 : : }
15038 : 2244 : if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
15039 : : {
15040 : 0 : {
15041 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
15042 : 0 : if (gimple_simplify_151 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
15043 : 0 : return true;
15044 : : }
15045 : : }
15046 : 4285173 : break;
15047 : : }
15048 : : default:;
15049 : : }
15050 : : }
15051 : : break;
15052 : : default:;
15053 : : }
15054 : : break;
15055 : : }
15056 : : default:;
15057 : : }
15058 : : }
15059 : : break;
15060 : 4285173 : default:;
15061 : : }
15062 : 4285173 : switch (TREE_CODE (_p1))
15063 : : {
15064 : 3400624 : case SSA_NAME:
15065 : 3400624 : if (gimple *_d1 = get_def (valueize, _p1))
15066 : : {
15067 : 2780902 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
15068 : 2721081 : switch (gimple_assign_rhs_code (_a1))
15069 : : {
15070 : 12514 : case BIT_NOT_EXPR:
15071 : 12514 : {
15072 : 12514 : tree _q30 = gimple_assign_rhs1 (_a1);
15073 : 12514 : _q30 = do_valueize (valueize, _q30);
15074 : 12514 : switch (TREE_CODE (_q30))
15075 : : {
15076 : 12514 : case SSA_NAME:
15077 : 12514 : if (gimple *_d2 = get_def (valueize, _q30))
15078 : : {
15079 : 12122 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
15080 : 12223 : switch (gimple_assign_rhs_code (_a2))
15081 : : {
15082 : 1246 : case BIT_AND_EXPR:
15083 : 1246 : {
15084 : 1246 : tree _q40 = gimple_assign_rhs1 (_a2);
15085 : 1246 : _q40 = do_valueize (valueize, _q40);
15086 : 1246 : tree _q41 = gimple_assign_rhs2 (_a2);
15087 : 1246 : _q41 = do_valueize (valueize, _q41);
15088 : 1246 : if (tree_swap_operands_p (_q40, _q41))
15089 : 140 : std::swap (_q40, _q41);
15090 : 1246 : if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
15091 : : {
15092 : 0 : {
15093 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
15094 : 0 : if (gimple_simplify_151 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
15095 : 0 : return true;
15096 : : }
15097 : : }
15098 : 1246 : if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
15099 : : {
15100 : 0 : {
15101 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
15102 : 0 : if (gimple_simplify_151 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
15103 : 0 : return true;
15104 : : }
15105 : : }
15106 : 4285173 : break;
15107 : : }
15108 : : default:;
15109 : : }
15110 : : }
15111 : : break;
15112 : : default:;
15113 : : }
15114 : : break;
15115 : : }
15116 : : default:;
15117 : : }
15118 : : }
15119 : : break;
15120 : 4285173 : default:;
15121 : : }
15122 : 4285173 : {
15123 : 4285173 : tree _p0_pops[1];
15124 : 4285173 : if (gimple_nop_convert (_p0, _p0_pops, valueize))
15125 : : {
15126 : 98014 : tree _q20 = _p0_pops[0];
15127 : 98014 : switch (TREE_CODE (_q20))
15128 : : {
15129 : 97982 : case SSA_NAME:
15130 : 97982 : if (gimple *_d1 = get_def (valueize, _q20))
15131 : : {
15132 : 97332 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
15133 : 17713 : switch (gimple_assign_rhs_code (_a1))
15134 : : {
15135 : 1386 : case BIT_AND_EXPR:
15136 : 1386 : {
15137 : 1386 : tree _q30 = gimple_assign_rhs1 (_a1);
15138 : 1386 : _q30 = do_valueize (valueize, _q30);
15139 : 1386 : tree _q31 = gimple_assign_rhs2 (_a1);
15140 : 1386 : _q31 = do_valueize (valueize, _q31);
15141 : 1386 : if (tree_swap_operands_p (_q30, _q31))
15142 : 45 : std::swap (_q30, _q31);
15143 : 1386 : {
15144 : 1386 : tree _q30_pops[1];
15145 : 1386 : if (gimple_nop_convert (_q30, _q30_pops, valueize))
15146 : : {
15147 : 71 : tree _q40 = _q30_pops[0];
15148 : 71 : switch (TREE_CODE (_q40))
15149 : : {
15150 : 71 : case SSA_NAME:
15151 : 71 : if (gimple *_d2 = get_def (valueize, _q40))
15152 : : {
15153 : 71 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
15154 : 92 : switch (gimple_assign_rhs_code (_a2))
15155 : : {
15156 : 0 : case BIT_IOR_EXPR:
15157 : 0 : {
15158 : 0 : tree _q50 = gimple_assign_rhs1 (_a2);
15159 : 0 : _q50 = do_valueize (valueize, _q50);
15160 : 0 : tree _q51 = gimple_assign_rhs2 (_a2);
15161 : 0 : _q51 = do_valueize (valueize, _q51);
15162 : 0 : if (tree_swap_operands_p (_q50, _q51))
15163 : 0 : std::swap (_q50, _q51);
15164 : 0 : {
15165 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q50, _q51, _q31, _p1 };
15166 : 0 : if (gimple_simplify_152 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15167 : 0 : return true;
15168 : : }
15169 : 0 : {
15170 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q51, _q50, _q31, _p1 };
15171 : 0 : if (gimple_simplify_152 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15172 : 0 : return true;
15173 : : }
15174 : 0 : break;
15175 : : }
15176 : 14 : case BIT_XOR_EXPR:
15177 : 14 : {
15178 : 14 : tree _q50 = gimple_assign_rhs1 (_a2);
15179 : 14 : _q50 = do_valueize (valueize, _q50);
15180 : 14 : tree _q51 = gimple_assign_rhs2 (_a2);
15181 : 14 : _q51 = do_valueize (valueize, _q51);
15182 : 14 : if (tree_swap_operands_p (_q50, _q51))
15183 : 0 : std::swap (_q50, _q51);
15184 : 14 : {
15185 : 14 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q50, _q51, _q31, _p1 };
15186 : 14 : if (gimple_simplify_152 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15187 : 0 : return true;
15188 : : }
15189 : 14 : {
15190 : 14 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q51, _q50, _q31, _p1 };
15191 : 14 : if (gimple_simplify_152 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15192 : 0 : return true;
15193 : : }
15194 : 14 : break;
15195 : : }
15196 : : default:;
15197 : : }
15198 : : }
15199 : : break;
15200 : : default:;
15201 : : }
15202 : : }
15203 : : }
15204 : 1386 : {
15205 : 1386 : tree _q31_pops[1];
15206 : 1386 : if (gimple_nop_convert (_q31, _q31_pops, valueize))
15207 : : {
15208 : 0 : tree _q50 = _q31_pops[0];
15209 : 0 : switch (TREE_CODE (_q50))
15210 : : {
15211 : 0 : case SSA_NAME:
15212 : 0 : if (gimple *_d2 = get_def (valueize, _q50))
15213 : : {
15214 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
15215 : 0 : switch (gimple_assign_rhs_code (_a2))
15216 : : {
15217 : 0 : case BIT_IOR_EXPR:
15218 : 0 : {
15219 : 0 : tree _q60 = gimple_assign_rhs1 (_a2);
15220 : 0 : _q60 = do_valueize (valueize, _q60);
15221 : 0 : tree _q61 = gimple_assign_rhs2 (_a2);
15222 : 0 : _q61 = do_valueize (valueize, _q61);
15223 : 0 : if (tree_swap_operands_p (_q60, _q61))
15224 : 0 : std::swap (_q60, _q61);
15225 : 0 : {
15226 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q50, _q60, _q61, _q30, _p1 };
15227 : 0 : if (gimple_simplify_152 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15228 : 0 : return true;
15229 : : }
15230 : 0 : {
15231 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q50, _q61, _q60, _q30, _p1 };
15232 : 0 : if (gimple_simplify_152 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15233 : 0 : return true;
15234 : : }
15235 : 0 : break;
15236 : : }
15237 : 0 : case BIT_XOR_EXPR:
15238 : 0 : {
15239 : 0 : tree _q60 = gimple_assign_rhs1 (_a2);
15240 : 0 : _q60 = do_valueize (valueize, _q60);
15241 : 0 : tree _q61 = gimple_assign_rhs2 (_a2);
15242 : 0 : _q61 = do_valueize (valueize, _q61);
15243 : 0 : if (tree_swap_operands_p (_q60, _q61))
15244 : 0 : std::swap (_q60, _q61);
15245 : 0 : {
15246 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q50, _q60, _q61, _q30, _p1 };
15247 : 0 : if (gimple_simplify_152 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15248 : 0 : return true;
15249 : : }
15250 : 0 : {
15251 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q50, _q61, _q60, _q30, _p1 };
15252 : 0 : if (gimple_simplify_152 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15253 : 0 : return true;
15254 : : }
15255 : 0 : break;
15256 : : }
15257 : : default:;
15258 : : }
15259 : : }
15260 : : break;
15261 : : default:;
15262 : : }
15263 : : }
15264 : : }
15265 : 1386 : switch (TREE_CODE (_q30))
15266 : : {
15267 : 1386 : case SSA_NAME:
15268 : 1386 : if (gimple *_d2 = get_def (valueize, _q30))
15269 : : {
15270 : 1276 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
15271 : 938 : switch (gimple_assign_rhs_code (_a2))
15272 : : {
15273 : 0 : case BIT_IOR_EXPR:
15274 : 0 : {
15275 : 0 : tree _q40 = gimple_assign_rhs1 (_a2);
15276 : 0 : _q40 = do_valueize (valueize, _q40);
15277 : 0 : tree _q41 = gimple_assign_rhs2 (_a2);
15278 : 0 : _q41 = do_valueize (valueize, _q41);
15279 : 0 : if (tree_swap_operands_p (_q40, _q41))
15280 : 0 : std::swap (_q40, _q41);
15281 : 0 : {
15282 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q30, _q40, _q41, _q31, _p1 };
15283 : 0 : if (gimple_simplify_153 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15284 : 0 : return true;
15285 : : }
15286 : 0 : {
15287 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q30, _q41, _q40, _q31, _p1 };
15288 : 0 : if (gimple_simplify_153 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15289 : 0 : return true;
15290 : : }
15291 : 0 : break;
15292 : : }
15293 : 0 : case BIT_XOR_EXPR:
15294 : 0 : {
15295 : 0 : tree _q40 = gimple_assign_rhs1 (_a2);
15296 : 0 : _q40 = do_valueize (valueize, _q40);
15297 : 0 : tree _q41 = gimple_assign_rhs2 (_a2);
15298 : 0 : _q41 = do_valueize (valueize, _q41);
15299 : 0 : if (tree_swap_operands_p (_q40, _q41))
15300 : 0 : std::swap (_q40, _q41);
15301 : 0 : {
15302 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q30, _q40, _q41, _q31, _p1 };
15303 : 0 : if (gimple_simplify_153 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15304 : 0 : return true;
15305 : : }
15306 : 0 : {
15307 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q30, _q41, _q40, _q31, _p1 };
15308 : 0 : if (gimple_simplify_153 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15309 : 0 : return true;
15310 : : }
15311 : 0 : break;
15312 : : }
15313 : : default:;
15314 : : }
15315 : : }
15316 : : break;
15317 : 1386 : default:;
15318 : : }
15319 : 1386 : switch (TREE_CODE (_q31))
15320 : : {
15321 : 661 : case SSA_NAME:
15322 : 661 : if (gimple *_d2 = get_def (valueize, _q31))
15323 : : {
15324 : 649 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
15325 : 606 : switch (gimple_assign_rhs_code (_a2))
15326 : : {
15327 : 0 : case BIT_IOR_EXPR:
15328 : 0 : {
15329 : 0 : tree _q50 = gimple_assign_rhs1 (_a2);
15330 : 0 : _q50 = do_valueize (valueize, _q50);
15331 : 0 : tree _q51 = gimple_assign_rhs2 (_a2);
15332 : 0 : _q51 = do_valueize (valueize, _q51);
15333 : 0 : if (tree_swap_operands_p (_q50, _q51))
15334 : 0 : std::swap (_q50, _q51);
15335 : 0 : {
15336 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q31, _q50, _q51, _q30, _p1 };
15337 : 0 : if (gimple_simplify_153 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15338 : 0 : return true;
15339 : : }
15340 : 0 : {
15341 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q31, _q51, _q50, _q30, _p1 };
15342 : 0 : if (gimple_simplify_153 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15343 : 0 : return true;
15344 : : }
15345 : 0 : break;
15346 : : }
15347 : 0 : case BIT_XOR_EXPR:
15348 : 0 : {
15349 : 0 : tree _q50 = gimple_assign_rhs1 (_a2);
15350 : 0 : _q50 = do_valueize (valueize, _q50);
15351 : 0 : tree _q51 = gimple_assign_rhs2 (_a2);
15352 : 0 : _q51 = do_valueize (valueize, _q51);
15353 : 0 : if (tree_swap_operands_p (_q50, _q51))
15354 : 0 : std::swap (_q50, _q51);
15355 : 0 : {
15356 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q31, _q50, _q51, _q30, _p1 };
15357 : 0 : if (gimple_simplify_153 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15358 : 0 : return true;
15359 : : }
15360 : 0 : {
15361 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q31, _q51, _q50, _q30, _p1 };
15362 : 0 : if (gimple_simplify_153 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15363 : 0 : return true;
15364 : : }
15365 : 0 : break;
15366 : : }
15367 : : default:;
15368 : : }
15369 : : }
15370 : : break;
15371 : : default:;
15372 : : }
15373 : 4285169 : break;
15374 : : }
15375 : 76 : case MULT_EXPR:
15376 : 76 : {
15377 : 76 : tree _q30 = gimple_assign_rhs1 (_a1);
15378 : 76 : _q30 = do_valueize (valueize, _q30);
15379 : 76 : tree _q31 = gimple_assign_rhs2 (_a1);
15380 : 76 : _q31 = do_valueize (valueize, _q31);
15381 : 76 : if (tree_swap_operands_p (_q30, _q31))
15382 : 0 : std::swap (_q30, _q31);
15383 : 76 : {
15384 : 76 : tree _q30_pops[1];
15385 : 76 : if (gimple_nop_convert (_q30, _q30_pops, valueize))
15386 : : {
15387 : 34 : tree _q40 = _q30_pops[0];
15388 : 34 : switch (TREE_CODE (_q31))
15389 : : {
15390 : 34 : case INTEGER_CST:
15391 : 34 : {
15392 : 34 : switch (TREE_CODE (_p1))
15393 : : {
15394 : 34 : case SSA_NAME:
15395 : 34 : if (gimple *_d2 = get_def (valueize, _p1))
15396 : : {
15397 : 34 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
15398 : 4 : switch (gimple_assign_rhs_code (_a2))
15399 : : {
15400 : 4 : case LSHIFT_EXPR:
15401 : 4 : {
15402 : 4 : tree _q70 = gimple_assign_rhs1 (_a2);
15403 : 4 : _q70 = do_valueize (valueize, _q70);
15404 : 4 : tree _q71 = gimple_assign_rhs2 (_a2);
15405 : 4 : _q71 = do_valueize (valueize, _q71);
15406 : 4 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
15407 : : {
15408 : 4 : switch (TREE_CODE (_q71))
15409 : : {
15410 : 4 : case INTEGER_CST:
15411 : 4 : {
15412 : 4 : {
15413 : 4 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31, _p1, _q71 };
15414 : 4 : if (gimple_simplify_39 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15415 : 4 : return true;
15416 : : }
15417 : 0 : break;
15418 : : }
15419 : : default:;
15420 : : }
15421 : : }
15422 : : break;
15423 : : }
15424 : : default:;
15425 : : }
15426 : : }
15427 : : break;
15428 : 30 : default:;
15429 : : }
15430 : 30 : {
15431 : 30 : tree _p1_pops[1];
15432 : 30 : if (gimple_nop_convert (_p1, _p1_pops, valueize))
15433 : : {
15434 : 0 : tree _q70 = _p1_pops[0];
15435 : 0 : switch (TREE_CODE (_q70))
15436 : : {
15437 : 0 : case SSA_NAME:
15438 : 0 : if (gimple *_d2 = get_def (valueize, _q70))
15439 : : {
15440 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
15441 : 0 : switch (gimple_assign_rhs_code (_a2))
15442 : : {
15443 : 0 : case MULT_EXPR:
15444 : 0 : {
15445 : 0 : tree _q80 = gimple_assign_rhs1 (_a2);
15446 : 0 : _q80 = do_valueize (valueize, _q80);
15447 : 0 : tree _q81 = gimple_assign_rhs2 (_a2);
15448 : 0 : _q81 = do_valueize (valueize, _q81);
15449 : 0 : if (tree_swap_operands_p (_q80, _q81))
15450 : 0 : std::swap (_q80, _q81);
15451 : 0 : {
15452 : 0 : tree _q80_pops[1];
15453 : 0 : if (gimple_nop_convert (_q80, _q80_pops, valueize))
15454 : : {
15455 : 0 : tree _q90 = _q80_pops[0];
15456 : 0 : switch (TREE_CODE (_q81))
15457 : : {
15458 : 0 : case INTEGER_CST:
15459 : 0 : {
15460 : 0 : {
15461 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31, _p1, _q70, _q90, _q81 };
15462 : 0 : if (gimple_simplify_38 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15463 : 0 : return true;
15464 : : }
15465 : 0 : break;
15466 : : }
15467 : : default:;
15468 : : }
15469 : : }
15470 : : }
15471 : 0 : break;
15472 : : }
15473 : : default:;
15474 : : }
15475 : : }
15476 : : break;
15477 : : default:;
15478 : : }
15479 : : }
15480 : : }
15481 : 30 : if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
15482 : : {
15483 : 0 : {
15484 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31 };
15485 : 0 : if (gimple_simplify_40 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15486 : 0 : return true;
15487 : : }
15488 : : }
15489 : : break;
15490 : : }
15491 : : default:;
15492 : : }
15493 : : }
15494 : : }
15495 : 72 : break;
15496 : : }
15497 : : default:;
15498 : : }
15499 : : }
15500 : : break;
15501 : : default:;
15502 : : }
15503 : : }
15504 : : }
15505 : 4285169 : switch (TREE_CODE (_p1))
15506 : : {
15507 : 3400620 : case SSA_NAME:
15508 : 3400620 : if (gimple *_d1 = get_def (valueize, _p1))
15509 : : {
15510 : 2780898 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
15511 : 2721077 : switch (gimple_assign_rhs_code (_a1))
15512 : : {
15513 : 177434 : case BIT_AND_EXPR:
15514 : 177434 : {
15515 : 177434 : tree _q30 = gimple_assign_rhs1 (_a1);
15516 : 177434 : _q30 = do_valueize (valueize, _q30);
15517 : 177434 : tree _q31 = gimple_assign_rhs2 (_a1);
15518 : 177434 : _q31 = do_valueize (valueize, _q31);
15519 : 177434 : if (tree_swap_operands_p (_q30, _q31))
15520 : 8620 : std::swap (_q30, _q31);
15521 : 177434 : {
15522 : 177434 : tree _q30_pops[1];
15523 : 177434 : if (gimple_nop_convert (_q30, _q30_pops, valueize))
15524 : : {
15525 : 1040 : tree _q40 = _q30_pops[0];
15526 : 1040 : switch (TREE_CODE (_q40))
15527 : : {
15528 : 1040 : case SSA_NAME:
15529 : 1040 : if (gimple *_d2 = get_def (valueize, _q40))
15530 : : {
15531 : 1040 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
15532 : 625 : switch (gimple_assign_rhs_code (_a2))
15533 : : {
15534 : 0 : case BIT_IOR_EXPR:
15535 : 0 : {
15536 : 0 : tree _q50 = gimple_assign_rhs1 (_a2);
15537 : 0 : _q50 = do_valueize (valueize, _q50);
15538 : 0 : tree _q51 = gimple_assign_rhs2 (_a2);
15539 : 0 : _q51 = do_valueize (valueize, _q51);
15540 : 0 : if (tree_swap_operands_p (_q50, _q51))
15541 : 0 : std::swap (_q50, _q51);
15542 : 0 : {
15543 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _q40, _q50, _q51, _q31, _p0 };
15544 : 0 : if (gimple_simplify_147 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15545 : 0 : return true;
15546 : : }
15547 : 0 : {
15548 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _q40, _q51, _q50, _q31, _p0 };
15549 : 0 : if (gimple_simplify_147 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15550 : 0 : return true;
15551 : : }
15552 : 0 : break;
15553 : : }
15554 : 0 : case BIT_XOR_EXPR:
15555 : 0 : {
15556 : 0 : tree _q50 = gimple_assign_rhs1 (_a2);
15557 : 0 : _q50 = do_valueize (valueize, _q50);
15558 : 0 : tree _q51 = gimple_assign_rhs2 (_a2);
15559 : 0 : _q51 = do_valueize (valueize, _q51);
15560 : 0 : if (tree_swap_operands_p (_q50, _q51))
15561 : 0 : std::swap (_q50, _q51);
15562 : 0 : {
15563 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _q40, _q50, _q51, _q31, _p0 };
15564 : 0 : if (gimple_simplify_147 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15565 : 0 : return true;
15566 : : }
15567 : 0 : {
15568 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _q40, _q51, _q50, _q31, _p0 };
15569 : 0 : if (gimple_simplify_147 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15570 : 0 : return true;
15571 : : }
15572 : 0 : break;
15573 : : }
15574 : : default:;
15575 : : }
15576 : : }
15577 : : break;
15578 : : default:;
15579 : : }
15580 : : }
15581 : : }
15582 : 177434 : {
15583 : 177434 : tree _q31_pops[1];
15584 : 177434 : if (gimple_nop_convert (_q31, _q31_pops, valueize))
15585 : : {
15586 : 862 : tree _q50 = _q31_pops[0];
15587 : 862 : switch (TREE_CODE (_q50))
15588 : : {
15589 : 862 : case SSA_NAME:
15590 : 862 : if (gimple *_d2 = get_def (valueize, _q50))
15591 : : {
15592 : 846 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
15593 : 751 : switch (gimple_assign_rhs_code (_a2))
15594 : : {
15595 : 0 : case BIT_IOR_EXPR:
15596 : 0 : {
15597 : 0 : tree _q60 = gimple_assign_rhs1 (_a2);
15598 : 0 : _q60 = do_valueize (valueize, _q60);
15599 : 0 : tree _q61 = gimple_assign_rhs2 (_a2);
15600 : 0 : _q61 = do_valueize (valueize, _q61);
15601 : 0 : if (tree_swap_operands_p (_q60, _q61))
15602 : 0 : std::swap (_q60, _q61);
15603 : 0 : {
15604 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _q50, _q60, _q61, _q30, _p0 };
15605 : 0 : if (gimple_simplify_147 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15606 : 0 : return true;
15607 : : }
15608 : 0 : {
15609 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _q50, _q61, _q60, _q30, _p0 };
15610 : 0 : if (gimple_simplify_147 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15611 : 0 : return true;
15612 : : }
15613 : 0 : break;
15614 : : }
15615 : 23 : case BIT_XOR_EXPR:
15616 : 23 : {
15617 : 23 : tree _q60 = gimple_assign_rhs1 (_a2);
15618 : 23 : _q60 = do_valueize (valueize, _q60);
15619 : 23 : tree _q61 = gimple_assign_rhs2 (_a2);
15620 : 23 : _q61 = do_valueize (valueize, _q61);
15621 : 23 : if (tree_swap_operands_p (_q60, _q61))
15622 : 2 : std::swap (_q60, _q61);
15623 : 23 : {
15624 : 23 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _q50, _q60, _q61, _q30, _p0 };
15625 : 23 : if (gimple_simplify_147 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15626 : 0 : return true;
15627 : : }
15628 : 23 : {
15629 : 23 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _q50, _q61, _q60, _q30, _p0 };
15630 : 23 : if (gimple_simplify_147 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15631 : 0 : return true;
15632 : : }
15633 : 23 : break;
15634 : : }
15635 : : default:;
15636 : : }
15637 : : }
15638 : : break;
15639 : : default:;
15640 : : }
15641 : : }
15642 : : }
15643 : 177434 : switch (TREE_CODE (_q30))
15644 : : {
15645 : 177434 : case SSA_NAME:
15646 : 177434 : if (gimple *_d2 = get_def (valueize, _q30))
15647 : : {
15648 : 169710 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
15649 : 176722 : switch (gimple_assign_rhs_code (_a2))
15650 : : {
15651 : 103179 : case BIT_IOR_EXPR:
15652 : 103179 : {
15653 : 103179 : tree _q40 = gimple_assign_rhs1 (_a2);
15654 : 103179 : _q40 = do_valueize (valueize, _q40);
15655 : 103179 : tree _q41 = gimple_assign_rhs2 (_a2);
15656 : 103179 : _q41 = do_valueize (valueize, _q41);
15657 : 103179 : if (tree_swap_operands_p (_q40, _q41))
15658 : 6626 : std::swap (_q40, _q41);
15659 : 103179 : {
15660 : 103179 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _q30, _q40, _q41, _q31, _p0 };
15661 : 103179 : if (gimple_simplify_148 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15662 : 0 : return true;
15663 : : }
15664 : 103179 : {
15665 : 103179 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _q30, _q41, _q40, _q31, _p0 };
15666 : 103179 : if (gimple_simplify_148 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15667 : 0 : return true;
15668 : : }
15669 : 103179 : break;
15670 : : }
15671 : 1075 : case BIT_XOR_EXPR:
15672 : 1075 : {
15673 : 1075 : tree _q40 = gimple_assign_rhs1 (_a2);
15674 : 1075 : _q40 = do_valueize (valueize, _q40);
15675 : 1075 : tree _q41 = gimple_assign_rhs2 (_a2);
15676 : 1075 : _q41 = do_valueize (valueize, _q41);
15677 : 1075 : if (tree_swap_operands_p (_q40, _q41))
15678 : 111 : std::swap (_q40, _q41);
15679 : 1075 : {
15680 : 1075 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _q30, _q40, _q41, _q31, _p0 };
15681 : 1075 : if (gimple_simplify_148 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15682 : 14 : return true;
15683 : : }
15684 : 1061 : {
15685 : 1061 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _q30, _q41, _q40, _q31, _p0 };
15686 : 1061 : if (gimple_simplify_148 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15687 : 7 : return true;
15688 : : }
15689 : 1054 : break;
15690 : : }
15691 : : default:;
15692 : : }
15693 : : }
15694 : : break;
15695 : 177413 : default:;
15696 : : }
15697 : 177413 : switch (TREE_CODE (_q31))
15698 : : {
15699 : 142806 : case SSA_NAME:
15700 : 142806 : if (gimple *_d2 = get_def (valueize, _q31))
15701 : : {
15702 : 138619 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
15703 : 137629 : switch (gimple_assign_rhs_code (_a2))
15704 : : {
15705 : 192 : case BIT_IOR_EXPR:
15706 : 192 : {
15707 : 192 : tree _q50 = gimple_assign_rhs1 (_a2);
15708 : 192 : _q50 = do_valueize (valueize, _q50);
15709 : 192 : tree _q51 = gimple_assign_rhs2 (_a2);
15710 : 192 : _q51 = do_valueize (valueize, _q51);
15711 : 192 : if (tree_swap_operands_p (_q50, _q51))
15712 : 24 : std::swap (_q50, _q51);
15713 : 192 : {
15714 : 192 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _q31, _q50, _q51, _q30, _p0 };
15715 : 192 : if (gimple_simplify_148 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15716 : 0 : return true;
15717 : : }
15718 : 192 : {
15719 : 192 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _q31, _q51, _q50, _q30, _p0 };
15720 : 192 : if (gimple_simplify_148 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15721 : 0 : return true;
15722 : : }
15723 : 192 : break;
15724 : : }
15725 : 2660 : case BIT_XOR_EXPR:
15726 : 2660 : {
15727 : 2660 : tree _q50 = gimple_assign_rhs1 (_a2);
15728 : 2660 : _q50 = do_valueize (valueize, _q50);
15729 : 2660 : tree _q51 = gimple_assign_rhs2 (_a2);
15730 : 2660 : _q51 = do_valueize (valueize, _q51);
15731 : 2660 : if (tree_swap_operands_p (_q50, _q51))
15732 : 0 : std::swap (_q50, _q51);
15733 : 2660 : {
15734 : 2660 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _q31, _q50, _q51, _q30, _p0 };
15735 : 2660 : if (gimple_simplify_148 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15736 : 7 : return true;
15737 : : }
15738 : 2653 : {
15739 : 2653 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _q31, _q51, _q50, _q30, _p0 };
15740 : 2653 : if (gimple_simplify_148 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15741 : 0 : return true;
15742 : : }
15743 : 2653 : break;
15744 : : }
15745 : : default:;
15746 : : }
15747 : : }
15748 : : break;
15749 : : default:;
15750 : : }
15751 : 4285141 : break;
15752 : : }
15753 : : default:;
15754 : : }
15755 : : }
15756 : : break;
15757 : 4285141 : default:;
15758 : : }
15759 : 4285141 : {
15760 : 4285141 : tree _p1_pops[1];
15761 : 4285141 : if (gimple_nop_convert (_p1, _p1_pops, valueize))
15762 : : {
15763 : 40500 : tree _q30 = _p1_pops[0];
15764 : 40500 : switch (TREE_CODE (_q30))
15765 : : {
15766 : 40420 : case SSA_NAME:
15767 : 40420 : if (gimple *_d1 = get_def (valueize, _q30))
15768 : : {
15769 : 39407 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
15770 : 32360 : switch (gimple_assign_rhs_code (_a1))
15771 : : {
15772 : 1753 : case BIT_AND_EXPR:
15773 : 1753 : {
15774 : 1753 : tree _q40 = gimple_assign_rhs1 (_a1);
15775 : 1753 : _q40 = do_valueize (valueize, _q40);
15776 : 1753 : tree _q41 = gimple_assign_rhs2 (_a1);
15777 : 1753 : _q41 = do_valueize (valueize, _q41);
15778 : 1753 : if (tree_swap_operands_p (_q40, _q41))
15779 : 63 : std::swap (_q40, _q41);
15780 : 1753 : {
15781 : 1753 : tree _q40_pops[1];
15782 : 1753 : if (gimple_nop_convert (_q40, _q40_pops, valueize))
15783 : : {
15784 : 85 : tree _q50 = _q40_pops[0];
15785 : 85 : switch (TREE_CODE (_q50))
15786 : : {
15787 : 64 : case SSA_NAME:
15788 : 64 : if (gimple *_d2 = get_def (valueize, _q50))
15789 : : {
15790 : 64 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
15791 : 128 : switch (gimple_assign_rhs_code (_a2))
15792 : : {
15793 : 0 : case BIT_IOR_EXPR:
15794 : 0 : {
15795 : 0 : tree _q60 = gimple_assign_rhs1 (_a2);
15796 : 0 : _q60 = do_valueize (valueize, _q60);
15797 : 0 : tree _q61 = gimple_assign_rhs2 (_a2);
15798 : 0 : _q61 = do_valueize (valueize, _q61);
15799 : 0 : if (tree_swap_operands_p (_q60, _q61))
15800 : 0 : std::swap (_q60, _q61);
15801 : 0 : {
15802 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q50, _q60, _q61, _q41, _p0 };
15803 : 0 : if (gimple_simplify_152 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15804 : 0 : return true;
15805 : : }
15806 : 0 : {
15807 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q50, _q61, _q60, _q41, _p0 };
15808 : 0 : if (gimple_simplify_152 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15809 : 0 : return true;
15810 : : }
15811 : 0 : break;
15812 : : }
15813 : 0 : case BIT_XOR_EXPR:
15814 : 0 : {
15815 : 0 : tree _q60 = gimple_assign_rhs1 (_a2);
15816 : 0 : _q60 = do_valueize (valueize, _q60);
15817 : 0 : tree _q61 = gimple_assign_rhs2 (_a2);
15818 : 0 : _q61 = do_valueize (valueize, _q61);
15819 : 0 : if (tree_swap_operands_p (_q60, _q61))
15820 : 0 : std::swap (_q60, _q61);
15821 : 0 : {
15822 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q50, _q60, _q61, _q41, _p0 };
15823 : 0 : if (gimple_simplify_152 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15824 : 0 : return true;
15825 : : }
15826 : 0 : {
15827 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q50, _q61, _q60, _q41, _p0 };
15828 : 0 : if (gimple_simplify_152 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15829 : 0 : return true;
15830 : : }
15831 : 0 : break;
15832 : : }
15833 : : default:;
15834 : : }
15835 : : }
15836 : : break;
15837 : : default:;
15838 : : }
15839 : : }
15840 : : }
15841 : 1753 : {
15842 : 1753 : tree _q41_pops[1];
15843 : 1753 : if (gimple_nop_convert (_q41, _q41_pops, valueize))
15844 : : {
15845 : 0 : tree _q60 = _q41_pops[0];
15846 : 0 : switch (TREE_CODE (_q60))
15847 : : {
15848 : 0 : case SSA_NAME:
15849 : 0 : if (gimple *_d2 = get_def (valueize, _q60))
15850 : : {
15851 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
15852 : 0 : switch (gimple_assign_rhs_code (_a2))
15853 : : {
15854 : 0 : case BIT_IOR_EXPR:
15855 : 0 : {
15856 : 0 : tree _q70 = gimple_assign_rhs1 (_a2);
15857 : 0 : _q70 = do_valueize (valueize, _q70);
15858 : 0 : tree _q71 = gimple_assign_rhs2 (_a2);
15859 : 0 : _q71 = do_valueize (valueize, _q71);
15860 : 0 : if (tree_swap_operands_p (_q70, _q71))
15861 : 0 : std::swap (_q70, _q71);
15862 : 0 : {
15863 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q60, _q70, _q71, _q40, _p0 };
15864 : 0 : if (gimple_simplify_152 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15865 : 0 : return true;
15866 : : }
15867 : 0 : {
15868 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q60, _q71, _q70, _q40, _p0 };
15869 : 0 : if (gimple_simplify_152 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15870 : 0 : return true;
15871 : : }
15872 : 0 : break;
15873 : : }
15874 : 0 : case BIT_XOR_EXPR:
15875 : 0 : {
15876 : 0 : tree _q70 = gimple_assign_rhs1 (_a2);
15877 : 0 : _q70 = do_valueize (valueize, _q70);
15878 : 0 : tree _q71 = gimple_assign_rhs2 (_a2);
15879 : 0 : _q71 = do_valueize (valueize, _q71);
15880 : 0 : if (tree_swap_operands_p (_q70, _q71))
15881 : 0 : std::swap (_q70, _q71);
15882 : 0 : {
15883 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q60, _q70, _q71, _q40, _p0 };
15884 : 0 : if (gimple_simplify_152 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15885 : 0 : return true;
15886 : : }
15887 : 0 : {
15888 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q60, _q71, _q70, _q40, _p0 };
15889 : 0 : if (gimple_simplify_152 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15890 : 0 : return true;
15891 : : }
15892 : 0 : break;
15893 : : }
15894 : : default:;
15895 : : }
15896 : : }
15897 : : break;
15898 : : default:;
15899 : : }
15900 : : }
15901 : : }
15902 : 1753 : switch (TREE_CODE (_q40))
15903 : : {
15904 : 1753 : case SSA_NAME:
15905 : 1753 : if (gimple *_d2 = get_def (valueize, _q40))
15906 : : {
15907 : 1702 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
15908 : 1252 : switch (gimple_assign_rhs_code (_a2))
15909 : : {
15910 : 0 : case BIT_IOR_EXPR:
15911 : 0 : {
15912 : 0 : tree _q50 = gimple_assign_rhs1 (_a2);
15913 : 0 : _q50 = do_valueize (valueize, _q50);
15914 : 0 : tree _q51 = gimple_assign_rhs2 (_a2);
15915 : 0 : _q51 = do_valueize (valueize, _q51);
15916 : 0 : if (tree_swap_operands_p (_q50, _q51))
15917 : 0 : std::swap (_q50, _q51);
15918 : 0 : {
15919 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q40, _q50, _q51, _q41, _p0 };
15920 : 0 : if (gimple_simplify_153 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15921 : 0 : return true;
15922 : : }
15923 : 0 : {
15924 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q40, _q51, _q50, _q41, _p0 };
15925 : 0 : if (gimple_simplify_153 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15926 : 0 : return true;
15927 : : }
15928 : 0 : break;
15929 : : }
15930 : 14 : case BIT_XOR_EXPR:
15931 : 14 : {
15932 : 14 : tree _q50 = gimple_assign_rhs1 (_a2);
15933 : 14 : _q50 = do_valueize (valueize, _q50);
15934 : 14 : tree _q51 = gimple_assign_rhs2 (_a2);
15935 : 14 : _q51 = do_valueize (valueize, _q51);
15936 : 14 : if (tree_swap_operands_p (_q50, _q51))
15937 : 7 : std::swap (_q50, _q51);
15938 : 14 : {
15939 : 14 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q40, _q50, _q51, _q41, _p0 };
15940 : 14 : if (gimple_simplify_153 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15941 : 7 : return true;
15942 : : }
15943 : 7 : {
15944 : 7 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q40, _q51, _q50, _q41, _p0 };
15945 : 7 : if (gimple_simplify_153 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15946 : 0 : return true;
15947 : : }
15948 : 7 : break;
15949 : : }
15950 : : default:;
15951 : : }
15952 : : }
15953 : : break;
15954 : 1746 : default:;
15955 : : }
15956 : 1746 : switch (TREE_CODE (_q41))
15957 : : {
15958 : 920 : case SSA_NAME:
15959 : 920 : if (gimple *_d2 = get_def (valueize, _q41))
15960 : : {
15961 : 920 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
15962 : 673 : switch (gimple_assign_rhs_code (_a2))
15963 : : {
15964 : 0 : case BIT_IOR_EXPR:
15965 : 0 : {
15966 : 0 : tree _q60 = gimple_assign_rhs1 (_a2);
15967 : 0 : _q60 = do_valueize (valueize, _q60);
15968 : 0 : tree _q61 = gimple_assign_rhs2 (_a2);
15969 : 0 : _q61 = do_valueize (valueize, _q61);
15970 : 0 : if (tree_swap_operands_p (_q60, _q61))
15971 : 0 : std::swap (_q60, _q61);
15972 : 0 : {
15973 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q41, _q60, _q61, _q40, _p0 };
15974 : 0 : if (gimple_simplify_153 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15975 : 0 : return true;
15976 : : }
15977 : 0 : {
15978 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q41, _q61, _q60, _q40, _p0 };
15979 : 0 : if (gimple_simplify_153 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15980 : 0 : return true;
15981 : : }
15982 : 0 : break;
15983 : : }
15984 : 0 : case BIT_XOR_EXPR:
15985 : 0 : {
15986 : 0 : tree _q60 = gimple_assign_rhs1 (_a2);
15987 : 0 : _q60 = do_valueize (valueize, _q60);
15988 : 0 : tree _q61 = gimple_assign_rhs2 (_a2);
15989 : 0 : _q61 = do_valueize (valueize, _q61);
15990 : 0 : if (tree_swap_operands_p (_q60, _q61))
15991 : 0 : std::swap (_q60, _q61);
15992 : 0 : {
15993 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q41, _q60, _q61, _q40, _p0 };
15994 : 0 : if (gimple_simplify_153 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15995 : 0 : return true;
15996 : : }
15997 : 0 : {
15998 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q41, _q61, _q60, _q40, _p0 };
15999 : 0 : if (gimple_simplify_153 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
16000 : 0 : return true;
16001 : : }
16002 : 0 : break;
16003 : : }
16004 : : default:;
16005 : : }
16006 : : }
16007 : : break;
16008 : : default:;
16009 : : }
16010 : 4285134 : break;
16011 : : }
16012 : : default:;
16013 : : }
16014 : : }
16015 : : break;
16016 : : default:;
16017 : : }
16018 : : }
16019 : : }
16020 : 4285134 : switch (TREE_CODE (_p0))
16021 : : {
16022 : 4228515 : case SSA_NAME:
16023 : 4228515 : if (gimple *_d1 = get_def (valueize, _p0))
16024 : : {
16025 : 3377063 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
16026 : 3617383 : switch (gimple_assign_rhs_code (_a1))
16027 : : {
16028 : 228687 : case BIT_IOR_EXPR:
16029 : 228687 : {
16030 : 228687 : tree _q20 = gimple_assign_rhs1 (_a1);
16031 : 228687 : _q20 = do_valueize (valueize, _q20);
16032 : 228687 : tree _q21 = gimple_assign_rhs2 (_a1);
16033 : 228687 : _q21 = do_valueize (valueize, _q21);
16034 : 228687 : if (tree_swap_operands_p (_q20, _q21))
16035 : 8256 : std::swap (_q20, _q21);
16036 : 228687 : if (CONSTANT_CLASS_P (_q21))
16037 : : {
16038 : 4208 : if (CONSTANT_CLASS_P (_p1))
16039 : : {
16040 : 2858 : {
16041 : 2858 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
16042 : 2858 : if (gimple_simplify_33 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
16043 : 2858 : return true;
16044 : : }
16045 : : }
16046 : : }
16047 : 4279330 : break;
16048 : : }
16049 : 439 : case COND_EXPR:
16050 : 439 : {
16051 : 439 : tree _q20 = gimple_assign_rhs1 (_a1);
16052 : 439 : _q20 = do_valueize (valueize, _q20);
16053 : 439 : tree _q21 = gimple_assign_rhs2 (_a1);
16054 : 439 : _q21 = do_valueize (valueize, _q21);
16055 : 439 : tree _q22 = gimple_assign_rhs3 (_a1);
16056 : 439 : _q22 = do_valueize (valueize, _q22);
16057 : 439 : if (integer_zerop (_q22))
16058 : : {
16059 : 307 : switch (TREE_CODE (_p1))
16060 : : {
16061 : 283 : case SSA_NAME:
16062 : 283 : if (gimple *_d2 = get_def (valueize, _p1))
16063 : : {
16064 : 283 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
16065 : 88 : switch (gimple_assign_rhs_code (_a2))
16066 : : {
16067 : 79 : case COND_EXPR:
16068 : 79 : {
16069 : 79 : tree _q60 = gimple_assign_rhs1 (_a2);
16070 : 79 : _q60 = do_valueize (valueize, _q60);
16071 : 79 : tree _q61 = gimple_assign_rhs2 (_a2);
16072 : 79 : _q61 = do_valueize (valueize, _q61);
16073 : 79 : tree _q62 = gimple_assign_rhs3 (_a2);
16074 : 79 : _q62 = do_valueize (valueize, _q62);
16075 : 79 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
16076 : : {
16077 : 4 : if (integer_zerop (_q61))
16078 : : {
16079 : 4 : {
16080 : 4 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q62 };
16081 : 4 : const enum tree_code op = BIT_IOR_EXPR;
16082 : 4 : gimple_seq *lseq = seq;
16083 : 4 : if (lseq
16084 : 2 : && (!single_use (captures[0])
16085 : 2 : || !single_use (captures[3])))
16086 : 2 : lseq = NULL;
16087 : 4 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2085;
16088 : 4 : {
16089 : 4 : res_op->set_op (COND_EXPR, type, 3);
16090 : 4 : res_op->ops[0] = captures[1];
16091 : 4 : res_op->ops[0] = unshare_expr (res_op->ops[0]);
16092 : 4 : res_op->ops[1] = captures[2];
16093 : 4 : res_op->ops[2] = captures[4];
16094 : 4 : res_op->resimplify (lseq, valueize);
16095 : 4 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1029, __FILE__, __LINE__, true);
16096 : 4 : return true;
16097 : : }
16098 : 0 : next_after_fail2085:;
16099 : : }
16100 : : }
16101 : : }
16102 : : break;
16103 : : }
16104 : : default:;
16105 : : }
16106 : : }
16107 : : break;
16108 : : default:;
16109 : : }
16110 : : }
16111 : 435 : if (integer_zerop (_q21))
16112 : : {
16113 : 11 : switch (TREE_CODE (_p1))
16114 : : {
16115 : 11 : case SSA_NAME:
16116 : 11 : if (gimple *_d2 = get_def (valueize, _p1))
16117 : : {
16118 : 11 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
16119 : 19 : switch (gimple_assign_rhs_code (_a2))
16120 : : {
16121 : 0 : case COND_EXPR:
16122 : 0 : {
16123 : 0 : tree _q60 = gimple_assign_rhs1 (_a2);
16124 : 0 : _q60 = do_valueize (valueize, _q60);
16125 : 0 : tree _q61 = gimple_assign_rhs2 (_a2);
16126 : 0 : _q61 = do_valueize (valueize, _q61);
16127 : 0 : tree _q62 = gimple_assign_rhs3 (_a2);
16128 : 0 : _q62 = do_valueize (valueize, _q62);
16129 : 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
16130 : : {
16131 : 0 : if (integer_zerop (_q62))
16132 : : {
16133 : 0 : {
16134 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q61, _p0, _q22 };
16135 : 0 : const enum tree_code op = BIT_IOR_EXPR;
16136 : 0 : gimple_seq *lseq = seq;
16137 : 0 : if (lseq
16138 : 0 : && (!single_use (captures[0])
16139 : 0 : || !single_use (captures[3])))
16140 : 0 : lseq = NULL;
16141 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2086;
16142 : 0 : {
16143 : 0 : res_op->set_op (COND_EXPR, type, 3);
16144 : 0 : res_op->ops[0] = captures[1];
16145 : 0 : res_op->ops[0] = unshare_expr (res_op->ops[0]);
16146 : 0 : res_op->ops[1] = captures[2];
16147 : 0 : res_op->ops[2] = captures[4];
16148 : 0 : res_op->resimplify (lseq, valueize);
16149 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1029, __FILE__, __LINE__, true);
16150 : 0 : return true;
16151 : : }
16152 : 0 : next_after_fail2086:;
16153 : : }
16154 : : }
16155 : : }
16156 : : break;
16157 : : }
16158 : : default:;
16159 : : }
16160 : : }
16161 : : break;
16162 : : default:;
16163 : : }
16164 : : }
16165 : 435 : switch (TREE_CODE (_q20))
16166 : : {
16167 : 435 : case SSA_NAME:
16168 : 435 : if (gimple *_d2 = get_def (valueize, _q20))
16169 : : {
16170 : 428 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
16171 : 428 : switch (gimple_assign_rhs_code (_a2))
16172 : : {
16173 : 88 : case LT_EXPR:
16174 : 88 : {
16175 : 88 : tree _q30 = gimple_assign_rhs1 (_a2);
16176 : 88 : _q30 = do_valueize (valueize, _q30);
16177 : 88 : tree _q31 = gimple_assign_rhs2 (_a2);
16178 : 88 : _q31 = do_valueize (valueize, _q31);
16179 : 88 : if (zerop (_q22))
16180 : : {
16181 : 88 : switch (TREE_CODE (_p1))
16182 : : {
16183 : 88 : case SSA_NAME:
16184 : 88 : if (gimple *_d3 = get_def (valueize, _p1))
16185 : : {
16186 : 88 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
16187 : 68 : switch (gimple_assign_rhs_code (_a3))
16188 : : {
16189 : 68 : case COND_EXPR:
16190 : 68 : {
16191 : 68 : tree _q80 = gimple_assign_rhs1 (_a3);
16192 : 68 : _q80 = do_valueize (valueize, _q80);
16193 : 68 : tree _q81 = gimple_assign_rhs2 (_a3);
16194 : 68 : _q81 = do_valueize (valueize, _q81);
16195 : 68 : tree _q82 = gimple_assign_rhs3 (_a3);
16196 : 68 : _q82 = do_valueize (valueize, _q82);
16197 : 68 : switch (TREE_CODE (_q80))
16198 : : {
16199 : 68 : case SSA_NAME:
16200 : 68 : if (gimple *_d4 = get_def (valueize, _q80))
16201 : : {
16202 : 68 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
16203 : 68 : switch (gimple_assign_rhs_code (_a4))
16204 : : {
16205 : 68 : case GE_EXPR:
16206 : 68 : {
16207 : 68 : tree _q90 = gimple_assign_rhs1 (_a4);
16208 : 68 : _q90 = do_valueize (valueize, _q90);
16209 : 68 : tree _q91 = gimple_assign_rhs2 (_a4);
16210 : 68 : _q91 = do_valueize (valueize, _q91);
16211 : 68 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
16212 : : {
16213 : 59 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
16214 : : {
16215 : 59 : if (zerop (_q82))
16216 : : {
16217 : 59 : {
16218 : 59 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
16219 : 59 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LT_EXPR, GE_EXPR))
16220 : 6 : return true;
16221 : : }
16222 : : }
16223 : : }
16224 : : }
16225 : : break;
16226 : : }
16227 : : default:;
16228 : : }
16229 : : }
16230 : : break;
16231 : 0 : case GE_EXPR:
16232 : 0 : {
16233 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
16234 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
16235 : 0 : || is_gimple_min_invariant (_q90)))
16236 : : {
16237 : 0 : _q90 = do_valueize (valueize, _q90);
16238 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
16239 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
16240 : 0 : || is_gimple_min_invariant (_q91)))
16241 : : {
16242 : 0 : _q91 = do_valueize (valueize, _q91);
16243 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
16244 : : {
16245 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
16246 : : {
16247 : 0 : if (zerop (_q82))
16248 : : {
16249 : 0 : {
16250 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
16251 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LT_EXPR, GE_EXPR))
16252 : 0 : return true;
16253 : : }
16254 : : }
16255 : : }
16256 : : }
16257 : : }
16258 : : }
16259 : : break;
16260 : : }
16261 : : default:;
16262 : : }
16263 : : break;
16264 : : }
16265 : : default:;
16266 : : }
16267 : : }
16268 : : break;
16269 : : default:;
16270 : : }
16271 : : }
16272 : : break;
16273 : : }
16274 : 26 : case LE_EXPR:
16275 : 26 : {
16276 : 26 : tree _q30 = gimple_assign_rhs1 (_a2);
16277 : 26 : _q30 = do_valueize (valueize, _q30);
16278 : 26 : tree _q31 = gimple_assign_rhs2 (_a2);
16279 : 26 : _q31 = do_valueize (valueize, _q31);
16280 : 26 : if (zerop (_q22))
16281 : : {
16282 : 26 : switch (TREE_CODE (_p1))
16283 : : {
16284 : 26 : case SSA_NAME:
16285 : 26 : if (gimple *_d3 = get_def (valueize, _p1))
16286 : : {
16287 : 26 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
16288 : 6 : switch (gimple_assign_rhs_code (_a3))
16289 : : {
16290 : 0 : case COND_EXPR:
16291 : 0 : {
16292 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
16293 : 0 : _q80 = do_valueize (valueize, _q80);
16294 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
16295 : 0 : _q81 = do_valueize (valueize, _q81);
16296 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
16297 : 0 : _q82 = do_valueize (valueize, _q82);
16298 : 0 : switch (TREE_CODE (_q80))
16299 : : {
16300 : 0 : case SSA_NAME:
16301 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
16302 : : {
16303 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
16304 : 0 : switch (gimple_assign_rhs_code (_a4))
16305 : : {
16306 : 0 : case GT_EXPR:
16307 : 0 : {
16308 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
16309 : 0 : _q90 = do_valueize (valueize, _q90);
16310 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
16311 : 0 : _q91 = do_valueize (valueize, _q91);
16312 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
16313 : : {
16314 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
16315 : : {
16316 : 0 : if (zerop (_q82))
16317 : : {
16318 : 0 : {
16319 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
16320 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LE_EXPR, GT_EXPR))
16321 : 0 : return true;
16322 : : }
16323 : : }
16324 : : }
16325 : : }
16326 : : break;
16327 : : }
16328 : : default:;
16329 : : }
16330 : : }
16331 : : break;
16332 : 0 : case GT_EXPR:
16333 : 0 : {
16334 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
16335 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
16336 : 0 : || is_gimple_min_invariant (_q90)))
16337 : : {
16338 : 0 : _q90 = do_valueize (valueize, _q90);
16339 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
16340 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
16341 : 0 : || is_gimple_min_invariant (_q91)))
16342 : : {
16343 : 0 : _q91 = do_valueize (valueize, _q91);
16344 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
16345 : : {
16346 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
16347 : : {
16348 : 0 : if (zerop (_q82))
16349 : : {
16350 : 0 : {
16351 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
16352 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LE_EXPR, GT_EXPR))
16353 : 0 : return true;
16354 : : }
16355 : : }
16356 : : }
16357 : : }
16358 : : }
16359 : : }
16360 : : break;
16361 : : }
16362 : : default:;
16363 : : }
16364 : : break;
16365 : : }
16366 : : default:;
16367 : : }
16368 : : }
16369 : : break;
16370 : : default:;
16371 : : }
16372 : : }
16373 : : break;
16374 : : }
16375 : 58 : case EQ_EXPR:
16376 : 58 : {
16377 : 58 : tree _q30 = gimple_assign_rhs1 (_a2);
16378 : 58 : _q30 = do_valueize (valueize, _q30);
16379 : 58 : tree _q31 = gimple_assign_rhs2 (_a2);
16380 : 58 : _q31 = do_valueize (valueize, _q31);
16381 : 58 : if (tree_swap_operands_p (_q30, _q31))
16382 : 0 : std::swap (_q30, _q31);
16383 : 58 : if (zerop (_q22))
16384 : : {
16385 : 26 : switch (TREE_CODE (_p1))
16386 : : {
16387 : 26 : case SSA_NAME:
16388 : 26 : if (gimple *_d3 = get_def (valueize, _p1))
16389 : : {
16390 : 26 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
16391 : 1 : switch (gimple_assign_rhs_code (_a3))
16392 : : {
16393 : 1 : case COND_EXPR:
16394 : 1 : {
16395 : 1 : tree _q80 = gimple_assign_rhs1 (_a3);
16396 : 1 : _q80 = do_valueize (valueize, _q80);
16397 : 1 : tree _q81 = gimple_assign_rhs2 (_a3);
16398 : 1 : _q81 = do_valueize (valueize, _q81);
16399 : 1 : tree _q82 = gimple_assign_rhs3 (_a3);
16400 : 1 : _q82 = do_valueize (valueize, _q82);
16401 : 1 : switch (TREE_CODE (_q80))
16402 : : {
16403 : 1 : case SSA_NAME:
16404 : 1 : if (gimple *_d4 = get_def (valueize, _q80))
16405 : : {
16406 : 1 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
16407 : 1 : switch (gimple_assign_rhs_code (_a4))
16408 : : {
16409 : 1 : case NE_EXPR:
16410 : 1 : {
16411 : 1 : tree _q90 = gimple_assign_rhs1 (_a4);
16412 : 1 : _q90 = do_valueize (valueize, _q90);
16413 : 1 : tree _q91 = gimple_assign_rhs2 (_a4);
16414 : 1 : _q91 = do_valueize (valueize, _q91);
16415 : 1 : if (tree_swap_operands_p (_q90, _q91))
16416 : 0 : std::swap (_q90, _q91);
16417 : 1 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
16418 : : {
16419 : 1 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
16420 : : {
16421 : 1 : if (zerop (_q82))
16422 : : {
16423 : 1 : {
16424 : 1 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
16425 : 1 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, EQ_EXPR, NE_EXPR))
16426 : 1 : return true;
16427 : : }
16428 : : }
16429 : : }
16430 : : }
16431 : 4279330 : break;
16432 : : }
16433 : : default:;
16434 : : }
16435 : : }
16436 : : break;
16437 : 0 : case NE_EXPR:
16438 : 0 : {
16439 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
16440 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
16441 : 0 : || is_gimple_min_invariant (_q90)))
16442 : : {
16443 : 0 : _q90 = do_valueize (valueize, _q90);
16444 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
16445 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
16446 : 0 : || is_gimple_min_invariant (_q91)))
16447 : : {
16448 : 0 : _q91 = do_valueize (valueize, _q91);
16449 : 0 : if (tree_swap_operands_p (_q90, _q91))
16450 : 0 : std::swap (_q90, _q91);
16451 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
16452 : : {
16453 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
16454 : : {
16455 : 0 : if (zerop (_q82))
16456 : : {
16457 : 0 : {
16458 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
16459 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, EQ_EXPR, NE_EXPR))
16460 : 0 : return true;
16461 : : }
16462 : : }
16463 : : }
16464 : : }
16465 : : }
16466 : : }
16467 : 4279330 : break;
16468 : : }
16469 : : default:;
16470 : : }
16471 : : break;
16472 : : }
16473 : : default:;
16474 : : }
16475 : : }
16476 : : break;
16477 : : default:;
16478 : : }
16479 : : }
16480 : 4279330 : break;
16481 : : }
16482 : 202 : case NE_EXPR:
16483 : 202 : {
16484 : 202 : tree _q30 = gimple_assign_rhs1 (_a2);
16485 : 202 : _q30 = do_valueize (valueize, _q30);
16486 : 202 : tree _q31 = gimple_assign_rhs2 (_a2);
16487 : 202 : _q31 = do_valueize (valueize, _q31);
16488 : 202 : if (tree_swap_operands_p (_q30, _q31))
16489 : 0 : std::swap (_q30, _q31);
16490 : 202 : if (zerop (_q22))
16491 : : {
16492 : 110 : switch (TREE_CODE (_p1))
16493 : : {
16494 : 92 : case SSA_NAME:
16495 : 92 : if (gimple *_d3 = get_def (valueize, _p1))
16496 : : {
16497 : 92 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
16498 : 2 : switch (gimple_assign_rhs_code (_a3))
16499 : : {
16500 : 0 : case COND_EXPR:
16501 : 0 : {
16502 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
16503 : 0 : _q80 = do_valueize (valueize, _q80);
16504 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
16505 : 0 : _q81 = do_valueize (valueize, _q81);
16506 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
16507 : 0 : _q82 = do_valueize (valueize, _q82);
16508 : 0 : switch (TREE_CODE (_q80))
16509 : : {
16510 : 0 : case SSA_NAME:
16511 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
16512 : : {
16513 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
16514 : 0 : switch (gimple_assign_rhs_code (_a4))
16515 : : {
16516 : 0 : case EQ_EXPR:
16517 : 0 : {
16518 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
16519 : 0 : _q90 = do_valueize (valueize, _q90);
16520 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
16521 : 0 : _q91 = do_valueize (valueize, _q91);
16522 : 0 : if (tree_swap_operands_p (_q90, _q91))
16523 : 0 : std::swap (_q90, _q91);
16524 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
16525 : : {
16526 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
16527 : : {
16528 : 0 : if (zerop (_q82))
16529 : : {
16530 : 0 : {
16531 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
16532 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, NE_EXPR, EQ_EXPR))
16533 : 0 : return true;
16534 : : }
16535 : : }
16536 : : }
16537 : : }
16538 : 4279330 : break;
16539 : : }
16540 : : default:;
16541 : : }
16542 : : }
16543 : : break;
16544 : 0 : case EQ_EXPR:
16545 : 0 : {
16546 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
16547 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
16548 : 0 : || is_gimple_min_invariant (_q90)))
16549 : : {
16550 : 0 : _q90 = do_valueize (valueize, _q90);
16551 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
16552 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
16553 : 0 : || is_gimple_min_invariant (_q91)))
16554 : : {
16555 : 0 : _q91 = do_valueize (valueize, _q91);
16556 : 0 : if (tree_swap_operands_p (_q90, _q91))
16557 : 0 : std::swap (_q90, _q91);
16558 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
16559 : : {
16560 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
16561 : : {
16562 : 0 : if (zerop (_q82))
16563 : : {
16564 : 0 : {
16565 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
16566 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, NE_EXPR, EQ_EXPR))
16567 : 0 : return true;
16568 : : }
16569 : : }
16570 : : }
16571 : : }
16572 : : }
16573 : : }
16574 : 4279330 : break;
16575 : : }
16576 : : default:;
16577 : : }
16578 : : break;
16579 : : }
16580 : : default:;
16581 : : }
16582 : : }
16583 : : break;
16584 : : default:;
16585 : : }
16586 : : }
16587 : 4279330 : break;
16588 : : }
16589 : 20 : case GE_EXPR:
16590 : 20 : {
16591 : 20 : tree _q30 = gimple_assign_rhs1 (_a2);
16592 : 20 : _q30 = do_valueize (valueize, _q30);
16593 : 20 : tree _q31 = gimple_assign_rhs2 (_a2);
16594 : 20 : _q31 = do_valueize (valueize, _q31);
16595 : 20 : if (zerop (_q22))
16596 : : {
16597 : 20 : switch (TREE_CODE (_p1))
16598 : : {
16599 : 20 : case SSA_NAME:
16600 : 20 : if (gimple *_d3 = get_def (valueize, _p1))
16601 : : {
16602 : 20 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
16603 : 0 : switch (gimple_assign_rhs_code (_a3))
16604 : : {
16605 : 0 : case COND_EXPR:
16606 : 0 : {
16607 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
16608 : 0 : _q80 = do_valueize (valueize, _q80);
16609 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
16610 : 0 : _q81 = do_valueize (valueize, _q81);
16611 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
16612 : 0 : _q82 = do_valueize (valueize, _q82);
16613 : 0 : switch (TREE_CODE (_q80))
16614 : : {
16615 : 0 : case SSA_NAME:
16616 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
16617 : : {
16618 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
16619 : 0 : switch (gimple_assign_rhs_code (_a4))
16620 : : {
16621 : 0 : case LT_EXPR:
16622 : 0 : {
16623 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
16624 : 0 : _q90 = do_valueize (valueize, _q90);
16625 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
16626 : 0 : _q91 = do_valueize (valueize, _q91);
16627 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
16628 : : {
16629 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
16630 : : {
16631 : 0 : if (zerop (_q82))
16632 : : {
16633 : 0 : {
16634 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
16635 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GE_EXPR, LT_EXPR))
16636 : 0 : return true;
16637 : : }
16638 : : }
16639 : : }
16640 : : }
16641 : : break;
16642 : : }
16643 : : default:;
16644 : : }
16645 : : }
16646 : : break;
16647 : 0 : case LT_EXPR:
16648 : 0 : {
16649 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
16650 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
16651 : 0 : || is_gimple_min_invariant (_q90)))
16652 : : {
16653 : 0 : _q90 = do_valueize (valueize, _q90);
16654 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
16655 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
16656 : 0 : || is_gimple_min_invariant (_q91)))
16657 : : {
16658 : 0 : _q91 = do_valueize (valueize, _q91);
16659 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
16660 : : {
16661 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
16662 : : {
16663 : 0 : if (zerop (_q82))
16664 : : {
16665 : 0 : {
16666 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
16667 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GE_EXPR, LT_EXPR))
16668 : 0 : return true;
16669 : : }
16670 : : }
16671 : : }
16672 : : }
16673 : : }
16674 : : }
16675 : : break;
16676 : : }
16677 : : default:;
16678 : : }
16679 : : break;
16680 : : }
16681 : : default:;
16682 : : }
16683 : : }
16684 : : break;
16685 : : default:;
16686 : : }
16687 : : }
16688 : : break;
16689 : : }
16690 : 25 : case GT_EXPR:
16691 : 25 : {
16692 : 25 : tree _q30 = gimple_assign_rhs1 (_a2);
16693 : 25 : _q30 = do_valueize (valueize, _q30);
16694 : 25 : tree _q31 = gimple_assign_rhs2 (_a2);
16695 : 25 : _q31 = do_valueize (valueize, _q31);
16696 : 25 : if (zerop (_q22))
16697 : : {
16698 : 20 : switch (TREE_CODE (_p1))
16699 : : {
16700 : 20 : case SSA_NAME:
16701 : 20 : if (gimple *_d3 = get_def (valueize, _p1))
16702 : : {
16703 : 20 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
16704 : 0 : switch (gimple_assign_rhs_code (_a3))
16705 : : {
16706 : 0 : case COND_EXPR:
16707 : 0 : {
16708 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
16709 : 0 : _q80 = do_valueize (valueize, _q80);
16710 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
16711 : 0 : _q81 = do_valueize (valueize, _q81);
16712 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
16713 : 0 : _q82 = do_valueize (valueize, _q82);
16714 : 0 : switch (TREE_CODE (_q80))
16715 : : {
16716 : 0 : case SSA_NAME:
16717 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
16718 : : {
16719 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
16720 : 0 : switch (gimple_assign_rhs_code (_a4))
16721 : : {
16722 : 0 : case LE_EXPR:
16723 : 0 : {
16724 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
16725 : 0 : _q90 = do_valueize (valueize, _q90);
16726 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
16727 : 0 : _q91 = do_valueize (valueize, _q91);
16728 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
16729 : : {
16730 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
16731 : : {
16732 : 0 : if (zerop (_q82))
16733 : : {
16734 : 0 : {
16735 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
16736 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GT_EXPR, LE_EXPR))
16737 : 0 : return true;
16738 : : }
16739 : : }
16740 : : }
16741 : : }
16742 : : break;
16743 : : }
16744 : : default:;
16745 : : }
16746 : : }
16747 : : break;
16748 : 0 : case LE_EXPR:
16749 : 0 : {
16750 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
16751 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
16752 : 0 : || is_gimple_min_invariant (_q90)))
16753 : : {
16754 : 0 : _q90 = do_valueize (valueize, _q90);
16755 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
16756 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
16757 : 0 : || is_gimple_min_invariant (_q91)))
16758 : : {
16759 : 0 : _q91 = do_valueize (valueize, _q91);
16760 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
16761 : : {
16762 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
16763 : : {
16764 : 0 : if (zerop (_q82))
16765 : : {
16766 : 0 : {
16767 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
16768 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GT_EXPR, LE_EXPR))
16769 : 0 : return true;
16770 : : }
16771 : : }
16772 : : }
16773 : : }
16774 : : }
16775 : : }
16776 : : break;
16777 : : }
16778 : : default:;
16779 : : }
16780 : : break;
16781 : : }
16782 : : default:;
16783 : : }
16784 : : }
16785 : : break;
16786 : : default:;
16787 : : }
16788 : : }
16789 : : break;
16790 : : }
16791 : 0 : case UNORDERED_EXPR:
16792 : 0 : {
16793 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
16794 : 0 : _q30 = do_valueize (valueize, _q30);
16795 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
16796 : 0 : _q31 = do_valueize (valueize, _q31);
16797 : 0 : if (tree_swap_operands_p (_q30, _q31))
16798 : 0 : std::swap (_q30, _q31);
16799 : 0 : if (zerop (_q22))
16800 : : {
16801 : 0 : switch (TREE_CODE (_p1))
16802 : : {
16803 : 0 : case SSA_NAME:
16804 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
16805 : : {
16806 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
16807 : 0 : switch (gimple_assign_rhs_code (_a3))
16808 : : {
16809 : 0 : case COND_EXPR:
16810 : 0 : {
16811 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
16812 : 0 : _q80 = do_valueize (valueize, _q80);
16813 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
16814 : 0 : _q81 = do_valueize (valueize, _q81);
16815 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
16816 : 0 : _q82 = do_valueize (valueize, _q82);
16817 : 0 : switch (TREE_CODE (_q80))
16818 : : {
16819 : 0 : case SSA_NAME:
16820 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
16821 : : {
16822 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
16823 : 0 : switch (gimple_assign_rhs_code (_a4))
16824 : : {
16825 : 0 : case ORDERED_EXPR:
16826 : 0 : {
16827 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
16828 : 0 : _q90 = do_valueize (valueize, _q90);
16829 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
16830 : 0 : _q91 = do_valueize (valueize, _q91);
16831 : 0 : if (tree_swap_operands_p (_q90, _q91))
16832 : 0 : std::swap (_q90, _q91);
16833 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
16834 : : {
16835 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
16836 : : {
16837 : 0 : if (zerop (_q82))
16838 : : {
16839 : 0 : {
16840 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
16841 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNORDERED_EXPR, ORDERED_EXPR))
16842 : 0 : return true;
16843 : : }
16844 : : }
16845 : : }
16846 : : }
16847 : 4279330 : break;
16848 : : }
16849 : : default:;
16850 : : }
16851 : : }
16852 : : break;
16853 : 0 : case ORDERED_EXPR:
16854 : 0 : {
16855 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
16856 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
16857 : 0 : || is_gimple_min_invariant (_q90)))
16858 : : {
16859 : 0 : _q90 = do_valueize (valueize, _q90);
16860 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
16861 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
16862 : 0 : || is_gimple_min_invariant (_q91)))
16863 : : {
16864 : 0 : _q91 = do_valueize (valueize, _q91);
16865 : 0 : if (tree_swap_operands_p (_q90, _q91))
16866 : 0 : std::swap (_q90, _q91);
16867 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
16868 : : {
16869 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
16870 : : {
16871 : 0 : if (zerop (_q82))
16872 : : {
16873 : 0 : {
16874 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
16875 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNORDERED_EXPR, ORDERED_EXPR))
16876 : 0 : return true;
16877 : : }
16878 : : }
16879 : : }
16880 : : }
16881 : : }
16882 : : }
16883 : 4279330 : break;
16884 : : }
16885 : : default:;
16886 : : }
16887 : : break;
16888 : : }
16889 : : default:;
16890 : : }
16891 : : }
16892 : : break;
16893 : : default:;
16894 : : }
16895 : : }
16896 : 4279330 : break;
16897 : : }
16898 : 0 : case ORDERED_EXPR:
16899 : 0 : {
16900 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
16901 : 0 : _q30 = do_valueize (valueize, _q30);
16902 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
16903 : 0 : _q31 = do_valueize (valueize, _q31);
16904 : 0 : if (tree_swap_operands_p (_q30, _q31))
16905 : 0 : std::swap (_q30, _q31);
16906 : 0 : if (zerop (_q22))
16907 : : {
16908 : 0 : switch (TREE_CODE (_p1))
16909 : : {
16910 : 0 : case SSA_NAME:
16911 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
16912 : : {
16913 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
16914 : 0 : switch (gimple_assign_rhs_code (_a3))
16915 : : {
16916 : 0 : case COND_EXPR:
16917 : 0 : {
16918 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
16919 : 0 : _q80 = do_valueize (valueize, _q80);
16920 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
16921 : 0 : _q81 = do_valueize (valueize, _q81);
16922 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
16923 : 0 : _q82 = do_valueize (valueize, _q82);
16924 : 0 : switch (TREE_CODE (_q80))
16925 : : {
16926 : 0 : case SSA_NAME:
16927 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
16928 : : {
16929 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
16930 : 0 : switch (gimple_assign_rhs_code (_a4))
16931 : : {
16932 : 0 : case UNORDERED_EXPR:
16933 : 0 : {
16934 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
16935 : 0 : _q90 = do_valueize (valueize, _q90);
16936 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
16937 : 0 : _q91 = do_valueize (valueize, _q91);
16938 : 0 : if (tree_swap_operands_p (_q90, _q91))
16939 : 0 : std::swap (_q90, _q91);
16940 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
16941 : : {
16942 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
16943 : : {
16944 : 0 : if (zerop (_q82))
16945 : : {
16946 : 0 : {
16947 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
16948 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, ORDERED_EXPR, UNORDERED_EXPR))
16949 : 0 : return true;
16950 : : }
16951 : : }
16952 : : }
16953 : : }
16954 : 4279330 : break;
16955 : : }
16956 : : default:;
16957 : : }
16958 : : }
16959 : : break;
16960 : 0 : case UNORDERED_EXPR:
16961 : 0 : {
16962 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
16963 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
16964 : 0 : || is_gimple_min_invariant (_q90)))
16965 : : {
16966 : 0 : _q90 = do_valueize (valueize, _q90);
16967 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
16968 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
16969 : 0 : || is_gimple_min_invariant (_q91)))
16970 : : {
16971 : 0 : _q91 = do_valueize (valueize, _q91);
16972 : 0 : if (tree_swap_operands_p (_q90, _q91))
16973 : 0 : std::swap (_q90, _q91);
16974 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
16975 : : {
16976 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
16977 : : {
16978 : 0 : if (zerop (_q82))
16979 : : {
16980 : 0 : {
16981 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
16982 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, ORDERED_EXPR, UNORDERED_EXPR))
16983 : 0 : return true;
16984 : : }
16985 : : }
16986 : : }
16987 : : }
16988 : : }
16989 : : }
16990 : 4279330 : break;
16991 : : }
16992 : : default:;
16993 : : }
16994 : : break;
16995 : : }
16996 : : default:;
16997 : : }
16998 : : }
16999 : : break;
17000 : : default:;
17001 : : }
17002 : : }
17003 : 4279330 : break;
17004 : : }
17005 : 0 : case UNLT_EXPR:
17006 : 0 : {
17007 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
17008 : 0 : _q30 = do_valueize (valueize, _q30);
17009 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
17010 : 0 : _q31 = do_valueize (valueize, _q31);
17011 : 0 : if (zerop (_q22))
17012 : : {
17013 : 0 : switch (TREE_CODE (_p1))
17014 : : {
17015 : 0 : case SSA_NAME:
17016 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
17017 : : {
17018 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
17019 : 0 : switch (gimple_assign_rhs_code (_a3))
17020 : : {
17021 : 0 : case COND_EXPR:
17022 : 0 : {
17023 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
17024 : 0 : _q80 = do_valueize (valueize, _q80);
17025 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
17026 : 0 : _q81 = do_valueize (valueize, _q81);
17027 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
17028 : 0 : _q82 = do_valueize (valueize, _q82);
17029 : 0 : switch (TREE_CODE (_q80))
17030 : : {
17031 : 0 : case SSA_NAME:
17032 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
17033 : : {
17034 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
17035 : 0 : switch (gimple_assign_rhs_code (_a4))
17036 : : {
17037 : 0 : case GE_EXPR:
17038 : 0 : {
17039 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
17040 : 0 : _q90 = do_valueize (valueize, _q90);
17041 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
17042 : 0 : _q91 = do_valueize (valueize, _q91);
17043 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
17044 : : {
17045 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
17046 : : {
17047 : 0 : if (zerop (_q82))
17048 : : {
17049 : 0 : {
17050 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
17051 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNLT_EXPR, GE_EXPR))
17052 : 0 : return true;
17053 : : }
17054 : : }
17055 : : }
17056 : : }
17057 : : break;
17058 : : }
17059 : : default:;
17060 : : }
17061 : : }
17062 : : break;
17063 : 0 : case GE_EXPR:
17064 : 0 : {
17065 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
17066 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
17067 : 0 : || is_gimple_min_invariant (_q90)))
17068 : : {
17069 : 0 : _q90 = do_valueize (valueize, _q90);
17070 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
17071 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
17072 : 0 : || is_gimple_min_invariant (_q91)))
17073 : : {
17074 : 0 : _q91 = do_valueize (valueize, _q91);
17075 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
17076 : : {
17077 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
17078 : : {
17079 : 0 : if (zerop (_q82))
17080 : : {
17081 : 0 : {
17082 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
17083 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNLT_EXPR, GE_EXPR))
17084 : 0 : return true;
17085 : : }
17086 : : }
17087 : : }
17088 : : }
17089 : : }
17090 : : }
17091 : : break;
17092 : : }
17093 : : default:;
17094 : : }
17095 : : break;
17096 : : }
17097 : : default:;
17098 : : }
17099 : : }
17100 : : break;
17101 : : default:;
17102 : : }
17103 : : }
17104 : : break;
17105 : : }
17106 : 0 : case UNLE_EXPR:
17107 : 0 : {
17108 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
17109 : 0 : _q30 = do_valueize (valueize, _q30);
17110 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
17111 : 0 : _q31 = do_valueize (valueize, _q31);
17112 : 0 : if (zerop (_q22))
17113 : : {
17114 : 0 : switch (TREE_CODE (_p1))
17115 : : {
17116 : 0 : case SSA_NAME:
17117 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
17118 : : {
17119 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
17120 : 0 : switch (gimple_assign_rhs_code (_a3))
17121 : : {
17122 : 0 : case COND_EXPR:
17123 : 0 : {
17124 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
17125 : 0 : _q80 = do_valueize (valueize, _q80);
17126 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
17127 : 0 : _q81 = do_valueize (valueize, _q81);
17128 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
17129 : 0 : _q82 = do_valueize (valueize, _q82);
17130 : 0 : switch (TREE_CODE (_q80))
17131 : : {
17132 : 0 : case SSA_NAME:
17133 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
17134 : : {
17135 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
17136 : 0 : switch (gimple_assign_rhs_code (_a4))
17137 : : {
17138 : 0 : case GT_EXPR:
17139 : 0 : {
17140 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
17141 : 0 : _q90 = do_valueize (valueize, _q90);
17142 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
17143 : 0 : _q91 = do_valueize (valueize, _q91);
17144 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
17145 : : {
17146 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
17147 : : {
17148 : 0 : if (zerop (_q82))
17149 : : {
17150 : 0 : {
17151 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
17152 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNLE_EXPR, GT_EXPR))
17153 : 0 : return true;
17154 : : }
17155 : : }
17156 : : }
17157 : : }
17158 : : break;
17159 : : }
17160 : : default:;
17161 : : }
17162 : : }
17163 : : break;
17164 : 0 : case GT_EXPR:
17165 : 0 : {
17166 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
17167 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
17168 : 0 : || is_gimple_min_invariant (_q90)))
17169 : : {
17170 : 0 : _q90 = do_valueize (valueize, _q90);
17171 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
17172 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
17173 : 0 : || is_gimple_min_invariant (_q91)))
17174 : : {
17175 : 0 : _q91 = do_valueize (valueize, _q91);
17176 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
17177 : : {
17178 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
17179 : : {
17180 : 0 : if (zerop (_q82))
17181 : : {
17182 : 0 : {
17183 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
17184 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNLE_EXPR, GT_EXPR))
17185 : 0 : return true;
17186 : : }
17187 : : }
17188 : : }
17189 : : }
17190 : : }
17191 : : }
17192 : : break;
17193 : : }
17194 : : default:;
17195 : : }
17196 : : break;
17197 : : }
17198 : : default:;
17199 : : }
17200 : : }
17201 : : break;
17202 : : default:;
17203 : : }
17204 : : }
17205 : : break;
17206 : : }
17207 : 0 : case UNGT_EXPR:
17208 : 0 : {
17209 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
17210 : 0 : _q30 = do_valueize (valueize, _q30);
17211 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
17212 : 0 : _q31 = do_valueize (valueize, _q31);
17213 : 0 : if (zerop (_q22))
17214 : : {
17215 : 0 : switch (TREE_CODE (_p1))
17216 : : {
17217 : 0 : case SSA_NAME:
17218 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
17219 : : {
17220 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
17221 : 0 : switch (gimple_assign_rhs_code (_a3))
17222 : : {
17223 : 0 : case COND_EXPR:
17224 : 0 : {
17225 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
17226 : 0 : _q80 = do_valueize (valueize, _q80);
17227 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
17228 : 0 : _q81 = do_valueize (valueize, _q81);
17229 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
17230 : 0 : _q82 = do_valueize (valueize, _q82);
17231 : 0 : switch (TREE_CODE (_q80))
17232 : : {
17233 : 0 : case SSA_NAME:
17234 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
17235 : : {
17236 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
17237 : 0 : switch (gimple_assign_rhs_code (_a4))
17238 : : {
17239 : 0 : case LE_EXPR:
17240 : 0 : {
17241 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
17242 : 0 : _q90 = do_valueize (valueize, _q90);
17243 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
17244 : 0 : _q91 = do_valueize (valueize, _q91);
17245 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
17246 : : {
17247 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
17248 : : {
17249 : 0 : if (zerop (_q82))
17250 : : {
17251 : 0 : {
17252 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
17253 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNGT_EXPR, LE_EXPR))
17254 : 0 : return true;
17255 : : }
17256 : : }
17257 : : }
17258 : : }
17259 : : break;
17260 : : }
17261 : : default:;
17262 : : }
17263 : : }
17264 : : break;
17265 : 0 : case LE_EXPR:
17266 : 0 : {
17267 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
17268 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
17269 : 0 : || is_gimple_min_invariant (_q90)))
17270 : : {
17271 : 0 : _q90 = do_valueize (valueize, _q90);
17272 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
17273 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
17274 : 0 : || is_gimple_min_invariant (_q91)))
17275 : : {
17276 : 0 : _q91 = do_valueize (valueize, _q91);
17277 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
17278 : : {
17279 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
17280 : : {
17281 : 0 : if (zerop (_q82))
17282 : : {
17283 : 0 : {
17284 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
17285 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNGT_EXPR, LE_EXPR))
17286 : 0 : return true;
17287 : : }
17288 : : }
17289 : : }
17290 : : }
17291 : : }
17292 : : }
17293 : : break;
17294 : : }
17295 : : default:;
17296 : : }
17297 : : break;
17298 : : }
17299 : : default:;
17300 : : }
17301 : : }
17302 : : break;
17303 : : default:;
17304 : : }
17305 : : }
17306 : : break;
17307 : : }
17308 : 0 : case UNGE_EXPR:
17309 : 0 : {
17310 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
17311 : 0 : _q30 = do_valueize (valueize, _q30);
17312 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
17313 : 0 : _q31 = do_valueize (valueize, _q31);
17314 : 0 : if (zerop (_q22))
17315 : : {
17316 : 0 : switch (TREE_CODE (_p1))
17317 : : {
17318 : 0 : case SSA_NAME:
17319 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
17320 : : {
17321 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
17322 : 0 : switch (gimple_assign_rhs_code (_a3))
17323 : : {
17324 : 0 : case COND_EXPR:
17325 : 0 : {
17326 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
17327 : 0 : _q80 = do_valueize (valueize, _q80);
17328 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
17329 : 0 : _q81 = do_valueize (valueize, _q81);
17330 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
17331 : 0 : _q82 = do_valueize (valueize, _q82);
17332 : 0 : switch (TREE_CODE (_q80))
17333 : : {
17334 : 0 : case SSA_NAME:
17335 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
17336 : : {
17337 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
17338 : 0 : switch (gimple_assign_rhs_code (_a4))
17339 : : {
17340 : 0 : case LT_EXPR:
17341 : 0 : {
17342 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
17343 : 0 : _q90 = do_valueize (valueize, _q90);
17344 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
17345 : 0 : _q91 = do_valueize (valueize, _q91);
17346 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
17347 : : {
17348 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
17349 : : {
17350 : 0 : if (zerop (_q82))
17351 : : {
17352 : 0 : {
17353 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
17354 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNGE_EXPR, LT_EXPR))
17355 : 0 : return true;
17356 : : }
17357 : : }
17358 : : }
17359 : : }
17360 : : break;
17361 : : }
17362 : : default:;
17363 : : }
17364 : : }
17365 : : break;
17366 : 0 : case LT_EXPR:
17367 : 0 : {
17368 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
17369 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
17370 : 0 : || is_gimple_min_invariant (_q90)))
17371 : : {
17372 : 0 : _q90 = do_valueize (valueize, _q90);
17373 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
17374 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
17375 : 0 : || is_gimple_min_invariant (_q91)))
17376 : : {
17377 : 0 : _q91 = do_valueize (valueize, _q91);
17378 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
17379 : : {
17380 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
17381 : : {
17382 : 0 : if (zerop (_q82))
17383 : : {
17384 : 0 : {
17385 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
17386 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNGE_EXPR, LT_EXPR))
17387 : 0 : return true;
17388 : : }
17389 : : }
17390 : : }
17391 : : }
17392 : : }
17393 : : }
17394 : : break;
17395 : : }
17396 : : default:;
17397 : : }
17398 : : break;
17399 : : }
17400 : : default:;
17401 : : }
17402 : : }
17403 : : break;
17404 : : default:;
17405 : : }
17406 : : }
17407 : : break;
17408 : : }
17409 : 0 : case UNEQ_EXPR:
17410 : 0 : {
17411 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
17412 : 0 : _q30 = do_valueize (valueize, _q30);
17413 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
17414 : 0 : _q31 = do_valueize (valueize, _q31);
17415 : 0 : if (tree_swap_operands_p (_q30, _q31))
17416 : 0 : std::swap (_q30, _q31);
17417 : 0 : if (zerop (_q22))
17418 : : {
17419 : 0 : switch (TREE_CODE (_p1))
17420 : : {
17421 : 0 : case SSA_NAME:
17422 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
17423 : : {
17424 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
17425 : 0 : switch (gimple_assign_rhs_code (_a3))
17426 : : {
17427 : 0 : case COND_EXPR:
17428 : 0 : {
17429 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
17430 : 0 : _q80 = do_valueize (valueize, _q80);
17431 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
17432 : 0 : _q81 = do_valueize (valueize, _q81);
17433 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
17434 : 0 : _q82 = do_valueize (valueize, _q82);
17435 : 0 : switch (TREE_CODE (_q80))
17436 : : {
17437 : 0 : case SSA_NAME:
17438 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
17439 : : {
17440 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
17441 : 0 : switch (gimple_assign_rhs_code (_a4))
17442 : : {
17443 : 0 : case LTGT_EXPR:
17444 : 0 : {
17445 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
17446 : 0 : _q90 = do_valueize (valueize, _q90);
17447 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
17448 : 0 : _q91 = do_valueize (valueize, _q91);
17449 : 0 : if (tree_swap_operands_p (_q90, _q91))
17450 : 0 : std::swap (_q90, _q91);
17451 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
17452 : : {
17453 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
17454 : : {
17455 : 0 : if (zerop (_q82))
17456 : : {
17457 : 0 : {
17458 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
17459 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNEQ_EXPR, LTGT_EXPR))
17460 : 0 : return true;
17461 : : }
17462 : : }
17463 : : }
17464 : : }
17465 : 4279330 : break;
17466 : : }
17467 : : default:;
17468 : : }
17469 : : }
17470 : : break;
17471 : 0 : case LTGT_EXPR:
17472 : 0 : {
17473 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
17474 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
17475 : 0 : || is_gimple_min_invariant (_q90)))
17476 : : {
17477 : 0 : _q90 = do_valueize (valueize, _q90);
17478 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
17479 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
17480 : 0 : || is_gimple_min_invariant (_q91)))
17481 : : {
17482 : 0 : _q91 = do_valueize (valueize, _q91);
17483 : 0 : if (tree_swap_operands_p (_q90, _q91))
17484 : 0 : std::swap (_q90, _q91);
17485 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
17486 : : {
17487 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
17488 : : {
17489 : 0 : if (zerop (_q82))
17490 : : {
17491 : 0 : {
17492 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
17493 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNEQ_EXPR, LTGT_EXPR))
17494 : 0 : return true;
17495 : : }
17496 : : }
17497 : : }
17498 : : }
17499 : : }
17500 : : }
17501 : 4279330 : break;
17502 : : }
17503 : : default:;
17504 : : }
17505 : : break;
17506 : : }
17507 : : default:;
17508 : : }
17509 : : }
17510 : : break;
17511 : : default:;
17512 : : }
17513 : : }
17514 : 4279330 : break;
17515 : : }
17516 : 0 : case LTGT_EXPR:
17517 : 0 : {
17518 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
17519 : 0 : _q30 = do_valueize (valueize, _q30);
17520 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
17521 : 0 : _q31 = do_valueize (valueize, _q31);
17522 : 0 : if (tree_swap_operands_p (_q30, _q31))
17523 : 0 : std::swap (_q30, _q31);
17524 : 0 : if (zerop (_q22))
17525 : : {
17526 : 0 : switch (TREE_CODE (_p1))
17527 : : {
17528 : 0 : case SSA_NAME:
17529 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
17530 : : {
17531 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
17532 : 0 : switch (gimple_assign_rhs_code (_a3))
17533 : : {
17534 : 0 : case COND_EXPR:
17535 : 0 : {
17536 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
17537 : 0 : _q80 = do_valueize (valueize, _q80);
17538 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
17539 : 0 : _q81 = do_valueize (valueize, _q81);
17540 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
17541 : 0 : _q82 = do_valueize (valueize, _q82);
17542 : 0 : switch (TREE_CODE (_q80))
17543 : : {
17544 : 0 : case SSA_NAME:
17545 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
17546 : : {
17547 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
17548 : 0 : switch (gimple_assign_rhs_code (_a4))
17549 : : {
17550 : 0 : case UNEQ_EXPR:
17551 : 0 : {
17552 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
17553 : 0 : _q90 = do_valueize (valueize, _q90);
17554 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
17555 : 0 : _q91 = do_valueize (valueize, _q91);
17556 : 0 : if (tree_swap_operands_p (_q90, _q91))
17557 : 0 : std::swap (_q90, _q91);
17558 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
17559 : : {
17560 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
17561 : : {
17562 : 0 : if (zerop (_q82))
17563 : : {
17564 : 0 : {
17565 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
17566 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LTGT_EXPR, UNEQ_EXPR))
17567 : 0 : return true;
17568 : : }
17569 : : }
17570 : : }
17571 : : }
17572 : 4279330 : break;
17573 : : }
17574 : : default:;
17575 : : }
17576 : : }
17577 : : break;
17578 : 0 : case UNEQ_EXPR:
17579 : 0 : {
17580 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
17581 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
17582 : 0 : || is_gimple_min_invariant (_q90)))
17583 : : {
17584 : 0 : _q90 = do_valueize (valueize, _q90);
17585 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
17586 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
17587 : 0 : || is_gimple_min_invariant (_q91)))
17588 : : {
17589 : 0 : _q91 = do_valueize (valueize, _q91);
17590 : 0 : if (tree_swap_operands_p (_q90, _q91))
17591 : 0 : std::swap (_q90, _q91);
17592 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
17593 : : {
17594 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
17595 : : {
17596 : 0 : if (zerop (_q82))
17597 : : {
17598 : 0 : {
17599 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
17600 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LTGT_EXPR, UNEQ_EXPR))
17601 : 0 : return true;
17602 : : }
17603 : : }
17604 : : }
17605 : : }
17606 : : }
17607 : : }
17608 : 4279330 : break;
17609 : : }
17610 : : default:;
17611 : : }
17612 : : break;
17613 : : }
17614 : : default:;
17615 : : }
17616 : : }
17617 : : break;
17618 : : default:;
17619 : : }
17620 : : }
17621 : 4279330 : break;
17622 : : }
17623 : : default:;
17624 : : }
17625 : : }
17626 : : break;
17627 : 0 : case LT_EXPR:
17628 : 0 : {
17629 : 0 : tree _q30 = TREE_OPERAND (_q20, 0);
17630 : 0 : if ((TREE_CODE (_q30) == SSA_NAME
17631 : 0 : || is_gimple_min_invariant (_q30)))
17632 : : {
17633 : 0 : _q30 = do_valueize (valueize, _q30);
17634 : 0 : tree _q31 = TREE_OPERAND (_q20, 1);
17635 : 0 : if ((TREE_CODE (_q31) == SSA_NAME
17636 : 0 : || is_gimple_min_invariant (_q31)))
17637 : : {
17638 : 0 : _q31 = do_valueize (valueize, _q31);
17639 : 0 : if (zerop (_q22))
17640 : : {
17641 : 0 : switch (TREE_CODE (_p1))
17642 : : {
17643 : 0 : case SSA_NAME:
17644 : 0 : if (gimple *_d2 = get_def (valueize, _p1))
17645 : : {
17646 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
17647 : 0 : switch (gimple_assign_rhs_code (_a2))
17648 : : {
17649 : 0 : case COND_EXPR:
17650 : 0 : {
17651 : 0 : tree _q80 = gimple_assign_rhs1 (_a2);
17652 : 0 : _q80 = do_valueize (valueize, _q80);
17653 : 0 : tree _q81 = gimple_assign_rhs2 (_a2);
17654 : 0 : _q81 = do_valueize (valueize, _q81);
17655 : 0 : tree _q82 = gimple_assign_rhs3 (_a2);
17656 : 0 : _q82 = do_valueize (valueize, _q82);
17657 : 0 : switch (TREE_CODE (_q80))
17658 : : {
17659 : 0 : case SSA_NAME:
17660 : 0 : if (gimple *_d3 = get_def (valueize, _q80))
17661 : : {
17662 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
17663 : 0 : switch (gimple_assign_rhs_code (_a3))
17664 : : {
17665 : 0 : case GE_EXPR:
17666 : 0 : {
17667 : 0 : tree _q90 = gimple_assign_rhs1 (_a3);
17668 : 0 : _q90 = do_valueize (valueize, _q90);
17669 : 0 : tree _q91 = gimple_assign_rhs2 (_a3);
17670 : 0 : _q91 = do_valueize (valueize, _q91);
17671 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
17672 : : {
17673 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
17674 : : {
17675 : 0 : if (zerop (_q82))
17676 : : {
17677 : 0 : {
17678 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
17679 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LT_EXPR, GE_EXPR))
17680 : 0 : return true;
17681 : : }
17682 : : }
17683 : : }
17684 : : }
17685 : : break;
17686 : : }
17687 : : default:;
17688 : : }
17689 : : }
17690 : : break;
17691 : 0 : case GE_EXPR:
17692 : 0 : {
17693 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
17694 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
17695 : 0 : || is_gimple_min_invariant (_q90)))
17696 : : {
17697 : 0 : _q90 = do_valueize (valueize, _q90);
17698 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
17699 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
17700 : 0 : || is_gimple_min_invariant (_q91)))
17701 : : {
17702 : 0 : _q91 = do_valueize (valueize, _q91);
17703 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
17704 : : {
17705 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
17706 : : {
17707 : 0 : if (zerop (_q82))
17708 : : {
17709 : 0 : {
17710 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
17711 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LT_EXPR, GE_EXPR))
17712 : 0 : return true;
17713 : : }
17714 : : }
17715 : : }
17716 : : }
17717 : : }
17718 : : }
17719 : : break;
17720 : : }
17721 : : default:;
17722 : : }
17723 : : break;
17724 : : }
17725 : : default:;
17726 : : }
17727 : : }
17728 : : break;
17729 : : default:;
17730 : : }
17731 : : }
17732 : : }
17733 : : }
17734 : : break;
17735 : : }
17736 : 0 : case LE_EXPR:
17737 : 0 : {
17738 : 0 : tree _q30 = TREE_OPERAND (_q20, 0);
17739 : 0 : if ((TREE_CODE (_q30) == SSA_NAME
17740 : 0 : || is_gimple_min_invariant (_q30)))
17741 : : {
17742 : 0 : _q30 = do_valueize (valueize, _q30);
17743 : 0 : tree _q31 = TREE_OPERAND (_q20, 1);
17744 : 0 : if ((TREE_CODE (_q31) == SSA_NAME
17745 : 0 : || is_gimple_min_invariant (_q31)))
17746 : : {
17747 : 0 : _q31 = do_valueize (valueize, _q31);
17748 : 0 : if (zerop (_q22))
17749 : : {
17750 : 0 : switch (TREE_CODE (_p1))
17751 : : {
17752 : 0 : case SSA_NAME:
17753 : 0 : if (gimple *_d2 = get_def (valueize, _p1))
17754 : : {
17755 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
17756 : 0 : switch (gimple_assign_rhs_code (_a2))
17757 : : {
17758 : 0 : case COND_EXPR:
17759 : 0 : {
17760 : 0 : tree _q80 = gimple_assign_rhs1 (_a2);
17761 : 0 : _q80 = do_valueize (valueize, _q80);
17762 : 0 : tree _q81 = gimple_assign_rhs2 (_a2);
17763 : 0 : _q81 = do_valueize (valueize, _q81);
17764 : 0 : tree _q82 = gimple_assign_rhs3 (_a2);
17765 : 0 : _q82 = do_valueize (valueize, _q82);
17766 : 0 : switch (TREE_CODE (_q80))
17767 : : {
17768 : 0 : case SSA_NAME:
17769 : 0 : if (gimple *_d3 = get_def (valueize, _q80))
17770 : : {
17771 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
17772 : 0 : switch (gimple_assign_rhs_code (_a3))
17773 : : {
17774 : 0 : case GT_EXPR:
17775 : 0 : {
17776 : 0 : tree _q90 = gimple_assign_rhs1 (_a3);
17777 : 0 : _q90 = do_valueize (valueize, _q90);
17778 : 0 : tree _q91 = gimple_assign_rhs2 (_a3);
17779 : 0 : _q91 = do_valueize (valueize, _q91);
17780 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
17781 : : {
17782 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
17783 : : {
17784 : 0 : if (zerop (_q82))
17785 : : {
17786 : 0 : {
17787 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
17788 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LE_EXPR, GT_EXPR))
17789 : 0 : return true;
17790 : : }
17791 : : }
17792 : : }
17793 : : }
17794 : : break;
17795 : : }
17796 : : default:;
17797 : : }
17798 : : }
17799 : : break;
17800 : 0 : case GT_EXPR:
17801 : 0 : {
17802 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
17803 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
17804 : 0 : || is_gimple_min_invariant (_q90)))
17805 : : {
17806 : 0 : _q90 = do_valueize (valueize, _q90);
17807 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
17808 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
17809 : 0 : || is_gimple_min_invariant (_q91)))
17810 : : {
17811 : 0 : _q91 = do_valueize (valueize, _q91);
17812 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
17813 : : {
17814 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
17815 : : {
17816 : 0 : if (zerop (_q82))
17817 : : {
17818 : 0 : {
17819 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
17820 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LE_EXPR, GT_EXPR))
17821 : 0 : return true;
17822 : : }
17823 : : }
17824 : : }
17825 : : }
17826 : : }
17827 : : }
17828 : : break;
17829 : : }
17830 : : default:;
17831 : : }
17832 : : break;
17833 : : }
17834 : : default:;
17835 : : }
17836 : : }
17837 : : break;
17838 : : default:;
17839 : : }
17840 : : }
17841 : : }
17842 : : }
17843 : : break;
17844 : : }
17845 : 0 : case EQ_EXPR:
17846 : 0 : {
17847 : 0 : tree _q30 = TREE_OPERAND (_q20, 0);
17848 : 0 : if ((TREE_CODE (_q30) == SSA_NAME
17849 : 0 : || is_gimple_min_invariant (_q30)))
17850 : : {
17851 : 0 : _q30 = do_valueize (valueize, _q30);
17852 : 0 : tree _q31 = TREE_OPERAND (_q20, 1);
17853 : 0 : if ((TREE_CODE (_q31) == SSA_NAME
17854 : 0 : || is_gimple_min_invariant (_q31)))
17855 : : {
17856 : 0 : _q31 = do_valueize (valueize, _q31);
17857 : 0 : if (tree_swap_operands_p (_q30, _q31))
17858 : 0 : std::swap (_q30, _q31);
17859 : 0 : if (zerop (_q22))
17860 : : {
17861 : 0 : switch (TREE_CODE (_p1))
17862 : : {
17863 : 0 : case SSA_NAME:
17864 : 0 : if (gimple *_d2 = get_def (valueize, _p1))
17865 : : {
17866 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
17867 : 0 : switch (gimple_assign_rhs_code (_a2))
17868 : : {
17869 : 0 : case COND_EXPR:
17870 : 0 : {
17871 : 0 : tree _q80 = gimple_assign_rhs1 (_a2);
17872 : 0 : _q80 = do_valueize (valueize, _q80);
17873 : 0 : tree _q81 = gimple_assign_rhs2 (_a2);
17874 : 0 : _q81 = do_valueize (valueize, _q81);
17875 : 0 : tree _q82 = gimple_assign_rhs3 (_a2);
17876 : 0 : _q82 = do_valueize (valueize, _q82);
17877 : 0 : switch (TREE_CODE (_q80))
17878 : : {
17879 : 0 : case SSA_NAME:
17880 : 0 : if (gimple *_d3 = get_def (valueize, _q80))
17881 : : {
17882 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
17883 : 0 : switch (gimple_assign_rhs_code (_a3))
17884 : : {
17885 : 0 : case NE_EXPR:
17886 : 0 : {
17887 : 0 : tree _q90 = gimple_assign_rhs1 (_a3);
17888 : 0 : _q90 = do_valueize (valueize, _q90);
17889 : 0 : tree _q91 = gimple_assign_rhs2 (_a3);
17890 : 0 : _q91 = do_valueize (valueize, _q91);
17891 : 0 : if (tree_swap_operands_p (_q90, _q91))
17892 : 0 : std::swap (_q90, _q91);
17893 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
17894 : : {
17895 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
17896 : : {
17897 : 0 : if (zerop (_q82))
17898 : : {
17899 : 0 : {
17900 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
17901 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, EQ_EXPR, NE_EXPR))
17902 : 0 : return true;
17903 : : }
17904 : : }
17905 : : }
17906 : : }
17907 : 4279330 : break;
17908 : : }
17909 : : default:;
17910 : : }
17911 : : }
17912 : : break;
17913 : 0 : case NE_EXPR:
17914 : 0 : {
17915 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
17916 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
17917 : 0 : || is_gimple_min_invariant (_q90)))
17918 : : {
17919 : 0 : _q90 = do_valueize (valueize, _q90);
17920 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
17921 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
17922 : 0 : || is_gimple_min_invariant (_q91)))
17923 : : {
17924 : 0 : _q91 = do_valueize (valueize, _q91);
17925 : 0 : if (tree_swap_operands_p (_q90, _q91))
17926 : 0 : std::swap (_q90, _q91);
17927 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
17928 : : {
17929 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
17930 : : {
17931 : 0 : if (zerop (_q82))
17932 : : {
17933 : 0 : {
17934 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
17935 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, EQ_EXPR, NE_EXPR))
17936 : 0 : return true;
17937 : : }
17938 : : }
17939 : : }
17940 : : }
17941 : : }
17942 : : }
17943 : 4279330 : break;
17944 : : }
17945 : : default:;
17946 : : }
17947 : : break;
17948 : : }
17949 : : default:;
17950 : : }
17951 : : }
17952 : : break;
17953 : : default:;
17954 : : }
17955 : : }
17956 : : }
17957 : : }
17958 : 4279330 : break;
17959 : : }
17960 : 0 : case NE_EXPR:
17961 : 0 : {
17962 : 0 : tree _q30 = TREE_OPERAND (_q20, 0);
17963 : 0 : if ((TREE_CODE (_q30) == SSA_NAME
17964 : 0 : || is_gimple_min_invariant (_q30)))
17965 : : {
17966 : 0 : _q30 = do_valueize (valueize, _q30);
17967 : 0 : tree _q31 = TREE_OPERAND (_q20, 1);
17968 : 0 : if ((TREE_CODE (_q31) == SSA_NAME
17969 : 0 : || is_gimple_min_invariant (_q31)))
17970 : : {
17971 : 0 : _q31 = do_valueize (valueize, _q31);
17972 : 0 : if (tree_swap_operands_p (_q30, _q31))
17973 : 0 : std::swap (_q30, _q31);
17974 : 0 : if (zerop (_q22))
17975 : : {
17976 : 0 : switch (TREE_CODE (_p1))
17977 : : {
17978 : 0 : case SSA_NAME:
17979 : 0 : if (gimple *_d2 = get_def (valueize, _p1))
17980 : : {
17981 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
17982 : 0 : switch (gimple_assign_rhs_code (_a2))
17983 : : {
17984 : 0 : case COND_EXPR:
17985 : 0 : {
17986 : 0 : tree _q80 = gimple_assign_rhs1 (_a2);
17987 : 0 : _q80 = do_valueize (valueize, _q80);
17988 : 0 : tree _q81 = gimple_assign_rhs2 (_a2);
17989 : 0 : _q81 = do_valueize (valueize, _q81);
17990 : 0 : tree _q82 = gimple_assign_rhs3 (_a2);
17991 : 0 : _q82 = do_valueize (valueize, _q82);
17992 : 0 : switch (TREE_CODE (_q80))
17993 : : {
17994 : 0 : case SSA_NAME:
17995 : 0 : if (gimple *_d3 = get_def (valueize, _q80))
17996 : : {
17997 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
17998 : 0 : switch (gimple_assign_rhs_code (_a3))
17999 : : {
18000 : 0 : case EQ_EXPR:
18001 : 0 : {
18002 : 0 : tree _q90 = gimple_assign_rhs1 (_a3);
18003 : 0 : _q90 = do_valueize (valueize, _q90);
18004 : 0 : tree _q91 = gimple_assign_rhs2 (_a3);
18005 : 0 : _q91 = do_valueize (valueize, _q91);
18006 : 0 : if (tree_swap_operands_p (_q90, _q91))
18007 : 0 : std::swap (_q90, _q91);
18008 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
18009 : : {
18010 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
18011 : : {
18012 : 0 : if (zerop (_q82))
18013 : : {
18014 : 0 : {
18015 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
18016 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, NE_EXPR, EQ_EXPR))
18017 : 0 : return true;
18018 : : }
18019 : : }
18020 : : }
18021 : : }
18022 : 4279330 : break;
18023 : : }
18024 : : default:;
18025 : : }
18026 : : }
18027 : : break;
18028 : 0 : case EQ_EXPR:
18029 : 0 : {
18030 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
18031 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
18032 : 0 : || is_gimple_min_invariant (_q90)))
18033 : : {
18034 : 0 : _q90 = do_valueize (valueize, _q90);
18035 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
18036 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
18037 : 0 : || is_gimple_min_invariant (_q91)))
18038 : : {
18039 : 0 : _q91 = do_valueize (valueize, _q91);
18040 : 0 : if (tree_swap_operands_p (_q90, _q91))
18041 : 0 : std::swap (_q90, _q91);
18042 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
18043 : : {
18044 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
18045 : : {
18046 : 0 : if (zerop (_q82))
18047 : : {
18048 : 0 : {
18049 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
18050 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, NE_EXPR, EQ_EXPR))
18051 : 0 : return true;
18052 : : }
18053 : : }
18054 : : }
18055 : : }
18056 : : }
18057 : : }
18058 : 4279330 : break;
18059 : : }
18060 : : default:;
18061 : : }
18062 : : break;
18063 : : }
18064 : : default:;
18065 : : }
18066 : : }
18067 : : break;
18068 : : default:;
18069 : : }
18070 : : }
18071 : : }
18072 : : }
18073 : 4279330 : break;
18074 : : }
18075 : 0 : case GE_EXPR:
18076 : 0 : {
18077 : 0 : tree _q30 = TREE_OPERAND (_q20, 0);
18078 : 0 : if ((TREE_CODE (_q30) == SSA_NAME
18079 : 0 : || is_gimple_min_invariant (_q30)))
18080 : : {
18081 : 0 : _q30 = do_valueize (valueize, _q30);
18082 : 0 : tree _q31 = TREE_OPERAND (_q20, 1);
18083 : 0 : if ((TREE_CODE (_q31) == SSA_NAME
18084 : 0 : || is_gimple_min_invariant (_q31)))
18085 : : {
18086 : 0 : _q31 = do_valueize (valueize, _q31);
18087 : 0 : if (zerop (_q22))
18088 : : {
18089 : 0 : switch (TREE_CODE (_p1))
18090 : : {
18091 : 0 : case SSA_NAME:
18092 : 0 : if (gimple *_d2 = get_def (valueize, _p1))
18093 : : {
18094 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
18095 : 0 : switch (gimple_assign_rhs_code (_a2))
18096 : : {
18097 : 0 : case COND_EXPR:
18098 : 0 : {
18099 : 0 : tree _q80 = gimple_assign_rhs1 (_a2);
18100 : 0 : _q80 = do_valueize (valueize, _q80);
18101 : 0 : tree _q81 = gimple_assign_rhs2 (_a2);
18102 : 0 : _q81 = do_valueize (valueize, _q81);
18103 : 0 : tree _q82 = gimple_assign_rhs3 (_a2);
18104 : 0 : _q82 = do_valueize (valueize, _q82);
18105 : 0 : switch (TREE_CODE (_q80))
18106 : : {
18107 : 0 : case SSA_NAME:
18108 : 0 : if (gimple *_d3 = get_def (valueize, _q80))
18109 : : {
18110 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
18111 : 0 : switch (gimple_assign_rhs_code (_a3))
18112 : : {
18113 : 0 : case LT_EXPR:
18114 : 0 : {
18115 : 0 : tree _q90 = gimple_assign_rhs1 (_a3);
18116 : 0 : _q90 = do_valueize (valueize, _q90);
18117 : 0 : tree _q91 = gimple_assign_rhs2 (_a3);
18118 : 0 : _q91 = do_valueize (valueize, _q91);
18119 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
18120 : : {
18121 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
18122 : : {
18123 : 0 : if (zerop (_q82))
18124 : : {
18125 : 0 : {
18126 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
18127 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GE_EXPR, LT_EXPR))
18128 : 0 : return true;
18129 : : }
18130 : : }
18131 : : }
18132 : : }
18133 : : break;
18134 : : }
18135 : : default:;
18136 : : }
18137 : : }
18138 : : break;
18139 : 0 : case LT_EXPR:
18140 : 0 : {
18141 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
18142 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
18143 : 0 : || is_gimple_min_invariant (_q90)))
18144 : : {
18145 : 0 : _q90 = do_valueize (valueize, _q90);
18146 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
18147 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
18148 : 0 : || is_gimple_min_invariant (_q91)))
18149 : : {
18150 : 0 : _q91 = do_valueize (valueize, _q91);
18151 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
18152 : : {
18153 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
18154 : : {
18155 : 0 : if (zerop (_q82))
18156 : : {
18157 : 0 : {
18158 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
18159 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GE_EXPR, LT_EXPR))
18160 : 0 : return true;
18161 : : }
18162 : : }
18163 : : }
18164 : : }
18165 : : }
18166 : : }
18167 : : break;
18168 : : }
18169 : : default:;
18170 : : }
18171 : : break;
18172 : : }
18173 : : default:;
18174 : : }
18175 : : }
18176 : : break;
18177 : : default:;
18178 : : }
18179 : : }
18180 : : }
18181 : : }
18182 : : break;
18183 : : }
18184 : 0 : case GT_EXPR:
18185 : 0 : {
18186 : 0 : tree _q30 = TREE_OPERAND (_q20, 0);
18187 : 0 : if ((TREE_CODE (_q30) == SSA_NAME
18188 : 0 : || is_gimple_min_invariant (_q30)))
18189 : : {
18190 : 0 : _q30 = do_valueize (valueize, _q30);
18191 : 0 : tree _q31 = TREE_OPERAND (_q20, 1);
18192 : 0 : if ((TREE_CODE (_q31) == SSA_NAME
18193 : 0 : || is_gimple_min_invariant (_q31)))
18194 : : {
18195 : 0 : _q31 = do_valueize (valueize, _q31);
18196 : 0 : if (zerop (_q22))
18197 : : {
18198 : 0 : switch (TREE_CODE (_p1))
18199 : : {
18200 : 0 : case SSA_NAME:
18201 : 0 : if (gimple *_d2 = get_def (valueize, _p1))
18202 : : {
18203 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
18204 : 0 : switch (gimple_assign_rhs_code (_a2))
18205 : : {
18206 : 0 : case COND_EXPR:
18207 : 0 : {
18208 : 0 : tree _q80 = gimple_assign_rhs1 (_a2);
18209 : 0 : _q80 = do_valueize (valueize, _q80);
18210 : 0 : tree _q81 = gimple_assign_rhs2 (_a2);
18211 : 0 : _q81 = do_valueize (valueize, _q81);
18212 : 0 : tree _q82 = gimple_assign_rhs3 (_a2);
18213 : 0 : _q82 = do_valueize (valueize, _q82);
18214 : 0 : switch (TREE_CODE (_q80))
18215 : : {
18216 : 0 : case SSA_NAME:
18217 : 0 : if (gimple *_d3 = get_def (valueize, _q80))
18218 : : {
18219 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
18220 : 0 : switch (gimple_assign_rhs_code (_a3))
18221 : : {
18222 : 0 : case LE_EXPR:
18223 : 0 : {
18224 : 0 : tree _q90 = gimple_assign_rhs1 (_a3);
18225 : 0 : _q90 = do_valueize (valueize, _q90);
18226 : 0 : tree _q91 = gimple_assign_rhs2 (_a3);
18227 : 0 : _q91 = do_valueize (valueize, _q91);
18228 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
18229 : : {
18230 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
18231 : : {
18232 : 0 : if (zerop (_q82))
18233 : : {
18234 : 0 : {
18235 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
18236 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GT_EXPR, LE_EXPR))
18237 : 0 : return true;
18238 : : }
18239 : : }
18240 : : }
18241 : : }
18242 : : break;
18243 : : }
18244 : : default:;
18245 : : }
18246 : : }
18247 : : break;
18248 : 0 : case LE_EXPR:
18249 : 0 : {
18250 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
18251 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
18252 : 0 : || is_gimple_min_invariant (_q90)))
18253 : : {
18254 : 0 : _q90 = do_valueize (valueize, _q90);
18255 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
18256 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
18257 : 0 : || is_gimple_min_invariant (_q91)))
18258 : : {
18259 : 0 : _q91 = do_valueize (valueize, _q91);
18260 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
18261 : : {
18262 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
18263 : : {
18264 : 0 : if (zerop (_q82))
18265 : : {
18266 : 0 : {
18267 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
18268 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GT_EXPR, LE_EXPR))
18269 : 0 : return true;
18270 : : }
18271 : : }
18272 : : }
18273 : : }
18274 : : }
18275 : : }
18276 : : break;
18277 : : }
18278 : : default:;
18279 : : }
18280 : : break;
18281 : : }
18282 : : default:;
18283 : : }
18284 : : }
18285 : : break;
18286 : : default:;
18287 : : }
18288 : : }
18289 : : }
18290 : : }
18291 : : break;
18292 : : }
18293 : 0 : case UNORDERED_EXPR:
18294 : 0 : {
18295 : 0 : tree _q30 = TREE_OPERAND (_q20, 0);
18296 : 0 : if ((TREE_CODE (_q30) == SSA_NAME
18297 : 0 : || is_gimple_min_invariant (_q30)))
18298 : : {
18299 : 0 : _q30 = do_valueize (valueize, _q30);
18300 : 0 : tree _q31 = TREE_OPERAND (_q20, 1);
18301 : 0 : if ((TREE_CODE (_q31) == SSA_NAME
18302 : 0 : || is_gimple_min_invariant (_q31)))
18303 : : {
18304 : 0 : _q31 = do_valueize (valueize, _q31);
18305 : 0 : if (tree_swap_operands_p (_q30, _q31))
18306 : 0 : std::swap (_q30, _q31);
18307 : 0 : if (zerop (_q22))
18308 : : {
18309 : 0 : switch (TREE_CODE (_p1))
18310 : : {
18311 : 0 : case SSA_NAME:
18312 : 0 : if (gimple *_d2 = get_def (valueize, _p1))
18313 : : {
18314 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
18315 : 0 : switch (gimple_assign_rhs_code (_a2))
18316 : : {
18317 : 0 : case COND_EXPR:
18318 : 0 : {
18319 : 0 : tree _q80 = gimple_assign_rhs1 (_a2);
18320 : 0 : _q80 = do_valueize (valueize, _q80);
18321 : 0 : tree _q81 = gimple_assign_rhs2 (_a2);
18322 : 0 : _q81 = do_valueize (valueize, _q81);
18323 : 0 : tree _q82 = gimple_assign_rhs3 (_a2);
18324 : 0 : _q82 = do_valueize (valueize, _q82);
18325 : 0 : switch (TREE_CODE (_q80))
18326 : : {
18327 : 0 : case SSA_NAME:
18328 : 0 : if (gimple *_d3 = get_def (valueize, _q80))
18329 : : {
18330 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
18331 : 0 : switch (gimple_assign_rhs_code (_a3))
18332 : : {
18333 : 0 : case ORDERED_EXPR:
18334 : 0 : {
18335 : 0 : tree _q90 = gimple_assign_rhs1 (_a3);
18336 : 0 : _q90 = do_valueize (valueize, _q90);
18337 : 0 : tree _q91 = gimple_assign_rhs2 (_a3);
18338 : 0 : _q91 = do_valueize (valueize, _q91);
18339 : 0 : if (tree_swap_operands_p (_q90, _q91))
18340 : 0 : std::swap (_q90, _q91);
18341 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
18342 : : {
18343 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
18344 : : {
18345 : 0 : if (zerop (_q82))
18346 : : {
18347 : 0 : {
18348 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
18349 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNORDERED_EXPR, ORDERED_EXPR))
18350 : 0 : return true;
18351 : : }
18352 : : }
18353 : : }
18354 : : }
18355 : 4279330 : break;
18356 : : }
18357 : : default:;
18358 : : }
18359 : : }
18360 : : break;
18361 : 0 : case ORDERED_EXPR:
18362 : 0 : {
18363 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
18364 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
18365 : 0 : || is_gimple_min_invariant (_q90)))
18366 : : {
18367 : 0 : _q90 = do_valueize (valueize, _q90);
18368 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
18369 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
18370 : 0 : || is_gimple_min_invariant (_q91)))
18371 : : {
18372 : 0 : _q91 = do_valueize (valueize, _q91);
18373 : 0 : if (tree_swap_operands_p (_q90, _q91))
18374 : 0 : std::swap (_q90, _q91);
18375 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
18376 : : {
18377 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
18378 : : {
18379 : 0 : if (zerop (_q82))
18380 : : {
18381 : 0 : {
18382 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
18383 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNORDERED_EXPR, ORDERED_EXPR))
18384 : 0 : return true;
18385 : : }
18386 : : }
18387 : : }
18388 : : }
18389 : : }
18390 : : }
18391 : 4279330 : break;
18392 : : }
18393 : : default:;
18394 : : }
18395 : : break;
18396 : : }
18397 : : default:;
18398 : : }
18399 : : }
18400 : : break;
18401 : : default:;
18402 : : }
18403 : : }
18404 : : }
18405 : : }
18406 : 4279330 : break;
18407 : : }
18408 : 0 : case ORDERED_EXPR:
18409 : 0 : {
18410 : 0 : tree _q30 = TREE_OPERAND (_q20, 0);
18411 : 0 : if ((TREE_CODE (_q30) == SSA_NAME
18412 : 0 : || is_gimple_min_invariant (_q30)))
18413 : : {
18414 : 0 : _q30 = do_valueize (valueize, _q30);
18415 : 0 : tree _q31 = TREE_OPERAND (_q20, 1);
18416 : 0 : if ((TREE_CODE (_q31) == SSA_NAME
18417 : 0 : || is_gimple_min_invariant (_q31)))
18418 : : {
18419 : 0 : _q31 = do_valueize (valueize, _q31);
18420 : 0 : if (tree_swap_operands_p (_q30, _q31))
18421 : 0 : std::swap (_q30, _q31);
18422 : 0 : if (zerop (_q22))
18423 : : {
18424 : 0 : switch (TREE_CODE (_p1))
18425 : : {
18426 : 0 : case SSA_NAME:
18427 : 0 : if (gimple *_d2 = get_def (valueize, _p1))
18428 : : {
18429 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
18430 : 0 : switch (gimple_assign_rhs_code (_a2))
18431 : : {
18432 : 0 : case COND_EXPR:
18433 : 0 : {
18434 : 0 : tree _q80 = gimple_assign_rhs1 (_a2);
18435 : 0 : _q80 = do_valueize (valueize, _q80);
18436 : 0 : tree _q81 = gimple_assign_rhs2 (_a2);
18437 : 0 : _q81 = do_valueize (valueize, _q81);
18438 : 0 : tree _q82 = gimple_assign_rhs3 (_a2);
18439 : 0 : _q82 = do_valueize (valueize, _q82);
18440 : 0 : switch (TREE_CODE (_q80))
18441 : : {
18442 : 0 : case SSA_NAME:
18443 : 0 : if (gimple *_d3 = get_def (valueize, _q80))
18444 : : {
18445 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
18446 : 0 : switch (gimple_assign_rhs_code (_a3))
18447 : : {
18448 : 0 : case UNORDERED_EXPR:
18449 : 0 : {
18450 : 0 : tree _q90 = gimple_assign_rhs1 (_a3);
18451 : 0 : _q90 = do_valueize (valueize, _q90);
18452 : 0 : tree _q91 = gimple_assign_rhs2 (_a3);
18453 : 0 : _q91 = do_valueize (valueize, _q91);
18454 : 0 : if (tree_swap_operands_p (_q90, _q91))
18455 : 0 : std::swap (_q90, _q91);
18456 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
18457 : : {
18458 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
18459 : : {
18460 : 0 : if (zerop (_q82))
18461 : : {
18462 : 0 : {
18463 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
18464 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, ORDERED_EXPR, UNORDERED_EXPR))
18465 : 0 : return true;
18466 : : }
18467 : : }
18468 : : }
18469 : : }
18470 : 4279330 : break;
18471 : : }
18472 : : default:;
18473 : : }
18474 : : }
18475 : : break;
18476 : 0 : case UNORDERED_EXPR:
18477 : 0 : {
18478 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
18479 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
18480 : 0 : || is_gimple_min_invariant (_q90)))
18481 : : {
18482 : 0 : _q90 = do_valueize (valueize, _q90);
18483 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
18484 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
18485 : 0 : || is_gimple_min_invariant (_q91)))
18486 : : {
18487 : 0 : _q91 = do_valueize (valueize, _q91);
18488 : 0 : if (tree_swap_operands_p (_q90, _q91))
18489 : 0 : std::swap (_q90, _q91);
18490 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
18491 : : {
18492 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
18493 : : {
18494 : 0 : if (zerop (_q82))
18495 : : {
18496 : 0 : {
18497 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
18498 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, ORDERED_EXPR, UNORDERED_EXPR))
18499 : 0 : return true;
18500 : : }
18501 : : }
18502 : : }
18503 : : }
18504 : : }
18505 : : }
18506 : 4279330 : break;
18507 : : }
18508 : : default:;
18509 : : }
18510 : : break;
18511 : : }
18512 : : default:;
18513 : : }
18514 : : }
18515 : : break;
18516 : : default:;
18517 : : }
18518 : : }
18519 : : }
18520 : : }
18521 : 4279330 : break;
18522 : : }
18523 : 0 : case UNLT_EXPR:
18524 : 0 : {
18525 : 0 : tree _q30 = TREE_OPERAND (_q20, 0);
18526 : 0 : if ((TREE_CODE (_q30) == SSA_NAME
18527 : 0 : || is_gimple_min_invariant (_q30)))
18528 : : {
18529 : 0 : _q30 = do_valueize (valueize, _q30);
18530 : 0 : tree _q31 = TREE_OPERAND (_q20, 1);
18531 : 0 : if ((TREE_CODE (_q31) == SSA_NAME
18532 : 0 : || is_gimple_min_invariant (_q31)))
18533 : : {
18534 : 0 : _q31 = do_valueize (valueize, _q31);
18535 : 0 : if (zerop (_q22))
18536 : : {
18537 : 0 : switch (TREE_CODE (_p1))
18538 : : {
18539 : 0 : case SSA_NAME:
18540 : 0 : if (gimple *_d2 = get_def (valueize, _p1))
18541 : : {
18542 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
18543 : 0 : switch (gimple_assign_rhs_code (_a2))
18544 : : {
18545 : 0 : case COND_EXPR:
18546 : 0 : {
18547 : 0 : tree _q80 = gimple_assign_rhs1 (_a2);
18548 : 0 : _q80 = do_valueize (valueize, _q80);
18549 : 0 : tree _q81 = gimple_assign_rhs2 (_a2);
18550 : 0 : _q81 = do_valueize (valueize, _q81);
18551 : 0 : tree _q82 = gimple_assign_rhs3 (_a2);
18552 : 0 : _q82 = do_valueize (valueize, _q82);
18553 : 0 : switch (TREE_CODE (_q80))
18554 : : {
18555 : 0 : case SSA_NAME:
18556 : 0 : if (gimple *_d3 = get_def (valueize, _q80))
18557 : : {
18558 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
18559 : 0 : switch (gimple_assign_rhs_code (_a3))
18560 : : {
18561 : 0 : case GE_EXPR:
18562 : 0 : {
18563 : 0 : tree _q90 = gimple_assign_rhs1 (_a3);
18564 : 0 : _q90 = do_valueize (valueize, _q90);
18565 : 0 : tree _q91 = gimple_assign_rhs2 (_a3);
18566 : 0 : _q91 = do_valueize (valueize, _q91);
18567 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
18568 : : {
18569 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
18570 : : {
18571 : 0 : if (zerop (_q82))
18572 : : {
18573 : 0 : {
18574 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
18575 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNLT_EXPR, GE_EXPR))
18576 : 0 : return true;
18577 : : }
18578 : : }
18579 : : }
18580 : : }
18581 : : break;
18582 : : }
18583 : : default:;
18584 : : }
18585 : : }
18586 : : break;
18587 : 0 : case GE_EXPR:
18588 : 0 : {
18589 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
18590 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
18591 : 0 : || is_gimple_min_invariant (_q90)))
18592 : : {
18593 : 0 : _q90 = do_valueize (valueize, _q90);
18594 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
18595 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
18596 : 0 : || is_gimple_min_invariant (_q91)))
18597 : : {
18598 : 0 : _q91 = do_valueize (valueize, _q91);
18599 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
18600 : : {
18601 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
18602 : : {
18603 : 0 : if (zerop (_q82))
18604 : : {
18605 : 0 : {
18606 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
18607 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNLT_EXPR, GE_EXPR))
18608 : 0 : return true;
18609 : : }
18610 : : }
18611 : : }
18612 : : }
18613 : : }
18614 : : }
18615 : : break;
18616 : : }
18617 : : default:;
18618 : : }
18619 : : break;
18620 : : }
18621 : : default:;
18622 : : }
18623 : : }
18624 : : break;
18625 : : default:;
18626 : : }
18627 : : }
18628 : : }
18629 : : }
18630 : : break;
18631 : : }
18632 : 0 : case UNLE_EXPR:
18633 : 0 : {
18634 : 0 : tree _q30 = TREE_OPERAND (_q20, 0);
18635 : 0 : if ((TREE_CODE (_q30) == SSA_NAME
18636 : 0 : || is_gimple_min_invariant (_q30)))
18637 : : {
18638 : 0 : _q30 = do_valueize (valueize, _q30);
18639 : 0 : tree _q31 = TREE_OPERAND (_q20, 1);
18640 : 0 : if ((TREE_CODE (_q31) == SSA_NAME
18641 : 0 : || is_gimple_min_invariant (_q31)))
18642 : : {
18643 : 0 : _q31 = do_valueize (valueize, _q31);
18644 : 0 : if (zerop (_q22))
18645 : : {
18646 : 0 : switch (TREE_CODE (_p1))
18647 : : {
18648 : 0 : case SSA_NAME:
18649 : 0 : if (gimple *_d2 = get_def (valueize, _p1))
18650 : : {
18651 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
18652 : 0 : switch (gimple_assign_rhs_code (_a2))
18653 : : {
18654 : 0 : case COND_EXPR:
18655 : 0 : {
18656 : 0 : tree _q80 = gimple_assign_rhs1 (_a2);
18657 : 0 : _q80 = do_valueize (valueize, _q80);
18658 : 0 : tree _q81 = gimple_assign_rhs2 (_a2);
18659 : 0 : _q81 = do_valueize (valueize, _q81);
18660 : 0 : tree _q82 = gimple_assign_rhs3 (_a2);
18661 : 0 : _q82 = do_valueize (valueize, _q82);
18662 : 0 : switch (TREE_CODE (_q80))
18663 : : {
18664 : 0 : case SSA_NAME:
18665 : 0 : if (gimple *_d3 = get_def (valueize, _q80))
18666 : : {
18667 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
18668 : 0 : switch (gimple_assign_rhs_code (_a3))
18669 : : {
18670 : 0 : case GT_EXPR:
18671 : 0 : {
18672 : 0 : tree _q90 = gimple_assign_rhs1 (_a3);
18673 : 0 : _q90 = do_valueize (valueize, _q90);
18674 : 0 : tree _q91 = gimple_assign_rhs2 (_a3);
18675 : 0 : _q91 = do_valueize (valueize, _q91);
18676 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
18677 : : {
18678 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
18679 : : {
18680 : 0 : if (zerop (_q82))
18681 : : {
18682 : 0 : {
18683 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
18684 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNLE_EXPR, GT_EXPR))
18685 : 0 : return true;
18686 : : }
18687 : : }
18688 : : }
18689 : : }
18690 : : break;
18691 : : }
18692 : : default:;
18693 : : }
18694 : : }
18695 : : break;
18696 : 0 : case GT_EXPR:
18697 : 0 : {
18698 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
18699 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
18700 : 0 : || is_gimple_min_invariant (_q90)))
18701 : : {
18702 : 0 : _q90 = do_valueize (valueize, _q90);
18703 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
18704 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
18705 : 0 : || is_gimple_min_invariant (_q91)))
18706 : : {
18707 : 0 : _q91 = do_valueize (valueize, _q91);
18708 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
18709 : : {
18710 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
18711 : : {
18712 : 0 : if (zerop (_q82))
18713 : : {
18714 : 0 : {
18715 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
18716 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNLE_EXPR, GT_EXPR))
18717 : 0 : return true;
18718 : : }
18719 : : }
18720 : : }
18721 : : }
18722 : : }
18723 : : }
18724 : : break;
18725 : : }
18726 : : default:;
18727 : : }
18728 : : break;
18729 : : }
18730 : : default:;
18731 : : }
18732 : : }
18733 : : break;
18734 : : default:;
18735 : : }
18736 : : }
18737 : : }
18738 : : }
18739 : : break;
18740 : : }
18741 : 0 : case UNGT_EXPR:
18742 : 0 : {
18743 : 0 : tree _q30 = TREE_OPERAND (_q20, 0);
18744 : 0 : if ((TREE_CODE (_q30) == SSA_NAME
18745 : 0 : || is_gimple_min_invariant (_q30)))
18746 : : {
18747 : 0 : _q30 = do_valueize (valueize, _q30);
18748 : 0 : tree _q31 = TREE_OPERAND (_q20, 1);
18749 : 0 : if ((TREE_CODE (_q31) == SSA_NAME
18750 : 0 : || is_gimple_min_invariant (_q31)))
18751 : : {
18752 : 0 : _q31 = do_valueize (valueize, _q31);
18753 : 0 : if (zerop (_q22))
18754 : : {
18755 : 0 : switch (TREE_CODE (_p1))
18756 : : {
18757 : 0 : case SSA_NAME:
18758 : 0 : if (gimple *_d2 = get_def (valueize, _p1))
18759 : : {
18760 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
18761 : 0 : switch (gimple_assign_rhs_code (_a2))
18762 : : {
18763 : 0 : case COND_EXPR:
18764 : 0 : {
18765 : 0 : tree _q80 = gimple_assign_rhs1 (_a2);
18766 : 0 : _q80 = do_valueize (valueize, _q80);
18767 : 0 : tree _q81 = gimple_assign_rhs2 (_a2);
18768 : 0 : _q81 = do_valueize (valueize, _q81);
18769 : 0 : tree _q82 = gimple_assign_rhs3 (_a2);
18770 : 0 : _q82 = do_valueize (valueize, _q82);
18771 : 0 : switch (TREE_CODE (_q80))
18772 : : {
18773 : 0 : case SSA_NAME:
18774 : 0 : if (gimple *_d3 = get_def (valueize, _q80))
18775 : : {
18776 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
18777 : 0 : switch (gimple_assign_rhs_code (_a3))
18778 : : {
18779 : 0 : case LE_EXPR:
18780 : 0 : {
18781 : 0 : tree _q90 = gimple_assign_rhs1 (_a3);
18782 : 0 : _q90 = do_valueize (valueize, _q90);
18783 : 0 : tree _q91 = gimple_assign_rhs2 (_a3);
18784 : 0 : _q91 = do_valueize (valueize, _q91);
18785 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
18786 : : {
18787 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
18788 : : {
18789 : 0 : if (zerop (_q82))
18790 : : {
18791 : 0 : {
18792 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
18793 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNGT_EXPR, LE_EXPR))
18794 : 0 : return true;
18795 : : }
18796 : : }
18797 : : }
18798 : : }
18799 : : break;
18800 : : }
18801 : : default:;
18802 : : }
18803 : : }
18804 : : break;
18805 : 0 : case LE_EXPR:
18806 : 0 : {
18807 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
18808 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
18809 : 0 : || is_gimple_min_invariant (_q90)))
18810 : : {
18811 : 0 : _q90 = do_valueize (valueize, _q90);
18812 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
18813 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
18814 : 0 : || is_gimple_min_invariant (_q91)))
18815 : : {
18816 : 0 : _q91 = do_valueize (valueize, _q91);
18817 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
18818 : : {
18819 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
18820 : : {
18821 : 0 : if (zerop (_q82))
18822 : : {
18823 : 0 : {
18824 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
18825 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNGT_EXPR, LE_EXPR))
18826 : 0 : return true;
18827 : : }
18828 : : }
18829 : : }
18830 : : }
18831 : : }
18832 : : }
18833 : : break;
18834 : : }
18835 : : default:;
18836 : : }
18837 : : break;
18838 : : }
18839 : : default:;
18840 : : }
18841 : : }
18842 : : break;
18843 : : default:;
18844 : : }
18845 : : }
18846 : : }
18847 : : }
18848 : : break;
18849 : : }
18850 : 0 : case UNGE_EXPR:
18851 : 0 : {
18852 : 0 : tree _q30 = TREE_OPERAND (_q20, 0);
18853 : 0 : if ((TREE_CODE (_q30) == SSA_NAME
18854 : 0 : || is_gimple_min_invariant (_q30)))
18855 : : {
18856 : 0 : _q30 = do_valueize (valueize, _q30);
18857 : 0 : tree _q31 = TREE_OPERAND (_q20, 1);
18858 : 0 : if ((TREE_CODE (_q31) == SSA_NAME
18859 : 0 : || is_gimple_min_invariant (_q31)))
18860 : : {
18861 : 0 : _q31 = do_valueize (valueize, _q31);
18862 : 0 : if (zerop (_q22))
18863 : : {
18864 : 0 : switch (TREE_CODE (_p1))
18865 : : {
18866 : 0 : case SSA_NAME:
18867 : 0 : if (gimple *_d2 = get_def (valueize, _p1))
18868 : : {
18869 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
18870 : 0 : switch (gimple_assign_rhs_code (_a2))
18871 : : {
18872 : 0 : case COND_EXPR:
18873 : 0 : {
18874 : 0 : tree _q80 = gimple_assign_rhs1 (_a2);
18875 : 0 : _q80 = do_valueize (valueize, _q80);
18876 : 0 : tree _q81 = gimple_assign_rhs2 (_a2);
18877 : 0 : _q81 = do_valueize (valueize, _q81);
18878 : 0 : tree _q82 = gimple_assign_rhs3 (_a2);
18879 : 0 : _q82 = do_valueize (valueize, _q82);
18880 : 0 : switch (TREE_CODE (_q80))
18881 : : {
18882 : 0 : case SSA_NAME:
18883 : 0 : if (gimple *_d3 = get_def (valueize, _q80))
18884 : : {
18885 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
18886 : 0 : switch (gimple_assign_rhs_code (_a3))
18887 : : {
18888 : 0 : case LT_EXPR:
18889 : 0 : {
18890 : 0 : tree _q90 = gimple_assign_rhs1 (_a3);
18891 : 0 : _q90 = do_valueize (valueize, _q90);
18892 : 0 : tree _q91 = gimple_assign_rhs2 (_a3);
18893 : 0 : _q91 = do_valueize (valueize, _q91);
18894 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
18895 : : {
18896 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
18897 : : {
18898 : 0 : if (zerop (_q82))
18899 : : {
18900 : 0 : {
18901 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
18902 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNGE_EXPR, LT_EXPR))
18903 : 0 : return true;
18904 : : }
18905 : : }
18906 : : }
18907 : : }
18908 : : break;
18909 : : }
18910 : : default:;
18911 : : }
18912 : : }
18913 : : break;
18914 : 0 : case LT_EXPR:
18915 : 0 : {
18916 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
18917 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
18918 : 0 : || is_gimple_min_invariant (_q90)))
18919 : : {
18920 : 0 : _q90 = do_valueize (valueize, _q90);
18921 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
18922 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
18923 : 0 : || is_gimple_min_invariant (_q91)))
18924 : : {
18925 : 0 : _q91 = do_valueize (valueize, _q91);
18926 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
18927 : : {
18928 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
18929 : : {
18930 : 0 : if (zerop (_q82))
18931 : : {
18932 : 0 : {
18933 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
18934 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNGE_EXPR, LT_EXPR))
18935 : 0 : return true;
18936 : : }
18937 : : }
18938 : : }
18939 : : }
18940 : : }
18941 : : }
18942 : : break;
18943 : : }
18944 : : default:;
18945 : : }
18946 : : break;
18947 : : }
18948 : : default:;
18949 : : }
18950 : : }
18951 : : break;
18952 : : default:;
18953 : : }
18954 : : }
18955 : : }
18956 : : }
18957 : : break;
18958 : : }
18959 : 0 : case UNEQ_EXPR:
18960 : 0 : {
18961 : 0 : tree _q30 = TREE_OPERAND (_q20, 0);
18962 : 0 : if ((TREE_CODE (_q30) == SSA_NAME
18963 : 0 : || is_gimple_min_invariant (_q30)))
18964 : : {
18965 : 0 : _q30 = do_valueize (valueize, _q30);
18966 : 0 : tree _q31 = TREE_OPERAND (_q20, 1);
18967 : 0 : if ((TREE_CODE (_q31) == SSA_NAME
18968 : 0 : || is_gimple_min_invariant (_q31)))
18969 : : {
18970 : 0 : _q31 = do_valueize (valueize, _q31);
18971 : 0 : if (tree_swap_operands_p (_q30, _q31))
18972 : 0 : std::swap (_q30, _q31);
18973 : 0 : if (zerop (_q22))
18974 : : {
18975 : 0 : switch (TREE_CODE (_p1))
18976 : : {
18977 : 0 : case SSA_NAME:
18978 : 0 : if (gimple *_d2 = get_def (valueize, _p1))
18979 : : {
18980 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
18981 : 0 : switch (gimple_assign_rhs_code (_a2))
18982 : : {
18983 : 0 : case COND_EXPR:
18984 : 0 : {
18985 : 0 : tree _q80 = gimple_assign_rhs1 (_a2);
18986 : 0 : _q80 = do_valueize (valueize, _q80);
18987 : 0 : tree _q81 = gimple_assign_rhs2 (_a2);
18988 : 0 : _q81 = do_valueize (valueize, _q81);
18989 : 0 : tree _q82 = gimple_assign_rhs3 (_a2);
18990 : 0 : _q82 = do_valueize (valueize, _q82);
18991 : 0 : switch (TREE_CODE (_q80))
18992 : : {
18993 : 0 : case SSA_NAME:
18994 : 0 : if (gimple *_d3 = get_def (valueize, _q80))
18995 : : {
18996 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
18997 : 0 : switch (gimple_assign_rhs_code (_a3))
18998 : : {
18999 : 0 : case LTGT_EXPR:
19000 : 0 : {
19001 : 0 : tree _q90 = gimple_assign_rhs1 (_a3);
19002 : 0 : _q90 = do_valueize (valueize, _q90);
19003 : 0 : tree _q91 = gimple_assign_rhs2 (_a3);
19004 : 0 : _q91 = do_valueize (valueize, _q91);
19005 : 0 : if (tree_swap_operands_p (_q90, _q91))
19006 : 0 : std::swap (_q90, _q91);
19007 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
19008 : : {
19009 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
19010 : : {
19011 : 0 : if (zerop (_q82))
19012 : : {
19013 : 0 : {
19014 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
19015 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNEQ_EXPR, LTGT_EXPR))
19016 : 0 : return true;
19017 : : }
19018 : : }
19019 : : }
19020 : : }
19021 : 4279330 : break;
19022 : : }
19023 : : default:;
19024 : : }
19025 : : }
19026 : : break;
19027 : 0 : case LTGT_EXPR:
19028 : 0 : {
19029 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
19030 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
19031 : 0 : || is_gimple_min_invariant (_q90)))
19032 : : {
19033 : 0 : _q90 = do_valueize (valueize, _q90);
19034 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
19035 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
19036 : 0 : || is_gimple_min_invariant (_q91)))
19037 : : {
19038 : 0 : _q91 = do_valueize (valueize, _q91);
19039 : 0 : if (tree_swap_operands_p (_q90, _q91))
19040 : 0 : std::swap (_q90, _q91);
19041 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
19042 : : {
19043 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
19044 : : {
19045 : 0 : if (zerop (_q82))
19046 : : {
19047 : 0 : {
19048 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
19049 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNEQ_EXPR, LTGT_EXPR))
19050 : 0 : return true;
19051 : : }
19052 : : }
19053 : : }
19054 : : }
19055 : : }
19056 : : }
19057 : 4279330 : break;
19058 : : }
19059 : : default:;
19060 : : }
19061 : : break;
19062 : : }
19063 : : default:;
19064 : : }
19065 : : }
19066 : : break;
19067 : : default:;
19068 : : }
19069 : : }
19070 : : }
19071 : : }
19072 : 4279330 : break;
19073 : : }
19074 : 0 : case LTGT_EXPR:
19075 : 0 : {
19076 : 0 : tree _q30 = TREE_OPERAND (_q20, 0);
19077 : 0 : if ((TREE_CODE (_q30) == SSA_NAME
19078 : 0 : || is_gimple_min_invariant (_q30)))
19079 : : {
19080 : 0 : _q30 = do_valueize (valueize, _q30);
19081 : 0 : tree _q31 = TREE_OPERAND (_q20, 1);
19082 : 0 : if ((TREE_CODE (_q31) == SSA_NAME
19083 : 0 : || is_gimple_min_invariant (_q31)))
19084 : : {
19085 : 0 : _q31 = do_valueize (valueize, _q31);
19086 : 0 : if (tree_swap_operands_p (_q30, _q31))
19087 : 0 : std::swap (_q30, _q31);
19088 : 0 : if (zerop (_q22))
19089 : : {
19090 : 0 : switch (TREE_CODE (_p1))
19091 : : {
19092 : 0 : case SSA_NAME:
19093 : 0 : if (gimple *_d2 = get_def (valueize, _p1))
19094 : : {
19095 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
19096 : 0 : switch (gimple_assign_rhs_code (_a2))
19097 : : {
19098 : 0 : case COND_EXPR:
19099 : 0 : {
19100 : 0 : tree _q80 = gimple_assign_rhs1 (_a2);
19101 : 0 : _q80 = do_valueize (valueize, _q80);
19102 : 0 : tree _q81 = gimple_assign_rhs2 (_a2);
19103 : 0 : _q81 = do_valueize (valueize, _q81);
19104 : 0 : tree _q82 = gimple_assign_rhs3 (_a2);
19105 : 0 : _q82 = do_valueize (valueize, _q82);
19106 : 0 : switch (TREE_CODE (_q80))
19107 : : {
19108 : 0 : case SSA_NAME:
19109 : 0 : if (gimple *_d3 = get_def (valueize, _q80))
19110 : : {
19111 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
19112 : 0 : switch (gimple_assign_rhs_code (_a3))
19113 : : {
19114 : 0 : case UNEQ_EXPR:
19115 : 0 : {
19116 : 0 : tree _q90 = gimple_assign_rhs1 (_a3);
19117 : 0 : _q90 = do_valueize (valueize, _q90);
19118 : 0 : tree _q91 = gimple_assign_rhs2 (_a3);
19119 : 0 : _q91 = do_valueize (valueize, _q91);
19120 : 0 : if (tree_swap_operands_p (_q90, _q91))
19121 : 0 : std::swap (_q90, _q91);
19122 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
19123 : : {
19124 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
19125 : : {
19126 : 0 : if (zerop (_q82))
19127 : : {
19128 : 0 : {
19129 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
19130 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LTGT_EXPR, UNEQ_EXPR))
19131 : 0 : return true;
19132 : : }
19133 : : }
19134 : : }
19135 : : }
19136 : 4279330 : break;
19137 : : }
19138 : : default:;
19139 : : }
19140 : : }
19141 : : break;
19142 : 0 : case UNEQ_EXPR:
19143 : 0 : {
19144 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
19145 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
19146 : 0 : || is_gimple_min_invariant (_q90)))
19147 : : {
19148 : 0 : _q90 = do_valueize (valueize, _q90);
19149 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
19150 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
19151 : 0 : || is_gimple_min_invariant (_q91)))
19152 : : {
19153 : 0 : _q91 = do_valueize (valueize, _q91);
19154 : 0 : if (tree_swap_operands_p (_q90, _q91))
19155 : 0 : std::swap (_q90, _q91);
19156 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
19157 : : {
19158 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
19159 : : {
19160 : 0 : if (zerop (_q82))
19161 : : {
19162 : 0 : {
19163 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
19164 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LTGT_EXPR, UNEQ_EXPR))
19165 : 0 : return true;
19166 : : }
19167 : : }
19168 : : }
19169 : : }
19170 : : }
19171 : : }
19172 : 4279330 : break;
19173 : : }
19174 : : default:;
19175 : : }
19176 : : break;
19177 : : }
19178 : : default:;
19179 : : }
19180 : : }
19181 : : break;
19182 : : default:;
19183 : : }
19184 : : }
19185 : : }
19186 : : }
19187 : 4279330 : break;
19188 : : }
19189 : : default:;
19190 : : }
19191 : : break;
19192 : : }
19193 : 2670 : case VEC_COND_EXPR:
19194 : 2670 : {
19195 : 2670 : tree _q20 = gimple_assign_rhs1 (_a1);
19196 : 2670 : _q20 = do_valueize (valueize, _q20);
19197 : 2670 : tree _q21 = gimple_assign_rhs2 (_a1);
19198 : 2670 : _q21 = do_valueize (valueize, _q21);
19199 : 2670 : tree _q22 = gimple_assign_rhs3 (_a1);
19200 : 2670 : _q22 = do_valueize (valueize, _q22);
19201 : 2670 : if (integer_zerop (_q22))
19202 : : {
19203 : 1915 : switch (TREE_CODE (_p1))
19204 : : {
19205 : 1465 : case SSA_NAME:
19206 : 1465 : if (gimple *_d2 = get_def (valueize, _p1))
19207 : : {
19208 : 1365 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
19209 : 1073 : switch (gimple_assign_rhs_code (_a2))
19210 : : {
19211 : 508 : case VEC_COND_EXPR:
19212 : 508 : {
19213 : 508 : tree _q60 = gimple_assign_rhs1 (_a2);
19214 : 508 : _q60 = do_valueize (valueize, _q60);
19215 : 508 : tree _q61 = gimple_assign_rhs2 (_a2);
19216 : 508 : _q61 = do_valueize (valueize, _q61);
19217 : 508 : tree _q62 = gimple_assign_rhs3 (_a2);
19218 : 508 : _q62 = do_valueize (valueize, _q62);
19219 : 508 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
19220 : : {
19221 : 19 : if (integer_zerop (_q61))
19222 : : {
19223 : 19 : {
19224 : 19 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q62 };
19225 : 19 : const enum tree_code op = BIT_IOR_EXPR;
19226 : 19 : gimple_seq *lseq = seq;
19227 : 19 : if (lseq
19228 : 7 : && (!single_use (captures[0])
19229 : 7 : || !single_use (captures[3])))
19230 : 12 : lseq = NULL;
19231 : 19 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2087;
19232 : 19 : {
19233 : 19 : res_op->set_op (VEC_COND_EXPR, type, 3);
19234 : 19 : res_op->ops[0] = captures[1];
19235 : 19 : res_op->ops[1] = captures[2];
19236 : 19 : res_op->ops[2] = captures[4];
19237 : 19 : res_op->resimplify (lseq, valueize);
19238 : 19 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1029, __FILE__, __LINE__, true);
19239 : 19 : return true;
19240 : : }
19241 : 0 : next_after_fail2087:;
19242 : : }
19243 : : }
19244 : : }
19245 : : break;
19246 : : }
19247 : : default:;
19248 : : }
19249 : : }
19250 : : break;
19251 : : default:;
19252 : : }
19253 : : }
19254 : 2651 : if (integer_zerop (_q21))
19255 : : {
19256 : 0 : switch (TREE_CODE (_p1))
19257 : : {
19258 : 0 : case SSA_NAME:
19259 : 0 : if (gimple *_d2 = get_def (valueize, _p1))
19260 : : {
19261 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
19262 : 0 : switch (gimple_assign_rhs_code (_a2))
19263 : : {
19264 : 0 : case VEC_COND_EXPR:
19265 : 0 : {
19266 : 0 : tree _q60 = gimple_assign_rhs1 (_a2);
19267 : 0 : _q60 = do_valueize (valueize, _q60);
19268 : 0 : tree _q61 = gimple_assign_rhs2 (_a2);
19269 : 0 : _q61 = do_valueize (valueize, _q61);
19270 : 0 : tree _q62 = gimple_assign_rhs3 (_a2);
19271 : 0 : _q62 = do_valueize (valueize, _q62);
19272 : 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
19273 : : {
19274 : 0 : if (integer_zerop (_q62))
19275 : : {
19276 : 0 : {
19277 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q61, _p0, _q22 };
19278 : 0 : const enum tree_code op = BIT_IOR_EXPR;
19279 : 0 : gimple_seq *lseq = seq;
19280 : 0 : if (lseq
19281 : 0 : && (!single_use (captures[0])
19282 : 0 : || !single_use (captures[3])))
19283 : 0 : lseq = NULL;
19284 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2088;
19285 : 0 : {
19286 : 0 : res_op->set_op (VEC_COND_EXPR, type, 3);
19287 : 0 : res_op->ops[0] = captures[1];
19288 : 0 : res_op->ops[1] = captures[2];
19289 : 0 : res_op->ops[2] = captures[4];
19290 : 0 : res_op->resimplify (lseq, valueize);
19291 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1029, __FILE__, __LINE__, true);
19292 : 0 : return true;
19293 : : }
19294 : 0 : next_after_fail2088:;
19295 : : }
19296 : : }
19297 : : }
19298 : : break;
19299 : : }
19300 : : default:;
19301 : : }
19302 : : }
19303 : : break;
19304 : : default:;
19305 : : }
19306 : : }
19307 : 2651 : switch (TREE_CODE (_q20))
19308 : : {
19309 : 2651 : case SSA_NAME:
19310 : 2651 : if (gimple *_d2 = get_def (valueize, _q20))
19311 : : {
19312 : 2410 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
19313 : 2406 : switch (gimple_assign_rhs_code (_a2))
19314 : : {
19315 : 241 : case LT_EXPR:
19316 : 241 : {
19317 : 241 : tree _q30 = gimple_assign_rhs1 (_a2);
19318 : 241 : _q30 = do_valueize (valueize, _q30);
19319 : 241 : tree _q31 = gimple_assign_rhs2 (_a2);
19320 : 241 : _q31 = do_valueize (valueize, _q31);
19321 : 241 : if (integer_zerop (_q22))
19322 : : {
19323 : 239 : switch (TREE_CODE (_p1))
19324 : : {
19325 : 229 : case SSA_NAME:
19326 : 229 : if (gimple *_d3 = get_def (valueize, _p1))
19327 : : {
19328 : 229 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
19329 : 146 : switch (gimple_assign_rhs_code (_a3))
19330 : : {
19331 : 136 : case VEC_COND_EXPR:
19332 : 136 : {
19333 : 136 : tree _q80 = gimple_assign_rhs1 (_a3);
19334 : 136 : _q80 = do_valueize (valueize, _q80);
19335 : 136 : tree _q81 = gimple_assign_rhs2 (_a3);
19336 : 136 : _q81 = do_valueize (valueize, _q81);
19337 : 136 : tree _q82 = gimple_assign_rhs3 (_a3);
19338 : 136 : _q82 = do_valueize (valueize, _q82);
19339 : 136 : switch (TREE_CODE (_q80))
19340 : : {
19341 : 136 : case SSA_NAME:
19342 : 136 : if (gimple *_d4 = get_def (valueize, _q80))
19343 : : {
19344 : 136 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
19345 : 136 : switch (gimple_assign_rhs_code (_a4))
19346 : : {
19347 : 91 : case GE_EXPR:
19348 : 91 : {
19349 : 91 : tree _q90 = gimple_assign_rhs1 (_a4);
19350 : 91 : _q90 = do_valueize (valueize, _q90);
19351 : 91 : tree _q91 = gimple_assign_rhs2 (_a4);
19352 : 91 : _q91 = do_valueize (valueize, _q91);
19353 : 91 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
19354 : : {
19355 : 91 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
19356 : : {
19357 : 91 : if (integer_zerop (_q82))
19358 : : {
19359 : 91 : {
19360 : 91 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
19361 : 91 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LT_EXPR, GE_EXPR))
19362 : 18 : return true;
19363 : : }
19364 : : }
19365 : : }
19366 : : }
19367 : : break;
19368 : : }
19369 : : default:;
19370 : : }
19371 : : }
19372 : : break;
19373 : : default:;
19374 : : }
19375 : : break;
19376 : : }
19377 : : default:;
19378 : : }
19379 : : }
19380 : : break;
19381 : : default:;
19382 : : }
19383 : : }
19384 : : break;
19385 : : }
19386 : 256 : case LE_EXPR:
19387 : 256 : {
19388 : 256 : tree _q30 = gimple_assign_rhs1 (_a2);
19389 : 256 : _q30 = do_valueize (valueize, _q30);
19390 : 256 : tree _q31 = gimple_assign_rhs2 (_a2);
19391 : 256 : _q31 = do_valueize (valueize, _q31);
19392 : 256 : if (integer_zerop (_q22))
19393 : : {
19394 : 234 : switch (TREE_CODE (_p1))
19395 : : {
19396 : 214 : case SSA_NAME:
19397 : 214 : if (gimple *_d3 = get_def (valueize, _p1))
19398 : : {
19399 : 214 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
19400 : 60 : switch (gimple_assign_rhs_code (_a3))
19401 : : {
19402 : 26 : case VEC_COND_EXPR:
19403 : 26 : {
19404 : 26 : tree _q80 = gimple_assign_rhs1 (_a3);
19405 : 26 : _q80 = do_valueize (valueize, _q80);
19406 : 26 : tree _q81 = gimple_assign_rhs2 (_a3);
19407 : 26 : _q81 = do_valueize (valueize, _q81);
19408 : 26 : tree _q82 = gimple_assign_rhs3 (_a3);
19409 : 26 : _q82 = do_valueize (valueize, _q82);
19410 : 26 : switch (TREE_CODE (_q80))
19411 : : {
19412 : 26 : case SSA_NAME:
19413 : 26 : if (gimple *_d4 = get_def (valueize, _q80))
19414 : : {
19415 : 26 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
19416 : 26 : switch (gimple_assign_rhs_code (_a4))
19417 : : {
19418 : 4 : case GT_EXPR:
19419 : 4 : {
19420 : 4 : tree _q90 = gimple_assign_rhs1 (_a4);
19421 : 4 : _q90 = do_valueize (valueize, _q90);
19422 : 4 : tree _q91 = gimple_assign_rhs2 (_a4);
19423 : 4 : _q91 = do_valueize (valueize, _q91);
19424 : 4 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
19425 : : {
19426 : 1 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
19427 : : {
19428 : 0 : if (integer_zerop (_q82))
19429 : : {
19430 : 0 : {
19431 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
19432 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LE_EXPR, GT_EXPR))
19433 : 0 : return true;
19434 : : }
19435 : : }
19436 : : }
19437 : : }
19438 : : break;
19439 : : }
19440 : : default:;
19441 : : }
19442 : : }
19443 : : break;
19444 : : default:;
19445 : : }
19446 : : break;
19447 : : }
19448 : : default:;
19449 : : }
19450 : : }
19451 : : break;
19452 : : default:;
19453 : : }
19454 : : }
19455 : : break;
19456 : : }
19457 : 8 : case EQ_EXPR:
19458 : 8 : {
19459 : 8 : tree _q30 = gimple_assign_rhs1 (_a2);
19460 : 8 : _q30 = do_valueize (valueize, _q30);
19461 : 8 : tree _q31 = gimple_assign_rhs2 (_a2);
19462 : 8 : _q31 = do_valueize (valueize, _q31);
19463 : 8 : if (tree_swap_operands_p (_q30, _q31))
19464 : 5 : std::swap (_q30, _q31);
19465 : 8 : if (integer_zerop (_q22))
19466 : : {
19467 : 8 : switch (TREE_CODE (_p1))
19468 : : {
19469 : 8 : case SSA_NAME:
19470 : 8 : if (gimple *_d3 = get_def (valueize, _p1))
19471 : : {
19472 : 8 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
19473 : 6 : switch (gimple_assign_rhs_code (_a3))
19474 : : {
19475 : 0 : case VEC_COND_EXPR:
19476 : 0 : {
19477 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
19478 : 0 : _q80 = do_valueize (valueize, _q80);
19479 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
19480 : 0 : _q81 = do_valueize (valueize, _q81);
19481 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
19482 : 0 : _q82 = do_valueize (valueize, _q82);
19483 : 0 : switch (TREE_CODE (_q80))
19484 : : {
19485 : 0 : case SSA_NAME:
19486 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
19487 : : {
19488 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
19489 : 0 : switch (gimple_assign_rhs_code (_a4))
19490 : : {
19491 : 0 : case NE_EXPR:
19492 : 0 : {
19493 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
19494 : 0 : _q90 = do_valueize (valueize, _q90);
19495 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
19496 : 0 : _q91 = do_valueize (valueize, _q91);
19497 : 0 : if (tree_swap_operands_p (_q90, _q91))
19498 : 0 : std::swap (_q90, _q91);
19499 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
19500 : : {
19501 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
19502 : : {
19503 : 0 : if (integer_zerop (_q82))
19504 : : {
19505 : 0 : {
19506 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
19507 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, EQ_EXPR, NE_EXPR))
19508 : 0 : return true;
19509 : : }
19510 : : }
19511 : : }
19512 : : }
19513 : 4279330 : break;
19514 : : }
19515 : : default:;
19516 : : }
19517 : : }
19518 : : break;
19519 : : default:;
19520 : : }
19521 : : break;
19522 : : }
19523 : : default:;
19524 : : }
19525 : : }
19526 : : break;
19527 : : default:;
19528 : : }
19529 : : }
19530 : 4279330 : break;
19531 : : }
19532 : 994 : case NE_EXPR:
19533 : 994 : {
19534 : 994 : tree _q30 = gimple_assign_rhs1 (_a2);
19535 : 994 : _q30 = do_valueize (valueize, _q30);
19536 : 994 : tree _q31 = gimple_assign_rhs2 (_a2);
19537 : 994 : _q31 = do_valueize (valueize, _q31);
19538 : 994 : if (tree_swap_operands_p (_q30, _q31))
19539 : 129 : std::swap (_q30, _q31);
19540 : 994 : if (integer_zerop (_q22))
19541 : : {
19542 : 698 : switch (TREE_CODE (_p1))
19543 : : {
19544 : 322 : case SSA_NAME:
19545 : 322 : if (gimple *_d3 = get_def (valueize, _p1))
19546 : : {
19547 : 320 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
19548 : 305 : switch (gimple_assign_rhs_code (_a3))
19549 : : {
19550 : 92 : case VEC_COND_EXPR:
19551 : 92 : {
19552 : 92 : tree _q80 = gimple_assign_rhs1 (_a3);
19553 : 92 : _q80 = do_valueize (valueize, _q80);
19554 : 92 : tree _q81 = gimple_assign_rhs2 (_a3);
19555 : 92 : _q81 = do_valueize (valueize, _q81);
19556 : 92 : tree _q82 = gimple_assign_rhs3 (_a3);
19557 : 92 : _q82 = do_valueize (valueize, _q82);
19558 : 92 : switch (TREE_CODE (_q80))
19559 : : {
19560 : 92 : case SSA_NAME:
19561 : 92 : if (gimple *_d4 = get_def (valueize, _q80))
19562 : : {
19563 : 90 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
19564 : 90 : switch (gimple_assign_rhs_code (_a4))
19565 : : {
19566 : 2 : case EQ_EXPR:
19567 : 2 : {
19568 : 2 : tree _q90 = gimple_assign_rhs1 (_a4);
19569 : 2 : _q90 = do_valueize (valueize, _q90);
19570 : 2 : tree _q91 = gimple_assign_rhs2 (_a4);
19571 : 2 : _q91 = do_valueize (valueize, _q91);
19572 : 2 : if (tree_swap_operands_p (_q90, _q91))
19573 : 0 : std::swap (_q90, _q91);
19574 : 2 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
19575 : : {
19576 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
19577 : : {
19578 : 0 : if (integer_zerop (_q82))
19579 : : {
19580 : 0 : {
19581 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
19582 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, NE_EXPR, EQ_EXPR))
19583 : 0 : return true;
19584 : : }
19585 : : }
19586 : : }
19587 : : }
19588 : 4279330 : break;
19589 : : }
19590 : : default:;
19591 : : }
19592 : : }
19593 : : break;
19594 : : default:;
19595 : : }
19596 : : break;
19597 : : }
19598 : : default:;
19599 : : }
19600 : : }
19601 : : break;
19602 : : default:;
19603 : : }
19604 : : }
19605 : 4279330 : break;
19606 : : }
19607 : 101 : case GE_EXPR:
19608 : 101 : {
19609 : 101 : tree _q30 = gimple_assign_rhs1 (_a2);
19610 : 101 : _q30 = do_valueize (valueize, _q30);
19611 : 101 : tree _q31 = gimple_assign_rhs2 (_a2);
19612 : 101 : _q31 = do_valueize (valueize, _q31);
19613 : 101 : if (integer_zerop (_q22))
19614 : : {
19615 : 101 : switch (TREE_CODE (_p1))
19616 : : {
19617 : 101 : case SSA_NAME:
19618 : 101 : if (gimple *_d3 = get_def (valueize, _p1))
19619 : : {
19620 : 101 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
19621 : 34 : switch (gimple_assign_rhs_code (_a3))
19622 : : {
19623 : 14 : case VEC_COND_EXPR:
19624 : 14 : {
19625 : 14 : tree _q80 = gimple_assign_rhs1 (_a3);
19626 : 14 : _q80 = do_valueize (valueize, _q80);
19627 : 14 : tree _q81 = gimple_assign_rhs2 (_a3);
19628 : 14 : _q81 = do_valueize (valueize, _q81);
19629 : 14 : tree _q82 = gimple_assign_rhs3 (_a3);
19630 : 14 : _q82 = do_valueize (valueize, _q82);
19631 : 14 : switch (TREE_CODE (_q80))
19632 : : {
19633 : 14 : case SSA_NAME:
19634 : 14 : if (gimple *_d4 = get_def (valueize, _q80))
19635 : : {
19636 : 14 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
19637 : 14 : switch (gimple_assign_rhs_code (_a4))
19638 : : {
19639 : 0 : case LT_EXPR:
19640 : 0 : {
19641 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
19642 : 0 : _q90 = do_valueize (valueize, _q90);
19643 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
19644 : 0 : _q91 = do_valueize (valueize, _q91);
19645 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
19646 : : {
19647 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
19648 : : {
19649 : 0 : if (integer_zerop (_q82))
19650 : : {
19651 : 0 : {
19652 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
19653 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GE_EXPR, LT_EXPR))
19654 : 0 : return true;
19655 : : }
19656 : : }
19657 : : }
19658 : : }
19659 : : break;
19660 : : }
19661 : : default:;
19662 : : }
19663 : : }
19664 : : break;
19665 : : default:;
19666 : : }
19667 : : break;
19668 : : }
19669 : : default:;
19670 : : }
19671 : : }
19672 : : break;
19673 : : default:;
19674 : : }
19675 : : }
19676 : : break;
19677 : : }
19678 : 85 : case GT_EXPR:
19679 : 85 : {
19680 : 85 : tree _q30 = gimple_assign_rhs1 (_a2);
19681 : 85 : _q30 = do_valueize (valueize, _q30);
19682 : 85 : tree _q31 = gimple_assign_rhs2 (_a2);
19683 : 85 : _q31 = do_valueize (valueize, _q31);
19684 : 85 : if (integer_zerop (_q22))
19685 : : {
19686 : 71 : switch (TREE_CODE (_p1))
19687 : : {
19688 : 65 : case SSA_NAME:
19689 : 65 : if (gimple *_d3 = get_def (valueize, _p1))
19690 : : {
19691 : 65 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
19692 : 87 : switch (gimple_assign_rhs_code (_a3))
19693 : : {
19694 : 26 : case VEC_COND_EXPR:
19695 : 26 : {
19696 : 26 : tree _q80 = gimple_assign_rhs1 (_a3);
19697 : 26 : _q80 = do_valueize (valueize, _q80);
19698 : 26 : tree _q81 = gimple_assign_rhs2 (_a3);
19699 : 26 : _q81 = do_valueize (valueize, _q81);
19700 : 26 : tree _q82 = gimple_assign_rhs3 (_a3);
19701 : 26 : _q82 = do_valueize (valueize, _q82);
19702 : 26 : switch (TREE_CODE (_q80))
19703 : : {
19704 : 26 : case SSA_NAME:
19705 : 26 : if (gimple *_d4 = get_def (valueize, _q80))
19706 : : {
19707 : 26 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
19708 : 26 : switch (gimple_assign_rhs_code (_a4))
19709 : : {
19710 : 12 : case LE_EXPR:
19711 : 12 : {
19712 : 12 : tree _q90 = gimple_assign_rhs1 (_a4);
19713 : 12 : _q90 = do_valueize (valueize, _q90);
19714 : 12 : tree _q91 = gimple_assign_rhs2 (_a4);
19715 : 12 : _q91 = do_valueize (valueize, _q91);
19716 : 12 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
19717 : : {
19718 : 11 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
19719 : : {
19720 : 0 : if (integer_zerop (_q82))
19721 : : {
19722 : 0 : {
19723 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
19724 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GT_EXPR, LE_EXPR))
19725 : 0 : return true;
19726 : : }
19727 : : }
19728 : : }
19729 : : }
19730 : : break;
19731 : : }
19732 : : default:;
19733 : : }
19734 : : }
19735 : : break;
19736 : : default:;
19737 : : }
19738 : : break;
19739 : : }
19740 : : default:;
19741 : : }
19742 : : }
19743 : : break;
19744 : : default:;
19745 : : }
19746 : : }
19747 : : break;
19748 : : }
19749 : 0 : case UNORDERED_EXPR:
19750 : 0 : {
19751 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
19752 : 0 : _q30 = do_valueize (valueize, _q30);
19753 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
19754 : 0 : _q31 = do_valueize (valueize, _q31);
19755 : 0 : if (tree_swap_operands_p (_q30, _q31))
19756 : 0 : std::swap (_q30, _q31);
19757 : 0 : if (integer_zerop (_q22))
19758 : : {
19759 : 0 : switch (TREE_CODE (_p1))
19760 : : {
19761 : 0 : case SSA_NAME:
19762 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
19763 : : {
19764 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
19765 : 0 : switch (gimple_assign_rhs_code (_a3))
19766 : : {
19767 : 0 : case VEC_COND_EXPR:
19768 : 0 : {
19769 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
19770 : 0 : _q80 = do_valueize (valueize, _q80);
19771 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
19772 : 0 : _q81 = do_valueize (valueize, _q81);
19773 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
19774 : 0 : _q82 = do_valueize (valueize, _q82);
19775 : 0 : switch (TREE_CODE (_q80))
19776 : : {
19777 : 0 : case SSA_NAME:
19778 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
19779 : : {
19780 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
19781 : 0 : switch (gimple_assign_rhs_code (_a4))
19782 : : {
19783 : 0 : case ORDERED_EXPR:
19784 : 0 : {
19785 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
19786 : 0 : _q90 = do_valueize (valueize, _q90);
19787 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
19788 : 0 : _q91 = do_valueize (valueize, _q91);
19789 : 0 : if (tree_swap_operands_p (_q90, _q91))
19790 : 0 : std::swap (_q90, _q91);
19791 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
19792 : : {
19793 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
19794 : : {
19795 : 0 : if (integer_zerop (_q82))
19796 : : {
19797 : 0 : {
19798 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
19799 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNORDERED_EXPR, ORDERED_EXPR))
19800 : 0 : return true;
19801 : : }
19802 : : }
19803 : : }
19804 : : }
19805 : 4279330 : break;
19806 : : }
19807 : : default:;
19808 : : }
19809 : : }
19810 : : break;
19811 : : default:;
19812 : : }
19813 : : break;
19814 : : }
19815 : : default:;
19816 : : }
19817 : : }
19818 : : break;
19819 : : default:;
19820 : : }
19821 : : }
19822 : 4279330 : break;
19823 : : }
19824 : 0 : case ORDERED_EXPR:
19825 : 0 : {
19826 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
19827 : 0 : _q30 = do_valueize (valueize, _q30);
19828 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
19829 : 0 : _q31 = do_valueize (valueize, _q31);
19830 : 0 : if (tree_swap_operands_p (_q30, _q31))
19831 : 0 : std::swap (_q30, _q31);
19832 : 0 : if (integer_zerop (_q22))
19833 : : {
19834 : 0 : switch (TREE_CODE (_p1))
19835 : : {
19836 : 0 : case SSA_NAME:
19837 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
19838 : : {
19839 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
19840 : 0 : switch (gimple_assign_rhs_code (_a3))
19841 : : {
19842 : 0 : case VEC_COND_EXPR:
19843 : 0 : {
19844 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
19845 : 0 : _q80 = do_valueize (valueize, _q80);
19846 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
19847 : 0 : _q81 = do_valueize (valueize, _q81);
19848 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
19849 : 0 : _q82 = do_valueize (valueize, _q82);
19850 : 0 : switch (TREE_CODE (_q80))
19851 : : {
19852 : 0 : case SSA_NAME:
19853 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
19854 : : {
19855 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
19856 : 0 : switch (gimple_assign_rhs_code (_a4))
19857 : : {
19858 : 0 : case UNORDERED_EXPR:
19859 : 0 : {
19860 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
19861 : 0 : _q90 = do_valueize (valueize, _q90);
19862 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
19863 : 0 : _q91 = do_valueize (valueize, _q91);
19864 : 0 : if (tree_swap_operands_p (_q90, _q91))
19865 : 0 : std::swap (_q90, _q91);
19866 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
19867 : : {
19868 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
19869 : : {
19870 : 0 : if (integer_zerop (_q82))
19871 : : {
19872 : 0 : {
19873 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
19874 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, ORDERED_EXPR, UNORDERED_EXPR))
19875 : 0 : return true;
19876 : : }
19877 : : }
19878 : : }
19879 : : }
19880 : 4279330 : break;
19881 : : }
19882 : : default:;
19883 : : }
19884 : : }
19885 : : break;
19886 : : default:;
19887 : : }
19888 : : break;
19889 : : }
19890 : : default:;
19891 : : }
19892 : : }
19893 : : break;
19894 : : default:;
19895 : : }
19896 : : }
19897 : 4279330 : break;
19898 : : }
19899 : 0 : case UNLT_EXPR:
19900 : 0 : {
19901 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
19902 : 0 : _q30 = do_valueize (valueize, _q30);
19903 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
19904 : 0 : _q31 = do_valueize (valueize, _q31);
19905 : 0 : if (integer_zerop (_q22))
19906 : : {
19907 : 0 : switch (TREE_CODE (_p1))
19908 : : {
19909 : 0 : case SSA_NAME:
19910 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
19911 : : {
19912 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
19913 : 0 : switch (gimple_assign_rhs_code (_a3))
19914 : : {
19915 : 0 : case VEC_COND_EXPR:
19916 : 0 : {
19917 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
19918 : 0 : _q80 = do_valueize (valueize, _q80);
19919 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
19920 : 0 : _q81 = do_valueize (valueize, _q81);
19921 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
19922 : 0 : _q82 = do_valueize (valueize, _q82);
19923 : 0 : switch (TREE_CODE (_q80))
19924 : : {
19925 : 0 : case SSA_NAME:
19926 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
19927 : : {
19928 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
19929 : 0 : switch (gimple_assign_rhs_code (_a4))
19930 : : {
19931 : 0 : case GE_EXPR:
19932 : 0 : {
19933 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
19934 : 0 : _q90 = do_valueize (valueize, _q90);
19935 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
19936 : 0 : _q91 = do_valueize (valueize, _q91);
19937 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
19938 : : {
19939 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
19940 : : {
19941 : 0 : if (integer_zerop (_q82))
19942 : : {
19943 : 0 : {
19944 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
19945 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNLT_EXPR, GE_EXPR))
19946 : 0 : return true;
19947 : : }
19948 : : }
19949 : : }
19950 : : }
19951 : : break;
19952 : : }
19953 : : default:;
19954 : : }
19955 : : }
19956 : : break;
19957 : : default:;
19958 : : }
19959 : : break;
19960 : : }
19961 : : default:;
19962 : : }
19963 : : }
19964 : : break;
19965 : : default:;
19966 : : }
19967 : : }
19968 : : break;
19969 : : }
19970 : 0 : case UNLE_EXPR:
19971 : 0 : {
19972 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
19973 : 0 : _q30 = do_valueize (valueize, _q30);
19974 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
19975 : 0 : _q31 = do_valueize (valueize, _q31);
19976 : 0 : if (integer_zerop (_q22))
19977 : : {
19978 : 0 : switch (TREE_CODE (_p1))
19979 : : {
19980 : 0 : case SSA_NAME:
19981 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
19982 : : {
19983 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
19984 : 0 : switch (gimple_assign_rhs_code (_a3))
19985 : : {
19986 : 0 : case VEC_COND_EXPR:
19987 : 0 : {
19988 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
19989 : 0 : _q80 = do_valueize (valueize, _q80);
19990 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
19991 : 0 : _q81 = do_valueize (valueize, _q81);
19992 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
19993 : 0 : _q82 = do_valueize (valueize, _q82);
19994 : 0 : switch (TREE_CODE (_q80))
19995 : : {
19996 : 0 : case SSA_NAME:
19997 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
19998 : : {
19999 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
20000 : 0 : switch (gimple_assign_rhs_code (_a4))
20001 : : {
20002 : 0 : case GT_EXPR:
20003 : 0 : {
20004 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
20005 : 0 : _q90 = do_valueize (valueize, _q90);
20006 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
20007 : 0 : _q91 = do_valueize (valueize, _q91);
20008 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
20009 : : {
20010 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
20011 : : {
20012 : 0 : if (integer_zerop (_q82))
20013 : : {
20014 : 0 : {
20015 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
20016 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNLE_EXPR, GT_EXPR))
20017 : 0 : return true;
20018 : : }
20019 : : }
20020 : : }
20021 : : }
20022 : : break;
20023 : : }
20024 : : default:;
20025 : : }
20026 : : }
20027 : : break;
20028 : : default:;
20029 : : }
20030 : : break;
20031 : : }
20032 : : default:;
20033 : : }
20034 : : }
20035 : : break;
20036 : : default:;
20037 : : }
20038 : : }
20039 : : break;
20040 : : }
20041 : 0 : case UNGT_EXPR:
20042 : 0 : {
20043 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
20044 : 0 : _q30 = do_valueize (valueize, _q30);
20045 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
20046 : 0 : _q31 = do_valueize (valueize, _q31);
20047 : 0 : if (integer_zerop (_q22))
20048 : : {
20049 : 0 : switch (TREE_CODE (_p1))
20050 : : {
20051 : 0 : case SSA_NAME:
20052 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
20053 : : {
20054 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
20055 : 0 : switch (gimple_assign_rhs_code (_a3))
20056 : : {
20057 : 0 : case VEC_COND_EXPR:
20058 : 0 : {
20059 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
20060 : 0 : _q80 = do_valueize (valueize, _q80);
20061 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
20062 : 0 : _q81 = do_valueize (valueize, _q81);
20063 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
20064 : 0 : _q82 = do_valueize (valueize, _q82);
20065 : 0 : switch (TREE_CODE (_q80))
20066 : : {
20067 : 0 : case SSA_NAME:
20068 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
20069 : : {
20070 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
20071 : 0 : switch (gimple_assign_rhs_code (_a4))
20072 : : {
20073 : 0 : case LE_EXPR:
20074 : 0 : {
20075 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
20076 : 0 : _q90 = do_valueize (valueize, _q90);
20077 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
20078 : 0 : _q91 = do_valueize (valueize, _q91);
20079 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
20080 : : {
20081 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
20082 : : {
20083 : 0 : if (integer_zerop (_q82))
20084 : : {
20085 : 0 : {
20086 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
20087 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNGT_EXPR, LE_EXPR))
20088 : 0 : return true;
20089 : : }
20090 : : }
20091 : : }
20092 : : }
20093 : : break;
20094 : : }
20095 : : default:;
20096 : : }
20097 : : }
20098 : : break;
20099 : : default:;
20100 : : }
20101 : : break;
20102 : : }
20103 : : default:;
20104 : : }
20105 : : }
20106 : : break;
20107 : : default:;
20108 : : }
20109 : : }
20110 : : break;
20111 : : }
20112 : 0 : case UNGE_EXPR:
20113 : 0 : {
20114 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
20115 : 0 : _q30 = do_valueize (valueize, _q30);
20116 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
20117 : 0 : _q31 = do_valueize (valueize, _q31);
20118 : 0 : if (integer_zerop (_q22))
20119 : : {
20120 : 0 : switch (TREE_CODE (_p1))
20121 : : {
20122 : 0 : case SSA_NAME:
20123 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
20124 : : {
20125 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
20126 : 0 : switch (gimple_assign_rhs_code (_a3))
20127 : : {
20128 : 0 : case VEC_COND_EXPR:
20129 : 0 : {
20130 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
20131 : 0 : _q80 = do_valueize (valueize, _q80);
20132 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
20133 : 0 : _q81 = do_valueize (valueize, _q81);
20134 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
20135 : 0 : _q82 = do_valueize (valueize, _q82);
20136 : 0 : switch (TREE_CODE (_q80))
20137 : : {
20138 : 0 : case SSA_NAME:
20139 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
20140 : : {
20141 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
20142 : 0 : switch (gimple_assign_rhs_code (_a4))
20143 : : {
20144 : 0 : case LT_EXPR:
20145 : 0 : {
20146 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
20147 : 0 : _q90 = do_valueize (valueize, _q90);
20148 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
20149 : 0 : _q91 = do_valueize (valueize, _q91);
20150 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
20151 : : {
20152 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
20153 : : {
20154 : 0 : if (integer_zerop (_q82))
20155 : : {
20156 : 0 : {
20157 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
20158 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNGE_EXPR, LT_EXPR))
20159 : 0 : return true;
20160 : : }
20161 : : }
20162 : : }
20163 : : }
20164 : : break;
20165 : : }
20166 : : default:;
20167 : : }
20168 : : }
20169 : : break;
20170 : : default:;
20171 : : }
20172 : : break;
20173 : : }
20174 : : default:;
20175 : : }
20176 : : }
20177 : : break;
20178 : : default:;
20179 : : }
20180 : : }
20181 : : break;
20182 : : }
20183 : 0 : case UNEQ_EXPR:
20184 : 0 : {
20185 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
20186 : 0 : _q30 = do_valueize (valueize, _q30);
20187 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
20188 : 0 : _q31 = do_valueize (valueize, _q31);
20189 : 0 : if (tree_swap_operands_p (_q30, _q31))
20190 : 0 : std::swap (_q30, _q31);
20191 : 0 : if (integer_zerop (_q22))
20192 : : {
20193 : 0 : switch (TREE_CODE (_p1))
20194 : : {
20195 : 0 : case SSA_NAME:
20196 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
20197 : : {
20198 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
20199 : 0 : switch (gimple_assign_rhs_code (_a3))
20200 : : {
20201 : 0 : case VEC_COND_EXPR:
20202 : 0 : {
20203 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
20204 : 0 : _q80 = do_valueize (valueize, _q80);
20205 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
20206 : 0 : _q81 = do_valueize (valueize, _q81);
20207 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
20208 : 0 : _q82 = do_valueize (valueize, _q82);
20209 : 0 : switch (TREE_CODE (_q80))
20210 : : {
20211 : 0 : case SSA_NAME:
20212 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
20213 : : {
20214 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
20215 : 0 : switch (gimple_assign_rhs_code (_a4))
20216 : : {
20217 : 0 : case LTGT_EXPR:
20218 : 0 : {
20219 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
20220 : 0 : _q90 = do_valueize (valueize, _q90);
20221 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
20222 : 0 : _q91 = do_valueize (valueize, _q91);
20223 : 0 : if (tree_swap_operands_p (_q90, _q91))
20224 : 0 : std::swap (_q90, _q91);
20225 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
20226 : : {
20227 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
20228 : : {
20229 : 0 : if (integer_zerop (_q82))
20230 : : {
20231 : 0 : {
20232 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
20233 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNEQ_EXPR, LTGT_EXPR))
20234 : 0 : return true;
20235 : : }
20236 : : }
20237 : : }
20238 : : }
20239 : 4279330 : break;
20240 : : }
20241 : : default:;
20242 : : }
20243 : : }
20244 : : break;
20245 : : default:;
20246 : : }
20247 : : break;
20248 : : }
20249 : : default:;
20250 : : }
20251 : : }
20252 : : break;
20253 : : default:;
20254 : : }
20255 : : }
20256 : 4279330 : break;
20257 : : }
20258 : 0 : case LTGT_EXPR:
20259 : 0 : {
20260 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
20261 : 0 : _q30 = do_valueize (valueize, _q30);
20262 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
20263 : 0 : _q31 = do_valueize (valueize, _q31);
20264 : 0 : if (tree_swap_operands_p (_q30, _q31))
20265 : 0 : std::swap (_q30, _q31);
20266 : 0 : if (integer_zerop (_q22))
20267 : : {
20268 : 0 : switch (TREE_CODE (_p1))
20269 : : {
20270 : 0 : case SSA_NAME:
20271 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
20272 : : {
20273 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
20274 : 0 : switch (gimple_assign_rhs_code (_a3))
20275 : : {
20276 : 0 : case VEC_COND_EXPR:
20277 : 0 : {
20278 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
20279 : 0 : _q80 = do_valueize (valueize, _q80);
20280 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
20281 : 0 : _q81 = do_valueize (valueize, _q81);
20282 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
20283 : 0 : _q82 = do_valueize (valueize, _q82);
20284 : 0 : switch (TREE_CODE (_q80))
20285 : : {
20286 : 0 : case SSA_NAME:
20287 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
20288 : : {
20289 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
20290 : 0 : switch (gimple_assign_rhs_code (_a4))
20291 : : {
20292 : 0 : case UNEQ_EXPR:
20293 : 0 : {
20294 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
20295 : 0 : _q90 = do_valueize (valueize, _q90);
20296 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
20297 : 0 : _q91 = do_valueize (valueize, _q91);
20298 : 0 : if (tree_swap_operands_p (_q90, _q91))
20299 : 0 : std::swap (_q90, _q91);
20300 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
20301 : : {
20302 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
20303 : : {
20304 : 0 : if (integer_zerop (_q82))
20305 : : {
20306 : 0 : {
20307 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
20308 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LTGT_EXPR, UNEQ_EXPR))
20309 : 0 : return true;
20310 : : }
20311 : : }
20312 : : }
20313 : : }
20314 : 4279330 : break;
20315 : : }
20316 : : default:;
20317 : : }
20318 : : }
20319 : : break;
20320 : : default:;
20321 : : }
20322 : : break;
20323 : : }
20324 : : default:;
20325 : : }
20326 : : }
20327 : : break;
20328 : : default:;
20329 : : }
20330 : : }
20331 : 4279330 : break;
20332 : : }
20333 : : default:;
20334 : : }
20335 : : }
20336 : : break;
20337 : : default:;
20338 : : }
20339 : : break;
20340 : : }
20341 : 318383 : case BIT_AND_EXPR:
20342 : 318383 : {
20343 : 318383 : tree _q20 = gimple_assign_rhs1 (_a1);
20344 : 318383 : _q20 = do_valueize (valueize, _q20);
20345 : 318383 : tree _q21 = gimple_assign_rhs2 (_a1);
20346 : 318383 : _q21 = do_valueize (valueize, _q21);
20347 : 318383 : if (tree_swap_operands_p (_q20, _q21))
20348 : 8501 : std::swap (_q20, _q21);
20349 : 318383 : switch (TREE_CODE (_q20))
20350 : : {
20351 : 318383 : case SSA_NAME:
20352 : 318383 : if (gimple *_d2 = get_def (valueize, _q20))
20353 : : {
20354 : 280594 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
20355 : 261199 : switch (gimple_assign_rhs_code (_a2))
20356 : : {
20357 : 39887 : CASE_CONVERT:
20358 : 39887 : {
20359 : 39887 : tree _q30 = gimple_assign_rhs1 (_a2);
20360 : 39887 : _q30 = do_valueize (valueize, _q30);
20361 : 39887 : switch (TREE_CODE (_q30))
20362 : : {
20363 : 39887 : case SSA_NAME:
20364 : 39887 : if (gimple *_d3 = get_def (valueize, _q30))
20365 : : {
20366 : 36659 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
20367 : 32217 : switch (gimple_assign_rhs_code (_a3))
20368 : : {
20369 : 108 : case LT_EXPR:
20370 : 108 : {
20371 : 108 : tree _q40 = gimple_assign_rhs1 (_a3);
20372 : 108 : _q40 = do_valueize (valueize, _q40);
20373 : 108 : tree _q41 = gimple_assign_rhs2 (_a3);
20374 : 108 : _q41 = do_valueize (valueize, _q41);
20375 : 108 : switch (TREE_CODE (_p1))
20376 : : {
20377 : 108 : case SSA_NAME:
20378 : 108 : if (gimple *_d4 = get_def (valueize, _p1))
20379 : : {
20380 : 108 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
20381 : 108 : switch (gimple_assign_rhs_code (_a4))
20382 : : {
20383 : 108 : case BIT_AND_EXPR:
20384 : 108 : {
20385 : 108 : tree _q80 = gimple_assign_rhs1 (_a4);
20386 : 108 : _q80 = do_valueize (valueize, _q80);
20387 : 108 : tree _q81 = gimple_assign_rhs2 (_a4);
20388 : 108 : _q81 = do_valueize (valueize, _q81);
20389 : 108 : if (tree_swap_operands_p (_q80, _q81))
20390 : 7 : std::swap (_q80, _q81);
20391 : 108 : switch (TREE_CODE (_q80))
20392 : : {
20393 : 108 : case SSA_NAME:
20394 : 108 : if (gimple *_d5 = get_def (valueize, _q80))
20395 : : {
20396 : 108 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
20397 : 108 : switch (gimple_assign_rhs_code (_a5))
20398 : : {
20399 : 108 : CASE_CONVERT:
20400 : 108 : {
20401 : 108 : tree _q90 = gimple_assign_rhs1 (_a5);
20402 : 108 : _q90 = do_valueize (valueize, _q90);
20403 : 108 : switch (TREE_CODE (_q90))
20404 : : {
20405 : 108 : case SSA_NAME:
20406 : 108 : if (gimple *_d6 = get_def (valueize, _q90))
20407 : : {
20408 : 108 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
20409 : 108 : switch (gimple_assign_rhs_code (_a6))
20410 : : {
20411 : 108 : case GE_EXPR:
20412 : 108 : {
20413 : 108 : tree _q100 = gimple_assign_rhs1 (_a6);
20414 : 108 : _q100 = do_valueize (valueize, _q100);
20415 : 108 : tree _q101 = gimple_assign_rhs2 (_a6);
20416 : 108 : _q101 = do_valueize (valueize, _q101);
20417 : 108 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
20418 : : {
20419 : 108 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
20420 : : {
20421 : 108 : {
20422 : 108 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
20423 : 108 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
20424 : 0 : return true;
20425 : : }
20426 : : }
20427 : : }
20428 : : break;
20429 : : }
20430 : : default:;
20431 : : }
20432 : : }
20433 : : break;
20434 : : default:;
20435 : : }
20436 : : break;
20437 : : }
20438 : : default:;
20439 : : }
20440 : : }
20441 : : break;
20442 : 108 : default:;
20443 : : }
20444 : 108 : switch (TREE_CODE (_q81))
20445 : : {
20446 : 108 : case SSA_NAME:
20447 : 108 : if (gimple *_d5 = get_def (valueize, _q81))
20448 : : {
20449 : 108 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
20450 : 0 : switch (gimple_assign_rhs_code (_a5))
20451 : : {
20452 : 0 : CASE_CONVERT:
20453 : 0 : {
20454 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
20455 : 0 : _q100 = do_valueize (valueize, _q100);
20456 : 0 : switch (TREE_CODE (_q100))
20457 : : {
20458 : 0 : case SSA_NAME:
20459 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
20460 : : {
20461 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
20462 : 0 : switch (gimple_assign_rhs_code (_a6))
20463 : : {
20464 : 0 : case GE_EXPR:
20465 : 0 : {
20466 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
20467 : 0 : _q110 = do_valueize (valueize, _q110);
20468 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
20469 : 0 : _q111 = do_valueize (valueize, _q111);
20470 : 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
20471 : : {
20472 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
20473 : : {
20474 : 0 : {
20475 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
20476 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
20477 : 0 : return true;
20478 : : }
20479 : : }
20480 : : }
20481 : : break;
20482 : : }
20483 : : default:;
20484 : : }
20485 : : }
20486 : : break;
20487 : : default:;
20488 : : }
20489 : : break;
20490 : : }
20491 : : default:;
20492 : : }
20493 : : }
20494 : : break;
20495 : : default:;
20496 : : }
20497 : 318383 : break;
20498 : : }
20499 : : default:;
20500 : : }
20501 : : }
20502 : : break;
20503 : : default:;
20504 : : }
20505 : : break;
20506 : : }
20507 : 0 : case LE_EXPR:
20508 : 0 : {
20509 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
20510 : 0 : _q40 = do_valueize (valueize, _q40);
20511 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
20512 : 0 : _q41 = do_valueize (valueize, _q41);
20513 : 0 : switch (TREE_CODE (_p1))
20514 : : {
20515 : 0 : case SSA_NAME:
20516 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
20517 : : {
20518 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
20519 : 0 : switch (gimple_assign_rhs_code (_a4))
20520 : : {
20521 : 0 : case BIT_AND_EXPR:
20522 : 0 : {
20523 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
20524 : 0 : _q80 = do_valueize (valueize, _q80);
20525 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
20526 : 0 : _q81 = do_valueize (valueize, _q81);
20527 : 0 : if (tree_swap_operands_p (_q80, _q81))
20528 : 0 : std::swap (_q80, _q81);
20529 : 0 : switch (TREE_CODE (_q80))
20530 : : {
20531 : 0 : case SSA_NAME:
20532 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
20533 : : {
20534 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
20535 : 0 : switch (gimple_assign_rhs_code (_a5))
20536 : : {
20537 : 0 : CASE_CONVERT:
20538 : 0 : {
20539 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
20540 : 0 : _q90 = do_valueize (valueize, _q90);
20541 : 0 : switch (TREE_CODE (_q90))
20542 : : {
20543 : 0 : case SSA_NAME:
20544 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
20545 : : {
20546 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
20547 : 0 : switch (gimple_assign_rhs_code (_a6))
20548 : : {
20549 : 0 : case GT_EXPR:
20550 : 0 : {
20551 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
20552 : 0 : _q100 = do_valueize (valueize, _q100);
20553 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
20554 : 0 : _q101 = do_valueize (valueize, _q101);
20555 : 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
20556 : : {
20557 : 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
20558 : : {
20559 : 0 : {
20560 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
20561 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
20562 : 0 : return true;
20563 : : }
20564 : : }
20565 : : }
20566 : : break;
20567 : : }
20568 : : default:;
20569 : : }
20570 : : }
20571 : : break;
20572 : : default:;
20573 : : }
20574 : : break;
20575 : : }
20576 : : default:;
20577 : : }
20578 : : }
20579 : : break;
20580 : 0 : default:;
20581 : : }
20582 : 0 : switch (TREE_CODE (_q81))
20583 : : {
20584 : 0 : case SSA_NAME:
20585 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
20586 : : {
20587 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
20588 : 0 : switch (gimple_assign_rhs_code (_a5))
20589 : : {
20590 : 0 : CASE_CONVERT:
20591 : 0 : {
20592 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
20593 : 0 : _q100 = do_valueize (valueize, _q100);
20594 : 0 : switch (TREE_CODE (_q100))
20595 : : {
20596 : 0 : case SSA_NAME:
20597 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
20598 : : {
20599 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
20600 : 0 : switch (gimple_assign_rhs_code (_a6))
20601 : : {
20602 : 0 : case GT_EXPR:
20603 : 0 : {
20604 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
20605 : 0 : _q110 = do_valueize (valueize, _q110);
20606 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
20607 : 0 : _q111 = do_valueize (valueize, _q111);
20608 : 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
20609 : : {
20610 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
20611 : : {
20612 : 0 : {
20613 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
20614 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
20615 : 0 : return true;
20616 : : }
20617 : : }
20618 : : }
20619 : : break;
20620 : : }
20621 : : default:;
20622 : : }
20623 : : }
20624 : : break;
20625 : : default:;
20626 : : }
20627 : : break;
20628 : : }
20629 : : default:;
20630 : : }
20631 : : }
20632 : : break;
20633 : : default:;
20634 : : }
20635 : 318383 : break;
20636 : : }
20637 : : default:;
20638 : : }
20639 : : }
20640 : : break;
20641 : : default:;
20642 : : }
20643 : : break;
20644 : : }
20645 : 12 : case EQ_EXPR:
20646 : 12 : {
20647 : 12 : tree _q40 = gimple_assign_rhs1 (_a3);
20648 : 12 : _q40 = do_valueize (valueize, _q40);
20649 : 12 : tree _q41 = gimple_assign_rhs2 (_a3);
20650 : 12 : _q41 = do_valueize (valueize, _q41);
20651 : 12 : if (tree_swap_operands_p (_q40, _q41))
20652 : 0 : std::swap (_q40, _q41);
20653 : 12 : switch (TREE_CODE (_p1))
20654 : : {
20655 : 12 : case SSA_NAME:
20656 : 12 : if (gimple *_d4 = get_def (valueize, _p1))
20657 : : {
20658 : 12 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
20659 : 12 : switch (gimple_assign_rhs_code (_a4))
20660 : : {
20661 : 12 : case BIT_AND_EXPR:
20662 : 12 : {
20663 : 12 : tree _q80 = gimple_assign_rhs1 (_a4);
20664 : 12 : _q80 = do_valueize (valueize, _q80);
20665 : 12 : tree _q81 = gimple_assign_rhs2 (_a4);
20666 : 12 : _q81 = do_valueize (valueize, _q81);
20667 : 12 : if (tree_swap_operands_p (_q80, _q81))
20668 : 0 : std::swap (_q80, _q81);
20669 : 12 : switch (TREE_CODE (_q80))
20670 : : {
20671 : 12 : case SSA_NAME:
20672 : 12 : if (gimple *_d5 = get_def (valueize, _q80))
20673 : : {
20674 : 12 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
20675 : 12 : switch (gimple_assign_rhs_code (_a5))
20676 : : {
20677 : 12 : CASE_CONVERT:
20678 : 12 : {
20679 : 12 : tree _q90 = gimple_assign_rhs1 (_a5);
20680 : 12 : _q90 = do_valueize (valueize, _q90);
20681 : 12 : switch (TREE_CODE (_q90))
20682 : : {
20683 : 12 : case SSA_NAME:
20684 : 12 : if (gimple *_d6 = get_def (valueize, _q90))
20685 : : {
20686 : 12 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
20687 : 12 : switch (gimple_assign_rhs_code (_a6))
20688 : : {
20689 : 0 : case NE_EXPR:
20690 : 0 : {
20691 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
20692 : 0 : _q100 = do_valueize (valueize, _q100);
20693 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
20694 : 0 : _q101 = do_valueize (valueize, _q101);
20695 : 0 : if (tree_swap_operands_p (_q100, _q101))
20696 : 0 : std::swap (_q100, _q101);
20697 : 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
20698 : : {
20699 : 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
20700 : : {
20701 : 0 : {
20702 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
20703 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
20704 : 0 : return true;
20705 : : }
20706 : : }
20707 : : }
20708 : 12 : break;
20709 : : }
20710 : : default:;
20711 : : }
20712 : : }
20713 : : break;
20714 : : default:;
20715 : : }
20716 : : break;
20717 : : }
20718 : : default:;
20719 : : }
20720 : : }
20721 : : break;
20722 : 12 : default:;
20723 : : }
20724 : 12 : switch (TREE_CODE (_q81))
20725 : : {
20726 : 12 : case SSA_NAME:
20727 : 12 : if (gimple *_d5 = get_def (valueize, _q81))
20728 : : {
20729 : 12 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
20730 : 2 : switch (gimple_assign_rhs_code (_a5))
20731 : : {
20732 : 2 : CASE_CONVERT:
20733 : 2 : {
20734 : 2 : tree _q100 = gimple_assign_rhs1 (_a5);
20735 : 2 : _q100 = do_valueize (valueize, _q100);
20736 : 2 : switch (TREE_CODE (_q100))
20737 : : {
20738 : 2 : case SSA_NAME:
20739 : 2 : if (gimple *_d6 = get_def (valueize, _q100))
20740 : : {
20741 : 2 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
20742 : 2 : switch (gimple_assign_rhs_code (_a6))
20743 : : {
20744 : 0 : case NE_EXPR:
20745 : 0 : {
20746 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
20747 : 0 : _q110 = do_valueize (valueize, _q110);
20748 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
20749 : 0 : _q111 = do_valueize (valueize, _q111);
20750 : 0 : if (tree_swap_operands_p (_q110, _q111))
20751 : 0 : std::swap (_q110, _q111);
20752 : 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
20753 : : {
20754 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
20755 : : {
20756 : 0 : {
20757 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
20758 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
20759 : 0 : return true;
20760 : : }
20761 : : }
20762 : : }
20763 : 318383 : break;
20764 : : }
20765 : : default:;
20766 : : }
20767 : : }
20768 : : break;
20769 : : default:;
20770 : : }
20771 : : break;
20772 : : }
20773 : : default:;
20774 : : }
20775 : : }
20776 : : break;
20777 : : default:;
20778 : : }
20779 : 318383 : break;
20780 : : }
20781 : : default:;
20782 : : }
20783 : : }
20784 : : break;
20785 : : default:;
20786 : : }
20787 : 318383 : break;
20788 : : }
20789 : 92 : case NE_EXPR:
20790 : 92 : {
20791 : 92 : tree _q40 = gimple_assign_rhs1 (_a3);
20792 : 92 : _q40 = do_valueize (valueize, _q40);
20793 : 92 : tree _q41 = gimple_assign_rhs2 (_a3);
20794 : 92 : _q41 = do_valueize (valueize, _q41);
20795 : 92 : if (tree_swap_operands_p (_q40, _q41))
20796 : 0 : std::swap (_q40, _q41);
20797 : 92 : switch (TREE_CODE (_p1))
20798 : : {
20799 : 88 : case SSA_NAME:
20800 : 88 : if (gimple *_d4 = get_def (valueize, _p1))
20801 : : {
20802 : 88 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
20803 : 88 : switch (gimple_assign_rhs_code (_a4))
20804 : : {
20805 : 88 : case BIT_AND_EXPR:
20806 : 88 : {
20807 : 88 : tree _q80 = gimple_assign_rhs1 (_a4);
20808 : 88 : _q80 = do_valueize (valueize, _q80);
20809 : 88 : tree _q81 = gimple_assign_rhs2 (_a4);
20810 : 88 : _q81 = do_valueize (valueize, _q81);
20811 : 88 : if (tree_swap_operands_p (_q80, _q81))
20812 : 0 : std::swap (_q80, _q81);
20813 : 88 : switch (TREE_CODE (_q80))
20814 : : {
20815 : 88 : case SSA_NAME:
20816 : 88 : if (gimple *_d5 = get_def (valueize, _q80))
20817 : : {
20818 : 88 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
20819 : 88 : switch (gimple_assign_rhs_code (_a5))
20820 : : {
20821 : 88 : CASE_CONVERT:
20822 : 88 : {
20823 : 88 : tree _q90 = gimple_assign_rhs1 (_a5);
20824 : 88 : _q90 = do_valueize (valueize, _q90);
20825 : 88 : switch (TREE_CODE (_q90))
20826 : : {
20827 : 88 : case SSA_NAME:
20828 : 88 : if (gimple *_d6 = get_def (valueize, _q90))
20829 : : {
20830 : 88 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
20831 : 88 : switch (gimple_assign_rhs_code (_a6))
20832 : : {
20833 : 0 : case EQ_EXPR:
20834 : 0 : {
20835 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
20836 : 0 : _q100 = do_valueize (valueize, _q100);
20837 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
20838 : 0 : _q101 = do_valueize (valueize, _q101);
20839 : 0 : if (tree_swap_operands_p (_q100, _q101))
20840 : 0 : std::swap (_q100, _q101);
20841 : 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
20842 : : {
20843 : 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
20844 : : {
20845 : 0 : {
20846 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
20847 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
20848 : 0 : return true;
20849 : : }
20850 : : }
20851 : : }
20852 : 88 : break;
20853 : : }
20854 : : default:;
20855 : : }
20856 : : }
20857 : : break;
20858 : : default:;
20859 : : }
20860 : : break;
20861 : : }
20862 : : default:;
20863 : : }
20864 : : }
20865 : : break;
20866 : 88 : default:;
20867 : : }
20868 : 88 : switch (TREE_CODE (_q81))
20869 : : {
20870 : 88 : case SSA_NAME:
20871 : 88 : if (gimple *_d5 = get_def (valueize, _q81))
20872 : : {
20873 : 88 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
20874 : 88 : switch (gimple_assign_rhs_code (_a5))
20875 : : {
20876 : 88 : CASE_CONVERT:
20877 : 88 : {
20878 : 88 : tree _q100 = gimple_assign_rhs1 (_a5);
20879 : 88 : _q100 = do_valueize (valueize, _q100);
20880 : 88 : switch (TREE_CODE (_q100))
20881 : : {
20882 : 88 : case SSA_NAME:
20883 : 88 : if (gimple *_d6 = get_def (valueize, _q100))
20884 : : {
20885 : 88 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
20886 : 88 : switch (gimple_assign_rhs_code (_a6))
20887 : : {
20888 : 88 : case EQ_EXPR:
20889 : 88 : {
20890 : 88 : tree _q110 = gimple_assign_rhs1 (_a6);
20891 : 88 : _q110 = do_valueize (valueize, _q110);
20892 : 88 : tree _q111 = gimple_assign_rhs2 (_a6);
20893 : 88 : _q111 = do_valueize (valueize, _q111);
20894 : 88 : if (tree_swap_operands_p (_q110, _q111))
20895 : 0 : std::swap (_q110, _q111);
20896 : 88 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
20897 : : {
20898 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
20899 : : {
20900 : 0 : {
20901 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
20902 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
20903 : 0 : return true;
20904 : : }
20905 : : }
20906 : : }
20907 : 318383 : break;
20908 : : }
20909 : : default:;
20910 : : }
20911 : : }
20912 : : break;
20913 : : default:;
20914 : : }
20915 : : break;
20916 : : }
20917 : : default:;
20918 : : }
20919 : : }
20920 : : break;
20921 : : default:;
20922 : : }
20923 : 318383 : break;
20924 : : }
20925 : : default:;
20926 : : }
20927 : : }
20928 : : break;
20929 : : default:;
20930 : : }
20931 : 318383 : break;
20932 : : }
20933 : 6 : case GE_EXPR:
20934 : 6 : {
20935 : 6 : tree _q40 = gimple_assign_rhs1 (_a3);
20936 : 6 : _q40 = do_valueize (valueize, _q40);
20937 : 6 : tree _q41 = gimple_assign_rhs2 (_a3);
20938 : 6 : _q41 = do_valueize (valueize, _q41);
20939 : 6 : switch (TREE_CODE (_p1))
20940 : : {
20941 : 6 : case SSA_NAME:
20942 : 6 : if (gimple *_d4 = get_def (valueize, _p1))
20943 : : {
20944 : 6 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
20945 : 0 : switch (gimple_assign_rhs_code (_a4))
20946 : : {
20947 : 0 : case BIT_AND_EXPR:
20948 : 0 : {
20949 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
20950 : 0 : _q80 = do_valueize (valueize, _q80);
20951 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
20952 : 0 : _q81 = do_valueize (valueize, _q81);
20953 : 0 : if (tree_swap_operands_p (_q80, _q81))
20954 : 0 : std::swap (_q80, _q81);
20955 : 0 : switch (TREE_CODE (_q80))
20956 : : {
20957 : 0 : case SSA_NAME:
20958 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
20959 : : {
20960 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
20961 : 0 : switch (gimple_assign_rhs_code (_a5))
20962 : : {
20963 : 0 : CASE_CONVERT:
20964 : 0 : {
20965 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
20966 : 0 : _q90 = do_valueize (valueize, _q90);
20967 : 0 : switch (TREE_CODE (_q90))
20968 : : {
20969 : 0 : case SSA_NAME:
20970 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
20971 : : {
20972 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
20973 : 0 : switch (gimple_assign_rhs_code (_a6))
20974 : : {
20975 : 0 : case LT_EXPR:
20976 : 0 : {
20977 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
20978 : 0 : _q100 = do_valueize (valueize, _q100);
20979 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
20980 : 0 : _q101 = do_valueize (valueize, _q101);
20981 : 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
20982 : : {
20983 : 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
20984 : : {
20985 : 0 : {
20986 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
20987 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
20988 : 0 : return true;
20989 : : }
20990 : : }
20991 : : }
20992 : : break;
20993 : : }
20994 : : default:;
20995 : : }
20996 : : }
20997 : : break;
20998 : : default:;
20999 : : }
21000 : : break;
21001 : : }
21002 : : default:;
21003 : : }
21004 : : }
21005 : : break;
21006 : 0 : default:;
21007 : : }
21008 : 0 : switch (TREE_CODE (_q81))
21009 : : {
21010 : 0 : case SSA_NAME:
21011 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
21012 : : {
21013 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
21014 : 0 : switch (gimple_assign_rhs_code (_a5))
21015 : : {
21016 : 0 : CASE_CONVERT:
21017 : 0 : {
21018 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
21019 : 0 : _q100 = do_valueize (valueize, _q100);
21020 : 0 : switch (TREE_CODE (_q100))
21021 : : {
21022 : 0 : case SSA_NAME:
21023 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
21024 : : {
21025 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
21026 : 0 : switch (gimple_assign_rhs_code (_a6))
21027 : : {
21028 : 0 : case LT_EXPR:
21029 : 0 : {
21030 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
21031 : 0 : _q110 = do_valueize (valueize, _q110);
21032 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
21033 : 0 : _q111 = do_valueize (valueize, _q111);
21034 : 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
21035 : : {
21036 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
21037 : : {
21038 : 0 : {
21039 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
21040 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
21041 : 0 : return true;
21042 : : }
21043 : : }
21044 : : }
21045 : : break;
21046 : : }
21047 : : default:;
21048 : : }
21049 : : }
21050 : : break;
21051 : : default:;
21052 : : }
21053 : : break;
21054 : : }
21055 : : default:;
21056 : : }
21057 : : }
21058 : : break;
21059 : : default:;
21060 : : }
21061 : 318383 : break;
21062 : : }
21063 : : default:;
21064 : : }
21065 : : }
21066 : : break;
21067 : : default:;
21068 : : }
21069 : : break;
21070 : : }
21071 : 0 : case GT_EXPR:
21072 : 0 : {
21073 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
21074 : 0 : _q40 = do_valueize (valueize, _q40);
21075 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
21076 : 0 : _q41 = do_valueize (valueize, _q41);
21077 : 0 : switch (TREE_CODE (_p1))
21078 : : {
21079 : 0 : case SSA_NAME:
21080 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
21081 : : {
21082 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
21083 : 0 : switch (gimple_assign_rhs_code (_a4))
21084 : : {
21085 : 0 : case BIT_AND_EXPR:
21086 : 0 : {
21087 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
21088 : 0 : _q80 = do_valueize (valueize, _q80);
21089 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
21090 : 0 : _q81 = do_valueize (valueize, _q81);
21091 : 0 : if (tree_swap_operands_p (_q80, _q81))
21092 : 0 : std::swap (_q80, _q81);
21093 : 0 : switch (TREE_CODE (_q80))
21094 : : {
21095 : 0 : case SSA_NAME:
21096 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
21097 : : {
21098 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
21099 : 0 : switch (gimple_assign_rhs_code (_a5))
21100 : : {
21101 : 0 : CASE_CONVERT:
21102 : 0 : {
21103 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
21104 : 0 : _q90 = do_valueize (valueize, _q90);
21105 : 0 : switch (TREE_CODE (_q90))
21106 : : {
21107 : 0 : case SSA_NAME:
21108 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
21109 : : {
21110 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
21111 : 0 : switch (gimple_assign_rhs_code (_a6))
21112 : : {
21113 : 0 : case LE_EXPR:
21114 : 0 : {
21115 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
21116 : 0 : _q100 = do_valueize (valueize, _q100);
21117 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
21118 : 0 : _q101 = do_valueize (valueize, _q101);
21119 : 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
21120 : : {
21121 : 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
21122 : : {
21123 : 0 : {
21124 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
21125 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
21126 : 0 : return true;
21127 : : }
21128 : : }
21129 : : }
21130 : : break;
21131 : : }
21132 : : default:;
21133 : : }
21134 : : }
21135 : : break;
21136 : : default:;
21137 : : }
21138 : : break;
21139 : : }
21140 : : default:;
21141 : : }
21142 : : }
21143 : : break;
21144 : 0 : default:;
21145 : : }
21146 : 0 : switch (TREE_CODE (_q81))
21147 : : {
21148 : 0 : case SSA_NAME:
21149 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
21150 : : {
21151 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
21152 : 0 : switch (gimple_assign_rhs_code (_a5))
21153 : : {
21154 : 0 : CASE_CONVERT:
21155 : 0 : {
21156 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
21157 : 0 : _q100 = do_valueize (valueize, _q100);
21158 : 0 : switch (TREE_CODE (_q100))
21159 : : {
21160 : 0 : case SSA_NAME:
21161 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
21162 : : {
21163 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
21164 : 0 : switch (gimple_assign_rhs_code (_a6))
21165 : : {
21166 : 0 : case LE_EXPR:
21167 : 0 : {
21168 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
21169 : 0 : _q110 = do_valueize (valueize, _q110);
21170 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
21171 : 0 : _q111 = do_valueize (valueize, _q111);
21172 : 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
21173 : : {
21174 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
21175 : : {
21176 : 0 : {
21177 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
21178 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
21179 : 0 : return true;
21180 : : }
21181 : : }
21182 : : }
21183 : : break;
21184 : : }
21185 : : default:;
21186 : : }
21187 : : }
21188 : : break;
21189 : : default:;
21190 : : }
21191 : : break;
21192 : : }
21193 : : default:;
21194 : : }
21195 : : }
21196 : : break;
21197 : : default:;
21198 : : }
21199 : 318383 : break;
21200 : : }
21201 : : default:;
21202 : : }
21203 : : }
21204 : : break;
21205 : : default:;
21206 : : }
21207 : : break;
21208 : : }
21209 : 0 : case UNORDERED_EXPR:
21210 : 0 : {
21211 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
21212 : 0 : _q40 = do_valueize (valueize, _q40);
21213 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
21214 : 0 : _q41 = do_valueize (valueize, _q41);
21215 : 0 : if (tree_swap_operands_p (_q40, _q41))
21216 : 0 : std::swap (_q40, _q41);
21217 : 0 : switch (TREE_CODE (_p1))
21218 : : {
21219 : 0 : case SSA_NAME:
21220 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
21221 : : {
21222 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
21223 : 0 : switch (gimple_assign_rhs_code (_a4))
21224 : : {
21225 : 0 : case BIT_AND_EXPR:
21226 : 0 : {
21227 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
21228 : 0 : _q80 = do_valueize (valueize, _q80);
21229 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
21230 : 0 : _q81 = do_valueize (valueize, _q81);
21231 : 0 : if (tree_swap_operands_p (_q80, _q81))
21232 : 0 : std::swap (_q80, _q81);
21233 : 0 : switch (TREE_CODE (_q80))
21234 : : {
21235 : 0 : case SSA_NAME:
21236 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
21237 : : {
21238 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
21239 : 0 : switch (gimple_assign_rhs_code (_a5))
21240 : : {
21241 : 0 : CASE_CONVERT:
21242 : 0 : {
21243 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
21244 : 0 : _q90 = do_valueize (valueize, _q90);
21245 : 0 : switch (TREE_CODE (_q90))
21246 : : {
21247 : 0 : case SSA_NAME:
21248 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
21249 : : {
21250 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
21251 : 0 : switch (gimple_assign_rhs_code (_a6))
21252 : : {
21253 : 0 : case ORDERED_EXPR:
21254 : 0 : {
21255 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
21256 : 0 : _q100 = do_valueize (valueize, _q100);
21257 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
21258 : 0 : _q101 = do_valueize (valueize, _q101);
21259 : 0 : if (tree_swap_operands_p (_q100, _q101))
21260 : 0 : std::swap (_q100, _q101);
21261 : 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
21262 : : {
21263 : 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
21264 : : {
21265 : 0 : {
21266 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
21267 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
21268 : 0 : return true;
21269 : : }
21270 : : }
21271 : : }
21272 : 0 : break;
21273 : : }
21274 : : default:;
21275 : : }
21276 : : }
21277 : : break;
21278 : : default:;
21279 : : }
21280 : : break;
21281 : : }
21282 : : default:;
21283 : : }
21284 : : }
21285 : : break;
21286 : 0 : default:;
21287 : : }
21288 : 0 : switch (TREE_CODE (_q81))
21289 : : {
21290 : 0 : case SSA_NAME:
21291 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
21292 : : {
21293 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
21294 : 0 : switch (gimple_assign_rhs_code (_a5))
21295 : : {
21296 : 0 : CASE_CONVERT:
21297 : 0 : {
21298 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
21299 : 0 : _q100 = do_valueize (valueize, _q100);
21300 : 0 : switch (TREE_CODE (_q100))
21301 : : {
21302 : 0 : case SSA_NAME:
21303 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
21304 : : {
21305 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
21306 : 0 : switch (gimple_assign_rhs_code (_a6))
21307 : : {
21308 : 0 : case ORDERED_EXPR:
21309 : 0 : {
21310 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
21311 : 0 : _q110 = do_valueize (valueize, _q110);
21312 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
21313 : 0 : _q111 = do_valueize (valueize, _q111);
21314 : 0 : if (tree_swap_operands_p (_q110, _q111))
21315 : 0 : std::swap (_q110, _q111);
21316 : 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
21317 : : {
21318 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
21319 : : {
21320 : 0 : {
21321 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
21322 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
21323 : 0 : return true;
21324 : : }
21325 : : }
21326 : : }
21327 : 318383 : break;
21328 : : }
21329 : : default:;
21330 : : }
21331 : : }
21332 : : break;
21333 : : default:;
21334 : : }
21335 : : break;
21336 : : }
21337 : : default:;
21338 : : }
21339 : : }
21340 : : break;
21341 : : default:;
21342 : : }
21343 : 318383 : break;
21344 : : }
21345 : : default:;
21346 : : }
21347 : : }
21348 : : break;
21349 : : default:;
21350 : : }
21351 : 318383 : break;
21352 : : }
21353 : 0 : case ORDERED_EXPR:
21354 : 0 : {
21355 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
21356 : 0 : _q40 = do_valueize (valueize, _q40);
21357 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
21358 : 0 : _q41 = do_valueize (valueize, _q41);
21359 : 0 : if (tree_swap_operands_p (_q40, _q41))
21360 : 0 : std::swap (_q40, _q41);
21361 : 0 : switch (TREE_CODE (_p1))
21362 : : {
21363 : 0 : case SSA_NAME:
21364 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
21365 : : {
21366 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
21367 : 0 : switch (gimple_assign_rhs_code (_a4))
21368 : : {
21369 : 0 : case BIT_AND_EXPR:
21370 : 0 : {
21371 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
21372 : 0 : _q80 = do_valueize (valueize, _q80);
21373 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
21374 : 0 : _q81 = do_valueize (valueize, _q81);
21375 : 0 : if (tree_swap_operands_p (_q80, _q81))
21376 : 0 : std::swap (_q80, _q81);
21377 : 0 : switch (TREE_CODE (_q80))
21378 : : {
21379 : 0 : case SSA_NAME:
21380 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
21381 : : {
21382 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
21383 : 0 : switch (gimple_assign_rhs_code (_a5))
21384 : : {
21385 : 0 : CASE_CONVERT:
21386 : 0 : {
21387 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
21388 : 0 : _q90 = do_valueize (valueize, _q90);
21389 : 0 : switch (TREE_CODE (_q90))
21390 : : {
21391 : 0 : case SSA_NAME:
21392 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
21393 : : {
21394 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
21395 : 0 : switch (gimple_assign_rhs_code (_a6))
21396 : : {
21397 : 0 : case UNORDERED_EXPR:
21398 : 0 : {
21399 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
21400 : 0 : _q100 = do_valueize (valueize, _q100);
21401 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
21402 : 0 : _q101 = do_valueize (valueize, _q101);
21403 : 0 : if (tree_swap_operands_p (_q100, _q101))
21404 : 0 : std::swap (_q100, _q101);
21405 : 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
21406 : : {
21407 : 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
21408 : : {
21409 : 0 : {
21410 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
21411 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
21412 : 0 : return true;
21413 : : }
21414 : : }
21415 : : }
21416 : 0 : break;
21417 : : }
21418 : : default:;
21419 : : }
21420 : : }
21421 : : break;
21422 : : default:;
21423 : : }
21424 : : break;
21425 : : }
21426 : : default:;
21427 : : }
21428 : : }
21429 : : break;
21430 : 0 : default:;
21431 : : }
21432 : 0 : switch (TREE_CODE (_q81))
21433 : : {
21434 : 0 : case SSA_NAME:
21435 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
21436 : : {
21437 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
21438 : 0 : switch (gimple_assign_rhs_code (_a5))
21439 : : {
21440 : 0 : CASE_CONVERT:
21441 : 0 : {
21442 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
21443 : 0 : _q100 = do_valueize (valueize, _q100);
21444 : 0 : switch (TREE_CODE (_q100))
21445 : : {
21446 : 0 : case SSA_NAME:
21447 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
21448 : : {
21449 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
21450 : 0 : switch (gimple_assign_rhs_code (_a6))
21451 : : {
21452 : 0 : case UNORDERED_EXPR:
21453 : 0 : {
21454 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
21455 : 0 : _q110 = do_valueize (valueize, _q110);
21456 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
21457 : 0 : _q111 = do_valueize (valueize, _q111);
21458 : 0 : if (tree_swap_operands_p (_q110, _q111))
21459 : 0 : std::swap (_q110, _q111);
21460 : 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
21461 : : {
21462 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
21463 : : {
21464 : 0 : {
21465 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
21466 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
21467 : 0 : return true;
21468 : : }
21469 : : }
21470 : : }
21471 : 318383 : break;
21472 : : }
21473 : : default:;
21474 : : }
21475 : : }
21476 : : break;
21477 : : default:;
21478 : : }
21479 : : break;
21480 : : }
21481 : : default:;
21482 : : }
21483 : : }
21484 : : break;
21485 : : default:;
21486 : : }
21487 : 318383 : break;
21488 : : }
21489 : : default:;
21490 : : }
21491 : : }
21492 : : break;
21493 : : default:;
21494 : : }
21495 : 318383 : break;
21496 : : }
21497 : 0 : case UNLT_EXPR:
21498 : 0 : {
21499 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
21500 : 0 : _q40 = do_valueize (valueize, _q40);
21501 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
21502 : 0 : _q41 = do_valueize (valueize, _q41);
21503 : 0 : switch (TREE_CODE (_p1))
21504 : : {
21505 : 0 : case SSA_NAME:
21506 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
21507 : : {
21508 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
21509 : 0 : switch (gimple_assign_rhs_code (_a4))
21510 : : {
21511 : 0 : case BIT_AND_EXPR:
21512 : 0 : {
21513 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
21514 : 0 : _q80 = do_valueize (valueize, _q80);
21515 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
21516 : 0 : _q81 = do_valueize (valueize, _q81);
21517 : 0 : if (tree_swap_operands_p (_q80, _q81))
21518 : 0 : std::swap (_q80, _q81);
21519 : 0 : switch (TREE_CODE (_q80))
21520 : : {
21521 : 0 : case SSA_NAME:
21522 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
21523 : : {
21524 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
21525 : 0 : switch (gimple_assign_rhs_code (_a5))
21526 : : {
21527 : 0 : CASE_CONVERT:
21528 : 0 : {
21529 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
21530 : 0 : _q90 = do_valueize (valueize, _q90);
21531 : 0 : switch (TREE_CODE (_q90))
21532 : : {
21533 : 0 : case SSA_NAME:
21534 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
21535 : : {
21536 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
21537 : 0 : switch (gimple_assign_rhs_code (_a6))
21538 : : {
21539 : 0 : case GE_EXPR:
21540 : 0 : {
21541 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
21542 : 0 : _q100 = do_valueize (valueize, _q100);
21543 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
21544 : 0 : _q101 = do_valueize (valueize, _q101);
21545 : 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
21546 : : {
21547 : 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
21548 : : {
21549 : 0 : {
21550 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
21551 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR))
21552 : 0 : return true;
21553 : : }
21554 : : }
21555 : : }
21556 : : break;
21557 : : }
21558 : : default:;
21559 : : }
21560 : : }
21561 : : break;
21562 : : default:;
21563 : : }
21564 : : break;
21565 : : }
21566 : : default:;
21567 : : }
21568 : : }
21569 : : break;
21570 : 0 : default:;
21571 : : }
21572 : 0 : switch (TREE_CODE (_q81))
21573 : : {
21574 : 0 : case SSA_NAME:
21575 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
21576 : : {
21577 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
21578 : 0 : switch (gimple_assign_rhs_code (_a5))
21579 : : {
21580 : 0 : CASE_CONVERT:
21581 : 0 : {
21582 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
21583 : 0 : _q100 = do_valueize (valueize, _q100);
21584 : 0 : switch (TREE_CODE (_q100))
21585 : : {
21586 : 0 : case SSA_NAME:
21587 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
21588 : : {
21589 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
21590 : 0 : switch (gimple_assign_rhs_code (_a6))
21591 : : {
21592 : 0 : case GE_EXPR:
21593 : 0 : {
21594 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
21595 : 0 : _q110 = do_valueize (valueize, _q110);
21596 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
21597 : 0 : _q111 = do_valueize (valueize, _q111);
21598 : 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
21599 : : {
21600 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
21601 : : {
21602 : 0 : {
21603 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
21604 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR))
21605 : 0 : return true;
21606 : : }
21607 : : }
21608 : : }
21609 : : break;
21610 : : }
21611 : : default:;
21612 : : }
21613 : : }
21614 : : break;
21615 : : default:;
21616 : : }
21617 : : break;
21618 : : }
21619 : : default:;
21620 : : }
21621 : : }
21622 : : break;
21623 : : default:;
21624 : : }
21625 : 318383 : break;
21626 : : }
21627 : : default:;
21628 : : }
21629 : : }
21630 : : break;
21631 : : default:;
21632 : : }
21633 : : break;
21634 : : }
21635 : 0 : case UNLE_EXPR:
21636 : 0 : {
21637 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
21638 : 0 : _q40 = do_valueize (valueize, _q40);
21639 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
21640 : 0 : _q41 = do_valueize (valueize, _q41);
21641 : 0 : switch (TREE_CODE (_p1))
21642 : : {
21643 : 0 : case SSA_NAME:
21644 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
21645 : : {
21646 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
21647 : 0 : switch (gimple_assign_rhs_code (_a4))
21648 : : {
21649 : 0 : case BIT_AND_EXPR:
21650 : 0 : {
21651 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
21652 : 0 : _q80 = do_valueize (valueize, _q80);
21653 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
21654 : 0 : _q81 = do_valueize (valueize, _q81);
21655 : 0 : if (tree_swap_operands_p (_q80, _q81))
21656 : 0 : std::swap (_q80, _q81);
21657 : 0 : switch (TREE_CODE (_q80))
21658 : : {
21659 : 0 : case SSA_NAME:
21660 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
21661 : : {
21662 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
21663 : 0 : switch (gimple_assign_rhs_code (_a5))
21664 : : {
21665 : 0 : CASE_CONVERT:
21666 : 0 : {
21667 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
21668 : 0 : _q90 = do_valueize (valueize, _q90);
21669 : 0 : switch (TREE_CODE (_q90))
21670 : : {
21671 : 0 : case SSA_NAME:
21672 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
21673 : : {
21674 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
21675 : 0 : switch (gimple_assign_rhs_code (_a6))
21676 : : {
21677 : 0 : case GT_EXPR:
21678 : 0 : {
21679 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
21680 : 0 : _q100 = do_valueize (valueize, _q100);
21681 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
21682 : 0 : _q101 = do_valueize (valueize, _q101);
21683 : 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
21684 : : {
21685 : 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
21686 : : {
21687 : 0 : {
21688 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
21689 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
21690 : 0 : return true;
21691 : : }
21692 : : }
21693 : : }
21694 : : break;
21695 : : }
21696 : : default:;
21697 : : }
21698 : : }
21699 : : break;
21700 : : default:;
21701 : : }
21702 : : break;
21703 : : }
21704 : : default:;
21705 : : }
21706 : : }
21707 : : break;
21708 : 0 : default:;
21709 : : }
21710 : 0 : switch (TREE_CODE (_q81))
21711 : : {
21712 : 0 : case SSA_NAME:
21713 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
21714 : : {
21715 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
21716 : 0 : switch (gimple_assign_rhs_code (_a5))
21717 : : {
21718 : 0 : CASE_CONVERT:
21719 : 0 : {
21720 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
21721 : 0 : _q100 = do_valueize (valueize, _q100);
21722 : 0 : switch (TREE_CODE (_q100))
21723 : : {
21724 : 0 : case SSA_NAME:
21725 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
21726 : : {
21727 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
21728 : 0 : switch (gimple_assign_rhs_code (_a6))
21729 : : {
21730 : 0 : case GT_EXPR:
21731 : 0 : {
21732 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
21733 : 0 : _q110 = do_valueize (valueize, _q110);
21734 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
21735 : 0 : _q111 = do_valueize (valueize, _q111);
21736 : 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
21737 : : {
21738 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
21739 : : {
21740 : 0 : {
21741 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
21742 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
21743 : 0 : return true;
21744 : : }
21745 : : }
21746 : : }
21747 : : break;
21748 : : }
21749 : : default:;
21750 : : }
21751 : : }
21752 : : break;
21753 : : default:;
21754 : : }
21755 : : break;
21756 : : }
21757 : : default:;
21758 : : }
21759 : : }
21760 : : break;
21761 : : default:;
21762 : : }
21763 : 318383 : break;
21764 : : }
21765 : : default:;
21766 : : }
21767 : : }
21768 : : break;
21769 : : default:;
21770 : : }
21771 : : break;
21772 : : }
21773 : 0 : case UNGT_EXPR:
21774 : 0 : {
21775 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
21776 : 0 : _q40 = do_valueize (valueize, _q40);
21777 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
21778 : 0 : _q41 = do_valueize (valueize, _q41);
21779 : 0 : switch (TREE_CODE (_p1))
21780 : : {
21781 : 0 : case SSA_NAME:
21782 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
21783 : : {
21784 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
21785 : 0 : switch (gimple_assign_rhs_code (_a4))
21786 : : {
21787 : 0 : case BIT_AND_EXPR:
21788 : 0 : {
21789 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
21790 : 0 : _q80 = do_valueize (valueize, _q80);
21791 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
21792 : 0 : _q81 = do_valueize (valueize, _q81);
21793 : 0 : if (tree_swap_operands_p (_q80, _q81))
21794 : 0 : std::swap (_q80, _q81);
21795 : 0 : switch (TREE_CODE (_q80))
21796 : : {
21797 : 0 : case SSA_NAME:
21798 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
21799 : : {
21800 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
21801 : 0 : switch (gimple_assign_rhs_code (_a5))
21802 : : {
21803 : 0 : CASE_CONVERT:
21804 : 0 : {
21805 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
21806 : 0 : _q90 = do_valueize (valueize, _q90);
21807 : 0 : switch (TREE_CODE (_q90))
21808 : : {
21809 : 0 : case SSA_NAME:
21810 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
21811 : : {
21812 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
21813 : 0 : switch (gimple_assign_rhs_code (_a6))
21814 : : {
21815 : 0 : case LE_EXPR:
21816 : 0 : {
21817 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
21818 : 0 : _q100 = do_valueize (valueize, _q100);
21819 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
21820 : 0 : _q101 = do_valueize (valueize, _q101);
21821 : 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
21822 : : {
21823 : 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
21824 : : {
21825 : 0 : {
21826 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
21827 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
21828 : 0 : return true;
21829 : : }
21830 : : }
21831 : : }
21832 : : break;
21833 : : }
21834 : : default:;
21835 : : }
21836 : : }
21837 : : break;
21838 : : default:;
21839 : : }
21840 : : break;
21841 : : }
21842 : : default:;
21843 : : }
21844 : : }
21845 : : break;
21846 : 0 : default:;
21847 : : }
21848 : 0 : switch (TREE_CODE (_q81))
21849 : : {
21850 : 0 : case SSA_NAME:
21851 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
21852 : : {
21853 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
21854 : 0 : switch (gimple_assign_rhs_code (_a5))
21855 : : {
21856 : 0 : CASE_CONVERT:
21857 : 0 : {
21858 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
21859 : 0 : _q100 = do_valueize (valueize, _q100);
21860 : 0 : switch (TREE_CODE (_q100))
21861 : : {
21862 : 0 : case SSA_NAME:
21863 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
21864 : : {
21865 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
21866 : 0 : switch (gimple_assign_rhs_code (_a6))
21867 : : {
21868 : 0 : case LE_EXPR:
21869 : 0 : {
21870 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
21871 : 0 : _q110 = do_valueize (valueize, _q110);
21872 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
21873 : 0 : _q111 = do_valueize (valueize, _q111);
21874 : 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
21875 : : {
21876 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
21877 : : {
21878 : 0 : {
21879 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
21880 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
21881 : 0 : return true;
21882 : : }
21883 : : }
21884 : : }
21885 : : break;
21886 : : }
21887 : : default:;
21888 : : }
21889 : : }
21890 : : break;
21891 : : default:;
21892 : : }
21893 : : break;
21894 : : }
21895 : : default:;
21896 : : }
21897 : : }
21898 : : break;
21899 : : default:;
21900 : : }
21901 : 318383 : break;
21902 : : }
21903 : : default:;
21904 : : }
21905 : : }
21906 : : break;
21907 : : default:;
21908 : : }
21909 : : break;
21910 : : }
21911 : 0 : case UNGE_EXPR:
21912 : 0 : {
21913 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
21914 : 0 : _q40 = do_valueize (valueize, _q40);
21915 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
21916 : 0 : _q41 = do_valueize (valueize, _q41);
21917 : 0 : switch (TREE_CODE (_p1))
21918 : : {
21919 : 0 : case SSA_NAME:
21920 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
21921 : : {
21922 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
21923 : 0 : switch (gimple_assign_rhs_code (_a4))
21924 : : {
21925 : 0 : case BIT_AND_EXPR:
21926 : 0 : {
21927 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
21928 : 0 : _q80 = do_valueize (valueize, _q80);
21929 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
21930 : 0 : _q81 = do_valueize (valueize, _q81);
21931 : 0 : if (tree_swap_operands_p (_q80, _q81))
21932 : 0 : std::swap (_q80, _q81);
21933 : 0 : switch (TREE_CODE (_q80))
21934 : : {
21935 : 0 : case SSA_NAME:
21936 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
21937 : : {
21938 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
21939 : 0 : switch (gimple_assign_rhs_code (_a5))
21940 : : {
21941 : 0 : CASE_CONVERT:
21942 : 0 : {
21943 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
21944 : 0 : _q90 = do_valueize (valueize, _q90);
21945 : 0 : switch (TREE_CODE (_q90))
21946 : : {
21947 : 0 : case SSA_NAME:
21948 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
21949 : : {
21950 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
21951 : 0 : switch (gimple_assign_rhs_code (_a6))
21952 : : {
21953 : 0 : case LT_EXPR:
21954 : 0 : {
21955 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
21956 : 0 : _q100 = do_valueize (valueize, _q100);
21957 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
21958 : 0 : _q101 = do_valueize (valueize, _q101);
21959 : 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
21960 : : {
21961 : 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
21962 : : {
21963 : 0 : {
21964 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
21965 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
21966 : 0 : return true;
21967 : : }
21968 : : }
21969 : : }
21970 : : break;
21971 : : }
21972 : : default:;
21973 : : }
21974 : : }
21975 : : break;
21976 : : default:;
21977 : : }
21978 : : break;
21979 : : }
21980 : : default:;
21981 : : }
21982 : : }
21983 : : break;
21984 : 0 : default:;
21985 : : }
21986 : 0 : switch (TREE_CODE (_q81))
21987 : : {
21988 : 0 : case SSA_NAME:
21989 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
21990 : : {
21991 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
21992 : 0 : switch (gimple_assign_rhs_code (_a5))
21993 : : {
21994 : 0 : CASE_CONVERT:
21995 : 0 : {
21996 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
21997 : 0 : _q100 = do_valueize (valueize, _q100);
21998 : 0 : switch (TREE_CODE (_q100))
21999 : : {
22000 : 0 : case SSA_NAME:
22001 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
22002 : : {
22003 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
22004 : 0 : switch (gimple_assign_rhs_code (_a6))
22005 : : {
22006 : 0 : case LT_EXPR:
22007 : 0 : {
22008 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
22009 : 0 : _q110 = do_valueize (valueize, _q110);
22010 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
22011 : 0 : _q111 = do_valueize (valueize, _q111);
22012 : 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
22013 : : {
22014 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
22015 : : {
22016 : 0 : {
22017 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
22018 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
22019 : 0 : return true;
22020 : : }
22021 : : }
22022 : : }
22023 : : break;
22024 : : }
22025 : : default:;
22026 : : }
22027 : : }
22028 : : break;
22029 : : default:;
22030 : : }
22031 : : break;
22032 : : }
22033 : : default:;
22034 : : }
22035 : : }
22036 : : break;
22037 : : default:;
22038 : : }
22039 : 318383 : break;
22040 : : }
22041 : : default:;
22042 : : }
22043 : : }
22044 : : break;
22045 : : default:;
22046 : : }
22047 : : break;
22048 : : }
22049 : 0 : case UNEQ_EXPR:
22050 : 0 : {
22051 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
22052 : 0 : _q40 = do_valueize (valueize, _q40);
22053 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
22054 : 0 : _q41 = do_valueize (valueize, _q41);
22055 : 0 : if (tree_swap_operands_p (_q40, _q41))
22056 : 0 : std::swap (_q40, _q41);
22057 : 0 : switch (TREE_CODE (_p1))
22058 : : {
22059 : 0 : case SSA_NAME:
22060 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
22061 : : {
22062 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
22063 : 0 : switch (gimple_assign_rhs_code (_a4))
22064 : : {
22065 : 0 : case BIT_AND_EXPR:
22066 : 0 : {
22067 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
22068 : 0 : _q80 = do_valueize (valueize, _q80);
22069 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
22070 : 0 : _q81 = do_valueize (valueize, _q81);
22071 : 0 : if (tree_swap_operands_p (_q80, _q81))
22072 : 0 : std::swap (_q80, _q81);
22073 : 0 : switch (TREE_CODE (_q80))
22074 : : {
22075 : 0 : case SSA_NAME:
22076 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
22077 : : {
22078 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
22079 : 0 : switch (gimple_assign_rhs_code (_a5))
22080 : : {
22081 : 0 : CASE_CONVERT:
22082 : 0 : {
22083 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
22084 : 0 : _q90 = do_valueize (valueize, _q90);
22085 : 0 : switch (TREE_CODE (_q90))
22086 : : {
22087 : 0 : case SSA_NAME:
22088 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
22089 : : {
22090 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
22091 : 0 : switch (gimple_assign_rhs_code (_a6))
22092 : : {
22093 : 0 : case LTGT_EXPR:
22094 : 0 : {
22095 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
22096 : 0 : _q100 = do_valueize (valueize, _q100);
22097 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
22098 : 0 : _q101 = do_valueize (valueize, _q101);
22099 : 0 : if (tree_swap_operands_p (_q100, _q101))
22100 : 0 : std::swap (_q100, _q101);
22101 : 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
22102 : : {
22103 : 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
22104 : : {
22105 : 0 : {
22106 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
22107 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
22108 : 0 : return true;
22109 : : }
22110 : : }
22111 : : }
22112 : 0 : break;
22113 : : }
22114 : : default:;
22115 : : }
22116 : : }
22117 : : break;
22118 : : default:;
22119 : : }
22120 : : break;
22121 : : }
22122 : : default:;
22123 : : }
22124 : : }
22125 : : break;
22126 : 0 : default:;
22127 : : }
22128 : 0 : switch (TREE_CODE (_q81))
22129 : : {
22130 : 0 : case SSA_NAME:
22131 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
22132 : : {
22133 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
22134 : 0 : switch (gimple_assign_rhs_code (_a5))
22135 : : {
22136 : 0 : CASE_CONVERT:
22137 : 0 : {
22138 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
22139 : 0 : _q100 = do_valueize (valueize, _q100);
22140 : 0 : switch (TREE_CODE (_q100))
22141 : : {
22142 : 0 : case SSA_NAME:
22143 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
22144 : : {
22145 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
22146 : 0 : switch (gimple_assign_rhs_code (_a6))
22147 : : {
22148 : 0 : case LTGT_EXPR:
22149 : 0 : {
22150 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
22151 : 0 : _q110 = do_valueize (valueize, _q110);
22152 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
22153 : 0 : _q111 = do_valueize (valueize, _q111);
22154 : 0 : if (tree_swap_operands_p (_q110, _q111))
22155 : 0 : std::swap (_q110, _q111);
22156 : 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
22157 : : {
22158 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
22159 : : {
22160 : 0 : {
22161 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
22162 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
22163 : 0 : return true;
22164 : : }
22165 : : }
22166 : : }
22167 : 318383 : break;
22168 : : }
22169 : : default:;
22170 : : }
22171 : : }
22172 : : break;
22173 : : default:;
22174 : : }
22175 : : break;
22176 : : }
22177 : : default:;
22178 : : }
22179 : : }
22180 : : break;
22181 : : default:;
22182 : : }
22183 : 318383 : break;
22184 : : }
22185 : : default:;
22186 : : }
22187 : : }
22188 : : break;
22189 : : default:;
22190 : : }
22191 : 318383 : break;
22192 : : }
22193 : 0 : case LTGT_EXPR:
22194 : 0 : {
22195 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
22196 : 0 : _q40 = do_valueize (valueize, _q40);
22197 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
22198 : 0 : _q41 = do_valueize (valueize, _q41);
22199 : 0 : if (tree_swap_operands_p (_q40, _q41))
22200 : 0 : std::swap (_q40, _q41);
22201 : 0 : switch (TREE_CODE (_p1))
22202 : : {
22203 : 0 : case SSA_NAME:
22204 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
22205 : : {
22206 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
22207 : 0 : switch (gimple_assign_rhs_code (_a4))
22208 : : {
22209 : 0 : case BIT_AND_EXPR:
22210 : 0 : {
22211 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
22212 : 0 : _q80 = do_valueize (valueize, _q80);
22213 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
22214 : 0 : _q81 = do_valueize (valueize, _q81);
22215 : 0 : if (tree_swap_operands_p (_q80, _q81))
22216 : 0 : std::swap (_q80, _q81);
22217 : 0 : switch (TREE_CODE (_q80))
22218 : : {
22219 : 0 : case SSA_NAME:
22220 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
22221 : : {
22222 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
22223 : 0 : switch (gimple_assign_rhs_code (_a5))
22224 : : {
22225 : 0 : CASE_CONVERT:
22226 : 0 : {
22227 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
22228 : 0 : _q90 = do_valueize (valueize, _q90);
22229 : 0 : switch (TREE_CODE (_q90))
22230 : : {
22231 : 0 : case SSA_NAME:
22232 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
22233 : : {
22234 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
22235 : 0 : switch (gimple_assign_rhs_code (_a6))
22236 : : {
22237 : 0 : case UNEQ_EXPR:
22238 : 0 : {
22239 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
22240 : 0 : _q100 = do_valueize (valueize, _q100);
22241 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
22242 : 0 : _q101 = do_valueize (valueize, _q101);
22243 : 0 : if (tree_swap_operands_p (_q100, _q101))
22244 : 0 : std::swap (_q100, _q101);
22245 : 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
22246 : : {
22247 : 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
22248 : : {
22249 : 0 : {
22250 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
22251 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
22252 : 0 : return true;
22253 : : }
22254 : : }
22255 : : }
22256 : 0 : break;
22257 : : }
22258 : : default:;
22259 : : }
22260 : : }
22261 : : break;
22262 : : default:;
22263 : : }
22264 : : break;
22265 : : }
22266 : : default:;
22267 : : }
22268 : : }
22269 : : break;
22270 : 0 : default:;
22271 : : }
22272 : 0 : switch (TREE_CODE (_q81))
22273 : : {
22274 : 0 : case SSA_NAME:
22275 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
22276 : : {
22277 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
22278 : 0 : switch (gimple_assign_rhs_code (_a5))
22279 : : {
22280 : 0 : CASE_CONVERT:
22281 : 0 : {
22282 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
22283 : 0 : _q100 = do_valueize (valueize, _q100);
22284 : 0 : switch (TREE_CODE (_q100))
22285 : : {
22286 : 0 : case SSA_NAME:
22287 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
22288 : : {
22289 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
22290 : 0 : switch (gimple_assign_rhs_code (_a6))
22291 : : {
22292 : 0 : case UNEQ_EXPR:
22293 : 0 : {
22294 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
22295 : 0 : _q110 = do_valueize (valueize, _q110);
22296 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
22297 : 0 : _q111 = do_valueize (valueize, _q111);
22298 : 0 : if (tree_swap_operands_p (_q110, _q111))
22299 : 0 : std::swap (_q110, _q111);
22300 : 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
22301 : : {
22302 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
22303 : : {
22304 : 0 : {
22305 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
22306 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
22307 : 0 : return true;
22308 : : }
22309 : : }
22310 : : }
22311 : 318383 : break;
22312 : : }
22313 : : default:;
22314 : : }
22315 : : }
22316 : : break;
22317 : : default:;
22318 : : }
22319 : : break;
22320 : : }
22321 : : default:;
22322 : : }
22323 : : }
22324 : : break;
22325 : : default:;
22326 : : }
22327 : 318383 : break;
22328 : : }
22329 : : default:;
22330 : : }
22331 : : }
22332 : : break;
22333 : : default:;
22334 : : }
22335 : 318383 : break;
22336 : : }
22337 : : default:;
22338 : : }
22339 : : }
22340 : : break;
22341 : : default:;
22342 : : }
22343 : : break;
22344 : : }
22345 : : default:;
22346 : : }
22347 : : }
22348 : : break;
22349 : 318383 : default:;
22350 : : }
22351 : 318383 : switch (TREE_CODE (_q21))
22352 : : {
22353 : 136093 : case SSA_NAME:
22354 : 136093 : if (gimple *_d2 = get_def (valueize, _q21))
22355 : : {
22356 : 116185 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
22357 : 135360 : switch (gimple_assign_rhs_code (_a2))
22358 : : {
22359 : 5774 : CASE_CONVERT:
22360 : 5774 : {
22361 : 5774 : tree _q40 = gimple_assign_rhs1 (_a2);
22362 : 5774 : _q40 = do_valueize (valueize, _q40);
22363 : 5774 : switch (TREE_CODE (_q40))
22364 : : {
22365 : 5774 : case SSA_NAME:
22366 : 5774 : if (gimple *_d3 = get_def (valueize, _q40))
22367 : : {
22368 : 5682 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
22369 : 5918 : switch (gimple_assign_rhs_code (_a3))
22370 : : {
22371 : 0 : case LT_EXPR:
22372 : 0 : {
22373 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
22374 : 0 : _q50 = do_valueize (valueize, _q50);
22375 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
22376 : 0 : _q51 = do_valueize (valueize, _q51);
22377 : 0 : switch (TREE_CODE (_p1))
22378 : : {
22379 : 0 : case SSA_NAME:
22380 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
22381 : : {
22382 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
22383 : 0 : switch (gimple_assign_rhs_code (_a4))
22384 : : {
22385 : 0 : case BIT_AND_EXPR:
22386 : 0 : {
22387 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
22388 : 0 : _q80 = do_valueize (valueize, _q80);
22389 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
22390 : 0 : _q81 = do_valueize (valueize, _q81);
22391 : 0 : if (tree_swap_operands_p (_q80, _q81))
22392 : 0 : std::swap (_q80, _q81);
22393 : 0 : switch (TREE_CODE (_q80))
22394 : : {
22395 : 0 : case SSA_NAME:
22396 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
22397 : : {
22398 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
22399 : 0 : switch (gimple_assign_rhs_code (_a5))
22400 : : {
22401 : 0 : CASE_CONVERT:
22402 : 0 : {
22403 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
22404 : 0 : _q90 = do_valueize (valueize, _q90);
22405 : 0 : switch (TREE_CODE (_q90))
22406 : : {
22407 : 0 : case SSA_NAME:
22408 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
22409 : : {
22410 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
22411 : 0 : switch (gimple_assign_rhs_code (_a6))
22412 : : {
22413 : 0 : case GE_EXPR:
22414 : 0 : {
22415 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
22416 : 0 : _q100 = do_valueize (valueize, _q100);
22417 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
22418 : 0 : _q101 = do_valueize (valueize, _q101);
22419 : 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
22420 : : {
22421 : 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
22422 : : {
22423 : 0 : {
22424 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
22425 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
22426 : 0 : return true;
22427 : : }
22428 : : }
22429 : : }
22430 : : break;
22431 : : }
22432 : : default:;
22433 : : }
22434 : : }
22435 : : break;
22436 : : default:;
22437 : : }
22438 : : break;
22439 : : }
22440 : : default:;
22441 : : }
22442 : : }
22443 : : break;
22444 : 0 : default:;
22445 : : }
22446 : 0 : switch (TREE_CODE (_q81))
22447 : : {
22448 : 0 : case SSA_NAME:
22449 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
22450 : : {
22451 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
22452 : 0 : switch (gimple_assign_rhs_code (_a5))
22453 : : {
22454 : 0 : CASE_CONVERT:
22455 : 0 : {
22456 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
22457 : 0 : _q100 = do_valueize (valueize, _q100);
22458 : 0 : switch (TREE_CODE (_q100))
22459 : : {
22460 : 0 : case SSA_NAME:
22461 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
22462 : : {
22463 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
22464 : 0 : switch (gimple_assign_rhs_code (_a6))
22465 : : {
22466 : 0 : case GE_EXPR:
22467 : 0 : {
22468 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
22469 : 0 : _q110 = do_valueize (valueize, _q110);
22470 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
22471 : 0 : _q111 = do_valueize (valueize, _q111);
22472 : 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
22473 : : {
22474 : 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
22475 : : {
22476 : 0 : {
22477 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
22478 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
22479 : 0 : return true;
22480 : : }
22481 : : }
22482 : : }
22483 : : break;
22484 : : }
22485 : : default:;
22486 : : }
22487 : : }
22488 : : break;
22489 : : default:;
22490 : : }
22491 : : break;
22492 : : }
22493 : : default:;
22494 : : }
22495 : : }
22496 : : break;
22497 : : default:;
22498 : : }
22499 : 318383 : break;
22500 : : }
22501 : : default:;
22502 : : }
22503 : : }
22504 : : break;
22505 : : default:;
22506 : : }
22507 : : break;
22508 : : }
22509 : 0 : case LE_EXPR:
22510 : 0 : {
22511 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
22512 : 0 : _q50 = do_valueize (valueize, _q50);
22513 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
22514 : 0 : _q51 = do_valueize (valueize, _q51);
22515 : 0 : switch (TREE_CODE (_p1))
22516 : : {
22517 : 0 : case SSA_NAME:
22518 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
22519 : : {
22520 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
22521 : 0 : switch (gimple_assign_rhs_code (_a4))
22522 : : {
22523 : 0 : case BIT_AND_EXPR:
22524 : 0 : {
22525 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
22526 : 0 : _q80 = do_valueize (valueize, _q80);
22527 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
22528 : 0 : _q81 = do_valueize (valueize, _q81);
22529 : 0 : if (tree_swap_operands_p (_q80, _q81))
22530 : 0 : std::swap (_q80, _q81);
22531 : 0 : switch (TREE_CODE (_q80))
22532 : : {
22533 : 0 : case SSA_NAME:
22534 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
22535 : : {
22536 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
22537 : 0 : switch (gimple_assign_rhs_code (_a5))
22538 : : {
22539 : 0 : CASE_CONVERT:
22540 : 0 : {
22541 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
22542 : 0 : _q90 = do_valueize (valueize, _q90);
22543 : 0 : switch (TREE_CODE (_q90))
22544 : : {
22545 : 0 : case SSA_NAME:
22546 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
22547 : : {
22548 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
22549 : 0 : switch (gimple_assign_rhs_code (_a6))
22550 : : {
22551 : 0 : case GT_EXPR:
22552 : 0 : {
22553 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
22554 : 0 : _q100 = do_valueize (valueize, _q100);
22555 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
22556 : 0 : _q101 = do_valueize (valueize, _q101);
22557 : 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
22558 : : {
22559 : 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
22560 : : {
22561 : 0 : {
22562 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
22563 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
22564 : 0 : return true;
22565 : : }
22566 : : }
22567 : : }
22568 : : break;
22569 : : }
22570 : : default:;
22571 : : }
22572 : : }
22573 : : break;
22574 : : default:;
22575 : : }
22576 : : break;
22577 : : }
22578 : : default:;
22579 : : }
22580 : : }
22581 : : break;
22582 : 0 : default:;
22583 : : }
22584 : 0 : switch (TREE_CODE (_q81))
22585 : : {
22586 : 0 : case SSA_NAME:
22587 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
22588 : : {
22589 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
22590 : 0 : switch (gimple_assign_rhs_code (_a5))
22591 : : {
22592 : 0 : CASE_CONVERT:
22593 : 0 : {
22594 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
22595 : 0 : _q100 = do_valueize (valueize, _q100);
22596 : 0 : switch (TREE_CODE (_q100))
22597 : : {
22598 : 0 : case SSA_NAME:
22599 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
22600 : : {
22601 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
22602 : 0 : switch (gimple_assign_rhs_code (_a6))
22603 : : {
22604 : 0 : case GT_EXPR:
22605 : 0 : {
22606 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
22607 : 0 : _q110 = do_valueize (valueize, _q110);
22608 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
22609 : 0 : _q111 = do_valueize (valueize, _q111);
22610 : 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
22611 : : {
22612 : 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
22613 : : {
22614 : 0 : {
22615 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
22616 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
22617 : 0 : return true;
22618 : : }
22619 : : }
22620 : : }
22621 : : break;
22622 : : }
22623 : : default:;
22624 : : }
22625 : : }
22626 : : break;
22627 : : default:;
22628 : : }
22629 : : break;
22630 : : }
22631 : : default:;
22632 : : }
22633 : : }
22634 : : break;
22635 : : default:;
22636 : : }
22637 : 318383 : break;
22638 : : }
22639 : : default:;
22640 : : }
22641 : : }
22642 : : break;
22643 : : default:;
22644 : : }
22645 : : break;
22646 : : }
22647 : 90 : case EQ_EXPR:
22648 : 90 : {
22649 : 90 : tree _q50 = gimple_assign_rhs1 (_a3);
22650 : 90 : _q50 = do_valueize (valueize, _q50);
22651 : 90 : tree _q51 = gimple_assign_rhs2 (_a3);
22652 : 90 : _q51 = do_valueize (valueize, _q51);
22653 : 90 : if (tree_swap_operands_p (_q50, _q51))
22654 : 0 : std::swap (_q50, _q51);
22655 : 90 : switch (TREE_CODE (_p1))
22656 : : {
22657 : 90 : case SSA_NAME:
22658 : 90 : if (gimple *_d4 = get_def (valueize, _p1))
22659 : : {
22660 : 90 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
22661 : 90 : switch (gimple_assign_rhs_code (_a4))
22662 : : {
22663 : 90 : case BIT_AND_EXPR:
22664 : 90 : {
22665 : 90 : tree _q80 = gimple_assign_rhs1 (_a4);
22666 : 90 : _q80 = do_valueize (valueize, _q80);
22667 : 90 : tree _q81 = gimple_assign_rhs2 (_a4);
22668 : 90 : _q81 = do_valueize (valueize, _q81);
22669 : 90 : if (tree_swap_operands_p (_q80, _q81))
22670 : 0 : std::swap (_q80, _q81);
22671 : 90 : switch (TREE_CODE (_q80))
22672 : : {
22673 : 90 : case SSA_NAME:
22674 : 90 : if (gimple *_d5 = get_def (valueize, _q80))
22675 : : {
22676 : 90 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
22677 : 90 : switch (gimple_assign_rhs_code (_a5))
22678 : : {
22679 : 90 : CASE_CONVERT:
22680 : 90 : {
22681 : 90 : tree _q90 = gimple_assign_rhs1 (_a5);
22682 : 90 : _q90 = do_valueize (valueize, _q90);
22683 : 90 : switch (TREE_CODE (_q90))
22684 : : {
22685 : 90 : case SSA_NAME:
22686 : 90 : if (gimple *_d6 = get_def (valueize, _q90))
22687 : : {
22688 : 90 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
22689 : 90 : switch (gimple_assign_rhs_code (_a6))
22690 : : {
22691 : 88 : case NE_EXPR:
22692 : 88 : {
22693 : 88 : tree _q100 = gimple_assign_rhs1 (_a6);
22694 : 88 : _q100 = do_valueize (valueize, _q100);
22695 : 88 : tree _q101 = gimple_assign_rhs2 (_a6);
22696 : 88 : _q101 = do_valueize (valueize, _q101);
22697 : 88 : if (tree_swap_operands_p (_q100, _q101))
22698 : 0 : std::swap (_q100, _q101);
22699 : 88 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
22700 : : {
22701 : 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
22702 : : {
22703 : 0 : {
22704 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
22705 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
22706 : 0 : return true;
22707 : : }
22708 : : }
22709 : : }
22710 : 90 : break;
22711 : : }
22712 : : default:;
22713 : : }
22714 : : }
22715 : : break;
22716 : : default:;
22717 : : }
22718 : : break;
22719 : : }
22720 : : default:;
22721 : : }
22722 : : }
22723 : : break;
22724 : 90 : default:;
22725 : : }
22726 : 90 : switch (TREE_CODE (_q81))
22727 : : {
22728 : 90 : case SSA_NAME:
22729 : 90 : if (gimple *_d5 = get_def (valueize, _q81))
22730 : : {
22731 : 90 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
22732 : 88 : switch (gimple_assign_rhs_code (_a5))
22733 : : {
22734 : 88 : CASE_CONVERT:
22735 : 88 : {
22736 : 88 : tree _q100 = gimple_assign_rhs1 (_a5);
22737 : 88 : _q100 = do_valueize (valueize, _q100);
22738 : 88 : switch (TREE_CODE (_q100))
22739 : : {
22740 : 88 : case SSA_NAME:
22741 : 88 : if (gimple *_d6 = get_def (valueize, _q100))
22742 : : {
22743 : 88 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
22744 : 88 : switch (gimple_assign_rhs_code (_a6))
22745 : : {
22746 : 0 : case NE_EXPR:
22747 : 0 : {
22748 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
22749 : 0 : _q110 = do_valueize (valueize, _q110);
22750 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
22751 : 0 : _q111 = do_valueize (valueize, _q111);
22752 : 0 : if (tree_swap_operands_p (_q110, _q111))
22753 : 0 : std::swap (_q110, _q111);
22754 : 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
22755 : : {
22756 : 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
22757 : : {
22758 : 0 : {
22759 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
22760 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
22761 : 0 : return true;
22762 : : }
22763 : : }
22764 : : }
22765 : 318383 : break;
22766 : : }
22767 : : default:;
22768 : : }
22769 : : }
22770 : : break;
22771 : : default:;
22772 : : }
22773 : : break;
22774 : : }
22775 : : default:;
22776 : : }
22777 : : }
22778 : : break;
22779 : : default:;
22780 : : }
22781 : 318383 : break;
22782 : : }
22783 : : default:;
22784 : : }
22785 : : }
22786 : : break;
22787 : : default:;
22788 : : }
22789 : 318383 : break;
22790 : : }
22791 : 0 : case NE_EXPR:
22792 : 0 : {
22793 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
22794 : 0 : _q50 = do_valueize (valueize, _q50);
22795 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
22796 : 0 : _q51 = do_valueize (valueize, _q51);
22797 : 0 : if (tree_swap_operands_p (_q50, _q51))
22798 : 0 : std::swap (_q50, _q51);
22799 : 0 : switch (TREE_CODE (_p1))
22800 : : {
22801 : 0 : case SSA_NAME:
22802 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
22803 : : {
22804 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
22805 : 0 : switch (gimple_assign_rhs_code (_a4))
22806 : : {
22807 : 0 : case BIT_AND_EXPR:
22808 : 0 : {
22809 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
22810 : 0 : _q80 = do_valueize (valueize, _q80);
22811 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
22812 : 0 : _q81 = do_valueize (valueize, _q81);
22813 : 0 : if (tree_swap_operands_p (_q80, _q81))
22814 : 0 : std::swap (_q80, _q81);
22815 : 0 : switch (TREE_CODE (_q80))
22816 : : {
22817 : 0 : case SSA_NAME:
22818 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
22819 : : {
22820 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
22821 : 0 : switch (gimple_assign_rhs_code (_a5))
22822 : : {
22823 : 0 : CASE_CONVERT:
22824 : 0 : {
22825 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
22826 : 0 : _q90 = do_valueize (valueize, _q90);
22827 : 0 : switch (TREE_CODE (_q90))
22828 : : {
22829 : 0 : case SSA_NAME:
22830 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
22831 : : {
22832 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
22833 : 0 : switch (gimple_assign_rhs_code (_a6))
22834 : : {
22835 : 0 : case EQ_EXPR:
22836 : 0 : {
22837 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
22838 : 0 : _q100 = do_valueize (valueize, _q100);
22839 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
22840 : 0 : _q101 = do_valueize (valueize, _q101);
22841 : 0 : if (tree_swap_operands_p (_q100, _q101))
22842 : 0 : std::swap (_q100, _q101);
22843 : 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
22844 : : {
22845 : 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
22846 : : {
22847 : 0 : {
22848 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
22849 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
22850 : 0 : return true;
22851 : : }
22852 : : }
22853 : : }
22854 : 0 : break;
22855 : : }
22856 : : default:;
22857 : : }
22858 : : }
22859 : : break;
22860 : : default:;
22861 : : }
22862 : : break;
22863 : : }
22864 : : default:;
22865 : : }
22866 : : }
22867 : : break;
22868 : 0 : default:;
22869 : : }
22870 : 0 : switch (TREE_CODE (_q81))
22871 : : {
22872 : 0 : case SSA_NAME:
22873 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
22874 : : {
22875 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
22876 : 0 : switch (gimple_assign_rhs_code (_a5))
22877 : : {
22878 : 0 : CASE_CONVERT:
22879 : 0 : {
22880 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
22881 : 0 : _q100 = do_valueize (valueize, _q100);
22882 : 0 : switch (TREE_CODE (_q100))
22883 : : {
22884 : 0 : case SSA_NAME:
22885 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
22886 : : {
22887 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
22888 : 0 : switch (gimple_assign_rhs_code (_a6))
22889 : : {
22890 : 0 : case EQ_EXPR:
22891 : 0 : {
22892 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
22893 : 0 : _q110 = do_valueize (valueize, _q110);
22894 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
22895 : 0 : _q111 = do_valueize (valueize, _q111);
22896 : 0 : if (tree_swap_operands_p (_q110, _q111))
22897 : 0 : std::swap (_q110, _q111);
22898 : 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
22899 : : {
22900 : 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
22901 : : {
22902 : 0 : {
22903 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
22904 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
22905 : 0 : return true;
22906 : : }
22907 : : }
22908 : : }
22909 : 318383 : break;
22910 : : }
22911 : : default:;
22912 : : }
22913 : : }
22914 : : break;
22915 : : default:;
22916 : : }
22917 : : break;
22918 : : }
22919 : : default:;
22920 : : }
22921 : : }
22922 : : break;
22923 : : default:;
22924 : : }
22925 : 318383 : break;
22926 : : }
22927 : : default:;
22928 : : }
22929 : : }
22930 : : break;
22931 : : default:;
22932 : : }
22933 : 318383 : break;
22934 : : }
22935 : 0 : case GE_EXPR:
22936 : 0 : {
22937 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
22938 : 0 : _q50 = do_valueize (valueize, _q50);
22939 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
22940 : 0 : _q51 = do_valueize (valueize, _q51);
22941 : 0 : switch (TREE_CODE (_p1))
22942 : : {
22943 : 0 : case SSA_NAME:
22944 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
22945 : : {
22946 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
22947 : 0 : switch (gimple_assign_rhs_code (_a4))
22948 : : {
22949 : 0 : case BIT_AND_EXPR:
22950 : 0 : {
22951 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
22952 : 0 : _q80 = do_valueize (valueize, _q80);
22953 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
22954 : 0 : _q81 = do_valueize (valueize, _q81);
22955 : 0 : if (tree_swap_operands_p (_q80, _q81))
22956 : 0 : std::swap (_q80, _q81);
22957 : 0 : switch (TREE_CODE (_q80))
22958 : : {
22959 : 0 : case SSA_NAME:
22960 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
22961 : : {
22962 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
22963 : 0 : switch (gimple_assign_rhs_code (_a5))
22964 : : {
22965 : 0 : CASE_CONVERT:
22966 : 0 : {
22967 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
22968 : 0 : _q90 = do_valueize (valueize, _q90);
22969 : 0 : switch (TREE_CODE (_q90))
22970 : : {
22971 : 0 : case SSA_NAME:
22972 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
22973 : : {
22974 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
22975 : 0 : switch (gimple_assign_rhs_code (_a6))
22976 : : {
22977 : 0 : case LT_EXPR:
22978 : 0 : {
22979 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
22980 : 0 : _q100 = do_valueize (valueize, _q100);
22981 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
22982 : 0 : _q101 = do_valueize (valueize, _q101);
22983 : 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
22984 : : {
22985 : 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
22986 : : {
22987 : 0 : {
22988 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
22989 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
22990 : 0 : return true;
22991 : : }
22992 : : }
22993 : : }
22994 : : break;
22995 : : }
22996 : : default:;
22997 : : }
22998 : : }
22999 : : break;
23000 : : default:;
23001 : : }
23002 : : break;
23003 : : }
23004 : : default:;
23005 : : }
23006 : : }
23007 : : break;
23008 : 0 : default:;
23009 : : }
23010 : 0 : switch (TREE_CODE (_q81))
23011 : : {
23012 : 0 : case SSA_NAME:
23013 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
23014 : : {
23015 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
23016 : 0 : switch (gimple_assign_rhs_code (_a5))
23017 : : {
23018 : 0 : CASE_CONVERT:
23019 : 0 : {
23020 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
23021 : 0 : _q100 = do_valueize (valueize, _q100);
23022 : 0 : switch (TREE_CODE (_q100))
23023 : : {
23024 : 0 : case SSA_NAME:
23025 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
23026 : : {
23027 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
23028 : 0 : switch (gimple_assign_rhs_code (_a6))
23029 : : {
23030 : 0 : case LT_EXPR:
23031 : 0 : {
23032 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
23033 : 0 : _q110 = do_valueize (valueize, _q110);
23034 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
23035 : 0 : _q111 = do_valueize (valueize, _q111);
23036 : 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
23037 : : {
23038 : 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
23039 : : {
23040 : 0 : {
23041 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
23042 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
23043 : 0 : return true;
23044 : : }
23045 : : }
23046 : : }
23047 : : break;
23048 : : }
23049 : : default:;
23050 : : }
23051 : : }
23052 : : break;
23053 : : default:;
23054 : : }
23055 : : break;
23056 : : }
23057 : : default:;
23058 : : }
23059 : : }
23060 : : break;
23061 : : default:;
23062 : : }
23063 : 318383 : break;
23064 : : }
23065 : : default:;
23066 : : }
23067 : : }
23068 : : break;
23069 : : default:;
23070 : : }
23071 : : break;
23072 : : }
23073 : 0 : case GT_EXPR:
23074 : 0 : {
23075 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
23076 : 0 : _q50 = do_valueize (valueize, _q50);
23077 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
23078 : 0 : _q51 = do_valueize (valueize, _q51);
23079 : 0 : switch (TREE_CODE (_p1))
23080 : : {
23081 : 0 : case SSA_NAME:
23082 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
23083 : : {
23084 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
23085 : 0 : switch (gimple_assign_rhs_code (_a4))
23086 : : {
23087 : 0 : case BIT_AND_EXPR:
23088 : 0 : {
23089 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
23090 : 0 : _q80 = do_valueize (valueize, _q80);
23091 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
23092 : 0 : _q81 = do_valueize (valueize, _q81);
23093 : 0 : if (tree_swap_operands_p (_q80, _q81))
23094 : 0 : std::swap (_q80, _q81);
23095 : 0 : switch (TREE_CODE (_q80))
23096 : : {
23097 : 0 : case SSA_NAME:
23098 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
23099 : : {
23100 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
23101 : 0 : switch (gimple_assign_rhs_code (_a5))
23102 : : {
23103 : 0 : CASE_CONVERT:
23104 : 0 : {
23105 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
23106 : 0 : _q90 = do_valueize (valueize, _q90);
23107 : 0 : switch (TREE_CODE (_q90))
23108 : : {
23109 : 0 : case SSA_NAME:
23110 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
23111 : : {
23112 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
23113 : 0 : switch (gimple_assign_rhs_code (_a6))
23114 : : {
23115 : 0 : case LE_EXPR:
23116 : 0 : {
23117 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
23118 : 0 : _q100 = do_valueize (valueize, _q100);
23119 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
23120 : 0 : _q101 = do_valueize (valueize, _q101);
23121 : 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
23122 : : {
23123 : 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
23124 : : {
23125 : 0 : {
23126 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
23127 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
23128 : 0 : return true;
23129 : : }
23130 : : }
23131 : : }
23132 : : break;
23133 : : }
23134 : : default:;
23135 : : }
23136 : : }
23137 : : break;
23138 : : default:;
23139 : : }
23140 : : break;
23141 : : }
23142 : : default:;
23143 : : }
23144 : : }
23145 : : break;
23146 : 0 : default:;
23147 : : }
23148 : 0 : switch (TREE_CODE (_q81))
23149 : : {
23150 : 0 : case SSA_NAME:
23151 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
23152 : : {
23153 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
23154 : 0 : switch (gimple_assign_rhs_code (_a5))
23155 : : {
23156 : 0 : CASE_CONVERT:
23157 : 0 : {
23158 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
23159 : 0 : _q100 = do_valueize (valueize, _q100);
23160 : 0 : switch (TREE_CODE (_q100))
23161 : : {
23162 : 0 : case SSA_NAME:
23163 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
23164 : : {
23165 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
23166 : 0 : switch (gimple_assign_rhs_code (_a6))
23167 : : {
23168 : 0 : case LE_EXPR:
23169 : 0 : {
23170 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
23171 : 0 : _q110 = do_valueize (valueize, _q110);
23172 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
23173 : 0 : _q111 = do_valueize (valueize, _q111);
23174 : 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
23175 : : {
23176 : 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
23177 : : {
23178 : 0 : {
23179 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
23180 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
23181 : 0 : return true;
23182 : : }
23183 : : }
23184 : : }
23185 : : break;
23186 : : }
23187 : : default:;
23188 : : }
23189 : : }
23190 : : break;
23191 : : default:;
23192 : : }
23193 : : break;
23194 : : }
23195 : : default:;
23196 : : }
23197 : : }
23198 : : break;
23199 : : default:;
23200 : : }
23201 : 318383 : break;
23202 : : }
23203 : : default:;
23204 : : }
23205 : : }
23206 : : break;
23207 : : default:;
23208 : : }
23209 : : break;
23210 : : }
23211 : 0 : case UNORDERED_EXPR:
23212 : 0 : {
23213 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
23214 : 0 : _q50 = do_valueize (valueize, _q50);
23215 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
23216 : 0 : _q51 = do_valueize (valueize, _q51);
23217 : 0 : if (tree_swap_operands_p (_q50, _q51))
23218 : 0 : std::swap (_q50, _q51);
23219 : 0 : switch (TREE_CODE (_p1))
23220 : : {
23221 : 0 : case SSA_NAME:
23222 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
23223 : : {
23224 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
23225 : 0 : switch (gimple_assign_rhs_code (_a4))
23226 : : {
23227 : 0 : case BIT_AND_EXPR:
23228 : 0 : {
23229 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
23230 : 0 : _q80 = do_valueize (valueize, _q80);
23231 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
23232 : 0 : _q81 = do_valueize (valueize, _q81);
23233 : 0 : if (tree_swap_operands_p (_q80, _q81))
23234 : 0 : std::swap (_q80, _q81);
23235 : 0 : switch (TREE_CODE (_q80))
23236 : : {
23237 : 0 : case SSA_NAME:
23238 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
23239 : : {
23240 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
23241 : 0 : switch (gimple_assign_rhs_code (_a5))
23242 : : {
23243 : 0 : CASE_CONVERT:
23244 : 0 : {
23245 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
23246 : 0 : _q90 = do_valueize (valueize, _q90);
23247 : 0 : switch (TREE_CODE (_q90))
23248 : : {
23249 : 0 : case SSA_NAME:
23250 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
23251 : : {
23252 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
23253 : 0 : switch (gimple_assign_rhs_code (_a6))
23254 : : {
23255 : 0 : case ORDERED_EXPR:
23256 : 0 : {
23257 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
23258 : 0 : _q100 = do_valueize (valueize, _q100);
23259 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
23260 : 0 : _q101 = do_valueize (valueize, _q101);
23261 : 0 : if (tree_swap_operands_p (_q100, _q101))
23262 : 0 : std::swap (_q100, _q101);
23263 : 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
23264 : : {
23265 : 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
23266 : : {
23267 : 0 : {
23268 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
23269 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
23270 : 0 : return true;
23271 : : }
23272 : : }
23273 : : }
23274 : 0 : break;
23275 : : }
23276 : : default:;
23277 : : }
23278 : : }
23279 : : break;
23280 : : default:;
23281 : : }
23282 : : break;
23283 : : }
23284 : : default:;
23285 : : }
23286 : : }
23287 : : break;
23288 : 0 : default:;
23289 : : }
23290 : 0 : switch (TREE_CODE (_q81))
23291 : : {
23292 : 0 : case SSA_NAME:
23293 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
23294 : : {
23295 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
23296 : 0 : switch (gimple_assign_rhs_code (_a5))
23297 : : {
23298 : 0 : CASE_CONVERT:
23299 : 0 : {
23300 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
23301 : 0 : _q100 = do_valueize (valueize, _q100);
23302 : 0 : switch (TREE_CODE (_q100))
23303 : : {
23304 : 0 : case SSA_NAME:
23305 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
23306 : : {
23307 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
23308 : 0 : switch (gimple_assign_rhs_code (_a6))
23309 : : {
23310 : 0 : case ORDERED_EXPR:
23311 : 0 : {
23312 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
23313 : 0 : _q110 = do_valueize (valueize, _q110);
23314 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
23315 : 0 : _q111 = do_valueize (valueize, _q111);
23316 : 0 : if (tree_swap_operands_p (_q110, _q111))
23317 : 0 : std::swap (_q110, _q111);
23318 : 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
23319 : : {
23320 : 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
23321 : : {
23322 : 0 : {
23323 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
23324 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
23325 : 0 : return true;
23326 : : }
23327 : : }
23328 : : }
23329 : 318383 : break;
23330 : : }
23331 : : default:;
23332 : : }
23333 : : }
23334 : : break;
23335 : : default:;
23336 : : }
23337 : : break;
23338 : : }
23339 : : default:;
23340 : : }
23341 : : }
23342 : : break;
23343 : : default:;
23344 : : }
23345 : 318383 : break;
23346 : : }
23347 : : default:;
23348 : : }
23349 : : }
23350 : : break;
23351 : : default:;
23352 : : }
23353 : 318383 : break;
23354 : : }
23355 : 0 : case ORDERED_EXPR:
23356 : 0 : {
23357 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
23358 : 0 : _q50 = do_valueize (valueize, _q50);
23359 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
23360 : 0 : _q51 = do_valueize (valueize, _q51);
23361 : 0 : if (tree_swap_operands_p (_q50, _q51))
23362 : 0 : std::swap (_q50, _q51);
23363 : 0 : switch (TREE_CODE (_p1))
23364 : : {
23365 : 0 : case SSA_NAME:
23366 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
23367 : : {
23368 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
23369 : 0 : switch (gimple_assign_rhs_code (_a4))
23370 : : {
23371 : 0 : case BIT_AND_EXPR:
23372 : 0 : {
23373 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
23374 : 0 : _q80 = do_valueize (valueize, _q80);
23375 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
23376 : 0 : _q81 = do_valueize (valueize, _q81);
23377 : 0 : if (tree_swap_operands_p (_q80, _q81))
23378 : 0 : std::swap (_q80, _q81);
23379 : 0 : switch (TREE_CODE (_q80))
23380 : : {
23381 : 0 : case SSA_NAME:
23382 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
23383 : : {
23384 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
23385 : 0 : switch (gimple_assign_rhs_code (_a5))
23386 : : {
23387 : 0 : CASE_CONVERT:
23388 : 0 : {
23389 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
23390 : 0 : _q90 = do_valueize (valueize, _q90);
23391 : 0 : switch (TREE_CODE (_q90))
23392 : : {
23393 : 0 : case SSA_NAME:
23394 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
23395 : : {
23396 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
23397 : 0 : switch (gimple_assign_rhs_code (_a6))
23398 : : {
23399 : 0 : case UNORDERED_EXPR:
23400 : 0 : {
23401 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
23402 : 0 : _q100 = do_valueize (valueize, _q100);
23403 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
23404 : 0 : _q101 = do_valueize (valueize, _q101);
23405 : 0 : if (tree_swap_operands_p (_q100, _q101))
23406 : 0 : std::swap (_q100, _q101);
23407 : 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
23408 : : {
23409 : 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
23410 : : {
23411 : 0 : {
23412 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
23413 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
23414 : 0 : return true;
23415 : : }
23416 : : }
23417 : : }
23418 : 0 : break;
23419 : : }
23420 : : default:;
23421 : : }
23422 : : }
23423 : : break;
23424 : : default:;
23425 : : }
23426 : : break;
23427 : : }
23428 : : default:;
23429 : : }
23430 : : }
23431 : : break;
23432 : 0 : default:;
23433 : : }
23434 : 0 : switch (TREE_CODE (_q81))
23435 : : {
23436 : 0 : case SSA_NAME:
23437 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
23438 : : {
23439 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
23440 : 0 : switch (gimple_assign_rhs_code (_a5))
23441 : : {
23442 : 0 : CASE_CONVERT:
23443 : 0 : {
23444 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
23445 : 0 : _q100 = do_valueize (valueize, _q100);
23446 : 0 : switch (TREE_CODE (_q100))
23447 : : {
23448 : 0 : case SSA_NAME:
23449 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
23450 : : {
23451 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
23452 : 0 : switch (gimple_assign_rhs_code (_a6))
23453 : : {
23454 : 0 : case UNORDERED_EXPR:
23455 : 0 : {
23456 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
23457 : 0 : _q110 = do_valueize (valueize, _q110);
23458 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
23459 : 0 : _q111 = do_valueize (valueize, _q111);
23460 : 0 : if (tree_swap_operands_p (_q110, _q111))
23461 : 0 : std::swap (_q110, _q111);
23462 : 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
23463 : : {
23464 : 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
23465 : : {
23466 : 0 : {
23467 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
23468 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
23469 : 0 : return true;
23470 : : }
23471 : : }
23472 : : }
23473 : 318383 : break;
23474 : : }
23475 : : default:;
23476 : : }
23477 : : }
23478 : : break;
23479 : : default:;
23480 : : }
23481 : : break;
23482 : : }
23483 : : default:;
23484 : : }
23485 : : }
23486 : : break;
23487 : : default:;
23488 : : }
23489 : 318383 : break;
23490 : : }
23491 : : default:;
23492 : : }
23493 : : }
23494 : : break;
23495 : : default:;
23496 : : }
23497 : 318383 : break;
23498 : : }
23499 : 0 : case UNLT_EXPR:
23500 : 0 : {
23501 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
23502 : 0 : _q50 = do_valueize (valueize, _q50);
23503 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
23504 : 0 : _q51 = do_valueize (valueize, _q51);
23505 : 0 : switch (TREE_CODE (_p1))
23506 : : {
23507 : 0 : case SSA_NAME:
23508 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
23509 : : {
23510 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
23511 : 0 : switch (gimple_assign_rhs_code (_a4))
23512 : : {
23513 : 0 : case BIT_AND_EXPR:
23514 : 0 : {
23515 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
23516 : 0 : _q80 = do_valueize (valueize, _q80);
23517 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
23518 : 0 : _q81 = do_valueize (valueize, _q81);
23519 : 0 : if (tree_swap_operands_p (_q80, _q81))
23520 : 0 : std::swap (_q80, _q81);
23521 : 0 : switch (TREE_CODE (_q80))
23522 : : {
23523 : 0 : case SSA_NAME:
23524 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
23525 : : {
23526 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
23527 : 0 : switch (gimple_assign_rhs_code (_a5))
23528 : : {
23529 : 0 : CASE_CONVERT:
23530 : 0 : {
23531 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
23532 : 0 : _q90 = do_valueize (valueize, _q90);
23533 : 0 : switch (TREE_CODE (_q90))
23534 : : {
23535 : 0 : case SSA_NAME:
23536 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
23537 : : {
23538 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
23539 : 0 : switch (gimple_assign_rhs_code (_a6))
23540 : : {
23541 : 0 : case GE_EXPR:
23542 : 0 : {
23543 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
23544 : 0 : _q100 = do_valueize (valueize, _q100);
23545 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
23546 : 0 : _q101 = do_valueize (valueize, _q101);
23547 : 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
23548 : : {
23549 : 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
23550 : : {
23551 : 0 : {
23552 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
23553 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR))
23554 : 0 : return true;
23555 : : }
23556 : : }
23557 : : }
23558 : : break;
23559 : : }
23560 : : default:;
23561 : : }
23562 : : }
23563 : : break;
23564 : : default:;
23565 : : }
23566 : : break;
23567 : : }
23568 : : default:;
23569 : : }
23570 : : }
23571 : : break;
23572 : 0 : default:;
23573 : : }
23574 : 0 : switch (TREE_CODE (_q81))
23575 : : {
23576 : 0 : case SSA_NAME:
23577 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
23578 : : {
23579 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
23580 : 0 : switch (gimple_assign_rhs_code (_a5))
23581 : : {
23582 : 0 : CASE_CONVERT:
23583 : 0 : {
23584 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
23585 : 0 : _q100 = do_valueize (valueize, _q100);
23586 : 0 : switch (TREE_CODE (_q100))
23587 : : {
23588 : 0 : case SSA_NAME:
23589 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
23590 : : {
23591 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
23592 : 0 : switch (gimple_assign_rhs_code (_a6))
23593 : : {
23594 : 0 : case GE_EXPR:
23595 : 0 : {
23596 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
23597 : 0 : _q110 = do_valueize (valueize, _q110);
23598 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
23599 : 0 : _q111 = do_valueize (valueize, _q111);
23600 : 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
23601 : : {
23602 : 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
23603 : : {
23604 : 0 : {
23605 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
23606 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR))
23607 : 0 : return true;
23608 : : }
23609 : : }
23610 : : }
23611 : : break;
23612 : : }
23613 : : default:;
23614 : : }
23615 : : }
23616 : : break;
23617 : : default:;
23618 : : }
23619 : : break;
23620 : : }
23621 : : default:;
23622 : : }
23623 : : }
23624 : : break;
23625 : : default:;
23626 : : }
23627 : 318383 : break;
23628 : : }
23629 : : default:;
23630 : : }
23631 : : }
23632 : : break;
23633 : : default:;
23634 : : }
23635 : : break;
23636 : : }
23637 : 0 : case UNLE_EXPR:
23638 : 0 : {
23639 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
23640 : 0 : _q50 = do_valueize (valueize, _q50);
23641 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
23642 : 0 : _q51 = do_valueize (valueize, _q51);
23643 : 0 : switch (TREE_CODE (_p1))
23644 : : {
23645 : 0 : case SSA_NAME:
23646 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
23647 : : {
23648 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
23649 : 0 : switch (gimple_assign_rhs_code (_a4))
23650 : : {
23651 : 0 : case BIT_AND_EXPR:
23652 : 0 : {
23653 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
23654 : 0 : _q80 = do_valueize (valueize, _q80);
23655 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
23656 : 0 : _q81 = do_valueize (valueize, _q81);
23657 : 0 : if (tree_swap_operands_p (_q80, _q81))
23658 : 0 : std::swap (_q80, _q81);
23659 : 0 : switch (TREE_CODE (_q80))
23660 : : {
23661 : 0 : case SSA_NAME:
23662 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
23663 : : {
23664 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
23665 : 0 : switch (gimple_assign_rhs_code (_a5))
23666 : : {
23667 : 0 : CASE_CONVERT:
23668 : 0 : {
23669 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
23670 : 0 : _q90 = do_valueize (valueize, _q90);
23671 : 0 : switch (TREE_CODE (_q90))
23672 : : {
23673 : 0 : case SSA_NAME:
23674 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
23675 : : {
23676 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
23677 : 0 : switch (gimple_assign_rhs_code (_a6))
23678 : : {
23679 : 0 : case GT_EXPR:
23680 : 0 : {
23681 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
23682 : 0 : _q100 = do_valueize (valueize, _q100);
23683 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
23684 : 0 : _q101 = do_valueize (valueize, _q101);
23685 : 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
23686 : : {
23687 : 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
23688 : : {
23689 : 0 : {
23690 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
23691 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
23692 : 0 : return true;
23693 : : }
23694 : : }
23695 : : }
23696 : : break;
23697 : : }
23698 : : default:;
23699 : : }
23700 : : }
23701 : : break;
23702 : : default:;
23703 : : }
23704 : : break;
23705 : : }
23706 : : default:;
23707 : : }
23708 : : }
23709 : : break;
23710 : 0 : default:;
23711 : : }
23712 : 0 : switch (TREE_CODE (_q81))
23713 : : {
23714 : 0 : case SSA_NAME:
23715 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
23716 : : {
23717 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
23718 : 0 : switch (gimple_assign_rhs_code (_a5))
23719 : : {
23720 : 0 : CASE_CONVERT:
23721 : 0 : {
23722 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
23723 : 0 : _q100 = do_valueize (valueize, _q100);
23724 : 0 : switch (TREE_CODE (_q100))
23725 : : {
23726 : 0 : case SSA_NAME:
23727 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
23728 : : {
23729 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
23730 : 0 : switch (gimple_assign_rhs_code (_a6))
23731 : : {
23732 : 0 : case GT_EXPR:
23733 : 0 : {
23734 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
23735 : 0 : _q110 = do_valueize (valueize, _q110);
23736 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
23737 : 0 : _q111 = do_valueize (valueize, _q111);
23738 : 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
23739 : : {
23740 : 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
23741 : : {
23742 : 0 : {
23743 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
23744 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
23745 : 0 : return true;
23746 : : }
23747 : : }
23748 : : }
23749 : : break;
23750 : : }
23751 : : default:;
23752 : : }
23753 : : }
23754 : : break;
23755 : : default:;
23756 : : }
23757 : : break;
23758 : : }
23759 : : default:;
23760 : : }
23761 : : }
23762 : : break;
23763 : : default:;
23764 : : }
23765 : 318383 : break;
23766 : : }
23767 : : default:;
23768 : : }
23769 : : }
23770 : : break;
23771 : : default:;
23772 : : }
23773 : : break;
23774 : : }
23775 : 0 : case UNGT_EXPR:
23776 : 0 : {
23777 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
23778 : 0 : _q50 = do_valueize (valueize, _q50);
23779 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
23780 : 0 : _q51 = do_valueize (valueize, _q51);
23781 : 0 : switch (TREE_CODE (_p1))
23782 : : {
23783 : 0 : case SSA_NAME:
23784 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
23785 : : {
23786 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
23787 : 0 : switch (gimple_assign_rhs_code (_a4))
23788 : : {
23789 : 0 : case BIT_AND_EXPR:
23790 : 0 : {
23791 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
23792 : 0 : _q80 = do_valueize (valueize, _q80);
23793 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
23794 : 0 : _q81 = do_valueize (valueize, _q81);
23795 : 0 : if (tree_swap_operands_p (_q80, _q81))
23796 : 0 : std::swap (_q80, _q81);
23797 : 0 : switch (TREE_CODE (_q80))
23798 : : {
23799 : 0 : case SSA_NAME:
23800 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
23801 : : {
23802 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
23803 : 0 : switch (gimple_assign_rhs_code (_a5))
23804 : : {
23805 : 0 : CASE_CONVERT:
23806 : 0 : {
23807 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
23808 : 0 : _q90 = do_valueize (valueize, _q90);
23809 : 0 : switch (TREE_CODE (_q90))
23810 : : {
23811 : 0 : case SSA_NAME:
23812 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
23813 : : {
23814 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
23815 : 0 : switch (gimple_assign_rhs_code (_a6))
23816 : : {
23817 : 0 : case LE_EXPR:
23818 : 0 : {
23819 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
23820 : 0 : _q100 = do_valueize (valueize, _q100);
23821 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
23822 : 0 : _q101 = do_valueize (valueize, _q101);
23823 : 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
23824 : : {
23825 : 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
23826 : : {
23827 : 0 : {
23828 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
23829 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
23830 : 0 : return true;
23831 : : }
23832 : : }
23833 : : }
23834 : : break;
23835 : : }
23836 : : default:;
23837 : : }
23838 : : }
23839 : : break;
23840 : : default:;
23841 : : }
23842 : : break;
23843 : : }
23844 : : default:;
23845 : : }
23846 : : }
23847 : : break;
23848 : 0 : default:;
23849 : : }
23850 : 0 : switch (TREE_CODE (_q81))
23851 : : {
23852 : 0 : case SSA_NAME:
23853 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
23854 : : {
23855 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
23856 : 0 : switch (gimple_assign_rhs_code (_a5))
23857 : : {
23858 : 0 : CASE_CONVERT:
23859 : 0 : {
23860 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
23861 : 0 : _q100 = do_valueize (valueize, _q100);
23862 : 0 : switch (TREE_CODE (_q100))
23863 : : {
23864 : 0 : case SSA_NAME:
23865 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
23866 : : {
23867 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
23868 : 0 : switch (gimple_assign_rhs_code (_a6))
23869 : : {
23870 : 0 : case LE_EXPR:
23871 : 0 : {
23872 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
23873 : 0 : _q110 = do_valueize (valueize, _q110);
23874 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
23875 : 0 : _q111 = do_valueize (valueize, _q111);
23876 : 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
23877 : : {
23878 : 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
23879 : : {
23880 : 0 : {
23881 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
23882 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
23883 : 0 : return true;
23884 : : }
23885 : : }
23886 : : }
23887 : : break;
23888 : : }
23889 : : default:;
23890 : : }
23891 : : }
23892 : : break;
23893 : : default:;
23894 : : }
23895 : : break;
23896 : : }
23897 : : default:;
23898 : : }
23899 : : }
23900 : : break;
23901 : : default:;
23902 : : }
23903 : 318383 : break;
23904 : : }
23905 : : default:;
23906 : : }
23907 : : }
23908 : : break;
23909 : : default:;
23910 : : }
23911 : : break;
23912 : : }
23913 : 0 : case UNGE_EXPR:
23914 : 0 : {
23915 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
23916 : 0 : _q50 = do_valueize (valueize, _q50);
23917 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
23918 : 0 : _q51 = do_valueize (valueize, _q51);
23919 : 0 : switch (TREE_CODE (_p1))
23920 : : {
23921 : 0 : case SSA_NAME:
23922 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
23923 : : {
23924 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
23925 : 0 : switch (gimple_assign_rhs_code (_a4))
23926 : : {
23927 : 0 : case BIT_AND_EXPR:
23928 : 0 : {
23929 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
23930 : 0 : _q80 = do_valueize (valueize, _q80);
23931 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
23932 : 0 : _q81 = do_valueize (valueize, _q81);
23933 : 0 : if (tree_swap_operands_p (_q80, _q81))
23934 : 0 : std::swap (_q80, _q81);
23935 : 0 : switch (TREE_CODE (_q80))
23936 : : {
23937 : 0 : case SSA_NAME:
23938 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
23939 : : {
23940 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
23941 : 0 : switch (gimple_assign_rhs_code (_a5))
23942 : : {
23943 : 0 : CASE_CONVERT:
23944 : 0 : {
23945 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
23946 : 0 : _q90 = do_valueize (valueize, _q90);
23947 : 0 : switch (TREE_CODE (_q90))
23948 : : {
23949 : 0 : case SSA_NAME:
23950 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
23951 : : {
23952 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
23953 : 0 : switch (gimple_assign_rhs_code (_a6))
23954 : : {
23955 : 0 : case LT_EXPR:
23956 : 0 : {
23957 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
23958 : 0 : _q100 = do_valueize (valueize, _q100);
23959 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
23960 : 0 : _q101 = do_valueize (valueize, _q101);
23961 : 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
23962 : : {
23963 : 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
23964 : : {
23965 : 0 : {
23966 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
23967 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
23968 : 0 : return true;
23969 : : }
23970 : : }
23971 : : }
23972 : : break;
23973 : : }
23974 : : default:;
23975 : : }
23976 : : }
23977 : : break;
23978 : : default:;
23979 : : }
23980 : : break;
23981 : : }
23982 : : default:;
23983 : : }
23984 : : }
23985 : : break;
23986 : 0 : default:;
23987 : : }
23988 : 0 : switch (TREE_CODE (_q81))
23989 : : {
23990 : 0 : case SSA_NAME:
23991 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
23992 : : {
23993 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
23994 : 0 : switch (gimple_assign_rhs_code (_a5))
23995 : : {
23996 : 0 : CASE_CONVERT:
23997 : 0 : {
23998 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
23999 : 0 : _q100 = do_valueize (valueize, _q100);
24000 : 0 : switch (TREE_CODE (_q100))
24001 : : {
24002 : 0 : case SSA_NAME:
24003 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
24004 : : {
24005 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
24006 : 0 : switch (gimple_assign_rhs_code (_a6))
24007 : : {
24008 : 0 : case LT_EXPR:
24009 : 0 : {
24010 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
24011 : 0 : _q110 = do_valueize (valueize, _q110);
24012 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
24013 : 0 : _q111 = do_valueize (valueize, _q111);
24014 : 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
24015 : : {
24016 : 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
24017 : : {
24018 : 0 : {
24019 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
24020 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
24021 : 0 : return true;
24022 : : }
24023 : : }
24024 : : }
24025 : : break;
24026 : : }
24027 : : default:;
24028 : : }
24029 : : }
24030 : : break;
24031 : : default:;
24032 : : }
24033 : : break;
24034 : : }
24035 : : default:;
24036 : : }
24037 : : }
24038 : : break;
24039 : : default:;
24040 : : }
24041 : 318383 : break;
24042 : : }
24043 : : default:;
24044 : : }
24045 : : }
24046 : : break;
24047 : : default:;
24048 : : }
24049 : : break;
24050 : : }
24051 : 0 : case UNEQ_EXPR:
24052 : 0 : {
24053 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
24054 : 0 : _q50 = do_valueize (valueize, _q50);
24055 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
24056 : 0 : _q51 = do_valueize (valueize, _q51);
24057 : 0 : if (tree_swap_operands_p (_q50, _q51))
24058 : 0 : std::swap (_q50, _q51);
24059 : 0 : switch (TREE_CODE (_p1))
24060 : : {
24061 : 0 : case SSA_NAME:
24062 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
24063 : : {
24064 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
24065 : 0 : switch (gimple_assign_rhs_code (_a4))
24066 : : {
24067 : 0 : case BIT_AND_EXPR:
24068 : 0 : {
24069 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
24070 : 0 : _q80 = do_valueize (valueize, _q80);
24071 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
24072 : 0 : _q81 = do_valueize (valueize, _q81);
24073 : 0 : if (tree_swap_operands_p (_q80, _q81))
24074 : 0 : std::swap (_q80, _q81);
24075 : 0 : switch (TREE_CODE (_q80))
24076 : : {
24077 : 0 : case SSA_NAME:
24078 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
24079 : : {
24080 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
24081 : 0 : switch (gimple_assign_rhs_code (_a5))
24082 : : {
24083 : 0 : CASE_CONVERT:
24084 : 0 : {
24085 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
24086 : 0 : _q90 = do_valueize (valueize, _q90);
24087 : 0 : switch (TREE_CODE (_q90))
24088 : : {
24089 : 0 : case SSA_NAME:
24090 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
24091 : : {
24092 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
24093 : 0 : switch (gimple_assign_rhs_code (_a6))
24094 : : {
24095 : 0 : case LTGT_EXPR:
24096 : 0 : {
24097 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
24098 : 0 : _q100 = do_valueize (valueize, _q100);
24099 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
24100 : 0 : _q101 = do_valueize (valueize, _q101);
24101 : 0 : if (tree_swap_operands_p (_q100, _q101))
24102 : 0 : std::swap (_q100, _q101);
24103 : 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
24104 : : {
24105 : 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
24106 : : {
24107 : 0 : {
24108 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
24109 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
24110 : 0 : return true;
24111 : : }
24112 : : }
24113 : : }
24114 : 0 : break;
24115 : : }
24116 : : default:;
24117 : : }
24118 : : }
24119 : : break;
24120 : : default:;
24121 : : }
24122 : : break;
24123 : : }
24124 : : default:;
24125 : : }
24126 : : }
24127 : : break;
24128 : 0 : default:;
24129 : : }
24130 : 0 : switch (TREE_CODE (_q81))
24131 : : {
24132 : 0 : case SSA_NAME:
24133 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
24134 : : {
24135 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
24136 : 0 : switch (gimple_assign_rhs_code (_a5))
24137 : : {
24138 : 0 : CASE_CONVERT:
24139 : 0 : {
24140 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
24141 : 0 : _q100 = do_valueize (valueize, _q100);
24142 : 0 : switch (TREE_CODE (_q100))
24143 : : {
24144 : 0 : case SSA_NAME:
24145 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
24146 : : {
24147 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
24148 : 0 : switch (gimple_assign_rhs_code (_a6))
24149 : : {
24150 : 0 : case LTGT_EXPR:
24151 : 0 : {
24152 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
24153 : 0 : _q110 = do_valueize (valueize, _q110);
24154 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
24155 : 0 : _q111 = do_valueize (valueize, _q111);
24156 : 0 : if (tree_swap_operands_p (_q110, _q111))
24157 : 0 : std::swap (_q110, _q111);
24158 : 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
24159 : : {
24160 : 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
24161 : : {
24162 : 0 : {
24163 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
24164 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
24165 : 0 : return true;
24166 : : }
24167 : : }
24168 : : }
24169 : 318383 : break;
24170 : : }
24171 : : default:;
24172 : : }
24173 : : }
24174 : : break;
24175 : : default:;
24176 : : }
24177 : : break;
24178 : : }
24179 : : default:;
24180 : : }
24181 : : }
24182 : : break;
24183 : : default:;
24184 : : }
24185 : 318383 : break;
24186 : : }
24187 : : default:;
24188 : : }
24189 : : }
24190 : : break;
24191 : : default:;
24192 : : }
24193 : 318383 : break;
24194 : : }
24195 : 0 : case LTGT_EXPR:
24196 : 0 : {
24197 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
24198 : 0 : _q50 = do_valueize (valueize, _q50);
24199 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
24200 : 0 : _q51 = do_valueize (valueize, _q51);
24201 : 0 : if (tree_swap_operands_p (_q50, _q51))
24202 : 0 : std::swap (_q50, _q51);
24203 : 0 : switch (TREE_CODE (_p1))
24204 : : {
24205 : 0 : case SSA_NAME:
24206 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
24207 : : {
24208 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
24209 : 0 : switch (gimple_assign_rhs_code (_a4))
24210 : : {
24211 : 0 : case BIT_AND_EXPR:
24212 : 0 : {
24213 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
24214 : 0 : _q80 = do_valueize (valueize, _q80);
24215 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
24216 : 0 : _q81 = do_valueize (valueize, _q81);
24217 : 0 : if (tree_swap_operands_p (_q80, _q81))
24218 : 0 : std::swap (_q80, _q81);
24219 : 0 : switch (TREE_CODE (_q80))
24220 : : {
24221 : 0 : case SSA_NAME:
24222 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
24223 : : {
24224 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
24225 : 0 : switch (gimple_assign_rhs_code (_a5))
24226 : : {
24227 : 0 : CASE_CONVERT:
24228 : 0 : {
24229 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
24230 : 0 : _q90 = do_valueize (valueize, _q90);
24231 : 0 : switch (TREE_CODE (_q90))
24232 : : {
24233 : 0 : case SSA_NAME:
24234 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
24235 : : {
24236 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
24237 : 0 : switch (gimple_assign_rhs_code (_a6))
24238 : : {
24239 : 0 : case UNEQ_EXPR:
24240 : 0 : {
24241 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
24242 : 0 : _q100 = do_valueize (valueize, _q100);
24243 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
24244 : 0 : _q101 = do_valueize (valueize, _q101);
24245 : 0 : if (tree_swap_operands_p (_q100, _q101))
24246 : 0 : std::swap (_q100, _q101);
24247 : 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
24248 : : {
24249 : 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
24250 : : {
24251 : 0 : {
24252 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
24253 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
24254 : 0 : return true;
24255 : : }
24256 : : }
24257 : : }
24258 : 0 : break;
24259 : : }
24260 : : default:;
24261 : : }
24262 : : }
24263 : : break;
24264 : : default:;
24265 : : }
24266 : : break;
24267 : : }
24268 : : default:;
24269 : : }
24270 : : }
24271 : : break;
24272 : 0 : default:;
24273 : : }
24274 : 0 : switch (TREE_CODE (_q81))
24275 : : {
24276 : 0 : case SSA_NAME:
24277 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
24278 : : {
24279 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
24280 : 0 : switch (gimple_assign_rhs_code (_a5))
24281 : : {
24282 : 0 : CASE_CONVERT:
24283 : 0 : {
24284 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
24285 : 0 : _q100 = do_valueize (valueize, _q100);
24286 : 0 : switch (TREE_CODE (_q100))
24287 : : {
24288 : 0 : case SSA_NAME:
24289 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
24290 : : {
24291 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
24292 : 0 : switch (gimple_assign_rhs_code (_a6))
24293 : : {
24294 : 0 : case UNEQ_EXPR:
24295 : 0 : {
24296 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
24297 : 0 : _q110 = do_valueize (valueize, _q110);
24298 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
24299 : 0 : _q111 = do_valueize (valueize, _q111);
24300 : 0 : if (tree_swap_operands_p (_q110, _q111))
24301 : 0 : std::swap (_q110, _q111);
24302 : 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
24303 : : {
24304 : 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
24305 : : {
24306 : 0 : {
24307 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
24308 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
24309 : 0 : return true;
24310 : : }
24311 : : }
24312 : : }
24313 : 318383 : break;
24314 : : }
24315 : : default:;
24316 : : }
24317 : : }
24318 : : break;
24319 : : default:;
24320 : : }
24321 : : break;
24322 : : }
24323 : : default:;
24324 : : }
24325 : : }
24326 : : break;
24327 : : default:;
24328 : : }
24329 : 318383 : break;
24330 : : }
24331 : : default:;
24332 : : }
24333 : : }
24334 : : break;
24335 : : default:;
24336 : : }
24337 : 318383 : break;
24338 : : }
24339 : : default:;
24340 : : }
24341 : : }
24342 : : break;
24343 : : default:;
24344 : : }
24345 : : break;
24346 : : }
24347 : : default:;
24348 : : }
24349 : : }
24350 : : break;
24351 : 318383 : default:;
24352 : : }
24353 : 318383 : switch (TREE_CODE (_q20))
24354 : : {
24355 : 318383 : case SSA_NAME:
24356 : 318383 : if (gimple *_d2 = get_def (valueize, _q20))
24357 : : {
24358 : 280594 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
24359 : 261199 : switch (gimple_assign_rhs_code (_a2))
24360 : : {
24361 : 62 : case LT_EXPR:
24362 : 62 : {
24363 : 62 : tree _q30 = gimple_assign_rhs1 (_a2);
24364 : 62 : _q30 = do_valueize (valueize, _q30);
24365 : 62 : tree _q31 = gimple_assign_rhs2 (_a2);
24366 : 62 : _q31 = do_valueize (valueize, _q31);
24367 : 62 : switch (TREE_CODE (_p1))
24368 : : {
24369 : 62 : case SSA_NAME:
24370 : 62 : if (gimple *_d3 = get_def (valueize, _p1))
24371 : : {
24372 : 62 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
24373 : 46 : switch (gimple_assign_rhs_code (_a3))
24374 : : {
24375 : 19 : case BIT_AND_EXPR:
24376 : 19 : {
24377 : 19 : tree _q70 = gimple_assign_rhs1 (_a3);
24378 : 19 : _q70 = do_valueize (valueize, _q70);
24379 : 19 : tree _q71 = gimple_assign_rhs2 (_a3);
24380 : 19 : _q71 = do_valueize (valueize, _q71);
24381 : 19 : if (tree_swap_operands_p (_q70, _q71))
24382 : 0 : std::swap (_q70, _q71);
24383 : 19 : switch (TREE_CODE (_q70))
24384 : : {
24385 : 19 : case SSA_NAME:
24386 : 19 : if (gimple *_d4 = get_def (valueize, _q70))
24387 : : {
24388 : 19 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
24389 : 19 : switch (gimple_assign_rhs_code (_a4))
24390 : : {
24391 : 3 : case GE_EXPR:
24392 : 3 : {
24393 : 3 : tree _q80 = gimple_assign_rhs1 (_a4);
24394 : 3 : _q80 = do_valueize (valueize, _q80);
24395 : 3 : tree _q81 = gimple_assign_rhs2 (_a4);
24396 : 3 : _q81 = do_valueize (valueize, _q81);
24397 : 3 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
24398 : : {
24399 : 3 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
24400 : : {
24401 : 3 : {
24402 : 3 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
24403 : 3 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
24404 : 0 : return true;
24405 : : }
24406 : : }
24407 : : }
24408 : : break;
24409 : : }
24410 : : default:;
24411 : : }
24412 : : }
24413 : : break;
24414 : 19 : default:;
24415 : : }
24416 : 19 : switch (TREE_CODE (_q71))
24417 : : {
24418 : 19 : case SSA_NAME:
24419 : 19 : if (gimple *_d4 = get_def (valueize, _q71))
24420 : : {
24421 : 19 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
24422 : 17 : switch (gimple_assign_rhs_code (_a4))
24423 : : {
24424 : 1 : case GE_EXPR:
24425 : 1 : {
24426 : 1 : tree _q90 = gimple_assign_rhs1 (_a4);
24427 : 1 : _q90 = do_valueize (valueize, _q90);
24428 : 1 : tree _q91 = gimple_assign_rhs2 (_a4);
24429 : 1 : _q91 = do_valueize (valueize, _q91);
24430 : 1 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
24431 : : {
24432 : 1 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
24433 : : {
24434 : 1 : {
24435 : 1 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
24436 : 1 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
24437 : 0 : return true;
24438 : : }
24439 : : }
24440 : : }
24441 : : break;
24442 : : }
24443 : : default:;
24444 : : }
24445 : : }
24446 : : break;
24447 : : default:;
24448 : : }
24449 : 318371 : break;
24450 : : }
24451 : : default:;
24452 : : }
24453 : : }
24454 : : break;
24455 : : default:;
24456 : : }
24457 : : break;
24458 : : }
24459 : 500 : case LE_EXPR:
24460 : 500 : {
24461 : 500 : tree _q30 = gimple_assign_rhs1 (_a2);
24462 : 500 : _q30 = do_valueize (valueize, _q30);
24463 : 500 : tree _q31 = gimple_assign_rhs2 (_a2);
24464 : 500 : _q31 = do_valueize (valueize, _q31);
24465 : 500 : switch (TREE_CODE (_p1))
24466 : : {
24467 : 500 : case SSA_NAME:
24468 : 500 : if (gimple *_d3 = get_def (valueize, _p1))
24469 : : {
24470 : 498 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
24471 : 478 : switch (gimple_assign_rhs_code (_a3))
24472 : : {
24473 : 421 : case BIT_AND_EXPR:
24474 : 421 : {
24475 : 421 : tree _q70 = gimple_assign_rhs1 (_a3);
24476 : 421 : _q70 = do_valueize (valueize, _q70);
24477 : 421 : tree _q71 = gimple_assign_rhs2 (_a3);
24478 : 421 : _q71 = do_valueize (valueize, _q71);
24479 : 421 : if (tree_swap_operands_p (_q70, _q71))
24480 : 0 : std::swap (_q70, _q71);
24481 : 421 : switch (TREE_CODE (_q70))
24482 : : {
24483 : 421 : case SSA_NAME:
24484 : 421 : if (gimple *_d4 = get_def (valueize, _q70))
24485 : : {
24486 : 421 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
24487 : 421 : switch (gimple_assign_rhs_code (_a4))
24488 : : {
24489 : 12 : case GT_EXPR:
24490 : 12 : {
24491 : 12 : tree _q80 = gimple_assign_rhs1 (_a4);
24492 : 12 : _q80 = do_valueize (valueize, _q80);
24493 : 12 : tree _q81 = gimple_assign_rhs2 (_a4);
24494 : 12 : _q81 = do_valueize (valueize, _q81);
24495 : 12 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
24496 : : {
24497 : 8 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
24498 : : {
24499 : 0 : {
24500 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
24501 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
24502 : 0 : return true;
24503 : : }
24504 : : }
24505 : : }
24506 : : break;
24507 : : }
24508 : : default:;
24509 : : }
24510 : : }
24511 : : break;
24512 : 421 : default:;
24513 : : }
24514 : 421 : switch (TREE_CODE (_q71))
24515 : : {
24516 : 421 : case SSA_NAME:
24517 : 421 : if (gimple *_d4 = get_def (valueize, _q71))
24518 : : {
24519 : 421 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
24520 : 421 : switch (gimple_assign_rhs_code (_a4))
24521 : : {
24522 : 28 : case GT_EXPR:
24523 : 28 : {
24524 : 28 : tree _q90 = gimple_assign_rhs1 (_a4);
24525 : 28 : _q90 = do_valueize (valueize, _q90);
24526 : 28 : tree _q91 = gimple_assign_rhs2 (_a4);
24527 : 28 : _q91 = do_valueize (valueize, _q91);
24528 : 28 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
24529 : : {
24530 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
24531 : : {
24532 : 0 : {
24533 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
24534 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
24535 : 0 : return true;
24536 : : }
24537 : : }
24538 : : }
24539 : : break;
24540 : : }
24541 : : default:;
24542 : : }
24543 : : }
24544 : : break;
24545 : : default:;
24546 : : }
24547 : 318371 : break;
24548 : : }
24549 : : default:;
24550 : : }
24551 : : }
24552 : : break;
24553 : : default:;
24554 : : }
24555 : : break;
24556 : : }
24557 : 599 : case EQ_EXPR:
24558 : 599 : {
24559 : 599 : tree _q30 = gimple_assign_rhs1 (_a2);
24560 : 599 : _q30 = do_valueize (valueize, _q30);
24561 : 599 : tree _q31 = gimple_assign_rhs2 (_a2);
24562 : 599 : _q31 = do_valueize (valueize, _q31);
24563 : 599 : if (tree_swap_operands_p (_q30, _q31))
24564 : 51 : std::swap (_q30, _q31);
24565 : 599 : switch (TREE_CODE (_p1))
24566 : : {
24567 : 599 : case SSA_NAME:
24568 : 599 : if (gimple *_d3 = get_def (valueize, _p1))
24569 : : {
24570 : 597 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
24571 : 540 : switch (gimple_assign_rhs_code (_a3))
24572 : : {
24573 : 386 : case BIT_AND_EXPR:
24574 : 386 : {
24575 : 386 : tree _q70 = gimple_assign_rhs1 (_a3);
24576 : 386 : _q70 = do_valueize (valueize, _q70);
24577 : 386 : tree _q71 = gimple_assign_rhs2 (_a3);
24578 : 386 : _q71 = do_valueize (valueize, _q71);
24579 : 386 : if (tree_swap_operands_p (_q70, _q71))
24580 : 23 : std::swap (_q70, _q71);
24581 : 386 : switch (TREE_CODE (_q70))
24582 : : {
24583 : 386 : case SSA_NAME:
24584 : 386 : if (gimple *_d4 = get_def (valueize, _q70))
24585 : : {
24586 : 366 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
24587 : 372 : switch (gimple_assign_rhs_code (_a4))
24588 : : {
24589 : 131 : case NE_EXPR:
24590 : 131 : {
24591 : 131 : tree _q80 = gimple_assign_rhs1 (_a4);
24592 : 131 : _q80 = do_valueize (valueize, _q80);
24593 : 131 : tree _q81 = gimple_assign_rhs2 (_a4);
24594 : 131 : _q81 = do_valueize (valueize, _q81);
24595 : 131 : if (tree_swap_operands_p (_q80, _q81))
24596 : 0 : std::swap (_q80, _q81);
24597 : 131 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
24598 : : {
24599 : 6 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
24600 : : {
24601 : 6 : {
24602 : 6 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
24603 : 6 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
24604 : 0 : return true;
24605 : : }
24606 : : }
24607 : : }
24608 : 386 : break;
24609 : : }
24610 : : default:;
24611 : : }
24612 : : }
24613 : : break;
24614 : 386 : default:;
24615 : : }
24616 : 386 : switch (TREE_CODE (_q71))
24617 : : {
24618 : 386 : case SSA_NAME:
24619 : 386 : if (gimple *_d4 = get_def (valueize, _q71))
24620 : : {
24621 : 366 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
24622 : 438 : switch (gimple_assign_rhs_code (_a4))
24623 : : {
24624 : 76 : case NE_EXPR:
24625 : 76 : {
24626 : 76 : tree _q90 = gimple_assign_rhs1 (_a4);
24627 : 76 : _q90 = do_valueize (valueize, _q90);
24628 : 76 : tree _q91 = gimple_assign_rhs2 (_a4);
24629 : 76 : _q91 = do_valueize (valueize, _q91);
24630 : 76 : if (tree_swap_operands_p (_q90, _q91))
24631 : 0 : std::swap (_q90, _q91);
24632 : 76 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
24633 : : {
24634 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
24635 : : {
24636 : 0 : {
24637 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
24638 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
24639 : 0 : return true;
24640 : : }
24641 : : }
24642 : : }
24643 : 318371 : break;
24644 : : }
24645 : : default:;
24646 : : }
24647 : : }
24648 : : break;
24649 : : default:;
24650 : : }
24651 : 318371 : break;
24652 : : }
24653 : : default:;
24654 : : }
24655 : : }
24656 : : break;
24657 : : default:;
24658 : : }
24659 : 318371 : break;
24660 : : }
24661 : 2166 : case NE_EXPR:
24662 : 2166 : {
24663 : 2166 : tree _q30 = gimple_assign_rhs1 (_a2);
24664 : 2166 : _q30 = do_valueize (valueize, _q30);
24665 : 2166 : tree _q31 = gimple_assign_rhs2 (_a2);
24666 : 2166 : _q31 = do_valueize (valueize, _q31);
24667 : 2166 : if (tree_swap_operands_p (_q30, _q31))
24668 : 37 : std::swap (_q30, _q31);
24669 : 2166 : switch (TREE_CODE (_p1))
24670 : : {
24671 : 2166 : case SSA_NAME:
24672 : 2166 : if (gimple *_d3 = get_def (valueize, _p1))
24673 : : {
24674 : 2166 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
24675 : 1844 : switch (gimple_assign_rhs_code (_a3))
24676 : : {
24677 : 1237 : case BIT_AND_EXPR:
24678 : 1237 : {
24679 : 1237 : tree _q70 = gimple_assign_rhs1 (_a3);
24680 : 1237 : _q70 = do_valueize (valueize, _q70);
24681 : 1237 : tree _q71 = gimple_assign_rhs2 (_a3);
24682 : 1237 : _q71 = do_valueize (valueize, _q71);
24683 : 1237 : if (tree_swap_operands_p (_q70, _q71))
24684 : 19 : std::swap (_q70, _q71);
24685 : 1237 : switch (TREE_CODE (_q70))
24686 : : {
24687 : 1237 : case SSA_NAME:
24688 : 1237 : if (gimple *_d4 = get_def (valueize, _q70))
24689 : : {
24690 : 1237 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
24691 : 1237 : switch (gimple_assign_rhs_code (_a4))
24692 : : {
24693 : 47 : case EQ_EXPR:
24694 : 47 : {
24695 : 47 : tree _q80 = gimple_assign_rhs1 (_a4);
24696 : 47 : _q80 = do_valueize (valueize, _q80);
24697 : 47 : tree _q81 = gimple_assign_rhs2 (_a4);
24698 : 47 : _q81 = do_valueize (valueize, _q81);
24699 : 47 : if (tree_swap_operands_p (_q80, _q81))
24700 : 0 : std::swap (_q80, _q81);
24701 : 47 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
24702 : : {
24703 : 36 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
24704 : : {
24705 : 36 : {
24706 : 36 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
24707 : 36 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
24708 : 11 : return true;
24709 : : }
24710 : : }
24711 : : }
24712 : 1226 : break;
24713 : : }
24714 : : default:;
24715 : : }
24716 : : }
24717 : : break;
24718 : 1226 : default:;
24719 : : }
24720 : 1226 : switch (TREE_CODE (_q71))
24721 : : {
24722 : 1226 : case SSA_NAME:
24723 : 1226 : if (gimple *_d4 = get_def (valueize, _q71))
24724 : : {
24725 : 1226 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
24726 : 1226 : switch (gimple_assign_rhs_code (_a4))
24727 : : {
24728 : 967 : case EQ_EXPR:
24729 : 967 : {
24730 : 967 : tree _q90 = gimple_assign_rhs1 (_a4);
24731 : 967 : _q90 = do_valueize (valueize, _q90);
24732 : 967 : tree _q91 = gimple_assign_rhs2 (_a4);
24733 : 967 : _q91 = do_valueize (valueize, _q91);
24734 : 967 : if (tree_swap_operands_p (_q90, _q91))
24735 : 0 : std::swap (_q90, _q91);
24736 : 967 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
24737 : : {
24738 : 83 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
24739 : : {
24740 : 83 : {
24741 : 83 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
24742 : 83 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
24743 : 1 : return true;
24744 : : }
24745 : : }
24746 : : }
24747 : 318371 : break;
24748 : : }
24749 : : default:;
24750 : : }
24751 : : }
24752 : : break;
24753 : : default:;
24754 : : }
24755 : 318371 : break;
24756 : : }
24757 : : default:;
24758 : : }
24759 : : }
24760 : : break;
24761 : : default:;
24762 : : }
24763 : 318371 : break;
24764 : : }
24765 : 447 : case GE_EXPR:
24766 : 447 : {
24767 : 447 : tree _q30 = gimple_assign_rhs1 (_a2);
24768 : 447 : _q30 = do_valueize (valueize, _q30);
24769 : 447 : tree _q31 = gimple_assign_rhs2 (_a2);
24770 : 447 : _q31 = do_valueize (valueize, _q31);
24771 : 447 : switch (TREE_CODE (_p1))
24772 : : {
24773 : 447 : case SSA_NAME:
24774 : 447 : if (gimple *_d3 = get_def (valueize, _p1))
24775 : : {
24776 : 447 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
24777 : 447 : switch (gimple_assign_rhs_code (_a3))
24778 : : {
24779 : 39 : case BIT_AND_EXPR:
24780 : 39 : {
24781 : 39 : tree _q70 = gimple_assign_rhs1 (_a3);
24782 : 39 : _q70 = do_valueize (valueize, _q70);
24783 : 39 : tree _q71 = gimple_assign_rhs2 (_a3);
24784 : 39 : _q71 = do_valueize (valueize, _q71);
24785 : 39 : if (tree_swap_operands_p (_q70, _q71))
24786 : 0 : std::swap (_q70, _q71);
24787 : 39 : switch (TREE_CODE (_q70))
24788 : : {
24789 : 39 : case SSA_NAME:
24790 : 39 : if (gimple *_d4 = get_def (valueize, _q70))
24791 : : {
24792 : 39 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
24793 : 39 : switch (gimple_assign_rhs_code (_a4))
24794 : : {
24795 : 1 : case LT_EXPR:
24796 : 1 : {
24797 : 1 : tree _q80 = gimple_assign_rhs1 (_a4);
24798 : 1 : _q80 = do_valueize (valueize, _q80);
24799 : 1 : tree _q81 = gimple_assign_rhs2 (_a4);
24800 : 1 : _q81 = do_valueize (valueize, _q81);
24801 : 1 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
24802 : : {
24803 : 1 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
24804 : : {
24805 : 1 : {
24806 : 1 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
24807 : 1 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
24808 : 0 : return true;
24809 : : }
24810 : : }
24811 : : }
24812 : : break;
24813 : : }
24814 : : default:;
24815 : : }
24816 : : }
24817 : : break;
24818 : 39 : default:;
24819 : : }
24820 : 39 : switch (TREE_CODE (_q71))
24821 : : {
24822 : 39 : case SSA_NAME:
24823 : 39 : if (gimple *_d4 = get_def (valueize, _q71))
24824 : : {
24825 : 39 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
24826 : 39 : switch (gimple_assign_rhs_code (_a4))
24827 : : {
24828 : 0 : case LT_EXPR:
24829 : 0 : {
24830 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
24831 : 0 : _q90 = do_valueize (valueize, _q90);
24832 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
24833 : 0 : _q91 = do_valueize (valueize, _q91);
24834 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
24835 : : {
24836 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
24837 : : {
24838 : 0 : {
24839 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
24840 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
24841 : 0 : return true;
24842 : : }
24843 : : }
24844 : : }
24845 : : break;
24846 : : }
24847 : : default:;
24848 : : }
24849 : : }
24850 : : break;
24851 : : default:;
24852 : : }
24853 : 318371 : break;
24854 : : }
24855 : : default:;
24856 : : }
24857 : : }
24858 : : break;
24859 : : default:;
24860 : : }
24861 : : break;
24862 : : }
24863 : 157 : case GT_EXPR:
24864 : 157 : {
24865 : 157 : tree _q30 = gimple_assign_rhs1 (_a2);
24866 : 157 : _q30 = do_valueize (valueize, _q30);
24867 : 157 : tree _q31 = gimple_assign_rhs2 (_a2);
24868 : 157 : _q31 = do_valueize (valueize, _q31);
24869 : 157 : switch (TREE_CODE (_p1))
24870 : : {
24871 : 157 : case SSA_NAME:
24872 : 157 : if (gimple *_d3 = get_def (valueize, _p1))
24873 : : {
24874 : 155 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
24875 : 127 : switch (gimple_assign_rhs_code (_a3))
24876 : : {
24877 : 105 : case BIT_AND_EXPR:
24878 : 105 : {
24879 : 105 : tree _q70 = gimple_assign_rhs1 (_a3);
24880 : 105 : _q70 = do_valueize (valueize, _q70);
24881 : 105 : tree _q71 = gimple_assign_rhs2 (_a3);
24882 : 105 : _q71 = do_valueize (valueize, _q71);
24883 : 105 : if (tree_swap_operands_p (_q70, _q71))
24884 : 0 : std::swap (_q70, _q71);
24885 : 105 : switch (TREE_CODE (_q70))
24886 : : {
24887 : 105 : case SSA_NAME:
24888 : 105 : if (gimple *_d4 = get_def (valueize, _q70))
24889 : : {
24890 : 105 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
24891 : 105 : switch (gimple_assign_rhs_code (_a4))
24892 : : {
24893 : 0 : case LE_EXPR:
24894 : 0 : {
24895 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
24896 : 0 : _q80 = do_valueize (valueize, _q80);
24897 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
24898 : 0 : _q81 = do_valueize (valueize, _q81);
24899 : 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
24900 : : {
24901 : 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
24902 : : {
24903 : 0 : {
24904 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
24905 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
24906 : 0 : return true;
24907 : : }
24908 : : }
24909 : : }
24910 : : break;
24911 : : }
24912 : : default:;
24913 : : }
24914 : : }
24915 : : break;
24916 : 105 : default:;
24917 : : }
24918 : 105 : switch (TREE_CODE (_q71))
24919 : : {
24920 : 105 : case SSA_NAME:
24921 : 105 : if (gimple *_d4 = get_def (valueize, _q71))
24922 : : {
24923 : 105 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
24924 : 105 : switch (gimple_assign_rhs_code (_a4))
24925 : : {
24926 : 4 : case LE_EXPR:
24927 : 4 : {
24928 : 4 : tree _q90 = gimple_assign_rhs1 (_a4);
24929 : 4 : _q90 = do_valueize (valueize, _q90);
24930 : 4 : tree _q91 = gimple_assign_rhs2 (_a4);
24931 : 4 : _q91 = do_valueize (valueize, _q91);
24932 : 4 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
24933 : : {
24934 : 1 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
24935 : : {
24936 : 0 : {
24937 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
24938 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
24939 : 0 : return true;
24940 : : }
24941 : : }
24942 : : }
24943 : : break;
24944 : : }
24945 : : default:;
24946 : : }
24947 : : }
24948 : : break;
24949 : : default:;
24950 : : }
24951 : 318371 : break;
24952 : : }
24953 : : default:;
24954 : : }
24955 : : }
24956 : : break;
24957 : : default:;
24958 : : }
24959 : : break;
24960 : : }
24961 : 0 : case UNORDERED_EXPR:
24962 : 0 : {
24963 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
24964 : 0 : _q30 = do_valueize (valueize, _q30);
24965 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
24966 : 0 : _q31 = do_valueize (valueize, _q31);
24967 : 0 : if (tree_swap_operands_p (_q30, _q31))
24968 : 0 : std::swap (_q30, _q31);
24969 : 0 : switch (TREE_CODE (_p1))
24970 : : {
24971 : 0 : case SSA_NAME:
24972 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
24973 : : {
24974 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
24975 : 0 : switch (gimple_assign_rhs_code (_a3))
24976 : : {
24977 : 0 : case BIT_AND_EXPR:
24978 : 0 : {
24979 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
24980 : 0 : _q70 = do_valueize (valueize, _q70);
24981 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
24982 : 0 : _q71 = do_valueize (valueize, _q71);
24983 : 0 : if (tree_swap_operands_p (_q70, _q71))
24984 : 0 : std::swap (_q70, _q71);
24985 : 0 : switch (TREE_CODE (_q70))
24986 : : {
24987 : 0 : case SSA_NAME:
24988 : 0 : if (gimple *_d4 = get_def (valueize, _q70))
24989 : : {
24990 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
24991 : 0 : switch (gimple_assign_rhs_code (_a4))
24992 : : {
24993 : 0 : case ORDERED_EXPR:
24994 : 0 : {
24995 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
24996 : 0 : _q80 = do_valueize (valueize, _q80);
24997 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
24998 : 0 : _q81 = do_valueize (valueize, _q81);
24999 : 0 : if (tree_swap_operands_p (_q80, _q81))
25000 : 0 : std::swap (_q80, _q81);
25001 : 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
25002 : : {
25003 : 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
25004 : : {
25005 : 0 : {
25006 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
25007 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
25008 : 0 : return true;
25009 : : }
25010 : : }
25011 : : }
25012 : 0 : break;
25013 : : }
25014 : : default:;
25015 : : }
25016 : : }
25017 : : break;
25018 : 0 : default:;
25019 : : }
25020 : 0 : switch (TREE_CODE (_q71))
25021 : : {
25022 : 0 : case SSA_NAME:
25023 : 0 : if (gimple *_d4 = get_def (valueize, _q71))
25024 : : {
25025 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
25026 : 0 : switch (gimple_assign_rhs_code (_a4))
25027 : : {
25028 : 0 : case ORDERED_EXPR:
25029 : 0 : {
25030 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
25031 : 0 : _q90 = do_valueize (valueize, _q90);
25032 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
25033 : 0 : _q91 = do_valueize (valueize, _q91);
25034 : 0 : if (tree_swap_operands_p (_q90, _q91))
25035 : 0 : std::swap (_q90, _q91);
25036 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
25037 : : {
25038 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
25039 : : {
25040 : 0 : {
25041 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
25042 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
25043 : 0 : return true;
25044 : : }
25045 : : }
25046 : : }
25047 : 318371 : break;
25048 : : }
25049 : : default:;
25050 : : }
25051 : : }
25052 : : break;
25053 : : default:;
25054 : : }
25055 : 318371 : break;
25056 : : }
25057 : : default:;
25058 : : }
25059 : : }
25060 : : break;
25061 : : default:;
25062 : : }
25063 : 318371 : break;
25064 : : }
25065 : 0 : case ORDERED_EXPR:
25066 : 0 : {
25067 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
25068 : 0 : _q30 = do_valueize (valueize, _q30);
25069 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
25070 : 0 : _q31 = do_valueize (valueize, _q31);
25071 : 0 : if (tree_swap_operands_p (_q30, _q31))
25072 : 0 : std::swap (_q30, _q31);
25073 : 0 : switch (TREE_CODE (_p1))
25074 : : {
25075 : 0 : case SSA_NAME:
25076 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
25077 : : {
25078 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
25079 : 0 : switch (gimple_assign_rhs_code (_a3))
25080 : : {
25081 : 0 : case BIT_AND_EXPR:
25082 : 0 : {
25083 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
25084 : 0 : _q70 = do_valueize (valueize, _q70);
25085 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
25086 : 0 : _q71 = do_valueize (valueize, _q71);
25087 : 0 : if (tree_swap_operands_p (_q70, _q71))
25088 : 0 : std::swap (_q70, _q71);
25089 : 0 : switch (TREE_CODE (_q70))
25090 : : {
25091 : 0 : case SSA_NAME:
25092 : 0 : if (gimple *_d4 = get_def (valueize, _q70))
25093 : : {
25094 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
25095 : 0 : switch (gimple_assign_rhs_code (_a4))
25096 : : {
25097 : 0 : case UNORDERED_EXPR:
25098 : 0 : {
25099 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
25100 : 0 : _q80 = do_valueize (valueize, _q80);
25101 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
25102 : 0 : _q81 = do_valueize (valueize, _q81);
25103 : 0 : if (tree_swap_operands_p (_q80, _q81))
25104 : 0 : std::swap (_q80, _q81);
25105 : 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
25106 : : {
25107 : 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
25108 : : {
25109 : 0 : {
25110 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
25111 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
25112 : 0 : return true;
25113 : : }
25114 : : }
25115 : : }
25116 : 0 : break;
25117 : : }
25118 : : default:;
25119 : : }
25120 : : }
25121 : : break;
25122 : 0 : default:;
25123 : : }
25124 : 0 : switch (TREE_CODE (_q71))
25125 : : {
25126 : 0 : case SSA_NAME:
25127 : 0 : if (gimple *_d4 = get_def (valueize, _q71))
25128 : : {
25129 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
25130 : 0 : switch (gimple_assign_rhs_code (_a4))
25131 : : {
25132 : 0 : case UNORDERED_EXPR:
25133 : 0 : {
25134 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
25135 : 0 : _q90 = do_valueize (valueize, _q90);
25136 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
25137 : 0 : _q91 = do_valueize (valueize, _q91);
25138 : 0 : if (tree_swap_operands_p (_q90, _q91))
25139 : 0 : std::swap (_q90, _q91);
25140 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
25141 : : {
25142 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
25143 : : {
25144 : 0 : {
25145 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
25146 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
25147 : 0 : return true;
25148 : : }
25149 : : }
25150 : : }
25151 : 318371 : break;
25152 : : }
25153 : : default:;
25154 : : }
25155 : : }
25156 : : break;
25157 : : default:;
25158 : : }
25159 : 318371 : break;
25160 : : }
25161 : : default:;
25162 : : }
25163 : : }
25164 : : break;
25165 : : default:;
25166 : : }
25167 : 318371 : break;
25168 : : }
25169 : 0 : case UNLT_EXPR:
25170 : 0 : {
25171 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
25172 : 0 : _q30 = do_valueize (valueize, _q30);
25173 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
25174 : 0 : _q31 = do_valueize (valueize, _q31);
25175 : 0 : switch (TREE_CODE (_p1))
25176 : : {
25177 : 0 : case SSA_NAME:
25178 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
25179 : : {
25180 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
25181 : 0 : switch (gimple_assign_rhs_code (_a3))
25182 : : {
25183 : 0 : case BIT_AND_EXPR:
25184 : 0 : {
25185 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
25186 : 0 : _q70 = do_valueize (valueize, _q70);
25187 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
25188 : 0 : _q71 = do_valueize (valueize, _q71);
25189 : 0 : if (tree_swap_operands_p (_q70, _q71))
25190 : 0 : std::swap (_q70, _q71);
25191 : 0 : switch (TREE_CODE (_q70))
25192 : : {
25193 : 0 : case SSA_NAME:
25194 : 0 : if (gimple *_d4 = get_def (valueize, _q70))
25195 : : {
25196 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
25197 : 0 : switch (gimple_assign_rhs_code (_a4))
25198 : : {
25199 : 0 : case GE_EXPR:
25200 : 0 : {
25201 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
25202 : 0 : _q80 = do_valueize (valueize, _q80);
25203 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
25204 : 0 : _q81 = do_valueize (valueize, _q81);
25205 : 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
25206 : : {
25207 : 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
25208 : : {
25209 : 0 : {
25210 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
25211 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR))
25212 : 0 : return true;
25213 : : }
25214 : : }
25215 : : }
25216 : : break;
25217 : : }
25218 : : default:;
25219 : : }
25220 : : }
25221 : : break;
25222 : 0 : default:;
25223 : : }
25224 : 0 : switch (TREE_CODE (_q71))
25225 : : {
25226 : 0 : case SSA_NAME:
25227 : 0 : if (gimple *_d4 = get_def (valueize, _q71))
25228 : : {
25229 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
25230 : 0 : switch (gimple_assign_rhs_code (_a4))
25231 : : {
25232 : 0 : case GE_EXPR:
25233 : 0 : {
25234 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
25235 : 0 : _q90 = do_valueize (valueize, _q90);
25236 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
25237 : 0 : _q91 = do_valueize (valueize, _q91);
25238 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
25239 : : {
25240 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
25241 : : {
25242 : 0 : {
25243 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
25244 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR))
25245 : 0 : return true;
25246 : : }
25247 : : }
25248 : : }
25249 : : break;
25250 : : }
25251 : : default:;
25252 : : }
25253 : : }
25254 : : break;
25255 : : default:;
25256 : : }
25257 : 318371 : break;
25258 : : }
25259 : : default:;
25260 : : }
25261 : : }
25262 : : break;
25263 : : default:;
25264 : : }
25265 : : break;
25266 : : }
25267 : 0 : case UNLE_EXPR:
25268 : 0 : {
25269 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
25270 : 0 : _q30 = do_valueize (valueize, _q30);
25271 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
25272 : 0 : _q31 = do_valueize (valueize, _q31);
25273 : 0 : switch (TREE_CODE (_p1))
25274 : : {
25275 : 0 : case SSA_NAME:
25276 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
25277 : : {
25278 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
25279 : 0 : switch (gimple_assign_rhs_code (_a3))
25280 : : {
25281 : 0 : case BIT_AND_EXPR:
25282 : 0 : {
25283 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
25284 : 0 : _q70 = do_valueize (valueize, _q70);
25285 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
25286 : 0 : _q71 = do_valueize (valueize, _q71);
25287 : 0 : if (tree_swap_operands_p (_q70, _q71))
25288 : 0 : std::swap (_q70, _q71);
25289 : 0 : switch (TREE_CODE (_q70))
25290 : : {
25291 : 0 : case SSA_NAME:
25292 : 0 : if (gimple *_d4 = get_def (valueize, _q70))
25293 : : {
25294 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
25295 : 0 : switch (gimple_assign_rhs_code (_a4))
25296 : : {
25297 : 0 : case GT_EXPR:
25298 : 0 : {
25299 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
25300 : 0 : _q80 = do_valueize (valueize, _q80);
25301 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
25302 : 0 : _q81 = do_valueize (valueize, _q81);
25303 : 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
25304 : : {
25305 : 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
25306 : : {
25307 : 0 : {
25308 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
25309 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
25310 : 0 : return true;
25311 : : }
25312 : : }
25313 : : }
25314 : : break;
25315 : : }
25316 : : default:;
25317 : : }
25318 : : }
25319 : : break;
25320 : 0 : default:;
25321 : : }
25322 : 0 : switch (TREE_CODE (_q71))
25323 : : {
25324 : 0 : case SSA_NAME:
25325 : 0 : if (gimple *_d4 = get_def (valueize, _q71))
25326 : : {
25327 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
25328 : 0 : switch (gimple_assign_rhs_code (_a4))
25329 : : {
25330 : 0 : case GT_EXPR:
25331 : 0 : {
25332 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
25333 : 0 : _q90 = do_valueize (valueize, _q90);
25334 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
25335 : 0 : _q91 = do_valueize (valueize, _q91);
25336 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
25337 : : {
25338 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
25339 : : {
25340 : 0 : {
25341 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
25342 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
25343 : 0 : return true;
25344 : : }
25345 : : }
25346 : : }
25347 : : break;
25348 : : }
25349 : : default:;
25350 : : }
25351 : : }
25352 : : break;
25353 : : default:;
25354 : : }
25355 : 318371 : break;
25356 : : }
25357 : : default:;
25358 : : }
25359 : : }
25360 : : break;
25361 : : default:;
25362 : : }
25363 : : break;
25364 : : }
25365 : 0 : case UNGT_EXPR:
25366 : 0 : {
25367 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
25368 : 0 : _q30 = do_valueize (valueize, _q30);
25369 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
25370 : 0 : _q31 = do_valueize (valueize, _q31);
25371 : 0 : switch (TREE_CODE (_p1))
25372 : : {
25373 : 0 : case SSA_NAME:
25374 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
25375 : : {
25376 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
25377 : 0 : switch (gimple_assign_rhs_code (_a3))
25378 : : {
25379 : 0 : case BIT_AND_EXPR:
25380 : 0 : {
25381 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
25382 : 0 : _q70 = do_valueize (valueize, _q70);
25383 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
25384 : 0 : _q71 = do_valueize (valueize, _q71);
25385 : 0 : if (tree_swap_operands_p (_q70, _q71))
25386 : 0 : std::swap (_q70, _q71);
25387 : 0 : switch (TREE_CODE (_q70))
25388 : : {
25389 : 0 : case SSA_NAME:
25390 : 0 : if (gimple *_d4 = get_def (valueize, _q70))
25391 : : {
25392 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
25393 : 0 : switch (gimple_assign_rhs_code (_a4))
25394 : : {
25395 : 0 : case LE_EXPR:
25396 : 0 : {
25397 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
25398 : 0 : _q80 = do_valueize (valueize, _q80);
25399 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
25400 : 0 : _q81 = do_valueize (valueize, _q81);
25401 : 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
25402 : : {
25403 : 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
25404 : : {
25405 : 0 : {
25406 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
25407 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
25408 : 0 : return true;
25409 : : }
25410 : : }
25411 : : }
25412 : : break;
25413 : : }
25414 : : default:;
25415 : : }
25416 : : }
25417 : : break;
25418 : 0 : default:;
25419 : : }
25420 : 0 : switch (TREE_CODE (_q71))
25421 : : {
25422 : 0 : case SSA_NAME:
25423 : 0 : if (gimple *_d4 = get_def (valueize, _q71))
25424 : : {
25425 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
25426 : 0 : switch (gimple_assign_rhs_code (_a4))
25427 : : {
25428 : 0 : case LE_EXPR:
25429 : 0 : {
25430 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
25431 : 0 : _q90 = do_valueize (valueize, _q90);
25432 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
25433 : 0 : _q91 = do_valueize (valueize, _q91);
25434 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
25435 : : {
25436 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
25437 : : {
25438 : 0 : {
25439 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
25440 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
25441 : 0 : return true;
25442 : : }
25443 : : }
25444 : : }
25445 : : break;
25446 : : }
25447 : : default:;
25448 : : }
25449 : : }
25450 : : break;
25451 : : default:;
25452 : : }
25453 : 318371 : break;
25454 : : }
25455 : : default:;
25456 : : }
25457 : : }
25458 : : break;
25459 : : default:;
25460 : : }
25461 : : break;
25462 : : }
25463 : 0 : case UNGE_EXPR:
25464 : 0 : {
25465 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
25466 : 0 : _q30 = do_valueize (valueize, _q30);
25467 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
25468 : 0 : _q31 = do_valueize (valueize, _q31);
25469 : 0 : switch (TREE_CODE (_p1))
25470 : : {
25471 : 0 : case SSA_NAME:
25472 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
25473 : : {
25474 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
25475 : 0 : switch (gimple_assign_rhs_code (_a3))
25476 : : {
25477 : 0 : case BIT_AND_EXPR:
25478 : 0 : {
25479 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
25480 : 0 : _q70 = do_valueize (valueize, _q70);
25481 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
25482 : 0 : _q71 = do_valueize (valueize, _q71);
25483 : 0 : if (tree_swap_operands_p (_q70, _q71))
25484 : 0 : std::swap (_q70, _q71);
25485 : 0 : switch (TREE_CODE (_q70))
25486 : : {
25487 : 0 : case SSA_NAME:
25488 : 0 : if (gimple *_d4 = get_def (valueize, _q70))
25489 : : {
25490 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
25491 : 0 : switch (gimple_assign_rhs_code (_a4))
25492 : : {
25493 : 0 : case LT_EXPR:
25494 : 0 : {
25495 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
25496 : 0 : _q80 = do_valueize (valueize, _q80);
25497 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
25498 : 0 : _q81 = do_valueize (valueize, _q81);
25499 : 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
25500 : : {
25501 : 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
25502 : : {
25503 : 0 : {
25504 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
25505 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
25506 : 0 : return true;
25507 : : }
25508 : : }
25509 : : }
25510 : : break;
25511 : : }
25512 : : default:;
25513 : : }
25514 : : }
25515 : : break;
25516 : 0 : default:;
25517 : : }
25518 : 0 : switch (TREE_CODE (_q71))
25519 : : {
25520 : 0 : case SSA_NAME:
25521 : 0 : if (gimple *_d4 = get_def (valueize, _q71))
25522 : : {
25523 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
25524 : 0 : switch (gimple_assign_rhs_code (_a4))
25525 : : {
25526 : 0 : case LT_EXPR:
25527 : 0 : {
25528 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
25529 : 0 : _q90 = do_valueize (valueize, _q90);
25530 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
25531 : 0 : _q91 = do_valueize (valueize, _q91);
25532 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
25533 : : {
25534 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
25535 : : {
25536 : 0 : {
25537 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
25538 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
25539 : 0 : return true;
25540 : : }
25541 : : }
25542 : : }
25543 : : break;
25544 : : }
25545 : : default:;
25546 : : }
25547 : : }
25548 : : break;
25549 : : default:;
25550 : : }
25551 : 318371 : break;
25552 : : }
25553 : : default:;
25554 : : }
25555 : : }
25556 : : break;
25557 : : default:;
25558 : : }
25559 : : break;
25560 : : }
25561 : 0 : case UNEQ_EXPR:
25562 : 0 : {
25563 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
25564 : 0 : _q30 = do_valueize (valueize, _q30);
25565 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
25566 : 0 : _q31 = do_valueize (valueize, _q31);
25567 : 0 : if (tree_swap_operands_p (_q30, _q31))
25568 : 0 : std::swap (_q30, _q31);
25569 : 0 : switch (TREE_CODE (_p1))
25570 : : {
25571 : 0 : case SSA_NAME:
25572 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
25573 : : {
25574 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
25575 : 0 : switch (gimple_assign_rhs_code (_a3))
25576 : : {
25577 : 0 : case BIT_AND_EXPR:
25578 : 0 : {
25579 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
25580 : 0 : _q70 = do_valueize (valueize, _q70);
25581 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
25582 : 0 : _q71 = do_valueize (valueize, _q71);
25583 : 0 : if (tree_swap_operands_p (_q70, _q71))
25584 : 0 : std::swap (_q70, _q71);
25585 : 0 : switch (TREE_CODE (_q70))
25586 : : {
25587 : 0 : case SSA_NAME:
25588 : 0 : if (gimple *_d4 = get_def (valueize, _q70))
25589 : : {
25590 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
25591 : 0 : switch (gimple_assign_rhs_code (_a4))
25592 : : {
25593 : 0 : case LTGT_EXPR:
25594 : 0 : {
25595 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
25596 : 0 : _q80 = do_valueize (valueize, _q80);
25597 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
25598 : 0 : _q81 = do_valueize (valueize, _q81);
25599 : 0 : if (tree_swap_operands_p (_q80, _q81))
25600 : 0 : std::swap (_q80, _q81);
25601 : 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
25602 : : {
25603 : 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
25604 : : {
25605 : 0 : {
25606 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
25607 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
25608 : 0 : return true;
25609 : : }
25610 : : }
25611 : : }
25612 : 0 : break;
25613 : : }
25614 : : default:;
25615 : : }
25616 : : }
25617 : : break;
25618 : 0 : default:;
25619 : : }
25620 : 0 : switch (TREE_CODE (_q71))
25621 : : {
25622 : 0 : case SSA_NAME:
25623 : 0 : if (gimple *_d4 = get_def (valueize, _q71))
25624 : : {
25625 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
25626 : 0 : switch (gimple_assign_rhs_code (_a4))
25627 : : {
25628 : 0 : case LTGT_EXPR:
25629 : 0 : {
25630 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
25631 : 0 : _q90 = do_valueize (valueize, _q90);
25632 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
25633 : 0 : _q91 = do_valueize (valueize, _q91);
25634 : 0 : if (tree_swap_operands_p (_q90, _q91))
25635 : 0 : std::swap (_q90, _q91);
25636 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
25637 : : {
25638 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
25639 : : {
25640 : 0 : {
25641 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
25642 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
25643 : 0 : return true;
25644 : : }
25645 : : }
25646 : : }
25647 : 318371 : break;
25648 : : }
25649 : : default:;
25650 : : }
25651 : : }
25652 : : break;
25653 : : default:;
25654 : : }
25655 : 318371 : break;
25656 : : }
25657 : : default:;
25658 : : }
25659 : : }
25660 : : break;
25661 : : default:;
25662 : : }
25663 : 318371 : break;
25664 : : }
25665 : 0 : case LTGT_EXPR:
25666 : 0 : {
25667 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
25668 : 0 : _q30 = do_valueize (valueize, _q30);
25669 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
25670 : 0 : _q31 = do_valueize (valueize, _q31);
25671 : 0 : if (tree_swap_operands_p (_q30, _q31))
25672 : 0 : std::swap (_q30, _q31);
25673 : 0 : switch (TREE_CODE (_p1))
25674 : : {
25675 : 0 : case SSA_NAME:
25676 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
25677 : : {
25678 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
25679 : 0 : switch (gimple_assign_rhs_code (_a3))
25680 : : {
25681 : 0 : case BIT_AND_EXPR:
25682 : 0 : {
25683 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
25684 : 0 : _q70 = do_valueize (valueize, _q70);
25685 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
25686 : 0 : _q71 = do_valueize (valueize, _q71);
25687 : 0 : if (tree_swap_operands_p (_q70, _q71))
25688 : 0 : std::swap (_q70, _q71);
25689 : 0 : switch (TREE_CODE (_q70))
25690 : : {
25691 : 0 : case SSA_NAME:
25692 : 0 : if (gimple *_d4 = get_def (valueize, _q70))
25693 : : {
25694 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
25695 : 0 : switch (gimple_assign_rhs_code (_a4))
25696 : : {
25697 : 0 : case UNEQ_EXPR:
25698 : 0 : {
25699 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
25700 : 0 : _q80 = do_valueize (valueize, _q80);
25701 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
25702 : 0 : _q81 = do_valueize (valueize, _q81);
25703 : 0 : if (tree_swap_operands_p (_q80, _q81))
25704 : 0 : std::swap (_q80, _q81);
25705 : 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
25706 : : {
25707 : 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
25708 : : {
25709 : 0 : {
25710 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
25711 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
25712 : 0 : return true;
25713 : : }
25714 : : }
25715 : : }
25716 : 0 : break;
25717 : : }
25718 : : default:;
25719 : : }
25720 : : }
25721 : : break;
25722 : 0 : default:;
25723 : : }
25724 : 0 : switch (TREE_CODE (_q71))
25725 : : {
25726 : 0 : case SSA_NAME:
25727 : 0 : if (gimple *_d4 = get_def (valueize, _q71))
25728 : : {
25729 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
25730 : 0 : switch (gimple_assign_rhs_code (_a4))
25731 : : {
25732 : 0 : case UNEQ_EXPR:
25733 : 0 : {
25734 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
25735 : 0 : _q90 = do_valueize (valueize, _q90);
25736 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
25737 : 0 : _q91 = do_valueize (valueize, _q91);
25738 : 0 : if (tree_swap_operands_p (_q90, _q91))
25739 : 0 : std::swap (_q90, _q91);
25740 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
25741 : : {
25742 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
25743 : : {
25744 : 0 : {
25745 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
25746 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
25747 : 0 : return true;
25748 : : }
25749 : : }
25750 : : }
25751 : 318371 : break;
25752 : : }
25753 : : default:;
25754 : : }
25755 : : }
25756 : : break;
25757 : : default:;
25758 : : }
25759 : 318371 : break;
25760 : : }
25761 : : default:;
25762 : : }
25763 : : }
25764 : : break;
25765 : : default:;
25766 : : }
25767 : 318371 : break;
25768 : : }
25769 : : default:;
25770 : : }
25771 : : }
25772 : : break;
25773 : 318371 : default:;
25774 : : }
25775 : 318371 : switch (TREE_CODE (_q21))
25776 : : {
25777 : 136081 : case SSA_NAME:
25778 : 136081 : if (gimple *_d2 = get_def (valueize, _q21))
25779 : : {
25780 : 116173 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
25781 : 135348 : switch (gimple_assign_rhs_code (_a2))
25782 : : {
25783 : 13 : case LT_EXPR:
25784 : 13 : {
25785 : 13 : tree _q40 = gimple_assign_rhs1 (_a2);
25786 : 13 : _q40 = do_valueize (valueize, _q40);
25787 : 13 : tree _q41 = gimple_assign_rhs2 (_a2);
25788 : 13 : _q41 = do_valueize (valueize, _q41);
25789 : 13 : switch (TREE_CODE (_p1))
25790 : : {
25791 : 13 : case SSA_NAME:
25792 : 13 : if (gimple *_d3 = get_def (valueize, _p1))
25793 : : {
25794 : 13 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
25795 : 13 : switch (gimple_assign_rhs_code (_a3))
25796 : : {
25797 : 5 : case BIT_AND_EXPR:
25798 : 5 : {
25799 : 5 : tree _q70 = gimple_assign_rhs1 (_a3);
25800 : 5 : _q70 = do_valueize (valueize, _q70);
25801 : 5 : tree _q71 = gimple_assign_rhs2 (_a3);
25802 : 5 : _q71 = do_valueize (valueize, _q71);
25803 : 5 : if (tree_swap_operands_p (_q70, _q71))
25804 : 0 : std::swap (_q70, _q71);
25805 : 5 : switch (TREE_CODE (_q70))
25806 : : {
25807 : 5 : case SSA_NAME:
25808 : 5 : if (gimple *_d4 = get_def (valueize, _q70))
25809 : : {
25810 : 5 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
25811 : 5 : switch (gimple_assign_rhs_code (_a4))
25812 : : {
25813 : 1 : case GE_EXPR:
25814 : 1 : {
25815 : 1 : tree _q80 = gimple_assign_rhs1 (_a4);
25816 : 1 : _q80 = do_valueize (valueize, _q80);
25817 : 1 : tree _q81 = gimple_assign_rhs2 (_a4);
25818 : 1 : _q81 = do_valueize (valueize, _q81);
25819 : 1 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
25820 : : {
25821 : 1 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
25822 : : {
25823 : 1 : {
25824 : 1 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
25825 : 1 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
25826 : 0 : return true;
25827 : : }
25828 : : }
25829 : : }
25830 : : break;
25831 : : }
25832 : : default:;
25833 : : }
25834 : : }
25835 : : break;
25836 : 5 : default:;
25837 : : }
25838 : 5 : switch (TREE_CODE (_q71))
25839 : : {
25840 : 5 : case SSA_NAME:
25841 : 5 : if (gimple *_d4 = get_def (valueize, _q71))
25842 : : {
25843 : 5 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
25844 : 5 : switch (gimple_assign_rhs_code (_a4))
25845 : : {
25846 : 1 : case GE_EXPR:
25847 : 1 : {
25848 : 1 : tree _q90 = gimple_assign_rhs1 (_a4);
25849 : 1 : _q90 = do_valueize (valueize, _q90);
25850 : 1 : tree _q91 = gimple_assign_rhs2 (_a4);
25851 : 1 : _q91 = do_valueize (valueize, _q91);
25852 : 1 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
25853 : : {
25854 : 1 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
25855 : : {
25856 : 1 : {
25857 : 1 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
25858 : 1 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
25859 : 0 : return true;
25860 : : }
25861 : : }
25862 : : }
25863 : : break;
25864 : : }
25865 : : default:;
25866 : : }
25867 : : }
25868 : : break;
25869 : : default:;
25870 : : }
25871 : 318296 : break;
25872 : : }
25873 : : default:;
25874 : : }
25875 : : }
25876 : : break;
25877 : : default:;
25878 : : }
25879 : : break;
25880 : : }
25881 : 59 : case LE_EXPR:
25882 : 59 : {
25883 : 59 : tree _q40 = gimple_assign_rhs1 (_a2);
25884 : 59 : _q40 = do_valueize (valueize, _q40);
25885 : 59 : tree _q41 = gimple_assign_rhs2 (_a2);
25886 : 59 : _q41 = do_valueize (valueize, _q41);
25887 : 59 : switch (TREE_CODE (_p1))
25888 : : {
25889 : 59 : case SSA_NAME:
25890 : 59 : if (gimple *_d3 = get_def (valueize, _p1))
25891 : : {
25892 : 59 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
25893 : 55 : switch (gimple_assign_rhs_code (_a3))
25894 : : {
25895 : 35 : case BIT_AND_EXPR:
25896 : 35 : {
25897 : 35 : tree _q70 = gimple_assign_rhs1 (_a3);
25898 : 35 : _q70 = do_valueize (valueize, _q70);
25899 : 35 : tree _q71 = gimple_assign_rhs2 (_a3);
25900 : 35 : _q71 = do_valueize (valueize, _q71);
25901 : 35 : if (tree_swap_operands_p (_q70, _q71))
25902 : 0 : std::swap (_q70, _q71);
25903 : 35 : switch (TREE_CODE (_q70))
25904 : : {
25905 : 35 : case SSA_NAME:
25906 : 35 : if (gimple *_d4 = get_def (valueize, _q70))
25907 : : {
25908 : 35 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
25909 : 35 : switch (gimple_assign_rhs_code (_a4))
25910 : : {
25911 : 13 : case GT_EXPR:
25912 : 13 : {
25913 : 13 : tree _q80 = gimple_assign_rhs1 (_a4);
25914 : 13 : _q80 = do_valueize (valueize, _q80);
25915 : 13 : tree _q81 = gimple_assign_rhs2 (_a4);
25916 : 13 : _q81 = do_valueize (valueize, _q81);
25917 : 13 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
25918 : : {
25919 : 5 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
25920 : : {
25921 : 0 : {
25922 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
25923 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
25924 : 0 : return true;
25925 : : }
25926 : : }
25927 : : }
25928 : : break;
25929 : : }
25930 : : default:;
25931 : : }
25932 : : }
25933 : : break;
25934 : 35 : default:;
25935 : : }
25936 : 35 : switch (TREE_CODE (_q71))
25937 : : {
25938 : 35 : case SSA_NAME:
25939 : 35 : if (gimple *_d4 = get_def (valueize, _q71))
25940 : : {
25941 : 35 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
25942 : 35 : switch (gimple_assign_rhs_code (_a4))
25943 : : {
25944 : 16 : case GT_EXPR:
25945 : 16 : {
25946 : 16 : tree _q90 = gimple_assign_rhs1 (_a4);
25947 : 16 : _q90 = do_valueize (valueize, _q90);
25948 : 16 : tree _q91 = gimple_assign_rhs2 (_a4);
25949 : 16 : _q91 = do_valueize (valueize, _q91);
25950 : 16 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
25951 : : {
25952 : 8 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
25953 : : {
25954 : 8 : {
25955 : 8 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
25956 : 8 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
25957 : 0 : return true;
25958 : : }
25959 : : }
25960 : : }
25961 : : break;
25962 : : }
25963 : : default:;
25964 : : }
25965 : : }
25966 : : break;
25967 : : default:;
25968 : : }
25969 : 318296 : break;
25970 : : }
25971 : : default:;
25972 : : }
25973 : : }
25974 : : break;
25975 : : default:;
25976 : : }
25977 : : break;
25978 : : }
25979 : 3991 : case EQ_EXPR:
25980 : 3991 : {
25981 : 3991 : tree _q40 = gimple_assign_rhs1 (_a2);
25982 : 3991 : _q40 = do_valueize (valueize, _q40);
25983 : 3991 : tree _q41 = gimple_assign_rhs2 (_a2);
25984 : 3991 : _q41 = do_valueize (valueize, _q41);
25985 : 3991 : if (tree_swap_operands_p (_q40, _q41))
25986 : 424 : std::swap (_q40, _q41);
25987 : 3991 : switch (TREE_CODE (_p1))
25988 : : {
25989 : 3991 : case SSA_NAME:
25990 : 3991 : if (gimple *_d3 = get_def (valueize, _p1))
25991 : : {
25992 : 3987 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
25993 : 3910 : switch (gimple_assign_rhs_code (_a3))
25994 : : {
25995 : 3363 : case BIT_AND_EXPR:
25996 : 3363 : {
25997 : 3363 : tree _q70 = gimple_assign_rhs1 (_a3);
25998 : 3363 : _q70 = do_valueize (valueize, _q70);
25999 : 3363 : tree _q71 = gimple_assign_rhs2 (_a3);
26000 : 3363 : _q71 = do_valueize (valueize, _q71);
26001 : 3363 : if (tree_swap_operands_p (_q70, _q71))
26002 : 363 : std::swap (_q70, _q71);
26003 : 3363 : switch (TREE_CODE (_q70))
26004 : : {
26005 : 3363 : case SSA_NAME:
26006 : 3363 : if (gimple *_d4 = get_def (valueize, _q70))
26007 : : {
26008 : 3327 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
26009 : 3975 : switch (gimple_assign_rhs_code (_a4))
26010 : : {
26011 : 2166 : case NE_EXPR:
26012 : 2166 : {
26013 : 2166 : tree _q80 = gimple_assign_rhs1 (_a4);
26014 : 2166 : _q80 = do_valueize (valueize, _q80);
26015 : 2166 : tree _q81 = gimple_assign_rhs2 (_a4);
26016 : 2166 : _q81 = do_valueize (valueize, _q81);
26017 : 2166 : if (tree_swap_operands_p (_q80, _q81))
26018 : 0 : std::swap (_q80, _q81);
26019 : 2166 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
26020 : : {
26021 : 564 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
26022 : : {
26023 : 564 : {
26024 : 564 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
26025 : 564 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
26026 : 75 : return true;
26027 : : }
26028 : : }
26029 : : }
26030 : 3288 : break;
26031 : : }
26032 : : default:;
26033 : : }
26034 : : }
26035 : : break;
26036 : 3288 : default:;
26037 : : }
26038 : 3288 : switch (TREE_CODE (_q71))
26039 : : {
26040 : 3288 : case SSA_NAME:
26041 : 3288 : if (gimple *_d4 = get_def (valueize, _q71))
26042 : : {
26043 : 3233 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
26044 : 3281 : switch (gimple_assign_rhs_code (_a4))
26045 : : {
26046 : 166 : case NE_EXPR:
26047 : 166 : {
26048 : 166 : tree _q90 = gimple_assign_rhs1 (_a4);
26049 : 166 : _q90 = do_valueize (valueize, _q90);
26050 : 166 : tree _q91 = gimple_assign_rhs2 (_a4);
26051 : 166 : _q91 = do_valueize (valueize, _q91);
26052 : 166 : if (tree_swap_operands_p (_q90, _q91))
26053 : 0 : std::swap (_q90, _q91);
26054 : 166 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
26055 : : {
26056 : 32 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
26057 : : {
26058 : 32 : {
26059 : 32 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
26060 : 32 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
26061 : 0 : return true;
26062 : : }
26063 : : }
26064 : : }
26065 : 318296 : break;
26066 : : }
26067 : : default:;
26068 : : }
26069 : : }
26070 : : break;
26071 : : default:;
26072 : : }
26073 : 318296 : break;
26074 : : }
26075 : : default:;
26076 : : }
26077 : : }
26078 : : break;
26079 : : default:;
26080 : : }
26081 : 318296 : break;
26082 : : }
26083 : 2889 : case NE_EXPR:
26084 : 2889 : {
26085 : 2889 : tree _q40 = gimple_assign_rhs1 (_a2);
26086 : 2889 : _q40 = do_valueize (valueize, _q40);
26087 : 2889 : tree _q41 = gimple_assign_rhs2 (_a2);
26088 : 2889 : _q41 = do_valueize (valueize, _q41);
26089 : 2889 : if (tree_swap_operands_p (_q40, _q41))
26090 : 369 : std::swap (_q40, _q41);
26091 : 2889 : switch (TREE_CODE (_p1))
26092 : : {
26093 : 2889 : case SSA_NAME:
26094 : 2889 : if (gimple *_d3 = get_def (valueize, _p1))
26095 : : {
26096 : 2889 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
26097 : 2562 : switch (gimple_assign_rhs_code (_a3))
26098 : : {
26099 : 2071 : case BIT_AND_EXPR:
26100 : 2071 : {
26101 : 2071 : tree _q70 = gimple_assign_rhs1 (_a3);
26102 : 2071 : _q70 = do_valueize (valueize, _q70);
26103 : 2071 : tree _q71 = gimple_assign_rhs2 (_a3);
26104 : 2071 : _q71 = do_valueize (valueize, _q71);
26105 : 2071 : if (tree_swap_operands_p (_q70, _q71))
26106 : 84 : std::swap (_q70, _q71);
26107 : 2071 : switch (TREE_CODE (_q70))
26108 : : {
26109 : 2071 : case SSA_NAME:
26110 : 2071 : if (gimple *_d4 = get_def (valueize, _q70))
26111 : : {
26112 : 2071 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
26113 : 2071 : switch (gimple_assign_rhs_code (_a4))
26114 : : {
26115 : 45 : case EQ_EXPR:
26116 : 45 : {
26117 : 45 : tree _q80 = gimple_assign_rhs1 (_a4);
26118 : 45 : _q80 = do_valueize (valueize, _q80);
26119 : 45 : tree _q81 = gimple_assign_rhs2 (_a4);
26120 : 45 : _q81 = do_valueize (valueize, _q81);
26121 : 45 : if (tree_swap_operands_p (_q80, _q81))
26122 : 12 : std::swap (_q80, _q81);
26123 : 45 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
26124 : : {
26125 : 3 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
26126 : : {
26127 : 3 : {
26128 : 3 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
26129 : 3 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
26130 : 0 : return true;
26131 : : }
26132 : : }
26133 : : }
26134 : 2071 : break;
26135 : : }
26136 : : default:;
26137 : : }
26138 : : }
26139 : : break;
26140 : 2071 : default:;
26141 : : }
26142 : 2071 : switch (TREE_CODE (_q71))
26143 : : {
26144 : 1975 : case SSA_NAME:
26145 : 1975 : if (gimple *_d4 = get_def (valueize, _q71))
26146 : : {
26147 : 1975 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
26148 : 1975 : switch (gimple_assign_rhs_code (_a4))
26149 : : {
26150 : 1637 : case EQ_EXPR:
26151 : 1637 : {
26152 : 1637 : tree _q90 = gimple_assign_rhs1 (_a4);
26153 : 1637 : _q90 = do_valueize (valueize, _q90);
26154 : 1637 : tree _q91 = gimple_assign_rhs2 (_a4);
26155 : 1637 : _q91 = do_valueize (valueize, _q91);
26156 : 1637 : if (tree_swap_operands_p (_q90, _q91))
26157 : 0 : std::swap (_q90, _q91);
26158 : 1637 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
26159 : : {
26160 : 112 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
26161 : : {
26162 : 104 : {
26163 : 104 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
26164 : 104 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
26165 : 0 : return true;
26166 : : }
26167 : : }
26168 : : }
26169 : 318296 : break;
26170 : : }
26171 : : default:;
26172 : : }
26173 : : }
26174 : : break;
26175 : : default:;
26176 : : }
26177 : 318296 : break;
26178 : : }
26179 : : default:;
26180 : : }
26181 : : }
26182 : : break;
26183 : : default:;
26184 : : }
26185 : 318296 : break;
26186 : : }
26187 : 674 : case GE_EXPR:
26188 : 674 : {
26189 : 674 : tree _q40 = gimple_assign_rhs1 (_a2);
26190 : 674 : _q40 = do_valueize (valueize, _q40);
26191 : 674 : tree _q41 = gimple_assign_rhs2 (_a2);
26192 : 674 : _q41 = do_valueize (valueize, _q41);
26193 : 674 : switch (TREE_CODE (_p1))
26194 : : {
26195 : 674 : case SSA_NAME:
26196 : 674 : if (gimple *_d3 = get_def (valueize, _p1))
26197 : : {
26198 : 674 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
26199 : 670 : switch (gimple_assign_rhs_code (_a3))
26200 : : {
26201 : 259 : case BIT_AND_EXPR:
26202 : 259 : {
26203 : 259 : tree _q70 = gimple_assign_rhs1 (_a3);
26204 : 259 : _q70 = do_valueize (valueize, _q70);
26205 : 259 : tree _q71 = gimple_assign_rhs2 (_a3);
26206 : 259 : _q71 = do_valueize (valueize, _q71);
26207 : 259 : if (tree_swap_operands_p (_q70, _q71))
26208 : 0 : std::swap (_q70, _q71);
26209 : 259 : switch (TREE_CODE (_q70))
26210 : : {
26211 : 259 : case SSA_NAME:
26212 : 259 : if (gimple *_d4 = get_def (valueize, _q70))
26213 : : {
26214 : 259 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
26215 : 259 : switch (gimple_assign_rhs_code (_a4))
26216 : : {
26217 : 0 : case LT_EXPR:
26218 : 0 : {
26219 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
26220 : 0 : _q80 = do_valueize (valueize, _q80);
26221 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
26222 : 0 : _q81 = do_valueize (valueize, _q81);
26223 : 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
26224 : : {
26225 : 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
26226 : : {
26227 : 0 : {
26228 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
26229 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
26230 : 0 : return true;
26231 : : }
26232 : : }
26233 : : }
26234 : : break;
26235 : : }
26236 : : default:;
26237 : : }
26238 : : }
26239 : : break;
26240 : 259 : default:;
26241 : : }
26242 : 259 : switch (TREE_CODE (_q71))
26243 : : {
26244 : 259 : case SSA_NAME:
26245 : 259 : if (gimple *_d4 = get_def (valueize, _q71))
26246 : : {
26247 : 259 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
26248 : 259 : switch (gimple_assign_rhs_code (_a4))
26249 : : {
26250 : 3 : case LT_EXPR:
26251 : 3 : {
26252 : 3 : tree _q90 = gimple_assign_rhs1 (_a4);
26253 : 3 : _q90 = do_valueize (valueize, _q90);
26254 : 3 : tree _q91 = gimple_assign_rhs2 (_a4);
26255 : 3 : _q91 = do_valueize (valueize, _q91);
26256 : 3 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
26257 : : {
26258 : 3 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
26259 : : {
26260 : 3 : {
26261 : 3 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
26262 : 3 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
26263 : 0 : return true;
26264 : : }
26265 : : }
26266 : : }
26267 : : break;
26268 : : }
26269 : : default:;
26270 : : }
26271 : : }
26272 : : break;
26273 : : default:;
26274 : : }
26275 : 318296 : break;
26276 : : }
26277 : : default:;
26278 : : }
26279 : : }
26280 : : break;
26281 : : default:;
26282 : : }
26283 : : break;
26284 : : }
26285 : 190 : case GT_EXPR:
26286 : 190 : {
26287 : 190 : tree _q40 = gimple_assign_rhs1 (_a2);
26288 : 190 : _q40 = do_valueize (valueize, _q40);
26289 : 190 : tree _q41 = gimple_assign_rhs2 (_a2);
26290 : 190 : _q41 = do_valueize (valueize, _q41);
26291 : 190 : switch (TREE_CODE (_p1))
26292 : : {
26293 : 190 : case SSA_NAME:
26294 : 190 : if (gimple *_d3 = get_def (valueize, _p1))
26295 : : {
26296 : 190 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
26297 : 174 : switch (gimple_assign_rhs_code (_a3))
26298 : : {
26299 : 121 : case BIT_AND_EXPR:
26300 : 121 : {
26301 : 121 : tree _q70 = gimple_assign_rhs1 (_a3);
26302 : 121 : _q70 = do_valueize (valueize, _q70);
26303 : 121 : tree _q71 = gimple_assign_rhs2 (_a3);
26304 : 121 : _q71 = do_valueize (valueize, _q71);
26305 : 121 : if (tree_swap_operands_p (_q70, _q71))
26306 : 0 : std::swap (_q70, _q71);
26307 : 121 : switch (TREE_CODE (_q70))
26308 : : {
26309 : 121 : case SSA_NAME:
26310 : 121 : if (gimple *_d4 = get_def (valueize, _q70))
26311 : : {
26312 : 121 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
26313 : 121 : switch (gimple_assign_rhs_code (_a4))
26314 : : {
26315 : 24 : case LE_EXPR:
26316 : 24 : {
26317 : 24 : tree _q80 = gimple_assign_rhs1 (_a4);
26318 : 24 : _q80 = do_valueize (valueize, _q80);
26319 : 24 : tree _q81 = gimple_assign_rhs2 (_a4);
26320 : 24 : _q81 = do_valueize (valueize, _q81);
26321 : 24 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
26322 : : {
26323 : 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
26324 : : {
26325 : 0 : {
26326 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
26327 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
26328 : 0 : return true;
26329 : : }
26330 : : }
26331 : : }
26332 : : break;
26333 : : }
26334 : : default:;
26335 : : }
26336 : : }
26337 : : break;
26338 : 121 : default:;
26339 : : }
26340 : 121 : switch (TREE_CODE (_q71))
26341 : : {
26342 : 121 : case SSA_NAME:
26343 : 121 : if (gimple *_d4 = get_def (valueize, _q71))
26344 : : {
26345 : 121 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
26346 : 121 : switch (gimple_assign_rhs_code (_a4))
26347 : : {
26348 : 0 : case LE_EXPR:
26349 : 0 : {
26350 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
26351 : 0 : _q90 = do_valueize (valueize, _q90);
26352 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
26353 : 0 : _q91 = do_valueize (valueize, _q91);
26354 : 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
26355 : : {
26356 : 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
26357 : : {
26358 : 0 : {
26359 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
26360 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
26361 : 0 : return true;
26362 : : }
26363 : : }
26364 : : }
26365 : : break;
26366 : : }
26367 : : default:;
26368 : : }
26369 : : }
26370 : : break;
26371 : : default:;
26372 : : }
26373 : 318296 : break;
26374 : : }
26375 : : default:;
26376 : : }
26377 : : }
26378 : : break;
26379 : : default:;
26380 : : }
26381 : : break;
26382 : : }
26383 : 0 : case UNORDERED_EXPR:
26384 : 0 : {
26385 : 0 : tree _q40 = gimple_assign_rhs1 (_a2);
26386 : 0 : _q40 = do_valueize (valueize, _q40);
26387 : 0 : tree _q41 = gimple_assign_rhs2 (_a2);
26388 : 0 : _q41 = do_valueize (valueize, _q41);
26389 : 0 : if (tree_swap_operands_p (_q40, _q41))
26390 : 0 : std::swap (_q40, _q41);
26391 : 0 : switch (TREE_CODE (_p1))
26392 : : {
26393 : 0 : case SSA_NAME:
26394 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
26395 : : {
26396 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
26397 : 0 : switch (gimple_assign_rhs_code (_a3))
26398 : : {
26399 : 0 : case BIT_AND_EXPR:
26400 : 0 : {
26401 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
26402 : 0 : _q70 = do_valueize (valueize, _q70);
26403 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
26404 : 0 : _q71 = do_valueize (valueize, _q71);
26405 : 0 : if (tree_swap_operands_p (_q70, _q71))
26406 : 0 : std::swap (_q70, _q71);
26407 : 0 : switch (TREE_CODE (_q70))
26408 : : {
26409 : 0 : case SSA_NAME:
26410 : 0 : if (gimple *_d4 = get_def (valueize, _q70))
26411 : : {
26412 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
26413 : 0 : switch (gimple_assign_rhs_code (_a4))
26414 : : {
26415 : 0 : case ORDERED_EXPR:
26416 : 0 : {
26417 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
26418 : 0 : _q80 = do_valueize (valueize, _q80);
26419 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
26420 : 0 : _q81 = do_valueize (valueize, _q81);
26421 : 0 : if (tree_swap_operands_p (_q80, _q81))
26422 : 0 : std::swap (_q80, _q81);
26423 : 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
26424 : : {
26425 : 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
26426 : : {
26427 : 0 : {
26428 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
26429 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
26430 : 0 : return true;
26431 : : }
26432 : : }
26433 : : }
26434 : 0 : break;
26435 : : }
26436 : : default:;
26437 : : }
26438 : : }
26439 : : break;
26440 : 0 : default:;
26441 : : }
26442 : 0 : switch (TREE_CODE (_q71))
26443 : : {
26444 : 0 : case SSA_NAME:
26445 : 0 : if (gimple *_d4 = get_def (valueize, _q71))
26446 : : {
26447 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
26448 : 0 : switch (gimple_assign_rhs_code (_a4))
26449 : : {
26450 : 0 : case ORDERED_EXPR:
26451 : 0 : {
26452 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
26453 : 0 : _q90 = do_valueize (valueize, _q90);
26454 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
26455 : 0 : _q91 = do_valueize (valueize, _q91);
26456 : 0 : if (tree_swap_operands_p (_q90, _q91))
26457 : 0 : std::swap (_q90, _q91);
26458 : 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
26459 : : {
26460 : 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
26461 : : {
26462 : 0 : {
26463 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
26464 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
26465 : 0 : return true;
26466 : : }
26467 : : }
26468 : : }
26469 : 318296 : break;
26470 : : }
26471 : : default:;
26472 : : }
26473 : : }
26474 : : break;
26475 : : default:;
26476 : : }
26477 : 318296 : break;
26478 : : }
26479 : : default:;
26480 : : }
26481 : : }
26482 : : break;
26483 : : default:;
26484 : : }
26485 : 318296 : break;
26486 : : }
26487 : 0 : case ORDERED_EXPR:
26488 : 0 : {
26489 : 0 : tree _q40 = gimple_assign_rhs1 (_a2);
26490 : 0 : _q40 = do_valueize (valueize, _q40);
26491 : 0 : tree _q41 = gimple_assign_rhs2 (_a2);
26492 : 0 : _q41 = do_valueize (valueize, _q41);
26493 : 0 : if (tree_swap_operands_p (_q40, _q41))
26494 : 0 : std::swap (_q40, _q41);
26495 : 0 : switch (TREE_CODE (_p1))
26496 : : {
26497 : 0 : case SSA_NAME:
26498 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
26499 : : {
26500 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
26501 : 0 : switch (gimple_assign_rhs_code (_a3))
26502 : : {
26503 : 0 : case BIT_AND_EXPR:
26504 : 0 : {
26505 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
26506 : 0 : _q70 = do_valueize (valueize, _q70);
26507 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
26508 : 0 : _q71 = do_valueize (valueize, _q71);
26509 : 0 : if (tree_swap_operands_p (_q70, _q71))
26510 : 0 : std::swap (_q70, _q71);
26511 : 0 : switch (TREE_CODE (_q70))
26512 : : {
26513 : 0 : case SSA_NAME:
26514 : 0 : if (gimple *_d4 = get_def (valueize, _q70))
26515 : : {
26516 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
26517 : 0 : switch (gimple_assign_rhs_code (_a4))
26518 : : {
26519 : 0 : case UNORDERED_EXPR:
26520 : 0 : {
26521 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
26522 : 0 : _q80 = do_valueize (valueize, _q80);
26523 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
26524 : 0 : _q81 = do_valueize (valueize, _q81);
26525 : 0 : if (tree_swap_operands_p (_q80, _q81))
26526 : 0 : std::swap (_q80, _q81);
26527 : 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
26528 : : {
26529 : 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
26530 : : {
26531 : 0 : {
26532 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
26533 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
26534 : 0 : return true;
26535 : : }
26536 : : }
26537 : : }
26538 : 0 : break;
26539 : : }
26540 : : default:;
26541 : : }
26542 : : }
26543 : : break;
26544 : 0 : default:;
26545 : : }
26546 : 0 : switch (TREE_CODE (_q71))
26547 : : {
26548 : 0 : case SSA_NAME:
26549 : 0 : if (gimple *_d4 = get_def (valueize, _q71))
26550 : : {
26551 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
26552 : 0 : switch (gimple_assign_rhs_code (_a4))
26553 : : {
26554 : 0 : case UNORDERED_EXPR:
26555 : 0 : {
26556 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
26557 : 0 : _q90 = do_valueize (valueize, _q90);
26558 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
26559 : 0 : _q91 = do_valueize (valueize, _q91);
26560 : 0 : if (tree_swap_operands_p (_q90, _q91))
26561 : 0 : std::swap (_q90, _q91);
26562 : 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
26563 : : {
26564 : 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
26565 : : {
26566 : 0 : {
26567 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
26568 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
26569 : 0 : return true;
26570 : : }
26571 : : }
26572 : : }
26573 : 318296 : break;
26574 : : }
26575 : : default:;
26576 : : }
26577 : : }
26578 : : break;
26579 : : default:;
26580 : : }
26581 : 318296 : break;
26582 : : }
26583 : : default:;
26584 : : }
26585 : : }
26586 : : break;
26587 : : default:;
26588 : : }
26589 : 318296 : break;
26590 : : }
26591 : 0 : case UNLT_EXPR:
26592 : 0 : {
26593 : 0 : tree _q40 = gimple_assign_rhs1 (_a2);
26594 : 0 : _q40 = do_valueize (valueize, _q40);
26595 : 0 : tree _q41 = gimple_assign_rhs2 (_a2);
26596 : 0 : _q41 = do_valueize (valueize, _q41);
26597 : 0 : switch (TREE_CODE (_p1))
26598 : : {
26599 : 0 : case SSA_NAME:
26600 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
26601 : : {
26602 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
26603 : 0 : switch (gimple_assign_rhs_code (_a3))
26604 : : {
26605 : 0 : case BIT_AND_EXPR:
26606 : 0 : {
26607 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
26608 : 0 : _q70 = do_valueize (valueize, _q70);
26609 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
26610 : 0 : _q71 = do_valueize (valueize, _q71);
26611 : 0 : if (tree_swap_operands_p (_q70, _q71))
26612 : 0 : std::swap (_q70, _q71);
26613 : 0 : switch (TREE_CODE (_q70))
26614 : : {
26615 : 0 : case SSA_NAME:
26616 : 0 : if (gimple *_d4 = get_def (valueize, _q70))
26617 : : {
26618 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
26619 : 0 : switch (gimple_assign_rhs_code (_a4))
26620 : : {
26621 : 0 : case GE_EXPR:
26622 : 0 : {
26623 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
26624 : 0 : _q80 = do_valueize (valueize, _q80);
26625 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
26626 : 0 : _q81 = do_valueize (valueize, _q81);
26627 : 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
26628 : : {
26629 : 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
26630 : : {
26631 : 0 : {
26632 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
26633 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR))
26634 : 0 : return true;
26635 : : }
26636 : : }
26637 : : }
26638 : : break;
26639 : : }
26640 : : default:;
26641 : : }
26642 : : }
26643 : : break;
26644 : 0 : default:;
26645 : : }
26646 : 0 : switch (TREE_CODE (_q71))
26647 : : {
26648 : 0 : case SSA_NAME:
26649 : 0 : if (gimple *_d4 = get_def (valueize, _q71))
26650 : : {
26651 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
26652 : 0 : switch (gimple_assign_rhs_code (_a4))
26653 : : {
26654 : 0 : case GE_EXPR:
26655 : 0 : {
26656 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
26657 : 0 : _q90 = do_valueize (valueize, _q90);
26658 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
26659 : 0 : _q91 = do_valueize (valueize, _q91);
26660 : 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
26661 : : {
26662 : 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
26663 : : {
26664 : 0 : {
26665 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
26666 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR))
26667 : 0 : return true;
26668 : : }
26669 : : }
26670 : : }
26671 : : break;
26672 : : }
26673 : : default:;
26674 : : }
26675 : : }
26676 : : break;
26677 : : default:;
26678 : : }
26679 : 318296 : break;
26680 : : }
26681 : : default:;
26682 : : }
26683 : : }
26684 : : break;
26685 : : default:;
26686 : : }
26687 : : break;
26688 : : }
26689 : 0 : case UNLE_EXPR:
26690 : 0 : {
26691 : 0 : tree _q40 = gimple_assign_rhs1 (_a2);
26692 : 0 : _q40 = do_valueize (valueize, _q40);
26693 : 0 : tree _q41 = gimple_assign_rhs2 (_a2);
26694 : 0 : _q41 = do_valueize (valueize, _q41);
26695 : 0 : switch (TREE_CODE (_p1))
26696 : : {
26697 : 0 : case SSA_NAME:
26698 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
26699 : : {
26700 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
26701 : 0 : switch (gimple_assign_rhs_code (_a3))
26702 : : {
26703 : 0 : case BIT_AND_EXPR:
26704 : 0 : {
26705 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
26706 : 0 : _q70 = do_valueize (valueize, _q70);
26707 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
26708 : 0 : _q71 = do_valueize (valueize, _q71);
26709 : 0 : if (tree_swap_operands_p (_q70, _q71))
26710 : 0 : std::swap (_q70, _q71);
26711 : 0 : switch (TREE_CODE (_q70))
26712 : : {
26713 : 0 : case SSA_NAME:
26714 : 0 : if (gimple *_d4 = get_def (valueize, _q70))
26715 : : {
26716 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
26717 : 0 : switch (gimple_assign_rhs_code (_a4))
26718 : : {
26719 : 0 : case GT_EXPR:
26720 : 0 : {
26721 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
26722 : 0 : _q80 = do_valueize (valueize, _q80);
26723 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
26724 : 0 : _q81 = do_valueize (valueize, _q81);
26725 : 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
26726 : : {
26727 : 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
26728 : : {
26729 : 0 : {
26730 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
26731 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
26732 : 0 : return true;
26733 : : }
26734 : : }
26735 : : }
26736 : : break;
26737 : : }
26738 : : default:;
26739 : : }
26740 : : }
26741 : : break;
26742 : 0 : default:;
26743 : : }
26744 : 0 : switch (TREE_CODE (_q71))
26745 : : {
26746 : 0 : case SSA_NAME:
26747 : 0 : if (gimple *_d4 = get_def (valueize, _q71))
26748 : : {
26749 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
26750 : 0 : switch (gimple_assign_rhs_code (_a4))
26751 : : {
26752 : 0 : case GT_EXPR:
26753 : 0 : {
26754 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
26755 : 0 : _q90 = do_valueize (valueize, _q90);
26756 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
26757 : 0 : _q91 = do_valueize (valueize, _q91);
26758 : 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
26759 : : {
26760 : 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
26761 : : {
26762 : 0 : {
26763 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
26764 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
26765 : 0 : return true;
26766 : : }
26767 : : }
26768 : : }
26769 : : break;
26770 : : }
26771 : : default:;
26772 : : }
26773 : : }
26774 : : break;
26775 : : default:;
26776 : : }
26777 : 318296 : break;
26778 : : }
26779 : : default:;
26780 : : }
26781 : : }
26782 : : break;
26783 : : default:;
26784 : : }
26785 : : break;
26786 : : }
26787 : 0 : case UNGT_EXPR:
26788 : 0 : {
26789 : 0 : tree _q40 = gimple_assign_rhs1 (_a2);
26790 : 0 : _q40 = do_valueize (valueize, _q40);
26791 : 0 : tree _q41 = gimple_assign_rhs2 (_a2);
26792 : 0 : _q41 = do_valueize (valueize, _q41);
26793 : 0 : switch (TREE_CODE (_p1))
26794 : : {
26795 : 0 : case SSA_NAME:
26796 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
26797 : : {
26798 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
26799 : 0 : switch (gimple_assign_rhs_code (_a3))
26800 : : {
26801 : 0 : case BIT_AND_EXPR:
26802 : 0 : {
26803 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
26804 : 0 : _q70 = do_valueize (valueize, _q70);
26805 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
26806 : 0 : _q71 = do_valueize (valueize, _q71);
26807 : 0 : if (tree_swap_operands_p (_q70, _q71))
26808 : 0 : std::swap (_q70, _q71);
26809 : 0 : switch (TREE_CODE (_q70))
26810 : : {
26811 : 0 : case SSA_NAME:
26812 : 0 : if (gimple *_d4 = get_def (valueize, _q70))
26813 : : {
26814 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
26815 : 0 : switch (gimple_assign_rhs_code (_a4))
26816 : : {
26817 : 0 : case LE_EXPR:
26818 : 0 : {
26819 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
26820 : 0 : _q80 = do_valueize (valueize, _q80);
26821 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
26822 : 0 : _q81 = do_valueize (valueize, _q81);
26823 : 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
26824 : : {
26825 : 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
26826 : : {
26827 : 0 : {
26828 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
26829 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
26830 : 0 : return true;
26831 : : }
26832 : : }
26833 : : }
26834 : : break;
26835 : : }
26836 : : default:;
26837 : : }
26838 : : }
26839 : : break;
26840 : 0 : default:;
26841 : : }
26842 : 0 : switch (TREE_CODE (_q71))
26843 : : {
26844 : 0 : case SSA_NAME:
26845 : 0 : if (gimple *_d4 = get_def (valueize, _q71))
26846 : : {
26847 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
26848 : 0 : switch (gimple_assign_rhs_code (_a4))
26849 : : {
26850 : 0 : case LE_EXPR:
26851 : 0 : {
26852 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
26853 : 0 : _q90 = do_valueize (valueize, _q90);
26854 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
26855 : 0 : _q91 = do_valueize (valueize, _q91);
26856 : 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
26857 : : {
26858 : 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
26859 : : {
26860 : 0 : {
26861 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
26862 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
26863 : 0 : return true;
26864 : : }
26865 : : }
26866 : : }
26867 : : break;
26868 : : }
26869 : : default:;
26870 : : }
26871 : : }
26872 : : break;
26873 : : default:;
26874 : : }
26875 : 318296 : break;
26876 : : }
26877 : : default:;
26878 : : }
26879 : : }
26880 : : break;
26881 : : default:;
26882 : : }
26883 : : break;
26884 : : }
26885 : 0 : case UNGE_EXPR:
26886 : 0 : {
26887 : 0 : tree _q40 = gimple_assign_rhs1 (_a2);
26888 : 0 : _q40 = do_valueize (valueize, _q40);
26889 : 0 : tree _q41 = gimple_assign_rhs2 (_a2);
26890 : 0 : _q41 = do_valueize (valueize, _q41);
26891 : 0 : switch (TREE_CODE (_p1))
26892 : : {
26893 : 0 : case SSA_NAME:
26894 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
26895 : : {
26896 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
26897 : 0 : switch (gimple_assign_rhs_code (_a3))
26898 : : {
26899 : 0 : case BIT_AND_EXPR:
26900 : 0 : {
26901 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
26902 : 0 : _q70 = do_valueize (valueize, _q70);
26903 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
26904 : 0 : _q71 = do_valueize (valueize, _q71);
26905 : 0 : if (tree_swap_operands_p (_q70, _q71))
26906 : 0 : std::swap (_q70, _q71);
26907 : 0 : switch (TREE_CODE (_q70))
26908 : : {
26909 : 0 : case SSA_NAME:
26910 : 0 : if (gimple *_d4 = get_def (valueize, _q70))
26911 : : {
26912 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
26913 : 0 : switch (gimple_assign_rhs_code (_a4))
26914 : : {
26915 : 0 : case LT_EXPR:
26916 : 0 : {
26917 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
26918 : 0 : _q80 = do_valueize (valueize, _q80);
26919 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
26920 : 0 : _q81 = do_valueize (valueize, _q81);
26921 : 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
26922 : : {
26923 : 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
26924 : : {
26925 : 0 : {
26926 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
26927 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
26928 : 0 : return true;
26929 : : }
26930 : : }
26931 : : }
26932 : : break;
26933 : : }
26934 : : default:;
26935 : : }
26936 : : }
26937 : : break;
26938 : 0 : default:;
26939 : : }
26940 : 0 : switch (TREE_CODE (_q71))
26941 : : {
26942 : 0 : case SSA_NAME:
26943 : 0 : if (gimple *_d4 = get_def (valueize, _q71))
26944 : : {
26945 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
26946 : 0 : switch (gimple_assign_rhs_code (_a4))
26947 : : {
26948 : 0 : case LT_EXPR:
26949 : 0 : {
26950 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
26951 : 0 : _q90 = do_valueize (valueize, _q90);
26952 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
26953 : 0 : _q91 = do_valueize (valueize, _q91);
26954 : 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
26955 : : {
26956 : 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
26957 : : {
26958 : 0 : {
26959 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
26960 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
26961 : 0 : return true;
26962 : : }
26963 : : }
26964 : : }
26965 : : break;
26966 : : }
26967 : : default:;
26968 : : }
26969 : : }
26970 : : break;
26971 : : default:;
26972 : : }
26973 : 318296 : break;
26974 : : }
26975 : : default:;
26976 : : }
26977 : : }
26978 : : break;
26979 : : default:;
26980 : : }
26981 : : break;
26982 : : }
26983 : 0 : case UNEQ_EXPR:
26984 : 0 : {
26985 : 0 : tree _q40 = gimple_assign_rhs1 (_a2);
26986 : 0 : _q40 = do_valueize (valueize, _q40);
26987 : 0 : tree _q41 = gimple_assign_rhs2 (_a2);
26988 : 0 : _q41 = do_valueize (valueize, _q41);
26989 : 0 : if (tree_swap_operands_p (_q40, _q41))
26990 : 0 : std::swap (_q40, _q41);
26991 : 0 : switch (TREE_CODE (_p1))
26992 : : {
26993 : 0 : case SSA_NAME:
26994 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
26995 : : {
26996 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
26997 : 0 : switch (gimple_assign_rhs_code (_a3))
26998 : : {
26999 : 0 : case BIT_AND_EXPR:
27000 : 0 : {
27001 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
27002 : 0 : _q70 = do_valueize (valueize, _q70);
27003 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
27004 : 0 : _q71 = do_valueize (valueize, _q71);
27005 : 0 : if (tree_swap_operands_p (_q70, _q71))
27006 : 0 : std::swap (_q70, _q71);
27007 : 0 : switch (TREE_CODE (_q70))
27008 : : {
27009 : 0 : case SSA_NAME:
27010 : 0 : if (gimple *_d4 = get_def (valueize, _q70))
27011 : : {
27012 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
27013 : 0 : switch (gimple_assign_rhs_code (_a4))
27014 : : {
27015 : 0 : case LTGT_EXPR:
27016 : 0 : {
27017 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
27018 : 0 : _q80 = do_valueize (valueize, _q80);
27019 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
27020 : 0 : _q81 = do_valueize (valueize, _q81);
27021 : 0 : if (tree_swap_operands_p (_q80, _q81))
27022 : 0 : std::swap (_q80, _q81);
27023 : 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
27024 : : {
27025 : 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
27026 : : {
27027 : 0 : {
27028 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
27029 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
27030 : 0 : return true;
27031 : : }
27032 : : }
27033 : : }
27034 : 0 : break;
27035 : : }
27036 : : default:;
27037 : : }
27038 : : }
27039 : : break;
27040 : 0 : default:;
27041 : : }
27042 : 0 : switch (TREE_CODE (_q71))
27043 : : {
27044 : 0 : case SSA_NAME:
27045 : 0 : if (gimple *_d4 = get_def (valueize, _q71))
27046 : : {
27047 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
27048 : 0 : switch (gimple_assign_rhs_code (_a4))
27049 : : {
27050 : 0 : case LTGT_EXPR:
27051 : 0 : {
27052 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
27053 : 0 : _q90 = do_valueize (valueize, _q90);
27054 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
27055 : 0 : _q91 = do_valueize (valueize, _q91);
27056 : 0 : if (tree_swap_operands_p (_q90, _q91))
27057 : 0 : std::swap (_q90, _q91);
27058 : 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
27059 : : {
27060 : 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
27061 : : {
27062 : 0 : {
27063 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
27064 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
27065 : 0 : return true;
27066 : : }
27067 : : }
27068 : : }
27069 : 318296 : break;
27070 : : }
27071 : : default:;
27072 : : }
27073 : : }
27074 : : break;
27075 : : default:;
27076 : : }
27077 : 318296 : break;
27078 : : }
27079 : : default:;
27080 : : }
27081 : : }
27082 : : break;
27083 : : default:;
27084 : : }
27085 : 318296 : break;
27086 : : }
27087 : 0 : case LTGT_EXPR:
27088 : 0 : {
27089 : 0 : tree _q40 = gimple_assign_rhs1 (_a2);
27090 : 0 : _q40 = do_valueize (valueize, _q40);
27091 : 0 : tree _q41 = gimple_assign_rhs2 (_a2);
27092 : 0 : _q41 = do_valueize (valueize, _q41);
27093 : 0 : if (tree_swap_operands_p (_q40, _q41))
27094 : 0 : std::swap (_q40, _q41);
27095 : 0 : switch (TREE_CODE (_p1))
27096 : : {
27097 : 0 : case SSA_NAME:
27098 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
27099 : : {
27100 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
27101 : 0 : switch (gimple_assign_rhs_code (_a3))
27102 : : {
27103 : 0 : case BIT_AND_EXPR:
27104 : 0 : {
27105 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
27106 : 0 : _q70 = do_valueize (valueize, _q70);
27107 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
27108 : 0 : _q71 = do_valueize (valueize, _q71);
27109 : 0 : if (tree_swap_operands_p (_q70, _q71))
27110 : 0 : std::swap (_q70, _q71);
27111 : 0 : switch (TREE_CODE (_q70))
27112 : : {
27113 : 0 : case SSA_NAME:
27114 : 0 : if (gimple *_d4 = get_def (valueize, _q70))
27115 : : {
27116 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
27117 : 0 : switch (gimple_assign_rhs_code (_a4))
27118 : : {
27119 : 0 : case UNEQ_EXPR:
27120 : 0 : {
27121 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
27122 : 0 : _q80 = do_valueize (valueize, _q80);
27123 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
27124 : 0 : _q81 = do_valueize (valueize, _q81);
27125 : 0 : if (tree_swap_operands_p (_q80, _q81))
27126 : 0 : std::swap (_q80, _q81);
27127 : 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
27128 : : {
27129 : 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
27130 : : {
27131 : 0 : {
27132 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
27133 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
27134 : 0 : return true;
27135 : : }
27136 : : }
27137 : : }
27138 : 0 : break;
27139 : : }
27140 : : default:;
27141 : : }
27142 : : }
27143 : : break;
27144 : 0 : default:;
27145 : : }
27146 : 0 : switch (TREE_CODE (_q71))
27147 : : {
27148 : 0 : case SSA_NAME:
27149 : 0 : if (gimple *_d4 = get_def (valueize, _q71))
27150 : : {
27151 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
27152 : 0 : switch (gimple_assign_rhs_code (_a4))
27153 : : {
27154 : 0 : case UNEQ_EXPR:
27155 : 0 : {
27156 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
27157 : 0 : _q90 = do_valueize (valueize, _q90);
27158 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
27159 : 0 : _q91 = do_valueize (valueize, _q91);
27160 : 0 : if (tree_swap_operands_p (_q90, _q91))
27161 : 0 : std::swap (_q90, _q91);
27162 : 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
27163 : : {
27164 : 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
27165 : : {
27166 : 0 : {
27167 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
27168 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
27169 : 0 : return true;
27170 : : }
27171 : : }
27172 : : }
27173 : 318296 : break;
27174 : : }
27175 : : default:;
27176 : : }
27177 : : }
27178 : : break;
27179 : : default:;
27180 : : }
27181 : 318296 : break;
27182 : : }
27183 : : default:;
27184 : : }
27185 : : }
27186 : : break;
27187 : : default:;
27188 : : }
27189 : 318296 : break;
27190 : : }
27191 : : default:;
27192 : : }
27193 : : }
27194 : : break;
27195 : 318296 : default:;
27196 : : }
27197 : 318296 : switch (TREE_CODE (_q20))
27198 : : {
27199 : 318296 : case SSA_NAME:
27200 : 318296 : if (gimple *_d2 = get_def (valueize, _q20))
27201 : : {
27202 : 280507 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
27203 : 261112 : switch (gimple_assign_rhs_code (_a2))
27204 : : {
27205 : 7 : case VEC_COND_EXPR:
27206 : 7 : {
27207 : 7 : tree _q30 = gimple_assign_rhs1 (_a2);
27208 : 7 : _q30 = do_valueize (valueize, _q30);
27209 : 7 : tree _q31 = gimple_assign_rhs2 (_a2);
27210 : 7 : _q31 = do_valueize (valueize, _q31);
27211 : 7 : tree _q32 = gimple_assign_rhs3 (_a2);
27212 : 7 : _q32 = do_valueize (valueize, _q32);
27213 : 7 : switch (TREE_CODE (_q30))
27214 : : {
27215 : 7 : case SSA_NAME:
27216 : 7 : if (gimple *_d3 = get_def (valueize, _q30))
27217 : : {
27218 : 7 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
27219 : 7 : switch (gimple_assign_rhs_code (_a3))
27220 : : {
27221 : 7 : case LT_EXPR:
27222 : 7 : {
27223 : 7 : tree _q40 = gimple_assign_rhs1 (_a3);
27224 : 7 : _q40 = do_valueize (valueize, _q40);
27225 : 7 : tree _q41 = gimple_assign_rhs2 (_a3);
27226 : 7 : _q41 = do_valueize (valueize, _q41);
27227 : 7 : switch (TREE_CODE (_p1))
27228 : : {
27229 : 7 : case SSA_NAME:
27230 : 7 : if (gimple *_d4 = get_def (valueize, _p1))
27231 : : {
27232 : 7 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
27233 : 7 : switch (gimple_assign_rhs_code (_a4))
27234 : : {
27235 : 7 : case BIT_AND_EXPR:
27236 : 7 : {
27237 : 7 : tree _q100 = gimple_assign_rhs1 (_a4);
27238 : 7 : _q100 = do_valueize (valueize, _q100);
27239 : 7 : tree _q101 = gimple_assign_rhs2 (_a4);
27240 : 7 : _q101 = do_valueize (valueize, _q101);
27241 : 7 : if (tree_swap_operands_p (_q100, _q101))
27242 : 0 : std::swap (_q100, _q101);
27243 : 7 : switch (TREE_CODE (_q100))
27244 : : {
27245 : 7 : case SSA_NAME:
27246 : 7 : if (gimple *_d5 = get_def (valueize, _q100))
27247 : : {
27248 : 7 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
27249 : 7 : switch (gimple_assign_rhs_code (_a5))
27250 : : {
27251 : 7 : case VEC_COND_EXPR:
27252 : 7 : {
27253 : 7 : tree _q110 = gimple_assign_rhs1 (_a5);
27254 : 7 : _q110 = do_valueize (valueize, _q110);
27255 : 7 : tree _q111 = gimple_assign_rhs2 (_a5);
27256 : 7 : _q111 = do_valueize (valueize, _q111);
27257 : 7 : tree _q112 = gimple_assign_rhs3 (_a5);
27258 : 7 : _q112 = do_valueize (valueize, _q112);
27259 : 7 : switch (TREE_CODE (_q110))
27260 : : {
27261 : 7 : case SSA_NAME:
27262 : 7 : if (gimple *_d6 = get_def (valueize, _q110))
27263 : : {
27264 : 7 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
27265 : 7 : switch (gimple_assign_rhs_code (_a6))
27266 : : {
27267 : 7 : case GE_EXPR:
27268 : 7 : {
27269 : 7 : tree _q120 = gimple_assign_rhs1 (_a6);
27270 : 7 : _q120 = do_valueize (valueize, _q120);
27271 : 7 : tree _q121 = gimple_assign_rhs2 (_a6);
27272 : 7 : _q121 = do_valueize (valueize, _q121);
27273 : 7 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
27274 : : {
27275 : 7 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
27276 : : {
27277 : 7 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
27278 : : {
27279 : 7 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
27280 : : {
27281 : 7 : {
27282 : 7 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
27283 : 7 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
27284 : 0 : return true;
27285 : : }
27286 : : }
27287 : : }
27288 : : }
27289 : : }
27290 : : break;
27291 : : }
27292 : : default:;
27293 : : }
27294 : : }
27295 : : break;
27296 : : default:;
27297 : : }
27298 : : break;
27299 : : }
27300 : : default:;
27301 : : }
27302 : : }
27303 : : break;
27304 : 7 : default:;
27305 : : }
27306 : 7 : switch (TREE_CODE (_q101))
27307 : : {
27308 : 7 : case SSA_NAME:
27309 : 7 : if (gimple *_d5 = get_def (valueize, _q101))
27310 : : {
27311 : 7 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
27312 : 0 : switch (gimple_assign_rhs_code (_a5))
27313 : : {
27314 : 0 : case VEC_COND_EXPR:
27315 : 0 : {
27316 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
27317 : 0 : _q120 = do_valueize (valueize, _q120);
27318 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
27319 : 0 : _q121 = do_valueize (valueize, _q121);
27320 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
27321 : 0 : _q122 = do_valueize (valueize, _q122);
27322 : 0 : switch (TREE_CODE (_q120))
27323 : : {
27324 : 0 : case SSA_NAME:
27325 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
27326 : : {
27327 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
27328 : 0 : switch (gimple_assign_rhs_code (_a6))
27329 : : {
27330 : 0 : case GE_EXPR:
27331 : 0 : {
27332 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
27333 : 0 : _q130 = do_valueize (valueize, _q130);
27334 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
27335 : 0 : _q131 = do_valueize (valueize, _q131);
27336 : 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
27337 : : {
27338 : 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
27339 : : {
27340 : 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
27341 : : {
27342 : 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
27343 : : {
27344 : 0 : {
27345 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
27346 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
27347 : 0 : return true;
27348 : : }
27349 : : }
27350 : : }
27351 : : }
27352 : : }
27353 : : break;
27354 : : }
27355 : : default:;
27356 : : }
27357 : : }
27358 : : break;
27359 : : default:;
27360 : : }
27361 : : break;
27362 : : }
27363 : : default:;
27364 : : }
27365 : : }
27366 : : break;
27367 : : default:;
27368 : : }
27369 : 318296 : break;
27370 : : }
27371 : : default:;
27372 : : }
27373 : : }
27374 : : break;
27375 : : default:;
27376 : : }
27377 : : break;
27378 : : }
27379 : 0 : case LE_EXPR:
27380 : 0 : {
27381 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
27382 : 0 : _q40 = do_valueize (valueize, _q40);
27383 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
27384 : 0 : _q41 = do_valueize (valueize, _q41);
27385 : 0 : switch (TREE_CODE (_p1))
27386 : : {
27387 : 0 : case SSA_NAME:
27388 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
27389 : : {
27390 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
27391 : 0 : switch (gimple_assign_rhs_code (_a4))
27392 : : {
27393 : 0 : case BIT_AND_EXPR:
27394 : 0 : {
27395 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
27396 : 0 : _q100 = do_valueize (valueize, _q100);
27397 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
27398 : 0 : _q101 = do_valueize (valueize, _q101);
27399 : 0 : if (tree_swap_operands_p (_q100, _q101))
27400 : 0 : std::swap (_q100, _q101);
27401 : 0 : switch (TREE_CODE (_q100))
27402 : : {
27403 : 0 : case SSA_NAME:
27404 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
27405 : : {
27406 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
27407 : 0 : switch (gimple_assign_rhs_code (_a5))
27408 : : {
27409 : 0 : case VEC_COND_EXPR:
27410 : 0 : {
27411 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
27412 : 0 : _q110 = do_valueize (valueize, _q110);
27413 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
27414 : 0 : _q111 = do_valueize (valueize, _q111);
27415 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
27416 : 0 : _q112 = do_valueize (valueize, _q112);
27417 : 0 : switch (TREE_CODE (_q110))
27418 : : {
27419 : 0 : case SSA_NAME:
27420 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
27421 : : {
27422 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
27423 : 0 : switch (gimple_assign_rhs_code (_a6))
27424 : : {
27425 : 0 : case GT_EXPR:
27426 : 0 : {
27427 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
27428 : 0 : _q120 = do_valueize (valueize, _q120);
27429 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
27430 : 0 : _q121 = do_valueize (valueize, _q121);
27431 : 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
27432 : : {
27433 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
27434 : : {
27435 : 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
27436 : : {
27437 : 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
27438 : : {
27439 : 0 : {
27440 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
27441 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
27442 : 0 : return true;
27443 : : }
27444 : : }
27445 : : }
27446 : : }
27447 : : }
27448 : : break;
27449 : : }
27450 : : default:;
27451 : : }
27452 : : }
27453 : : break;
27454 : : default:;
27455 : : }
27456 : : break;
27457 : : }
27458 : : default:;
27459 : : }
27460 : : }
27461 : : break;
27462 : 0 : default:;
27463 : : }
27464 : 0 : switch (TREE_CODE (_q101))
27465 : : {
27466 : 0 : case SSA_NAME:
27467 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
27468 : : {
27469 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
27470 : 0 : switch (gimple_assign_rhs_code (_a5))
27471 : : {
27472 : 0 : case VEC_COND_EXPR:
27473 : 0 : {
27474 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
27475 : 0 : _q120 = do_valueize (valueize, _q120);
27476 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
27477 : 0 : _q121 = do_valueize (valueize, _q121);
27478 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
27479 : 0 : _q122 = do_valueize (valueize, _q122);
27480 : 0 : switch (TREE_CODE (_q120))
27481 : : {
27482 : 0 : case SSA_NAME:
27483 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
27484 : : {
27485 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
27486 : 0 : switch (gimple_assign_rhs_code (_a6))
27487 : : {
27488 : 0 : case GT_EXPR:
27489 : 0 : {
27490 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
27491 : 0 : _q130 = do_valueize (valueize, _q130);
27492 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
27493 : 0 : _q131 = do_valueize (valueize, _q131);
27494 : 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
27495 : : {
27496 : 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
27497 : : {
27498 : 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
27499 : : {
27500 : 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
27501 : : {
27502 : 0 : {
27503 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
27504 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
27505 : 0 : return true;
27506 : : }
27507 : : }
27508 : : }
27509 : : }
27510 : : }
27511 : : break;
27512 : : }
27513 : : default:;
27514 : : }
27515 : : }
27516 : : break;
27517 : : default:;
27518 : : }
27519 : : break;
27520 : : }
27521 : : default:;
27522 : : }
27523 : : }
27524 : : break;
27525 : : default:;
27526 : : }
27527 : 318296 : break;
27528 : : }
27529 : : default:;
27530 : : }
27531 : : }
27532 : : break;
27533 : : default:;
27534 : : }
27535 : : break;
27536 : : }
27537 : 0 : case EQ_EXPR:
27538 : 0 : {
27539 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
27540 : 0 : _q40 = do_valueize (valueize, _q40);
27541 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
27542 : 0 : _q41 = do_valueize (valueize, _q41);
27543 : 0 : if (tree_swap_operands_p (_q40, _q41))
27544 : 0 : std::swap (_q40, _q41);
27545 : 0 : switch (TREE_CODE (_p1))
27546 : : {
27547 : 0 : case SSA_NAME:
27548 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
27549 : : {
27550 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
27551 : 0 : switch (gimple_assign_rhs_code (_a4))
27552 : : {
27553 : 0 : case BIT_AND_EXPR:
27554 : 0 : {
27555 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
27556 : 0 : _q100 = do_valueize (valueize, _q100);
27557 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
27558 : 0 : _q101 = do_valueize (valueize, _q101);
27559 : 0 : if (tree_swap_operands_p (_q100, _q101))
27560 : 0 : std::swap (_q100, _q101);
27561 : 0 : switch (TREE_CODE (_q100))
27562 : : {
27563 : 0 : case SSA_NAME:
27564 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
27565 : : {
27566 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
27567 : 0 : switch (gimple_assign_rhs_code (_a5))
27568 : : {
27569 : 0 : case VEC_COND_EXPR:
27570 : 0 : {
27571 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
27572 : 0 : _q110 = do_valueize (valueize, _q110);
27573 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
27574 : 0 : _q111 = do_valueize (valueize, _q111);
27575 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
27576 : 0 : _q112 = do_valueize (valueize, _q112);
27577 : 0 : switch (TREE_CODE (_q110))
27578 : : {
27579 : 0 : case SSA_NAME:
27580 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
27581 : : {
27582 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
27583 : 0 : switch (gimple_assign_rhs_code (_a6))
27584 : : {
27585 : 0 : case NE_EXPR:
27586 : 0 : {
27587 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
27588 : 0 : _q120 = do_valueize (valueize, _q120);
27589 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
27590 : 0 : _q121 = do_valueize (valueize, _q121);
27591 : 0 : if (tree_swap_operands_p (_q120, _q121))
27592 : 0 : std::swap (_q120, _q121);
27593 : 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
27594 : : {
27595 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
27596 : : {
27597 : 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
27598 : : {
27599 : 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
27600 : : {
27601 : 0 : {
27602 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
27603 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
27604 : 0 : return true;
27605 : : }
27606 : : }
27607 : : }
27608 : : }
27609 : : }
27610 : 0 : break;
27611 : : }
27612 : : default:;
27613 : : }
27614 : : }
27615 : : break;
27616 : : default:;
27617 : : }
27618 : : break;
27619 : : }
27620 : : default:;
27621 : : }
27622 : : }
27623 : : break;
27624 : 0 : default:;
27625 : : }
27626 : 0 : switch (TREE_CODE (_q101))
27627 : : {
27628 : 0 : case SSA_NAME:
27629 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
27630 : : {
27631 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
27632 : 0 : switch (gimple_assign_rhs_code (_a5))
27633 : : {
27634 : 0 : case VEC_COND_EXPR:
27635 : 0 : {
27636 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
27637 : 0 : _q120 = do_valueize (valueize, _q120);
27638 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
27639 : 0 : _q121 = do_valueize (valueize, _q121);
27640 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
27641 : 0 : _q122 = do_valueize (valueize, _q122);
27642 : 0 : switch (TREE_CODE (_q120))
27643 : : {
27644 : 0 : case SSA_NAME:
27645 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
27646 : : {
27647 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
27648 : 0 : switch (gimple_assign_rhs_code (_a6))
27649 : : {
27650 : 0 : case NE_EXPR:
27651 : 0 : {
27652 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
27653 : 0 : _q130 = do_valueize (valueize, _q130);
27654 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
27655 : 0 : _q131 = do_valueize (valueize, _q131);
27656 : 0 : if (tree_swap_operands_p (_q130, _q131))
27657 : 0 : std::swap (_q130, _q131);
27658 : 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
27659 : : {
27660 : 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
27661 : : {
27662 : 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
27663 : : {
27664 : 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
27665 : : {
27666 : 0 : {
27667 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
27668 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
27669 : 0 : return true;
27670 : : }
27671 : : }
27672 : : }
27673 : : }
27674 : : }
27675 : 318296 : break;
27676 : : }
27677 : : default:;
27678 : : }
27679 : : }
27680 : : break;
27681 : : default:;
27682 : : }
27683 : : break;
27684 : : }
27685 : : default:;
27686 : : }
27687 : : }
27688 : : break;
27689 : : default:;
27690 : : }
27691 : 318296 : break;
27692 : : }
27693 : : default:;
27694 : : }
27695 : : }
27696 : : break;
27697 : : default:;
27698 : : }
27699 : 318296 : break;
27700 : : }
27701 : 0 : case NE_EXPR:
27702 : 0 : {
27703 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
27704 : 0 : _q40 = do_valueize (valueize, _q40);
27705 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
27706 : 0 : _q41 = do_valueize (valueize, _q41);
27707 : 0 : if (tree_swap_operands_p (_q40, _q41))
27708 : 0 : std::swap (_q40, _q41);
27709 : 0 : switch (TREE_CODE (_p1))
27710 : : {
27711 : 0 : case SSA_NAME:
27712 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
27713 : : {
27714 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
27715 : 0 : switch (gimple_assign_rhs_code (_a4))
27716 : : {
27717 : 0 : case BIT_AND_EXPR:
27718 : 0 : {
27719 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
27720 : 0 : _q100 = do_valueize (valueize, _q100);
27721 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
27722 : 0 : _q101 = do_valueize (valueize, _q101);
27723 : 0 : if (tree_swap_operands_p (_q100, _q101))
27724 : 0 : std::swap (_q100, _q101);
27725 : 0 : switch (TREE_CODE (_q100))
27726 : : {
27727 : 0 : case SSA_NAME:
27728 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
27729 : : {
27730 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
27731 : 0 : switch (gimple_assign_rhs_code (_a5))
27732 : : {
27733 : 0 : case VEC_COND_EXPR:
27734 : 0 : {
27735 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
27736 : 0 : _q110 = do_valueize (valueize, _q110);
27737 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
27738 : 0 : _q111 = do_valueize (valueize, _q111);
27739 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
27740 : 0 : _q112 = do_valueize (valueize, _q112);
27741 : 0 : switch (TREE_CODE (_q110))
27742 : : {
27743 : 0 : case SSA_NAME:
27744 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
27745 : : {
27746 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
27747 : 0 : switch (gimple_assign_rhs_code (_a6))
27748 : : {
27749 : 0 : case EQ_EXPR:
27750 : 0 : {
27751 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
27752 : 0 : _q120 = do_valueize (valueize, _q120);
27753 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
27754 : 0 : _q121 = do_valueize (valueize, _q121);
27755 : 0 : if (tree_swap_operands_p (_q120, _q121))
27756 : 0 : std::swap (_q120, _q121);
27757 : 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
27758 : : {
27759 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
27760 : : {
27761 : 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
27762 : : {
27763 : 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
27764 : : {
27765 : 0 : {
27766 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
27767 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
27768 : 0 : return true;
27769 : : }
27770 : : }
27771 : : }
27772 : : }
27773 : : }
27774 : 0 : break;
27775 : : }
27776 : : default:;
27777 : : }
27778 : : }
27779 : : break;
27780 : : default:;
27781 : : }
27782 : : break;
27783 : : }
27784 : : default:;
27785 : : }
27786 : : }
27787 : : break;
27788 : 0 : default:;
27789 : : }
27790 : 0 : switch (TREE_CODE (_q101))
27791 : : {
27792 : 0 : case SSA_NAME:
27793 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
27794 : : {
27795 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
27796 : 0 : switch (gimple_assign_rhs_code (_a5))
27797 : : {
27798 : 0 : case VEC_COND_EXPR:
27799 : 0 : {
27800 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
27801 : 0 : _q120 = do_valueize (valueize, _q120);
27802 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
27803 : 0 : _q121 = do_valueize (valueize, _q121);
27804 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
27805 : 0 : _q122 = do_valueize (valueize, _q122);
27806 : 0 : switch (TREE_CODE (_q120))
27807 : : {
27808 : 0 : case SSA_NAME:
27809 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
27810 : : {
27811 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
27812 : 0 : switch (gimple_assign_rhs_code (_a6))
27813 : : {
27814 : 0 : case EQ_EXPR:
27815 : 0 : {
27816 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
27817 : 0 : _q130 = do_valueize (valueize, _q130);
27818 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
27819 : 0 : _q131 = do_valueize (valueize, _q131);
27820 : 0 : if (tree_swap_operands_p (_q130, _q131))
27821 : 0 : std::swap (_q130, _q131);
27822 : 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
27823 : : {
27824 : 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
27825 : : {
27826 : 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
27827 : : {
27828 : 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
27829 : : {
27830 : 0 : {
27831 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
27832 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
27833 : 0 : return true;
27834 : : }
27835 : : }
27836 : : }
27837 : : }
27838 : : }
27839 : 318296 : break;
27840 : : }
27841 : : default:;
27842 : : }
27843 : : }
27844 : : break;
27845 : : default:;
27846 : : }
27847 : : break;
27848 : : }
27849 : : default:;
27850 : : }
27851 : : }
27852 : : break;
27853 : : default:;
27854 : : }
27855 : 318296 : break;
27856 : : }
27857 : : default:;
27858 : : }
27859 : : }
27860 : : break;
27861 : : default:;
27862 : : }
27863 : 318296 : break;
27864 : : }
27865 : 0 : case GE_EXPR:
27866 : 0 : {
27867 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
27868 : 0 : _q40 = do_valueize (valueize, _q40);
27869 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
27870 : 0 : _q41 = do_valueize (valueize, _q41);
27871 : 0 : switch (TREE_CODE (_p1))
27872 : : {
27873 : 0 : case SSA_NAME:
27874 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
27875 : : {
27876 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
27877 : 0 : switch (gimple_assign_rhs_code (_a4))
27878 : : {
27879 : 0 : case BIT_AND_EXPR:
27880 : 0 : {
27881 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
27882 : 0 : _q100 = do_valueize (valueize, _q100);
27883 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
27884 : 0 : _q101 = do_valueize (valueize, _q101);
27885 : 0 : if (tree_swap_operands_p (_q100, _q101))
27886 : 0 : std::swap (_q100, _q101);
27887 : 0 : switch (TREE_CODE (_q100))
27888 : : {
27889 : 0 : case SSA_NAME:
27890 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
27891 : : {
27892 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
27893 : 0 : switch (gimple_assign_rhs_code (_a5))
27894 : : {
27895 : 0 : case VEC_COND_EXPR:
27896 : 0 : {
27897 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
27898 : 0 : _q110 = do_valueize (valueize, _q110);
27899 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
27900 : 0 : _q111 = do_valueize (valueize, _q111);
27901 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
27902 : 0 : _q112 = do_valueize (valueize, _q112);
27903 : 0 : switch (TREE_CODE (_q110))
27904 : : {
27905 : 0 : case SSA_NAME:
27906 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
27907 : : {
27908 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
27909 : 0 : switch (gimple_assign_rhs_code (_a6))
27910 : : {
27911 : 0 : case LT_EXPR:
27912 : 0 : {
27913 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
27914 : 0 : _q120 = do_valueize (valueize, _q120);
27915 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
27916 : 0 : _q121 = do_valueize (valueize, _q121);
27917 : 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
27918 : : {
27919 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
27920 : : {
27921 : 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
27922 : : {
27923 : 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
27924 : : {
27925 : 0 : {
27926 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
27927 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
27928 : 0 : return true;
27929 : : }
27930 : : }
27931 : : }
27932 : : }
27933 : : }
27934 : : break;
27935 : : }
27936 : : default:;
27937 : : }
27938 : : }
27939 : : break;
27940 : : default:;
27941 : : }
27942 : : break;
27943 : : }
27944 : : default:;
27945 : : }
27946 : : }
27947 : : break;
27948 : 0 : default:;
27949 : : }
27950 : 0 : switch (TREE_CODE (_q101))
27951 : : {
27952 : 0 : case SSA_NAME:
27953 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
27954 : : {
27955 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
27956 : 0 : switch (gimple_assign_rhs_code (_a5))
27957 : : {
27958 : 0 : case VEC_COND_EXPR:
27959 : 0 : {
27960 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
27961 : 0 : _q120 = do_valueize (valueize, _q120);
27962 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
27963 : 0 : _q121 = do_valueize (valueize, _q121);
27964 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
27965 : 0 : _q122 = do_valueize (valueize, _q122);
27966 : 0 : switch (TREE_CODE (_q120))
27967 : : {
27968 : 0 : case SSA_NAME:
27969 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
27970 : : {
27971 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
27972 : 0 : switch (gimple_assign_rhs_code (_a6))
27973 : : {
27974 : 0 : case LT_EXPR:
27975 : 0 : {
27976 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
27977 : 0 : _q130 = do_valueize (valueize, _q130);
27978 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
27979 : 0 : _q131 = do_valueize (valueize, _q131);
27980 : 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
27981 : : {
27982 : 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
27983 : : {
27984 : 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
27985 : : {
27986 : 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
27987 : : {
27988 : 0 : {
27989 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
27990 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
27991 : 0 : return true;
27992 : : }
27993 : : }
27994 : : }
27995 : : }
27996 : : }
27997 : : break;
27998 : : }
27999 : : default:;
28000 : : }
28001 : : }
28002 : : break;
28003 : : default:;
28004 : : }
28005 : : break;
28006 : : }
28007 : : default:;
28008 : : }
28009 : : }
28010 : : break;
28011 : : default:;
28012 : : }
28013 : 318296 : break;
28014 : : }
28015 : : default:;
28016 : : }
28017 : : }
28018 : : break;
28019 : : default:;
28020 : : }
28021 : : break;
28022 : : }
28023 : 0 : case GT_EXPR:
28024 : 0 : {
28025 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
28026 : 0 : _q40 = do_valueize (valueize, _q40);
28027 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
28028 : 0 : _q41 = do_valueize (valueize, _q41);
28029 : 0 : switch (TREE_CODE (_p1))
28030 : : {
28031 : 0 : case SSA_NAME:
28032 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
28033 : : {
28034 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
28035 : 0 : switch (gimple_assign_rhs_code (_a4))
28036 : : {
28037 : 0 : case BIT_AND_EXPR:
28038 : 0 : {
28039 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
28040 : 0 : _q100 = do_valueize (valueize, _q100);
28041 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
28042 : 0 : _q101 = do_valueize (valueize, _q101);
28043 : 0 : if (tree_swap_operands_p (_q100, _q101))
28044 : 0 : std::swap (_q100, _q101);
28045 : 0 : switch (TREE_CODE (_q100))
28046 : : {
28047 : 0 : case SSA_NAME:
28048 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
28049 : : {
28050 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
28051 : 0 : switch (gimple_assign_rhs_code (_a5))
28052 : : {
28053 : 0 : case VEC_COND_EXPR:
28054 : 0 : {
28055 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
28056 : 0 : _q110 = do_valueize (valueize, _q110);
28057 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
28058 : 0 : _q111 = do_valueize (valueize, _q111);
28059 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
28060 : 0 : _q112 = do_valueize (valueize, _q112);
28061 : 0 : switch (TREE_CODE (_q110))
28062 : : {
28063 : 0 : case SSA_NAME:
28064 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
28065 : : {
28066 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
28067 : 0 : switch (gimple_assign_rhs_code (_a6))
28068 : : {
28069 : 0 : case LE_EXPR:
28070 : 0 : {
28071 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
28072 : 0 : _q120 = do_valueize (valueize, _q120);
28073 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
28074 : 0 : _q121 = do_valueize (valueize, _q121);
28075 : 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
28076 : : {
28077 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
28078 : : {
28079 : 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
28080 : : {
28081 : 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
28082 : : {
28083 : 0 : {
28084 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
28085 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
28086 : 0 : return true;
28087 : : }
28088 : : }
28089 : : }
28090 : : }
28091 : : }
28092 : : break;
28093 : : }
28094 : : default:;
28095 : : }
28096 : : }
28097 : : break;
28098 : : default:;
28099 : : }
28100 : : break;
28101 : : }
28102 : : default:;
28103 : : }
28104 : : }
28105 : : break;
28106 : 0 : default:;
28107 : : }
28108 : 0 : switch (TREE_CODE (_q101))
28109 : : {
28110 : 0 : case SSA_NAME:
28111 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
28112 : : {
28113 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
28114 : 0 : switch (gimple_assign_rhs_code (_a5))
28115 : : {
28116 : 0 : case VEC_COND_EXPR:
28117 : 0 : {
28118 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
28119 : 0 : _q120 = do_valueize (valueize, _q120);
28120 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
28121 : 0 : _q121 = do_valueize (valueize, _q121);
28122 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
28123 : 0 : _q122 = do_valueize (valueize, _q122);
28124 : 0 : switch (TREE_CODE (_q120))
28125 : : {
28126 : 0 : case SSA_NAME:
28127 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
28128 : : {
28129 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
28130 : 0 : switch (gimple_assign_rhs_code (_a6))
28131 : : {
28132 : 0 : case LE_EXPR:
28133 : 0 : {
28134 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
28135 : 0 : _q130 = do_valueize (valueize, _q130);
28136 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
28137 : 0 : _q131 = do_valueize (valueize, _q131);
28138 : 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
28139 : : {
28140 : 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
28141 : : {
28142 : 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
28143 : : {
28144 : 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
28145 : : {
28146 : 0 : {
28147 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
28148 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
28149 : 0 : return true;
28150 : : }
28151 : : }
28152 : : }
28153 : : }
28154 : : }
28155 : : break;
28156 : : }
28157 : : default:;
28158 : : }
28159 : : }
28160 : : break;
28161 : : default:;
28162 : : }
28163 : : break;
28164 : : }
28165 : : default:;
28166 : : }
28167 : : }
28168 : : break;
28169 : : default:;
28170 : : }
28171 : 318296 : break;
28172 : : }
28173 : : default:;
28174 : : }
28175 : : }
28176 : : break;
28177 : : default:;
28178 : : }
28179 : : break;
28180 : : }
28181 : 0 : case UNORDERED_EXPR:
28182 : 0 : {
28183 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
28184 : 0 : _q40 = do_valueize (valueize, _q40);
28185 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
28186 : 0 : _q41 = do_valueize (valueize, _q41);
28187 : 0 : if (tree_swap_operands_p (_q40, _q41))
28188 : 0 : std::swap (_q40, _q41);
28189 : 0 : switch (TREE_CODE (_p1))
28190 : : {
28191 : 0 : case SSA_NAME:
28192 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
28193 : : {
28194 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
28195 : 0 : switch (gimple_assign_rhs_code (_a4))
28196 : : {
28197 : 0 : case BIT_AND_EXPR:
28198 : 0 : {
28199 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
28200 : 0 : _q100 = do_valueize (valueize, _q100);
28201 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
28202 : 0 : _q101 = do_valueize (valueize, _q101);
28203 : 0 : if (tree_swap_operands_p (_q100, _q101))
28204 : 0 : std::swap (_q100, _q101);
28205 : 0 : switch (TREE_CODE (_q100))
28206 : : {
28207 : 0 : case SSA_NAME:
28208 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
28209 : : {
28210 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
28211 : 0 : switch (gimple_assign_rhs_code (_a5))
28212 : : {
28213 : 0 : case VEC_COND_EXPR:
28214 : 0 : {
28215 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
28216 : 0 : _q110 = do_valueize (valueize, _q110);
28217 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
28218 : 0 : _q111 = do_valueize (valueize, _q111);
28219 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
28220 : 0 : _q112 = do_valueize (valueize, _q112);
28221 : 0 : switch (TREE_CODE (_q110))
28222 : : {
28223 : 0 : case SSA_NAME:
28224 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
28225 : : {
28226 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
28227 : 0 : switch (gimple_assign_rhs_code (_a6))
28228 : : {
28229 : 0 : case ORDERED_EXPR:
28230 : 0 : {
28231 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
28232 : 0 : _q120 = do_valueize (valueize, _q120);
28233 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
28234 : 0 : _q121 = do_valueize (valueize, _q121);
28235 : 0 : if (tree_swap_operands_p (_q120, _q121))
28236 : 0 : std::swap (_q120, _q121);
28237 : 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
28238 : : {
28239 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
28240 : : {
28241 : 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
28242 : : {
28243 : 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
28244 : : {
28245 : 0 : {
28246 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
28247 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
28248 : 0 : return true;
28249 : : }
28250 : : }
28251 : : }
28252 : : }
28253 : : }
28254 : 0 : break;
28255 : : }
28256 : : default:;
28257 : : }
28258 : : }
28259 : : break;
28260 : : default:;
28261 : : }
28262 : : break;
28263 : : }
28264 : : default:;
28265 : : }
28266 : : }
28267 : : break;
28268 : 0 : default:;
28269 : : }
28270 : 0 : switch (TREE_CODE (_q101))
28271 : : {
28272 : 0 : case SSA_NAME:
28273 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
28274 : : {
28275 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
28276 : 0 : switch (gimple_assign_rhs_code (_a5))
28277 : : {
28278 : 0 : case VEC_COND_EXPR:
28279 : 0 : {
28280 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
28281 : 0 : _q120 = do_valueize (valueize, _q120);
28282 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
28283 : 0 : _q121 = do_valueize (valueize, _q121);
28284 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
28285 : 0 : _q122 = do_valueize (valueize, _q122);
28286 : 0 : switch (TREE_CODE (_q120))
28287 : : {
28288 : 0 : case SSA_NAME:
28289 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
28290 : : {
28291 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
28292 : 0 : switch (gimple_assign_rhs_code (_a6))
28293 : : {
28294 : 0 : case ORDERED_EXPR:
28295 : 0 : {
28296 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
28297 : 0 : _q130 = do_valueize (valueize, _q130);
28298 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
28299 : 0 : _q131 = do_valueize (valueize, _q131);
28300 : 0 : if (tree_swap_operands_p (_q130, _q131))
28301 : 0 : std::swap (_q130, _q131);
28302 : 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
28303 : : {
28304 : 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
28305 : : {
28306 : 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
28307 : : {
28308 : 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
28309 : : {
28310 : 0 : {
28311 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
28312 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
28313 : 0 : return true;
28314 : : }
28315 : : }
28316 : : }
28317 : : }
28318 : : }
28319 : 318296 : break;
28320 : : }
28321 : : default:;
28322 : : }
28323 : : }
28324 : : break;
28325 : : default:;
28326 : : }
28327 : : break;
28328 : : }
28329 : : default:;
28330 : : }
28331 : : }
28332 : : break;
28333 : : default:;
28334 : : }
28335 : 318296 : break;
28336 : : }
28337 : : default:;
28338 : : }
28339 : : }
28340 : : break;
28341 : : default:;
28342 : : }
28343 : 318296 : break;
28344 : : }
28345 : 0 : case ORDERED_EXPR:
28346 : 0 : {
28347 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
28348 : 0 : _q40 = do_valueize (valueize, _q40);
28349 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
28350 : 0 : _q41 = do_valueize (valueize, _q41);
28351 : 0 : if (tree_swap_operands_p (_q40, _q41))
28352 : 0 : std::swap (_q40, _q41);
28353 : 0 : switch (TREE_CODE (_p1))
28354 : : {
28355 : 0 : case SSA_NAME:
28356 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
28357 : : {
28358 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
28359 : 0 : switch (gimple_assign_rhs_code (_a4))
28360 : : {
28361 : 0 : case BIT_AND_EXPR:
28362 : 0 : {
28363 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
28364 : 0 : _q100 = do_valueize (valueize, _q100);
28365 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
28366 : 0 : _q101 = do_valueize (valueize, _q101);
28367 : 0 : if (tree_swap_operands_p (_q100, _q101))
28368 : 0 : std::swap (_q100, _q101);
28369 : 0 : switch (TREE_CODE (_q100))
28370 : : {
28371 : 0 : case SSA_NAME:
28372 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
28373 : : {
28374 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
28375 : 0 : switch (gimple_assign_rhs_code (_a5))
28376 : : {
28377 : 0 : case VEC_COND_EXPR:
28378 : 0 : {
28379 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
28380 : 0 : _q110 = do_valueize (valueize, _q110);
28381 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
28382 : 0 : _q111 = do_valueize (valueize, _q111);
28383 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
28384 : 0 : _q112 = do_valueize (valueize, _q112);
28385 : 0 : switch (TREE_CODE (_q110))
28386 : : {
28387 : 0 : case SSA_NAME:
28388 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
28389 : : {
28390 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
28391 : 0 : switch (gimple_assign_rhs_code (_a6))
28392 : : {
28393 : 0 : case UNORDERED_EXPR:
28394 : 0 : {
28395 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
28396 : 0 : _q120 = do_valueize (valueize, _q120);
28397 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
28398 : 0 : _q121 = do_valueize (valueize, _q121);
28399 : 0 : if (tree_swap_operands_p (_q120, _q121))
28400 : 0 : std::swap (_q120, _q121);
28401 : 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
28402 : : {
28403 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
28404 : : {
28405 : 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
28406 : : {
28407 : 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
28408 : : {
28409 : 0 : {
28410 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
28411 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
28412 : 0 : return true;
28413 : : }
28414 : : }
28415 : : }
28416 : : }
28417 : : }
28418 : 0 : break;
28419 : : }
28420 : : default:;
28421 : : }
28422 : : }
28423 : : break;
28424 : : default:;
28425 : : }
28426 : : break;
28427 : : }
28428 : : default:;
28429 : : }
28430 : : }
28431 : : break;
28432 : 0 : default:;
28433 : : }
28434 : 0 : switch (TREE_CODE (_q101))
28435 : : {
28436 : 0 : case SSA_NAME:
28437 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
28438 : : {
28439 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
28440 : 0 : switch (gimple_assign_rhs_code (_a5))
28441 : : {
28442 : 0 : case VEC_COND_EXPR:
28443 : 0 : {
28444 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
28445 : 0 : _q120 = do_valueize (valueize, _q120);
28446 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
28447 : 0 : _q121 = do_valueize (valueize, _q121);
28448 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
28449 : 0 : _q122 = do_valueize (valueize, _q122);
28450 : 0 : switch (TREE_CODE (_q120))
28451 : : {
28452 : 0 : case SSA_NAME:
28453 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
28454 : : {
28455 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
28456 : 0 : switch (gimple_assign_rhs_code (_a6))
28457 : : {
28458 : 0 : case UNORDERED_EXPR:
28459 : 0 : {
28460 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
28461 : 0 : _q130 = do_valueize (valueize, _q130);
28462 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
28463 : 0 : _q131 = do_valueize (valueize, _q131);
28464 : 0 : if (tree_swap_operands_p (_q130, _q131))
28465 : 0 : std::swap (_q130, _q131);
28466 : 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
28467 : : {
28468 : 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
28469 : : {
28470 : 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
28471 : : {
28472 : 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
28473 : : {
28474 : 0 : {
28475 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
28476 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
28477 : 0 : return true;
28478 : : }
28479 : : }
28480 : : }
28481 : : }
28482 : : }
28483 : 318296 : break;
28484 : : }
28485 : : default:;
28486 : : }
28487 : : }
28488 : : break;
28489 : : default:;
28490 : : }
28491 : : break;
28492 : : }
28493 : : default:;
28494 : : }
28495 : : }
28496 : : break;
28497 : : default:;
28498 : : }
28499 : 318296 : break;
28500 : : }
28501 : : default:;
28502 : : }
28503 : : }
28504 : : break;
28505 : : default:;
28506 : : }
28507 : 318296 : break;
28508 : : }
28509 : 0 : case UNLT_EXPR:
28510 : 0 : {
28511 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
28512 : 0 : _q40 = do_valueize (valueize, _q40);
28513 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
28514 : 0 : _q41 = do_valueize (valueize, _q41);
28515 : 0 : switch (TREE_CODE (_p1))
28516 : : {
28517 : 0 : case SSA_NAME:
28518 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
28519 : : {
28520 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
28521 : 0 : switch (gimple_assign_rhs_code (_a4))
28522 : : {
28523 : 0 : case BIT_AND_EXPR:
28524 : 0 : {
28525 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
28526 : 0 : _q100 = do_valueize (valueize, _q100);
28527 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
28528 : 0 : _q101 = do_valueize (valueize, _q101);
28529 : 0 : if (tree_swap_operands_p (_q100, _q101))
28530 : 0 : std::swap (_q100, _q101);
28531 : 0 : switch (TREE_CODE (_q100))
28532 : : {
28533 : 0 : case SSA_NAME:
28534 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
28535 : : {
28536 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
28537 : 0 : switch (gimple_assign_rhs_code (_a5))
28538 : : {
28539 : 0 : case VEC_COND_EXPR:
28540 : 0 : {
28541 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
28542 : 0 : _q110 = do_valueize (valueize, _q110);
28543 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
28544 : 0 : _q111 = do_valueize (valueize, _q111);
28545 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
28546 : 0 : _q112 = do_valueize (valueize, _q112);
28547 : 0 : switch (TREE_CODE (_q110))
28548 : : {
28549 : 0 : case SSA_NAME:
28550 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
28551 : : {
28552 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
28553 : 0 : switch (gimple_assign_rhs_code (_a6))
28554 : : {
28555 : 0 : case GE_EXPR:
28556 : 0 : {
28557 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
28558 : 0 : _q120 = do_valueize (valueize, _q120);
28559 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
28560 : 0 : _q121 = do_valueize (valueize, _q121);
28561 : 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
28562 : : {
28563 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
28564 : : {
28565 : 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
28566 : : {
28567 : 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
28568 : : {
28569 : 0 : {
28570 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
28571 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR))
28572 : 0 : return true;
28573 : : }
28574 : : }
28575 : : }
28576 : : }
28577 : : }
28578 : : break;
28579 : : }
28580 : : default:;
28581 : : }
28582 : : }
28583 : : break;
28584 : : default:;
28585 : : }
28586 : : break;
28587 : : }
28588 : : default:;
28589 : : }
28590 : : }
28591 : : break;
28592 : 0 : default:;
28593 : : }
28594 : 0 : switch (TREE_CODE (_q101))
28595 : : {
28596 : 0 : case SSA_NAME:
28597 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
28598 : : {
28599 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
28600 : 0 : switch (gimple_assign_rhs_code (_a5))
28601 : : {
28602 : 0 : case VEC_COND_EXPR:
28603 : 0 : {
28604 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
28605 : 0 : _q120 = do_valueize (valueize, _q120);
28606 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
28607 : 0 : _q121 = do_valueize (valueize, _q121);
28608 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
28609 : 0 : _q122 = do_valueize (valueize, _q122);
28610 : 0 : switch (TREE_CODE (_q120))
28611 : : {
28612 : 0 : case SSA_NAME:
28613 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
28614 : : {
28615 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
28616 : 0 : switch (gimple_assign_rhs_code (_a6))
28617 : : {
28618 : 0 : case GE_EXPR:
28619 : 0 : {
28620 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
28621 : 0 : _q130 = do_valueize (valueize, _q130);
28622 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
28623 : 0 : _q131 = do_valueize (valueize, _q131);
28624 : 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
28625 : : {
28626 : 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
28627 : : {
28628 : 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
28629 : : {
28630 : 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
28631 : : {
28632 : 0 : {
28633 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
28634 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR))
28635 : 0 : return true;
28636 : : }
28637 : : }
28638 : : }
28639 : : }
28640 : : }
28641 : : break;
28642 : : }
28643 : : default:;
28644 : : }
28645 : : }
28646 : : break;
28647 : : default:;
28648 : : }
28649 : : break;
28650 : : }
28651 : : default:;
28652 : : }
28653 : : }
28654 : : break;
28655 : : default:;
28656 : : }
28657 : 318296 : break;
28658 : : }
28659 : : default:;
28660 : : }
28661 : : }
28662 : : break;
28663 : : default:;
28664 : : }
28665 : : break;
28666 : : }
28667 : 0 : case UNLE_EXPR:
28668 : 0 : {
28669 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
28670 : 0 : _q40 = do_valueize (valueize, _q40);
28671 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
28672 : 0 : _q41 = do_valueize (valueize, _q41);
28673 : 0 : switch (TREE_CODE (_p1))
28674 : : {
28675 : 0 : case SSA_NAME:
28676 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
28677 : : {
28678 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
28679 : 0 : switch (gimple_assign_rhs_code (_a4))
28680 : : {
28681 : 0 : case BIT_AND_EXPR:
28682 : 0 : {
28683 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
28684 : 0 : _q100 = do_valueize (valueize, _q100);
28685 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
28686 : 0 : _q101 = do_valueize (valueize, _q101);
28687 : 0 : if (tree_swap_operands_p (_q100, _q101))
28688 : 0 : std::swap (_q100, _q101);
28689 : 0 : switch (TREE_CODE (_q100))
28690 : : {
28691 : 0 : case SSA_NAME:
28692 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
28693 : : {
28694 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
28695 : 0 : switch (gimple_assign_rhs_code (_a5))
28696 : : {
28697 : 0 : case VEC_COND_EXPR:
28698 : 0 : {
28699 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
28700 : 0 : _q110 = do_valueize (valueize, _q110);
28701 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
28702 : 0 : _q111 = do_valueize (valueize, _q111);
28703 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
28704 : 0 : _q112 = do_valueize (valueize, _q112);
28705 : 0 : switch (TREE_CODE (_q110))
28706 : : {
28707 : 0 : case SSA_NAME:
28708 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
28709 : : {
28710 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
28711 : 0 : switch (gimple_assign_rhs_code (_a6))
28712 : : {
28713 : 0 : case GT_EXPR:
28714 : 0 : {
28715 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
28716 : 0 : _q120 = do_valueize (valueize, _q120);
28717 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
28718 : 0 : _q121 = do_valueize (valueize, _q121);
28719 : 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
28720 : : {
28721 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
28722 : : {
28723 : 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
28724 : : {
28725 : 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
28726 : : {
28727 : 0 : {
28728 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
28729 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
28730 : 0 : return true;
28731 : : }
28732 : : }
28733 : : }
28734 : : }
28735 : : }
28736 : : break;
28737 : : }
28738 : : default:;
28739 : : }
28740 : : }
28741 : : break;
28742 : : default:;
28743 : : }
28744 : : break;
28745 : : }
28746 : : default:;
28747 : : }
28748 : : }
28749 : : break;
28750 : 0 : default:;
28751 : : }
28752 : 0 : switch (TREE_CODE (_q101))
28753 : : {
28754 : 0 : case SSA_NAME:
28755 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
28756 : : {
28757 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
28758 : 0 : switch (gimple_assign_rhs_code (_a5))
28759 : : {
28760 : 0 : case VEC_COND_EXPR:
28761 : 0 : {
28762 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
28763 : 0 : _q120 = do_valueize (valueize, _q120);
28764 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
28765 : 0 : _q121 = do_valueize (valueize, _q121);
28766 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
28767 : 0 : _q122 = do_valueize (valueize, _q122);
28768 : 0 : switch (TREE_CODE (_q120))
28769 : : {
28770 : 0 : case SSA_NAME:
28771 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
28772 : : {
28773 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
28774 : 0 : switch (gimple_assign_rhs_code (_a6))
28775 : : {
28776 : 0 : case GT_EXPR:
28777 : 0 : {
28778 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
28779 : 0 : _q130 = do_valueize (valueize, _q130);
28780 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
28781 : 0 : _q131 = do_valueize (valueize, _q131);
28782 : 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
28783 : : {
28784 : 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
28785 : : {
28786 : 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
28787 : : {
28788 : 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
28789 : : {
28790 : 0 : {
28791 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
28792 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
28793 : 0 : return true;
28794 : : }
28795 : : }
28796 : : }
28797 : : }
28798 : : }
28799 : : break;
28800 : : }
28801 : : default:;
28802 : : }
28803 : : }
28804 : : break;
28805 : : default:;
28806 : : }
28807 : : break;
28808 : : }
28809 : : default:;
28810 : : }
28811 : : }
28812 : : break;
28813 : : default:;
28814 : : }
28815 : 318296 : break;
28816 : : }
28817 : : default:;
28818 : : }
28819 : : }
28820 : : break;
28821 : : default:;
28822 : : }
28823 : : break;
28824 : : }
28825 : 0 : case UNGT_EXPR:
28826 : 0 : {
28827 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
28828 : 0 : _q40 = do_valueize (valueize, _q40);
28829 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
28830 : 0 : _q41 = do_valueize (valueize, _q41);
28831 : 0 : switch (TREE_CODE (_p1))
28832 : : {
28833 : 0 : case SSA_NAME:
28834 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
28835 : : {
28836 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
28837 : 0 : switch (gimple_assign_rhs_code (_a4))
28838 : : {
28839 : 0 : case BIT_AND_EXPR:
28840 : 0 : {
28841 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
28842 : 0 : _q100 = do_valueize (valueize, _q100);
28843 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
28844 : 0 : _q101 = do_valueize (valueize, _q101);
28845 : 0 : if (tree_swap_operands_p (_q100, _q101))
28846 : 0 : std::swap (_q100, _q101);
28847 : 0 : switch (TREE_CODE (_q100))
28848 : : {
28849 : 0 : case SSA_NAME:
28850 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
28851 : : {
28852 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
28853 : 0 : switch (gimple_assign_rhs_code (_a5))
28854 : : {
28855 : 0 : case VEC_COND_EXPR:
28856 : 0 : {
28857 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
28858 : 0 : _q110 = do_valueize (valueize, _q110);
28859 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
28860 : 0 : _q111 = do_valueize (valueize, _q111);
28861 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
28862 : 0 : _q112 = do_valueize (valueize, _q112);
28863 : 0 : switch (TREE_CODE (_q110))
28864 : : {
28865 : 0 : case SSA_NAME:
28866 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
28867 : : {
28868 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
28869 : 0 : switch (gimple_assign_rhs_code (_a6))
28870 : : {
28871 : 0 : case LE_EXPR:
28872 : 0 : {
28873 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
28874 : 0 : _q120 = do_valueize (valueize, _q120);
28875 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
28876 : 0 : _q121 = do_valueize (valueize, _q121);
28877 : 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
28878 : : {
28879 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
28880 : : {
28881 : 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
28882 : : {
28883 : 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
28884 : : {
28885 : 0 : {
28886 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
28887 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
28888 : 0 : return true;
28889 : : }
28890 : : }
28891 : : }
28892 : : }
28893 : : }
28894 : : break;
28895 : : }
28896 : : default:;
28897 : : }
28898 : : }
28899 : : break;
28900 : : default:;
28901 : : }
28902 : : break;
28903 : : }
28904 : : default:;
28905 : : }
28906 : : }
28907 : : break;
28908 : 0 : default:;
28909 : : }
28910 : 0 : switch (TREE_CODE (_q101))
28911 : : {
28912 : 0 : case SSA_NAME:
28913 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
28914 : : {
28915 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
28916 : 0 : switch (gimple_assign_rhs_code (_a5))
28917 : : {
28918 : 0 : case VEC_COND_EXPR:
28919 : 0 : {
28920 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
28921 : 0 : _q120 = do_valueize (valueize, _q120);
28922 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
28923 : 0 : _q121 = do_valueize (valueize, _q121);
28924 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
28925 : 0 : _q122 = do_valueize (valueize, _q122);
28926 : 0 : switch (TREE_CODE (_q120))
28927 : : {
28928 : 0 : case SSA_NAME:
28929 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
28930 : : {
28931 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
28932 : 0 : switch (gimple_assign_rhs_code (_a6))
28933 : : {
28934 : 0 : case LE_EXPR:
28935 : 0 : {
28936 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
28937 : 0 : _q130 = do_valueize (valueize, _q130);
28938 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
28939 : 0 : _q131 = do_valueize (valueize, _q131);
28940 : 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
28941 : : {
28942 : 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
28943 : : {
28944 : 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
28945 : : {
28946 : 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
28947 : : {
28948 : 0 : {
28949 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
28950 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
28951 : 0 : return true;
28952 : : }
28953 : : }
28954 : : }
28955 : : }
28956 : : }
28957 : : break;
28958 : : }
28959 : : default:;
28960 : : }
28961 : : }
28962 : : break;
28963 : : default:;
28964 : : }
28965 : : break;
28966 : : }
28967 : : default:;
28968 : : }
28969 : : }
28970 : : break;
28971 : : default:;
28972 : : }
28973 : 318296 : break;
28974 : : }
28975 : : default:;
28976 : : }
28977 : : }
28978 : : break;
28979 : : default:;
28980 : : }
28981 : : break;
28982 : : }
28983 : 0 : case UNGE_EXPR:
28984 : 0 : {
28985 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
28986 : 0 : _q40 = do_valueize (valueize, _q40);
28987 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
28988 : 0 : _q41 = do_valueize (valueize, _q41);
28989 : 0 : switch (TREE_CODE (_p1))
28990 : : {
28991 : 0 : case SSA_NAME:
28992 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
28993 : : {
28994 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
28995 : 0 : switch (gimple_assign_rhs_code (_a4))
28996 : : {
28997 : 0 : case BIT_AND_EXPR:
28998 : 0 : {
28999 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
29000 : 0 : _q100 = do_valueize (valueize, _q100);
29001 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
29002 : 0 : _q101 = do_valueize (valueize, _q101);
29003 : 0 : if (tree_swap_operands_p (_q100, _q101))
29004 : 0 : std::swap (_q100, _q101);
29005 : 0 : switch (TREE_CODE (_q100))
29006 : : {
29007 : 0 : case SSA_NAME:
29008 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
29009 : : {
29010 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
29011 : 0 : switch (gimple_assign_rhs_code (_a5))
29012 : : {
29013 : 0 : case VEC_COND_EXPR:
29014 : 0 : {
29015 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
29016 : 0 : _q110 = do_valueize (valueize, _q110);
29017 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
29018 : 0 : _q111 = do_valueize (valueize, _q111);
29019 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
29020 : 0 : _q112 = do_valueize (valueize, _q112);
29021 : 0 : switch (TREE_CODE (_q110))
29022 : : {
29023 : 0 : case SSA_NAME:
29024 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
29025 : : {
29026 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
29027 : 0 : switch (gimple_assign_rhs_code (_a6))
29028 : : {
29029 : 0 : case LT_EXPR:
29030 : 0 : {
29031 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
29032 : 0 : _q120 = do_valueize (valueize, _q120);
29033 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
29034 : 0 : _q121 = do_valueize (valueize, _q121);
29035 : 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
29036 : : {
29037 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
29038 : : {
29039 : 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
29040 : : {
29041 : 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
29042 : : {
29043 : 0 : {
29044 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
29045 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
29046 : 0 : return true;
29047 : : }
29048 : : }
29049 : : }
29050 : : }
29051 : : }
29052 : : break;
29053 : : }
29054 : : default:;
29055 : : }
29056 : : }
29057 : : break;
29058 : : default:;
29059 : : }
29060 : : break;
29061 : : }
29062 : : default:;
29063 : : }
29064 : : }
29065 : : break;
29066 : 0 : default:;
29067 : : }
29068 : 0 : switch (TREE_CODE (_q101))
29069 : : {
29070 : 0 : case SSA_NAME:
29071 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
29072 : : {
29073 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
29074 : 0 : switch (gimple_assign_rhs_code (_a5))
29075 : : {
29076 : 0 : case VEC_COND_EXPR:
29077 : 0 : {
29078 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
29079 : 0 : _q120 = do_valueize (valueize, _q120);
29080 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
29081 : 0 : _q121 = do_valueize (valueize, _q121);
29082 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
29083 : 0 : _q122 = do_valueize (valueize, _q122);
29084 : 0 : switch (TREE_CODE (_q120))
29085 : : {
29086 : 0 : case SSA_NAME:
29087 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
29088 : : {
29089 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
29090 : 0 : switch (gimple_assign_rhs_code (_a6))
29091 : : {
29092 : 0 : case LT_EXPR:
29093 : 0 : {
29094 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
29095 : 0 : _q130 = do_valueize (valueize, _q130);
29096 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
29097 : 0 : _q131 = do_valueize (valueize, _q131);
29098 : 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
29099 : : {
29100 : 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
29101 : : {
29102 : 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
29103 : : {
29104 : 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
29105 : : {
29106 : 0 : {
29107 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
29108 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
29109 : 0 : return true;
29110 : : }
29111 : : }
29112 : : }
29113 : : }
29114 : : }
29115 : : break;
29116 : : }
29117 : : default:;
29118 : : }
29119 : : }
29120 : : break;
29121 : : default:;
29122 : : }
29123 : : break;
29124 : : }
29125 : : default:;
29126 : : }
29127 : : }
29128 : : break;
29129 : : default:;
29130 : : }
29131 : 318296 : break;
29132 : : }
29133 : : default:;
29134 : : }
29135 : : }
29136 : : break;
29137 : : default:;
29138 : : }
29139 : : break;
29140 : : }
29141 : 0 : case UNEQ_EXPR:
29142 : 0 : {
29143 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
29144 : 0 : _q40 = do_valueize (valueize, _q40);
29145 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
29146 : 0 : _q41 = do_valueize (valueize, _q41);
29147 : 0 : if (tree_swap_operands_p (_q40, _q41))
29148 : 0 : std::swap (_q40, _q41);
29149 : 0 : switch (TREE_CODE (_p1))
29150 : : {
29151 : 0 : case SSA_NAME:
29152 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
29153 : : {
29154 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
29155 : 0 : switch (gimple_assign_rhs_code (_a4))
29156 : : {
29157 : 0 : case BIT_AND_EXPR:
29158 : 0 : {
29159 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
29160 : 0 : _q100 = do_valueize (valueize, _q100);
29161 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
29162 : 0 : _q101 = do_valueize (valueize, _q101);
29163 : 0 : if (tree_swap_operands_p (_q100, _q101))
29164 : 0 : std::swap (_q100, _q101);
29165 : 0 : switch (TREE_CODE (_q100))
29166 : : {
29167 : 0 : case SSA_NAME:
29168 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
29169 : : {
29170 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
29171 : 0 : switch (gimple_assign_rhs_code (_a5))
29172 : : {
29173 : 0 : case VEC_COND_EXPR:
29174 : 0 : {
29175 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
29176 : 0 : _q110 = do_valueize (valueize, _q110);
29177 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
29178 : 0 : _q111 = do_valueize (valueize, _q111);
29179 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
29180 : 0 : _q112 = do_valueize (valueize, _q112);
29181 : 0 : switch (TREE_CODE (_q110))
29182 : : {
29183 : 0 : case SSA_NAME:
29184 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
29185 : : {
29186 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
29187 : 0 : switch (gimple_assign_rhs_code (_a6))
29188 : : {
29189 : 0 : case LTGT_EXPR:
29190 : 0 : {
29191 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
29192 : 0 : _q120 = do_valueize (valueize, _q120);
29193 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
29194 : 0 : _q121 = do_valueize (valueize, _q121);
29195 : 0 : if (tree_swap_operands_p (_q120, _q121))
29196 : 0 : std::swap (_q120, _q121);
29197 : 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
29198 : : {
29199 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
29200 : : {
29201 : 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
29202 : : {
29203 : 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
29204 : : {
29205 : 0 : {
29206 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
29207 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
29208 : 0 : return true;
29209 : : }
29210 : : }
29211 : : }
29212 : : }
29213 : : }
29214 : 0 : break;
29215 : : }
29216 : : default:;
29217 : : }
29218 : : }
29219 : : break;
29220 : : default:;
29221 : : }
29222 : : break;
29223 : : }
29224 : : default:;
29225 : : }
29226 : : }
29227 : : break;
29228 : 0 : default:;
29229 : : }
29230 : 0 : switch (TREE_CODE (_q101))
29231 : : {
29232 : 0 : case SSA_NAME:
29233 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
29234 : : {
29235 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
29236 : 0 : switch (gimple_assign_rhs_code (_a5))
29237 : : {
29238 : 0 : case VEC_COND_EXPR:
29239 : 0 : {
29240 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
29241 : 0 : _q120 = do_valueize (valueize, _q120);
29242 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
29243 : 0 : _q121 = do_valueize (valueize, _q121);
29244 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
29245 : 0 : _q122 = do_valueize (valueize, _q122);
29246 : 0 : switch (TREE_CODE (_q120))
29247 : : {
29248 : 0 : case SSA_NAME:
29249 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
29250 : : {
29251 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
29252 : 0 : switch (gimple_assign_rhs_code (_a6))
29253 : : {
29254 : 0 : case LTGT_EXPR:
29255 : 0 : {
29256 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
29257 : 0 : _q130 = do_valueize (valueize, _q130);
29258 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
29259 : 0 : _q131 = do_valueize (valueize, _q131);
29260 : 0 : if (tree_swap_operands_p (_q130, _q131))
29261 : 0 : std::swap (_q130, _q131);
29262 : 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
29263 : : {
29264 : 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
29265 : : {
29266 : 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
29267 : : {
29268 : 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
29269 : : {
29270 : 0 : {
29271 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
29272 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
29273 : 0 : return true;
29274 : : }
29275 : : }
29276 : : }
29277 : : }
29278 : : }
29279 : 318296 : break;
29280 : : }
29281 : : default:;
29282 : : }
29283 : : }
29284 : : break;
29285 : : default:;
29286 : : }
29287 : : break;
29288 : : }
29289 : : default:;
29290 : : }
29291 : : }
29292 : : break;
29293 : : default:;
29294 : : }
29295 : 318296 : break;
29296 : : }
29297 : : default:;
29298 : : }
29299 : : }
29300 : : break;
29301 : : default:;
29302 : : }
29303 : 318296 : break;
29304 : : }
29305 : 0 : case LTGT_EXPR:
29306 : 0 : {
29307 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
29308 : 0 : _q40 = do_valueize (valueize, _q40);
29309 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
29310 : 0 : _q41 = do_valueize (valueize, _q41);
29311 : 0 : if (tree_swap_operands_p (_q40, _q41))
29312 : 0 : std::swap (_q40, _q41);
29313 : 0 : switch (TREE_CODE (_p1))
29314 : : {
29315 : 0 : case SSA_NAME:
29316 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
29317 : : {
29318 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
29319 : 0 : switch (gimple_assign_rhs_code (_a4))
29320 : : {
29321 : 0 : case BIT_AND_EXPR:
29322 : 0 : {
29323 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
29324 : 0 : _q100 = do_valueize (valueize, _q100);
29325 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
29326 : 0 : _q101 = do_valueize (valueize, _q101);
29327 : 0 : if (tree_swap_operands_p (_q100, _q101))
29328 : 0 : std::swap (_q100, _q101);
29329 : 0 : switch (TREE_CODE (_q100))
29330 : : {
29331 : 0 : case SSA_NAME:
29332 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
29333 : : {
29334 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
29335 : 0 : switch (gimple_assign_rhs_code (_a5))
29336 : : {
29337 : 0 : case VEC_COND_EXPR:
29338 : 0 : {
29339 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
29340 : 0 : _q110 = do_valueize (valueize, _q110);
29341 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
29342 : 0 : _q111 = do_valueize (valueize, _q111);
29343 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
29344 : 0 : _q112 = do_valueize (valueize, _q112);
29345 : 0 : switch (TREE_CODE (_q110))
29346 : : {
29347 : 0 : case SSA_NAME:
29348 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
29349 : : {
29350 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
29351 : 0 : switch (gimple_assign_rhs_code (_a6))
29352 : : {
29353 : 0 : case UNEQ_EXPR:
29354 : 0 : {
29355 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
29356 : 0 : _q120 = do_valueize (valueize, _q120);
29357 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
29358 : 0 : _q121 = do_valueize (valueize, _q121);
29359 : 0 : if (tree_swap_operands_p (_q120, _q121))
29360 : 0 : std::swap (_q120, _q121);
29361 : 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
29362 : : {
29363 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
29364 : : {
29365 : 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
29366 : : {
29367 : 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
29368 : : {
29369 : 0 : {
29370 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
29371 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
29372 : 0 : return true;
29373 : : }
29374 : : }
29375 : : }
29376 : : }
29377 : : }
29378 : 0 : break;
29379 : : }
29380 : : default:;
29381 : : }
29382 : : }
29383 : : break;
29384 : : default:;
29385 : : }
29386 : : break;
29387 : : }
29388 : : default:;
29389 : : }
29390 : : }
29391 : : break;
29392 : 0 : default:;
29393 : : }
29394 : 0 : switch (TREE_CODE (_q101))
29395 : : {
29396 : 0 : case SSA_NAME:
29397 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
29398 : : {
29399 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
29400 : 0 : switch (gimple_assign_rhs_code (_a5))
29401 : : {
29402 : 0 : case VEC_COND_EXPR:
29403 : 0 : {
29404 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
29405 : 0 : _q120 = do_valueize (valueize, _q120);
29406 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
29407 : 0 : _q121 = do_valueize (valueize, _q121);
29408 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
29409 : 0 : _q122 = do_valueize (valueize, _q122);
29410 : 0 : switch (TREE_CODE (_q120))
29411 : : {
29412 : 0 : case SSA_NAME:
29413 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
29414 : : {
29415 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
29416 : 0 : switch (gimple_assign_rhs_code (_a6))
29417 : : {
29418 : 0 : case UNEQ_EXPR:
29419 : 0 : {
29420 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
29421 : 0 : _q130 = do_valueize (valueize, _q130);
29422 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
29423 : 0 : _q131 = do_valueize (valueize, _q131);
29424 : 0 : if (tree_swap_operands_p (_q130, _q131))
29425 : 0 : std::swap (_q130, _q131);
29426 : 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
29427 : : {
29428 : 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
29429 : : {
29430 : 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
29431 : : {
29432 : 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
29433 : : {
29434 : 0 : {
29435 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
29436 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
29437 : 0 : return true;
29438 : : }
29439 : : }
29440 : : }
29441 : : }
29442 : : }
29443 : 318296 : break;
29444 : : }
29445 : : default:;
29446 : : }
29447 : : }
29448 : : break;
29449 : : default:;
29450 : : }
29451 : : break;
29452 : : }
29453 : : default:;
29454 : : }
29455 : : }
29456 : : break;
29457 : : default:;
29458 : : }
29459 : 318296 : break;
29460 : : }
29461 : : default:;
29462 : : }
29463 : : }
29464 : : break;
29465 : : default:;
29466 : : }
29467 : 318296 : break;
29468 : : }
29469 : : default:;
29470 : : }
29471 : : }
29472 : : break;
29473 : : default:;
29474 : : }
29475 : : break;
29476 : : }
29477 : : default:;
29478 : : }
29479 : : }
29480 : : break;
29481 : 318296 : default:;
29482 : : }
29483 : 318296 : switch (TREE_CODE (_q21))
29484 : : {
29485 : 136006 : case SSA_NAME:
29486 : 136006 : if (gimple *_d2 = get_def (valueize, _q21))
29487 : : {
29488 : 116098 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
29489 : 135273 : switch (gimple_assign_rhs_code (_a2))
29490 : : {
29491 : 1 : case VEC_COND_EXPR:
29492 : 1 : {
29493 : 1 : tree _q40 = gimple_assign_rhs1 (_a2);
29494 : 1 : _q40 = do_valueize (valueize, _q40);
29495 : 1 : tree _q41 = gimple_assign_rhs2 (_a2);
29496 : 1 : _q41 = do_valueize (valueize, _q41);
29497 : 1 : tree _q42 = gimple_assign_rhs3 (_a2);
29498 : 1 : _q42 = do_valueize (valueize, _q42);
29499 : 1 : switch (TREE_CODE (_q40))
29500 : : {
29501 : 1 : case SSA_NAME:
29502 : 1 : if (gimple *_d3 = get_def (valueize, _q40))
29503 : : {
29504 : 1 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
29505 : 1 : switch (gimple_assign_rhs_code (_a3))
29506 : : {
29507 : 0 : case LT_EXPR:
29508 : 0 : {
29509 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
29510 : 0 : _q50 = do_valueize (valueize, _q50);
29511 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
29512 : 0 : _q51 = do_valueize (valueize, _q51);
29513 : 0 : switch (TREE_CODE (_p1))
29514 : : {
29515 : 0 : case SSA_NAME:
29516 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
29517 : : {
29518 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
29519 : 0 : switch (gimple_assign_rhs_code (_a4))
29520 : : {
29521 : 0 : case BIT_AND_EXPR:
29522 : 0 : {
29523 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
29524 : 0 : _q100 = do_valueize (valueize, _q100);
29525 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
29526 : 0 : _q101 = do_valueize (valueize, _q101);
29527 : 0 : if (tree_swap_operands_p (_q100, _q101))
29528 : 0 : std::swap (_q100, _q101);
29529 : 0 : switch (TREE_CODE (_q100))
29530 : : {
29531 : 0 : case SSA_NAME:
29532 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
29533 : : {
29534 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
29535 : 0 : switch (gimple_assign_rhs_code (_a5))
29536 : : {
29537 : 0 : case VEC_COND_EXPR:
29538 : 0 : {
29539 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
29540 : 0 : _q110 = do_valueize (valueize, _q110);
29541 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
29542 : 0 : _q111 = do_valueize (valueize, _q111);
29543 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
29544 : 0 : _q112 = do_valueize (valueize, _q112);
29545 : 0 : switch (TREE_CODE (_q110))
29546 : : {
29547 : 0 : case SSA_NAME:
29548 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
29549 : : {
29550 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
29551 : 0 : switch (gimple_assign_rhs_code (_a6))
29552 : : {
29553 : 0 : case GE_EXPR:
29554 : 0 : {
29555 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
29556 : 0 : _q120 = do_valueize (valueize, _q120);
29557 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
29558 : 0 : _q121 = do_valueize (valueize, _q121);
29559 : 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
29560 : : {
29561 : 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
29562 : : {
29563 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
29564 : : {
29565 : 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
29566 : : {
29567 : 0 : {
29568 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
29569 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
29570 : 0 : return true;
29571 : : }
29572 : : }
29573 : : }
29574 : : }
29575 : : }
29576 : : break;
29577 : : }
29578 : : default:;
29579 : : }
29580 : : }
29581 : : break;
29582 : : default:;
29583 : : }
29584 : : break;
29585 : : }
29586 : : default:;
29587 : : }
29588 : : }
29589 : : break;
29590 : 0 : default:;
29591 : : }
29592 : 0 : switch (TREE_CODE (_q101))
29593 : : {
29594 : 0 : case SSA_NAME:
29595 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
29596 : : {
29597 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
29598 : 0 : switch (gimple_assign_rhs_code (_a5))
29599 : : {
29600 : 0 : case VEC_COND_EXPR:
29601 : 0 : {
29602 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
29603 : 0 : _q120 = do_valueize (valueize, _q120);
29604 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
29605 : 0 : _q121 = do_valueize (valueize, _q121);
29606 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
29607 : 0 : _q122 = do_valueize (valueize, _q122);
29608 : 0 : switch (TREE_CODE (_q120))
29609 : : {
29610 : 0 : case SSA_NAME:
29611 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
29612 : : {
29613 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
29614 : 0 : switch (gimple_assign_rhs_code (_a6))
29615 : : {
29616 : 0 : case GE_EXPR:
29617 : 0 : {
29618 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
29619 : 0 : _q130 = do_valueize (valueize, _q130);
29620 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
29621 : 0 : _q131 = do_valueize (valueize, _q131);
29622 : 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
29623 : : {
29624 : 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
29625 : : {
29626 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
29627 : : {
29628 : 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
29629 : : {
29630 : 0 : {
29631 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
29632 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
29633 : 0 : return true;
29634 : : }
29635 : : }
29636 : : }
29637 : : }
29638 : : }
29639 : : break;
29640 : : }
29641 : : default:;
29642 : : }
29643 : : }
29644 : : break;
29645 : : default:;
29646 : : }
29647 : : break;
29648 : : }
29649 : : default:;
29650 : : }
29651 : : }
29652 : : break;
29653 : : default:;
29654 : : }
29655 : 318276 : break;
29656 : : }
29657 : : default:;
29658 : : }
29659 : : }
29660 : : break;
29661 : : default:;
29662 : : }
29663 : : break;
29664 : : }
29665 : 0 : case LE_EXPR:
29666 : 0 : {
29667 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
29668 : 0 : _q50 = do_valueize (valueize, _q50);
29669 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
29670 : 0 : _q51 = do_valueize (valueize, _q51);
29671 : 0 : switch (TREE_CODE (_p1))
29672 : : {
29673 : 0 : case SSA_NAME:
29674 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
29675 : : {
29676 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
29677 : 0 : switch (gimple_assign_rhs_code (_a4))
29678 : : {
29679 : 0 : case BIT_AND_EXPR:
29680 : 0 : {
29681 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
29682 : 0 : _q100 = do_valueize (valueize, _q100);
29683 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
29684 : 0 : _q101 = do_valueize (valueize, _q101);
29685 : 0 : if (tree_swap_operands_p (_q100, _q101))
29686 : 0 : std::swap (_q100, _q101);
29687 : 0 : switch (TREE_CODE (_q100))
29688 : : {
29689 : 0 : case SSA_NAME:
29690 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
29691 : : {
29692 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
29693 : 0 : switch (gimple_assign_rhs_code (_a5))
29694 : : {
29695 : 0 : case VEC_COND_EXPR:
29696 : 0 : {
29697 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
29698 : 0 : _q110 = do_valueize (valueize, _q110);
29699 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
29700 : 0 : _q111 = do_valueize (valueize, _q111);
29701 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
29702 : 0 : _q112 = do_valueize (valueize, _q112);
29703 : 0 : switch (TREE_CODE (_q110))
29704 : : {
29705 : 0 : case SSA_NAME:
29706 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
29707 : : {
29708 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
29709 : 0 : switch (gimple_assign_rhs_code (_a6))
29710 : : {
29711 : 0 : case GT_EXPR:
29712 : 0 : {
29713 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
29714 : 0 : _q120 = do_valueize (valueize, _q120);
29715 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
29716 : 0 : _q121 = do_valueize (valueize, _q121);
29717 : 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
29718 : : {
29719 : 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
29720 : : {
29721 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
29722 : : {
29723 : 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
29724 : : {
29725 : 0 : {
29726 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
29727 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
29728 : 0 : return true;
29729 : : }
29730 : : }
29731 : : }
29732 : : }
29733 : : }
29734 : : break;
29735 : : }
29736 : : default:;
29737 : : }
29738 : : }
29739 : : break;
29740 : : default:;
29741 : : }
29742 : : break;
29743 : : }
29744 : : default:;
29745 : : }
29746 : : }
29747 : : break;
29748 : 0 : default:;
29749 : : }
29750 : 0 : switch (TREE_CODE (_q101))
29751 : : {
29752 : 0 : case SSA_NAME:
29753 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
29754 : : {
29755 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
29756 : 0 : switch (gimple_assign_rhs_code (_a5))
29757 : : {
29758 : 0 : case VEC_COND_EXPR:
29759 : 0 : {
29760 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
29761 : 0 : _q120 = do_valueize (valueize, _q120);
29762 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
29763 : 0 : _q121 = do_valueize (valueize, _q121);
29764 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
29765 : 0 : _q122 = do_valueize (valueize, _q122);
29766 : 0 : switch (TREE_CODE (_q120))
29767 : : {
29768 : 0 : case SSA_NAME:
29769 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
29770 : : {
29771 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
29772 : 0 : switch (gimple_assign_rhs_code (_a6))
29773 : : {
29774 : 0 : case GT_EXPR:
29775 : 0 : {
29776 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
29777 : 0 : _q130 = do_valueize (valueize, _q130);
29778 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
29779 : 0 : _q131 = do_valueize (valueize, _q131);
29780 : 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
29781 : : {
29782 : 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
29783 : : {
29784 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
29785 : : {
29786 : 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
29787 : : {
29788 : 0 : {
29789 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
29790 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
29791 : 0 : return true;
29792 : : }
29793 : : }
29794 : : }
29795 : : }
29796 : : }
29797 : : break;
29798 : : }
29799 : : default:;
29800 : : }
29801 : : }
29802 : : break;
29803 : : default:;
29804 : : }
29805 : : break;
29806 : : }
29807 : : default:;
29808 : : }
29809 : : }
29810 : : break;
29811 : : default:;
29812 : : }
29813 : 318276 : break;
29814 : : }
29815 : : default:;
29816 : : }
29817 : : }
29818 : : break;
29819 : : default:;
29820 : : }
29821 : : break;
29822 : : }
29823 : 0 : case EQ_EXPR:
29824 : 0 : {
29825 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
29826 : 0 : _q50 = do_valueize (valueize, _q50);
29827 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
29828 : 0 : _q51 = do_valueize (valueize, _q51);
29829 : 0 : if (tree_swap_operands_p (_q50, _q51))
29830 : 0 : std::swap (_q50, _q51);
29831 : 0 : switch (TREE_CODE (_p1))
29832 : : {
29833 : 0 : case SSA_NAME:
29834 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
29835 : : {
29836 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
29837 : 0 : switch (gimple_assign_rhs_code (_a4))
29838 : : {
29839 : 0 : case BIT_AND_EXPR:
29840 : 0 : {
29841 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
29842 : 0 : _q100 = do_valueize (valueize, _q100);
29843 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
29844 : 0 : _q101 = do_valueize (valueize, _q101);
29845 : 0 : if (tree_swap_operands_p (_q100, _q101))
29846 : 0 : std::swap (_q100, _q101);
29847 : 0 : switch (TREE_CODE (_q100))
29848 : : {
29849 : 0 : case SSA_NAME:
29850 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
29851 : : {
29852 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
29853 : 0 : switch (gimple_assign_rhs_code (_a5))
29854 : : {
29855 : 0 : case VEC_COND_EXPR:
29856 : 0 : {
29857 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
29858 : 0 : _q110 = do_valueize (valueize, _q110);
29859 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
29860 : 0 : _q111 = do_valueize (valueize, _q111);
29861 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
29862 : 0 : _q112 = do_valueize (valueize, _q112);
29863 : 0 : switch (TREE_CODE (_q110))
29864 : : {
29865 : 0 : case SSA_NAME:
29866 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
29867 : : {
29868 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
29869 : 0 : switch (gimple_assign_rhs_code (_a6))
29870 : : {
29871 : 0 : case NE_EXPR:
29872 : 0 : {
29873 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
29874 : 0 : _q120 = do_valueize (valueize, _q120);
29875 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
29876 : 0 : _q121 = do_valueize (valueize, _q121);
29877 : 0 : if (tree_swap_operands_p (_q120, _q121))
29878 : 0 : std::swap (_q120, _q121);
29879 : 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
29880 : : {
29881 : 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
29882 : : {
29883 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
29884 : : {
29885 : 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
29886 : : {
29887 : 0 : {
29888 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
29889 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
29890 : 0 : return true;
29891 : : }
29892 : : }
29893 : : }
29894 : : }
29895 : : }
29896 : 0 : break;
29897 : : }
29898 : : default:;
29899 : : }
29900 : : }
29901 : : break;
29902 : : default:;
29903 : : }
29904 : : break;
29905 : : }
29906 : : default:;
29907 : : }
29908 : : }
29909 : : break;
29910 : 0 : default:;
29911 : : }
29912 : 0 : switch (TREE_CODE (_q101))
29913 : : {
29914 : 0 : case SSA_NAME:
29915 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
29916 : : {
29917 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
29918 : 0 : switch (gimple_assign_rhs_code (_a5))
29919 : : {
29920 : 0 : case VEC_COND_EXPR:
29921 : 0 : {
29922 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
29923 : 0 : _q120 = do_valueize (valueize, _q120);
29924 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
29925 : 0 : _q121 = do_valueize (valueize, _q121);
29926 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
29927 : 0 : _q122 = do_valueize (valueize, _q122);
29928 : 0 : switch (TREE_CODE (_q120))
29929 : : {
29930 : 0 : case SSA_NAME:
29931 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
29932 : : {
29933 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
29934 : 0 : switch (gimple_assign_rhs_code (_a6))
29935 : : {
29936 : 0 : case NE_EXPR:
29937 : 0 : {
29938 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
29939 : 0 : _q130 = do_valueize (valueize, _q130);
29940 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
29941 : 0 : _q131 = do_valueize (valueize, _q131);
29942 : 0 : if (tree_swap_operands_p (_q130, _q131))
29943 : 0 : std::swap (_q130, _q131);
29944 : 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
29945 : : {
29946 : 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
29947 : : {
29948 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
29949 : : {
29950 : 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
29951 : : {
29952 : 0 : {
29953 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
29954 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
29955 : 0 : return true;
29956 : : }
29957 : : }
29958 : : }
29959 : : }
29960 : : }
29961 : 318276 : break;
29962 : : }
29963 : : default:;
29964 : : }
29965 : : }
29966 : : break;
29967 : : default:;
29968 : : }
29969 : : break;
29970 : : }
29971 : : default:;
29972 : : }
29973 : : }
29974 : : break;
29975 : : default:;
29976 : : }
29977 : 318276 : break;
29978 : : }
29979 : : default:;
29980 : : }
29981 : : }
29982 : : break;
29983 : : default:;
29984 : : }
29985 : 318276 : break;
29986 : : }
29987 : 0 : case NE_EXPR:
29988 : 0 : {
29989 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
29990 : 0 : _q50 = do_valueize (valueize, _q50);
29991 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
29992 : 0 : _q51 = do_valueize (valueize, _q51);
29993 : 0 : if (tree_swap_operands_p (_q50, _q51))
29994 : 0 : std::swap (_q50, _q51);
29995 : 0 : switch (TREE_CODE (_p1))
29996 : : {
29997 : 0 : case SSA_NAME:
29998 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
29999 : : {
30000 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
30001 : 0 : switch (gimple_assign_rhs_code (_a4))
30002 : : {
30003 : 0 : case BIT_AND_EXPR:
30004 : 0 : {
30005 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
30006 : 0 : _q100 = do_valueize (valueize, _q100);
30007 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
30008 : 0 : _q101 = do_valueize (valueize, _q101);
30009 : 0 : if (tree_swap_operands_p (_q100, _q101))
30010 : 0 : std::swap (_q100, _q101);
30011 : 0 : switch (TREE_CODE (_q100))
30012 : : {
30013 : 0 : case SSA_NAME:
30014 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
30015 : : {
30016 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
30017 : 0 : switch (gimple_assign_rhs_code (_a5))
30018 : : {
30019 : 0 : case VEC_COND_EXPR:
30020 : 0 : {
30021 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
30022 : 0 : _q110 = do_valueize (valueize, _q110);
30023 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
30024 : 0 : _q111 = do_valueize (valueize, _q111);
30025 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
30026 : 0 : _q112 = do_valueize (valueize, _q112);
30027 : 0 : switch (TREE_CODE (_q110))
30028 : : {
30029 : 0 : case SSA_NAME:
30030 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
30031 : : {
30032 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
30033 : 0 : switch (gimple_assign_rhs_code (_a6))
30034 : : {
30035 : 0 : case EQ_EXPR:
30036 : 0 : {
30037 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
30038 : 0 : _q120 = do_valueize (valueize, _q120);
30039 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
30040 : 0 : _q121 = do_valueize (valueize, _q121);
30041 : 0 : if (tree_swap_operands_p (_q120, _q121))
30042 : 0 : std::swap (_q120, _q121);
30043 : 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
30044 : : {
30045 : 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
30046 : : {
30047 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
30048 : : {
30049 : 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
30050 : : {
30051 : 0 : {
30052 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
30053 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
30054 : 0 : return true;
30055 : : }
30056 : : }
30057 : : }
30058 : : }
30059 : : }
30060 : 0 : break;
30061 : : }
30062 : : default:;
30063 : : }
30064 : : }
30065 : : break;
30066 : : default:;
30067 : : }
30068 : : break;
30069 : : }
30070 : : default:;
30071 : : }
30072 : : }
30073 : : break;
30074 : 0 : default:;
30075 : : }
30076 : 0 : switch (TREE_CODE (_q101))
30077 : : {
30078 : 0 : case SSA_NAME:
30079 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
30080 : : {
30081 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
30082 : 0 : switch (gimple_assign_rhs_code (_a5))
30083 : : {
30084 : 0 : case VEC_COND_EXPR:
30085 : 0 : {
30086 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
30087 : 0 : _q120 = do_valueize (valueize, _q120);
30088 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
30089 : 0 : _q121 = do_valueize (valueize, _q121);
30090 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
30091 : 0 : _q122 = do_valueize (valueize, _q122);
30092 : 0 : switch (TREE_CODE (_q120))
30093 : : {
30094 : 0 : case SSA_NAME:
30095 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
30096 : : {
30097 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
30098 : 0 : switch (gimple_assign_rhs_code (_a6))
30099 : : {
30100 : 0 : case EQ_EXPR:
30101 : 0 : {
30102 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
30103 : 0 : _q130 = do_valueize (valueize, _q130);
30104 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
30105 : 0 : _q131 = do_valueize (valueize, _q131);
30106 : 0 : if (tree_swap_operands_p (_q130, _q131))
30107 : 0 : std::swap (_q130, _q131);
30108 : 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
30109 : : {
30110 : 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
30111 : : {
30112 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
30113 : : {
30114 : 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
30115 : : {
30116 : 0 : {
30117 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
30118 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
30119 : 0 : return true;
30120 : : }
30121 : : }
30122 : : }
30123 : : }
30124 : : }
30125 : 318276 : break;
30126 : : }
30127 : : default:;
30128 : : }
30129 : : }
30130 : : break;
30131 : : default:;
30132 : : }
30133 : : break;
30134 : : }
30135 : : default:;
30136 : : }
30137 : : }
30138 : : break;
30139 : : default:;
30140 : : }
30141 : 318276 : break;
30142 : : }
30143 : : default:;
30144 : : }
30145 : : }
30146 : : break;
30147 : : default:;
30148 : : }
30149 : 318276 : break;
30150 : : }
30151 : 0 : case GE_EXPR:
30152 : 0 : {
30153 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
30154 : 0 : _q50 = do_valueize (valueize, _q50);
30155 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
30156 : 0 : _q51 = do_valueize (valueize, _q51);
30157 : 0 : switch (TREE_CODE (_p1))
30158 : : {
30159 : 0 : case SSA_NAME:
30160 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
30161 : : {
30162 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
30163 : 0 : switch (gimple_assign_rhs_code (_a4))
30164 : : {
30165 : 0 : case BIT_AND_EXPR:
30166 : 0 : {
30167 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
30168 : 0 : _q100 = do_valueize (valueize, _q100);
30169 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
30170 : 0 : _q101 = do_valueize (valueize, _q101);
30171 : 0 : if (tree_swap_operands_p (_q100, _q101))
30172 : 0 : std::swap (_q100, _q101);
30173 : 0 : switch (TREE_CODE (_q100))
30174 : : {
30175 : 0 : case SSA_NAME:
30176 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
30177 : : {
30178 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
30179 : 0 : switch (gimple_assign_rhs_code (_a5))
30180 : : {
30181 : 0 : case VEC_COND_EXPR:
30182 : 0 : {
30183 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
30184 : 0 : _q110 = do_valueize (valueize, _q110);
30185 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
30186 : 0 : _q111 = do_valueize (valueize, _q111);
30187 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
30188 : 0 : _q112 = do_valueize (valueize, _q112);
30189 : 0 : switch (TREE_CODE (_q110))
30190 : : {
30191 : 0 : case SSA_NAME:
30192 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
30193 : : {
30194 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
30195 : 0 : switch (gimple_assign_rhs_code (_a6))
30196 : : {
30197 : 0 : case LT_EXPR:
30198 : 0 : {
30199 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
30200 : 0 : _q120 = do_valueize (valueize, _q120);
30201 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
30202 : 0 : _q121 = do_valueize (valueize, _q121);
30203 : 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
30204 : : {
30205 : 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
30206 : : {
30207 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
30208 : : {
30209 : 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
30210 : : {
30211 : 0 : {
30212 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
30213 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
30214 : 0 : return true;
30215 : : }
30216 : : }
30217 : : }
30218 : : }
30219 : : }
30220 : : break;
30221 : : }
30222 : : default:;
30223 : : }
30224 : : }
30225 : : break;
30226 : : default:;
30227 : : }
30228 : : break;
30229 : : }
30230 : : default:;
30231 : : }
30232 : : }
30233 : : break;
30234 : 0 : default:;
30235 : : }
30236 : 0 : switch (TREE_CODE (_q101))
30237 : : {
30238 : 0 : case SSA_NAME:
30239 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
30240 : : {
30241 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
30242 : 0 : switch (gimple_assign_rhs_code (_a5))
30243 : : {
30244 : 0 : case VEC_COND_EXPR:
30245 : 0 : {
30246 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
30247 : 0 : _q120 = do_valueize (valueize, _q120);
30248 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
30249 : 0 : _q121 = do_valueize (valueize, _q121);
30250 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
30251 : 0 : _q122 = do_valueize (valueize, _q122);
30252 : 0 : switch (TREE_CODE (_q120))
30253 : : {
30254 : 0 : case SSA_NAME:
30255 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
30256 : : {
30257 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
30258 : 0 : switch (gimple_assign_rhs_code (_a6))
30259 : : {
30260 : 0 : case LT_EXPR:
30261 : 0 : {
30262 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
30263 : 0 : _q130 = do_valueize (valueize, _q130);
30264 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
30265 : 0 : _q131 = do_valueize (valueize, _q131);
30266 : 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
30267 : : {
30268 : 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
30269 : : {
30270 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
30271 : : {
30272 : 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
30273 : : {
30274 : 0 : {
30275 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
30276 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
30277 : 0 : return true;
30278 : : }
30279 : : }
30280 : : }
30281 : : }
30282 : : }
30283 : : break;
30284 : : }
30285 : : default:;
30286 : : }
30287 : : }
30288 : : break;
30289 : : default:;
30290 : : }
30291 : : break;
30292 : : }
30293 : : default:;
30294 : : }
30295 : : }
30296 : : break;
30297 : : default:;
30298 : : }
30299 : 318276 : break;
30300 : : }
30301 : : default:;
30302 : : }
30303 : : }
30304 : : break;
30305 : : default:;
30306 : : }
30307 : : break;
30308 : : }
30309 : 1 : case GT_EXPR:
30310 : 1 : {
30311 : 1 : tree _q50 = gimple_assign_rhs1 (_a3);
30312 : 1 : _q50 = do_valueize (valueize, _q50);
30313 : 1 : tree _q51 = gimple_assign_rhs2 (_a3);
30314 : 1 : _q51 = do_valueize (valueize, _q51);
30315 : 1 : switch (TREE_CODE (_p1))
30316 : : {
30317 : 1 : case SSA_NAME:
30318 : 1 : if (gimple *_d4 = get_def (valueize, _p1))
30319 : : {
30320 : 1 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
30321 : 1 : switch (gimple_assign_rhs_code (_a4))
30322 : : {
30323 : 1 : case BIT_AND_EXPR:
30324 : 1 : {
30325 : 1 : tree _q100 = gimple_assign_rhs1 (_a4);
30326 : 1 : _q100 = do_valueize (valueize, _q100);
30327 : 1 : tree _q101 = gimple_assign_rhs2 (_a4);
30328 : 1 : _q101 = do_valueize (valueize, _q101);
30329 : 1 : if (tree_swap_operands_p (_q100, _q101))
30330 : 1 : std::swap (_q100, _q101);
30331 : 1 : switch (TREE_CODE (_q100))
30332 : : {
30333 : 1 : case SSA_NAME:
30334 : 1 : if (gimple *_d5 = get_def (valueize, _q100))
30335 : : {
30336 : 1 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
30337 : 1 : switch (gimple_assign_rhs_code (_a5))
30338 : : {
30339 : 0 : case VEC_COND_EXPR:
30340 : 0 : {
30341 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
30342 : 0 : _q110 = do_valueize (valueize, _q110);
30343 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
30344 : 0 : _q111 = do_valueize (valueize, _q111);
30345 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
30346 : 0 : _q112 = do_valueize (valueize, _q112);
30347 : 0 : switch (TREE_CODE (_q110))
30348 : : {
30349 : 0 : case SSA_NAME:
30350 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
30351 : : {
30352 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
30353 : 0 : switch (gimple_assign_rhs_code (_a6))
30354 : : {
30355 : 0 : case LE_EXPR:
30356 : 0 : {
30357 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
30358 : 0 : _q120 = do_valueize (valueize, _q120);
30359 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
30360 : 0 : _q121 = do_valueize (valueize, _q121);
30361 : 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
30362 : : {
30363 : 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
30364 : : {
30365 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
30366 : : {
30367 : 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
30368 : : {
30369 : 0 : {
30370 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
30371 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
30372 : 0 : return true;
30373 : : }
30374 : : }
30375 : : }
30376 : : }
30377 : : }
30378 : : break;
30379 : : }
30380 : : default:;
30381 : : }
30382 : : }
30383 : : break;
30384 : : default:;
30385 : : }
30386 : : break;
30387 : : }
30388 : : default:;
30389 : : }
30390 : : }
30391 : : break;
30392 : 1 : default:;
30393 : : }
30394 : 1 : switch (TREE_CODE (_q101))
30395 : : {
30396 : 1 : case SSA_NAME:
30397 : 1 : if (gimple *_d5 = get_def (valueize, _q101))
30398 : : {
30399 : 1 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
30400 : 0 : switch (gimple_assign_rhs_code (_a5))
30401 : : {
30402 : 0 : case VEC_COND_EXPR:
30403 : 0 : {
30404 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
30405 : 0 : _q120 = do_valueize (valueize, _q120);
30406 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
30407 : 0 : _q121 = do_valueize (valueize, _q121);
30408 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
30409 : 0 : _q122 = do_valueize (valueize, _q122);
30410 : 0 : switch (TREE_CODE (_q120))
30411 : : {
30412 : 0 : case SSA_NAME:
30413 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
30414 : : {
30415 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
30416 : 0 : switch (gimple_assign_rhs_code (_a6))
30417 : : {
30418 : 0 : case LE_EXPR:
30419 : 0 : {
30420 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
30421 : 0 : _q130 = do_valueize (valueize, _q130);
30422 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
30423 : 0 : _q131 = do_valueize (valueize, _q131);
30424 : 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
30425 : : {
30426 : 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
30427 : : {
30428 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
30429 : : {
30430 : 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
30431 : : {
30432 : 0 : {
30433 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
30434 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
30435 : 0 : return true;
30436 : : }
30437 : : }
30438 : : }
30439 : : }
30440 : : }
30441 : : break;
30442 : : }
30443 : : default:;
30444 : : }
30445 : : }
30446 : : break;
30447 : : default:;
30448 : : }
30449 : : break;
30450 : : }
30451 : : default:;
30452 : : }
30453 : : }
30454 : : break;
30455 : : default:;
30456 : : }
30457 : 318276 : break;
30458 : : }
30459 : : default:;
30460 : : }
30461 : : }
30462 : : break;
30463 : : default:;
30464 : : }
30465 : : break;
30466 : : }
30467 : 0 : case UNORDERED_EXPR:
30468 : 0 : {
30469 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
30470 : 0 : _q50 = do_valueize (valueize, _q50);
30471 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
30472 : 0 : _q51 = do_valueize (valueize, _q51);
30473 : 0 : if (tree_swap_operands_p (_q50, _q51))
30474 : 0 : std::swap (_q50, _q51);
30475 : 0 : switch (TREE_CODE (_p1))
30476 : : {
30477 : 0 : case SSA_NAME:
30478 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
30479 : : {
30480 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
30481 : 0 : switch (gimple_assign_rhs_code (_a4))
30482 : : {
30483 : 0 : case BIT_AND_EXPR:
30484 : 0 : {
30485 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
30486 : 0 : _q100 = do_valueize (valueize, _q100);
30487 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
30488 : 0 : _q101 = do_valueize (valueize, _q101);
30489 : 0 : if (tree_swap_operands_p (_q100, _q101))
30490 : 0 : std::swap (_q100, _q101);
30491 : 0 : switch (TREE_CODE (_q100))
30492 : : {
30493 : 0 : case SSA_NAME:
30494 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
30495 : : {
30496 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
30497 : 0 : switch (gimple_assign_rhs_code (_a5))
30498 : : {
30499 : 0 : case VEC_COND_EXPR:
30500 : 0 : {
30501 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
30502 : 0 : _q110 = do_valueize (valueize, _q110);
30503 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
30504 : 0 : _q111 = do_valueize (valueize, _q111);
30505 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
30506 : 0 : _q112 = do_valueize (valueize, _q112);
30507 : 0 : switch (TREE_CODE (_q110))
30508 : : {
30509 : 0 : case SSA_NAME:
30510 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
30511 : : {
30512 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
30513 : 0 : switch (gimple_assign_rhs_code (_a6))
30514 : : {
30515 : 0 : case ORDERED_EXPR:
30516 : 0 : {
30517 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
30518 : 0 : _q120 = do_valueize (valueize, _q120);
30519 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
30520 : 0 : _q121 = do_valueize (valueize, _q121);
30521 : 0 : if (tree_swap_operands_p (_q120, _q121))
30522 : 0 : std::swap (_q120, _q121);
30523 : 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
30524 : : {
30525 : 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
30526 : : {
30527 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
30528 : : {
30529 : 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
30530 : : {
30531 : 0 : {
30532 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
30533 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
30534 : 0 : return true;
30535 : : }
30536 : : }
30537 : : }
30538 : : }
30539 : : }
30540 : 0 : break;
30541 : : }
30542 : : default:;
30543 : : }
30544 : : }
30545 : : break;
30546 : : default:;
30547 : : }
30548 : : break;
30549 : : }
30550 : : default:;
30551 : : }
30552 : : }
30553 : : break;
30554 : 0 : default:;
30555 : : }
30556 : 0 : switch (TREE_CODE (_q101))
30557 : : {
30558 : 0 : case SSA_NAME:
30559 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
30560 : : {
30561 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
30562 : 0 : switch (gimple_assign_rhs_code (_a5))
30563 : : {
30564 : 0 : case VEC_COND_EXPR:
30565 : 0 : {
30566 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
30567 : 0 : _q120 = do_valueize (valueize, _q120);
30568 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
30569 : 0 : _q121 = do_valueize (valueize, _q121);
30570 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
30571 : 0 : _q122 = do_valueize (valueize, _q122);
30572 : 0 : switch (TREE_CODE (_q120))
30573 : : {
30574 : 0 : case SSA_NAME:
30575 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
30576 : : {
30577 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
30578 : 0 : switch (gimple_assign_rhs_code (_a6))
30579 : : {
30580 : 0 : case ORDERED_EXPR:
30581 : 0 : {
30582 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
30583 : 0 : _q130 = do_valueize (valueize, _q130);
30584 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
30585 : 0 : _q131 = do_valueize (valueize, _q131);
30586 : 0 : if (tree_swap_operands_p (_q130, _q131))
30587 : 0 : std::swap (_q130, _q131);
30588 : 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
30589 : : {
30590 : 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
30591 : : {
30592 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
30593 : : {
30594 : 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
30595 : : {
30596 : 0 : {
30597 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
30598 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
30599 : 0 : return true;
30600 : : }
30601 : : }
30602 : : }
30603 : : }
30604 : : }
30605 : 318276 : break;
30606 : : }
30607 : : default:;
30608 : : }
30609 : : }
30610 : : break;
30611 : : default:;
30612 : : }
30613 : : break;
30614 : : }
30615 : : default:;
30616 : : }
30617 : : }
30618 : : break;
30619 : : default:;
30620 : : }
30621 : 318276 : break;
30622 : : }
30623 : : default:;
30624 : : }
30625 : : }
30626 : : break;
30627 : : default:;
30628 : : }
30629 : 318276 : break;
30630 : : }
30631 : 0 : case ORDERED_EXPR:
30632 : 0 : {
30633 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
30634 : 0 : _q50 = do_valueize (valueize, _q50);
30635 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
30636 : 0 : _q51 = do_valueize (valueize, _q51);
30637 : 0 : if (tree_swap_operands_p (_q50, _q51))
30638 : 0 : std::swap (_q50, _q51);
30639 : 0 : switch (TREE_CODE (_p1))
30640 : : {
30641 : 0 : case SSA_NAME:
30642 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
30643 : : {
30644 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
30645 : 0 : switch (gimple_assign_rhs_code (_a4))
30646 : : {
30647 : 0 : case BIT_AND_EXPR:
30648 : 0 : {
30649 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
30650 : 0 : _q100 = do_valueize (valueize, _q100);
30651 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
30652 : 0 : _q101 = do_valueize (valueize, _q101);
30653 : 0 : if (tree_swap_operands_p (_q100, _q101))
30654 : 0 : std::swap (_q100, _q101);
30655 : 0 : switch (TREE_CODE (_q100))
30656 : : {
30657 : 0 : case SSA_NAME:
30658 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
30659 : : {
30660 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
30661 : 0 : switch (gimple_assign_rhs_code (_a5))
30662 : : {
30663 : 0 : case VEC_COND_EXPR:
30664 : 0 : {
30665 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
30666 : 0 : _q110 = do_valueize (valueize, _q110);
30667 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
30668 : 0 : _q111 = do_valueize (valueize, _q111);
30669 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
30670 : 0 : _q112 = do_valueize (valueize, _q112);
30671 : 0 : switch (TREE_CODE (_q110))
30672 : : {
30673 : 0 : case SSA_NAME:
30674 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
30675 : : {
30676 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
30677 : 0 : switch (gimple_assign_rhs_code (_a6))
30678 : : {
30679 : 0 : case UNORDERED_EXPR:
30680 : 0 : {
30681 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
30682 : 0 : _q120 = do_valueize (valueize, _q120);
30683 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
30684 : 0 : _q121 = do_valueize (valueize, _q121);
30685 : 0 : if (tree_swap_operands_p (_q120, _q121))
30686 : 0 : std::swap (_q120, _q121);
30687 : 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
30688 : : {
30689 : 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
30690 : : {
30691 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
30692 : : {
30693 : 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
30694 : : {
30695 : 0 : {
30696 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
30697 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
30698 : 0 : return true;
30699 : : }
30700 : : }
30701 : : }
30702 : : }
30703 : : }
30704 : 0 : break;
30705 : : }
30706 : : default:;
30707 : : }
30708 : : }
30709 : : break;
30710 : : default:;
30711 : : }
30712 : : break;
30713 : : }
30714 : : default:;
30715 : : }
30716 : : }
30717 : : break;
30718 : 0 : default:;
30719 : : }
30720 : 0 : switch (TREE_CODE (_q101))
30721 : : {
30722 : 0 : case SSA_NAME:
30723 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
30724 : : {
30725 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
30726 : 0 : switch (gimple_assign_rhs_code (_a5))
30727 : : {
30728 : 0 : case VEC_COND_EXPR:
30729 : 0 : {
30730 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
30731 : 0 : _q120 = do_valueize (valueize, _q120);
30732 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
30733 : 0 : _q121 = do_valueize (valueize, _q121);
30734 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
30735 : 0 : _q122 = do_valueize (valueize, _q122);
30736 : 0 : switch (TREE_CODE (_q120))
30737 : : {
30738 : 0 : case SSA_NAME:
30739 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
30740 : : {
30741 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
30742 : 0 : switch (gimple_assign_rhs_code (_a6))
30743 : : {
30744 : 0 : case UNORDERED_EXPR:
30745 : 0 : {
30746 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
30747 : 0 : _q130 = do_valueize (valueize, _q130);
30748 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
30749 : 0 : _q131 = do_valueize (valueize, _q131);
30750 : 0 : if (tree_swap_operands_p (_q130, _q131))
30751 : 0 : std::swap (_q130, _q131);
30752 : 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
30753 : : {
30754 : 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
30755 : : {
30756 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
30757 : : {
30758 : 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
30759 : : {
30760 : 0 : {
30761 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
30762 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
30763 : 0 : return true;
30764 : : }
30765 : : }
30766 : : }
30767 : : }
30768 : : }
30769 : 318276 : break;
30770 : : }
30771 : : default:;
30772 : : }
30773 : : }
30774 : : break;
30775 : : default:;
30776 : : }
30777 : : break;
30778 : : }
30779 : : default:;
30780 : : }
30781 : : }
30782 : : break;
30783 : : default:;
30784 : : }
30785 : 318276 : break;
30786 : : }
30787 : : default:;
30788 : : }
30789 : : }
30790 : : break;
30791 : : default:;
30792 : : }
30793 : 318276 : break;
30794 : : }
30795 : 0 : case UNLT_EXPR:
30796 : 0 : {
30797 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
30798 : 0 : _q50 = do_valueize (valueize, _q50);
30799 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
30800 : 0 : _q51 = do_valueize (valueize, _q51);
30801 : 0 : switch (TREE_CODE (_p1))
30802 : : {
30803 : 0 : case SSA_NAME:
30804 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
30805 : : {
30806 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
30807 : 0 : switch (gimple_assign_rhs_code (_a4))
30808 : : {
30809 : 0 : case BIT_AND_EXPR:
30810 : 0 : {
30811 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
30812 : 0 : _q100 = do_valueize (valueize, _q100);
30813 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
30814 : 0 : _q101 = do_valueize (valueize, _q101);
30815 : 0 : if (tree_swap_operands_p (_q100, _q101))
30816 : 0 : std::swap (_q100, _q101);
30817 : 0 : switch (TREE_CODE (_q100))
30818 : : {
30819 : 0 : case SSA_NAME:
30820 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
30821 : : {
30822 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
30823 : 0 : switch (gimple_assign_rhs_code (_a5))
30824 : : {
30825 : 0 : case VEC_COND_EXPR:
30826 : 0 : {
30827 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
30828 : 0 : _q110 = do_valueize (valueize, _q110);
30829 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
30830 : 0 : _q111 = do_valueize (valueize, _q111);
30831 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
30832 : 0 : _q112 = do_valueize (valueize, _q112);
30833 : 0 : switch (TREE_CODE (_q110))
30834 : : {
30835 : 0 : case SSA_NAME:
30836 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
30837 : : {
30838 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
30839 : 0 : switch (gimple_assign_rhs_code (_a6))
30840 : : {
30841 : 0 : case GE_EXPR:
30842 : 0 : {
30843 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
30844 : 0 : _q120 = do_valueize (valueize, _q120);
30845 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
30846 : 0 : _q121 = do_valueize (valueize, _q121);
30847 : 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
30848 : : {
30849 : 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
30850 : : {
30851 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
30852 : : {
30853 : 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
30854 : : {
30855 : 0 : {
30856 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
30857 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR))
30858 : 0 : return true;
30859 : : }
30860 : : }
30861 : : }
30862 : : }
30863 : : }
30864 : : break;
30865 : : }
30866 : : default:;
30867 : : }
30868 : : }
30869 : : break;
30870 : : default:;
30871 : : }
30872 : : break;
30873 : : }
30874 : : default:;
30875 : : }
30876 : : }
30877 : : break;
30878 : 0 : default:;
30879 : : }
30880 : 0 : switch (TREE_CODE (_q101))
30881 : : {
30882 : 0 : case SSA_NAME:
30883 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
30884 : : {
30885 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
30886 : 0 : switch (gimple_assign_rhs_code (_a5))
30887 : : {
30888 : 0 : case VEC_COND_EXPR:
30889 : 0 : {
30890 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
30891 : 0 : _q120 = do_valueize (valueize, _q120);
30892 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
30893 : 0 : _q121 = do_valueize (valueize, _q121);
30894 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
30895 : 0 : _q122 = do_valueize (valueize, _q122);
30896 : 0 : switch (TREE_CODE (_q120))
30897 : : {
30898 : 0 : case SSA_NAME:
30899 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
30900 : : {
30901 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
30902 : 0 : switch (gimple_assign_rhs_code (_a6))
30903 : : {
30904 : 0 : case GE_EXPR:
30905 : 0 : {
30906 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
30907 : 0 : _q130 = do_valueize (valueize, _q130);
30908 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
30909 : 0 : _q131 = do_valueize (valueize, _q131);
30910 : 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
30911 : : {
30912 : 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
30913 : : {
30914 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
30915 : : {
30916 : 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
30917 : : {
30918 : 0 : {
30919 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
30920 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR))
30921 : 0 : return true;
30922 : : }
30923 : : }
30924 : : }
30925 : : }
30926 : : }
30927 : : break;
30928 : : }
30929 : : default:;
30930 : : }
30931 : : }
30932 : : break;
30933 : : default:;
30934 : : }
30935 : : break;
30936 : : }
30937 : : default:;
30938 : : }
30939 : : }
30940 : : break;
30941 : : default:;
30942 : : }
30943 : 318276 : break;
30944 : : }
30945 : : default:;
30946 : : }
30947 : : }
30948 : : break;
30949 : : default:;
30950 : : }
30951 : : break;
30952 : : }
30953 : 0 : case UNLE_EXPR:
30954 : 0 : {
30955 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
30956 : 0 : _q50 = do_valueize (valueize, _q50);
30957 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
30958 : 0 : _q51 = do_valueize (valueize, _q51);
30959 : 0 : switch (TREE_CODE (_p1))
30960 : : {
30961 : 0 : case SSA_NAME:
30962 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
30963 : : {
30964 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
30965 : 0 : switch (gimple_assign_rhs_code (_a4))
30966 : : {
30967 : 0 : case BIT_AND_EXPR:
30968 : 0 : {
30969 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
30970 : 0 : _q100 = do_valueize (valueize, _q100);
30971 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
30972 : 0 : _q101 = do_valueize (valueize, _q101);
30973 : 0 : if (tree_swap_operands_p (_q100, _q101))
30974 : 0 : std::swap (_q100, _q101);
30975 : 0 : switch (TREE_CODE (_q100))
30976 : : {
30977 : 0 : case SSA_NAME:
30978 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
30979 : : {
30980 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
30981 : 0 : switch (gimple_assign_rhs_code (_a5))
30982 : : {
30983 : 0 : case VEC_COND_EXPR:
30984 : 0 : {
30985 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
30986 : 0 : _q110 = do_valueize (valueize, _q110);
30987 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
30988 : 0 : _q111 = do_valueize (valueize, _q111);
30989 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
30990 : 0 : _q112 = do_valueize (valueize, _q112);
30991 : 0 : switch (TREE_CODE (_q110))
30992 : : {
30993 : 0 : case SSA_NAME:
30994 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
30995 : : {
30996 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
30997 : 0 : switch (gimple_assign_rhs_code (_a6))
30998 : : {
30999 : 0 : case GT_EXPR:
31000 : 0 : {
31001 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
31002 : 0 : _q120 = do_valueize (valueize, _q120);
31003 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
31004 : 0 : _q121 = do_valueize (valueize, _q121);
31005 : 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
31006 : : {
31007 : 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
31008 : : {
31009 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
31010 : : {
31011 : 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
31012 : : {
31013 : 0 : {
31014 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
31015 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
31016 : 0 : return true;
31017 : : }
31018 : : }
31019 : : }
31020 : : }
31021 : : }
31022 : : break;
31023 : : }
31024 : : default:;
31025 : : }
31026 : : }
31027 : : break;
31028 : : default:;
31029 : : }
31030 : : break;
31031 : : }
31032 : : default:;
31033 : : }
31034 : : }
31035 : : break;
31036 : 0 : default:;
31037 : : }
31038 : 0 : switch (TREE_CODE (_q101))
31039 : : {
31040 : 0 : case SSA_NAME:
31041 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
31042 : : {
31043 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
31044 : 0 : switch (gimple_assign_rhs_code (_a5))
31045 : : {
31046 : 0 : case VEC_COND_EXPR:
31047 : 0 : {
31048 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
31049 : 0 : _q120 = do_valueize (valueize, _q120);
31050 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
31051 : 0 : _q121 = do_valueize (valueize, _q121);
31052 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
31053 : 0 : _q122 = do_valueize (valueize, _q122);
31054 : 0 : switch (TREE_CODE (_q120))
31055 : : {
31056 : 0 : case SSA_NAME:
31057 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
31058 : : {
31059 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
31060 : 0 : switch (gimple_assign_rhs_code (_a6))
31061 : : {
31062 : 0 : case GT_EXPR:
31063 : 0 : {
31064 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
31065 : 0 : _q130 = do_valueize (valueize, _q130);
31066 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
31067 : 0 : _q131 = do_valueize (valueize, _q131);
31068 : 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
31069 : : {
31070 : 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
31071 : : {
31072 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
31073 : : {
31074 : 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
31075 : : {
31076 : 0 : {
31077 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
31078 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
31079 : 0 : return true;
31080 : : }
31081 : : }
31082 : : }
31083 : : }
31084 : : }
31085 : : break;
31086 : : }
31087 : : default:;
31088 : : }
31089 : : }
31090 : : break;
31091 : : default:;
31092 : : }
31093 : : break;
31094 : : }
31095 : : default:;
31096 : : }
31097 : : }
31098 : : break;
31099 : : default:;
31100 : : }
31101 : 318276 : break;
31102 : : }
31103 : : default:;
31104 : : }
31105 : : }
31106 : : break;
31107 : : default:;
31108 : : }
31109 : : break;
31110 : : }
31111 : 0 : case UNGT_EXPR:
31112 : 0 : {
31113 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
31114 : 0 : _q50 = do_valueize (valueize, _q50);
31115 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
31116 : 0 : _q51 = do_valueize (valueize, _q51);
31117 : 0 : switch (TREE_CODE (_p1))
31118 : : {
31119 : 0 : case SSA_NAME:
31120 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
31121 : : {
31122 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
31123 : 0 : switch (gimple_assign_rhs_code (_a4))
31124 : : {
31125 : 0 : case BIT_AND_EXPR:
31126 : 0 : {
31127 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
31128 : 0 : _q100 = do_valueize (valueize, _q100);
31129 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
31130 : 0 : _q101 = do_valueize (valueize, _q101);
31131 : 0 : if (tree_swap_operands_p (_q100, _q101))
31132 : 0 : std::swap (_q100, _q101);
31133 : 0 : switch (TREE_CODE (_q100))
31134 : : {
31135 : 0 : case SSA_NAME:
31136 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
31137 : : {
31138 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
31139 : 0 : switch (gimple_assign_rhs_code (_a5))
31140 : : {
31141 : 0 : case VEC_COND_EXPR:
31142 : 0 : {
31143 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
31144 : 0 : _q110 = do_valueize (valueize, _q110);
31145 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
31146 : 0 : _q111 = do_valueize (valueize, _q111);
31147 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
31148 : 0 : _q112 = do_valueize (valueize, _q112);
31149 : 0 : switch (TREE_CODE (_q110))
31150 : : {
31151 : 0 : case SSA_NAME:
31152 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
31153 : : {
31154 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
31155 : 0 : switch (gimple_assign_rhs_code (_a6))
31156 : : {
31157 : 0 : case LE_EXPR:
31158 : 0 : {
31159 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
31160 : 0 : _q120 = do_valueize (valueize, _q120);
31161 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
31162 : 0 : _q121 = do_valueize (valueize, _q121);
31163 : 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
31164 : : {
31165 : 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
31166 : : {
31167 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
31168 : : {
31169 : 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
31170 : : {
31171 : 0 : {
31172 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
31173 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
31174 : 0 : return true;
31175 : : }
31176 : : }
31177 : : }
31178 : : }
31179 : : }
31180 : : break;
31181 : : }
31182 : : default:;
31183 : : }
31184 : : }
31185 : : break;
31186 : : default:;
31187 : : }
31188 : : break;
31189 : : }
31190 : : default:;
31191 : : }
31192 : : }
31193 : : break;
31194 : 0 : default:;
31195 : : }
31196 : 0 : switch (TREE_CODE (_q101))
31197 : : {
31198 : 0 : case SSA_NAME:
31199 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
31200 : : {
31201 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
31202 : 0 : switch (gimple_assign_rhs_code (_a5))
31203 : : {
31204 : 0 : case VEC_COND_EXPR:
31205 : 0 : {
31206 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
31207 : 0 : _q120 = do_valueize (valueize, _q120);
31208 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
31209 : 0 : _q121 = do_valueize (valueize, _q121);
31210 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
31211 : 0 : _q122 = do_valueize (valueize, _q122);
31212 : 0 : switch (TREE_CODE (_q120))
31213 : : {
31214 : 0 : case SSA_NAME:
31215 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
31216 : : {
31217 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
31218 : 0 : switch (gimple_assign_rhs_code (_a6))
31219 : : {
31220 : 0 : case LE_EXPR:
31221 : 0 : {
31222 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
31223 : 0 : _q130 = do_valueize (valueize, _q130);
31224 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
31225 : 0 : _q131 = do_valueize (valueize, _q131);
31226 : 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
31227 : : {
31228 : 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
31229 : : {
31230 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
31231 : : {
31232 : 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
31233 : : {
31234 : 0 : {
31235 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
31236 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
31237 : 0 : return true;
31238 : : }
31239 : : }
31240 : : }
31241 : : }
31242 : : }
31243 : : break;
31244 : : }
31245 : : default:;
31246 : : }
31247 : : }
31248 : : break;
31249 : : default:;
31250 : : }
31251 : : break;
31252 : : }
31253 : : default:;
31254 : : }
31255 : : }
31256 : : break;
31257 : : default:;
31258 : : }
31259 : 318276 : break;
31260 : : }
31261 : : default:;
31262 : : }
31263 : : }
31264 : : break;
31265 : : default:;
31266 : : }
31267 : : break;
31268 : : }
31269 : 0 : case UNGE_EXPR:
31270 : 0 : {
31271 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
31272 : 0 : _q50 = do_valueize (valueize, _q50);
31273 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
31274 : 0 : _q51 = do_valueize (valueize, _q51);
31275 : 0 : switch (TREE_CODE (_p1))
31276 : : {
31277 : 0 : case SSA_NAME:
31278 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
31279 : : {
31280 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
31281 : 0 : switch (gimple_assign_rhs_code (_a4))
31282 : : {
31283 : 0 : case BIT_AND_EXPR:
31284 : 0 : {
31285 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
31286 : 0 : _q100 = do_valueize (valueize, _q100);
31287 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
31288 : 0 : _q101 = do_valueize (valueize, _q101);
31289 : 0 : if (tree_swap_operands_p (_q100, _q101))
31290 : 0 : std::swap (_q100, _q101);
31291 : 0 : switch (TREE_CODE (_q100))
31292 : : {
31293 : 0 : case SSA_NAME:
31294 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
31295 : : {
31296 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
31297 : 0 : switch (gimple_assign_rhs_code (_a5))
31298 : : {
31299 : 0 : case VEC_COND_EXPR:
31300 : 0 : {
31301 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
31302 : 0 : _q110 = do_valueize (valueize, _q110);
31303 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
31304 : 0 : _q111 = do_valueize (valueize, _q111);
31305 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
31306 : 0 : _q112 = do_valueize (valueize, _q112);
31307 : 0 : switch (TREE_CODE (_q110))
31308 : : {
31309 : 0 : case SSA_NAME:
31310 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
31311 : : {
31312 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
31313 : 0 : switch (gimple_assign_rhs_code (_a6))
31314 : : {
31315 : 0 : case LT_EXPR:
31316 : 0 : {
31317 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
31318 : 0 : _q120 = do_valueize (valueize, _q120);
31319 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
31320 : 0 : _q121 = do_valueize (valueize, _q121);
31321 : 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
31322 : : {
31323 : 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
31324 : : {
31325 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
31326 : : {
31327 : 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
31328 : : {
31329 : 0 : {
31330 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
31331 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
31332 : 0 : return true;
31333 : : }
31334 : : }
31335 : : }
31336 : : }
31337 : : }
31338 : : break;
31339 : : }
31340 : : default:;
31341 : : }
31342 : : }
31343 : : break;
31344 : : default:;
31345 : : }
31346 : : break;
31347 : : }
31348 : : default:;
31349 : : }
31350 : : }
31351 : : break;
31352 : 0 : default:;
31353 : : }
31354 : 0 : switch (TREE_CODE (_q101))
31355 : : {
31356 : 0 : case SSA_NAME:
31357 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
31358 : : {
31359 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
31360 : 0 : switch (gimple_assign_rhs_code (_a5))
31361 : : {
31362 : 0 : case VEC_COND_EXPR:
31363 : 0 : {
31364 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
31365 : 0 : _q120 = do_valueize (valueize, _q120);
31366 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
31367 : 0 : _q121 = do_valueize (valueize, _q121);
31368 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
31369 : 0 : _q122 = do_valueize (valueize, _q122);
31370 : 0 : switch (TREE_CODE (_q120))
31371 : : {
31372 : 0 : case SSA_NAME:
31373 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
31374 : : {
31375 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
31376 : 0 : switch (gimple_assign_rhs_code (_a6))
31377 : : {
31378 : 0 : case LT_EXPR:
31379 : 0 : {
31380 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
31381 : 0 : _q130 = do_valueize (valueize, _q130);
31382 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
31383 : 0 : _q131 = do_valueize (valueize, _q131);
31384 : 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
31385 : : {
31386 : 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
31387 : : {
31388 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
31389 : : {
31390 : 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
31391 : : {
31392 : 0 : {
31393 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
31394 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
31395 : 0 : return true;
31396 : : }
31397 : : }
31398 : : }
31399 : : }
31400 : : }
31401 : : break;
31402 : : }
31403 : : default:;
31404 : : }
31405 : : }
31406 : : break;
31407 : : default:;
31408 : : }
31409 : : break;
31410 : : }
31411 : : default:;
31412 : : }
31413 : : }
31414 : : break;
31415 : : default:;
31416 : : }
31417 : 318276 : break;
31418 : : }
31419 : : default:;
31420 : : }
31421 : : }
31422 : : break;
31423 : : default:;
31424 : : }
31425 : : break;
31426 : : }
31427 : 0 : case UNEQ_EXPR:
31428 : 0 : {
31429 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
31430 : 0 : _q50 = do_valueize (valueize, _q50);
31431 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
31432 : 0 : _q51 = do_valueize (valueize, _q51);
31433 : 0 : if (tree_swap_operands_p (_q50, _q51))
31434 : 0 : std::swap (_q50, _q51);
31435 : 0 : switch (TREE_CODE (_p1))
31436 : : {
31437 : 0 : case SSA_NAME:
31438 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
31439 : : {
31440 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
31441 : 0 : switch (gimple_assign_rhs_code (_a4))
31442 : : {
31443 : 0 : case BIT_AND_EXPR:
31444 : 0 : {
31445 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
31446 : 0 : _q100 = do_valueize (valueize, _q100);
31447 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
31448 : 0 : _q101 = do_valueize (valueize, _q101);
31449 : 0 : if (tree_swap_operands_p (_q100, _q101))
31450 : 0 : std::swap (_q100, _q101);
31451 : 0 : switch (TREE_CODE (_q100))
31452 : : {
31453 : 0 : case SSA_NAME:
31454 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
31455 : : {
31456 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
31457 : 0 : switch (gimple_assign_rhs_code (_a5))
31458 : : {
31459 : 0 : case VEC_COND_EXPR:
31460 : 0 : {
31461 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
31462 : 0 : _q110 = do_valueize (valueize, _q110);
31463 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
31464 : 0 : _q111 = do_valueize (valueize, _q111);
31465 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
31466 : 0 : _q112 = do_valueize (valueize, _q112);
31467 : 0 : switch (TREE_CODE (_q110))
31468 : : {
31469 : 0 : case SSA_NAME:
31470 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
31471 : : {
31472 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
31473 : 0 : switch (gimple_assign_rhs_code (_a6))
31474 : : {
31475 : 0 : case LTGT_EXPR:
31476 : 0 : {
31477 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
31478 : 0 : _q120 = do_valueize (valueize, _q120);
31479 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
31480 : 0 : _q121 = do_valueize (valueize, _q121);
31481 : 0 : if (tree_swap_operands_p (_q120, _q121))
31482 : 0 : std::swap (_q120, _q121);
31483 : 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
31484 : : {
31485 : 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
31486 : : {
31487 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
31488 : : {
31489 : 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
31490 : : {
31491 : 0 : {
31492 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
31493 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
31494 : 0 : return true;
31495 : : }
31496 : : }
31497 : : }
31498 : : }
31499 : : }
31500 : 0 : break;
31501 : : }
31502 : : default:;
31503 : : }
31504 : : }
31505 : : break;
31506 : : default:;
31507 : : }
31508 : : break;
31509 : : }
31510 : : default:;
31511 : : }
31512 : : }
31513 : : break;
31514 : 0 : default:;
31515 : : }
31516 : 0 : switch (TREE_CODE (_q101))
31517 : : {
31518 : 0 : case SSA_NAME:
31519 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
31520 : : {
31521 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
31522 : 0 : switch (gimple_assign_rhs_code (_a5))
31523 : : {
31524 : 0 : case VEC_COND_EXPR:
31525 : 0 : {
31526 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
31527 : 0 : _q120 = do_valueize (valueize, _q120);
31528 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
31529 : 0 : _q121 = do_valueize (valueize, _q121);
31530 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
31531 : 0 : _q122 = do_valueize (valueize, _q122);
31532 : 0 : switch (TREE_CODE (_q120))
31533 : : {
31534 : 0 : case SSA_NAME:
31535 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
31536 : : {
31537 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
31538 : 0 : switch (gimple_assign_rhs_code (_a6))
31539 : : {
31540 : 0 : case LTGT_EXPR:
31541 : 0 : {
31542 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
31543 : 0 : _q130 = do_valueize (valueize, _q130);
31544 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
31545 : 0 : _q131 = do_valueize (valueize, _q131);
31546 : 0 : if (tree_swap_operands_p (_q130, _q131))
31547 : 0 : std::swap (_q130, _q131);
31548 : 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
31549 : : {
31550 : 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
31551 : : {
31552 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
31553 : : {
31554 : 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
31555 : : {
31556 : 0 : {
31557 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
31558 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
31559 : 0 : return true;
31560 : : }
31561 : : }
31562 : : }
31563 : : }
31564 : : }
31565 : 318276 : break;
31566 : : }
31567 : : default:;
31568 : : }
31569 : : }
31570 : : break;
31571 : : default:;
31572 : : }
31573 : : break;
31574 : : }
31575 : : default:;
31576 : : }
31577 : : }
31578 : : break;
31579 : : default:;
31580 : : }
31581 : 318276 : break;
31582 : : }
31583 : : default:;
31584 : : }
31585 : : }
31586 : : break;
31587 : : default:;
31588 : : }
31589 : 318276 : break;
31590 : : }
31591 : 0 : case LTGT_EXPR:
31592 : 0 : {
31593 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
31594 : 0 : _q50 = do_valueize (valueize, _q50);
31595 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
31596 : 0 : _q51 = do_valueize (valueize, _q51);
31597 : 0 : if (tree_swap_operands_p (_q50, _q51))
31598 : 0 : std::swap (_q50, _q51);
31599 : 0 : switch (TREE_CODE (_p1))
31600 : : {
31601 : 0 : case SSA_NAME:
31602 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
31603 : : {
31604 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
31605 : 0 : switch (gimple_assign_rhs_code (_a4))
31606 : : {
31607 : 0 : case BIT_AND_EXPR:
31608 : 0 : {
31609 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
31610 : 0 : _q100 = do_valueize (valueize, _q100);
31611 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
31612 : 0 : _q101 = do_valueize (valueize, _q101);
31613 : 0 : if (tree_swap_operands_p (_q100, _q101))
31614 : 0 : std::swap (_q100, _q101);
31615 : 0 : switch (TREE_CODE (_q100))
31616 : : {
31617 : 0 : case SSA_NAME:
31618 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
31619 : : {
31620 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
31621 : 0 : switch (gimple_assign_rhs_code (_a5))
31622 : : {
31623 : 0 : case VEC_COND_EXPR:
31624 : 0 : {
31625 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
31626 : 0 : _q110 = do_valueize (valueize, _q110);
31627 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
31628 : 0 : _q111 = do_valueize (valueize, _q111);
31629 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
31630 : 0 : _q112 = do_valueize (valueize, _q112);
31631 : 0 : switch (TREE_CODE (_q110))
31632 : : {
31633 : 0 : case SSA_NAME:
31634 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
31635 : : {
31636 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
31637 : 0 : switch (gimple_assign_rhs_code (_a6))
31638 : : {
31639 : 0 : case UNEQ_EXPR:
31640 : 0 : {
31641 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
31642 : 0 : _q120 = do_valueize (valueize, _q120);
31643 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
31644 : 0 : _q121 = do_valueize (valueize, _q121);
31645 : 0 : if (tree_swap_operands_p (_q120, _q121))
31646 : 0 : std::swap (_q120, _q121);
31647 : 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
31648 : : {
31649 : 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
31650 : : {
31651 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
31652 : : {
31653 : 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
31654 : : {
31655 : 0 : {
31656 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
31657 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
31658 : 0 : return true;
31659 : : }
31660 : : }
31661 : : }
31662 : : }
31663 : : }
31664 : 0 : break;
31665 : : }
31666 : : default:;
31667 : : }
31668 : : }
31669 : : break;
31670 : : default:;
31671 : : }
31672 : : break;
31673 : : }
31674 : : default:;
31675 : : }
31676 : : }
31677 : : break;
31678 : 0 : default:;
31679 : : }
31680 : 0 : switch (TREE_CODE (_q101))
31681 : : {
31682 : 0 : case SSA_NAME:
31683 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
31684 : : {
31685 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
31686 : 0 : switch (gimple_assign_rhs_code (_a5))
31687 : : {
31688 : 0 : case VEC_COND_EXPR:
31689 : 0 : {
31690 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
31691 : 0 : _q120 = do_valueize (valueize, _q120);
31692 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
31693 : 0 : _q121 = do_valueize (valueize, _q121);
31694 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
31695 : 0 : _q122 = do_valueize (valueize, _q122);
31696 : 0 : switch (TREE_CODE (_q120))
31697 : : {
31698 : 0 : case SSA_NAME:
31699 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
31700 : : {
31701 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
31702 : 0 : switch (gimple_assign_rhs_code (_a6))
31703 : : {
31704 : 0 : case UNEQ_EXPR:
31705 : 0 : {
31706 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
31707 : 0 : _q130 = do_valueize (valueize, _q130);
31708 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
31709 : 0 : _q131 = do_valueize (valueize, _q131);
31710 : 0 : if (tree_swap_operands_p (_q130, _q131))
31711 : 0 : std::swap (_q130, _q131);
31712 : 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
31713 : : {
31714 : 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
31715 : : {
31716 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
31717 : : {
31718 : 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
31719 : : {
31720 : 0 : {
31721 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
31722 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
31723 : 0 : return true;
31724 : : }
31725 : : }
31726 : : }
31727 : : }
31728 : : }
31729 : 318276 : break;
31730 : : }
31731 : : default:;
31732 : : }
31733 : : }
31734 : : break;
31735 : : default:;
31736 : : }
31737 : : break;
31738 : : }
31739 : : default:;
31740 : : }
31741 : : }
31742 : : break;
31743 : : default:;
31744 : : }
31745 : 318276 : break;
31746 : : }
31747 : : default:;
31748 : : }
31749 : : }
31750 : : break;
31751 : : default:;
31752 : : }
31753 : 318276 : break;
31754 : : }
31755 : : default:;
31756 : : }
31757 : : }
31758 : : break;
31759 : : default:;
31760 : : }
31761 : : break;
31762 : : }
31763 : 2464 : case BIT_NOT_EXPR:
31764 : 2464 : {
31765 : 2464 : tree _q40 = gimple_assign_rhs1 (_a2);
31766 : 2464 : _q40 = do_valueize (valueize, _q40);
31767 : 2464 : switch (TREE_CODE (_p1))
31768 : : {
31769 : 2464 : case SSA_NAME:
31770 : 2464 : if (gimple *_d3 = get_def (valueize, _p1))
31771 : : {
31772 : 2422 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
31773 : 2162 : switch (gimple_assign_rhs_code (_a3))
31774 : : {
31775 : 1933 : case BIT_AND_EXPR:
31776 : 1933 : {
31777 : 1933 : tree _q60 = gimple_assign_rhs1 (_a3);
31778 : 1933 : _q60 = do_valueize (valueize, _q60);
31779 : 1933 : tree _q61 = gimple_assign_rhs2 (_a3);
31780 : 1933 : _q61 = do_valueize (valueize, _q61);
31781 : 1933 : if (tree_swap_operands_p (_q60, _q61))
31782 : 54 : std::swap (_q60, _q61);
31783 : 1933 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
31784 : : {
31785 : 0 : {
31786 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _p1, _q60 };
31787 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures))
31788 : 0 : return true;
31789 : : }
31790 : : }
31791 : 1933 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
31792 : : {
31793 : 48 : {
31794 : 48 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _p1, _q61 };
31795 : 48 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures))
31796 : 20 : return true;
31797 : : }
31798 : : }
31799 : 318276 : break;
31800 : : }
31801 : : default:;
31802 : : }
31803 : : }
31804 : : break;
31805 : : default:;
31806 : : }
31807 : : break;
31808 : : }
31809 : : default:;
31810 : : }
31811 : : }
31812 : : break;
31813 : 318276 : default:;
31814 : : }
31815 : 318276 : switch (TREE_CODE (_q20))
31816 : : {
31817 : 318276 : case SSA_NAME:
31818 : 318276 : if (gimple *_d2 = get_def (valueize, _q20))
31819 : : {
31820 : 280487 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
31821 : 261084 : switch (gimple_assign_rhs_code (_a2))
31822 : : {
31823 : 6450 : case BIT_NOT_EXPR:
31824 : 6450 : {
31825 : 6450 : tree _q30 = gimple_assign_rhs1 (_a2);
31826 : 6450 : _q30 = do_valueize (valueize, _q30);
31827 : 6450 : switch (TREE_CODE (_p1))
31828 : : {
31829 : 6303 : case SSA_NAME:
31830 : 6303 : if (gimple *_d3 = get_def (valueize, _p1))
31831 : : {
31832 : 6277 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
31833 : 5416 : switch (gimple_assign_rhs_code (_a3))
31834 : : {
31835 : 3085 : case BIT_AND_EXPR:
31836 : 3085 : {
31837 : 3085 : tree _q60 = gimple_assign_rhs1 (_a3);
31838 : 3085 : _q60 = do_valueize (valueize, _q60);
31839 : 3085 : tree _q61 = gimple_assign_rhs2 (_a3);
31840 : 3085 : _q61 = do_valueize (valueize, _q61);
31841 : 3085 : if (tree_swap_operands_p (_q60, _q61))
31842 : 148 : std::swap (_q60, _q61);
31843 : 3085 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
31844 : : {
31845 : 22 : {
31846 : 22 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q30, _p1, _q60 };
31847 : 22 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures))
31848 : 11 : return true;
31849 : : }
31850 : : }
31851 : 3074 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
31852 : : {
31853 : 30 : {
31854 : 30 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q30, _p1, _q61 };
31855 : 30 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures))
31856 : 16 : return true;
31857 : : }
31858 : : }
31859 : 318249 : break;
31860 : : }
31861 : : default:;
31862 : : }
31863 : : }
31864 : : break;
31865 : : default:;
31866 : : }
31867 : : break;
31868 : : }
31869 : : default:;
31870 : : }
31871 : : }
31872 : : break;
31873 : 318249 : default:;
31874 : : }
31875 : 318249 : switch (TREE_CODE (_p1))
31876 : : {
31877 : 174052 : case SSA_NAME:
31878 : 174052 : if (gimple *_d2 = get_def (valueize, _p1))
31879 : : {
31880 : 172889 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
31881 : 166584 : switch (gimple_assign_rhs_code (_a2))
31882 : : {
31883 : 140329 : case BIT_AND_EXPR:
31884 : 140329 : {
31885 : 140329 : tree _q50 = gimple_assign_rhs1 (_a2);
31886 : 140329 : _q50 = do_valueize (valueize, _q50);
31887 : 140329 : tree _q51 = gimple_assign_rhs2 (_a2);
31888 : 140329 : _q51 = do_valueize (valueize, _q51);
31889 : 140329 : if (tree_swap_operands_p (_q50, _q51))
31890 : 7594 : std::swap (_q50, _q51);
31891 : 140329 : switch (TREE_CODE (_q51))
31892 : : {
31893 : 124470 : case SSA_NAME:
31894 : 124470 : if (gimple *_d3 = get_def (valueize, _q51))
31895 : : {
31896 : 121223 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
31897 : 122552 : switch (gimple_assign_rhs_code (_a3))
31898 : : {
31899 : 102853 : case BIT_NOT_EXPR:
31900 : 102853 : {
31901 : 102853 : tree _q70 = gimple_assign_rhs1 (_a3);
31902 : 102853 : _q70 = do_valueize (valueize, _q70);
31903 : 102853 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
31904 : : {
31905 : 55 : {
31906 : 55 : tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q50, _q21, _p0, _q20 };
31907 : 55 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures))
31908 : 29 : return true;
31909 : : }
31910 : : }
31911 : 102824 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
31912 : : {
31913 : 404 : {
31914 : 404 : tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q50, _q20, _p0, _q21 };
31915 : 404 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures))
31916 : 1 : return true;
31917 : : }
31918 : : }
31919 : : break;
31920 : : }
31921 : : default:;
31922 : : }
31923 : : }
31924 : : break;
31925 : 140299 : default:;
31926 : : }
31927 : 140299 : switch (TREE_CODE (_q50))
31928 : : {
31929 : 140299 : case SSA_NAME:
31930 : 140299 : if (gimple *_d3 = get_def (valueize, _q50))
31931 : : {
31932 : 137203 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
31933 : 144979 : switch (gimple_assign_rhs_code (_a3))
31934 : : {
31935 : 581 : case BIT_NOT_EXPR:
31936 : 581 : {
31937 : 581 : tree _q60 = gimple_assign_rhs1 (_a3);
31938 : 581 : _q60 = do_valueize (valueize, _q60);
31939 : 581 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
31940 : : {
31941 : 63 : {
31942 : 63 : tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q51, _q21, _p0, _q20 };
31943 : 63 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures))
31944 : 7 : return true;
31945 : : }
31946 : : }
31947 : 574 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
31948 : : {
31949 : 61 : {
31950 : 61 : tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q51, _q20, _p0, _q21 };
31951 : 61 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures))
31952 : 17 : return true;
31953 : : }
31954 : : }
31955 : : break;
31956 : : }
31957 : : default:;
31958 : : }
31959 : : }
31960 : : break;
31961 : : default:;
31962 : : }
31963 : 4279330 : break;
31964 : : }
31965 : : default:;
31966 : : }
31967 : : }
31968 : : break;
31969 : : default:;
31970 : : }
31971 : 4279330 : break;
31972 : : }
31973 : 16030 : case BIT_XOR_EXPR:
31974 : 16030 : {
31975 : 16030 : tree _q20 = gimple_assign_rhs1 (_a1);
31976 : 16030 : _q20 = do_valueize (valueize, _q20);
31977 : 16030 : tree _q21 = gimple_assign_rhs2 (_a1);
31978 : 16030 : _q21 = do_valueize (valueize, _q21);
31979 : 16030 : if (tree_swap_operands_p (_q20, _q21))
31980 : 837 : std::swap (_q20, _q21);
31981 : 16030 : switch (TREE_CODE (_q21))
31982 : : {
31983 : 999 : case INTEGER_CST:
31984 : 999 : {
31985 : 999 : switch (TREE_CODE (_p1))
31986 : : {
31987 : 458 : case INTEGER_CST:
31988 : 458 : {
31989 : 458 : {
31990 : 458 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
31991 : 458 : if (gimple_simplify_41 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR, BIT_IOR_EXPR))
31992 : 112 : return true;
31993 : : }
31994 : 346 : break;
31995 : : }
31996 : : default:;
31997 : : }
31998 : : break;
31999 : : }
32000 : : default:;
32001 : : }
32002 : 4279330 : break;
32003 : : }
32004 : 123581 : case GT_EXPR:
32005 : 123581 : {
32006 : 123581 : tree _q20 = gimple_assign_rhs1 (_a1);
32007 : 123581 : _q20 = do_valueize (valueize, _q20);
32008 : 123581 : tree _q21 = gimple_assign_rhs2 (_a1);
32009 : 123581 : _q21 = do_valueize (valueize, _q21);
32010 : 123581 : switch (TREE_CODE (_p1))
32011 : : {
32012 : 123581 : case SSA_NAME:
32013 : 123581 : if (gimple *_d2 = get_def (valueize, _p1))
32014 : : {
32015 : 123075 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
32016 : 119892 : switch (gimple_assign_rhs_code (_a2))
32017 : : {
32018 : 5194 : case NE_EXPR:
32019 : 5194 : {
32020 : 5194 : tree _q50 = gimple_assign_rhs1 (_a2);
32021 : 5194 : _q50 = do_valueize (valueize, _q50);
32022 : 5194 : tree _q51 = gimple_assign_rhs2 (_a2);
32023 : 5194 : _q51 = do_valueize (valueize, _q51);
32024 : 5194 : if (tree_swap_operands_p (_q50, _q51))
32025 : 7 : std::swap (_q50, _q51);
32026 : 5194 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
32027 : : {
32028 : 127 : if (gimple_min_value (_q51, valueize))
32029 : : {
32030 : 30 : {
32031 : 30 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
32032 : 30 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures))
32033 : 30 : return true;
32034 : : }
32035 : : }
32036 : : }
32037 : 5164 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
32038 : : {
32039 : 8 : if (gimple_max_value (_q51, valueize))
32040 : : {
32041 : 0 : {
32042 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
32043 : 0 : if (gimple_simplify_158 (res_op, seq, valueize, type, captures))
32044 : 0 : return true;
32045 : : }
32046 : : }
32047 : : }
32048 : 123502 : break;
32049 : : }
32050 : 9550 : case EQ_EXPR:
32051 : 9550 : {
32052 : 9550 : tree _q50 = gimple_assign_rhs1 (_a2);
32053 : 9550 : _q50 = do_valueize (valueize, _q50);
32054 : 9550 : tree _q51 = gimple_assign_rhs2 (_a2);
32055 : 9550 : _q51 = do_valueize (valueize, _q51);
32056 : 9550 : if (tree_swap_operands_p (_q50, _q51))
32057 : 3 : std::swap (_q50, _q51);
32058 : 9550 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
32059 : : {
32060 : 899 : if (gimple_min_value (_q51, valueize))
32061 : : {
32062 : 68 : {
32063 : 68 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _p0, _q21 };
32064 : 68 : if (gimple_simplify_159 (res_op, seq, valueize, type, captures))
32065 : 49 : return true;
32066 : : }
32067 : : }
32068 : : }
32069 : 123502 : break;
32070 : : }
32071 : : default:;
32072 : : }
32073 : : }
32074 : : break;
32075 : 123502 : default:;
32076 : : }
32077 : 123502 : switch (TREE_CODE (_q20))
32078 : : {
32079 : 123430 : case SSA_NAME:
32080 : 123430 : if (gimple *_d2 = get_def (valueize, _q20))
32081 : : {
32082 : 115558 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
32083 : 173392 : switch (gimple_assign_rhs_code (_a2))
32084 : : {
32085 : 6853 : CASE_CONVERT:
32086 : 6853 : {
32087 : 6853 : tree _q30 = gimple_assign_rhs1 (_a2);
32088 : 6853 : _q30 = do_valueize (valueize, _q30);
32089 : 6853 : switch (TREE_CODE (_p1))
32090 : : {
32091 : 6853 : case SSA_NAME:
32092 : 6853 : if (gimple *_d3 = get_def (valueize, _p1))
32093 : : {
32094 : 6735 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
32095 : 6324 : switch (gimple_assign_rhs_code (_a3))
32096 : : {
32097 : 402 : case EQ_EXPR:
32098 : 402 : {
32099 : 402 : tree _q60 = gimple_assign_rhs1 (_a3);
32100 : 402 : _q60 = do_valueize (valueize, _q60);
32101 : 402 : tree _q61 = gimple_assign_rhs2 (_a3);
32102 : 402 : _q61 = do_valueize (valueize, _q61);
32103 : 402 : if (tree_swap_operands_p (_q60, _q61))
32104 : 0 : std::swap (_q60, _q61);
32105 : 402 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
32106 : : {
32107 : 163 : {
32108 : 163 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
32109 : 163 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR))
32110 : 64 : return true;
32111 : : }
32112 : : }
32113 : 338 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
32114 : : {
32115 : 0 : {
32116 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
32117 : 0 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR))
32118 : 0 : return true;
32119 : : }
32120 : : }
32121 : 123438 : break;
32122 : : }
32123 : 1218 : case NE_EXPR:
32124 : 1218 : {
32125 : 1218 : tree _q60 = gimple_assign_rhs1 (_a3);
32126 : 1218 : _q60 = do_valueize (valueize, _q60);
32127 : 1218 : tree _q61 = gimple_assign_rhs2 (_a3);
32128 : 1218 : _q61 = do_valueize (valueize, _q61);
32129 : 1218 : if (tree_swap_operands_p (_q60, _q61))
32130 : 0 : std::swap (_q60, _q61);
32131 : 1218 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
32132 : : {
32133 : 0 : {
32134 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
32135 : 0 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
32136 : 0 : return true;
32137 : : }
32138 : : }
32139 : 1218 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
32140 : : {
32141 : 0 : {
32142 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
32143 : 0 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
32144 : 0 : return true;
32145 : : }
32146 : : }
32147 : 123438 : break;
32148 : : }
32149 : : default:;
32150 : : }
32151 : : }
32152 : : break;
32153 : : default:;
32154 : : }
32155 : : break;
32156 : : }
32157 : : default:;
32158 : : }
32159 : : }
32160 : : break;
32161 : 123438 : default:;
32162 : : }
32163 : 123438 : switch (TREE_CODE (_q21))
32164 : : {
32165 : 94701 : case SSA_NAME:
32166 : 94701 : if (gimple *_d2 = get_def (valueize, _q21))
32167 : : {
32168 : 89977 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
32169 : 144137 : switch (gimple_assign_rhs_code (_a2))
32170 : : {
32171 : 8716 : CASE_CONVERT:
32172 : 8716 : {
32173 : 8716 : tree _q40 = gimple_assign_rhs1 (_a2);
32174 : 8716 : _q40 = do_valueize (valueize, _q40);
32175 : 8716 : switch (TREE_CODE (_p1))
32176 : : {
32177 : 8716 : case SSA_NAME:
32178 : 8716 : if (gimple *_d3 = get_def (valueize, _p1))
32179 : : {
32180 : 8716 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
32181 : 8715 : switch (gimple_assign_rhs_code (_a3))
32182 : : {
32183 : 14 : case EQ_EXPR:
32184 : 14 : {
32185 : 14 : tree _q60 = gimple_assign_rhs1 (_a3);
32186 : 14 : _q60 = do_valueize (valueize, _q60);
32187 : 14 : tree _q61 = gimple_assign_rhs2 (_a3);
32188 : 14 : _q61 = do_valueize (valueize, _q61);
32189 : 14 : if (tree_swap_operands_p (_q60, _q61))
32190 : 0 : std::swap (_q60, _q61);
32191 : 14 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
32192 : : {
32193 : 0 : {
32194 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
32195 : 0 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
32196 : 0 : return true;
32197 : : }
32198 : : }
32199 : 14 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
32200 : : {
32201 : 0 : {
32202 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
32203 : 0 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
32204 : 0 : return true;
32205 : : }
32206 : : }
32207 : 123438 : break;
32208 : : }
32209 : 15 : case NE_EXPR:
32210 : 15 : {
32211 : 15 : tree _q60 = gimple_assign_rhs1 (_a3);
32212 : 15 : _q60 = do_valueize (valueize, _q60);
32213 : 15 : tree _q61 = gimple_assign_rhs2 (_a3);
32214 : 15 : _q61 = do_valueize (valueize, _q61);
32215 : 15 : if (tree_swap_operands_p (_q60, _q61))
32216 : 0 : std::swap (_q60, _q61);
32217 : 15 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
32218 : : {
32219 : 0 : {
32220 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
32221 : 0 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
32222 : 0 : return true;
32223 : : }
32224 : : }
32225 : 15 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
32226 : : {
32227 : 0 : {
32228 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
32229 : 0 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
32230 : 0 : return true;
32231 : : }
32232 : : }
32233 : 123438 : break;
32234 : : }
32235 : : default:;
32236 : : }
32237 : : }
32238 : : break;
32239 : : default:;
32240 : : }
32241 : : break;
32242 : : }
32243 : : default:;
32244 : : }
32245 : : }
32246 : : break;
32247 : 123438 : default:;
32248 : : }
32249 : 123438 : switch (TREE_CODE (_p1))
32250 : : {
32251 : 123438 : case SSA_NAME:
32252 : 123438 : if (gimple *_d2 = get_def (valueize, _p1))
32253 : : {
32254 : 122932 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
32255 : 119749 : switch (gimple_assign_rhs_code (_a2))
32256 : : {
32257 : 9437 : case EQ_EXPR:
32258 : 9437 : {
32259 : 9437 : tree _q50 = gimple_assign_rhs1 (_a2);
32260 : 9437 : _q50 = do_valueize (valueize, _q50);
32261 : 9437 : tree _q51 = gimple_assign_rhs2 (_a2);
32262 : 9437 : _q51 = do_valueize (valueize, _q51);
32263 : 9437 : if (tree_swap_operands_p (_q50, _q51))
32264 : 3 : std::swap (_q50, _q51);
32265 : 9437 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
32266 : : {
32267 : 850 : {
32268 : 850 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
32269 : 850 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR))
32270 : 20 : return true;
32271 : : }
32272 : : }
32273 : 9417 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
32274 : : {
32275 : 5908 : {
32276 : 5908 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
32277 : 5908 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
32278 : 0 : return true;
32279 : : }
32280 : : }
32281 : 9417 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
32282 : : {
32283 : 0 : {
32284 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
32285 : 0 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR))
32286 : 0 : return true;
32287 : : }
32288 : : }
32289 : 9417 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
32290 : : {
32291 : 138 : {
32292 : 138 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
32293 : 138 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
32294 : 0 : return true;
32295 : : }
32296 : : }
32297 : 123362 : break;
32298 : : }
32299 : 5164 : case NE_EXPR:
32300 : 5164 : {
32301 : 5164 : tree _q50 = gimple_assign_rhs1 (_a2);
32302 : 5164 : _q50 = do_valueize (valueize, _q50);
32303 : 5164 : tree _q51 = gimple_assign_rhs2 (_a2);
32304 : 5164 : _q51 = do_valueize (valueize, _q51);
32305 : 5164 : if (tree_swap_operands_p (_q50, _q51))
32306 : 7 : std::swap (_q50, _q51);
32307 : 5164 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
32308 : : {
32309 : 97 : {
32310 : 97 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
32311 : 97 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
32312 : 17 : return true;
32313 : : }
32314 : : }
32315 : 5147 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
32316 : : {
32317 : 8 : {
32318 : 8 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
32319 : 8 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
32320 : 0 : return true;
32321 : : }
32322 : : }
32323 : 5147 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
32324 : : {
32325 : 68 : {
32326 : 68 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
32327 : 68 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
32328 : 0 : return true;
32329 : : }
32330 : : }
32331 : 5147 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
32332 : : {
32333 : 8 : {
32334 : 8 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
32335 : 8 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
32336 : 0 : return true;
32337 : : }
32338 : : }
32339 : 123362 : break;
32340 : : }
32341 : 25713 : case LT_EXPR:
32342 : 25713 : {
32343 : 25713 : tree _q50 = gimple_assign_rhs1 (_a2);
32344 : 25713 : _q50 = do_valueize (valueize, _q50);
32345 : 25713 : tree _q51 = gimple_assign_rhs2 (_a2);
32346 : 25713 : _q51 = do_valueize (valueize, _q51);
32347 : 25713 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
32348 : : {
32349 : 4232 : {
32350 : 4232 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
32351 : 4232 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, LT_EXPR, GT_EXPR))
32352 : 5 : return true;
32353 : : }
32354 : : }
32355 : : break;
32356 : : }
32357 : 5328 : case LE_EXPR:
32358 : 5328 : {
32359 : 5328 : tree _q50 = gimple_assign_rhs1 (_a2);
32360 : 5328 : _q50 = do_valueize (valueize, _q50);
32361 : 5328 : tree _q51 = gimple_assign_rhs2 (_a2);
32362 : 5328 : _q51 = do_valueize (valueize, _q51);
32363 : 5328 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
32364 : : {
32365 : 1702 : {
32366 : 1702 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
32367 : 1702 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
32368 : 0 : return true;
32369 : : }
32370 : : }
32371 : : break;
32372 : : }
32373 : 66425 : case GT_EXPR:
32374 : 66425 : {
32375 : 66425 : tree _q50 = gimple_assign_rhs1 (_a2);
32376 : 66425 : _q50 = do_valueize (valueize, _q50);
32377 : 66425 : tree _q51 = gimple_assign_rhs2 (_a2);
32378 : 66425 : _q51 = do_valueize (valueize, _q51);
32379 : 66425 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
32380 : : {
32381 : 19597 : {
32382 : 19597 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
32383 : 19597 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, GT_EXPR, GT_EXPR))
32384 : 26 : return true;
32385 : : }
32386 : : }
32387 : : break;
32388 : : }
32389 : 829 : case GE_EXPR:
32390 : 829 : {
32391 : 829 : tree _q50 = gimple_assign_rhs1 (_a2);
32392 : 829 : _q50 = do_valueize (valueize, _q50);
32393 : 829 : tree _q51 = gimple_assign_rhs2 (_a2);
32394 : 829 : _q51 = do_valueize (valueize, _q51);
32395 : 829 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
32396 : : {
32397 : 69 : {
32398 : 69 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
32399 : 69 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, GE_EXPR, GT_EXPR))
32400 : 8 : return true;
32401 : : }
32402 : : }
32403 : : break;
32404 : : }
32405 : : default:;
32406 : : }
32407 : : }
32408 : : break;
32409 : 123362 : default:;
32410 : : }
32411 : 123362 : switch (TREE_CODE (_q20))
32412 : : {
32413 : 123290 : case SSA_NAME:
32414 : 123290 : if (gimple *_d2 = get_def (valueize, _q20))
32415 : : {
32416 : 115420 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
32417 : 173291 : switch (gimple_assign_rhs_code (_a2))
32418 : : {
32419 : 2944 : case BIT_AND_EXPR:
32420 : 2944 : {
32421 : 2944 : tree _q30 = gimple_assign_rhs1 (_a2);
32422 : 2944 : _q30 = do_valueize (valueize, _q30);
32423 : 2944 : tree _q31 = gimple_assign_rhs2 (_a2);
32424 : 2944 : _q31 = do_valueize (valueize, _q31);
32425 : 2944 : if (tree_swap_operands_p (_q30, _q31))
32426 : 0 : std::swap (_q30, _q31);
32427 : 2944 : switch (TREE_CODE (_q30))
32428 : : {
32429 : 2944 : case SSA_NAME:
32430 : 2944 : if (gimple *_d3 = get_def (valueize, _q30))
32431 : : {
32432 : 2940 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
32433 : 3168 : switch (gimple_assign_rhs_code (_a3))
32434 : : {
32435 : 0 : case BIT_XOR_EXPR:
32436 : 0 : {
32437 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
32438 : 0 : _q40 = do_valueize (valueize, _q40);
32439 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
32440 : 0 : _q41 = do_valueize (valueize, _q41);
32441 : 0 : if (tree_swap_operands_p (_q40, _q41))
32442 : 0 : std::swap (_q40, _q41);
32443 : 0 : if (tree_expr_nonzero_p (_q31))
32444 : : {
32445 : 0 : switch (TREE_CODE (_p1))
32446 : : {
32447 : 0 : case SSA_NAME:
32448 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
32449 : : {
32450 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
32451 : 0 : switch (gimple_assign_rhs_code (_a4))
32452 : : {
32453 : 0 : case NE_EXPR:
32454 : 0 : {
32455 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
32456 : 0 : _q90 = do_valueize (valueize, _q90);
32457 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
32458 : 0 : _q91 = do_valueize (valueize, _q91);
32459 : 0 : if (tree_swap_operands_p (_q90, _q91))
32460 : 0 : std::swap (_q90, _q91);
32461 : 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
32462 : : {
32463 : 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
32464 : : {
32465 : 0 : {
32466 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _q21, _p1 };
32467 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, GT_EXPR))
32468 : 0 : return true;
32469 : : }
32470 : : }
32471 : : }
32472 : 0 : if ((_q90 == _q41 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q41, 0) && types_match (_q90, _q41)))
32473 : : {
32474 : 0 : if ((_q91 == _q40 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q40, 0) && types_match (_q91, _q40)))
32475 : : {
32476 : 0 : {
32477 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q41, _q40, _q31, _q21, _p1 };
32478 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, GT_EXPR))
32479 : 0 : return true;
32480 : : }
32481 : : }
32482 : : }
32483 : 2944 : break;
32484 : : }
32485 : : default:;
32486 : : }
32487 : : }
32488 : : break;
32489 : : default:;
32490 : : }
32491 : : }
32492 : 2944 : break;
32493 : : }
32494 : : default:;
32495 : : }
32496 : : }
32497 : : break;
32498 : 2944 : default:;
32499 : : }
32500 : 2944 : if (tree_expr_nonzero_p (_q30))
32501 : : {
32502 : 18 : switch (TREE_CODE (_q31))
32503 : : {
32504 : 0 : case SSA_NAME:
32505 : 0 : if (gimple *_d3 = get_def (valueize, _q31))
32506 : : {
32507 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
32508 : 0 : switch (gimple_assign_rhs_code (_a3))
32509 : : {
32510 : 0 : case BIT_XOR_EXPR:
32511 : 0 : {
32512 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
32513 : 0 : _q50 = do_valueize (valueize, _q50);
32514 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
32515 : 0 : _q51 = do_valueize (valueize, _q51);
32516 : 0 : if (tree_swap_operands_p (_q50, _q51))
32517 : 0 : std::swap (_q50, _q51);
32518 : 0 : switch (TREE_CODE (_p1))
32519 : : {
32520 : 0 : case SSA_NAME:
32521 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
32522 : : {
32523 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
32524 : 0 : switch (gimple_assign_rhs_code (_a4))
32525 : : {
32526 : 0 : case NE_EXPR:
32527 : 0 : {
32528 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
32529 : 0 : _q90 = do_valueize (valueize, _q90);
32530 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
32531 : 0 : _q91 = do_valueize (valueize, _q91);
32532 : 0 : if (tree_swap_operands_p (_q90, _q91))
32533 : 0 : std::swap (_q90, _q91);
32534 : 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
32535 : : {
32536 : 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
32537 : : {
32538 : 0 : {
32539 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q30, _q21, _p1 };
32540 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, GT_EXPR))
32541 : 0 : return true;
32542 : : }
32543 : : }
32544 : : }
32545 : 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
32546 : : {
32547 : 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
32548 : : {
32549 : 0 : {
32550 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q30, _q21, _p1 };
32551 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, GT_EXPR))
32552 : 0 : return true;
32553 : : }
32554 : : }
32555 : : }
32556 : 123362 : break;
32557 : : }
32558 : : default:;
32559 : : }
32560 : : }
32561 : : break;
32562 : : default:;
32563 : : }
32564 : 123362 : break;
32565 : : }
32566 : : default:;
32567 : : }
32568 : : }
32569 : : break;
32570 : : default:;
32571 : : }
32572 : : }
32573 : 123362 : break;
32574 : : }
32575 : : default:;
32576 : : }
32577 : : }
32578 : : break;
32579 : 123362 : default:;
32580 : : }
32581 : 123362 : switch (TREE_CODE (_q21))
32582 : : {
32583 : 94686 : case SSA_NAME:
32584 : 94686 : if (gimple *_d2 = get_def (valueize, _q21))
32585 : : {
32586 : 89962 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
32587 : 144114 : switch (gimple_assign_rhs_code (_a2))
32588 : : {
32589 : 47 : case BIT_AND_EXPR:
32590 : 47 : {
32591 : 47 : tree _q40 = gimple_assign_rhs1 (_a2);
32592 : 47 : _q40 = do_valueize (valueize, _q40);
32593 : 47 : tree _q41 = gimple_assign_rhs2 (_a2);
32594 : 47 : _q41 = do_valueize (valueize, _q41);
32595 : 47 : if (tree_swap_operands_p (_q40, _q41))
32596 : 0 : std::swap (_q40, _q41);
32597 : 47 : switch (TREE_CODE (_q40))
32598 : : {
32599 : 47 : case SSA_NAME:
32600 : 47 : if (gimple *_d3 = get_def (valueize, _q40))
32601 : : {
32602 : 47 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
32603 : 0 : switch (gimple_assign_rhs_code (_a3))
32604 : : {
32605 : 0 : case BIT_XOR_EXPR:
32606 : 0 : {
32607 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
32608 : 0 : _q50 = do_valueize (valueize, _q50);
32609 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
32610 : 0 : _q51 = do_valueize (valueize, _q51);
32611 : 0 : if (tree_swap_operands_p (_q50, _q51))
32612 : 0 : std::swap (_q50, _q51);
32613 : 0 : if (tree_expr_nonzero_p (_q41))
32614 : : {
32615 : 0 : switch (TREE_CODE (_p1))
32616 : : {
32617 : 0 : case SSA_NAME:
32618 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
32619 : : {
32620 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
32621 : 0 : switch (gimple_assign_rhs_code (_a4))
32622 : : {
32623 : 0 : case NE_EXPR:
32624 : 0 : {
32625 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
32626 : 0 : _q90 = do_valueize (valueize, _q90);
32627 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
32628 : 0 : _q91 = do_valueize (valueize, _q91);
32629 : 0 : if (tree_swap_operands_p (_q90, _q91))
32630 : 0 : std::swap (_q90, _q91);
32631 : 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
32632 : : {
32633 : 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
32634 : : {
32635 : 0 : {
32636 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q41, _q20, _p1 };
32637 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, LT_EXPR))
32638 : 0 : return true;
32639 : : }
32640 : : }
32641 : : }
32642 : 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
32643 : : {
32644 : 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
32645 : : {
32646 : 0 : {
32647 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q41, _q20, _p1 };
32648 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, LT_EXPR))
32649 : 0 : return true;
32650 : : }
32651 : : }
32652 : : }
32653 : 47 : break;
32654 : : }
32655 : : default:;
32656 : : }
32657 : : }
32658 : : break;
32659 : : default:;
32660 : : }
32661 : : }
32662 : 47 : break;
32663 : : }
32664 : : default:;
32665 : : }
32666 : : }
32667 : : break;
32668 : 47 : default:;
32669 : : }
32670 : 47 : if (tree_expr_nonzero_p (_q40))
32671 : : {
32672 : 0 : switch (TREE_CODE (_q41))
32673 : : {
32674 : 0 : case SSA_NAME:
32675 : 0 : if (gimple *_d3 = get_def (valueize, _q41))
32676 : : {
32677 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
32678 : 0 : switch (gimple_assign_rhs_code (_a3))
32679 : : {
32680 : 0 : case BIT_XOR_EXPR:
32681 : 0 : {
32682 : 0 : tree _q60 = gimple_assign_rhs1 (_a3);
32683 : 0 : _q60 = do_valueize (valueize, _q60);
32684 : 0 : tree _q61 = gimple_assign_rhs2 (_a3);
32685 : 0 : _q61 = do_valueize (valueize, _q61);
32686 : 0 : if (tree_swap_operands_p (_q60, _q61))
32687 : 0 : std::swap (_q60, _q61);
32688 : 0 : switch (TREE_CODE (_p1))
32689 : : {
32690 : 0 : case SSA_NAME:
32691 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
32692 : : {
32693 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
32694 : 0 : switch (gimple_assign_rhs_code (_a4))
32695 : : {
32696 : 0 : case NE_EXPR:
32697 : 0 : {
32698 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
32699 : 0 : _q90 = do_valueize (valueize, _q90);
32700 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
32701 : 0 : _q91 = do_valueize (valueize, _q91);
32702 : 0 : if (tree_swap_operands_p (_q90, _q91))
32703 : 0 : std::swap (_q90, _q91);
32704 : 0 : if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
32705 : : {
32706 : 0 : if ((_q91 == _q61 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q61, 0) && types_match (_q91, _q61)))
32707 : : {
32708 : 0 : {
32709 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q60, _q61, _q40, _q20, _p1 };
32710 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, LT_EXPR))
32711 : 0 : return true;
32712 : : }
32713 : : }
32714 : : }
32715 : 0 : if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
32716 : : {
32717 : 0 : if ((_q91 == _q60 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q60, 0) && types_match (_q91, _q60)))
32718 : : {
32719 : 0 : {
32720 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q61, _q60, _q40, _q20, _p1 };
32721 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, LT_EXPR))
32722 : 0 : return true;
32723 : : }
32724 : : }
32725 : : }
32726 : 123362 : break;
32727 : : }
32728 : : default:;
32729 : : }
32730 : : }
32731 : : break;
32732 : : default:;
32733 : : }
32734 : 123362 : break;
32735 : : }
32736 : : default:;
32737 : : }
32738 : : }
32739 : : break;
32740 : : default:;
32741 : : }
32742 : : }
32743 : 123362 : break;
32744 : : }
32745 : : default:;
32746 : : }
32747 : : }
32748 : : break;
32749 : 123362 : default:;
32750 : : }
32751 : 123362 : switch (TREE_CODE (_q20))
32752 : : {
32753 : 123290 : case SSA_NAME:
32754 : 123290 : if (gimple *_d2 = get_def (valueize, _q20))
32755 : : {
32756 : 115420 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
32757 : 173291 : switch (gimple_assign_rhs_code (_a2))
32758 : : {
32759 : 0 : case BIT_XOR_EXPR:
32760 : 0 : {
32761 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
32762 : 0 : _q30 = do_valueize (valueize, _q30);
32763 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
32764 : 0 : _q31 = do_valueize (valueize, _q31);
32765 : 0 : if (tree_swap_operands_p (_q30, _q31))
32766 : 0 : std::swap (_q30, _q31);
32767 : 0 : switch (TREE_CODE (_p1))
32768 : : {
32769 : 0 : case SSA_NAME:
32770 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
32771 : : {
32772 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
32773 : 0 : switch (gimple_assign_rhs_code (_a3))
32774 : : {
32775 : 0 : case NE_EXPR:
32776 : 0 : {
32777 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
32778 : 0 : _q70 = do_valueize (valueize, _q70);
32779 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
32780 : 0 : _q71 = do_valueize (valueize, _q71);
32781 : 0 : if (tree_swap_operands_p (_q70, _q71))
32782 : 0 : std::swap (_q70, _q71);
32783 : 0 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
32784 : : {
32785 : 0 : if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
32786 : : {
32787 : 0 : {
32788 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
32789 : 0 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, GT_EXPR))
32790 : 0 : return true;
32791 : : }
32792 : : }
32793 : : }
32794 : 0 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
32795 : : {
32796 : 0 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
32797 : : {
32798 : 0 : {
32799 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q21, _p1 };
32800 : 0 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, GT_EXPR))
32801 : 0 : return true;
32802 : : }
32803 : : }
32804 : : }
32805 : 123362 : break;
32806 : : }
32807 : : default:;
32808 : : }
32809 : : }
32810 : : break;
32811 : : default:;
32812 : : }
32813 : 123362 : break;
32814 : : }
32815 : : default:;
32816 : : }
32817 : : }
32818 : : break;
32819 : 123362 : default:;
32820 : : }
32821 : 123362 : switch (TREE_CODE (_q21))
32822 : : {
32823 : 94686 : case SSA_NAME:
32824 : 94686 : if (gimple *_d2 = get_def (valueize, _q21))
32825 : : {
32826 : 89962 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
32827 : 144114 : switch (gimple_assign_rhs_code (_a2))
32828 : : {
32829 : 0 : case BIT_XOR_EXPR:
32830 : 0 : {
32831 : 0 : tree _q40 = gimple_assign_rhs1 (_a2);
32832 : 0 : _q40 = do_valueize (valueize, _q40);
32833 : 0 : tree _q41 = gimple_assign_rhs2 (_a2);
32834 : 0 : _q41 = do_valueize (valueize, _q41);
32835 : 0 : if (tree_swap_operands_p (_q40, _q41))
32836 : 0 : std::swap (_q40, _q41);
32837 : 0 : switch (TREE_CODE (_p1))
32838 : : {
32839 : 0 : case SSA_NAME:
32840 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
32841 : : {
32842 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
32843 : 0 : switch (gimple_assign_rhs_code (_a3))
32844 : : {
32845 : 0 : case NE_EXPR:
32846 : 0 : {
32847 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
32848 : 0 : _q70 = do_valueize (valueize, _q70);
32849 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
32850 : 0 : _q71 = do_valueize (valueize, _q71);
32851 : 0 : if (tree_swap_operands_p (_q70, _q71))
32852 : 0 : std::swap (_q70, _q71);
32853 : 0 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
32854 : : {
32855 : 0 : if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
32856 : : {
32857 : 0 : {
32858 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q20, _p1 };
32859 : 0 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, LT_EXPR))
32860 : 0 : return true;
32861 : : }
32862 : : }
32863 : : }
32864 : 0 : if ((_q70 == _q41 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q41, 0) && types_match (_q70, _q41)))
32865 : : {
32866 : 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
32867 : : {
32868 : 0 : {
32869 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q41, _q40, _q20, _p1 };
32870 : 0 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, LT_EXPR))
32871 : 0 : return true;
32872 : : }
32873 : : }
32874 : : }
32875 : 4279330 : break;
32876 : : }
32877 : : default:;
32878 : : }
32879 : : }
32880 : : break;
32881 : : default:;
32882 : : }
32883 : 4279330 : break;
32884 : : }
32885 : : default:;
32886 : : }
32887 : : }
32888 : : break;
32889 : : default:;
32890 : : }
32891 : : break;
32892 : : }
32893 : 360567 : case LT_EXPR:
32894 : 360567 : {
32895 : 360567 : tree _q20 = gimple_assign_rhs1 (_a1);
32896 : 360567 : _q20 = do_valueize (valueize, _q20);
32897 : 360567 : tree _q21 = gimple_assign_rhs2 (_a1);
32898 : 360567 : _q21 = do_valueize (valueize, _q21);
32899 : 360567 : switch (TREE_CODE (_p1))
32900 : : {
32901 : 360567 : case SSA_NAME:
32902 : 360567 : if (gimple *_d2 = get_def (valueize, _p1))
32903 : : {
32904 : 360157 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
32905 : 358707 : switch (gimple_assign_rhs_code (_a2))
32906 : : {
32907 : 10805 : case NE_EXPR:
32908 : 10805 : {
32909 : 10805 : tree _q50 = gimple_assign_rhs1 (_a2);
32910 : 10805 : _q50 = do_valueize (valueize, _q50);
32911 : 10805 : tree _q51 = gimple_assign_rhs2 (_a2);
32912 : 10805 : _q51 = do_valueize (valueize, _q51);
32913 : 10805 : if (tree_swap_operands_p (_q50, _q51))
32914 : 8 : std::swap (_q50, _q51);
32915 : 10805 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
32916 : : {
32917 : 0 : if (gimple_min_value (_q51, valueize))
32918 : : {
32919 : 0 : {
32920 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
32921 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures))
32922 : 0 : return true;
32923 : : }
32924 : : }
32925 : : }
32926 : 10805 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
32927 : : {
32928 : 597 : if (gimple_max_value (_q51, valueize))
32929 : : {
32930 : 14 : {
32931 : 14 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
32932 : 14 : if (gimple_simplify_158 (res_op, seq, valueize, type, captures))
32933 : 14 : return true;
32934 : : }
32935 : : }
32936 : : }
32937 : 360553 : break;
32938 : : }
32939 : 7704 : case EQ_EXPR:
32940 : 7704 : {
32941 : 7704 : tree _q50 = gimple_assign_rhs1 (_a2);
32942 : 7704 : _q50 = do_valueize (valueize, _q50);
32943 : 7704 : tree _q51 = gimple_assign_rhs2 (_a2);
32944 : 7704 : _q51 = do_valueize (valueize, _q51);
32945 : 7704 : if (tree_swap_operands_p (_q50, _q51))
32946 : 1 : std::swap (_q50, _q51);
32947 : 7704 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
32948 : : {
32949 : 209 : if (gimple_min_value (_q51, valueize))
32950 : : {
32951 : 8 : {
32952 : 8 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _p0, _q20 };
32953 : 8 : if (gimple_simplify_159 (res_op, seq, valueize, type, captures))
32954 : 0 : return true;
32955 : : }
32956 : : }
32957 : : }
32958 : 360553 : break;
32959 : : }
32960 : : default:;
32961 : : }
32962 : : }
32963 : : break;
32964 : 360553 : default:;
32965 : : }
32966 : 360553 : switch (TREE_CODE (_q20))
32967 : : {
32968 : 360506 : case SSA_NAME:
32969 : 360506 : if (gimple *_d2 = get_def (valueize, _q20))
32970 : : {
32971 : 341143 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
32972 : 591151 : switch (gimple_assign_rhs_code (_a2))
32973 : : {
32974 : 5423 : CASE_CONVERT:
32975 : 5423 : {
32976 : 5423 : tree _q30 = gimple_assign_rhs1 (_a2);
32977 : 5423 : _q30 = do_valueize (valueize, _q30);
32978 : 5423 : switch (TREE_CODE (_p1))
32979 : : {
32980 : 5423 : case SSA_NAME:
32981 : 5423 : if (gimple *_d3 = get_def (valueize, _p1))
32982 : : {
32983 : 5423 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
32984 : 5420 : switch (gimple_assign_rhs_code (_a3))
32985 : : {
32986 : 26 : case EQ_EXPR:
32987 : 26 : {
32988 : 26 : tree _q60 = gimple_assign_rhs1 (_a3);
32989 : 26 : _q60 = do_valueize (valueize, _q60);
32990 : 26 : tree _q61 = gimple_assign_rhs2 (_a3);
32991 : 26 : _q61 = do_valueize (valueize, _q61);
32992 : 26 : if (tree_swap_operands_p (_q60, _q61))
32993 : 0 : std::swap (_q60, _q61);
32994 : 26 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
32995 : : {
32996 : 4 : {
32997 : 4 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
32998 : 4 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
32999 : 4 : return true;
33000 : : }
33001 : : }
33002 : 22 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
33003 : : {
33004 : 0 : {
33005 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
33006 : 0 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
33007 : 0 : return true;
33008 : : }
33009 : : }
33010 : 360549 : break;
33011 : : }
33012 : 171 : case NE_EXPR:
33013 : 171 : {
33014 : 171 : tree _q60 = gimple_assign_rhs1 (_a3);
33015 : 171 : _q60 = do_valueize (valueize, _q60);
33016 : 171 : tree _q61 = gimple_assign_rhs2 (_a3);
33017 : 171 : _q61 = do_valueize (valueize, _q61);
33018 : 171 : if (tree_swap_operands_p (_q60, _q61))
33019 : 8 : std::swap (_q60, _q61);
33020 : 171 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
33021 : : {
33022 : 0 : {
33023 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
33024 : 0 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
33025 : 0 : return true;
33026 : : }
33027 : : }
33028 : 171 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
33029 : : {
33030 : 24 : {
33031 : 24 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
33032 : 24 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
33033 : 0 : return true;
33034 : : }
33035 : : }
33036 : 360549 : break;
33037 : : }
33038 : : default:;
33039 : : }
33040 : : }
33041 : : break;
33042 : : default:;
33043 : : }
33044 : : break;
33045 : : }
33046 : : default:;
33047 : : }
33048 : : }
33049 : : break;
33050 : 360549 : default:;
33051 : : }
33052 : 360549 : switch (TREE_CODE (_q21))
33053 : : {
33054 : 297417 : case SSA_NAME:
33055 : 297417 : if (gimple *_d2 = get_def (valueize, _q21))
33056 : : {
33057 : 286984 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
33058 : 548106 : switch (gimple_assign_rhs_code (_a2))
33059 : : {
33060 : 1938 : CASE_CONVERT:
33061 : 1938 : {
33062 : 1938 : tree _q40 = gimple_assign_rhs1 (_a2);
33063 : 1938 : _q40 = do_valueize (valueize, _q40);
33064 : 1938 : switch (TREE_CODE (_p1))
33065 : : {
33066 : 1938 : case SSA_NAME:
33067 : 1938 : if (gimple *_d3 = get_def (valueize, _p1))
33068 : : {
33069 : 1938 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
33070 : 1938 : switch (gimple_assign_rhs_code (_a3))
33071 : : {
33072 : 55 : case EQ_EXPR:
33073 : 55 : {
33074 : 55 : tree _q60 = gimple_assign_rhs1 (_a3);
33075 : 55 : _q60 = do_valueize (valueize, _q60);
33076 : 55 : tree _q61 = gimple_assign_rhs2 (_a3);
33077 : 55 : _q61 = do_valueize (valueize, _q61);
33078 : 55 : if (tree_swap_operands_p (_q60, _q61))
33079 : 0 : std::swap (_q60, _q61);
33080 : 55 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
33081 : : {
33082 : 14 : {
33083 : 14 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
33084 : 14 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR))
33085 : 0 : return true;
33086 : : }
33087 : : }
33088 : 55 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
33089 : : {
33090 : 2 : {
33091 : 2 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
33092 : 2 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR))
33093 : 0 : return true;
33094 : : }
33095 : : }
33096 : 360549 : break;
33097 : : }
33098 : 2 : case NE_EXPR:
33099 : 2 : {
33100 : 2 : tree _q60 = gimple_assign_rhs1 (_a3);
33101 : 2 : _q60 = do_valueize (valueize, _q60);
33102 : 2 : tree _q61 = gimple_assign_rhs2 (_a3);
33103 : 2 : _q61 = do_valueize (valueize, _q61);
33104 : 2 : if (tree_swap_operands_p (_q60, _q61))
33105 : 0 : std::swap (_q60, _q61);
33106 : 2 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
33107 : : {
33108 : 0 : {
33109 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
33110 : 0 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
33111 : 0 : return true;
33112 : : }
33113 : : }
33114 : 2 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
33115 : : {
33116 : 0 : {
33117 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
33118 : 0 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
33119 : 0 : return true;
33120 : : }
33121 : : }
33122 : 360549 : break;
33123 : : }
33124 : : default:;
33125 : : }
33126 : : }
33127 : : break;
33128 : : default:;
33129 : : }
33130 : : break;
33131 : : }
33132 : : default:;
33133 : : }
33134 : : }
33135 : : break;
33136 : 360549 : default:;
33137 : : }
33138 : 360549 : switch (TREE_CODE (_p1))
33139 : : {
33140 : 360549 : case SSA_NAME:
33141 : 360549 : if (gimple *_d2 = get_def (valueize, _p1))
33142 : : {
33143 : 360139 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
33144 : 358689 : switch (gimple_assign_rhs_code (_a2))
33145 : : {
33146 : 7700 : case EQ_EXPR:
33147 : 7700 : {
33148 : 7700 : tree _q50 = gimple_assign_rhs1 (_a2);
33149 : 7700 : _q50 = do_valueize (valueize, _q50);
33150 : 7700 : tree _q51 = gimple_assign_rhs2 (_a2);
33151 : 7700 : _q51 = do_valueize (valueize, _q51);
33152 : 7700 : if (tree_swap_operands_p (_q50, _q51))
33153 : 1 : std::swap (_q50, _q51);
33154 : 7700 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
33155 : : {
33156 : 1378 : {
33157 : 1378 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
33158 : 1378 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
33159 : 4 : return true;
33160 : : }
33161 : : }
33162 : 7696 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
33163 : : {
33164 : 209 : {
33165 : 209 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
33166 : 209 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR))
33167 : 0 : return true;
33168 : : }
33169 : : }
33170 : 7696 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
33171 : : {
33172 : 0 : {
33173 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
33174 : 0 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
33175 : 0 : return true;
33176 : : }
33177 : : }
33178 : 7696 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
33179 : : {
33180 : 83 : {
33181 : 83 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
33182 : 83 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR))
33183 : 0 : return true;
33184 : : }
33185 : : }
33186 : 360531 : break;
33187 : : }
33188 : 10791 : case NE_EXPR:
33189 : 10791 : {
33190 : 10791 : tree _q50 = gimple_assign_rhs1 (_a2);
33191 : 10791 : _q50 = do_valueize (valueize, _q50);
33192 : 10791 : tree _q51 = gimple_assign_rhs2 (_a2);
33193 : 10791 : _q51 = do_valueize (valueize, _q51);
33194 : 10791 : if (tree_swap_operands_p (_q50, _q51))
33195 : 8 : std::swap (_q50, _q51);
33196 : 10791 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
33197 : : {
33198 : 583 : {
33199 : 583 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
33200 : 583 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
33201 : 0 : return true;
33202 : : }
33203 : : }
33204 : 10791 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
33205 : : {
33206 : 0 : {
33207 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
33208 : 0 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
33209 : 0 : return true;
33210 : : }
33211 : : }
33212 : 10791 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
33213 : : {
33214 : 685 : {
33215 : 685 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
33216 : 685 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
33217 : 0 : return true;
33218 : : }
33219 : : }
33220 : 10791 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
33221 : : {
33222 : 60 : {
33223 : 60 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
33224 : 60 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
33225 : 0 : return true;
33226 : : }
33227 : : }
33228 : 360531 : break;
33229 : : }
33230 : 269384 : case LT_EXPR:
33231 : 269384 : {
33232 : 269384 : tree _q50 = gimple_assign_rhs1 (_a2);
33233 : 269384 : _q50 = do_valueize (valueize, _q50);
33234 : 269384 : tree _q51 = gimple_assign_rhs2 (_a2);
33235 : 269384 : _q51 = do_valueize (valueize, _q51);
33236 : 269384 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
33237 : : {
33238 : 16807 : {
33239 : 16807 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
33240 : 16807 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, LT_EXPR, LT_EXPR))
33241 : 6 : return true;
33242 : : }
33243 : : }
33244 : : break;
33245 : : }
33246 : 10234 : case LE_EXPR:
33247 : 10234 : {
33248 : 10234 : tree _q50 = gimple_assign_rhs1 (_a2);
33249 : 10234 : _q50 = do_valueize (valueize, _q50);
33250 : 10234 : tree _q51 = gimple_assign_rhs2 (_a2);
33251 : 10234 : _q51 = do_valueize (valueize, _q51);
33252 : 10234 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
33253 : : {
33254 : 58 : {
33255 : 58 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
33256 : 58 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, LE_EXPR, LT_EXPR))
33257 : 1 : return true;
33258 : : }
33259 : : }
33260 : : break;
33261 : : }
33262 : 43274 : case GT_EXPR:
33263 : 43274 : {
33264 : 43274 : tree _q50 = gimple_assign_rhs1 (_a2);
33265 : 43274 : _q50 = do_valueize (valueize, _q50);
33266 : 43274 : tree _q51 = gimple_assign_rhs2 (_a2);
33267 : 43274 : _q51 = do_valueize (valueize, _q51);
33268 : 43274 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
33269 : : {
33270 : 24904 : {
33271 : 24904 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
33272 : 24904 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, GT_EXPR, LT_EXPR))
33273 : 7 : return true;
33274 : : }
33275 : : }
33276 : : break;
33277 : : }
33278 : 3235 : case GE_EXPR:
33279 : 3235 : {
33280 : 3235 : tree _q50 = gimple_assign_rhs1 (_a2);
33281 : 3235 : _q50 = do_valueize (valueize, _q50);
33282 : 3235 : tree _q51 = gimple_assign_rhs2 (_a2);
33283 : 3235 : _q51 = do_valueize (valueize, _q51);
33284 : 3235 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
33285 : : {
33286 : 2851 : {
33287 : 2851 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
33288 : 2851 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
33289 : 0 : return true;
33290 : : }
33291 : : }
33292 : : break;
33293 : : }
33294 : : default:;
33295 : : }
33296 : : }
33297 : : break;
33298 : 360531 : default:;
33299 : : }
33300 : 360531 : switch (TREE_CODE (_q20))
33301 : : {
33302 : 360484 : case SSA_NAME:
33303 : 360484 : if (gimple *_d2 = get_def (valueize, _q20))
33304 : : {
33305 : 341122 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
33306 : 591131 : switch (gimple_assign_rhs_code (_a2))
33307 : : {
33308 : 0 : case BIT_AND_EXPR:
33309 : 0 : {
33310 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
33311 : 0 : _q30 = do_valueize (valueize, _q30);
33312 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
33313 : 0 : _q31 = do_valueize (valueize, _q31);
33314 : 0 : if (tree_swap_operands_p (_q30, _q31))
33315 : 0 : std::swap (_q30, _q31);
33316 : 0 : switch (TREE_CODE (_q30))
33317 : : {
33318 : 0 : case SSA_NAME:
33319 : 0 : if (gimple *_d3 = get_def (valueize, _q30))
33320 : : {
33321 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
33322 : 0 : switch (gimple_assign_rhs_code (_a3))
33323 : : {
33324 : 0 : case BIT_XOR_EXPR:
33325 : 0 : {
33326 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
33327 : 0 : _q40 = do_valueize (valueize, _q40);
33328 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
33329 : 0 : _q41 = do_valueize (valueize, _q41);
33330 : 0 : if (tree_swap_operands_p (_q40, _q41))
33331 : 0 : std::swap (_q40, _q41);
33332 : 0 : if (tree_expr_nonzero_p (_q31))
33333 : : {
33334 : 0 : switch (TREE_CODE (_p1))
33335 : : {
33336 : 0 : case SSA_NAME:
33337 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
33338 : : {
33339 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
33340 : 0 : switch (gimple_assign_rhs_code (_a4))
33341 : : {
33342 : 0 : case NE_EXPR:
33343 : 0 : {
33344 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
33345 : 0 : _q90 = do_valueize (valueize, _q90);
33346 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
33347 : 0 : _q91 = do_valueize (valueize, _q91);
33348 : 0 : if (tree_swap_operands_p (_q90, _q91))
33349 : 0 : std::swap (_q90, _q91);
33350 : 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
33351 : : {
33352 : 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
33353 : : {
33354 : 0 : {
33355 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _q21, _p1 };
33356 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, LT_EXPR))
33357 : 0 : return true;
33358 : : }
33359 : : }
33360 : : }
33361 : 0 : if ((_q90 == _q41 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q41, 0) && types_match (_q90, _q41)))
33362 : : {
33363 : 0 : if ((_q91 == _q40 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q40, 0) && types_match (_q91, _q40)))
33364 : : {
33365 : 0 : {
33366 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q41, _q40, _q31, _q21, _p1 };
33367 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, LT_EXPR))
33368 : 0 : return true;
33369 : : }
33370 : : }
33371 : : }
33372 : 0 : break;
33373 : : }
33374 : : default:;
33375 : : }
33376 : : }
33377 : : break;
33378 : : default:;
33379 : : }
33380 : : }
33381 : 0 : break;
33382 : : }
33383 : : default:;
33384 : : }
33385 : : }
33386 : : break;
33387 : 0 : default:;
33388 : : }
33389 : 0 : if (tree_expr_nonzero_p (_q30))
33390 : : {
33391 : 0 : switch (TREE_CODE (_q31))
33392 : : {
33393 : 0 : case SSA_NAME:
33394 : 0 : if (gimple *_d3 = get_def (valueize, _q31))
33395 : : {
33396 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
33397 : 0 : switch (gimple_assign_rhs_code (_a3))
33398 : : {
33399 : 0 : case BIT_XOR_EXPR:
33400 : 0 : {
33401 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
33402 : 0 : _q50 = do_valueize (valueize, _q50);
33403 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
33404 : 0 : _q51 = do_valueize (valueize, _q51);
33405 : 0 : if (tree_swap_operands_p (_q50, _q51))
33406 : 0 : std::swap (_q50, _q51);
33407 : 0 : switch (TREE_CODE (_p1))
33408 : : {
33409 : 0 : case SSA_NAME:
33410 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
33411 : : {
33412 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
33413 : 0 : switch (gimple_assign_rhs_code (_a4))
33414 : : {
33415 : 0 : case NE_EXPR:
33416 : 0 : {
33417 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
33418 : 0 : _q90 = do_valueize (valueize, _q90);
33419 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
33420 : 0 : _q91 = do_valueize (valueize, _q91);
33421 : 0 : if (tree_swap_operands_p (_q90, _q91))
33422 : 0 : std::swap (_q90, _q91);
33423 : 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
33424 : : {
33425 : 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
33426 : : {
33427 : 0 : {
33428 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q30, _q21, _p1 };
33429 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, LT_EXPR))
33430 : 0 : return true;
33431 : : }
33432 : : }
33433 : : }
33434 : 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
33435 : : {
33436 : 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
33437 : : {
33438 : 0 : {
33439 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q30, _q21, _p1 };
33440 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, LT_EXPR))
33441 : 0 : return true;
33442 : : }
33443 : : }
33444 : : }
33445 : 360531 : break;
33446 : : }
33447 : : default:;
33448 : : }
33449 : : }
33450 : : break;
33451 : : default:;
33452 : : }
33453 : 360531 : break;
33454 : : }
33455 : : default:;
33456 : : }
33457 : : }
33458 : : break;
33459 : : default:;
33460 : : }
33461 : : }
33462 : 360531 : break;
33463 : : }
33464 : : default:;
33465 : : }
33466 : : }
33467 : : break;
33468 : 360531 : default:;
33469 : : }
33470 : 360531 : switch (TREE_CODE (_q21))
33471 : : {
33472 : 297403 : case SSA_NAME:
33473 : 297403 : if (gimple *_d2 = get_def (valueize, _q21))
33474 : : {
33475 : 286971 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
33476 : 548093 : switch (gimple_assign_rhs_code (_a2))
33477 : : {
33478 : 44 : case BIT_AND_EXPR:
33479 : 44 : {
33480 : 44 : tree _q40 = gimple_assign_rhs1 (_a2);
33481 : 44 : _q40 = do_valueize (valueize, _q40);
33482 : 44 : tree _q41 = gimple_assign_rhs2 (_a2);
33483 : 44 : _q41 = do_valueize (valueize, _q41);
33484 : 44 : if (tree_swap_operands_p (_q40, _q41))
33485 : 0 : std::swap (_q40, _q41);
33486 : 44 : switch (TREE_CODE (_q40))
33487 : : {
33488 : 44 : case SSA_NAME:
33489 : 44 : if (gimple *_d3 = get_def (valueize, _q40))
33490 : : {
33491 : 44 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
33492 : 44 : switch (gimple_assign_rhs_code (_a3))
33493 : : {
33494 : 0 : case BIT_XOR_EXPR:
33495 : 0 : {
33496 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
33497 : 0 : _q50 = do_valueize (valueize, _q50);
33498 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
33499 : 0 : _q51 = do_valueize (valueize, _q51);
33500 : 0 : if (tree_swap_operands_p (_q50, _q51))
33501 : 0 : std::swap (_q50, _q51);
33502 : 0 : if (tree_expr_nonzero_p (_q41))
33503 : : {
33504 : 0 : switch (TREE_CODE (_p1))
33505 : : {
33506 : 0 : case SSA_NAME:
33507 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
33508 : : {
33509 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
33510 : 0 : switch (gimple_assign_rhs_code (_a4))
33511 : : {
33512 : 0 : case NE_EXPR:
33513 : 0 : {
33514 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
33515 : 0 : _q90 = do_valueize (valueize, _q90);
33516 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
33517 : 0 : _q91 = do_valueize (valueize, _q91);
33518 : 0 : if (tree_swap_operands_p (_q90, _q91))
33519 : 0 : std::swap (_q90, _q91);
33520 : 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
33521 : : {
33522 : 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
33523 : : {
33524 : 0 : {
33525 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q41, _q20, _p1 };
33526 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, GT_EXPR))
33527 : 0 : return true;
33528 : : }
33529 : : }
33530 : : }
33531 : 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
33532 : : {
33533 : 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
33534 : : {
33535 : 0 : {
33536 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q41, _q20, _p1 };
33537 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, GT_EXPR))
33538 : 0 : return true;
33539 : : }
33540 : : }
33541 : : }
33542 : 44 : break;
33543 : : }
33544 : : default:;
33545 : : }
33546 : : }
33547 : : break;
33548 : : default:;
33549 : : }
33550 : : }
33551 : 44 : break;
33552 : : }
33553 : : default:;
33554 : : }
33555 : : }
33556 : : break;
33557 : 44 : default:;
33558 : : }
33559 : 44 : if (tree_expr_nonzero_p (_q40))
33560 : : {
33561 : 13 : switch (TREE_CODE (_q41))
33562 : : {
33563 : 0 : case SSA_NAME:
33564 : 0 : if (gimple *_d3 = get_def (valueize, _q41))
33565 : : {
33566 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
33567 : 0 : switch (gimple_assign_rhs_code (_a3))
33568 : : {
33569 : 0 : case BIT_XOR_EXPR:
33570 : 0 : {
33571 : 0 : tree _q60 = gimple_assign_rhs1 (_a3);
33572 : 0 : _q60 = do_valueize (valueize, _q60);
33573 : 0 : tree _q61 = gimple_assign_rhs2 (_a3);
33574 : 0 : _q61 = do_valueize (valueize, _q61);
33575 : 0 : if (tree_swap_operands_p (_q60, _q61))
33576 : 0 : std::swap (_q60, _q61);
33577 : 0 : switch (TREE_CODE (_p1))
33578 : : {
33579 : 0 : case SSA_NAME:
33580 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
33581 : : {
33582 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
33583 : 0 : switch (gimple_assign_rhs_code (_a4))
33584 : : {
33585 : 0 : case NE_EXPR:
33586 : 0 : {
33587 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
33588 : 0 : _q90 = do_valueize (valueize, _q90);
33589 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
33590 : 0 : _q91 = do_valueize (valueize, _q91);
33591 : 0 : if (tree_swap_operands_p (_q90, _q91))
33592 : 0 : std::swap (_q90, _q91);
33593 : 0 : if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
33594 : : {
33595 : 0 : if ((_q91 == _q61 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q61, 0) && types_match (_q91, _q61)))
33596 : : {
33597 : 0 : {
33598 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q60, _q61, _q40, _q20, _p1 };
33599 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, GT_EXPR))
33600 : 0 : return true;
33601 : : }
33602 : : }
33603 : : }
33604 : 0 : if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
33605 : : {
33606 : 0 : if ((_q91 == _q60 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q60, 0) && types_match (_q91, _q60)))
33607 : : {
33608 : 0 : {
33609 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q61, _q60, _q40, _q20, _p1 };
33610 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, GT_EXPR))
33611 : 0 : return true;
33612 : : }
33613 : : }
33614 : : }
33615 : 360531 : break;
33616 : : }
33617 : : default:;
33618 : : }
33619 : : }
33620 : : break;
33621 : : default:;
33622 : : }
33623 : 360531 : break;
33624 : : }
33625 : : default:;
33626 : : }
33627 : : }
33628 : : break;
33629 : : default:;
33630 : : }
33631 : : }
33632 : 360531 : break;
33633 : : }
33634 : : default:;
33635 : : }
33636 : : }
33637 : : break;
33638 : 360531 : default:;
33639 : : }
33640 : 360531 : switch (TREE_CODE (_q20))
33641 : : {
33642 : 360484 : case SSA_NAME:
33643 : 360484 : if (gimple *_d2 = get_def (valueize, _q20))
33644 : : {
33645 : 341122 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
33646 : 591131 : switch (gimple_assign_rhs_code (_a2))
33647 : : {
33648 : 4 : case BIT_XOR_EXPR:
33649 : 4 : {
33650 : 4 : tree _q30 = gimple_assign_rhs1 (_a2);
33651 : 4 : _q30 = do_valueize (valueize, _q30);
33652 : 4 : tree _q31 = gimple_assign_rhs2 (_a2);
33653 : 4 : _q31 = do_valueize (valueize, _q31);
33654 : 4 : if (tree_swap_operands_p (_q30, _q31))
33655 : 0 : std::swap (_q30, _q31);
33656 : 4 : switch (TREE_CODE (_p1))
33657 : : {
33658 : 4 : case SSA_NAME:
33659 : 4 : if (gimple *_d3 = get_def (valueize, _p1))
33660 : : {
33661 : 4 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
33662 : 4 : switch (gimple_assign_rhs_code (_a3))
33663 : : {
33664 : 0 : case NE_EXPR:
33665 : 0 : {
33666 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
33667 : 0 : _q70 = do_valueize (valueize, _q70);
33668 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
33669 : 0 : _q71 = do_valueize (valueize, _q71);
33670 : 0 : if (tree_swap_operands_p (_q70, _q71))
33671 : 0 : std::swap (_q70, _q71);
33672 : 0 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
33673 : : {
33674 : 0 : if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
33675 : : {
33676 : 0 : {
33677 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
33678 : 0 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, LT_EXPR))
33679 : 0 : return true;
33680 : : }
33681 : : }
33682 : : }
33683 : 0 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
33684 : : {
33685 : 0 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
33686 : : {
33687 : 0 : {
33688 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q21, _p1 };
33689 : 0 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, LT_EXPR))
33690 : 0 : return true;
33691 : : }
33692 : : }
33693 : : }
33694 : 360531 : break;
33695 : : }
33696 : : default:;
33697 : : }
33698 : : }
33699 : : break;
33700 : : default:;
33701 : : }
33702 : 360531 : break;
33703 : : }
33704 : : default:;
33705 : : }
33706 : : }
33707 : : break;
33708 : 360531 : default:;
33709 : : }
33710 : 360531 : switch (TREE_CODE (_q21))
33711 : : {
33712 : 297403 : case SSA_NAME:
33713 : 297403 : if (gimple *_d2 = get_def (valueize, _q21))
33714 : : {
33715 : 286971 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
33716 : 548093 : switch (gimple_assign_rhs_code (_a2))
33717 : : {
33718 : 0 : case BIT_XOR_EXPR:
33719 : 0 : {
33720 : 0 : tree _q40 = gimple_assign_rhs1 (_a2);
33721 : 0 : _q40 = do_valueize (valueize, _q40);
33722 : 0 : tree _q41 = gimple_assign_rhs2 (_a2);
33723 : 0 : _q41 = do_valueize (valueize, _q41);
33724 : 0 : if (tree_swap_operands_p (_q40, _q41))
33725 : 0 : std::swap (_q40, _q41);
33726 : 0 : switch (TREE_CODE (_p1))
33727 : : {
33728 : 0 : case SSA_NAME:
33729 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
33730 : : {
33731 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
33732 : 0 : switch (gimple_assign_rhs_code (_a3))
33733 : : {
33734 : 0 : case NE_EXPR:
33735 : 0 : {
33736 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
33737 : 0 : _q70 = do_valueize (valueize, _q70);
33738 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
33739 : 0 : _q71 = do_valueize (valueize, _q71);
33740 : 0 : if (tree_swap_operands_p (_q70, _q71))
33741 : 0 : std::swap (_q70, _q71);
33742 : 0 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
33743 : : {
33744 : 0 : if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
33745 : : {
33746 : 0 : {
33747 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q20, _p1 };
33748 : 0 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, GT_EXPR))
33749 : 0 : return true;
33750 : : }
33751 : : }
33752 : : }
33753 : 0 : if ((_q70 == _q41 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q41, 0) && types_match (_q70, _q41)))
33754 : : {
33755 : 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
33756 : : {
33757 : 0 : {
33758 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q41, _q40, _q20, _p1 };
33759 : 0 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, GT_EXPR))
33760 : 0 : return true;
33761 : : }
33762 : : }
33763 : : }
33764 : 4279330 : break;
33765 : : }
33766 : : default:;
33767 : : }
33768 : : }
33769 : : break;
33770 : : default:;
33771 : : }
33772 : 4279330 : break;
33773 : : }
33774 : : default:;
33775 : : }
33776 : : }
33777 : : break;
33778 : : default:;
33779 : : }
33780 : : break;
33781 : : }
33782 : 403070 : case NE_EXPR:
33783 : 403070 : {
33784 : 403070 : tree _q20 = gimple_assign_rhs1 (_a1);
33785 : 403070 : _q20 = do_valueize (valueize, _q20);
33786 : 403070 : tree _q21 = gimple_assign_rhs2 (_a1);
33787 : 403070 : _q21 = do_valueize (valueize, _q21);
33788 : 403070 : if (tree_swap_operands_p (_q20, _q21))
33789 : 6512 : std::swap (_q20, _q21);
33790 : 403070 : if (gimple_min_value (_q21, valueize))
33791 : : {
33792 : 19871 : switch (TREE_CODE (_p1))
33793 : : {
33794 : 19871 : case SSA_NAME:
33795 : 19871 : if (gimple *_d2 = get_def (valueize, _p1))
33796 : : {
33797 : 19633 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
33798 : 18447 : switch (gimple_assign_rhs_code (_a2))
33799 : : {
33800 : 656 : case GT_EXPR:
33801 : 656 : {
33802 : 656 : tree _q50 = gimple_assign_rhs1 (_a2);
33803 : 656 : _q50 = do_valueize (valueize, _q50);
33804 : 656 : tree _q51 = gimple_assign_rhs2 (_a2);
33805 : 656 : _q51 = do_valueize (valueize, _q51);
33806 : 656 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
33807 : : {
33808 : 0 : {
33809 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _p0 };
33810 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures))
33811 : 0 : return true;
33812 : : }
33813 : : }
33814 : : break;
33815 : : }
33816 : 520 : case LT_EXPR:
33817 : 520 : {
33818 : 520 : tree _q50 = gimple_assign_rhs1 (_a2);
33819 : 520 : _q50 = do_valueize (valueize, _q50);
33820 : 520 : tree _q51 = gimple_assign_rhs2 (_a2);
33821 : 520 : _q51 = do_valueize (valueize, _q51);
33822 : 520 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
33823 : : {
33824 : 0 : {
33825 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _p0 };
33826 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures))
33827 : 0 : return true;
33828 : : }
33829 : : }
33830 : : break;
33831 : : }
33832 : 628 : case LE_EXPR:
33833 : 628 : {
33834 : 628 : tree _q50 = gimple_assign_rhs1 (_a2);
33835 : 628 : _q50 = do_valueize (valueize, _q50);
33836 : 628 : tree _q51 = gimple_assign_rhs2 (_a2);
33837 : 628 : _q51 = do_valueize (valueize, _q51);
33838 : 628 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
33839 : : {
33840 : 0 : {
33841 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q51 };
33842 : 0 : if (gimple_simplify_166 (res_op, seq, valueize, type, captures))
33843 : 0 : return true;
33844 : : }
33845 : : }
33846 : : break;
33847 : : }
33848 : 56 : case GE_EXPR:
33849 : 56 : {
33850 : 56 : tree _q50 = gimple_assign_rhs1 (_a2);
33851 : 56 : _q50 = do_valueize (valueize, _q50);
33852 : 56 : tree _q51 = gimple_assign_rhs2 (_a2);
33853 : 56 : _q51 = do_valueize (valueize, _q51);
33854 : 56 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
33855 : : {
33856 : 0 : {
33857 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
33858 : 0 : if (gimple_simplify_166 (res_op, seq, valueize, type, captures))
33859 : 0 : return true;
33860 : : }
33861 : : }
33862 : : break;
33863 : : }
33864 : : default:;
33865 : : }
33866 : : }
33867 : : break;
33868 : : default:;
33869 : : }
33870 : : }
33871 : 403070 : if (gimple_max_value (_q21, valueize))
33872 : : {
33873 : 4176 : switch (TREE_CODE (_p1))
33874 : : {
33875 : 4176 : case SSA_NAME:
33876 : 4176 : if (gimple *_d2 = get_def (valueize, _p1))
33877 : : {
33878 : 4176 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
33879 : 4141 : switch (gimple_assign_rhs_code (_a2))
33880 : : {
33881 : 3460 : case LT_EXPR:
33882 : 3460 : {
33883 : 3460 : tree _q50 = gimple_assign_rhs1 (_a2);
33884 : 3460 : _q50 = do_valueize (valueize, _q50);
33885 : 3460 : tree _q51 = gimple_assign_rhs2 (_a2);
33886 : 3460 : _q51 = do_valueize (valueize, _q51);
33887 : 3460 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
33888 : : {
33889 : 7 : {
33890 : 7 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _p0 };
33891 : 7 : if (gimple_simplify_167 (res_op, seq, valueize, type, captures))
33892 : 7 : return true;
33893 : : }
33894 : : }
33895 : : break;
33896 : : }
33897 : 184 : case GT_EXPR:
33898 : 184 : {
33899 : 184 : tree _q50 = gimple_assign_rhs1 (_a2);
33900 : 184 : _q50 = do_valueize (valueize, _q50);
33901 : 184 : tree _q51 = gimple_assign_rhs2 (_a2);
33902 : 184 : _q51 = do_valueize (valueize, _q51);
33903 : 184 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
33904 : : {
33905 : 0 : {
33906 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _p0 };
33907 : 0 : if (gimple_simplify_167 (res_op, seq, valueize, type, captures))
33908 : 0 : return true;
33909 : : }
33910 : : }
33911 : : break;
33912 : : }
33913 : 0 : case GE_EXPR:
33914 : 0 : {
33915 : 0 : tree _q50 = gimple_assign_rhs1 (_a2);
33916 : 0 : _q50 = do_valueize (valueize, _q50);
33917 : 0 : tree _q51 = gimple_assign_rhs2 (_a2);
33918 : 0 : _q51 = do_valueize (valueize, _q51);
33919 : 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
33920 : : {
33921 : 0 : {
33922 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
33923 : 0 : if (gimple_simplify_168 (res_op, seq, valueize, type, captures, NE_EXPR))
33924 : 0 : return true;
33925 : : }
33926 : : }
33927 : : break;
33928 : : }
33929 : 56 : case LE_EXPR:
33930 : 56 : {
33931 : 56 : tree _q50 = gimple_assign_rhs1 (_a2);
33932 : 56 : _q50 = do_valueize (valueize, _q50);
33933 : 56 : tree _q51 = gimple_assign_rhs2 (_a2);
33934 : 56 : _q51 = do_valueize (valueize, _q51);
33935 : 56 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
33936 : : {
33937 : 0 : {
33938 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
33939 : 0 : if (gimple_simplify_168 (res_op, seq, valueize, type, captures, NE_EXPR))
33940 : 0 : return true;
33941 : : }
33942 : : }
33943 : : break;
33944 : : }
33945 : : default:;
33946 : : }
33947 : : }
33948 : : break;
33949 : : default:;
33950 : : }
33951 : : }
33952 : 403063 : switch (TREE_CODE (_p1))
33953 : : {
33954 : 403063 : case SSA_NAME:
33955 : 403063 : if (gimple *_d2 = get_def (valueize, _p1))
33956 : : {
33957 : 401529 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
33958 : 392378 : switch (gimple_assign_rhs_code (_a2))
33959 : : {
33960 : 23495 : case EQ_EXPR:
33961 : 23495 : {
33962 : 23495 : tree _q50 = gimple_assign_rhs1 (_a2);
33963 : 23495 : _q50 = do_valueize (valueize, _q50);
33964 : 23495 : tree _q51 = gimple_assign_rhs2 (_a2);
33965 : 23495 : _q51 = do_valueize (valueize, _q51);
33966 : 23495 : if (tree_swap_operands_p (_q50, _q51))
33967 : 386 : std::swap (_q50, _q51);
33968 : 23495 : switch (TREE_CODE (_q50))
33969 : : {
33970 : 23495 : case SSA_NAME:
33971 : 23495 : if (gimple *_d3 = get_def (valueize, _q50))
33972 : : {
33973 : 22009 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
33974 : 28602 : switch (gimple_assign_rhs_code (_a3))
33975 : : {
33976 : 288 : CASE_CONVERT:
33977 : 288 : {
33978 : 288 : tree _q60 = gimple_assign_rhs1 (_a3);
33979 : 288 : _q60 = do_valueize (valueize, _q60);
33980 : 288 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
33981 : : {
33982 : 0 : {
33983 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
33984 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
33985 : 0 : return true;
33986 : : }
33987 : : }
33988 : 288 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
33989 : : {
33990 : 0 : {
33991 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
33992 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
33993 : 0 : return true;
33994 : : }
33995 : : }
33996 : : break;
33997 : : }
33998 : : default:;
33999 : : }
34000 : : }
34001 : : break;
34002 : 23495 : default:;
34003 : : }
34004 : 23495 : switch (TREE_CODE (_q51))
34005 : : {
34006 : 2618 : case SSA_NAME:
34007 : 2618 : if (gimple *_d3 = get_def (valueize, _q51))
34008 : : {
34009 : 2517 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
34010 : 2590 : switch (gimple_assign_rhs_code (_a3))
34011 : : {
34012 : 202 : CASE_CONVERT:
34013 : 202 : {
34014 : 202 : tree _q70 = gimple_assign_rhs1 (_a3);
34015 : 202 : _q70 = do_valueize (valueize, _q70);
34016 : 202 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
34017 : : {
34018 : 0 : {
34019 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
34020 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
34021 : 0 : return true;
34022 : : }
34023 : : }
34024 : 202 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
34025 : : {
34026 : 0 : {
34027 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
34028 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
34029 : 0 : return true;
34030 : : }
34031 : : }
34032 : : break;
34033 : : }
34034 : : default:;
34035 : : }
34036 : : }
34037 : : break;
34038 : : default:;
34039 : : }
34040 : 403063 : break;
34041 : : }
34042 : 336842 : case NE_EXPR:
34043 : 336842 : {
34044 : 336842 : tree _q50 = gimple_assign_rhs1 (_a2);
34045 : 336842 : _q50 = do_valueize (valueize, _q50);
34046 : 336842 : tree _q51 = gimple_assign_rhs2 (_a2);
34047 : 336842 : _q51 = do_valueize (valueize, _q51);
34048 : 336842 : if (tree_swap_operands_p (_q50, _q51))
34049 : 3081 : std::swap (_q50, _q51);
34050 : 336842 : switch (TREE_CODE (_q50))
34051 : : {
34052 : 336842 : case SSA_NAME:
34053 : 336842 : if (gimple *_d3 = get_def (valueize, _q50))
34054 : : {
34055 : 305920 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
34056 : 491404 : switch (gimple_assign_rhs_code (_a3))
34057 : : {
34058 : 12687 : CASE_CONVERT:
34059 : 12687 : {
34060 : 12687 : tree _q60 = gimple_assign_rhs1 (_a3);
34061 : 12687 : _q60 = do_valueize (valueize, _q60);
34062 : 12687 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
34063 : : {
34064 : 6 : {
34065 : 6 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
34066 : 6 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
34067 : 0 : return true;
34068 : : }
34069 : : }
34070 : 12687 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
34071 : : {
34072 : 0 : {
34073 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
34074 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
34075 : 0 : return true;
34076 : : }
34077 : : }
34078 : : break;
34079 : : }
34080 : : default:;
34081 : : }
34082 : : }
34083 : : break;
34084 : 336842 : default:;
34085 : : }
34086 : 336842 : switch (TREE_CODE (_q51))
34087 : : {
34088 : 27192 : case SSA_NAME:
34089 : 27192 : if (gimple *_d3 = get_def (valueize, _q51))
34090 : : {
34091 : 23118 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
34092 : 35245 : switch (gimple_assign_rhs_code (_a3))
34093 : : {
34094 : 2434 : CASE_CONVERT:
34095 : 2434 : {
34096 : 2434 : tree _q70 = gimple_assign_rhs1 (_a3);
34097 : 2434 : _q70 = do_valueize (valueize, _q70);
34098 : 2434 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
34099 : : {
34100 : 0 : {
34101 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
34102 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
34103 : 0 : return true;
34104 : : }
34105 : : }
34106 : 2434 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
34107 : : {
34108 : 0 : {
34109 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
34110 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
34111 : 0 : return true;
34112 : : }
34113 : : }
34114 : : break;
34115 : : }
34116 : : default:;
34117 : : }
34118 : : }
34119 : : break;
34120 : : default:;
34121 : : }
34122 : 403063 : break;
34123 : : }
34124 : 10275 : case LT_EXPR:
34125 : 10275 : {
34126 : 10275 : tree _q50 = gimple_assign_rhs1 (_a2);
34127 : 10275 : _q50 = do_valueize (valueize, _q50);
34128 : 10275 : tree _q51 = gimple_assign_rhs2 (_a2);
34129 : 10275 : _q51 = do_valueize (valueize, _q51);
34130 : 10275 : switch (TREE_CODE (_q50))
34131 : : {
34132 : 10275 : case SSA_NAME:
34133 : 10275 : if (gimple *_d3 = get_def (valueize, _q50))
34134 : : {
34135 : 9464 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
34136 : 13272 : switch (gimple_assign_rhs_code (_a3))
34137 : : {
34138 : 113 : CASE_CONVERT:
34139 : 113 : {
34140 : 113 : tree _q60 = gimple_assign_rhs1 (_a3);
34141 : 113 : _q60 = do_valueize (valueize, _q60);
34142 : 113 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
34143 : : {
34144 : 0 : {
34145 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
34146 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
34147 : 0 : return true;
34148 : : }
34149 : : }
34150 : 113 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
34151 : : {
34152 : 30 : {
34153 : 30 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
34154 : 30 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
34155 : 0 : return true;
34156 : : }
34157 : : }
34158 : : break;
34159 : : }
34160 : : default:;
34161 : : }
34162 : : }
34163 : : break;
34164 : 10275 : default:;
34165 : : }
34166 : 10275 : switch (TREE_CODE (_q51))
34167 : : {
34168 : 3588 : case SSA_NAME:
34169 : 3588 : if (gimple *_d3 = get_def (valueize, _q51))
34170 : : {
34171 : 3372 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
34172 : 6631 : switch (gimple_assign_rhs_code (_a3))
34173 : : {
34174 : 36 : CASE_CONVERT:
34175 : 36 : {
34176 : 36 : tree _q70 = gimple_assign_rhs1 (_a3);
34177 : 36 : _q70 = do_valueize (valueize, _q70);
34178 : 36 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
34179 : : {
34180 : 0 : {
34181 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
34182 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
34183 : 0 : return true;
34184 : : }
34185 : : }
34186 : 36 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
34187 : : {
34188 : 0 : {
34189 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
34190 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
34191 : 0 : return true;
34192 : : }
34193 : : }
34194 : : break;
34195 : : }
34196 : : default:;
34197 : : }
34198 : : }
34199 : : break;
34200 : : default:;
34201 : : }
34202 : : break;
34203 : : }
34204 : 1929 : case GT_EXPR:
34205 : 1929 : {
34206 : 1929 : tree _q50 = gimple_assign_rhs1 (_a2);
34207 : 1929 : _q50 = do_valueize (valueize, _q50);
34208 : 1929 : tree _q51 = gimple_assign_rhs2 (_a2);
34209 : 1929 : _q51 = do_valueize (valueize, _q51);
34210 : 1929 : switch (TREE_CODE (_q50))
34211 : : {
34212 : 1929 : case SSA_NAME:
34213 : 1929 : if (gimple *_d3 = get_def (valueize, _q50))
34214 : : {
34215 : 1816 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
34216 : 1913 : switch (gimple_assign_rhs_code (_a3))
34217 : : {
34218 : 278 : CASE_CONVERT:
34219 : 278 : {
34220 : 278 : tree _q60 = gimple_assign_rhs1 (_a3);
34221 : 278 : _q60 = do_valueize (valueize, _q60);
34222 : 278 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
34223 : : {
34224 : 0 : {
34225 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
34226 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
34227 : 0 : return true;
34228 : : }
34229 : : }
34230 : 278 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
34231 : : {
34232 : 0 : {
34233 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
34234 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
34235 : 0 : return true;
34236 : : }
34237 : : }
34238 : : break;
34239 : : }
34240 : : default:;
34241 : : }
34242 : : }
34243 : : break;
34244 : 1929 : default:;
34245 : : }
34246 : 1929 : switch (TREE_CODE (_q51))
34247 : : {
34248 : 365 : case SSA_NAME:
34249 : 365 : if (gimple *_d3 = get_def (valueize, _q51))
34250 : : {
34251 : 303 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
34252 : 505 : switch (gimple_assign_rhs_code (_a3))
34253 : : {
34254 : 12 : CASE_CONVERT:
34255 : 12 : {
34256 : 12 : tree _q70 = gimple_assign_rhs1 (_a3);
34257 : 12 : _q70 = do_valueize (valueize, _q70);
34258 : 12 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
34259 : : {
34260 : 0 : {
34261 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
34262 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
34263 : 0 : return true;
34264 : : }
34265 : : }
34266 : 12 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
34267 : : {
34268 : 0 : {
34269 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
34270 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
34271 : 0 : return true;
34272 : : }
34273 : : }
34274 : : break;
34275 : : }
34276 : : default:;
34277 : : }
34278 : : }
34279 : : break;
34280 : : default:;
34281 : : }
34282 : : break;
34283 : : }
34284 : 2641 : case LE_EXPR:
34285 : 2641 : {
34286 : 2641 : tree _q50 = gimple_assign_rhs1 (_a2);
34287 : 2641 : _q50 = do_valueize (valueize, _q50);
34288 : 2641 : tree _q51 = gimple_assign_rhs2 (_a2);
34289 : 2641 : _q51 = do_valueize (valueize, _q51);
34290 : 2641 : switch (TREE_CODE (_q50))
34291 : : {
34292 : 2641 : case SSA_NAME:
34293 : 2641 : if (gimple *_d3 = get_def (valueize, _q50))
34294 : : {
34295 : 2514 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
34296 : 3329 : switch (gimple_assign_rhs_code (_a3))
34297 : : {
34298 : 226 : CASE_CONVERT:
34299 : 226 : {
34300 : 226 : tree _q60 = gimple_assign_rhs1 (_a3);
34301 : 226 : _q60 = do_valueize (valueize, _q60);
34302 : 226 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
34303 : : {
34304 : 0 : {
34305 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
34306 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
34307 : 0 : return true;
34308 : : }
34309 : : }
34310 : 226 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
34311 : : {
34312 : 0 : {
34313 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
34314 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
34315 : 0 : return true;
34316 : : }
34317 : : }
34318 : : break;
34319 : : }
34320 : : default:;
34321 : : }
34322 : : }
34323 : : break;
34324 : 2641 : default:;
34325 : : }
34326 : 2641 : switch (TREE_CODE (_q51))
34327 : : {
34328 : 270 : case SSA_NAME:
34329 : 270 : if (gimple *_d3 = get_def (valueize, _q51))
34330 : : {
34331 : 249 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
34332 : 357 : switch (gimple_assign_rhs_code (_a3))
34333 : : {
34334 : 3 : CASE_CONVERT:
34335 : 3 : {
34336 : 3 : tree _q70 = gimple_assign_rhs1 (_a3);
34337 : 3 : _q70 = do_valueize (valueize, _q70);
34338 : 3 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
34339 : : {
34340 : 0 : {
34341 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
34342 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
34343 : 0 : return true;
34344 : : }
34345 : : }
34346 : 3 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
34347 : : {
34348 : 0 : {
34349 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
34350 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
34351 : 0 : return true;
34352 : : }
34353 : : }
34354 : : break;
34355 : : }
34356 : : default:;
34357 : : }
34358 : : }
34359 : : break;
34360 : : default:;
34361 : : }
34362 : : break;
34363 : : }
34364 : 217 : case GE_EXPR:
34365 : 217 : {
34366 : 217 : tree _q50 = gimple_assign_rhs1 (_a2);
34367 : 217 : _q50 = do_valueize (valueize, _q50);
34368 : 217 : tree _q51 = gimple_assign_rhs2 (_a2);
34369 : 217 : _q51 = do_valueize (valueize, _q51);
34370 : 217 : switch (TREE_CODE (_q50))
34371 : : {
34372 : 217 : case SSA_NAME:
34373 : 217 : if (gimple *_d3 = get_def (valueize, _q50))
34374 : : {
34375 : 200 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
34376 : 246 : switch (gimple_assign_rhs_code (_a3))
34377 : : {
34378 : 99 : CASE_CONVERT:
34379 : 99 : {
34380 : 99 : tree _q60 = gimple_assign_rhs1 (_a3);
34381 : 99 : _q60 = do_valueize (valueize, _q60);
34382 : 99 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
34383 : : {
34384 : 0 : {
34385 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
34386 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
34387 : 0 : return true;
34388 : : }
34389 : : }
34390 : 99 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
34391 : : {
34392 : 0 : {
34393 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
34394 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
34395 : 0 : return true;
34396 : : }
34397 : : }
34398 : : break;
34399 : : }
34400 : : default:;
34401 : : }
34402 : : }
34403 : : break;
34404 : 217 : default:;
34405 : : }
34406 : 217 : switch (TREE_CODE (_q51))
34407 : : {
34408 : 152 : case SSA_NAME:
34409 : 152 : if (gimple *_d3 = get_def (valueize, _q51))
34410 : : {
34411 : 141 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
34412 : 102 : switch (gimple_assign_rhs_code (_a3))
34413 : : {
34414 : 72 : CASE_CONVERT:
34415 : 72 : {
34416 : 72 : tree _q70 = gimple_assign_rhs1 (_a3);
34417 : 72 : _q70 = do_valueize (valueize, _q70);
34418 : 72 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
34419 : : {
34420 : 0 : {
34421 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
34422 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
34423 : 0 : return true;
34424 : : }
34425 : : }
34426 : 72 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
34427 : : {
34428 : 0 : {
34429 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
34430 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
34431 : 0 : return true;
34432 : : }
34433 : : }
34434 : : break;
34435 : : }
34436 : : default:;
34437 : : }
34438 : : }
34439 : : break;
34440 : : default:;
34441 : : }
34442 : : break;
34443 : : }
34444 : : default:;
34445 : : }
34446 : : }
34447 : : break;
34448 : 403063 : default:;
34449 : : }
34450 : 403063 : switch (TREE_CODE (_q20))
34451 : : {
34452 : 403063 : case SSA_NAME:
34453 : 403063 : if (gimple *_d2 = get_def (valueize, _q20))
34454 : : {
34455 : 366617 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
34456 : 558195 : switch (gimple_assign_rhs_code (_a2))
34457 : : {
34458 : 26883 : CASE_CONVERT:
34459 : 26883 : {
34460 : 26883 : tree _q30 = gimple_assign_rhs1 (_a2);
34461 : 26883 : _q30 = do_valueize (valueize, _q30);
34462 : 26883 : switch (TREE_CODE (_p1))
34463 : : {
34464 : 26883 : case SSA_NAME:
34465 : 26883 : if (gimple *_d3 = get_def (valueize, _p1))
34466 : : {
34467 : 26860 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
34468 : 26503 : switch (gimple_assign_rhs_code (_a3))
34469 : : {
34470 : 1617 : case EQ_EXPR:
34471 : 1617 : {
34472 : 1617 : tree _q60 = gimple_assign_rhs1 (_a3);
34473 : 1617 : _q60 = do_valueize (valueize, _q60);
34474 : 1617 : tree _q61 = gimple_assign_rhs2 (_a3);
34475 : 1617 : _q61 = do_valueize (valueize, _q61);
34476 : 1617 : if (tree_swap_operands_p (_q60, _q61))
34477 : 0 : std::swap (_q60, _q61);
34478 : 1617 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
34479 : : {
34480 : 55 : {
34481 : 55 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
34482 : 55 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
34483 : 0 : return true;
34484 : : }
34485 : : }
34486 : 1617 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
34487 : : {
34488 : 0 : {
34489 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
34490 : 0 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
34491 : 0 : return true;
34492 : : }
34493 : : }
34494 : 403063 : break;
34495 : : }
34496 : 13784 : case NE_EXPR:
34497 : 13784 : {
34498 : 13784 : tree _q60 = gimple_assign_rhs1 (_a3);
34499 : 13784 : _q60 = do_valueize (valueize, _q60);
34500 : 13784 : tree _q61 = gimple_assign_rhs2 (_a3);
34501 : 13784 : _q61 = do_valueize (valueize, _q61);
34502 : 13784 : if (tree_swap_operands_p (_q60, _q61))
34503 : 48 : std::swap (_q60, _q61);
34504 : 13784 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
34505 : : {
34506 : 11 : {
34507 : 11 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
34508 : 11 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
34509 : 0 : return true;
34510 : : }
34511 : : }
34512 : 13784 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
34513 : : {
34514 : 0 : {
34515 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
34516 : 0 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
34517 : 0 : return true;
34518 : : }
34519 : : }
34520 : 403063 : break;
34521 : : }
34522 : : default:;
34523 : : }
34524 : : }
34525 : : break;
34526 : : default:;
34527 : : }
34528 : : break;
34529 : : }
34530 : : default:;
34531 : : }
34532 : : }
34533 : : break;
34534 : 403063 : default:;
34535 : : }
34536 : 403063 : switch (TREE_CODE (_q21))
34537 : : {
34538 : 49001 : case SSA_NAME:
34539 : 49001 : if (gimple *_d2 = get_def (valueize, _q21))
34540 : : {
34541 : 42640 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
34542 : 51147 : switch (gimple_assign_rhs_code (_a2))
34543 : : {
34544 : 2403 : CASE_CONVERT:
34545 : 2403 : {
34546 : 2403 : tree _q40 = gimple_assign_rhs1 (_a2);
34547 : 2403 : _q40 = do_valueize (valueize, _q40);
34548 : 2403 : switch (TREE_CODE (_p1))
34549 : : {
34550 : 2403 : case SSA_NAME:
34551 : 2403 : if (gimple *_d3 = get_def (valueize, _p1))
34552 : : {
34553 : 2391 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
34554 : 2252 : switch (gimple_assign_rhs_code (_a3))
34555 : : {
34556 : 254 : case EQ_EXPR:
34557 : 254 : {
34558 : 254 : tree _q60 = gimple_assign_rhs1 (_a3);
34559 : 254 : _q60 = do_valueize (valueize, _q60);
34560 : 254 : tree _q61 = gimple_assign_rhs2 (_a3);
34561 : 254 : _q61 = do_valueize (valueize, _q61);
34562 : 254 : if (tree_swap_operands_p (_q60, _q61))
34563 : 24 : std::swap (_q60, _q61);
34564 : 254 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
34565 : : {
34566 : 2 : {
34567 : 2 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
34568 : 2 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
34569 : 0 : return true;
34570 : : }
34571 : : }
34572 : 254 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
34573 : : {
34574 : 0 : {
34575 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
34576 : 0 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
34577 : 0 : return true;
34578 : : }
34579 : : }
34580 : 403063 : break;
34581 : : }
34582 : 1529 : case NE_EXPR:
34583 : 1529 : {
34584 : 1529 : tree _q60 = gimple_assign_rhs1 (_a3);
34585 : 1529 : _q60 = do_valueize (valueize, _q60);
34586 : 1529 : tree _q61 = gimple_assign_rhs2 (_a3);
34587 : 1529 : _q61 = do_valueize (valueize, _q61);
34588 : 1529 : if (tree_swap_operands_p (_q60, _q61))
34589 : 31 : std::swap (_q60, _q61);
34590 : 1529 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
34591 : : {
34592 : 0 : {
34593 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
34594 : 0 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
34595 : 0 : return true;
34596 : : }
34597 : : }
34598 : 1529 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
34599 : : {
34600 : 0 : {
34601 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
34602 : 0 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
34603 : 0 : return true;
34604 : : }
34605 : : }
34606 : 403063 : break;
34607 : : }
34608 : : default:;
34609 : : }
34610 : : }
34611 : : break;
34612 : : default:;
34613 : : }
34614 : : break;
34615 : : }
34616 : : default:;
34617 : : }
34618 : : }
34619 : : break;
34620 : 403063 : default:;
34621 : : }
34622 : 403063 : switch (TREE_CODE (_p1))
34623 : : {
34624 : 403063 : case SSA_NAME:
34625 : 403063 : if (gimple *_d2 = get_def (valueize, _p1))
34626 : : {
34627 : 401529 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
34628 : 392378 : switch (gimple_assign_rhs_code (_a2))
34629 : : {
34630 : 23495 : case EQ_EXPR:
34631 : 23495 : {
34632 : 23495 : tree _q50 = gimple_assign_rhs1 (_a2);
34633 : 23495 : _q50 = do_valueize (valueize, _q50);
34634 : 23495 : tree _q51 = gimple_assign_rhs2 (_a2);
34635 : 23495 : _q51 = do_valueize (valueize, _q51);
34636 : 23495 : if (tree_swap_operands_p (_q50, _q51))
34637 : 386 : std::swap (_q50, _q51);
34638 : 23495 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
34639 : : {
34640 : 3729 : {
34641 : 3729 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
34642 : 3729 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
34643 : 39 : return true;
34644 : : }
34645 : 3690 : {
34646 : 3690 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
34647 : 3690 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
34648 : 0 : return true;
34649 : : }
34650 : : }
34651 : 23456 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
34652 : : {
34653 : 0 : {
34654 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
34655 : 0 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
34656 : 0 : return true;
34657 : : }
34658 : : }
34659 : 23456 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
34660 : : {
34661 : 592 : {
34662 : 592 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
34663 : 592 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
34664 : 0 : return true;
34665 : : }
34666 : 592 : {
34667 : 592 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
34668 : 592 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
34669 : 0 : return true;
34670 : : }
34671 : : }
34672 : 23456 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
34673 : : {
34674 : 971 : {
34675 : 971 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
34676 : 971 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
34677 : 0 : return true;
34678 : : }
34679 : 971 : {
34680 : 971 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
34681 : 971 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
34682 : 0 : return true;
34683 : : }
34684 : : }
34685 : 23456 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
34686 : : {
34687 : 0 : {
34688 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
34689 : 0 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
34690 : 0 : return true;
34691 : : }
34692 : : }
34693 : 402927 : break;
34694 : : }
34695 : 336842 : case NE_EXPR:
34696 : 336842 : {
34697 : 336842 : tree _q50 = gimple_assign_rhs1 (_a2);
34698 : 336842 : _q50 = do_valueize (valueize, _q50);
34699 : 336842 : tree _q51 = gimple_assign_rhs2 (_a2);
34700 : 336842 : _q51 = do_valueize (valueize, _q51);
34701 : 336842 : if (tree_swap_operands_p (_q50, _q51))
34702 : 3081 : std::swap (_q50, _q51);
34703 : 336842 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
34704 : : {
34705 : 1784 : {
34706 : 1784 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
34707 : 1784 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
34708 : 43 : return true;
34709 : : }
34710 : 1741 : {
34711 : 1741 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
34712 : 1741 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
34713 : 0 : return true;
34714 : : }
34715 : : }
34716 : 336799 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
34717 : : {
34718 : 273 : {
34719 : 273 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
34720 : 273 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
34721 : 0 : return true;
34722 : : }
34723 : : }
34724 : 336799 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
34725 : : {
34726 : 1242 : {
34727 : 1242 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
34728 : 1242 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
34729 : 0 : return true;
34730 : : }
34731 : 1242 : {
34732 : 1242 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
34733 : 1242 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
34734 : 0 : return true;
34735 : : }
34736 : : }
34737 : 336799 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
34738 : : {
34739 : 187391 : {
34740 : 187391 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
34741 : 187391 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
34742 : 0 : return true;
34743 : : }
34744 : 187391 : {
34745 : 187391 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
34746 : 187391 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
34747 : 0 : return true;
34748 : : }
34749 : : }
34750 : 336799 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
34751 : : {
34752 : 273 : {
34753 : 273 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
34754 : 273 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
34755 : 0 : return true;
34756 : : }
34757 : : }
34758 : 402927 : break;
34759 : : }
34760 : 10275 : case LT_EXPR:
34761 : 10275 : {
34762 : 10275 : tree _q50 = gimple_assign_rhs1 (_a2);
34763 : 10275 : _q50 = do_valueize (valueize, _q50);
34764 : 10275 : tree _q51 = gimple_assign_rhs2 (_a2);
34765 : 10275 : _q51 = do_valueize (valueize, _q51);
34766 : 10275 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
34767 : : {
34768 : 383 : {
34769 : 383 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
34770 : 383 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
34771 : 0 : return true;
34772 : : }
34773 : : }
34774 : 10275 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
34775 : : {
34776 : 2 : {
34777 : 2 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
34778 : 2 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
34779 : 0 : return true;
34780 : : }
34781 : : }
34782 : 10275 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
34783 : : {
34784 : 529 : {
34785 : 529 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
34786 : 529 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
34787 : 0 : return true;
34788 : : }
34789 : : }
34790 : 10275 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
34791 : : {
34792 : 58 : {
34793 : 58 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
34794 : 58 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
34795 : 0 : return true;
34796 : : }
34797 : : }
34798 : : break;
34799 : : }
34800 : 1929 : case GT_EXPR:
34801 : 1929 : {
34802 : 1929 : tree _q50 = gimple_assign_rhs1 (_a2);
34803 : 1929 : _q50 = do_valueize (valueize, _q50);
34804 : 1929 : tree _q51 = gimple_assign_rhs2 (_a2);
34805 : 1929 : _q51 = do_valueize (valueize, _q51);
34806 : 1929 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
34807 : : {
34808 : 92 : {
34809 : 92 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
34810 : 92 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
34811 : 26 : return true;
34812 : : }
34813 : : }
34814 : 1903 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
34815 : : {
34816 : 34 : {
34817 : 34 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
34818 : 34 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
34819 : 0 : return true;
34820 : : }
34821 : : }
34822 : 1903 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
34823 : : {
34824 : 68 : {
34825 : 68 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
34826 : 68 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
34827 : 0 : return true;
34828 : : }
34829 : : }
34830 : 1903 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
34831 : : {
34832 : 45 : {
34833 : 45 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
34834 : 45 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
34835 : 0 : return true;
34836 : : }
34837 : : }
34838 : : break;
34839 : : }
34840 : 2641 : case LE_EXPR:
34841 : 2641 : {
34842 : 2641 : tree _q50 = gimple_assign_rhs1 (_a2);
34843 : 2641 : _q50 = do_valueize (valueize, _q50);
34844 : 2641 : tree _q51 = gimple_assign_rhs2 (_a2);
34845 : 2641 : _q51 = do_valueize (valueize, _q51);
34846 : 2641 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
34847 : : {
34848 : 50 : {
34849 : 50 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
34850 : 50 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
34851 : 28 : return true;
34852 : : }
34853 : : }
34854 : 2613 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
34855 : : {
34856 : 0 : {
34857 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
34858 : 0 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
34859 : 0 : return true;
34860 : : }
34861 : : }
34862 : 2613 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
34863 : : {
34864 : 16 : {
34865 : 16 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
34866 : 16 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
34867 : 0 : return true;
34868 : : }
34869 : : }
34870 : 2613 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
34871 : : {
34872 : 440 : {
34873 : 440 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
34874 : 440 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
34875 : 0 : return true;
34876 : : }
34877 : : }
34878 : : break;
34879 : : }
34880 : 217 : case GE_EXPR:
34881 : 217 : {
34882 : 217 : tree _q50 = gimple_assign_rhs1 (_a2);
34883 : 217 : _q50 = do_valueize (valueize, _q50);
34884 : 217 : tree _q51 = gimple_assign_rhs2 (_a2);
34885 : 217 : _q51 = do_valueize (valueize, _q51);
34886 : 217 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
34887 : : {
34888 : 20 : {
34889 : 20 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
34890 : 20 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
34891 : 0 : return true;
34892 : : }
34893 : : }
34894 : 217 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
34895 : : {
34896 : 7 : {
34897 : 7 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
34898 : 7 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
34899 : 0 : return true;
34900 : : }
34901 : : }
34902 : 217 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
34903 : : {
34904 : 0 : {
34905 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
34906 : 0 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
34907 : 0 : return true;
34908 : : }
34909 : : }
34910 : 217 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
34911 : : {
34912 : 24 : {
34913 : 24 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
34914 : 24 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
34915 : 0 : return true;
34916 : : }
34917 : : }
34918 : : break;
34919 : : }
34920 : : default:;
34921 : : }
34922 : : }
34923 : : break;
34924 : 402927 : default:;
34925 : : }
34926 : 402927 : switch (TREE_CODE (_q20))
34927 : : {
34928 : 402927 : case SSA_NAME:
34929 : 402927 : if (gimple *_d2 = get_def (valueize, _q20))
34930 : : {
34931 : 366481 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
34932 : 558087 : switch (gimple_assign_rhs_code (_a2))
34933 : : {
34934 : 3202 : case BIT_AND_EXPR:
34935 : 3202 : {
34936 : 3202 : tree _q30 = gimple_assign_rhs1 (_a2);
34937 : 3202 : _q30 = do_valueize (valueize, _q30);
34938 : 3202 : tree _q31 = gimple_assign_rhs2 (_a2);
34939 : 3202 : _q31 = do_valueize (valueize, _q31);
34940 : 3202 : if (tree_swap_operands_p (_q30, _q31))
34941 : 13 : std::swap (_q30, _q31);
34942 : 3202 : switch (TREE_CODE (_q30))
34943 : : {
34944 : 3202 : case SSA_NAME:
34945 : 3202 : if (gimple *_d3 = get_def (valueize, _q30))
34946 : : {
34947 : 3183 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
34948 : 4560 : switch (gimple_assign_rhs_code (_a3))
34949 : : {
34950 : 18 : case BIT_XOR_EXPR:
34951 : 18 : {
34952 : 18 : tree _q40 = gimple_assign_rhs1 (_a3);
34953 : 18 : _q40 = do_valueize (valueize, _q40);
34954 : 18 : tree _q41 = gimple_assign_rhs2 (_a3);
34955 : 18 : _q41 = do_valueize (valueize, _q41);
34956 : 18 : if (tree_swap_operands_p (_q40, _q41))
34957 : 0 : std::swap (_q40, _q41);
34958 : 18 : if (tree_expr_nonzero_p (_q31))
34959 : : {
34960 : 18 : switch (TREE_CODE (_p1))
34961 : : {
34962 : 18 : case SSA_NAME:
34963 : 18 : if (gimple *_d4 = get_def (valueize, _p1))
34964 : : {
34965 : 18 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
34966 : 18 : switch (gimple_assign_rhs_code (_a4))
34967 : : {
34968 : 18 : case NE_EXPR:
34969 : 18 : {
34970 : 18 : tree _q90 = gimple_assign_rhs1 (_a4);
34971 : 18 : _q90 = do_valueize (valueize, _q90);
34972 : 18 : tree _q91 = gimple_assign_rhs2 (_a4);
34973 : 18 : _q91 = do_valueize (valueize, _q91);
34974 : 18 : if (tree_swap_operands_p (_q90, _q91))
34975 : 0 : std::swap (_q90, _q91);
34976 : 18 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
34977 : : {
34978 : 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
34979 : : {
34980 : 0 : {
34981 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _q21, _p1 };
34982 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, NE_EXPR))
34983 : 0 : return true;
34984 : : }
34985 : : }
34986 : : }
34987 : 18 : if ((_q90 == _q41 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q41, 0) && types_match (_q90, _q41)))
34988 : : {
34989 : 0 : if ((_q91 == _q40 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q40, 0) && types_match (_q91, _q40)))
34990 : : {
34991 : 0 : {
34992 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q41, _q40, _q31, _q21, _p1 };
34993 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, NE_EXPR))
34994 : 0 : return true;
34995 : : }
34996 : : }
34997 : : }
34998 : 3202 : break;
34999 : : }
35000 : : default:;
35001 : : }
35002 : : }
35003 : : break;
35004 : : default:;
35005 : : }
35006 : : }
35007 : 3202 : break;
35008 : : }
35009 : : default:;
35010 : : }
35011 : : }
35012 : : break;
35013 : 3202 : default:;
35014 : : }
35015 : 3202 : if (tree_expr_nonzero_p (_q30))
35016 : : {
35017 : 0 : switch (TREE_CODE (_q31))
35018 : : {
35019 : 0 : case SSA_NAME:
35020 : 0 : if (gimple *_d3 = get_def (valueize, _q31))
35021 : : {
35022 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
35023 : 0 : switch (gimple_assign_rhs_code (_a3))
35024 : : {
35025 : 0 : case BIT_XOR_EXPR:
35026 : 0 : {
35027 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
35028 : 0 : _q50 = do_valueize (valueize, _q50);
35029 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
35030 : 0 : _q51 = do_valueize (valueize, _q51);
35031 : 0 : if (tree_swap_operands_p (_q50, _q51))
35032 : 0 : std::swap (_q50, _q51);
35033 : 0 : switch (TREE_CODE (_p1))
35034 : : {
35035 : 0 : case SSA_NAME:
35036 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
35037 : : {
35038 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
35039 : 0 : switch (gimple_assign_rhs_code (_a4))
35040 : : {
35041 : 0 : case NE_EXPR:
35042 : 0 : {
35043 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
35044 : 0 : _q90 = do_valueize (valueize, _q90);
35045 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
35046 : 0 : _q91 = do_valueize (valueize, _q91);
35047 : 0 : if (tree_swap_operands_p (_q90, _q91))
35048 : 0 : std::swap (_q90, _q91);
35049 : 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
35050 : : {
35051 : 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
35052 : : {
35053 : 0 : {
35054 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q30, _q21, _p1 };
35055 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, NE_EXPR))
35056 : 0 : return true;
35057 : : }
35058 : : }
35059 : : }
35060 : 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
35061 : : {
35062 : 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
35063 : : {
35064 : 0 : {
35065 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q30, _q21, _p1 };
35066 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, NE_EXPR))
35067 : 0 : return true;
35068 : : }
35069 : : }
35070 : : }
35071 : 402927 : break;
35072 : : }
35073 : : default:;
35074 : : }
35075 : : }
35076 : : break;
35077 : : default:;
35078 : : }
35079 : 402927 : break;
35080 : : }
35081 : : default:;
35082 : : }
35083 : : }
35084 : : break;
35085 : : default:;
35086 : : }
35087 : : }
35088 : 402927 : break;
35089 : : }
35090 : : default:;
35091 : : }
35092 : : }
35093 : : break;
35094 : 402927 : default:;
35095 : : }
35096 : 402927 : switch (TREE_CODE (_q21))
35097 : : {
35098 : 48997 : case SSA_NAME:
35099 : 48997 : if (gimple *_d2 = get_def (valueize, _q21))
35100 : : {
35101 : 42636 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
35102 : 51147 : switch (gimple_assign_rhs_code (_a2))
35103 : : {
35104 : 12 : case BIT_AND_EXPR:
35105 : 12 : {
35106 : 12 : tree _q40 = gimple_assign_rhs1 (_a2);
35107 : 12 : _q40 = do_valueize (valueize, _q40);
35108 : 12 : tree _q41 = gimple_assign_rhs2 (_a2);
35109 : 12 : _q41 = do_valueize (valueize, _q41);
35110 : 12 : if (tree_swap_operands_p (_q40, _q41))
35111 : 0 : std::swap (_q40, _q41);
35112 : 12 : switch (TREE_CODE (_q40))
35113 : : {
35114 : 12 : case SSA_NAME:
35115 : 12 : if (gimple *_d3 = get_def (valueize, _q40))
35116 : : {
35117 : 12 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
35118 : 24 : switch (gimple_assign_rhs_code (_a3))
35119 : : {
35120 : 0 : case BIT_XOR_EXPR:
35121 : 0 : {
35122 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
35123 : 0 : _q50 = do_valueize (valueize, _q50);
35124 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
35125 : 0 : _q51 = do_valueize (valueize, _q51);
35126 : 0 : if (tree_swap_operands_p (_q50, _q51))
35127 : 0 : std::swap (_q50, _q51);
35128 : 0 : if (tree_expr_nonzero_p (_q41))
35129 : : {
35130 : 0 : switch (TREE_CODE (_p1))
35131 : : {
35132 : 0 : case SSA_NAME:
35133 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
35134 : : {
35135 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
35136 : 0 : switch (gimple_assign_rhs_code (_a4))
35137 : : {
35138 : 0 : case NE_EXPR:
35139 : 0 : {
35140 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
35141 : 0 : _q90 = do_valueize (valueize, _q90);
35142 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
35143 : 0 : _q91 = do_valueize (valueize, _q91);
35144 : 0 : if (tree_swap_operands_p (_q90, _q91))
35145 : 0 : std::swap (_q90, _q91);
35146 : 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
35147 : : {
35148 : 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
35149 : : {
35150 : 0 : {
35151 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q41, _q20, _p1 };
35152 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, NE_EXPR))
35153 : 0 : return true;
35154 : : }
35155 : : }
35156 : : }
35157 : 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
35158 : : {
35159 : 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
35160 : : {
35161 : 0 : {
35162 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q41, _q20, _p1 };
35163 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, NE_EXPR))
35164 : 0 : return true;
35165 : : }
35166 : : }
35167 : : }
35168 : 12 : break;
35169 : : }
35170 : : default:;
35171 : : }
35172 : : }
35173 : : break;
35174 : : default:;
35175 : : }
35176 : : }
35177 : 12 : break;
35178 : : }
35179 : : default:;
35180 : : }
35181 : : }
35182 : : break;
35183 : 12 : default:;
35184 : : }
35185 : 12 : if (tree_expr_nonzero_p (_q40))
35186 : : {
35187 : 0 : switch (TREE_CODE (_q41))
35188 : : {
35189 : 0 : case SSA_NAME:
35190 : 0 : if (gimple *_d3 = get_def (valueize, _q41))
35191 : : {
35192 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
35193 : 0 : switch (gimple_assign_rhs_code (_a3))
35194 : : {
35195 : 0 : case BIT_XOR_EXPR:
35196 : 0 : {
35197 : 0 : tree _q60 = gimple_assign_rhs1 (_a3);
35198 : 0 : _q60 = do_valueize (valueize, _q60);
35199 : 0 : tree _q61 = gimple_assign_rhs2 (_a3);
35200 : 0 : _q61 = do_valueize (valueize, _q61);
35201 : 0 : if (tree_swap_operands_p (_q60, _q61))
35202 : 0 : std::swap (_q60, _q61);
35203 : 0 : switch (TREE_CODE (_p1))
35204 : : {
35205 : 0 : case SSA_NAME:
35206 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
35207 : : {
35208 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
35209 : 0 : switch (gimple_assign_rhs_code (_a4))
35210 : : {
35211 : 0 : case NE_EXPR:
35212 : 0 : {
35213 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
35214 : 0 : _q90 = do_valueize (valueize, _q90);
35215 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
35216 : 0 : _q91 = do_valueize (valueize, _q91);
35217 : 0 : if (tree_swap_operands_p (_q90, _q91))
35218 : 0 : std::swap (_q90, _q91);
35219 : 0 : if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
35220 : : {
35221 : 0 : if ((_q91 == _q61 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q61, 0) && types_match (_q91, _q61)))
35222 : : {
35223 : 0 : {
35224 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q60, _q61, _q40, _q20, _p1 };
35225 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, NE_EXPR))
35226 : 0 : return true;
35227 : : }
35228 : : }
35229 : : }
35230 : 0 : if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
35231 : : {
35232 : 0 : if ((_q91 == _q60 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q60, 0) && types_match (_q91, _q60)))
35233 : : {
35234 : 0 : {
35235 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q61, _q60, _q40, _q20, _p1 };
35236 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, NE_EXPR))
35237 : 0 : return true;
35238 : : }
35239 : : }
35240 : : }
35241 : 402927 : break;
35242 : : }
35243 : : default:;
35244 : : }
35245 : : }
35246 : : break;
35247 : : default:;
35248 : : }
35249 : 402927 : break;
35250 : : }
35251 : : default:;
35252 : : }
35253 : : }
35254 : : break;
35255 : : default:;
35256 : : }
35257 : : }
35258 : 402927 : break;
35259 : : }
35260 : : default:;
35261 : : }
35262 : : }
35263 : : break;
35264 : 402927 : default:;
35265 : : }
35266 : 402927 : switch (TREE_CODE (_q20))
35267 : : {
35268 : 402927 : case SSA_NAME:
35269 : 402927 : if (gimple *_d2 = get_def (valueize, _q20))
35270 : : {
35271 : 366481 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
35272 : 558087 : switch (gimple_assign_rhs_code (_a2))
35273 : : {
35274 : 0 : case BIT_XOR_EXPR:
35275 : 0 : {
35276 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
35277 : 0 : _q30 = do_valueize (valueize, _q30);
35278 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
35279 : 0 : _q31 = do_valueize (valueize, _q31);
35280 : 0 : if (tree_swap_operands_p (_q30, _q31))
35281 : 0 : std::swap (_q30, _q31);
35282 : 0 : switch (TREE_CODE (_p1))
35283 : : {
35284 : 0 : case SSA_NAME:
35285 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
35286 : : {
35287 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
35288 : 0 : switch (gimple_assign_rhs_code (_a3))
35289 : : {
35290 : 0 : case NE_EXPR:
35291 : 0 : {
35292 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
35293 : 0 : _q70 = do_valueize (valueize, _q70);
35294 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
35295 : 0 : _q71 = do_valueize (valueize, _q71);
35296 : 0 : if (tree_swap_operands_p (_q70, _q71))
35297 : 0 : std::swap (_q70, _q71);
35298 : 0 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
35299 : : {
35300 : 0 : if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
35301 : : {
35302 : 0 : {
35303 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
35304 : 0 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, NE_EXPR))
35305 : 0 : return true;
35306 : : }
35307 : : }
35308 : : }
35309 : 0 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
35310 : : {
35311 : 0 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
35312 : : {
35313 : 0 : {
35314 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q21, _p1 };
35315 : 0 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, NE_EXPR))
35316 : 0 : return true;
35317 : : }
35318 : : }
35319 : : }
35320 : 402927 : break;
35321 : : }
35322 : : default:;
35323 : : }
35324 : : }
35325 : : break;
35326 : : default:;
35327 : : }
35328 : 402927 : break;
35329 : : }
35330 : : default:;
35331 : : }
35332 : : }
35333 : : break;
35334 : 402927 : default:;
35335 : : }
35336 : 402927 : switch (TREE_CODE (_q21))
35337 : : {
35338 : 48997 : case SSA_NAME:
35339 : 48997 : if (gimple *_d2 = get_def (valueize, _q21))
35340 : : {
35341 : 42636 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
35342 : 51147 : switch (gimple_assign_rhs_code (_a2))
35343 : : {
35344 : 0 : case BIT_XOR_EXPR:
35345 : 0 : {
35346 : 0 : tree _q40 = gimple_assign_rhs1 (_a2);
35347 : 0 : _q40 = do_valueize (valueize, _q40);
35348 : 0 : tree _q41 = gimple_assign_rhs2 (_a2);
35349 : 0 : _q41 = do_valueize (valueize, _q41);
35350 : 0 : if (tree_swap_operands_p (_q40, _q41))
35351 : 0 : std::swap (_q40, _q41);
35352 : 0 : switch (TREE_CODE (_p1))
35353 : : {
35354 : 0 : case SSA_NAME:
35355 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
35356 : : {
35357 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
35358 : 0 : switch (gimple_assign_rhs_code (_a3))
35359 : : {
35360 : 0 : case NE_EXPR:
35361 : 0 : {
35362 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
35363 : 0 : _q70 = do_valueize (valueize, _q70);
35364 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
35365 : 0 : _q71 = do_valueize (valueize, _q71);
35366 : 0 : if (tree_swap_operands_p (_q70, _q71))
35367 : 0 : std::swap (_q70, _q71);
35368 : 0 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
35369 : : {
35370 : 0 : if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
35371 : : {
35372 : 0 : {
35373 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q20, _p1 };
35374 : 0 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, NE_EXPR))
35375 : 0 : return true;
35376 : : }
35377 : : }
35378 : : }
35379 : 0 : if ((_q70 == _q41 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q41, 0) && types_match (_q70, _q41)))
35380 : : {
35381 : 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
35382 : : {
35383 : 0 : {
35384 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q41, _q40, _q20, _p1 };
35385 : 0 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, NE_EXPR))
35386 : 0 : return true;
35387 : : }
35388 : : }
35389 : : }
35390 : 4279330 : break;
35391 : : }
35392 : : default:;
35393 : : }
35394 : : }
35395 : : break;
35396 : : default:;
35397 : : }
35398 : 4279330 : break;
35399 : : }
35400 : : default:;
35401 : : }
35402 : : }
35403 : : break;
35404 : : default:;
35405 : : }
35406 : 4279330 : break;
35407 : : }
35408 : 84111 : case LE_EXPR:
35409 : 84111 : {
35410 : 84111 : tree _q20 = gimple_assign_rhs1 (_a1);
35411 : 84111 : _q20 = do_valueize (valueize, _q20);
35412 : 84111 : tree _q21 = gimple_assign_rhs2 (_a1);
35413 : 84111 : _q21 = do_valueize (valueize, _q21);
35414 : 84111 : switch (TREE_CODE (_p1))
35415 : : {
35416 : 84111 : case SSA_NAME:
35417 : 84111 : if (gimple *_d2 = get_def (valueize, _p1))
35418 : : {
35419 : 83872 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
35420 : 81669 : switch (gimple_assign_rhs_code (_a2))
35421 : : {
35422 : 3995 : case NE_EXPR:
35423 : 3995 : {
35424 : 3995 : tree _q50 = gimple_assign_rhs1 (_a2);
35425 : 3995 : _q50 = do_valueize (valueize, _q50);
35426 : 3995 : tree _q51 = gimple_assign_rhs2 (_a2);
35427 : 3995 : _q51 = do_valueize (valueize, _q51);
35428 : 3995 : if (tree_swap_operands_p (_q50, _q51))
35429 : 3 : std::swap (_q50, _q51);
35430 : 3995 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
35431 : : {
35432 : 56 : if (gimple_min_value (_q51, valueize))
35433 : : {
35434 : 18 : {
35435 : 18 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
35436 : 18 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures))
35437 : 18 : return true;
35438 : : }
35439 : : }
35440 : : }
35441 : 3977 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
35442 : : {
35443 : 0 : if (gimple_max_value (_q51, valueize))
35444 : : {
35445 : 0 : {
35446 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
35447 : 0 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, NE_EXPR))
35448 : 0 : return true;
35449 : : }
35450 : : }
35451 : : }
35452 : 84079 : break;
35453 : : }
35454 : 36267 : case EQ_EXPR:
35455 : 36267 : {
35456 : 36267 : tree _q50 = gimple_assign_rhs1 (_a2);
35457 : 36267 : _q50 = do_valueize (valueize, _q50);
35458 : 36267 : tree _q51 = gimple_assign_rhs2 (_a2);
35459 : 36267 : _q51 = do_valueize (valueize, _q51);
35460 : 36267 : if (tree_swap_operands_p (_q50, _q51))
35461 : 2 : std::swap (_q50, _q51);
35462 : 36267 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
35463 : : {
35464 : 1968 : if (gimple_min_value (_q51, valueize))
35465 : : {
35466 : 14 : {
35467 : 14 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
35468 : 14 : if (gimple_simplify_173 (res_op, seq, valueize, type, captures))
35469 : 14 : return true;
35470 : : }
35471 : : }
35472 : : }
35473 : 36253 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
35474 : : {
35475 : 66 : if (gimple_max_value (_q51, valueize))
35476 : : {
35477 : 0 : {
35478 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
35479 : 0 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, EQ_EXPR))
35480 : 0 : return true;
35481 : : }
35482 : : }
35483 : : }
35484 : 84079 : break;
35485 : : }
35486 : : default:;
35487 : : }
35488 : : }
35489 : : break;
35490 : 84079 : default:;
35491 : : }
35492 : 84079 : switch (TREE_CODE (_q20))
35493 : : {
35494 : 84079 : case SSA_NAME:
35495 : 84079 : if (gimple *_d2 = get_def (valueize, _q20))
35496 : : {
35497 : 79681 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
35498 : 84918 : switch (gimple_assign_rhs_code (_a2))
35499 : : {
35500 : 8320 : CASE_CONVERT:
35501 : 8320 : {
35502 : 8320 : tree _q30 = gimple_assign_rhs1 (_a2);
35503 : 8320 : _q30 = do_valueize (valueize, _q30);
35504 : 8320 : switch (TREE_CODE (_p1))
35505 : : {
35506 : 8320 : case SSA_NAME:
35507 : 8320 : if (gimple *_d3 = get_def (valueize, _p1))
35508 : : {
35509 : 8320 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
35510 : 8228 : switch (gimple_assign_rhs_code (_a3))
35511 : : {
35512 : 4189 : case EQ_EXPR:
35513 : 4189 : {
35514 : 4189 : tree _q60 = gimple_assign_rhs1 (_a3);
35515 : 4189 : _q60 = do_valueize (valueize, _q60);
35516 : 4189 : tree _q61 = gimple_assign_rhs2 (_a3);
35517 : 4189 : _q61 = do_valueize (valueize, _q61);
35518 : 4189 : if (tree_swap_operands_p (_q60, _q61))
35519 : 0 : std::swap (_q60, _q61);
35520 : 4189 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
35521 : : {
35522 : 4089 : {
35523 : 4089 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
35524 : 4089 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
35525 : 0 : return true;
35526 : : }
35527 : : }
35528 : 4189 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
35529 : : {
35530 : 0 : {
35531 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
35532 : 0 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
35533 : 0 : return true;
35534 : : }
35535 : : }
35536 : 84079 : break;
35537 : : }
35538 : 62 : case NE_EXPR:
35539 : 62 : {
35540 : 62 : tree _q60 = gimple_assign_rhs1 (_a3);
35541 : 62 : _q60 = do_valueize (valueize, _q60);
35542 : 62 : tree _q61 = gimple_assign_rhs2 (_a3);
35543 : 62 : _q61 = do_valueize (valueize, _q61);
35544 : 62 : if (tree_swap_operands_p (_q60, _q61))
35545 : 3 : std::swap (_q60, _q61);
35546 : 62 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
35547 : : {
35548 : 0 : {
35549 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
35550 : 0 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
35551 : 0 : return true;
35552 : : }
35553 : : }
35554 : 62 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
35555 : : {
35556 : 0 : {
35557 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
35558 : 0 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
35559 : 0 : return true;
35560 : : }
35561 : : }
35562 : 84079 : break;
35563 : : }
35564 : : default:;
35565 : : }
35566 : : }
35567 : : break;
35568 : : default:;
35569 : : }
35570 : : break;
35571 : : }
35572 : : default:;
35573 : : }
35574 : : }
35575 : : break;
35576 : 84079 : default:;
35577 : : }
35578 : 84079 : switch (TREE_CODE (_q21))
35579 : : {
35580 : 11743 : case SSA_NAME:
35581 : 11743 : if (gimple *_d2 = get_def (valueize, _q21))
35582 : : {
35583 : 10741 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
35584 : 8274 : switch (gimple_assign_rhs_code (_a2))
35585 : : {
35586 : 3058 : CASE_CONVERT:
35587 : 3058 : {
35588 : 3058 : tree _q40 = gimple_assign_rhs1 (_a2);
35589 : 3058 : _q40 = do_valueize (valueize, _q40);
35590 : 3058 : switch (TREE_CODE (_p1))
35591 : : {
35592 : 3058 : case SSA_NAME:
35593 : 3058 : if (gimple *_d3 = get_def (valueize, _p1))
35594 : : {
35595 : 3058 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
35596 : 3058 : switch (gimple_assign_rhs_code (_a3))
35597 : : {
35598 : 20 : case EQ_EXPR:
35599 : 20 : {
35600 : 20 : tree _q60 = gimple_assign_rhs1 (_a3);
35601 : 20 : _q60 = do_valueize (valueize, _q60);
35602 : 20 : tree _q61 = gimple_assign_rhs2 (_a3);
35603 : 20 : _q61 = do_valueize (valueize, _q61);
35604 : 20 : if (tree_swap_operands_p (_q60, _q61))
35605 : 0 : std::swap (_q60, _q61);
35606 : 20 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
35607 : : {
35608 : 0 : {
35609 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
35610 : 0 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
35611 : 0 : return true;
35612 : : }
35613 : : }
35614 : 20 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
35615 : : {
35616 : 0 : {
35617 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
35618 : 0 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
35619 : 0 : return true;
35620 : : }
35621 : : }
35622 : 84079 : break;
35623 : : }
35624 : 0 : case NE_EXPR:
35625 : 0 : {
35626 : 0 : tree _q60 = gimple_assign_rhs1 (_a3);
35627 : 0 : _q60 = do_valueize (valueize, _q60);
35628 : 0 : tree _q61 = gimple_assign_rhs2 (_a3);
35629 : 0 : _q61 = do_valueize (valueize, _q61);
35630 : 0 : if (tree_swap_operands_p (_q60, _q61))
35631 : 0 : std::swap (_q60, _q61);
35632 : 0 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
35633 : : {
35634 : 0 : {
35635 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
35636 : 0 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
35637 : 0 : return true;
35638 : : }
35639 : : }
35640 : 0 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
35641 : : {
35642 : 0 : {
35643 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
35644 : 0 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
35645 : 0 : return true;
35646 : : }
35647 : : }
35648 : 84079 : break;
35649 : : }
35650 : : default:;
35651 : : }
35652 : : }
35653 : : break;
35654 : : default:;
35655 : : }
35656 : : break;
35657 : : }
35658 : : default:;
35659 : : }
35660 : : }
35661 : : break;
35662 : 84079 : default:;
35663 : : }
35664 : 84079 : switch (TREE_CODE (_p1))
35665 : : {
35666 : 84079 : case SSA_NAME:
35667 : 84079 : if (gimple *_d2 = get_def (valueize, _p1))
35668 : : {
35669 : 83840 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
35670 : 81637 : switch (gimple_assign_rhs_code (_a2))
35671 : : {
35672 : 36253 : case EQ_EXPR:
35673 : 36253 : {
35674 : 36253 : tree _q50 = gimple_assign_rhs1 (_a2);
35675 : 36253 : _q50 = do_valueize (valueize, _q50);
35676 : 36253 : tree _q51 = gimple_assign_rhs2 (_a2);
35677 : 36253 : _q51 = do_valueize (valueize, _q51);
35678 : 36253 : if (tree_swap_operands_p (_q50, _q51))
35679 : 2 : std::swap (_q50, _q51);
35680 : 36253 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
35681 : : {
35682 : 1954 : {
35683 : 1954 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
35684 : 1954 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
35685 : 25 : return true;
35686 : : }
35687 : : }
35688 : 36228 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
35689 : : {
35690 : 66 : {
35691 : 66 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
35692 : 66 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
35693 : 0 : return true;
35694 : : }
35695 : : }
35696 : 36228 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
35697 : : {
35698 : 77 : {
35699 : 77 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
35700 : 77 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
35701 : 0 : return true;
35702 : : }
35703 : : }
35704 : 36228 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
35705 : : {
35706 : 111 : {
35707 : 111 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
35708 : 111 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
35709 : 0 : return true;
35710 : : }
35711 : : }
35712 : 83913 : break;
35713 : : }
35714 : 3977 : case NE_EXPR:
35715 : 3977 : {
35716 : 3977 : tree _q50 = gimple_assign_rhs1 (_a2);
35717 : 3977 : _q50 = do_valueize (valueize, _q50);
35718 : 3977 : tree _q51 = gimple_assign_rhs2 (_a2);
35719 : 3977 : _q51 = do_valueize (valueize, _q51);
35720 : 3977 : if (tree_swap_operands_p (_q50, _q51))
35721 : 3 : std::swap (_q50, _q51);
35722 : 3977 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
35723 : : {
35724 : 38 : {
35725 : 38 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
35726 : 38 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
35727 : 4 : return true;
35728 : : }
35729 : : }
35730 : 3973 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
35731 : : {
35732 : 0 : {
35733 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
35734 : 0 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
35735 : 0 : return true;
35736 : : }
35737 : : }
35738 : 3973 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
35739 : : {
35740 : 32 : {
35741 : 32 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
35742 : 32 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
35743 : 0 : return true;
35744 : : }
35745 : : }
35746 : 3973 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
35747 : : {
35748 : 354 : {
35749 : 354 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
35750 : 354 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
35751 : 0 : return true;
35752 : : }
35753 : : }
35754 : 83913 : break;
35755 : : }
35756 : 9950 : case LT_EXPR:
35757 : 9950 : {
35758 : 9950 : tree _q50 = gimple_assign_rhs1 (_a2);
35759 : 9950 : _q50 = do_valueize (valueize, _q50);
35760 : 9950 : tree _q51 = gimple_assign_rhs2 (_a2);
35761 : 9950 : _q51 = do_valueize (valueize, _q51);
35762 : 9950 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
35763 : : {
35764 : 144 : {
35765 : 144 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
35766 : 144 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, LT_EXPR, LE_EXPR))
35767 : 0 : return true;
35768 : : }
35769 : : }
35770 : : break;
35771 : : }
35772 : 11301 : case LE_EXPR:
35773 : 11301 : {
35774 : 11301 : tree _q50 = gimple_assign_rhs1 (_a2);
35775 : 11301 : _q50 = do_valueize (valueize, _q50);
35776 : 11301 : tree _q51 = gimple_assign_rhs2 (_a2);
35777 : 11301 : _q51 = do_valueize (valueize, _q51);
35778 : 11301 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
35779 : : {
35780 : 639 : {
35781 : 639 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
35782 : 639 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, LE_EXPR, LE_EXPR))
35783 : 129 : return true;
35784 : : }
35785 : : }
35786 : : break;
35787 : : }
35788 : 16112 : case GT_EXPR:
35789 : 16112 : {
35790 : 16112 : tree _q50 = gimple_assign_rhs1 (_a2);
35791 : 16112 : _q50 = do_valueize (valueize, _q50);
35792 : 16112 : tree _q51 = gimple_assign_rhs2 (_a2);
35793 : 16112 : _q51 = do_valueize (valueize, _q51);
35794 : 16112 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
35795 : : {
35796 : 8956 : {
35797 : 8956 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
35798 : 8956 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
35799 : 8 : return true;
35800 : : }
35801 : : }
35802 : : break;
35803 : : }
35804 : 2388 : case GE_EXPR:
35805 : 2388 : {
35806 : 2388 : tree _q50 = gimple_assign_rhs1 (_a2);
35807 : 2388 : _q50 = do_valueize (valueize, _q50);
35808 : 2388 : tree _q51 = gimple_assign_rhs2 (_a2);
35809 : 2388 : _q51 = do_valueize (valueize, _q51);
35810 : 2388 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
35811 : : {
35812 : 180 : {
35813 : 180 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
35814 : 180 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, GE_EXPR, LE_EXPR))
35815 : 0 : return true;
35816 : : }
35817 : : }
35818 : : break;
35819 : : }
35820 : : default:;
35821 : : }
35822 : : }
35823 : : break;
35824 : 83913 : default:;
35825 : : }
35826 : 83913 : switch (TREE_CODE (_q20))
35827 : : {
35828 : 83913 : case SSA_NAME:
35829 : 83913 : if (gimple *_d2 = get_def (valueize, _q20))
35830 : : {
35831 : 79515 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
35832 : 84892 : switch (gimple_assign_rhs_code (_a2))
35833 : : {
35834 : 92 : case BIT_AND_EXPR:
35835 : 92 : {
35836 : 92 : tree _q30 = gimple_assign_rhs1 (_a2);
35837 : 92 : _q30 = do_valueize (valueize, _q30);
35838 : 92 : tree _q31 = gimple_assign_rhs2 (_a2);
35839 : 92 : _q31 = do_valueize (valueize, _q31);
35840 : 92 : if (tree_swap_operands_p (_q30, _q31))
35841 : 0 : std::swap (_q30, _q31);
35842 : 92 : switch (TREE_CODE (_q30))
35843 : : {
35844 : 92 : case SSA_NAME:
35845 : 92 : if (gimple *_d3 = get_def (valueize, _q30))
35846 : : {
35847 : 92 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
35848 : 60 : switch (gimple_assign_rhs_code (_a3))
35849 : : {
35850 : 2 : case BIT_XOR_EXPR:
35851 : 2 : {
35852 : 2 : tree _q40 = gimple_assign_rhs1 (_a3);
35853 : 2 : _q40 = do_valueize (valueize, _q40);
35854 : 2 : tree _q41 = gimple_assign_rhs2 (_a3);
35855 : 2 : _q41 = do_valueize (valueize, _q41);
35856 : 2 : if (tree_swap_operands_p (_q40, _q41))
35857 : 0 : std::swap (_q40, _q41);
35858 : 2 : if (tree_expr_nonzero_p (_q31))
35859 : : {
35860 : 2 : switch (TREE_CODE (_p1))
35861 : : {
35862 : 2 : case SSA_NAME:
35863 : 2 : if (gimple *_d4 = get_def (valueize, _p1))
35864 : : {
35865 : 2 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
35866 : 2 : switch (gimple_assign_rhs_code (_a4))
35867 : : {
35868 : 2 : case NE_EXPR:
35869 : 2 : {
35870 : 2 : tree _q90 = gimple_assign_rhs1 (_a4);
35871 : 2 : _q90 = do_valueize (valueize, _q90);
35872 : 2 : tree _q91 = gimple_assign_rhs2 (_a4);
35873 : 2 : _q91 = do_valueize (valueize, _q91);
35874 : 2 : if (tree_swap_operands_p (_q90, _q91))
35875 : 0 : std::swap (_q90, _q91);
35876 : 2 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
35877 : : {
35878 : 2 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
35879 : : {
35880 : 2 : {
35881 : 2 : tree captures[5] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _q21, _p1 };
35882 : 2 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, LE_EXPR))
35883 : 2 : return true;
35884 : : }
35885 : : }
35886 : : }
35887 : 0 : if ((_q90 == _q41 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q41, 0) && types_match (_q90, _q41)))
35888 : : {
35889 : 0 : if ((_q91 == _q40 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q40, 0) && types_match (_q91, _q40)))
35890 : : {
35891 : 0 : {
35892 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q41, _q40, _q31, _q21, _p1 };
35893 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, LE_EXPR))
35894 : 0 : return true;
35895 : : }
35896 : : }
35897 : : }
35898 : 90 : break;
35899 : : }
35900 : : default:;
35901 : : }
35902 : : }
35903 : : break;
35904 : : default:;
35905 : : }
35906 : : }
35907 : 90 : break;
35908 : : }
35909 : : default:;
35910 : : }
35911 : : }
35912 : : break;
35913 : 90 : default:;
35914 : : }
35915 : 90 : if (tree_expr_nonzero_p (_q30))
35916 : : {
35917 : 0 : switch (TREE_CODE (_q31))
35918 : : {
35919 : 0 : case SSA_NAME:
35920 : 0 : if (gimple *_d3 = get_def (valueize, _q31))
35921 : : {
35922 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
35923 : 0 : switch (gimple_assign_rhs_code (_a3))
35924 : : {
35925 : 0 : case BIT_XOR_EXPR:
35926 : 0 : {
35927 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
35928 : 0 : _q50 = do_valueize (valueize, _q50);
35929 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
35930 : 0 : _q51 = do_valueize (valueize, _q51);
35931 : 0 : if (tree_swap_operands_p (_q50, _q51))
35932 : 0 : std::swap (_q50, _q51);
35933 : 0 : switch (TREE_CODE (_p1))
35934 : : {
35935 : 0 : case SSA_NAME:
35936 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
35937 : : {
35938 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
35939 : 0 : switch (gimple_assign_rhs_code (_a4))
35940 : : {
35941 : 0 : case NE_EXPR:
35942 : 0 : {
35943 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
35944 : 0 : _q90 = do_valueize (valueize, _q90);
35945 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
35946 : 0 : _q91 = do_valueize (valueize, _q91);
35947 : 0 : if (tree_swap_operands_p (_q90, _q91))
35948 : 0 : std::swap (_q90, _q91);
35949 : 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
35950 : : {
35951 : 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
35952 : : {
35953 : 0 : {
35954 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q30, _q21, _p1 };
35955 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, LE_EXPR))
35956 : 0 : return true;
35957 : : }
35958 : : }
35959 : : }
35960 : 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
35961 : : {
35962 : 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
35963 : : {
35964 : 0 : {
35965 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q30, _q21, _p1 };
35966 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, LE_EXPR))
35967 : 0 : return true;
35968 : : }
35969 : : }
35970 : : }
35971 : 83911 : break;
35972 : : }
35973 : : default:;
35974 : : }
35975 : : }
35976 : : break;
35977 : : default:;
35978 : : }
35979 : 83911 : break;
35980 : : }
35981 : : default:;
35982 : : }
35983 : : }
35984 : : break;
35985 : : default:;
35986 : : }
35987 : : }
35988 : 83911 : break;
35989 : : }
35990 : : default:;
35991 : : }
35992 : : }
35993 : : break;
35994 : 83911 : default:;
35995 : : }
35996 : 83911 : switch (TREE_CODE (_q21))
35997 : : {
35998 : 11737 : case SSA_NAME:
35999 : 11737 : if (gimple *_d2 = get_def (valueize, _q21))
36000 : : {
36001 : 10735 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
36002 : 8274 : switch (gimple_assign_rhs_code (_a2))
36003 : : {
36004 : 50 : case BIT_AND_EXPR:
36005 : 50 : {
36006 : 50 : tree _q40 = gimple_assign_rhs1 (_a2);
36007 : 50 : _q40 = do_valueize (valueize, _q40);
36008 : 50 : tree _q41 = gimple_assign_rhs2 (_a2);
36009 : 50 : _q41 = do_valueize (valueize, _q41);
36010 : 50 : if (tree_swap_operands_p (_q40, _q41))
36011 : 0 : std::swap (_q40, _q41);
36012 : 50 : switch (TREE_CODE (_q40))
36013 : : {
36014 : 50 : case SSA_NAME:
36015 : 50 : if (gimple *_d3 = get_def (valueize, _q40))
36016 : : {
36017 : 50 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
36018 : 50 : switch (gimple_assign_rhs_code (_a3))
36019 : : {
36020 : 0 : case BIT_XOR_EXPR:
36021 : 0 : {
36022 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
36023 : 0 : _q50 = do_valueize (valueize, _q50);
36024 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
36025 : 0 : _q51 = do_valueize (valueize, _q51);
36026 : 0 : if (tree_swap_operands_p (_q50, _q51))
36027 : 0 : std::swap (_q50, _q51);
36028 : 0 : if (tree_expr_nonzero_p (_q41))
36029 : : {
36030 : 0 : switch (TREE_CODE (_p1))
36031 : : {
36032 : 0 : case SSA_NAME:
36033 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
36034 : : {
36035 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
36036 : 0 : switch (gimple_assign_rhs_code (_a4))
36037 : : {
36038 : 0 : case NE_EXPR:
36039 : 0 : {
36040 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
36041 : 0 : _q90 = do_valueize (valueize, _q90);
36042 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
36043 : 0 : _q91 = do_valueize (valueize, _q91);
36044 : 0 : if (tree_swap_operands_p (_q90, _q91))
36045 : 0 : std::swap (_q90, _q91);
36046 : 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
36047 : : {
36048 : 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
36049 : : {
36050 : 0 : {
36051 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q41, _q20, _p1 };
36052 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, GE_EXPR))
36053 : 0 : return true;
36054 : : }
36055 : : }
36056 : : }
36057 : 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
36058 : : {
36059 : 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
36060 : : {
36061 : 0 : {
36062 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q41, _q20, _p1 };
36063 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, GE_EXPR))
36064 : 0 : return true;
36065 : : }
36066 : : }
36067 : : }
36068 : 50 : break;
36069 : : }
36070 : : default:;
36071 : : }
36072 : : }
36073 : : break;
36074 : : default:;
36075 : : }
36076 : : }
36077 : 50 : break;
36078 : : }
36079 : : default:;
36080 : : }
36081 : : }
36082 : : break;
36083 : 50 : default:;
36084 : : }
36085 : 50 : if (tree_expr_nonzero_p (_q40))
36086 : : {
36087 : 0 : switch (TREE_CODE (_q41))
36088 : : {
36089 : 0 : case SSA_NAME:
36090 : 0 : if (gimple *_d3 = get_def (valueize, _q41))
36091 : : {
36092 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
36093 : 0 : switch (gimple_assign_rhs_code (_a3))
36094 : : {
36095 : 0 : case BIT_XOR_EXPR:
36096 : 0 : {
36097 : 0 : tree _q60 = gimple_assign_rhs1 (_a3);
36098 : 0 : _q60 = do_valueize (valueize, _q60);
36099 : 0 : tree _q61 = gimple_assign_rhs2 (_a3);
36100 : 0 : _q61 = do_valueize (valueize, _q61);
36101 : 0 : if (tree_swap_operands_p (_q60, _q61))
36102 : 0 : std::swap (_q60, _q61);
36103 : 0 : switch (TREE_CODE (_p1))
36104 : : {
36105 : 0 : case SSA_NAME:
36106 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
36107 : : {
36108 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
36109 : 0 : switch (gimple_assign_rhs_code (_a4))
36110 : : {
36111 : 0 : case NE_EXPR:
36112 : 0 : {
36113 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
36114 : 0 : _q90 = do_valueize (valueize, _q90);
36115 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
36116 : 0 : _q91 = do_valueize (valueize, _q91);
36117 : 0 : if (tree_swap_operands_p (_q90, _q91))
36118 : 0 : std::swap (_q90, _q91);
36119 : 0 : if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
36120 : : {
36121 : 0 : if ((_q91 == _q61 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q61, 0) && types_match (_q91, _q61)))
36122 : : {
36123 : 0 : {
36124 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q60, _q61, _q40, _q20, _p1 };
36125 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, GE_EXPR))
36126 : 0 : return true;
36127 : : }
36128 : : }
36129 : : }
36130 : 0 : if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
36131 : : {
36132 : 0 : if ((_q91 == _q60 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q60, 0) && types_match (_q91, _q60)))
36133 : : {
36134 : 0 : {
36135 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q61, _q60, _q40, _q20, _p1 };
36136 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, GE_EXPR))
36137 : 0 : return true;
36138 : : }
36139 : : }
36140 : : }
36141 : 83911 : break;
36142 : : }
36143 : : default:;
36144 : : }
36145 : : }
36146 : : break;
36147 : : default:;
36148 : : }
36149 : 83911 : break;
36150 : : }
36151 : : default:;
36152 : : }
36153 : : }
36154 : : break;
36155 : : default:;
36156 : : }
36157 : : }
36158 : 83911 : break;
36159 : : }
36160 : : default:;
36161 : : }
36162 : : }
36163 : : break;
36164 : 83911 : default:;
36165 : : }
36166 : 83911 : switch (TREE_CODE (_q20))
36167 : : {
36168 : 83911 : case SSA_NAME:
36169 : 83911 : if (gimple *_d2 = get_def (valueize, _q20))
36170 : : {
36171 : 79513 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
36172 : 84890 : switch (gimple_assign_rhs_code (_a2))
36173 : : {
36174 : 2 : case BIT_XOR_EXPR:
36175 : 2 : {
36176 : 2 : tree _q30 = gimple_assign_rhs1 (_a2);
36177 : 2 : _q30 = do_valueize (valueize, _q30);
36178 : 2 : tree _q31 = gimple_assign_rhs2 (_a2);
36179 : 2 : _q31 = do_valueize (valueize, _q31);
36180 : 2 : if (tree_swap_operands_p (_q30, _q31))
36181 : 0 : std::swap (_q30, _q31);
36182 : 2 : switch (TREE_CODE (_p1))
36183 : : {
36184 : 2 : case SSA_NAME:
36185 : 2 : if (gimple *_d3 = get_def (valueize, _p1))
36186 : : {
36187 : 2 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
36188 : 2 : switch (gimple_assign_rhs_code (_a3))
36189 : : {
36190 : 2 : case NE_EXPR:
36191 : 2 : {
36192 : 2 : tree _q70 = gimple_assign_rhs1 (_a3);
36193 : 2 : _q70 = do_valueize (valueize, _q70);
36194 : 2 : tree _q71 = gimple_assign_rhs2 (_a3);
36195 : 2 : _q71 = do_valueize (valueize, _q71);
36196 : 2 : if (tree_swap_operands_p (_q70, _q71))
36197 : 0 : std::swap (_q70, _q71);
36198 : 2 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
36199 : : {
36200 : 2 : if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
36201 : : {
36202 : 2 : {
36203 : 2 : tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
36204 : 2 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, LE_EXPR))
36205 : 2 : return true;
36206 : : }
36207 : : }
36208 : : }
36209 : 0 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
36210 : : {
36211 : 0 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
36212 : : {
36213 : 0 : {
36214 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q21, _p1 };
36215 : 0 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, LE_EXPR))
36216 : 0 : return true;
36217 : : }
36218 : : }
36219 : : }
36220 : 83909 : break;
36221 : : }
36222 : : default:;
36223 : : }
36224 : : }
36225 : : break;
36226 : : default:;
36227 : : }
36228 : 83909 : break;
36229 : : }
36230 : : default:;
36231 : : }
36232 : : }
36233 : : break;
36234 : 83909 : default:;
36235 : : }
36236 : 83909 : switch (TREE_CODE (_q21))
36237 : : {
36238 : 11737 : case SSA_NAME:
36239 : 11737 : if (gimple *_d2 = get_def (valueize, _q21))
36240 : : {
36241 : 10735 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
36242 : 8274 : switch (gimple_assign_rhs_code (_a2))
36243 : : {
36244 : 0 : case BIT_XOR_EXPR:
36245 : 0 : {
36246 : 0 : tree _q40 = gimple_assign_rhs1 (_a2);
36247 : 0 : _q40 = do_valueize (valueize, _q40);
36248 : 0 : tree _q41 = gimple_assign_rhs2 (_a2);
36249 : 0 : _q41 = do_valueize (valueize, _q41);
36250 : 0 : if (tree_swap_operands_p (_q40, _q41))
36251 : 0 : std::swap (_q40, _q41);
36252 : 0 : switch (TREE_CODE (_p1))
36253 : : {
36254 : 0 : case SSA_NAME:
36255 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
36256 : : {
36257 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
36258 : 0 : switch (gimple_assign_rhs_code (_a3))
36259 : : {
36260 : 0 : case NE_EXPR:
36261 : 0 : {
36262 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
36263 : 0 : _q70 = do_valueize (valueize, _q70);
36264 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
36265 : 0 : _q71 = do_valueize (valueize, _q71);
36266 : 0 : if (tree_swap_operands_p (_q70, _q71))
36267 : 0 : std::swap (_q70, _q71);
36268 : 0 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
36269 : : {
36270 : 0 : if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
36271 : : {
36272 : 0 : {
36273 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q20, _p1 };
36274 : 0 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, GE_EXPR))
36275 : 0 : return true;
36276 : : }
36277 : : }
36278 : : }
36279 : 0 : if ((_q70 == _q41 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q41, 0) && types_match (_q70, _q41)))
36280 : : {
36281 : 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
36282 : : {
36283 : 0 : {
36284 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q41, _q40, _q20, _p1 };
36285 : 0 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, GE_EXPR))
36286 : 0 : return true;
36287 : : }
36288 : : }
36289 : : }
36290 : 4279330 : break;
36291 : : }
36292 : : default:;
36293 : : }
36294 : : }
36295 : : break;
36296 : : default:;
36297 : : }
36298 : 4279330 : break;
36299 : : }
36300 : : default:;
36301 : : }
36302 : : }
36303 : : break;
36304 : : default:;
36305 : : }
36306 : : break;
36307 : : }
36308 : 13862 : case GE_EXPR:
36309 : 13862 : {
36310 : 13862 : tree _q20 = gimple_assign_rhs1 (_a1);
36311 : 13862 : _q20 = do_valueize (valueize, _q20);
36312 : 13862 : tree _q21 = gimple_assign_rhs2 (_a1);
36313 : 13862 : _q21 = do_valueize (valueize, _q21);
36314 : 13862 : switch (TREE_CODE (_p1))
36315 : : {
36316 : 13850 : case SSA_NAME:
36317 : 13850 : if (gimple *_d2 = get_def (valueize, _p1))
36318 : : {
36319 : 13825 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
36320 : 13541 : switch (gimple_assign_rhs_code (_a2))
36321 : : {
36322 : 921 : case NE_EXPR:
36323 : 921 : {
36324 : 921 : tree _q50 = gimple_assign_rhs1 (_a2);
36325 : 921 : _q50 = do_valueize (valueize, _q50);
36326 : 921 : tree _q51 = gimple_assign_rhs2 (_a2);
36327 : 921 : _q51 = do_valueize (valueize, _q51);
36328 : 921 : if (tree_swap_operands_p (_q50, _q51))
36329 : 0 : std::swap (_q50, _q51);
36330 : 921 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
36331 : : {
36332 : 0 : if (gimple_min_value (_q51, valueize))
36333 : : {
36334 : 0 : {
36335 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
36336 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures))
36337 : 0 : return true;
36338 : : }
36339 : : }
36340 : : }
36341 : 921 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
36342 : : {
36343 : 52 : if (gimple_max_value (_q51, valueize))
36344 : : {
36345 : 10 : {
36346 : 10 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
36347 : 10 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, NE_EXPR))
36348 : 10 : return true;
36349 : : }
36350 : : }
36351 : : }
36352 : 13836 : break;
36353 : : }
36354 : 613 : case EQ_EXPR:
36355 : 613 : {
36356 : 613 : tree _q50 = gimple_assign_rhs1 (_a2);
36357 : 613 : _q50 = do_valueize (valueize, _q50);
36358 : 613 : tree _q51 = gimple_assign_rhs2 (_a2);
36359 : 613 : _q51 = do_valueize (valueize, _q51);
36360 : 613 : if (tree_swap_operands_p (_q50, _q51))
36361 : 0 : std::swap (_q50, _q51);
36362 : 613 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
36363 : : {
36364 : 18 : if (gimple_min_value (_q51, valueize))
36365 : : {
36366 : 2 : {
36367 : 2 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
36368 : 2 : if (gimple_simplify_173 (res_op, seq, valueize, type, captures))
36369 : 2 : return true;
36370 : : }
36371 : : }
36372 : : }
36373 : 611 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
36374 : : {
36375 : 132 : if (gimple_max_value (_q51, valueize))
36376 : : {
36377 : 14 : {
36378 : 14 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
36379 : 14 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, EQ_EXPR))
36380 : 14 : return true;
36381 : : }
36382 : : }
36383 : : }
36384 : 13836 : break;
36385 : : }
36386 : : default:;
36387 : : }
36388 : : }
36389 : : break;
36390 : 13836 : default:;
36391 : : }
36392 : 13836 : switch (TREE_CODE (_q20))
36393 : : {
36394 : 13836 : case SSA_NAME:
36395 : 13836 : if (gimple *_d2 = get_def (valueize, _q20))
36396 : : {
36397 : 12715 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
36398 : 13050 : switch (gimple_assign_rhs_code (_a2))
36399 : : {
36400 : 4965 : CASE_CONVERT:
36401 : 4965 : {
36402 : 4965 : tree _q30 = gimple_assign_rhs1 (_a2);
36403 : 4965 : _q30 = do_valueize (valueize, _q30);
36404 : 4965 : switch (TREE_CODE (_p1))
36405 : : {
36406 : 4965 : case SSA_NAME:
36407 : 4965 : if (gimple *_d3 = get_def (valueize, _p1))
36408 : : {
36409 : 4965 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
36410 : 4965 : switch (gimple_assign_rhs_code (_a3))
36411 : : {
36412 : 43 : case EQ_EXPR:
36413 : 43 : {
36414 : 43 : tree _q60 = gimple_assign_rhs1 (_a3);
36415 : 43 : _q60 = do_valueize (valueize, _q60);
36416 : 43 : tree _q61 = gimple_assign_rhs2 (_a3);
36417 : 43 : _q61 = do_valueize (valueize, _q61);
36418 : 43 : if (tree_swap_operands_p (_q60, _q61))
36419 : 0 : std::swap (_q60, _q61);
36420 : 43 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
36421 : : {
36422 : 0 : {
36423 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
36424 : 0 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
36425 : 0 : return true;
36426 : : }
36427 : : }
36428 : 43 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
36429 : : {
36430 : 0 : {
36431 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
36432 : 0 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
36433 : 0 : return true;
36434 : : }
36435 : : }
36436 : 13836 : break;
36437 : : }
36438 : 54 : case NE_EXPR:
36439 : 54 : {
36440 : 54 : tree _q60 = gimple_assign_rhs1 (_a3);
36441 : 54 : _q60 = do_valueize (valueize, _q60);
36442 : 54 : tree _q61 = gimple_assign_rhs2 (_a3);
36443 : 54 : _q61 = do_valueize (valueize, _q61);
36444 : 54 : if (tree_swap_operands_p (_q60, _q61))
36445 : 0 : std::swap (_q60, _q61);
36446 : 54 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
36447 : : {
36448 : 0 : {
36449 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
36450 : 0 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
36451 : 0 : return true;
36452 : : }
36453 : : }
36454 : 54 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
36455 : : {
36456 : 0 : {
36457 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
36458 : 0 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
36459 : 0 : return true;
36460 : : }
36461 : : }
36462 : 13836 : break;
36463 : : }
36464 : : default:;
36465 : : }
36466 : : }
36467 : : break;
36468 : : default:;
36469 : : }
36470 : : break;
36471 : : }
36472 : : default:;
36473 : : }
36474 : : }
36475 : : break;
36476 : 13836 : default:;
36477 : : }
36478 : 13836 : switch (TREE_CODE (_q21))
36479 : : {
36480 : 10775 : case SSA_NAME:
36481 : 10775 : if (gimple *_d2 = get_def (valueize, _q21))
36482 : : {
36483 : 9824 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
36484 : 8174 : switch (gimple_assign_rhs_code (_a2))
36485 : : {
36486 : 3387 : CASE_CONVERT:
36487 : 3387 : {
36488 : 3387 : tree _q40 = gimple_assign_rhs1 (_a2);
36489 : 3387 : _q40 = do_valueize (valueize, _q40);
36490 : 3387 : switch (TREE_CODE (_p1))
36491 : : {
36492 : 3387 : case SSA_NAME:
36493 : 3387 : if (gimple *_d3 = get_def (valueize, _p1))
36494 : : {
36495 : 3387 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
36496 : 3387 : switch (gimple_assign_rhs_code (_a3))
36497 : : {
36498 : 32 : case EQ_EXPR:
36499 : 32 : {
36500 : 32 : tree _q60 = gimple_assign_rhs1 (_a3);
36501 : 32 : _q60 = do_valueize (valueize, _q60);
36502 : 32 : tree _q61 = gimple_assign_rhs2 (_a3);
36503 : 32 : _q61 = do_valueize (valueize, _q61);
36504 : 32 : if (tree_swap_operands_p (_q60, _q61))
36505 : 0 : std::swap (_q60, _q61);
36506 : 32 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
36507 : : {
36508 : 0 : {
36509 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
36510 : 0 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
36511 : 0 : return true;
36512 : : }
36513 : : }
36514 : 32 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
36515 : : {
36516 : 0 : {
36517 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
36518 : 0 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
36519 : 0 : return true;
36520 : : }
36521 : : }
36522 : 13836 : break;
36523 : : }
36524 : 38 : case NE_EXPR:
36525 : 38 : {
36526 : 38 : tree _q60 = gimple_assign_rhs1 (_a3);
36527 : 38 : _q60 = do_valueize (valueize, _q60);
36528 : 38 : tree _q61 = gimple_assign_rhs2 (_a3);
36529 : 38 : _q61 = do_valueize (valueize, _q61);
36530 : 38 : if (tree_swap_operands_p (_q60, _q61))
36531 : 0 : std::swap (_q60, _q61);
36532 : 38 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
36533 : : {
36534 : 0 : {
36535 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
36536 : 0 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
36537 : 0 : return true;
36538 : : }
36539 : : }
36540 : 38 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
36541 : : {
36542 : 0 : {
36543 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
36544 : 0 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
36545 : 0 : return true;
36546 : : }
36547 : : }
36548 : 13836 : break;
36549 : : }
36550 : : default:;
36551 : : }
36552 : : }
36553 : : break;
36554 : : default:;
36555 : : }
36556 : : break;
36557 : : }
36558 : : default:;
36559 : : }
36560 : : }
36561 : : break;
36562 : 13836 : default:;
36563 : : }
36564 : 13836 : switch (TREE_CODE (_p1))
36565 : : {
36566 : 13824 : case SSA_NAME:
36567 : 13824 : if (gimple *_d2 = get_def (valueize, _p1))
36568 : : {
36569 : 13799 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
36570 : 13515 : switch (gimple_assign_rhs_code (_a2))
36571 : : {
36572 : 597 : case EQ_EXPR:
36573 : 597 : {
36574 : 597 : tree _q50 = gimple_assign_rhs1 (_a2);
36575 : 597 : _q50 = do_valueize (valueize, _q50);
36576 : 597 : tree _q51 = gimple_assign_rhs2 (_a2);
36577 : 597 : _q51 = do_valueize (valueize, _q51);
36578 : 597 : if (tree_swap_operands_p (_q50, _q51))
36579 : 0 : std::swap (_q50, _q51);
36580 : 597 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
36581 : : {
36582 : 118 : {
36583 : 118 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
36584 : 118 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
36585 : 0 : return true;
36586 : : }
36587 : : }
36588 : 597 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
36589 : : {
36590 : 16 : {
36591 : 16 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
36592 : 16 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
36593 : 0 : return true;
36594 : : }
36595 : : }
36596 : 597 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
36597 : : {
36598 : 12 : {
36599 : 12 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
36600 : 12 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
36601 : 0 : return true;
36602 : : }
36603 : : }
36604 : 597 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
36605 : : {
36606 : 64 : {
36607 : 64 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
36608 : 64 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
36609 : 0 : return true;
36610 : : }
36611 : : }
36612 : 13833 : break;
36613 : : }
36614 : 911 : case NE_EXPR:
36615 : 911 : {
36616 : 911 : tree _q50 = gimple_assign_rhs1 (_a2);
36617 : 911 : _q50 = do_valueize (valueize, _q50);
36618 : 911 : tree _q51 = gimple_assign_rhs2 (_a2);
36619 : 911 : _q51 = do_valueize (valueize, _q51);
36620 : 911 : if (tree_swap_operands_p (_q50, _q51))
36621 : 0 : std::swap (_q50, _q51);
36622 : 911 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
36623 : : {
36624 : 42 : {
36625 : 42 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
36626 : 42 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
36627 : 0 : return true;
36628 : : }
36629 : : }
36630 : 911 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
36631 : : {
36632 : 0 : {
36633 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
36634 : 0 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
36635 : 0 : return true;
36636 : : }
36637 : : }
36638 : 911 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
36639 : : {
36640 : 0 : {
36641 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
36642 : 0 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
36643 : 0 : return true;
36644 : : }
36645 : : }
36646 : 911 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
36647 : : {
36648 : 0 : {
36649 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
36650 : 0 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
36651 : 0 : return true;
36652 : : }
36653 : : }
36654 : 13833 : break;
36655 : : }
36656 : 2276 : case LT_EXPR:
36657 : 2276 : {
36658 : 2276 : tree _q50 = gimple_assign_rhs1 (_a2);
36659 : 2276 : _q50 = do_valueize (valueize, _q50);
36660 : 2276 : tree _q51 = gimple_assign_rhs2 (_a2);
36661 : 2276 : _q51 = do_valueize (valueize, _q51);
36662 : 2276 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
36663 : : {
36664 : 691 : {
36665 : 691 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
36666 : 691 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
36667 : 0 : return true;
36668 : : }
36669 : : }
36670 : : break;
36671 : : }
36672 : 3414 : case LE_EXPR:
36673 : 3414 : {
36674 : 3414 : tree _q50 = gimple_assign_rhs1 (_a2);
36675 : 3414 : _q50 = do_valueize (valueize, _q50);
36676 : 3414 : tree _q51 = gimple_assign_rhs2 (_a2);
36677 : 3414 : _q51 = do_valueize (valueize, _q51);
36678 : 3414 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
36679 : : {
36680 : 27 : {
36681 : 27 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
36682 : 27 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, LE_EXPR, GE_EXPR))
36683 : 0 : return true;
36684 : : }
36685 : : }
36686 : : break;
36687 : : }
36688 : 1535 : case GT_EXPR:
36689 : 1535 : {
36690 : 1535 : tree _q50 = gimple_assign_rhs1 (_a2);
36691 : 1535 : _q50 = do_valueize (valueize, _q50);
36692 : 1535 : tree _q51 = gimple_assign_rhs2 (_a2);
36693 : 1535 : _q51 = do_valueize (valueize, _q51);
36694 : 1535 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
36695 : : {
36696 : 80 : {
36697 : 80 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
36698 : 80 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, GT_EXPR, GE_EXPR))
36699 : 3 : return true;
36700 : : }
36701 : : }
36702 : : break;
36703 : : }
36704 : 4536 : case GE_EXPR:
36705 : 4536 : {
36706 : 4536 : tree _q50 = gimple_assign_rhs1 (_a2);
36707 : 4536 : _q50 = do_valueize (valueize, _q50);
36708 : 4536 : tree _q51 = gimple_assign_rhs2 (_a2);
36709 : 4536 : _q51 = do_valueize (valueize, _q51);
36710 : 4536 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
36711 : : {
36712 : 522 : {
36713 : 522 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
36714 : 522 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, GE_EXPR, GE_EXPR))
36715 : 0 : return true;
36716 : : }
36717 : : }
36718 : : break;
36719 : : }
36720 : : default:;
36721 : : }
36722 : : }
36723 : : break;
36724 : 13833 : default:;
36725 : : }
36726 : 13833 : switch (TREE_CODE (_q20))
36727 : : {
36728 : 13833 : case SSA_NAME:
36729 : 13833 : if (gimple *_d2 = get_def (valueize, _q20))
36730 : : {
36731 : 12712 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
36732 : 13047 : switch (gimple_assign_rhs_code (_a2))
36733 : : {
36734 : 32 : case BIT_AND_EXPR:
36735 : 32 : {
36736 : 32 : tree _q30 = gimple_assign_rhs1 (_a2);
36737 : 32 : _q30 = do_valueize (valueize, _q30);
36738 : 32 : tree _q31 = gimple_assign_rhs2 (_a2);
36739 : 32 : _q31 = do_valueize (valueize, _q31);
36740 : 32 : if (tree_swap_operands_p (_q30, _q31))
36741 : 7 : std::swap (_q30, _q31);
36742 : 32 : switch (TREE_CODE (_q30))
36743 : : {
36744 : 32 : case SSA_NAME:
36745 : 32 : if (gimple *_d3 = get_def (valueize, _q30))
36746 : : {
36747 : 26 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
36748 : 6 : switch (gimple_assign_rhs_code (_a3))
36749 : : {
36750 : 0 : case BIT_XOR_EXPR:
36751 : 0 : {
36752 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
36753 : 0 : _q40 = do_valueize (valueize, _q40);
36754 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
36755 : 0 : _q41 = do_valueize (valueize, _q41);
36756 : 0 : if (tree_swap_operands_p (_q40, _q41))
36757 : 0 : std::swap (_q40, _q41);
36758 : 0 : if (tree_expr_nonzero_p (_q31))
36759 : : {
36760 : 0 : switch (TREE_CODE (_p1))
36761 : : {
36762 : 0 : case SSA_NAME:
36763 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
36764 : : {
36765 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
36766 : 0 : switch (gimple_assign_rhs_code (_a4))
36767 : : {
36768 : 0 : case NE_EXPR:
36769 : 0 : {
36770 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
36771 : 0 : _q90 = do_valueize (valueize, _q90);
36772 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
36773 : 0 : _q91 = do_valueize (valueize, _q91);
36774 : 0 : if (tree_swap_operands_p (_q90, _q91))
36775 : 0 : std::swap (_q90, _q91);
36776 : 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
36777 : : {
36778 : 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
36779 : : {
36780 : 0 : {
36781 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _q21, _p1 };
36782 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, GE_EXPR))
36783 : 0 : return true;
36784 : : }
36785 : : }
36786 : : }
36787 : 0 : if ((_q90 == _q41 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q41, 0) && types_match (_q90, _q41)))
36788 : : {
36789 : 0 : if ((_q91 == _q40 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q40, 0) && types_match (_q91, _q40)))
36790 : : {
36791 : 0 : {
36792 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q41, _q40, _q31, _q21, _p1 };
36793 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, GE_EXPR))
36794 : 0 : return true;
36795 : : }
36796 : : }
36797 : : }
36798 : 32 : break;
36799 : : }
36800 : : default:;
36801 : : }
36802 : : }
36803 : : break;
36804 : : default:;
36805 : : }
36806 : : }
36807 : 32 : break;
36808 : : }
36809 : : default:;
36810 : : }
36811 : : }
36812 : : break;
36813 : 32 : default:;
36814 : : }
36815 : 32 : if (tree_expr_nonzero_p (_q30))
36816 : : {
36817 : 0 : switch (TREE_CODE (_q31))
36818 : : {
36819 : 0 : case SSA_NAME:
36820 : 0 : if (gimple *_d3 = get_def (valueize, _q31))
36821 : : {
36822 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
36823 : 0 : switch (gimple_assign_rhs_code (_a3))
36824 : : {
36825 : 0 : case BIT_XOR_EXPR:
36826 : 0 : {
36827 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
36828 : 0 : _q50 = do_valueize (valueize, _q50);
36829 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
36830 : 0 : _q51 = do_valueize (valueize, _q51);
36831 : 0 : if (tree_swap_operands_p (_q50, _q51))
36832 : 0 : std::swap (_q50, _q51);
36833 : 0 : switch (TREE_CODE (_p1))
36834 : : {
36835 : 0 : case SSA_NAME:
36836 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
36837 : : {
36838 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
36839 : 0 : switch (gimple_assign_rhs_code (_a4))
36840 : : {
36841 : 0 : case NE_EXPR:
36842 : 0 : {
36843 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
36844 : 0 : _q90 = do_valueize (valueize, _q90);
36845 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
36846 : 0 : _q91 = do_valueize (valueize, _q91);
36847 : 0 : if (tree_swap_operands_p (_q90, _q91))
36848 : 0 : std::swap (_q90, _q91);
36849 : 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
36850 : : {
36851 : 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
36852 : : {
36853 : 0 : {
36854 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q30, _q21, _p1 };
36855 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, GE_EXPR))
36856 : 0 : return true;
36857 : : }
36858 : : }
36859 : : }
36860 : 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
36861 : : {
36862 : 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
36863 : : {
36864 : 0 : {
36865 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q30, _q21, _p1 };
36866 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, GE_EXPR))
36867 : 0 : return true;
36868 : : }
36869 : : }
36870 : : }
36871 : 13833 : break;
36872 : : }
36873 : : default:;
36874 : : }
36875 : : }
36876 : : break;
36877 : : default:;
36878 : : }
36879 : 13833 : break;
36880 : : }
36881 : : default:;
36882 : : }
36883 : : }
36884 : : break;
36885 : : default:;
36886 : : }
36887 : : }
36888 : 13833 : break;
36889 : : }
36890 : : default:;
36891 : : }
36892 : : }
36893 : : break;
36894 : 13833 : default:;
36895 : : }
36896 : 13833 : switch (TREE_CODE (_q21))
36897 : : {
36898 : 10775 : case SSA_NAME:
36899 : 10775 : if (gimple *_d2 = get_def (valueize, _q21))
36900 : : {
36901 : 9824 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
36902 : 8174 : switch (gimple_assign_rhs_code (_a2))
36903 : : {
36904 : 0 : case BIT_AND_EXPR:
36905 : 0 : {
36906 : 0 : tree _q40 = gimple_assign_rhs1 (_a2);
36907 : 0 : _q40 = do_valueize (valueize, _q40);
36908 : 0 : tree _q41 = gimple_assign_rhs2 (_a2);
36909 : 0 : _q41 = do_valueize (valueize, _q41);
36910 : 0 : if (tree_swap_operands_p (_q40, _q41))
36911 : 0 : std::swap (_q40, _q41);
36912 : 0 : switch (TREE_CODE (_q40))
36913 : : {
36914 : 0 : case SSA_NAME:
36915 : 0 : if (gimple *_d3 = get_def (valueize, _q40))
36916 : : {
36917 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
36918 : 0 : switch (gimple_assign_rhs_code (_a3))
36919 : : {
36920 : 0 : case BIT_XOR_EXPR:
36921 : 0 : {
36922 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
36923 : 0 : _q50 = do_valueize (valueize, _q50);
36924 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
36925 : 0 : _q51 = do_valueize (valueize, _q51);
36926 : 0 : if (tree_swap_operands_p (_q50, _q51))
36927 : 0 : std::swap (_q50, _q51);
36928 : 0 : if (tree_expr_nonzero_p (_q41))
36929 : : {
36930 : 0 : switch (TREE_CODE (_p1))
36931 : : {
36932 : 0 : case SSA_NAME:
36933 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
36934 : : {
36935 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
36936 : 0 : switch (gimple_assign_rhs_code (_a4))
36937 : : {
36938 : 0 : case NE_EXPR:
36939 : 0 : {
36940 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
36941 : 0 : _q90 = do_valueize (valueize, _q90);
36942 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
36943 : 0 : _q91 = do_valueize (valueize, _q91);
36944 : 0 : if (tree_swap_operands_p (_q90, _q91))
36945 : 0 : std::swap (_q90, _q91);
36946 : 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
36947 : : {
36948 : 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
36949 : : {
36950 : 0 : {
36951 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q41, _q20, _p1 };
36952 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, LE_EXPR))
36953 : 0 : return true;
36954 : : }
36955 : : }
36956 : : }
36957 : 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
36958 : : {
36959 : 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
36960 : : {
36961 : 0 : {
36962 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q41, _q20, _p1 };
36963 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, LE_EXPR))
36964 : 0 : return true;
36965 : : }
36966 : : }
36967 : : }
36968 : 0 : break;
36969 : : }
36970 : : default:;
36971 : : }
36972 : : }
36973 : : break;
36974 : : default:;
36975 : : }
36976 : : }
36977 : 0 : break;
36978 : : }
36979 : : default:;
36980 : : }
36981 : : }
36982 : : break;
36983 : 0 : default:;
36984 : : }
36985 : 0 : if (tree_expr_nonzero_p (_q40))
36986 : : {
36987 : 0 : switch (TREE_CODE (_q41))
36988 : : {
36989 : 0 : case SSA_NAME:
36990 : 0 : if (gimple *_d3 = get_def (valueize, _q41))
36991 : : {
36992 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
36993 : 0 : switch (gimple_assign_rhs_code (_a3))
36994 : : {
36995 : 0 : case BIT_XOR_EXPR:
36996 : 0 : {
36997 : 0 : tree _q60 = gimple_assign_rhs1 (_a3);
36998 : 0 : _q60 = do_valueize (valueize, _q60);
36999 : 0 : tree _q61 = gimple_assign_rhs2 (_a3);
37000 : 0 : _q61 = do_valueize (valueize, _q61);
37001 : 0 : if (tree_swap_operands_p (_q60, _q61))
37002 : 0 : std::swap (_q60, _q61);
37003 : 0 : switch (TREE_CODE (_p1))
37004 : : {
37005 : 0 : case SSA_NAME:
37006 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
37007 : : {
37008 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
37009 : 0 : switch (gimple_assign_rhs_code (_a4))
37010 : : {
37011 : 0 : case NE_EXPR:
37012 : 0 : {
37013 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
37014 : 0 : _q90 = do_valueize (valueize, _q90);
37015 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
37016 : 0 : _q91 = do_valueize (valueize, _q91);
37017 : 0 : if (tree_swap_operands_p (_q90, _q91))
37018 : 0 : std::swap (_q90, _q91);
37019 : 0 : if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
37020 : : {
37021 : 0 : if ((_q91 == _q61 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q61, 0) && types_match (_q91, _q61)))
37022 : : {
37023 : 0 : {
37024 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q60, _q61, _q40, _q20, _p1 };
37025 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, LE_EXPR))
37026 : 0 : return true;
37027 : : }
37028 : : }
37029 : : }
37030 : 0 : if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
37031 : : {
37032 : 0 : if ((_q91 == _q60 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q60, 0) && types_match (_q91, _q60)))
37033 : : {
37034 : 0 : {
37035 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q61, _q60, _q40, _q20, _p1 };
37036 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, LE_EXPR))
37037 : 0 : return true;
37038 : : }
37039 : : }
37040 : : }
37041 : 13833 : break;
37042 : : }
37043 : : default:;
37044 : : }
37045 : : }
37046 : : break;
37047 : : default:;
37048 : : }
37049 : 13833 : break;
37050 : : }
37051 : : default:;
37052 : : }
37053 : : }
37054 : : break;
37055 : : default:;
37056 : : }
37057 : : }
37058 : 13833 : break;
37059 : : }
37060 : : default:;
37061 : : }
37062 : : }
37063 : : break;
37064 : 13833 : default:;
37065 : : }
37066 : 13833 : switch (TREE_CODE (_q20))
37067 : : {
37068 : 13833 : case SSA_NAME:
37069 : 13833 : if (gimple *_d2 = get_def (valueize, _q20))
37070 : : {
37071 : 12712 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
37072 : 13047 : switch (gimple_assign_rhs_code (_a2))
37073 : : {
37074 : 0 : case BIT_XOR_EXPR:
37075 : 0 : {
37076 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
37077 : 0 : _q30 = do_valueize (valueize, _q30);
37078 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
37079 : 0 : _q31 = do_valueize (valueize, _q31);
37080 : 0 : if (tree_swap_operands_p (_q30, _q31))
37081 : 0 : std::swap (_q30, _q31);
37082 : 0 : switch (TREE_CODE (_p1))
37083 : : {
37084 : 0 : case SSA_NAME:
37085 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
37086 : : {
37087 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
37088 : 0 : switch (gimple_assign_rhs_code (_a3))
37089 : : {
37090 : 0 : case NE_EXPR:
37091 : 0 : {
37092 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
37093 : 0 : _q70 = do_valueize (valueize, _q70);
37094 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
37095 : 0 : _q71 = do_valueize (valueize, _q71);
37096 : 0 : if (tree_swap_operands_p (_q70, _q71))
37097 : 0 : std::swap (_q70, _q71);
37098 : 0 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
37099 : : {
37100 : 0 : if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
37101 : : {
37102 : 0 : {
37103 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
37104 : 0 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, GE_EXPR))
37105 : 0 : return true;
37106 : : }
37107 : : }
37108 : : }
37109 : 0 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
37110 : : {
37111 : 0 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
37112 : : {
37113 : 0 : {
37114 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q21, _p1 };
37115 : 0 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, GE_EXPR))
37116 : 0 : return true;
37117 : : }
37118 : : }
37119 : : }
37120 : 13833 : break;
37121 : : }
37122 : : default:;
37123 : : }
37124 : : }
37125 : : break;
37126 : : default:;
37127 : : }
37128 : 13833 : break;
37129 : : }
37130 : : default:;
37131 : : }
37132 : : }
37133 : : break;
37134 : 13833 : default:;
37135 : : }
37136 : 13833 : switch (TREE_CODE (_q21))
37137 : : {
37138 : 10775 : case SSA_NAME:
37139 : 10775 : if (gimple *_d2 = get_def (valueize, _q21))
37140 : : {
37141 : 9824 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
37142 : 8174 : switch (gimple_assign_rhs_code (_a2))
37143 : : {
37144 : 0 : case BIT_XOR_EXPR:
37145 : 0 : {
37146 : 0 : tree _q40 = gimple_assign_rhs1 (_a2);
37147 : 0 : _q40 = do_valueize (valueize, _q40);
37148 : 0 : tree _q41 = gimple_assign_rhs2 (_a2);
37149 : 0 : _q41 = do_valueize (valueize, _q41);
37150 : 0 : if (tree_swap_operands_p (_q40, _q41))
37151 : 0 : std::swap (_q40, _q41);
37152 : 0 : switch (TREE_CODE (_p1))
37153 : : {
37154 : 0 : case SSA_NAME:
37155 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
37156 : : {
37157 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
37158 : 0 : switch (gimple_assign_rhs_code (_a3))
37159 : : {
37160 : 0 : case NE_EXPR:
37161 : 0 : {
37162 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
37163 : 0 : _q70 = do_valueize (valueize, _q70);
37164 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
37165 : 0 : _q71 = do_valueize (valueize, _q71);
37166 : 0 : if (tree_swap_operands_p (_q70, _q71))
37167 : 0 : std::swap (_q70, _q71);
37168 : 0 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
37169 : : {
37170 : 0 : if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
37171 : : {
37172 : 0 : {
37173 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q20, _p1 };
37174 : 0 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, LE_EXPR))
37175 : 0 : return true;
37176 : : }
37177 : : }
37178 : : }
37179 : 0 : if ((_q70 == _q41 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q41, 0) && types_match (_q70, _q41)))
37180 : : {
37181 : 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
37182 : : {
37183 : 0 : {
37184 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q41, _q40, _q20, _p1 };
37185 : 0 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, LE_EXPR))
37186 : 0 : return true;
37187 : : }
37188 : : }
37189 : : }
37190 : 4279330 : break;
37191 : : }
37192 : : default:;
37193 : : }
37194 : : }
37195 : : break;
37196 : : default:;
37197 : : }
37198 : 4279330 : break;
37199 : : }
37200 : : default:;
37201 : : }
37202 : : }
37203 : : break;
37204 : : default:;
37205 : : }
37206 : : break;
37207 : : }
37208 : 273912 : case EQ_EXPR:
37209 : 273912 : {
37210 : 273912 : tree _q20 = gimple_assign_rhs1 (_a1);
37211 : 273912 : _q20 = do_valueize (valueize, _q20);
37212 : 273912 : tree _q21 = gimple_assign_rhs2 (_a1);
37213 : 273912 : _q21 = do_valueize (valueize, _q21);
37214 : 273912 : if (tree_swap_operands_p (_q20, _q21))
37215 : 693 : std::swap (_q20, _q21);
37216 : 273912 : if (gimple_min_value (_q21, valueize))
37217 : : {
37218 : 84183 : switch (TREE_CODE (_p1))
37219 : : {
37220 : 84181 : case SSA_NAME:
37221 : 84181 : if (gimple *_d2 = get_def (valueize, _p1))
37222 : : {
37223 : 84109 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
37224 : 83688 : switch (gimple_assign_rhs_code (_a2))
37225 : : {
37226 : 1019 : case LE_EXPR:
37227 : 1019 : {
37228 : 1019 : tree _q50 = gimple_assign_rhs1 (_a2);
37229 : 1019 : _q50 = do_valueize (valueize, _q50);
37230 : 1019 : tree _q51 = gimple_assign_rhs2 (_a2);
37231 : 1019 : _q51 = do_valueize (valueize, _q51);
37232 : 1019 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
37233 : : {
37234 : 35 : {
37235 : 35 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
37236 : 35 : if (gimple_simplify_173 (res_op, seq, valueize, type, captures))
37237 : 35 : return true;
37238 : : }
37239 : : }
37240 : : break;
37241 : : }
37242 : 129 : case GE_EXPR:
37243 : 129 : {
37244 : 129 : tree _q50 = gimple_assign_rhs1 (_a2);
37245 : 129 : _q50 = do_valueize (valueize, _q50);
37246 : 129 : tree _q51 = gimple_assign_rhs2 (_a2);
37247 : 129 : _q51 = do_valueize (valueize, _q51);
37248 : 129 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
37249 : : {
37250 : 2 : {
37251 : 2 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
37252 : 2 : if (gimple_simplify_173 (res_op, seq, valueize, type, captures))
37253 : 2 : return true;
37254 : : }
37255 : : }
37256 : : break;
37257 : : }
37258 : 9468 : case LT_EXPR:
37259 : 9468 : {
37260 : 9468 : tree _q50 = gimple_assign_rhs1 (_a2);
37261 : 9468 : _q50 = do_valueize (valueize, _q50);
37262 : 9468 : tree _q51 = gimple_assign_rhs2 (_a2);
37263 : 9468 : _q51 = do_valueize (valueize, _q51);
37264 : 9468 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
37265 : : {
37266 : 179 : {
37267 : 179 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q50 };
37268 : 179 : if (gimple_simplify_174 (res_op, seq, valueize, type, captures))
37269 : 82 : return true;
37270 : : }
37271 : : }
37272 : : break;
37273 : : }
37274 : 41807 : case GT_EXPR:
37275 : 41807 : {
37276 : 41807 : tree _q50 = gimple_assign_rhs1 (_a2);
37277 : 41807 : _q50 = do_valueize (valueize, _q50);
37278 : 41807 : tree _q51 = gimple_assign_rhs2 (_a2);
37279 : 41807 : _q51 = do_valueize (valueize, _q51);
37280 : 41807 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
37281 : : {
37282 : 485 : {
37283 : 485 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q51 };
37284 : 485 : if (gimple_simplify_174 (res_op, seq, valueize, type, captures))
37285 : 238 : return true;
37286 : : }
37287 : : }
37288 : : break;
37289 : : }
37290 : : default:;
37291 : : }
37292 : : }
37293 : : break;
37294 : : default:;
37295 : : }
37296 : : }
37297 : 273555 : if (gimple_max_value (_q21, valueize))
37298 : : {
37299 : 1128 : switch (TREE_CODE (_p1))
37300 : : {
37301 : 1128 : case SSA_NAME:
37302 : 1128 : if (gimple *_d2 = get_def (valueize, _p1))
37303 : : {
37304 : 1128 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
37305 : 1114 : switch (gimple_assign_rhs_code (_a2))
37306 : : {
37307 : 68 : case GE_EXPR:
37308 : 68 : {
37309 : 68 : tree _q50 = gimple_assign_rhs1 (_a2);
37310 : 68 : _q50 = do_valueize (valueize, _q50);
37311 : 68 : tree _q51 = gimple_assign_rhs2 (_a2);
37312 : 68 : _q51 = do_valueize (valueize, _q51);
37313 : 68 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
37314 : : {
37315 : 0 : {
37316 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
37317 : 0 : if (gimple_simplify_168 (res_op, seq, valueize, type, captures, EQ_EXPR))
37318 : 0 : return true;
37319 : : }
37320 : : }
37321 : : break;
37322 : : }
37323 : 230 : case LE_EXPR:
37324 : 230 : {
37325 : 230 : tree _q50 = gimple_assign_rhs1 (_a2);
37326 : 230 : _q50 = do_valueize (valueize, _q50);
37327 : 230 : tree _q51 = gimple_assign_rhs2 (_a2);
37328 : 230 : _q51 = do_valueize (valueize, _q51);
37329 : 230 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
37330 : : {
37331 : 0 : {
37332 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
37333 : 0 : if (gimple_simplify_168 (res_op, seq, valueize, type, captures, EQ_EXPR))
37334 : 0 : return true;
37335 : : }
37336 : : }
37337 : : break;
37338 : : }
37339 : : default:;
37340 : : }
37341 : : }
37342 : : break;
37343 : : default:;
37344 : : }
37345 : : }
37346 : 273555 : switch (TREE_CODE (_p1))
37347 : : {
37348 : 273553 : case SSA_NAME:
37349 : 273553 : if (gimple *_d2 = get_def (valueize, _p1))
37350 : : {
37351 : 272925 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
37352 : 269566 : switch (gimple_assign_rhs_code (_a2))
37353 : : {
37354 : 167420 : case EQ_EXPR:
37355 : 167420 : {
37356 : 167420 : tree _q50 = gimple_assign_rhs1 (_a2);
37357 : 167420 : _q50 = do_valueize (valueize, _q50);
37358 : 167420 : tree _q51 = gimple_assign_rhs2 (_a2);
37359 : 167420 : _q51 = do_valueize (valueize, _q51);
37360 : 167420 : if (tree_swap_operands_p (_q50, _q51))
37361 : 427 : std::swap (_q50, _q51);
37362 : 167420 : switch (TREE_CODE (_q50))
37363 : : {
37364 : 167420 : case SSA_NAME:
37365 : 167420 : if (gimple *_d3 = get_def (valueize, _q50))
37366 : : {
37367 : 147889 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
37368 : 149372 : switch (gimple_assign_rhs_code (_a3))
37369 : : {
37370 : 10181 : CASE_CONVERT:
37371 : 10181 : {
37372 : 10181 : tree _q60 = gimple_assign_rhs1 (_a3);
37373 : 10181 : _q60 = do_valueize (valueize, _q60);
37374 : 10181 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
37375 : : {
37376 : 11 : {
37377 : 11 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
37378 : 11 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
37379 : 0 : return true;
37380 : : }
37381 : : }
37382 : 10181 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
37383 : : {
37384 : 0 : {
37385 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
37386 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
37387 : 0 : return true;
37388 : : }
37389 : : }
37390 : : break;
37391 : : }
37392 : : default:;
37393 : : }
37394 : : }
37395 : : break;
37396 : 167420 : default:;
37397 : : }
37398 : 167420 : switch (TREE_CODE (_q51))
37399 : : {
37400 : 5069 : case SSA_NAME:
37401 : 5069 : if (gimple *_d3 = get_def (valueize, _q51))
37402 : : {
37403 : 4611 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
37404 : 3765 : switch (gimple_assign_rhs_code (_a3))
37405 : : {
37406 : 138 : CASE_CONVERT:
37407 : 138 : {
37408 : 138 : tree _q70 = gimple_assign_rhs1 (_a3);
37409 : 138 : _q70 = do_valueize (valueize, _q70);
37410 : 138 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
37411 : : {
37412 : 0 : {
37413 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
37414 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
37415 : 0 : return true;
37416 : : }
37417 : : }
37418 : 138 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
37419 : : {
37420 : 0 : {
37421 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
37422 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
37423 : 0 : return true;
37424 : : }
37425 : : }
37426 : : break;
37427 : : }
37428 : : default:;
37429 : : }
37430 : : }
37431 : : break;
37432 : : default:;
37433 : : }
37434 : 273550 : break;
37435 : : }
37436 : 26574 : case NE_EXPR:
37437 : 26574 : {
37438 : 26574 : tree _q50 = gimple_assign_rhs1 (_a2);
37439 : 26574 : _q50 = do_valueize (valueize, _q50);
37440 : 26574 : tree _q51 = gimple_assign_rhs2 (_a2);
37441 : 26574 : _q51 = do_valueize (valueize, _q51);
37442 : 26574 : if (tree_swap_operands_p (_q50, _q51))
37443 : 198 : std::swap (_q50, _q51);
37444 : 26574 : switch (TREE_CODE (_q50))
37445 : : {
37446 : 26574 : case SSA_NAME:
37447 : 26574 : if (gimple *_d3 = get_def (valueize, _q50))
37448 : : {
37449 : 24008 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
37450 : 29506 : switch (gimple_assign_rhs_code (_a3))
37451 : : {
37452 : 1592 : CASE_CONVERT:
37453 : 1592 : {
37454 : 1592 : tree _q60 = gimple_assign_rhs1 (_a3);
37455 : 1592 : _q60 = do_valueize (valueize, _q60);
37456 : 1592 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
37457 : : {
37458 : 6 : {
37459 : 6 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
37460 : 6 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
37461 : 0 : return true;
37462 : : }
37463 : : }
37464 : 1592 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
37465 : : {
37466 : 0 : {
37467 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
37468 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
37469 : 0 : return true;
37470 : : }
37471 : : }
37472 : : break;
37473 : : }
37474 : : default:;
37475 : : }
37476 : : }
37477 : : break;
37478 : 26574 : default:;
37479 : : }
37480 : 26574 : switch (TREE_CODE (_q51))
37481 : : {
37482 : 5096 : case SSA_NAME:
37483 : 5096 : if (gimple *_d3 = get_def (valueize, _q51))
37484 : : {
37485 : 4721 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
37486 : 5577 : switch (gimple_assign_rhs_code (_a3))
37487 : : {
37488 : 251 : CASE_CONVERT:
37489 : 251 : {
37490 : 251 : tree _q70 = gimple_assign_rhs1 (_a3);
37491 : 251 : _q70 = do_valueize (valueize, _q70);
37492 : 251 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
37493 : : {
37494 : 13 : {
37495 : 13 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
37496 : 13 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
37497 : 0 : return true;
37498 : : }
37499 : : }
37500 : 251 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
37501 : : {
37502 : 0 : {
37503 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
37504 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
37505 : 0 : return true;
37506 : : }
37507 : : }
37508 : : break;
37509 : : }
37510 : : default:;
37511 : : }
37512 : : }
37513 : : break;
37514 : : default:;
37515 : : }
37516 : 273550 : break;
37517 : : }
37518 : 10877 : case LT_EXPR:
37519 : 10877 : {
37520 : 10877 : tree _q50 = gimple_assign_rhs1 (_a2);
37521 : 10877 : _q50 = do_valueize (valueize, _q50);
37522 : 10877 : tree _q51 = gimple_assign_rhs2 (_a2);
37523 : 10877 : _q51 = do_valueize (valueize, _q51);
37524 : 10877 : switch (TREE_CODE (_q50))
37525 : : {
37526 : 10876 : case SSA_NAME:
37527 : 10876 : if (gimple *_d3 = get_def (valueize, _q50))
37528 : : {
37529 : 8873 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
37530 : 11783 : switch (gimple_assign_rhs_code (_a3))
37531 : : {
37532 : 98 : CASE_CONVERT:
37533 : 98 : {
37534 : 98 : tree _q60 = gimple_assign_rhs1 (_a3);
37535 : 98 : _q60 = do_valueize (valueize, _q60);
37536 : 98 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
37537 : : {
37538 : 0 : {
37539 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
37540 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
37541 : 0 : return true;
37542 : : }
37543 : : }
37544 : 98 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
37545 : : {
37546 : 0 : {
37547 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
37548 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
37549 : 0 : return true;
37550 : : }
37551 : : }
37552 : : break;
37553 : : }
37554 : : default:;
37555 : : }
37556 : : }
37557 : : break;
37558 : 10877 : default:;
37559 : : }
37560 : 10877 : switch (TREE_CODE (_q51))
37561 : : {
37562 : 9896 : case SSA_NAME:
37563 : 9896 : if (gimple *_d3 = get_def (valueize, _q51))
37564 : : {
37565 : 7966 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
37566 : 10502 : switch (gimple_assign_rhs_code (_a3))
37567 : : {
37568 : 187 : CASE_CONVERT:
37569 : 187 : {
37570 : 187 : tree _q70 = gimple_assign_rhs1 (_a3);
37571 : 187 : _q70 = do_valueize (valueize, _q70);
37572 : 187 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
37573 : : {
37574 : 60 : {
37575 : 60 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
37576 : 60 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR))
37577 : 0 : return true;
37578 : : }
37579 : : }
37580 : 187 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
37581 : : {
37582 : 0 : {
37583 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
37584 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR))
37585 : 0 : return true;
37586 : : }
37587 : : }
37588 : : break;
37589 : : }
37590 : : default:;
37591 : : }
37592 : : }
37593 : : break;
37594 : : default:;
37595 : : }
37596 : : break;
37597 : : }
37598 : 46057 : case GT_EXPR:
37599 : 46057 : {
37600 : 46057 : tree _q50 = gimple_assign_rhs1 (_a2);
37601 : 46057 : _q50 = do_valueize (valueize, _q50);
37602 : 46057 : tree _q51 = gimple_assign_rhs2 (_a2);
37603 : 46057 : _q51 = do_valueize (valueize, _q51);
37604 : 46057 : switch (TREE_CODE (_q50))
37605 : : {
37606 : 46057 : case SSA_NAME:
37607 : 46057 : if (gimple *_d3 = get_def (valueize, _q50))
37608 : : {
37609 : 38398 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
37610 : 63905 : switch (gimple_assign_rhs_code (_a3))
37611 : : {
37612 : 509 : CASE_CONVERT:
37613 : 509 : {
37614 : 509 : tree _q60 = gimple_assign_rhs1 (_a3);
37615 : 509 : _q60 = do_valueize (valueize, _q60);
37616 : 509 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
37617 : : {
37618 : 100 : {
37619 : 100 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
37620 : 100 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR))
37621 : 2 : return true;
37622 : : }
37623 : : }
37624 : 507 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
37625 : : {
37626 : 0 : {
37627 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
37628 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR))
37629 : 0 : return true;
37630 : : }
37631 : : }
37632 : : break;
37633 : : }
37634 : : default:;
37635 : : }
37636 : : }
37637 : : break;
37638 : 46055 : default:;
37639 : : }
37640 : 46055 : switch (TREE_CODE (_q51))
37641 : : {
37642 : 40801 : case SSA_NAME:
37643 : 40801 : if (gimple *_d3 = get_def (valueize, _q51))
37644 : : {
37645 : 33713 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
37646 : 60554 : switch (gimple_assign_rhs_code (_a3))
37647 : : {
37648 : 0 : CASE_CONVERT:
37649 : 0 : {
37650 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
37651 : 0 : _q70 = do_valueize (valueize, _q70);
37652 : 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
37653 : : {
37654 : 0 : {
37655 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
37656 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
37657 : 0 : return true;
37658 : : }
37659 : : }
37660 : 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
37661 : : {
37662 : 0 : {
37663 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
37664 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
37665 : 0 : return true;
37666 : : }
37667 : : }
37668 : : break;
37669 : : }
37670 : : default:;
37671 : : }
37672 : : }
37673 : : break;
37674 : : default:;
37675 : : }
37676 : : break;
37677 : : }
37678 : 6085 : case LE_EXPR:
37679 : 6085 : {
37680 : 6085 : tree _q50 = gimple_assign_rhs1 (_a2);
37681 : 6085 : _q50 = do_valueize (valueize, _q50);
37682 : 6085 : tree _q51 = gimple_assign_rhs2 (_a2);
37683 : 6085 : _q51 = do_valueize (valueize, _q51);
37684 : 6085 : switch (TREE_CODE (_q50))
37685 : : {
37686 : 6078 : case SSA_NAME:
37687 : 6078 : if (gimple *_d3 = get_def (valueize, _q50))
37688 : : {
37689 : 5896 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
37690 : 5676 : switch (gimple_assign_rhs_code (_a3))
37691 : : {
37692 : 29 : CASE_CONVERT:
37693 : 29 : {
37694 : 29 : tree _q60 = gimple_assign_rhs1 (_a3);
37695 : 29 : _q60 = do_valueize (valueize, _q60);
37696 : 29 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
37697 : : {
37698 : 3 : {
37699 : 3 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
37700 : 3 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
37701 : 3 : return true;
37702 : : }
37703 : : }
37704 : 26 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
37705 : : {
37706 : 0 : {
37707 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
37708 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
37709 : 0 : return true;
37710 : : }
37711 : : }
37712 : : break;
37713 : : }
37714 : : default:;
37715 : : }
37716 : : }
37717 : : break;
37718 : 6082 : default:;
37719 : : }
37720 : 6082 : switch (TREE_CODE (_q51))
37721 : : {
37722 : 384 : case SSA_NAME:
37723 : 384 : if (gimple *_d3 = get_def (valueize, _q51))
37724 : : {
37725 : 319 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
37726 : 220 : switch (gimple_assign_rhs_code (_a3))
37727 : : {
37728 : 59 : CASE_CONVERT:
37729 : 59 : {
37730 : 59 : tree _q70 = gimple_assign_rhs1 (_a3);
37731 : 59 : _q70 = do_valueize (valueize, _q70);
37732 : 59 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
37733 : : {
37734 : 0 : {
37735 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
37736 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
37737 : 0 : return true;
37738 : : }
37739 : : }
37740 : 59 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
37741 : : {
37742 : 0 : {
37743 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
37744 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
37745 : 0 : return true;
37746 : : }
37747 : : }
37748 : : break;
37749 : : }
37750 : : default:;
37751 : : }
37752 : : }
37753 : : break;
37754 : : default:;
37755 : : }
37756 : : break;
37757 : : }
37758 : 612 : case GE_EXPR:
37759 : 612 : {
37760 : 612 : tree _q50 = gimple_assign_rhs1 (_a2);
37761 : 612 : _q50 = do_valueize (valueize, _q50);
37762 : 612 : tree _q51 = gimple_assign_rhs2 (_a2);
37763 : 612 : _q51 = do_valueize (valueize, _q51);
37764 : 612 : switch (TREE_CODE (_q50))
37765 : : {
37766 : 612 : case SSA_NAME:
37767 : 612 : if (gimple *_d3 = get_def (valueize, _q50))
37768 : : {
37769 : 542 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
37770 : 720 : switch (gimple_assign_rhs_code (_a3))
37771 : : {
37772 : 2 : CASE_CONVERT:
37773 : 2 : {
37774 : 2 : tree _q60 = gimple_assign_rhs1 (_a3);
37775 : 2 : _q60 = do_valueize (valueize, _q60);
37776 : 2 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
37777 : : {
37778 : 0 : {
37779 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
37780 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
37781 : 0 : return true;
37782 : : }
37783 : : }
37784 : 2 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
37785 : : {
37786 : 0 : {
37787 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
37788 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
37789 : 0 : return true;
37790 : : }
37791 : : }
37792 : : break;
37793 : : }
37794 : : default:;
37795 : : }
37796 : : }
37797 : : break;
37798 : 612 : default:;
37799 : : }
37800 : 612 : switch (TREE_CODE (_q51))
37801 : : {
37802 : 388 : case SSA_NAME:
37803 : 388 : if (gimple *_d3 = get_def (valueize, _q51))
37804 : : {
37805 : 368 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
37806 : 418 : switch (gimple_assign_rhs_code (_a3))
37807 : : {
37808 : 32 : CASE_CONVERT:
37809 : 32 : {
37810 : 32 : tree _q70 = gimple_assign_rhs1 (_a3);
37811 : 32 : _q70 = do_valueize (valueize, _q70);
37812 : 32 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
37813 : : {
37814 : 0 : {
37815 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
37816 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
37817 : 0 : return true;
37818 : : }
37819 : : }
37820 : 32 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
37821 : : {
37822 : 0 : {
37823 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
37824 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
37825 : 0 : return true;
37826 : : }
37827 : : }
37828 : : break;
37829 : : }
37830 : : default:;
37831 : : }
37832 : : }
37833 : : break;
37834 : : default:;
37835 : : }
37836 : : break;
37837 : : }
37838 : : default:;
37839 : : }
37840 : : }
37841 : : break;
37842 : 273550 : default:;
37843 : : }
37844 : 273550 : switch (TREE_CODE (_q20))
37845 : : {
37846 : 273550 : case SSA_NAME:
37847 : 273550 : if (gimple *_d2 = get_def (valueize, _q20))
37848 : : {
37849 : 239474 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
37850 : 245446 : switch (gimple_assign_rhs_code (_a2))
37851 : : {
37852 : 15027 : CASE_CONVERT:
37853 : 15027 : {
37854 : 15027 : tree _q30 = gimple_assign_rhs1 (_a2);
37855 : 15027 : _q30 = do_valueize (valueize, _q30);
37856 : 15027 : switch (TREE_CODE (_p1))
37857 : : {
37858 : 15027 : case SSA_NAME:
37859 : 15027 : if (gimple *_d3 = get_def (valueize, _p1))
37860 : : {
37861 : 15019 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
37862 : 14909 : switch (gimple_assign_rhs_code (_a3))
37863 : : {
37864 : 10237 : case EQ_EXPR:
37865 : 10237 : {
37866 : 10237 : tree _q60 = gimple_assign_rhs1 (_a3);
37867 : 10237 : _q60 = do_valueize (valueize, _q60);
37868 : 10237 : tree _q61 = gimple_assign_rhs2 (_a3);
37869 : 10237 : _q61 = do_valueize (valueize, _q61);
37870 : 10237 : if (tree_swap_operands_p (_q60, _q61))
37871 : 14 : std::swap (_q60, _q61);
37872 : 10237 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
37873 : : {
37874 : 84 : {
37875 : 84 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
37876 : 84 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
37877 : 0 : return true;
37878 : : }
37879 : : }
37880 : 10237 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
37881 : : {
37882 : 0 : {
37883 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
37884 : 0 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
37885 : 0 : return true;
37886 : : }
37887 : : }
37888 : 273550 : break;
37889 : : }
37890 : 2476 : case NE_EXPR:
37891 : 2476 : {
37892 : 2476 : tree _q60 = gimple_assign_rhs1 (_a3);
37893 : 2476 : _q60 = do_valueize (valueize, _q60);
37894 : 2476 : tree _q61 = gimple_assign_rhs2 (_a3);
37895 : 2476 : _q61 = do_valueize (valueize, _q61);
37896 : 2476 : if (tree_swap_operands_p (_q60, _q61))
37897 : 12 : std::swap (_q60, _q61);
37898 : 2476 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
37899 : : {
37900 : 0 : {
37901 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
37902 : 0 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
37903 : 0 : return true;
37904 : : }
37905 : : }
37906 : 2476 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
37907 : : {
37908 : 0 : {
37909 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
37910 : 0 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
37911 : 0 : return true;
37912 : : }
37913 : : }
37914 : 273550 : break;
37915 : : }
37916 : : default:;
37917 : : }
37918 : : }
37919 : : break;
37920 : : default:;
37921 : : }
37922 : : break;
37923 : : }
37924 : : default:;
37925 : : }
37926 : : }
37927 : : break;
37928 : 273550 : default:;
37929 : : }
37930 : 273550 : switch (TREE_CODE (_q21))
37931 : : {
37932 : 12315 : case SSA_NAME:
37933 : 12315 : if (gimple *_d2 = get_def (valueize, _q21))
37934 : : {
37935 : 10667 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
37936 : 8417 : switch (gimple_assign_rhs_code (_a2))
37937 : : {
37938 : 1206 : CASE_CONVERT:
37939 : 1206 : {
37940 : 1206 : tree _q40 = gimple_assign_rhs1 (_a2);
37941 : 1206 : _q40 = do_valueize (valueize, _q40);
37942 : 1206 : switch (TREE_CODE (_p1))
37943 : : {
37944 : 1206 : case SSA_NAME:
37945 : 1206 : if (gimple *_d3 = get_def (valueize, _p1))
37946 : : {
37947 : 1206 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
37948 : 1206 : switch (gimple_assign_rhs_code (_a3))
37949 : : {
37950 : 151 : case EQ_EXPR:
37951 : 151 : {
37952 : 151 : tree _q60 = gimple_assign_rhs1 (_a3);
37953 : 151 : _q60 = do_valueize (valueize, _q60);
37954 : 151 : tree _q61 = gimple_assign_rhs2 (_a3);
37955 : 151 : _q61 = do_valueize (valueize, _q61);
37956 : 151 : if (tree_swap_operands_p (_q60, _q61))
37957 : 11 : std::swap (_q60, _q61);
37958 : 151 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
37959 : : {
37960 : 0 : {
37961 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
37962 : 0 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
37963 : 0 : return true;
37964 : : }
37965 : : }
37966 : 151 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
37967 : : {
37968 : 0 : {
37969 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
37970 : 0 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
37971 : 0 : return true;
37972 : : }
37973 : : }
37974 : 273550 : break;
37975 : : }
37976 : 1047 : case NE_EXPR:
37977 : 1047 : {
37978 : 1047 : tree _q60 = gimple_assign_rhs1 (_a3);
37979 : 1047 : _q60 = do_valueize (valueize, _q60);
37980 : 1047 : tree _q61 = gimple_assign_rhs2 (_a3);
37981 : 1047 : _q61 = do_valueize (valueize, _q61);
37982 : 1047 : if (tree_swap_operands_p (_q60, _q61))
37983 : 0 : std::swap (_q60, _q61);
37984 : 1047 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
37985 : : {
37986 : 0 : {
37987 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
37988 : 0 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
37989 : 0 : return true;
37990 : : }
37991 : : }
37992 : 1047 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
37993 : : {
37994 : 0 : {
37995 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
37996 : 0 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
37997 : 0 : return true;
37998 : : }
37999 : : }
38000 : 273550 : break;
38001 : : }
38002 : : default:;
38003 : : }
38004 : : }
38005 : : break;
38006 : : default:;
38007 : : }
38008 : : break;
38009 : : }
38010 : : default:;
38011 : : }
38012 : : }
38013 : : break;
38014 : 273550 : default:;
38015 : : }
38016 : 273550 : switch (TREE_CODE (_p1))
38017 : : {
38018 : 273548 : case SSA_NAME:
38019 : 273548 : if (gimple *_d2 = get_def (valueize, _p1))
38020 : : {
38021 : 272920 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
38022 : 269561 : switch (gimple_assign_rhs_code (_a2))
38023 : : {
38024 : 167420 : case EQ_EXPR:
38025 : 167420 : {
38026 : 167420 : tree _q50 = gimple_assign_rhs1 (_a2);
38027 : 167420 : _q50 = do_valueize (valueize, _q50);
38028 : 167420 : tree _q51 = gimple_assign_rhs2 (_a2);
38029 : 167420 : _q51 = do_valueize (valueize, _q51);
38030 : 167420 : if (tree_swap_operands_p (_q50, _q51))
38031 : 427 : std::swap (_q50, _q51);
38032 : 167420 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
38033 : : {
38034 : 94009 : {
38035 : 94009 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
38036 : 94009 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
38037 : 1438 : return true;
38038 : : }
38039 : 92571 : {
38040 : 92571 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
38041 : 92571 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
38042 : 0 : return true;
38043 : : }
38044 : : }
38045 : 165982 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
38046 : : {
38047 : 1655 : {
38048 : 1655 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
38049 : 1655 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
38050 : 0 : return true;
38051 : : }
38052 : : }
38053 : 165982 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
38054 : : {
38055 : 1979 : {
38056 : 1979 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
38057 : 1979 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
38058 : 0 : return true;
38059 : : }
38060 : 1979 : {
38061 : 1979 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
38062 : 1979 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
38063 : 0 : return true;
38064 : : }
38065 : : }
38066 : 165982 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
38067 : : {
38068 : 38465 : {
38069 : 38465 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
38070 : 38465 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
38071 : 0 : return true;
38072 : : }
38073 : 38465 : {
38074 : 38465 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
38075 : 38465 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
38076 : 0 : return true;
38077 : : }
38078 : : }
38079 : 165982 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
38080 : : {
38081 : 1655 : {
38082 : 1655 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
38083 : 1655 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
38084 : 0 : return true;
38085 : : }
38086 : : }
38087 : 271952 : break;
38088 : : }
38089 : 26574 : case NE_EXPR:
38090 : 26574 : {
38091 : 26574 : tree _q50 = gimple_assign_rhs1 (_a2);
38092 : 26574 : _q50 = do_valueize (valueize, _q50);
38093 : 26574 : tree _q51 = gimple_assign_rhs2 (_a2);
38094 : 26574 : _q51 = do_valueize (valueize, _q51);
38095 : 26574 : if (tree_swap_operands_p (_q50, _q51))
38096 : 198 : std::swap (_q50, _q51);
38097 : 26574 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
38098 : : {
38099 : 7469 : {
38100 : 7469 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
38101 : 7469 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
38102 : 58 : return true;
38103 : : }
38104 : 7411 : {
38105 : 7411 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
38106 : 7411 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
38107 : 0 : return true;
38108 : : }
38109 : : }
38110 : 26516 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
38111 : : {
38112 : 587 : {
38113 : 587 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
38114 : 587 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
38115 : 0 : return true;
38116 : : }
38117 : : }
38118 : 26516 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
38119 : : {
38120 : 50 : {
38121 : 50 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
38122 : 50 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
38123 : 0 : return true;
38124 : : }
38125 : 50 : {
38126 : 50 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
38127 : 50 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
38128 : 0 : return true;
38129 : : }
38130 : : }
38131 : 26516 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
38132 : : {
38133 : 708 : {
38134 : 708 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
38135 : 708 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
38136 : 0 : return true;
38137 : : }
38138 : 708 : {
38139 : 708 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
38140 : 708 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
38141 : 0 : return true;
38142 : : }
38143 : : }
38144 : 26516 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
38145 : : {
38146 : 587 : {
38147 : 587 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
38148 : 587 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
38149 : 0 : return true;
38150 : : }
38151 : : }
38152 : 271952 : break;
38153 : : }
38154 : 10877 : case LT_EXPR:
38155 : 10877 : {
38156 : 10877 : tree _q50 = gimple_assign_rhs1 (_a2);
38157 : 10877 : _q50 = do_valueize (valueize, _q50);
38158 : 10877 : tree _q51 = gimple_assign_rhs2 (_a2);
38159 : 10877 : _q51 = do_valueize (valueize, _q51);
38160 : 10877 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
38161 : : {
38162 : 8671 : {
38163 : 8671 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
38164 : 8671 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
38165 : 2 : return true;
38166 : : }
38167 : : }
38168 : 10875 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
38169 : : {
38170 : 408 : {
38171 : 408 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
38172 : 408 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR))
38173 : 0 : return true;
38174 : : }
38175 : : }
38176 : 10875 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
38177 : : {
38178 : 36 : {
38179 : 36 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
38180 : 36 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
38181 : 0 : return true;
38182 : : }
38183 : : }
38184 : 10875 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
38185 : : {
38186 : 80 : {
38187 : 80 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
38188 : 80 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR))
38189 : 0 : return true;
38190 : : }
38191 : : }
38192 : : break;
38193 : : }
38194 : 46055 : case GT_EXPR:
38195 : 46055 : {
38196 : 46055 : tree _q50 = gimple_assign_rhs1 (_a2);
38197 : 46055 : _q50 = do_valueize (valueize, _q50);
38198 : 46055 : tree _q51 = gimple_assign_rhs2 (_a2);
38199 : 46055 : _q51 = do_valueize (valueize, _q51);
38200 : 46055 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
38201 : : {
38202 : 3446 : {
38203 : 3446 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
38204 : 3446 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR))
38205 : 58 : return true;
38206 : : }
38207 : : }
38208 : 45997 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
38209 : : {
38210 : 40267 : {
38211 : 40267 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
38212 : 40267 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
38213 : 0 : return true;
38214 : : }
38215 : : }
38216 : 45997 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
38217 : : {
38218 : 2 : {
38219 : 2 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
38220 : 2 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR))
38221 : 0 : return true;
38222 : : }
38223 : : }
38224 : 45997 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
38225 : : {
38226 : 38 : {
38227 : 38 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
38228 : 38 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
38229 : 0 : return true;
38230 : : }
38231 : : }
38232 : : break;
38233 : : }
38234 : 6082 : case LE_EXPR:
38235 : 6082 : {
38236 : 6082 : tree _q50 = gimple_assign_rhs1 (_a2);
38237 : 6082 : _q50 = do_valueize (valueize, _q50);
38238 : 6082 : tree _q51 = gimple_assign_rhs2 (_a2);
38239 : 6082 : _q51 = do_valueize (valueize, _q51);
38240 : 6082 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
38241 : : {
38242 : 1115 : {
38243 : 1115 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
38244 : 1115 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
38245 : 38 : return true;
38246 : : }
38247 : : }
38248 : 6044 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
38249 : : {
38250 : 108 : {
38251 : 108 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
38252 : 108 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
38253 : 0 : return true;
38254 : : }
38255 : : }
38256 : 6044 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
38257 : : {
38258 : 73 : {
38259 : 73 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
38260 : 73 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
38261 : 0 : return true;
38262 : : }
38263 : : }
38264 : 6044 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
38265 : : {
38266 : 198 : {
38267 : 198 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
38268 : 198 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
38269 : 0 : return true;
38270 : : }
38271 : : }
38272 : : break;
38273 : : }
38274 : 612 : case GE_EXPR:
38275 : 612 : {
38276 : 612 : tree _q50 = gimple_assign_rhs1 (_a2);
38277 : 612 : _q50 = do_valueize (valueize, _q50);
38278 : 612 : tree _q51 = gimple_assign_rhs2 (_a2);
38279 : 612 : _q51 = do_valueize (valueize, _q51);
38280 : 612 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
38281 : : {
38282 : 218 : {
38283 : 218 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
38284 : 218 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
38285 : 4 : return true;
38286 : : }
38287 : : }
38288 : 608 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
38289 : : {
38290 : 83 : {
38291 : 83 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
38292 : 83 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
38293 : 0 : return true;
38294 : : }
38295 : : }
38296 : 608 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
38297 : : {
38298 : 40 : {
38299 : 40 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
38300 : 40 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
38301 : 0 : return true;
38302 : : }
38303 : : }
38304 : 608 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
38305 : : {
38306 : 36 : {
38307 : 36 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
38308 : 36 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
38309 : 0 : return true;
38310 : : }
38311 : : }
38312 : : break;
38313 : : }
38314 : : default:;
38315 : : }
38316 : : }
38317 : : break;
38318 : 271952 : default:;
38319 : : }
38320 : 271952 : switch (TREE_CODE (_q20))
38321 : : {
38322 : 271952 : case SSA_NAME:
38323 : 271952 : if (gimple *_d2 = get_def (valueize, _q20))
38324 : : {
38325 : 237890 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
38326 : 245355 : switch (gimple_assign_rhs_code (_a2))
38327 : : {
38328 : 5906 : case BIT_AND_EXPR:
38329 : 5906 : {
38330 : 5906 : tree _q30 = gimple_assign_rhs1 (_a2);
38331 : 5906 : _q30 = do_valueize (valueize, _q30);
38332 : 5906 : tree _q31 = gimple_assign_rhs2 (_a2);
38333 : 5906 : _q31 = do_valueize (valueize, _q31);
38334 : 5906 : if (tree_swap_operands_p (_q30, _q31))
38335 : 24 : std::swap (_q30, _q31);
38336 : 5906 : switch (TREE_CODE (_q30))
38337 : : {
38338 : 5906 : case SSA_NAME:
38339 : 5906 : if (gimple *_d3 = get_def (valueize, _q30))
38340 : : {
38341 : 5748 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
38342 : 7826 : switch (gimple_assign_rhs_code (_a3))
38343 : : {
38344 : 2 : case BIT_XOR_EXPR:
38345 : 2 : {
38346 : 2 : tree _q40 = gimple_assign_rhs1 (_a3);
38347 : 2 : _q40 = do_valueize (valueize, _q40);
38348 : 2 : tree _q41 = gimple_assign_rhs2 (_a3);
38349 : 2 : _q41 = do_valueize (valueize, _q41);
38350 : 2 : if (tree_swap_operands_p (_q40, _q41))
38351 : 0 : std::swap (_q40, _q41);
38352 : 2 : if (tree_expr_nonzero_p (_q31))
38353 : : {
38354 : 2 : switch (TREE_CODE (_p1))
38355 : : {
38356 : 2 : case SSA_NAME:
38357 : 2 : if (gimple *_d4 = get_def (valueize, _p1))
38358 : : {
38359 : 2 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
38360 : 2 : switch (gimple_assign_rhs_code (_a4))
38361 : : {
38362 : 2 : case NE_EXPR:
38363 : 2 : {
38364 : 2 : tree _q90 = gimple_assign_rhs1 (_a4);
38365 : 2 : _q90 = do_valueize (valueize, _q90);
38366 : 2 : tree _q91 = gimple_assign_rhs2 (_a4);
38367 : 2 : _q91 = do_valueize (valueize, _q91);
38368 : 2 : if (tree_swap_operands_p (_q90, _q91))
38369 : 0 : std::swap (_q90, _q91);
38370 : 2 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
38371 : : {
38372 : 2 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
38373 : : {
38374 : 2 : {
38375 : 2 : tree captures[5] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _q21, _p1 };
38376 : 2 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, EQ_EXPR))
38377 : 2 : return true;
38378 : : }
38379 : : }
38380 : : }
38381 : 0 : if ((_q90 == _q41 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q41, 0) && types_match (_q90, _q41)))
38382 : : {
38383 : 0 : if ((_q91 == _q40 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q40, 0) && types_match (_q91, _q40)))
38384 : : {
38385 : 0 : {
38386 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q41, _q40, _q31, _q21, _p1 };
38387 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, EQ_EXPR))
38388 : 0 : return true;
38389 : : }
38390 : : }
38391 : : }
38392 : 5904 : break;
38393 : : }
38394 : : default:;
38395 : : }
38396 : : }
38397 : : break;
38398 : : default:;
38399 : : }
38400 : : }
38401 : 5904 : break;
38402 : : }
38403 : : default:;
38404 : : }
38405 : : }
38406 : : break;
38407 : 5904 : default:;
38408 : : }
38409 : 5904 : if (tree_expr_nonzero_p (_q30))
38410 : : {
38411 : 140 : switch (TREE_CODE (_q31))
38412 : : {
38413 : 90 : case SSA_NAME:
38414 : 90 : if (gimple *_d3 = get_def (valueize, _q31))
38415 : : {
38416 : 90 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
38417 : 0 : switch (gimple_assign_rhs_code (_a3))
38418 : : {
38419 : 0 : case BIT_XOR_EXPR:
38420 : 0 : {
38421 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
38422 : 0 : _q50 = do_valueize (valueize, _q50);
38423 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
38424 : 0 : _q51 = do_valueize (valueize, _q51);
38425 : 0 : if (tree_swap_operands_p (_q50, _q51))
38426 : 0 : std::swap (_q50, _q51);
38427 : 0 : switch (TREE_CODE (_p1))
38428 : : {
38429 : 0 : case SSA_NAME:
38430 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
38431 : : {
38432 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
38433 : 0 : switch (gimple_assign_rhs_code (_a4))
38434 : : {
38435 : 0 : case NE_EXPR:
38436 : 0 : {
38437 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
38438 : 0 : _q90 = do_valueize (valueize, _q90);
38439 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
38440 : 0 : _q91 = do_valueize (valueize, _q91);
38441 : 0 : if (tree_swap_operands_p (_q90, _q91))
38442 : 0 : std::swap (_q90, _q91);
38443 : 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
38444 : : {
38445 : 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
38446 : : {
38447 : 0 : {
38448 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q30, _q21, _p1 };
38449 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, EQ_EXPR))
38450 : 0 : return true;
38451 : : }
38452 : : }
38453 : : }
38454 : 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
38455 : : {
38456 : 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
38457 : : {
38458 : 0 : {
38459 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q30, _q21, _p1 };
38460 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, EQ_EXPR))
38461 : 0 : return true;
38462 : : }
38463 : : }
38464 : : }
38465 : 271950 : break;
38466 : : }
38467 : : default:;
38468 : : }
38469 : : }
38470 : : break;
38471 : : default:;
38472 : : }
38473 : 271950 : break;
38474 : : }
38475 : : default:;
38476 : : }
38477 : : }
38478 : : break;
38479 : : default:;
38480 : : }
38481 : : }
38482 : 271950 : break;
38483 : : }
38484 : : default:;
38485 : : }
38486 : : }
38487 : : break;
38488 : 271950 : default:;
38489 : : }
38490 : 271950 : switch (TREE_CODE (_q21))
38491 : : {
38492 : 12309 : case SSA_NAME:
38493 : 12309 : if (gimple *_d2 = get_def (valueize, _q21))
38494 : : {
38495 : 10661 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
38496 : 8413 : switch (gimple_assign_rhs_code (_a2))
38497 : : {
38498 : 46 : case BIT_AND_EXPR:
38499 : 46 : {
38500 : 46 : tree _q40 = gimple_assign_rhs1 (_a2);
38501 : 46 : _q40 = do_valueize (valueize, _q40);
38502 : 46 : tree _q41 = gimple_assign_rhs2 (_a2);
38503 : 46 : _q41 = do_valueize (valueize, _q41);
38504 : 46 : if (tree_swap_operands_p (_q40, _q41))
38505 : 0 : std::swap (_q40, _q41);
38506 : 46 : switch (TREE_CODE (_q40))
38507 : : {
38508 : 46 : case SSA_NAME:
38509 : 46 : if (gimple *_d3 = get_def (valueize, _q40))
38510 : : {
38511 : 46 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
38512 : 48 : switch (gimple_assign_rhs_code (_a3))
38513 : : {
38514 : 0 : case BIT_XOR_EXPR:
38515 : 0 : {
38516 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
38517 : 0 : _q50 = do_valueize (valueize, _q50);
38518 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
38519 : 0 : _q51 = do_valueize (valueize, _q51);
38520 : 0 : if (tree_swap_operands_p (_q50, _q51))
38521 : 0 : std::swap (_q50, _q51);
38522 : 0 : if (tree_expr_nonzero_p (_q41))
38523 : : {
38524 : 0 : switch (TREE_CODE (_p1))
38525 : : {
38526 : 0 : case SSA_NAME:
38527 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
38528 : : {
38529 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
38530 : 0 : switch (gimple_assign_rhs_code (_a4))
38531 : : {
38532 : 0 : case NE_EXPR:
38533 : 0 : {
38534 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
38535 : 0 : _q90 = do_valueize (valueize, _q90);
38536 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
38537 : 0 : _q91 = do_valueize (valueize, _q91);
38538 : 0 : if (tree_swap_operands_p (_q90, _q91))
38539 : 0 : std::swap (_q90, _q91);
38540 : 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
38541 : : {
38542 : 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
38543 : : {
38544 : 0 : {
38545 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q41, _q20, _p1 };
38546 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, EQ_EXPR))
38547 : 0 : return true;
38548 : : }
38549 : : }
38550 : : }
38551 : 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
38552 : : {
38553 : 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
38554 : : {
38555 : 0 : {
38556 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q41, _q20, _p1 };
38557 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, EQ_EXPR))
38558 : 0 : return true;
38559 : : }
38560 : : }
38561 : : }
38562 : 46 : break;
38563 : : }
38564 : : default:;
38565 : : }
38566 : : }
38567 : : break;
38568 : : default:;
38569 : : }
38570 : : }
38571 : 46 : break;
38572 : : }
38573 : : default:;
38574 : : }
38575 : : }
38576 : : break;
38577 : 46 : default:;
38578 : : }
38579 : 46 : if (tree_expr_nonzero_p (_q40))
38580 : : {
38581 : 0 : switch (TREE_CODE (_q41))
38582 : : {
38583 : 0 : case SSA_NAME:
38584 : 0 : if (gimple *_d3 = get_def (valueize, _q41))
38585 : : {
38586 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
38587 : 0 : switch (gimple_assign_rhs_code (_a3))
38588 : : {
38589 : 0 : case BIT_XOR_EXPR:
38590 : 0 : {
38591 : 0 : tree _q60 = gimple_assign_rhs1 (_a3);
38592 : 0 : _q60 = do_valueize (valueize, _q60);
38593 : 0 : tree _q61 = gimple_assign_rhs2 (_a3);
38594 : 0 : _q61 = do_valueize (valueize, _q61);
38595 : 0 : if (tree_swap_operands_p (_q60, _q61))
38596 : 0 : std::swap (_q60, _q61);
38597 : 0 : switch (TREE_CODE (_p1))
38598 : : {
38599 : 0 : case SSA_NAME:
38600 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
38601 : : {
38602 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
38603 : 0 : switch (gimple_assign_rhs_code (_a4))
38604 : : {
38605 : 0 : case NE_EXPR:
38606 : 0 : {
38607 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
38608 : 0 : _q90 = do_valueize (valueize, _q90);
38609 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
38610 : 0 : _q91 = do_valueize (valueize, _q91);
38611 : 0 : if (tree_swap_operands_p (_q90, _q91))
38612 : 0 : std::swap (_q90, _q91);
38613 : 0 : if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
38614 : : {
38615 : 0 : if ((_q91 == _q61 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q61, 0) && types_match (_q91, _q61)))
38616 : : {
38617 : 0 : {
38618 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q60, _q61, _q40, _q20, _p1 };
38619 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, EQ_EXPR))
38620 : 0 : return true;
38621 : : }
38622 : : }
38623 : : }
38624 : 0 : if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
38625 : : {
38626 : 0 : if ((_q91 == _q60 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q60, 0) && types_match (_q91, _q60)))
38627 : : {
38628 : 0 : {
38629 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q61, _q60, _q40, _q20, _p1 };
38630 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, EQ_EXPR))
38631 : 0 : return true;
38632 : : }
38633 : : }
38634 : : }
38635 : 271950 : break;
38636 : : }
38637 : : default:;
38638 : : }
38639 : : }
38640 : : break;
38641 : : default:;
38642 : : }
38643 : 271950 : break;
38644 : : }
38645 : : default:;
38646 : : }
38647 : : }
38648 : : break;
38649 : : default:;
38650 : : }
38651 : : }
38652 : 271950 : break;
38653 : : }
38654 : : default:;
38655 : : }
38656 : : }
38657 : : break;
38658 : 271950 : default:;
38659 : : }
38660 : 271950 : switch (TREE_CODE (_q20))
38661 : : {
38662 : 271950 : case SSA_NAME:
38663 : 271950 : if (gimple *_d2 = get_def (valueize, _q20))
38664 : : {
38665 : 237888 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
38666 : 245353 : switch (gimple_assign_rhs_code (_a2))
38667 : : {
38668 : 7 : case BIT_XOR_EXPR:
38669 : 7 : {
38670 : 7 : tree _q30 = gimple_assign_rhs1 (_a2);
38671 : 7 : _q30 = do_valueize (valueize, _q30);
38672 : 7 : tree _q31 = gimple_assign_rhs2 (_a2);
38673 : 7 : _q31 = do_valueize (valueize, _q31);
38674 : 7 : if (tree_swap_operands_p (_q30, _q31))
38675 : 0 : std::swap (_q30, _q31);
38676 : 7 : switch (TREE_CODE (_p1))
38677 : : {
38678 : 7 : case SSA_NAME:
38679 : 7 : if (gimple *_d3 = get_def (valueize, _p1))
38680 : : {
38681 : 7 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
38682 : 7 : switch (gimple_assign_rhs_code (_a3))
38683 : : {
38684 : 7 : case NE_EXPR:
38685 : 7 : {
38686 : 7 : tree _q70 = gimple_assign_rhs1 (_a3);
38687 : 7 : _q70 = do_valueize (valueize, _q70);
38688 : 7 : tree _q71 = gimple_assign_rhs2 (_a3);
38689 : 7 : _q71 = do_valueize (valueize, _q71);
38690 : 7 : if (tree_swap_operands_p (_q70, _q71))
38691 : 0 : std::swap (_q70, _q71);
38692 : 7 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
38693 : : {
38694 : 2 : if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
38695 : : {
38696 : 2 : {
38697 : 2 : tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
38698 : 2 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, EQ_EXPR))
38699 : 2 : return true;
38700 : : }
38701 : : }
38702 : : }
38703 : 5 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
38704 : : {
38705 : 0 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
38706 : : {
38707 : 0 : {
38708 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q21, _p1 };
38709 : 0 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, EQ_EXPR))
38710 : 0 : return true;
38711 : : }
38712 : : }
38713 : : }
38714 : 271948 : break;
38715 : : }
38716 : : default:;
38717 : : }
38718 : : }
38719 : : break;
38720 : : default:;
38721 : : }
38722 : 271948 : break;
38723 : : }
38724 : : default:;
38725 : : }
38726 : : }
38727 : : break;
38728 : 271948 : default:;
38729 : : }
38730 : 271948 : switch (TREE_CODE (_q21))
38731 : : {
38732 : 12309 : case SSA_NAME:
38733 : 12309 : if (gimple *_d2 = get_def (valueize, _q21))
38734 : : {
38735 : 10661 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
38736 : 8413 : switch (gimple_assign_rhs_code (_a2))
38737 : : {
38738 : 0 : case BIT_XOR_EXPR:
38739 : 0 : {
38740 : 0 : tree _q40 = gimple_assign_rhs1 (_a2);
38741 : 0 : _q40 = do_valueize (valueize, _q40);
38742 : 0 : tree _q41 = gimple_assign_rhs2 (_a2);
38743 : 0 : _q41 = do_valueize (valueize, _q41);
38744 : 0 : if (tree_swap_operands_p (_q40, _q41))
38745 : 0 : std::swap (_q40, _q41);
38746 : 0 : switch (TREE_CODE (_p1))
38747 : : {
38748 : 0 : case SSA_NAME:
38749 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
38750 : : {
38751 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
38752 : 0 : switch (gimple_assign_rhs_code (_a3))
38753 : : {
38754 : 0 : case NE_EXPR:
38755 : 0 : {
38756 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
38757 : 0 : _q70 = do_valueize (valueize, _q70);
38758 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
38759 : 0 : _q71 = do_valueize (valueize, _q71);
38760 : 0 : if (tree_swap_operands_p (_q70, _q71))
38761 : 0 : std::swap (_q70, _q71);
38762 : 0 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
38763 : : {
38764 : 0 : if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
38765 : : {
38766 : 0 : {
38767 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q20, _p1 };
38768 : 0 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, EQ_EXPR))
38769 : 0 : return true;
38770 : : }
38771 : : }
38772 : : }
38773 : 0 : if ((_q70 == _q41 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q41, 0) && types_match (_q70, _q41)))
38774 : : {
38775 : 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
38776 : : {
38777 : 0 : {
38778 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q41, _q40, _q20, _p1 };
38779 : 0 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, EQ_EXPR))
38780 : 0 : return true;
38781 : : }
38782 : : }
38783 : : }
38784 : 4279330 : break;
38785 : : }
38786 : : default:;
38787 : : }
38788 : : }
38789 : : break;
38790 : : default:;
38791 : : }
38792 : 4279330 : break;
38793 : : }
38794 : : default:;
38795 : : }
38796 : : }
38797 : : break;
38798 : : default:;
38799 : : }
38800 : 4279330 : break;
38801 : : }
38802 : 8786 : case MULT_EXPR:
38803 : 8786 : {
38804 : 8786 : tree _q20 = gimple_assign_rhs1 (_a1);
38805 : 8786 : _q20 = do_valueize (valueize, _q20);
38806 : 8786 : tree _q21 = gimple_assign_rhs2 (_a1);
38807 : 8786 : _q21 = do_valueize (valueize, _q21);
38808 : 8786 : if (tree_swap_operands_p (_q20, _q21))
38809 : 54 : std::swap (_q20, _q21);
38810 : 8786 : switch (TREE_CODE (_q21))
38811 : : {
38812 : 7214 : case INTEGER_CST:
38813 : 7214 : {
38814 : 7214 : switch (TREE_CODE (_p1))
38815 : : {
38816 : 6208 : case SSA_NAME:
38817 : 6208 : if (gimple *_d2 = get_def (valueize, _p1))
38818 : : {
38819 : 5863 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
38820 : 3960 : switch (gimple_assign_rhs_code (_a2))
38821 : : {
38822 : 281 : case MULT_EXPR:
38823 : 281 : {
38824 : 281 : tree _q50 = gimple_assign_rhs1 (_a2);
38825 : 281 : _q50 = do_valueize (valueize, _q50);
38826 : 281 : tree _q51 = gimple_assign_rhs2 (_a2);
38827 : 281 : _q51 = do_valueize (valueize, _q51);
38828 : 281 : if (tree_swap_operands_p (_q50, _q51))
38829 : 0 : std::swap (_q50, _q51);
38830 : 281 : switch (TREE_CODE (_q51))
38831 : : {
38832 : 273 : case INTEGER_CST:
38833 : 273 : {
38834 : 273 : {
38835 : 273 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _p1, _q50, _q51 };
38836 : 273 : if (gimple_simplify_42 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
38837 : 5 : return true;
38838 : : }
38839 : 268 : break;
38840 : : }
38841 : : default:;
38842 : : }
38843 : 7209 : break;
38844 : : }
38845 : 58 : case LSHIFT_EXPR:
38846 : 58 : {
38847 : 58 : tree _q50 = gimple_assign_rhs1 (_a2);
38848 : 58 : _q50 = do_valueize (valueize, _q50);
38849 : 58 : tree _q51 = gimple_assign_rhs2 (_a2);
38850 : 58 : _q51 = do_valueize (valueize, _q51);
38851 : 58 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
38852 : : {
38853 : 0 : switch (TREE_CODE (_q51))
38854 : : {
38855 : 0 : case INTEGER_CST:
38856 : 0 : {
38857 : 0 : {
38858 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _q51 };
38859 : 0 : if (gimple_simplify_43 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
38860 : 0 : return true;
38861 : : }
38862 : 0 : break;
38863 : : }
38864 : : default:;
38865 : : }
38866 : : }
38867 : : break;
38868 : : }
38869 : : default:;
38870 : : }
38871 : : }
38872 : : break;
38873 : 7209 : default:;
38874 : : }
38875 : 7209 : if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
38876 : : {
38877 : 0 : {
38878 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
38879 : 0 : if (gimple_simplify_44 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
38880 : 0 : return true;
38881 : : }
38882 : : }
38883 : : break;
38884 : : }
38885 : : default:;
38886 : : }
38887 : 4279330 : break;
38888 : : }
38889 : 156660 : case LSHIFT_EXPR:
38890 : 156660 : {
38891 : 156660 : tree _q20 = gimple_assign_rhs1 (_a1);
38892 : 156660 : _q20 = do_valueize (valueize, _q20);
38893 : 156660 : tree _q21 = gimple_assign_rhs2 (_a1);
38894 : 156660 : _q21 = do_valueize (valueize, _q21);
38895 : 156660 : switch (TREE_CODE (_q21))
38896 : : {
38897 : 104735 : case INTEGER_CST:
38898 : 104735 : {
38899 : 104735 : switch (TREE_CODE (_p1))
38900 : : {
38901 : 83431 : case SSA_NAME:
38902 : 83431 : if (gimple *_d2 = get_def (valueize, _p1))
38903 : : {
38904 : 81353 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
38905 : 80034 : switch (gimple_assign_rhs_code (_a2))
38906 : : {
38907 : 161 : case MULT_EXPR:
38908 : 161 : {
38909 : 161 : tree _q50 = gimple_assign_rhs1 (_a2);
38910 : 161 : _q50 = do_valueize (valueize, _q50);
38911 : 161 : tree _q51 = gimple_assign_rhs2 (_a2);
38912 : 161 : _q51 = do_valueize (valueize, _q51);
38913 : 161 : if (tree_swap_operands_p (_q50, _q51))
38914 : 0 : std::swap (_q50, _q51);
38915 : 161 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
38916 : : {
38917 : 0 : switch (TREE_CODE (_q51))
38918 : : {
38919 : 0 : case INTEGER_CST:
38920 : 0 : {
38921 : 0 : {
38922 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _p1, _q20, _q51, _p0, _q21 };
38923 : 0 : if (gimple_simplify_43 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
38924 : 0 : return true;
38925 : : }
38926 : 0 : break;
38927 : : }
38928 : : default:;
38929 : : }
38930 : : }
38931 : 104735 : break;
38932 : : }
38933 : : default:;
38934 : : }
38935 : : }
38936 : : break;
38937 : 104735 : default:;
38938 : : }
38939 : 104735 : {
38940 : 104735 : tree _p1_pops[1];
38941 : 104735 : if (gimple_nop_convert (_p1, _p1_pops, valueize))
38942 : : {
38943 : 651 : tree _q50 = _p1_pops[0];
38944 : 651 : switch (TREE_CODE (_q50))
38945 : : {
38946 : 651 : case SSA_NAME:
38947 : 651 : if (gimple *_d2 = get_def (valueize, _q50))
38948 : : {
38949 : 621 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
38950 : 610 : switch (gimple_assign_rhs_code (_a2))
38951 : : {
38952 : 0 : case MULT_EXPR:
38953 : 0 : {
38954 : 0 : tree _q60 = gimple_assign_rhs1 (_a2);
38955 : 0 : _q60 = do_valueize (valueize, _q60);
38956 : 0 : tree _q61 = gimple_assign_rhs2 (_a2);
38957 : 0 : _q61 = do_valueize (valueize, _q61);
38958 : 0 : if (tree_swap_operands_p (_q60, _q61))
38959 : 0 : std::swap (_q60, _q61);
38960 : 0 : {
38961 : 0 : tree _q60_pops[1];
38962 : 0 : if (gimple_nop_convert (_q60, _q60_pops, valueize))
38963 : : {
38964 : 0 : tree _q70 = _q60_pops[0];
38965 : 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
38966 : : {
38967 : 0 : switch (TREE_CODE (_q61))
38968 : : {
38969 : 0 : case INTEGER_CST:
38970 : 0 : {
38971 : 0 : {
38972 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q50, _q20, _q61, _p0, _q21 };
38973 : 0 : if (gimple_simplify_39 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
38974 : 0 : return true;
38975 : : }
38976 : 0 : break;
38977 : : }
38978 : : default:;
38979 : : }
38980 : : }
38981 : : }
38982 : : }
38983 : 0 : break;
38984 : : }
38985 : : default:;
38986 : : }
38987 : : }
38988 : : break;
38989 : : default:;
38990 : : }
38991 : : }
38992 : : }
38993 : 104735 : break;
38994 : : }
38995 : : default:;
38996 : : }
38997 : : break;
38998 : : }
38999 : : default:;
39000 : : }
39001 : : }
39002 : : break;
39003 : 4279330 : default:;
39004 : : }
39005 : 4279330 : {
39006 : 4279330 : tree _p0_pops[1];
39007 : 4279330 : if (gimple_logical_inverted_value (_p0, _p0_pops, valueize))
39008 : : {
39009 : 136404 : tree _q20 = _p0_pops[0];
39010 : 136404 : if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
39011 : : {
39012 : 0 : if (gimple_truth_valued_p (_p1, valueize))
39013 : : {
39014 : 0 : {
39015 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
39016 : 0 : if (gimple_simplify_34 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
39017 : 0 : return true;
39018 : : }
39019 : : }
39020 : : }
39021 : : }
39022 : : }
39023 : 4279330 : if (gimple_truth_valued_p (_p0, valueize))
39024 : : {
39025 : 1857110 : {
39026 : 1857110 : tree _p1_pops[1];
39027 : 1857110 : if (gimple_logical_inverted_value (_p1, _p1_pops, valueize))
39028 : : {
39029 : 93775 : tree _q30 = _p1_pops[0];
39030 : 93775 : if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
39031 : : {
39032 : 0 : {
39033 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
39034 : 0 : if (gimple_simplify_34 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
39035 : 0 : return true;
39036 : : }
39037 : : }
39038 : : }
39039 : : }
39040 : : }
39041 : 4279330 : switch (TREE_CODE (_p1))
39042 : : {
39043 : 3397751 : case SSA_NAME:
39044 : 3397751 : if (gimple *_d1 = get_def (valueize, _p1))
39045 : : {
39046 : 2778029 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
39047 : 2718208 : switch (gimple_assign_rhs_code (_a1))
39048 : : {
39049 : 14429 : case MULT_EXPR:
39050 : 14429 : {
39051 : 14429 : tree _q30 = gimple_assign_rhs1 (_a1);
39052 : 14429 : _q30 = do_valueize (valueize, _q30);
39053 : 14429 : tree _q31 = gimple_assign_rhs2 (_a1);
39054 : 14429 : _q31 = do_valueize (valueize, _q31);
39055 : 14429 : if (tree_swap_operands_p (_q30, _q31))
39056 : 403 : std::swap (_q30, _q31);
39057 : 14429 : if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
39058 : : {
39059 : 128 : switch (TREE_CODE (_q31))
39060 : : {
39061 : 117 : case INTEGER_CST:
39062 : 117 : {
39063 : 117 : {
39064 : 117 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _p0, _q31 };
39065 : 117 : if (gimple_simplify_44 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
39066 : 0 : return true;
39067 : : }
39068 : 117 : break;
39069 : : }
39070 : : default:;
39071 : : }
39072 : : }
39073 : 4279330 : break;
39074 : : }
39075 : : default:;
39076 : : }
39077 : : }
39078 : : break;
39079 : 4279330 : default:;
39080 : : }
39081 : 4279330 : {
39082 : 4279330 : tree _p1_pops[1];
39083 : 4279330 : if (gimple_nop_convert (_p1, _p1_pops, valueize))
39084 : : {
39085 : 40493 : tree _q30 = _p1_pops[0];
39086 : 40493 : switch (TREE_CODE (_q30))
39087 : : {
39088 : 40413 : case SSA_NAME:
39089 : 40413 : if (gimple *_d1 = get_def (valueize, _q30))
39090 : : {
39091 : 39400 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
39092 : 32353 : switch (gimple_assign_rhs_code (_a1))
39093 : : {
39094 : 87 : case MULT_EXPR:
39095 : 87 : {
39096 : 87 : tree _q40 = gimple_assign_rhs1 (_a1);
39097 : 87 : _q40 = do_valueize (valueize, _q40);
39098 : 87 : tree _q41 = gimple_assign_rhs2 (_a1);
39099 : 87 : _q41 = do_valueize (valueize, _q41);
39100 : 87 : if (tree_swap_operands_p (_q40, _q41))
39101 : 1 : std::swap (_q40, _q41);
39102 : 87 : {
39103 : 87 : tree _q40_pops[1];
39104 : 87 : if (gimple_nop_convert (_q40, _q40_pops, valueize))
39105 : : {
39106 : 46 : tree _q50 = _q40_pops[0];
39107 : 46 : if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
39108 : : {
39109 : 1 : switch (TREE_CODE (_q41))
39110 : : {
39111 : 1 : case INTEGER_CST:
39112 : 1 : {
39113 : 1 : {
39114 : 1 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41 };
39115 : 1 : if (gimple_simplify_40 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
39116 : 1 : return true;
39117 : : }
39118 : 0 : break;
39119 : : }
39120 : : default:;
39121 : : }
39122 : : }
39123 : : }
39124 : : }
39125 : 86 : break;
39126 : : }
39127 : : default:;
39128 : : }
39129 : : }
39130 : : break;
39131 : : default:;
39132 : : }
39133 : : }
39134 : : }
39135 : 4279329 : switch (TREE_CODE (_p0))
39136 : : {
39137 : 4222710 : case SSA_NAME:
39138 : 4222710 : if (gimple *_d1 = get_def (valueize, _p0))
39139 : : {
39140 : 3371259 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
39141 : 3611579 : switch (gimple_assign_rhs_code (_a1))
39142 : : {
39143 : 156660 : case LSHIFT_EXPR:
39144 : 156660 : {
39145 : 156660 : tree _q20 = gimple_assign_rhs1 (_a1);
39146 : 156660 : _q20 = do_valueize (valueize, _q20);
39147 : 156660 : tree _q21 = gimple_assign_rhs2 (_a1);
39148 : 156660 : _q21 = do_valueize (valueize, _q21);
39149 : 156660 : switch (TREE_CODE (_q21))
39150 : : {
39151 : 104735 : case INTEGER_CST:
39152 : 104735 : {
39153 : 104735 : switch (TREE_CODE (_p1))
39154 : : {
39155 : 83431 : case SSA_NAME:
39156 : 83431 : if (gimple *_d2 = get_def (valueize, _p1))
39157 : : {
39158 : 81353 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
39159 : 80034 : switch (gimple_assign_rhs_code (_a2))
39160 : : {
39161 : 14371 : case LSHIFT_EXPR:
39162 : 14371 : {
39163 : 14371 : tree _q50 = gimple_assign_rhs1 (_a2);
39164 : 14371 : _q50 = do_valueize (valueize, _q50);
39165 : 14371 : tree _q51 = gimple_assign_rhs2 (_a2);
39166 : 14371 : _q51 = do_valueize (valueize, _q51);
39167 : 14371 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
39168 : : {
39169 : 15 : switch (TREE_CODE (_q51))
39170 : : {
39171 : 15 : case INTEGER_CST:
39172 : 15 : {
39173 : 15 : {
39174 : 15 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
39175 : 15 : if (gimple_simplify_46 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
39176 : 13 : return true;
39177 : : }
39178 : 2 : break;
39179 : : }
39180 : : default:;
39181 : : }
39182 : : }
39183 : : break;
39184 : : }
39185 : : default:;
39186 : : }
39187 : : }
39188 : : break;
39189 : 104722 : default:;
39190 : : }
39191 : 104722 : if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
39192 : : {
39193 : 539 : {
39194 : 539 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
39195 : 539 : if (gimple_simplify_47 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
39196 : 183 : return true;
39197 : : }
39198 : : }
39199 : : break;
39200 : : }
39201 : : default:;
39202 : : }
39203 : : break;
39204 : : }
39205 : : default:;
39206 : : }
39207 : : }
39208 : : break;
39209 : 4279133 : default:;
39210 : : }
39211 : 4279133 : switch (TREE_CODE (_p1))
39212 : : {
39213 : 3397554 : case SSA_NAME:
39214 : 3397554 : if (gimple *_d1 = get_def (valueize, _p1))
39215 : : {
39216 : 2777835 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
39217 : 2718014 : switch (gimple_assign_rhs_code (_a1))
39218 : : {
39219 : 119697 : case LSHIFT_EXPR:
39220 : 119697 : {
39221 : 119697 : tree _q30 = gimple_assign_rhs1 (_a1);
39222 : 119697 : _q30 = do_valueize (valueize, _q30);
39223 : 119697 : tree _q31 = gimple_assign_rhs2 (_a1);
39224 : 119697 : _q31 = do_valueize (valueize, _q31);
39225 : 119697 : if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
39226 : : {
39227 : 556 : switch (TREE_CODE (_q31))
39228 : : {
39229 : 498 : case INTEGER_CST:
39230 : 498 : {
39231 : 498 : {
39232 : 498 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
39233 : 498 : if (gimple_simplify_47 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
39234 : 7 : return true;
39235 : : }
39236 : 491 : break;
39237 : : }
39238 : : default:;
39239 : : }
39240 : : }
39241 : : break;
39242 : : }
39243 : : default:;
39244 : : }
39245 : : }
39246 : : break;
39247 : 4279126 : default:;
39248 : : }
39249 : 4279126 : switch (TREE_CODE (_p0))
39250 : : {
39251 : 4222507 : case SSA_NAME:
39252 : 4222507 : if (gimple *_d1 = get_def (valueize, _p0))
39253 : : {
39254 : 3371061 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
39255 : 3611381 : switch (gimple_assign_rhs_code (_a1))
39256 : : {
39257 : 146 : case MIN_EXPR:
39258 : 146 : {
39259 : 146 : tree _q20 = gimple_assign_rhs1 (_a1);
39260 : 146 : _q20 = do_valueize (valueize, _q20);
39261 : 146 : tree _q21 = gimple_assign_rhs2 (_a1);
39262 : 146 : _q21 = do_valueize (valueize, _q21);
39263 : 146 : if (tree_swap_operands_p (_q20, _q21))
39264 : 10 : std::swap (_q20, _q21);
39265 : 146 : switch (TREE_CODE (_p1))
39266 : : {
39267 : 52 : case SSA_NAME:
39268 : 52 : if (gimple *_d2 = get_def (valueize, _p1))
39269 : : {
39270 : 52 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
39271 : 60 : switch (gimple_assign_rhs_code (_a2))
39272 : : {
39273 : 2 : case MAX_EXPR:
39274 : 2 : {
39275 : 2 : tree _q50 = gimple_assign_rhs1 (_a2);
39276 : 2 : _q50 = do_valueize (valueize, _q50);
39277 : 2 : tree _q51 = gimple_assign_rhs2 (_a2);
39278 : 2 : _q51 = do_valueize (valueize, _q51);
39279 : 2 : if (tree_swap_operands_p (_q50, _q51))
39280 : 0 : std::swap (_q50, _q51);
39281 : 2 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
39282 : : {
39283 : 2 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
39284 : : {
39285 : 2 : {
39286 : 2 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
39287 : 2 : if (!HONOR_NANS (captures[0])
39288 : : )
39289 : : {
39290 : 2 : gimple_seq *lseq = seq;
39291 : 2 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2089;
39292 : 2 : {
39293 : 2 : res_op->set_op (BIT_IOR_EXPR, type, 2);
39294 : 2 : res_op->ops[0] = captures[0];
39295 : 2 : res_op->ops[1] = captures[1];
39296 : 2 : res_op->resimplify (lseq, valueize);
39297 : 2 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1032, __FILE__, __LINE__, true);
39298 : 2 : return true;
39299 : : }
39300 : 0 : next_after_fail2089:;
39301 : : }
39302 : : }
39303 : : }
39304 : : }
39305 : 0 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
39306 : : {
39307 : 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
39308 : : {
39309 : 0 : {
39310 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
39311 : 0 : if (!HONOR_NANS (captures[0])
39312 : : )
39313 : : {
39314 : 0 : gimple_seq *lseq = seq;
39315 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2090;
39316 : 0 : {
39317 : 0 : res_op->set_op (BIT_IOR_EXPR, type, 2);
39318 : 0 : res_op->ops[0] = captures[0];
39319 : 0 : res_op->ops[1] = captures[1];
39320 : 0 : res_op->resimplify (lseq, valueize);
39321 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1032, __FILE__, __LINE__, true);
39322 : 0 : return true;
39323 : : }
39324 : 0 : next_after_fail2090:;
39325 : : }
39326 : : }
39327 : : }
39328 : : }
39329 : 4277694 : break;
39330 : : }
39331 : : default:;
39332 : : }
39333 : : }
39334 : : break;
39335 : : default:;
39336 : : }
39337 : 4277694 : break;
39338 : : }
39339 : 28 : case MAX_EXPR:
39340 : 28 : {
39341 : 28 : tree _q20 = gimple_assign_rhs1 (_a1);
39342 : 28 : _q20 = do_valueize (valueize, _q20);
39343 : 28 : tree _q21 = gimple_assign_rhs2 (_a1);
39344 : 28 : _q21 = do_valueize (valueize, _q21);
39345 : 28 : if (tree_swap_operands_p (_q20, _q21))
39346 : 0 : std::swap (_q20, _q21);
39347 : 28 : switch (TREE_CODE (_p1))
39348 : : {
39349 : 28 : case SSA_NAME:
39350 : 28 : if (gimple *_d2 = get_def (valueize, _p1))
39351 : : {
39352 : 28 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
39353 : 40 : switch (gimple_assign_rhs_code (_a2))
39354 : : {
39355 : 0 : case MIN_EXPR:
39356 : 0 : {
39357 : 0 : tree _q50 = gimple_assign_rhs1 (_a2);
39358 : 0 : _q50 = do_valueize (valueize, _q50);
39359 : 0 : tree _q51 = gimple_assign_rhs2 (_a2);
39360 : 0 : _q51 = do_valueize (valueize, _q51);
39361 : 0 : if (tree_swap_operands_p (_q50, _q51))
39362 : 0 : std::swap (_q50, _q51);
39363 : 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
39364 : : {
39365 : 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
39366 : : {
39367 : 0 : {
39368 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
39369 : 0 : if (!HONOR_NANS (captures[0])
39370 : : )
39371 : : {
39372 : 0 : gimple_seq *lseq = seq;
39373 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2091;
39374 : 0 : {
39375 : 0 : res_op->set_op (BIT_IOR_EXPR, type, 2);
39376 : 0 : res_op->ops[0] = captures[0];
39377 : 0 : res_op->ops[1] = captures[1];
39378 : 0 : res_op->resimplify (lseq, valueize);
39379 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1032, __FILE__, __LINE__, true);
39380 : 0 : return true;
39381 : : }
39382 : 0 : next_after_fail2091:;
39383 : : }
39384 : : }
39385 : : }
39386 : : }
39387 : 0 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
39388 : : {
39389 : 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
39390 : : {
39391 : 0 : {
39392 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
39393 : 0 : if (!HONOR_NANS (captures[0])
39394 : : )
39395 : : {
39396 : 0 : gimple_seq *lseq = seq;
39397 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2092;
39398 : 0 : {
39399 : 0 : res_op->set_op (BIT_IOR_EXPR, type, 2);
39400 : 0 : res_op->ops[0] = captures[0];
39401 : 0 : res_op->ops[1] = captures[1];
39402 : 0 : res_op->resimplify (lseq, valueize);
39403 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1032, __FILE__, __LINE__, true);
39404 : 0 : return true;
39405 : : }
39406 : 0 : next_after_fail2092:;
39407 : : }
39408 : : }
39409 : : }
39410 : : }
39411 : 4277694 : break;
39412 : : }
39413 : : default:;
39414 : : }
39415 : : }
39416 : : break;
39417 : : default:;
39418 : : }
39419 : 4277694 : break;
39420 : : }
39421 : 2633 : case VEC_COND_EXPR:
39422 : 2633 : {
39423 : 2633 : tree _q20 = gimple_assign_rhs1 (_a1);
39424 : 2633 : _q20 = do_valueize (valueize, _q20);
39425 : 2633 : tree _q21 = gimple_assign_rhs2 (_a1);
39426 : 2633 : _q21 = do_valueize (valueize, _q21);
39427 : 2633 : tree _q22 = gimple_assign_rhs3 (_a1);
39428 : 2633 : _q22 = do_valueize (valueize, _q22);
39429 : 2633 : switch (TREE_CODE (_p1))
39430 : : {
39431 : 1879 : case SSA_NAME:
39432 : 1879 : if (gimple *_d2 = get_def (valueize, _p1))
39433 : : {
39434 : 1695 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
39435 : 1459 : switch (gimple_assign_rhs_code (_a2))
39436 : : {
39437 : 731 : case VEC_COND_EXPR:
39438 : 731 : {
39439 : 731 : tree _q60 = gimple_assign_rhs1 (_a2);
39440 : 731 : _q60 = do_valueize (valueize, _q60);
39441 : 731 : tree _q61 = gimple_assign_rhs2 (_a2);
39442 : 731 : _q61 = do_valueize (valueize, _q61);
39443 : 731 : tree _q62 = gimple_assign_rhs3 (_a2);
39444 : 731 : _q62 = do_valueize (valueize, _q62);
39445 : 731 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
39446 : : {
39447 : 4 : {
39448 : 4 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
39449 : 4 : if (VECTOR_TYPE_P (type)
39450 : 4 : && (TREE_CODE_CLASS (BIT_IOR_EXPR) != tcc_comparison
39451 : : || types_match (type, TREE_TYPE (captures[2]))
39452 : : || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
39453 : : || (optimize_vectors_before_lowering_p ()
39454 : : && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
39455 : : )
39456 : : {
39457 : 4 : gimple_seq *lseq = seq;
39458 : 4 : if (lseq
39459 : 1 : && (!single_use (captures[0])
39460 : 1 : || !single_use (captures[4])))
39461 : 3 : lseq = NULL;
39462 : 4 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2093;
39463 : 4 : {
39464 : 4 : res_op->set_op (VEC_COND_EXPR, type, 3);
39465 : 4 : res_op->ops[0] = captures[1];
39466 : 4 : {
39467 : 4 : tree _o1[2], _r1;
39468 : 4 : _o1[0] = captures[2];
39469 : 4 : _o1[1] = captures[5];
39470 : 4 : gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
39471 : 4 : tem_op.resimplify (NULL, valueize);
39472 : 4 : _r1 = maybe_push_res_to_seq (&tem_op, NULL);
39473 : 4 : if (!_r1) goto next_after_fail2093;
39474 : 4 : res_op->ops[1] = _r1;
39475 : : }
39476 : 4 : {
39477 : 4 : tree _o1[2], _r1;
39478 : 4 : _o1[0] = captures[3];
39479 : 4 : _o1[1] = captures[6];
39480 : 4 : gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
39481 : 4 : tem_op.resimplify (NULL, valueize);
39482 : 4 : _r1 = maybe_push_res_to_seq (&tem_op, NULL);
39483 : 4 : if (!_r1) goto next_after_fail2093;
39484 : 0 : res_op->ops[2] = _r1;
39485 : : }
39486 : 0 : res_op->resimplify (lseq, valueize);
39487 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1033, __FILE__, __LINE__, true);
39488 : 0 : return true;
39489 : : }
39490 : 4 : next_after_fail2093:;
39491 : : }
39492 : : }
39493 : : }
39494 : : break;
39495 : : }
39496 : : default:;
39497 : : }
39498 : : }
39499 : : break;
39500 : 2633 : default:;
39501 : : }
39502 : 2633 : {
39503 : 2633 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
39504 : 2633 : if (VECTOR_TYPE_P (type)
39505 : 2633 : && (TREE_CODE_CLASS (BIT_IOR_EXPR) != tcc_comparison
39506 : : || types_match (type, TREE_TYPE (captures[2]))
39507 : : || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
39508 : : || (optimize_vectors_before_lowering_p ()
39509 : : && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
39510 : : )
39511 : : {
39512 : 2633 : gimple_seq *lseq = seq;
39513 : 2633 : if (lseq
39514 : 374 : && (!single_use (captures[0])))
39515 : 2273 : lseq = NULL;
39516 : 2633 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2094;
39517 : 2633 : {
39518 : 2633 : res_op->set_op (VEC_COND_EXPR, type, 3);
39519 : 2633 : res_op->ops[0] = captures[1];
39520 : 2633 : {
39521 : 2633 : tree _o1[2], _r1;
39522 : 2633 : _o1[0] = captures[2];
39523 : 2633 : _o1[1] = captures[4];
39524 : 2633 : gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
39525 : 2633 : tem_op.resimplify (NULL, valueize);
39526 : 2633 : _r1 = maybe_push_res_to_seq (&tem_op, NULL);
39527 : 2633 : if (!_r1) goto next_after_fail2094;
39528 : 1699 : res_op->ops[1] = _r1;
39529 : : }
39530 : 1699 : {
39531 : 1699 : tree _o1[2], _r1;
39532 : 1699 : _o1[0] = captures[3];
39533 : 1699 : _o1[1] = captures[4];
39534 : 1699 : gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
39535 : 1699 : tem_op.resimplify (NULL, valueize);
39536 : 1699 : _r1 = maybe_push_res_to_seq (&tem_op, NULL);
39537 : 1699 : if (!_r1) goto next_after_fail2094;
39538 : 1430 : res_op->ops[2] = _r1;
39539 : : }
39540 : 1430 : res_op->resimplify (lseq, valueize);
39541 : 1430 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1034, __FILE__, __LINE__, true);
39542 : 1430 : return true;
39543 : : }
39544 : 1203 : next_after_fail2094:;
39545 : : }
39546 : : }
39547 : 1203 : break;
39548 : : }
39549 : : default:;
39550 : : }
39551 : : }
39552 : : break;
39553 : 4277694 : default:;
39554 : : }
39555 : 4277694 : switch (TREE_CODE (_p1))
39556 : : {
39557 : 3396869 : case SSA_NAME:
39558 : 3396869 : if (gimple *_d1 = get_def (valueize, _p1))
39559 : : {
39560 : 2777332 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
39561 : 2717377 : switch (gimple_assign_rhs_code (_a1))
39562 : : {
39563 : 1181 : case VEC_COND_EXPR:
39564 : 1181 : {
39565 : 1181 : tree _q30 = gimple_assign_rhs1 (_a1);
39566 : 1181 : _q30 = do_valueize (valueize, _q30);
39567 : 1181 : tree _q31 = gimple_assign_rhs2 (_a1);
39568 : 1181 : _q31 = do_valueize (valueize, _q31);
39569 : 1181 : tree _q32 = gimple_assign_rhs3 (_a1);
39570 : 1181 : _q32 = do_valueize (valueize, _q32);
39571 : 1181 : {
39572 : 1181 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
39573 : 1181 : if (VECTOR_TYPE_P (type)
39574 : 1181 : && (TREE_CODE_CLASS (BIT_IOR_EXPR) != tcc_comparison
39575 : : || types_match (type, TREE_TYPE (captures[3]))
39576 : : || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
39577 : : || (optimize_vectors_before_lowering_p ()
39578 : : && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
39579 : : )
39580 : : {
39581 : 1181 : gimple_seq *lseq = seq;
39582 : 1181 : if (lseq
39583 : 296 : && (!single_use (captures[1])))
39584 : 885 : lseq = NULL;
39585 : 1181 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2095;
39586 : 1181 : {
39587 : 1181 : res_op->set_op (VEC_COND_EXPR, type, 3);
39588 : 1181 : res_op->ops[0] = captures[2];
39589 : 1181 : {
39590 : 1181 : tree _o1[2], _r1;
39591 : 1181 : _o1[0] = captures[0];
39592 : 1181 : _o1[1] = captures[3];
39593 : 1181 : gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
39594 : 1181 : tem_op.resimplify (NULL, valueize);
39595 : 1181 : _r1 = maybe_push_res_to_seq (&tem_op, NULL);
39596 : 1181 : if (!_r1) goto next_after_fail2095;
39597 : 581 : res_op->ops[1] = _r1;
39598 : : }
39599 : 581 : {
39600 : 581 : tree _o1[2], _r1;
39601 : 581 : _o1[0] = captures[0];
39602 : 581 : _o1[1] = captures[4];
39603 : 581 : gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
39604 : 581 : tem_op.resimplify (NULL, valueize);
39605 : 581 : _r1 = maybe_push_res_to_seq (&tem_op, NULL);
39606 : 581 : if (!_r1) goto next_after_fail2095;
39607 : 445 : res_op->ops[2] = _r1;
39608 : : }
39609 : 445 : res_op->resimplify (lseq, valueize);
39610 : 445 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1035, __FILE__, __LINE__, true);
39611 : 445 : return true;
39612 : : }
39613 : 736 : next_after_fail2095:;
39614 : : }
39615 : : }
39616 : 736 : break;
39617 : : }
39618 : : default:;
39619 : : }
39620 : : }
39621 : : break;
39622 : 4277249 : default:;
39623 : : }
39624 : 4277249 : switch (TREE_CODE (_p0))
39625 : : {
39626 : 4220630 : case SSA_NAME:
39627 : 4220630 : if (gimple *_d1 = get_def (valueize, _p0))
39628 : : {
39629 : 3369342 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
39630 : 3609540 : switch (gimple_assign_rhs_code (_a1))
39631 : : {
39632 : 359 : case UNORDERED_EXPR:
39633 : 359 : {
39634 : 359 : tree _q20 = gimple_assign_rhs1 (_a1);
39635 : 359 : _q20 = do_valueize (valueize, _q20);
39636 : 359 : tree _q21 = gimple_assign_rhs2 (_a1);
39637 : 359 : _q21 = do_valueize (valueize, _q21);
39638 : 359 : if (tree_swap_operands_p (_q20, _q21))
39639 : 0 : std::swap (_q20, _q21);
39640 : 359 : if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
39641 : : {
39642 : 153 : switch (TREE_CODE (_p1))
39643 : : {
39644 : 153 : case SSA_NAME:
39645 : 153 : if (gimple *_d2 = get_def (valueize, _p1))
39646 : : {
39647 : 153 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
39648 : 153 : switch (gimple_assign_rhs_code (_a2))
39649 : : {
39650 : 112 : case UNORDERED_EXPR:
39651 : 112 : {
39652 : 112 : tree _q50 = gimple_assign_rhs1 (_a2);
39653 : 112 : _q50 = do_valueize (valueize, _q50);
39654 : 112 : tree _q51 = gimple_assign_rhs2 (_a2);
39655 : 112 : _q51 = do_valueize (valueize, _q51);
39656 : 112 : if (tree_swap_operands_p (_q50, _q51))
39657 : 0 : std::swap (_q50, _q51);
39658 : 112 : if ((_q51 == _q50 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q50, 0) && types_match (_q51, _q50)))
39659 : : {
39660 : 32 : {
39661 : 32 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
39662 : 32 : if (types_match (captures[0], captures[1])
39663 : : )
39664 : : {
39665 : 16 : gimple_seq *lseq = seq;
39666 : 16 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2096;
39667 : 16 : {
39668 : 16 : res_op->set_op (UNORDERED_EXPR, type, 2);
39669 : 16 : res_op->ops[0] = captures[0];
39670 : 16 : res_op->ops[1] = captures[1];
39671 : 16 : res_op->resimplify (lseq, valueize);
39672 : 16 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1084, __FILE__, __LINE__, true);
39673 : 16 : return true;
39674 : : }
39675 : 0 : next_after_fail2096:;
39676 : : }
39677 : : }
39678 : : }
39679 : 96 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
39680 : : {
39681 : 0 : {
39682 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q51 };
39683 : 0 : if (gimple_simplify_175 (res_op, seq, valueize, type, captures))
39684 : 0 : return true;
39685 : : }
39686 : : }
39687 : 96 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
39688 : : {
39689 : 0 : {
39690 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q50 };
39691 : 0 : if (gimple_simplify_175 (res_op, seq, valueize, type, captures))
39692 : 0 : return true;
39693 : : }
39694 : : }
39695 : 343 : break;
39696 : : }
39697 : : default:;
39698 : : }
39699 : : }
39700 : : break;
39701 : : default:;
39702 : : }
39703 : : }
39704 : 343 : switch (TREE_CODE (_p1))
39705 : : {
39706 : 343 : case SSA_NAME:
39707 : 343 : if (gimple *_d2 = get_def (valueize, _p1))
39708 : : {
39709 : 343 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
39710 : 343 : switch (gimple_assign_rhs_code (_a2))
39711 : : {
39712 : 280 : case UNORDERED_EXPR:
39713 : 280 : {
39714 : 280 : tree _q50 = gimple_assign_rhs1 (_a2);
39715 : 280 : _q50 = do_valueize (valueize, _q50);
39716 : 280 : tree _q51 = gimple_assign_rhs2 (_a2);
39717 : 280 : _q51 = do_valueize (valueize, _q51);
39718 : 280 : if (tree_swap_operands_p (_q50, _q51))
39719 : 0 : std::swap (_q50, _q51);
39720 : 280 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
39721 : : {
39722 : 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
39723 : : {
39724 : 0 : {
39725 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
39726 : 0 : if (gimple_simplify_176 (res_op, seq, valueize, type, captures))
39727 : 0 : return true;
39728 : : }
39729 : : }
39730 : : }
39731 : 280 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
39732 : : {
39733 : 2 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
39734 : : {
39735 : 2 : {
39736 : 2 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _p0, _q20 };
39737 : 2 : if (gimple_simplify_176 (res_op, seq, valueize, type, captures))
39738 : 2 : return true;
39739 : : }
39740 : : }
39741 : : }
39742 : 4661561 : break;
39743 : : }
39744 : : default:;
39745 : : }
39746 : : }
39747 : : break;
39748 : : default:;
39749 : : }
39750 : 4661561 : break;
39751 : : }
39752 : 360531 : case LT_EXPR:
39753 : 360531 : {
39754 : 360531 : tree _q20 = gimple_assign_rhs1 (_a1);
39755 : 360531 : _q20 = do_valueize (valueize, _q20);
39756 : 360531 : tree _q21 = gimple_assign_rhs2 (_a1);
39757 : 360531 : _q21 = do_valueize (valueize, _q21);
39758 : 360531 : switch (TREE_CODE (_p1))
39759 : : {
39760 : 360531 : case SSA_NAME:
39761 : 360531 : if (gimple *_d2 = get_def (valueize, _p1))
39762 : : {
39763 : 360121 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
39764 : 358671 : switch (gimple_assign_rhs_code (_a2))
39765 : : {
39766 : 269378 : case LT_EXPR:
39767 : 269378 : {
39768 : 269378 : tree _q50 = gimple_assign_rhs1 (_a2);
39769 : 269378 : _q50 = do_valueize (valueize, _q50);
39770 : 269378 : tree _q51 = gimple_assign_rhs2 (_a2);
39771 : 269378 : _q51 = do_valueize (valueize, _q51);
39772 : 269378 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
39773 : : {
39774 : 16801 : {
39775 : 16801 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
39776 : 16801 : if (gimple_simplify_177 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LT_EXPR, MAX_EXPR))
39777 : 20 : return true;
39778 : : }
39779 : : }
39780 : 269358 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
39781 : : {
39782 : 75513 : {
39783 : 75513 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
39784 : 75513 : if (gimple_simplify_177 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GT_EXPR, MIN_EXPR))
39785 : 1044 : return true;
39786 : : }
39787 : : }
39788 : : break;
39789 : : }
39790 : 43267 : case GT_EXPR:
39791 : 43267 : {
39792 : 43267 : tree _q50 = gimple_assign_rhs1 (_a2);
39793 : 43267 : _q50 = do_valueize (valueize, _q50);
39794 : 43267 : tree _q51 = gimple_assign_rhs2 (_a2);
39795 : 43267 : _q51 = do_valueize (valueize, _q51);
39796 : 43267 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
39797 : : {
39798 : 5 : {
39799 : 5 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
39800 : 5 : if (gimple_simplify_177 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LT_EXPR, MAX_EXPR))
39801 : 0 : return true;
39802 : : }
39803 : : }
39804 : 43267 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
39805 : : {
39806 : 3913 : {
39807 : 3913 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
39808 : 3913 : if (gimple_simplify_177 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GT_EXPR, MIN_EXPR))
39809 : 221 : return true;
39810 : : }
39811 : : }
39812 : : break;
39813 : : }
39814 : : default:;
39815 : : }
39816 : : }
39817 : : break;
39818 : 359246 : default:;
39819 : : }
39820 : 359246 : switch (TREE_CODE (_q20))
39821 : : {
39822 : 359199 : case SSA_NAME:
39823 : 359199 : if (gimple *_d2 = get_def (valueize, _q20))
39824 : : {
39825 : 340205 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
39826 : 589335 : switch (gimple_assign_rhs_code (_a2))
39827 : : {
39828 : 1654 : case POINTER_PLUS_EXPR:
39829 : 1654 : {
39830 : 1654 : tree _q30 = gimple_assign_rhs1 (_a2);
39831 : 1654 : _q30 = do_valueize (valueize, _q30);
39832 : 1654 : tree _q31 = gimple_assign_rhs2 (_a2);
39833 : 1654 : _q31 = do_valueize (valueize, _q31);
39834 : 1654 : switch (TREE_CODE (_q31))
39835 : : {
39836 : 1327 : case INTEGER_CST:
39837 : 1327 : {
39838 : 1327 : switch (TREE_CODE (_p1))
39839 : : {
39840 : 1327 : case SSA_NAME:
39841 : 1327 : if (gimple *_d3 = get_def (valueize, _p1))
39842 : : {
39843 : 1327 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
39844 : 1259 : switch (gimple_assign_rhs_code (_a3))
39845 : : {
39846 : 963 : case LT_EXPR:
39847 : 963 : {
39848 : 963 : tree _q70 = gimple_assign_rhs1 (_a3);
39849 : 963 : _q70 = do_valueize (valueize, _q70);
39850 : 963 : tree _q71 = gimple_assign_rhs2 (_a3);
39851 : 963 : _q71 = do_valueize (valueize, _q71);
39852 : 963 : switch (TREE_CODE (_q70))
39853 : : {
39854 : 963 : case SSA_NAME:
39855 : 963 : if (gimple *_d4 = get_def (valueize, _q70))
39856 : : {
39857 : 928 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
39858 : 995 : switch (gimple_assign_rhs_code (_a4))
39859 : : {
39860 : 31 : case POINTER_PLUS_EXPR:
39861 : 31 : {
39862 : 31 : tree _q80 = gimple_assign_rhs1 (_a4);
39863 : 31 : _q80 = do_valueize (valueize, _q80);
39864 : 31 : tree _q81 = gimple_assign_rhs2 (_a4);
39865 : 31 : _q81 = do_valueize (valueize, _q81);
39866 : 31 : if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
39867 : : {
39868 : 16 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
39869 : : {
39870 : 16 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
39871 : : {
39872 : 16 : {
39873 : 16 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q70 };
39874 : 16 : const enum tree_code cmp = LT_EXPR;
39875 : 16 : if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
39876 : 0 : && TYPE_OVERFLOW_WRAPS (sizetype)
39877 : 16 : && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
39878 : : )
39879 : : {
39880 : 0 : {
39881 : 0 : offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
39882 : 0 : offset_int rhs = off * 2;
39883 : 0 : if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
39884 : : )
39885 : : {
39886 : 0 : {
39887 : 0 : bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
39888 : 0 : tree rhs_tree = wide_int_to_tree (sizetype, rhs);
39889 : 0 : if (cmp == LT_EXPR
39890 : : )
39891 : : {
39892 : 0 : gimple_seq *lseq = seq;
39893 : 0 : if (lseq
39894 : 0 : && (!single_use (captures[0])
39895 : 0 : || !single_use (captures[5])))
39896 : 0 : lseq = NULL;
39897 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2097;
39898 : 0 : {
39899 : 0 : res_op->set_op (GT_EXPR, type, 2);
39900 : 0 : {
39901 : 0 : tree _r1;
39902 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
39903 : 0 : {
39904 : 0 : tree _o2[2], _r2;
39905 : 0 : _o2[0] = swap_p ? captures[6] : captures[1];
39906 : 0 : _o2[1] = swap_p ? captures[2] : captures[4];
39907 : 0 : tem_op.set_op (POINTER_DIFF_EXPR, ssizetype, 2);
39908 : 0 : tem_op.ops[0] = _o2[0];
39909 : 0 : tem_op.ops[1] = _o2[1];
39910 : 0 : tem_op.resimplify (lseq, valueize);
39911 : : }
39912 : 0 : if (sizetype != tem_op.type
39913 : 0 : && !useless_type_conversion_p (sizetype, tem_op.type))
39914 : : {
39915 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
39916 : 0 : if (!_r1) goto next_after_fail2097;
39917 : 0 : tem_op.set_op (NOP_EXPR, sizetype, 1);
39918 : 0 : tem_op.ops[0] = _r1;
39919 : 0 : tem_op.resimplify (lseq, valueize);
39920 : : }
39921 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
39922 : 0 : if (!_r1) goto next_after_fail2097;
39923 : 0 : res_op->ops[0] = _r1;
39924 : : }
39925 : 0 : res_op->ops[1] = rhs_tree;
39926 : 0 : res_op->resimplify (lseq, valueize);
39927 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1085, __FILE__, __LINE__, true);
39928 : 0 : return true;
39929 : : }
39930 : 0 : next_after_fail2097:;
39931 : : }
39932 : : else
39933 : : {
39934 : : gimple_seq *lseq = seq;
39935 : : if (lseq
39936 : : && (!single_use (captures[0])
39937 : : || !single_use (captures[5])))
39938 : : lseq = NULL;
39939 : : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2098;
39940 : : {
39941 : : res_op->set_op (GT_EXPR, type, 2);
39942 : : {
39943 : : tree _r1;
39944 : : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
39945 : : {
39946 : : tree _o2[2], _r2;
39947 : : {
39948 : : tree _o3[2], _r3;
39949 : : _o3[0] = swap_p ? captures[4] : captures[2];
39950 : : _o3[1] = wide_int_to_tree (sizetype, off);
39951 : : gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
39952 : : tem_op.resimplify (lseq, valueize);
39953 : : _r3 = maybe_push_res_to_seq (&tem_op, lseq);
39954 : : if (!_r3) goto next_after_fail2098;
39955 : : _o2[0] = _r3;
39956 : : }
39957 : : _o2[1] = swap_p ? captures[2] : captures[4];
39958 : : tem_op.set_op (POINTER_DIFF_EXPR, ssizetype, 2);
39959 : : tem_op.ops[0] = _o2[0];
39960 : : tem_op.ops[1] = _o2[1];
39961 : : tem_op.resimplify (lseq, valueize);
39962 : : }
39963 : : if (sizetype != tem_op.type
39964 : : && !useless_type_conversion_p (sizetype, tem_op.type))
39965 : : {
39966 : : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
39967 : : if (!_r1) goto next_after_fail2098;
39968 : : tem_op.set_op (NOP_EXPR, sizetype, 1);
39969 : : tem_op.ops[0] = _r1;
39970 : : tem_op.resimplify (lseq, valueize);
39971 : : }
39972 : : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
39973 : : if (!_r1) goto next_after_fail2098;
39974 : : res_op->ops[0] = _r1;
39975 : : }
39976 : : res_op->ops[1] = rhs_tree;
39977 : : res_op->resimplify (lseq, valueize);
39978 : : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1086, __FILE__, __LINE__, true);
39979 : : return true;
39980 : : }
39981 : : next_after_fail2098:;
39982 : : }
39983 : : }
39984 : : }
39985 : : }
39986 : : }
39987 : : }
39988 : : }
39989 : : }
39990 : : }
39991 : : break;
39992 : : }
39993 : : default:;
39994 : : }
39995 : : }
39996 : : break;
39997 : : default:;
39998 : : }
39999 : : break;
40000 : : }
40001 : 272 : case GT_EXPR:
40002 : 272 : {
40003 : 272 : tree _q70 = gimple_assign_rhs1 (_a3);
40004 : 272 : _q70 = do_valueize (valueize, _q70);
40005 : 272 : tree _q71 = gimple_assign_rhs2 (_a3);
40006 : 272 : _q71 = do_valueize (valueize, _q71);
40007 : 272 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
40008 : : {
40009 : 15 : switch (TREE_CODE (_q71))
40010 : : {
40011 : 15 : case SSA_NAME:
40012 : 15 : if (gimple *_d4 = get_def (valueize, _q71))
40013 : : {
40014 : 15 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
40015 : 15 : switch (gimple_assign_rhs_code (_a4))
40016 : : {
40017 : 15 : case POINTER_PLUS_EXPR:
40018 : 15 : {
40019 : 15 : tree _q90 = gimple_assign_rhs1 (_a4);
40020 : 15 : _q90 = do_valueize (valueize, _q90);
40021 : 15 : tree _q91 = gimple_assign_rhs2 (_a4);
40022 : 15 : _q91 = do_valueize (valueize, _q91);
40023 : 15 : if ((_q90 == _q21 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q21, 0) && types_match (_q90, _q21)))
40024 : : {
40025 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
40026 : : {
40027 : 0 : {
40028 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q71 };
40029 : 0 : const enum tree_code cmp = LT_EXPR;
40030 : 0 : if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
40031 : 0 : && TYPE_OVERFLOW_WRAPS (sizetype)
40032 : 0 : && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
40033 : : )
40034 : : {
40035 : 0 : {
40036 : 0 : offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
40037 : 0 : offset_int rhs = off * 2;
40038 : 0 : if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
40039 : : )
40040 : : {
40041 : 0 : {
40042 : 0 : bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
40043 : 0 : tree rhs_tree = wide_int_to_tree (sizetype, rhs);
40044 : 0 : if (cmp == LT_EXPR
40045 : : )
40046 : : {
40047 : 0 : gimple_seq *lseq = seq;
40048 : 0 : if (lseq
40049 : 0 : && (!single_use (captures[0])
40050 : 0 : || !single_use (captures[5])))
40051 : 0 : lseq = NULL;
40052 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2099;
40053 : 0 : {
40054 : 0 : res_op->set_op (GT_EXPR, type, 2);
40055 : 0 : {
40056 : 0 : tree _r1;
40057 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
40058 : 0 : {
40059 : 0 : tree _o2[2], _r2;
40060 : 0 : _o2[0] = swap_p ? captures[6] : captures[1];
40061 : 0 : _o2[1] = swap_p ? captures[2] : captures[4];
40062 : 0 : tem_op.set_op (POINTER_DIFF_EXPR, ssizetype, 2);
40063 : 0 : tem_op.ops[0] = _o2[0];
40064 : 0 : tem_op.ops[1] = _o2[1];
40065 : 0 : tem_op.resimplify (lseq, valueize);
40066 : : }
40067 : 0 : if (sizetype != tem_op.type
40068 : 0 : && !useless_type_conversion_p (sizetype, tem_op.type))
40069 : : {
40070 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40071 : 0 : if (!_r1) goto next_after_fail2099;
40072 : 0 : tem_op.set_op (NOP_EXPR, sizetype, 1);
40073 : 0 : tem_op.ops[0] = _r1;
40074 : 0 : tem_op.resimplify (lseq, valueize);
40075 : : }
40076 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40077 : 0 : if (!_r1) goto next_after_fail2099;
40078 : 0 : res_op->ops[0] = _r1;
40079 : : }
40080 : 0 : res_op->ops[1] = rhs_tree;
40081 : 0 : res_op->resimplify (lseq, valueize);
40082 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1085, __FILE__, __LINE__, true);
40083 : 0 : return true;
40084 : : }
40085 : 0 : next_after_fail2099:;
40086 : : }
40087 : : else
40088 : : {
40089 : : gimple_seq *lseq = seq;
40090 : : if (lseq
40091 : : && (!single_use (captures[0])
40092 : : || !single_use (captures[5])))
40093 : : lseq = NULL;
40094 : : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2100;
40095 : : {
40096 : : res_op->set_op (GT_EXPR, type, 2);
40097 : : {
40098 : : tree _r1;
40099 : : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
40100 : : {
40101 : : tree _o2[2], _r2;
40102 : : {
40103 : : tree _o3[2], _r3;
40104 : : _o3[0] = swap_p ? captures[4] : captures[2];
40105 : : _o3[1] = wide_int_to_tree (sizetype, off);
40106 : : gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
40107 : : tem_op.resimplify (lseq, valueize);
40108 : : _r3 = maybe_push_res_to_seq (&tem_op, lseq);
40109 : : if (!_r3) goto next_after_fail2100;
40110 : : _o2[0] = _r3;
40111 : : }
40112 : : _o2[1] = swap_p ? captures[2] : captures[4];
40113 : : tem_op.set_op (POINTER_DIFF_EXPR, ssizetype, 2);
40114 : : tem_op.ops[0] = _o2[0];
40115 : : tem_op.ops[1] = _o2[1];
40116 : : tem_op.resimplify (lseq, valueize);
40117 : : }
40118 : : if (sizetype != tem_op.type
40119 : : && !useless_type_conversion_p (sizetype, tem_op.type))
40120 : : {
40121 : : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40122 : : if (!_r1) goto next_after_fail2100;
40123 : : tem_op.set_op (NOP_EXPR, sizetype, 1);
40124 : : tem_op.ops[0] = _r1;
40125 : : tem_op.resimplify (lseq, valueize);
40126 : : }
40127 : : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40128 : : if (!_r1) goto next_after_fail2100;
40129 : : res_op->ops[0] = _r1;
40130 : : }
40131 : : res_op->ops[1] = rhs_tree;
40132 : : res_op->resimplify (lseq, valueize);
40133 : : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1086, __FILE__, __LINE__, true);
40134 : : return true;
40135 : : }
40136 : : next_after_fail2100:;
40137 : : }
40138 : : }
40139 : : }
40140 : : }
40141 : : }
40142 : : }
40143 : : }
40144 : : }
40145 : : break;
40146 : : }
40147 : : default:;
40148 : : }
40149 : : }
40150 : : break;
40151 : : default:;
40152 : : }
40153 : : }
40154 : : break;
40155 : : }
40156 : : default:;
40157 : : }
40158 : : }
40159 : : break;
40160 : : default:;
40161 : : }
40162 : : break;
40163 : : }
40164 : : default:;
40165 : : }
40166 : : break;
40167 : : }
40168 : : default:;
40169 : : }
40170 : : }
40171 : : break;
40172 : : default:;
40173 : : }
40174 : : break;
40175 : : }
40176 : 83909 : case LE_EXPR:
40177 : 83909 : {
40178 : 83909 : tree _q20 = gimple_assign_rhs1 (_a1);
40179 : 83909 : _q20 = do_valueize (valueize, _q20);
40180 : 83909 : tree _q21 = gimple_assign_rhs2 (_a1);
40181 : 83909 : _q21 = do_valueize (valueize, _q21);
40182 : 83909 : switch (TREE_CODE (_p1))
40183 : : {
40184 : 83909 : case SSA_NAME:
40185 : 83909 : if (gimple *_d2 = get_def (valueize, _p1))
40186 : : {
40187 : 83670 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
40188 : 81467 : switch (gimple_assign_rhs_code (_a2))
40189 : : {
40190 : 11172 : case LE_EXPR:
40191 : 11172 : {
40192 : 11172 : tree _q50 = gimple_assign_rhs1 (_a2);
40193 : 11172 : _q50 = do_valueize (valueize, _q50);
40194 : 11172 : tree _q51 = gimple_assign_rhs2 (_a2);
40195 : 11172 : _q51 = do_valueize (valueize, _q51);
40196 : 11172 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
40197 : : {
40198 : 510 : {
40199 : 510 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
40200 : 510 : if (gimple_simplify_177 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LE_EXPR, MAX_EXPR))
40201 : 4 : return true;
40202 : : }
40203 : : }
40204 : 11168 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
40205 : : {
40206 : 4796 : {
40207 : 4796 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
40208 : 4796 : if (gimple_simplify_177 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GE_EXPR, MIN_EXPR))
40209 : 657 : return true;
40210 : : }
40211 : : }
40212 : : break;
40213 : : }
40214 : 2388 : case GE_EXPR:
40215 : 2388 : {
40216 : 2388 : tree _q50 = gimple_assign_rhs1 (_a2);
40217 : 2388 : _q50 = do_valueize (valueize, _q50);
40218 : 2388 : tree _q51 = gimple_assign_rhs2 (_a2);
40219 : 2388 : _q51 = do_valueize (valueize, _q51);
40220 : 2388 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
40221 : : {
40222 : 20 : {
40223 : 20 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
40224 : 20 : if (gimple_simplify_177 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LE_EXPR, MAX_EXPR))
40225 : 8 : return true;
40226 : : }
40227 : : }
40228 : 2380 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
40229 : : {
40230 : 96 : {
40231 : 96 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
40232 : 96 : if (gimple_simplify_177 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GE_EXPR, MIN_EXPR))
40233 : 96 : return true;
40234 : : }
40235 : : }
40236 : : break;
40237 : : }
40238 : : default:;
40239 : : }
40240 : : }
40241 : : break;
40242 : 83144 : default:;
40243 : : }
40244 : 83144 : switch (TREE_CODE (_q20))
40245 : : {
40246 : 83144 : case SSA_NAME:
40247 : 83144 : if (gimple *_d2 = get_def (valueize, _q20))
40248 : : {
40249 : 78746 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
40250 : 83638 : switch (gimple_assign_rhs_code (_a2))
40251 : : {
40252 : 608 : case POINTER_PLUS_EXPR:
40253 : 608 : {
40254 : 608 : tree _q30 = gimple_assign_rhs1 (_a2);
40255 : 608 : _q30 = do_valueize (valueize, _q30);
40256 : 608 : tree _q31 = gimple_assign_rhs2 (_a2);
40257 : 608 : _q31 = do_valueize (valueize, _q31);
40258 : 608 : switch (TREE_CODE (_q31))
40259 : : {
40260 : 315 : case INTEGER_CST:
40261 : 315 : {
40262 : 315 : switch (TREE_CODE (_p1))
40263 : : {
40264 : 315 : case SSA_NAME:
40265 : 315 : if (gimple *_d3 = get_def (valueize, _p1))
40266 : : {
40267 : 315 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
40268 : 315 : switch (gimple_assign_rhs_code (_a3))
40269 : : {
40270 : 101 : case LE_EXPR:
40271 : 101 : {
40272 : 101 : tree _q70 = gimple_assign_rhs1 (_a3);
40273 : 101 : _q70 = do_valueize (valueize, _q70);
40274 : 101 : tree _q71 = gimple_assign_rhs2 (_a3);
40275 : 101 : _q71 = do_valueize (valueize, _q71);
40276 : 101 : switch (TREE_CODE (_q70))
40277 : : {
40278 : 101 : case SSA_NAME:
40279 : 101 : if (gimple *_d4 = get_def (valueize, _q70))
40280 : : {
40281 : 96 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
40282 : 96 : switch (gimple_assign_rhs_code (_a4))
40283 : : {
40284 : 96 : case POINTER_PLUS_EXPR:
40285 : 96 : {
40286 : 96 : tree _q80 = gimple_assign_rhs1 (_a4);
40287 : 96 : _q80 = do_valueize (valueize, _q80);
40288 : 96 : tree _q81 = gimple_assign_rhs2 (_a4);
40289 : 96 : _q81 = do_valueize (valueize, _q81);
40290 : 96 : if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
40291 : : {
40292 : 94 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
40293 : : {
40294 : 16 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
40295 : : {
40296 : 16 : {
40297 : 16 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q70 };
40298 : 16 : const enum tree_code cmp = LE_EXPR;
40299 : 16 : if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
40300 : 0 : && TYPE_OVERFLOW_WRAPS (sizetype)
40301 : 16 : && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
40302 : : )
40303 : : {
40304 : 0 : {
40305 : 0 : offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
40306 : 0 : offset_int rhs = off * 2;
40307 : 0 : if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
40308 : : )
40309 : : {
40310 : 0 : {
40311 : 0 : bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
40312 : 0 : tree rhs_tree = wide_int_to_tree (sizetype, rhs);
40313 : 0 : if (cmp == LT_EXPR
40314 : : )
40315 : : {
40316 : : gimple_seq *lseq = seq;
40317 : : if (lseq
40318 : : && (!single_use (captures[0])
40319 : : || !single_use (captures[5])))
40320 : : lseq = NULL;
40321 : : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2101;
40322 : : {
40323 : : res_op->set_op (GT_EXPR, type, 2);
40324 : : {
40325 : : tree _r1;
40326 : : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
40327 : : {
40328 : : tree _o2[2], _r2;
40329 : : _o2[0] = swap_p ? captures[6] : captures[1];
40330 : : _o2[1] = swap_p ? captures[2] : captures[4];
40331 : : tem_op.set_op (POINTER_DIFF_EXPR, ssizetype, 2);
40332 : : tem_op.ops[0] = _o2[0];
40333 : : tem_op.ops[1] = _o2[1];
40334 : : tem_op.resimplify (lseq, valueize);
40335 : : }
40336 : : if (sizetype != tem_op.type
40337 : : && !useless_type_conversion_p (sizetype, tem_op.type))
40338 : : {
40339 : : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40340 : : if (!_r1) goto next_after_fail2101;
40341 : : tem_op.set_op (NOP_EXPR, sizetype, 1);
40342 : : tem_op.ops[0] = _r1;
40343 : : tem_op.resimplify (lseq, valueize);
40344 : : }
40345 : : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40346 : : if (!_r1) goto next_after_fail2101;
40347 : : res_op->ops[0] = _r1;
40348 : : }
40349 : : res_op->ops[1] = rhs_tree;
40350 : : res_op->resimplify (lseq, valueize);
40351 : : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1085, __FILE__, __LINE__, true);
40352 : 0 : return true;
40353 : : }
40354 : : next_after_fail2101:;
40355 : : }
40356 : : else
40357 : : {
40358 : 0 : gimple_seq *lseq = seq;
40359 : 0 : if (lseq
40360 : 0 : && (!single_use (captures[0])
40361 : 0 : || !single_use (captures[5])))
40362 : 0 : lseq = NULL;
40363 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2102;
40364 : 0 : {
40365 : 0 : res_op->set_op (GT_EXPR, type, 2);
40366 : 0 : {
40367 : 0 : tree _r1;
40368 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
40369 : 0 : {
40370 : 0 : tree _o2[2], _r2;
40371 : 0 : {
40372 : 0 : tree _o3[2], _r3;
40373 : 0 : _o3[0] = swap_p ? captures[4] : captures[2];
40374 : 0 : _o3[1] = wide_int_to_tree (sizetype, off);
40375 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
40376 : 0 : tem_op.resimplify (lseq, valueize);
40377 : 0 : _r3 = maybe_push_res_to_seq (&tem_op, lseq);
40378 : 0 : if (!_r3) goto next_after_fail2102;
40379 : 0 : _o2[0] = _r3;
40380 : : }
40381 : 0 : _o2[1] = swap_p ? captures[2] : captures[4];
40382 : 0 : tem_op.set_op (POINTER_DIFF_EXPR, ssizetype, 2);
40383 : 0 : tem_op.ops[0] = _o2[0];
40384 : 0 : tem_op.ops[1] = _o2[1];
40385 : 0 : tem_op.resimplify (lseq, valueize);
40386 : : }
40387 : 0 : if (sizetype != tem_op.type
40388 : 0 : && !useless_type_conversion_p (sizetype, tem_op.type))
40389 : : {
40390 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40391 : 0 : if (!_r1) goto next_after_fail2102;
40392 : 0 : tem_op.set_op (NOP_EXPR, sizetype, 1);
40393 : 0 : tem_op.ops[0] = _r1;
40394 : 0 : tem_op.resimplify (lseq, valueize);
40395 : : }
40396 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40397 : 0 : if (!_r1) goto next_after_fail2102;
40398 : 0 : res_op->ops[0] = _r1;
40399 : : }
40400 : 0 : res_op->ops[1] = rhs_tree;
40401 : 0 : res_op->resimplify (lseq, valueize);
40402 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1086, __FILE__, __LINE__, true);
40403 : 0 : return true;
40404 : : }
40405 : 0 : next_after_fail2102:;
40406 : : }
40407 : : }
40408 : : }
40409 : : }
40410 : : }
40411 : : }
40412 : : }
40413 : : }
40414 : : }
40415 : : break;
40416 : : }
40417 : : default:;
40418 : : }
40419 : : }
40420 : : break;
40421 : : default:;
40422 : : }
40423 : : break;
40424 : : }
40425 : 188 : case GE_EXPR:
40426 : 188 : {
40427 : 188 : tree _q70 = gimple_assign_rhs1 (_a3);
40428 : 188 : _q70 = do_valueize (valueize, _q70);
40429 : 188 : tree _q71 = gimple_assign_rhs2 (_a3);
40430 : 188 : _q71 = do_valueize (valueize, _q71);
40431 : 188 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
40432 : : {
40433 : 188 : switch (TREE_CODE (_q71))
40434 : : {
40435 : 154 : case SSA_NAME:
40436 : 154 : if (gimple *_d4 = get_def (valueize, _q71))
40437 : : {
40438 : 154 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
40439 : 154 : switch (gimple_assign_rhs_code (_a4))
40440 : : {
40441 : 148 : case POINTER_PLUS_EXPR:
40442 : 148 : {
40443 : 148 : tree _q90 = gimple_assign_rhs1 (_a4);
40444 : 148 : _q90 = do_valueize (valueize, _q90);
40445 : 148 : tree _q91 = gimple_assign_rhs2 (_a4);
40446 : 148 : _q91 = do_valueize (valueize, _q91);
40447 : 148 : if ((_q90 == _q21 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q21, 0) && types_match (_q90, _q21)))
40448 : : {
40449 : 97 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
40450 : : {
40451 : 0 : {
40452 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q71 };
40453 : 0 : const enum tree_code cmp = LE_EXPR;
40454 : 0 : if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
40455 : 0 : && TYPE_OVERFLOW_WRAPS (sizetype)
40456 : 0 : && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
40457 : : )
40458 : : {
40459 : 0 : {
40460 : 0 : offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
40461 : 0 : offset_int rhs = off * 2;
40462 : 0 : if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
40463 : : )
40464 : : {
40465 : 0 : {
40466 : 0 : bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
40467 : 0 : tree rhs_tree = wide_int_to_tree (sizetype, rhs);
40468 : 0 : if (cmp == LT_EXPR
40469 : : )
40470 : : {
40471 : : gimple_seq *lseq = seq;
40472 : : if (lseq
40473 : : && (!single_use (captures[0])
40474 : : || !single_use (captures[5])))
40475 : : lseq = NULL;
40476 : : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2103;
40477 : : {
40478 : : res_op->set_op (GT_EXPR, type, 2);
40479 : : {
40480 : : tree _r1;
40481 : : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
40482 : : {
40483 : : tree _o2[2], _r2;
40484 : : _o2[0] = swap_p ? captures[6] : captures[1];
40485 : : _o2[1] = swap_p ? captures[2] : captures[4];
40486 : : tem_op.set_op (POINTER_DIFF_EXPR, ssizetype, 2);
40487 : : tem_op.ops[0] = _o2[0];
40488 : : tem_op.ops[1] = _o2[1];
40489 : : tem_op.resimplify (lseq, valueize);
40490 : : }
40491 : : if (sizetype != tem_op.type
40492 : : && !useless_type_conversion_p (sizetype, tem_op.type))
40493 : : {
40494 : : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40495 : : if (!_r1) goto next_after_fail2103;
40496 : : tem_op.set_op (NOP_EXPR, sizetype, 1);
40497 : : tem_op.ops[0] = _r1;
40498 : : tem_op.resimplify (lseq, valueize);
40499 : : }
40500 : : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40501 : : if (!_r1) goto next_after_fail2103;
40502 : : res_op->ops[0] = _r1;
40503 : : }
40504 : : res_op->ops[1] = rhs_tree;
40505 : : res_op->resimplify (lseq, valueize);
40506 : : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1085, __FILE__, __LINE__, true);
40507 : 0 : return true;
40508 : : }
40509 : : next_after_fail2103:;
40510 : : }
40511 : : else
40512 : : {
40513 : 0 : gimple_seq *lseq = seq;
40514 : 0 : if (lseq
40515 : 0 : && (!single_use (captures[0])
40516 : 0 : || !single_use (captures[5])))
40517 : 0 : lseq = NULL;
40518 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2104;
40519 : 0 : {
40520 : 0 : res_op->set_op (GT_EXPR, type, 2);
40521 : 0 : {
40522 : 0 : tree _r1;
40523 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
40524 : 0 : {
40525 : 0 : tree _o2[2], _r2;
40526 : 0 : {
40527 : 0 : tree _o3[2], _r3;
40528 : 0 : _o3[0] = swap_p ? captures[4] : captures[2];
40529 : 0 : _o3[1] = wide_int_to_tree (sizetype, off);
40530 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
40531 : 0 : tem_op.resimplify (lseq, valueize);
40532 : 0 : _r3 = maybe_push_res_to_seq (&tem_op, lseq);
40533 : 0 : if (!_r3) goto next_after_fail2104;
40534 : 0 : _o2[0] = _r3;
40535 : : }
40536 : 0 : _o2[1] = swap_p ? captures[2] : captures[4];
40537 : 0 : tem_op.set_op (POINTER_DIFF_EXPR, ssizetype, 2);
40538 : 0 : tem_op.ops[0] = _o2[0];
40539 : 0 : tem_op.ops[1] = _o2[1];
40540 : 0 : tem_op.resimplify (lseq, valueize);
40541 : : }
40542 : 0 : if (sizetype != tem_op.type
40543 : 0 : && !useless_type_conversion_p (sizetype, tem_op.type))
40544 : : {
40545 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40546 : 0 : if (!_r1) goto next_after_fail2104;
40547 : 0 : tem_op.set_op (NOP_EXPR, sizetype, 1);
40548 : 0 : tem_op.ops[0] = _r1;
40549 : 0 : tem_op.resimplify (lseq, valueize);
40550 : : }
40551 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40552 : 0 : if (!_r1) goto next_after_fail2104;
40553 : 0 : res_op->ops[0] = _r1;
40554 : : }
40555 : 0 : res_op->ops[1] = rhs_tree;
40556 : 0 : res_op->resimplify (lseq, valueize);
40557 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1086, __FILE__, __LINE__, true);
40558 : 0 : return true;
40559 : : }
40560 : 0 : next_after_fail2104:;
40561 : : }
40562 : : }
40563 : : }
40564 : : }
40565 : : }
40566 : : }
40567 : : }
40568 : : }
40569 : : break;
40570 : : }
40571 : : default:;
40572 : : }
40573 : : }
40574 : : break;
40575 : : default:;
40576 : : }
40577 : : }
40578 : : break;
40579 : : }
40580 : : default:;
40581 : : }
40582 : : }
40583 : : break;
40584 : : default:;
40585 : : }
40586 : : break;
40587 : : }
40588 : : default:;
40589 : : }
40590 : : break;
40591 : : }
40592 : : default:;
40593 : : }
40594 : : }
40595 : : break;
40596 : : default:;
40597 : : }
40598 : : break;
40599 : : }
40600 : 123362 : case GT_EXPR:
40601 : 123362 : {
40602 : 123362 : tree _q20 = gimple_assign_rhs1 (_a1);
40603 : 123362 : _q20 = do_valueize (valueize, _q20);
40604 : 123362 : tree _q21 = gimple_assign_rhs2 (_a1);
40605 : 123362 : _q21 = do_valueize (valueize, _q21);
40606 : 123362 : switch (TREE_CODE (_p1))
40607 : : {
40608 : 123362 : case SSA_NAME:
40609 : 123362 : if (gimple *_d2 = get_def (valueize, _p1))
40610 : : {
40611 : 122856 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
40612 : 119673 : switch (gimple_assign_rhs_code (_a2))
40613 : : {
40614 : 66399 : case GT_EXPR:
40615 : 66399 : {
40616 : 66399 : tree _q50 = gimple_assign_rhs1 (_a2);
40617 : 66399 : _q50 = do_valueize (valueize, _q50);
40618 : 66399 : tree _q51 = gimple_assign_rhs2 (_a2);
40619 : 66399 : _q51 = do_valueize (valueize, _q51);
40620 : 66399 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
40621 : : {
40622 : 19571 : {
40623 : 19571 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
40624 : 19571 : if (gimple_simplify_177 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GT_EXPR, MIN_EXPR))
40625 : 741 : return true;
40626 : : }
40627 : : }
40628 : 65658 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
40629 : : {
40630 : 9291 : {
40631 : 9291 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
40632 : 9291 : if (gimple_simplify_177 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LT_EXPR, MAX_EXPR))
40633 : 6 : return true;
40634 : : }
40635 : : }
40636 : : break;
40637 : : }
40638 : 25708 : case LT_EXPR:
40639 : 25708 : {
40640 : 25708 : tree _q50 = gimple_assign_rhs1 (_a2);
40641 : 25708 : _q50 = do_valueize (valueize, _q50);
40642 : 25708 : tree _q51 = gimple_assign_rhs2 (_a2);
40643 : 25708 : _q51 = do_valueize (valueize, _q51);
40644 : 25708 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
40645 : : {
40646 : 6542 : {
40647 : 6542 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
40648 : 6542 : if (gimple_simplify_177 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GT_EXPR, MIN_EXPR))
40649 : 1644 : return true;
40650 : : }
40651 : : }
40652 : 24064 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
40653 : : {
40654 : 12 : {
40655 : 12 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
40656 : 12 : if (gimple_simplify_177 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LT_EXPR, MAX_EXPR))
40657 : 2 : return true;
40658 : : }
40659 : : }
40660 : : break;
40661 : : }
40662 : : default:;
40663 : : }
40664 : : }
40665 : : break;
40666 : 120969 : default:;
40667 : : }
40668 : 120969 : switch (TREE_CODE (_q21))
40669 : : {
40670 : 92313 : case SSA_NAME:
40671 : 92313 : if (gimple *_d2 = get_def (valueize, _q21))
40672 : : {
40673 : 87687 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
40674 : 141600 : switch (gimple_assign_rhs_code (_a2))
40675 : : {
40676 : 894 : case POINTER_PLUS_EXPR:
40677 : 894 : {
40678 : 894 : tree _q40 = gimple_assign_rhs1 (_a2);
40679 : 894 : _q40 = do_valueize (valueize, _q40);
40680 : 894 : tree _q41 = gimple_assign_rhs2 (_a2);
40681 : 894 : _q41 = do_valueize (valueize, _q41);
40682 : 894 : switch (TREE_CODE (_q41))
40683 : : {
40684 : 339 : case INTEGER_CST:
40685 : 339 : {
40686 : 339 : switch (TREE_CODE (_p1))
40687 : : {
40688 : 339 : case SSA_NAME:
40689 : 339 : if (gimple *_d3 = get_def (valueize, _p1))
40690 : : {
40691 : 339 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
40692 : 339 : switch (gimple_assign_rhs_code (_a3))
40693 : : {
40694 : 228 : case LT_EXPR:
40695 : 228 : {
40696 : 228 : tree _q70 = gimple_assign_rhs1 (_a3);
40697 : 228 : _q70 = do_valueize (valueize, _q70);
40698 : 228 : tree _q71 = gimple_assign_rhs2 (_a3);
40699 : 228 : _q71 = do_valueize (valueize, _q71);
40700 : 228 : switch (TREE_CODE (_q70))
40701 : : {
40702 : 228 : case SSA_NAME:
40703 : 228 : if (gimple *_d4 = get_def (valueize, _q70))
40704 : : {
40705 : 219 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
40706 : 356 : switch (gimple_assign_rhs_code (_a4))
40707 : : {
40708 : 4 : case POINTER_PLUS_EXPR:
40709 : 4 : {
40710 : 4 : tree _q80 = gimple_assign_rhs1 (_a4);
40711 : 4 : _q80 = do_valueize (valueize, _q80);
40712 : 4 : tree _q81 = gimple_assign_rhs2 (_a4);
40713 : 4 : _q81 = do_valueize (valueize, _q81);
40714 : 4 : if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
40715 : : {
40716 : 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
40717 : : {
40718 : 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
40719 : : {
40720 : 0 : {
40721 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q70 };
40722 : 0 : const enum tree_code cmp = LT_EXPR;
40723 : 0 : if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
40724 : 0 : && TYPE_OVERFLOW_WRAPS (sizetype)
40725 : 0 : && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
40726 : : )
40727 : : {
40728 : 0 : {
40729 : 0 : offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
40730 : 0 : offset_int rhs = off * 2;
40731 : 0 : if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
40732 : : )
40733 : : {
40734 : 0 : {
40735 : 0 : bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
40736 : 0 : tree rhs_tree = wide_int_to_tree (sizetype, rhs);
40737 : 0 : if (cmp == LT_EXPR
40738 : : )
40739 : : {
40740 : 0 : gimple_seq *lseq = seq;
40741 : 0 : if (lseq
40742 : 0 : && (!single_use (captures[0])
40743 : 0 : || !single_use (captures[5])))
40744 : 0 : lseq = NULL;
40745 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2105;
40746 : 0 : {
40747 : 0 : res_op->set_op (GT_EXPR, type, 2);
40748 : 0 : {
40749 : 0 : tree _r1;
40750 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
40751 : 0 : {
40752 : 0 : tree _o2[2], _r2;
40753 : 0 : _o2[0] = swap_p ? captures[6] : captures[1];
40754 : 0 : _o2[1] = swap_p ? captures[2] : captures[4];
40755 : 0 : tem_op.set_op (POINTER_DIFF_EXPR, ssizetype, 2);
40756 : 0 : tem_op.ops[0] = _o2[0];
40757 : 0 : tem_op.ops[1] = _o2[1];
40758 : 0 : tem_op.resimplify (lseq, valueize);
40759 : : }
40760 : 0 : if (sizetype != tem_op.type
40761 : 0 : && !useless_type_conversion_p (sizetype, tem_op.type))
40762 : : {
40763 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40764 : 0 : if (!_r1) goto next_after_fail2105;
40765 : 0 : tem_op.set_op (NOP_EXPR, sizetype, 1);
40766 : 0 : tem_op.ops[0] = _r1;
40767 : 0 : tem_op.resimplify (lseq, valueize);
40768 : : }
40769 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40770 : 0 : if (!_r1) goto next_after_fail2105;
40771 : 0 : res_op->ops[0] = _r1;
40772 : : }
40773 : 0 : res_op->ops[1] = rhs_tree;
40774 : 0 : res_op->resimplify (lseq, valueize);
40775 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1085, __FILE__, __LINE__, true);
40776 : 0 : return true;
40777 : : }
40778 : 0 : next_after_fail2105:;
40779 : : }
40780 : : else
40781 : : {
40782 : : gimple_seq *lseq = seq;
40783 : : if (lseq
40784 : : && (!single_use (captures[0])
40785 : : || !single_use (captures[5])))
40786 : : lseq = NULL;
40787 : : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2106;
40788 : : {
40789 : : res_op->set_op (GT_EXPR, type, 2);
40790 : : {
40791 : : tree _r1;
40792 : : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
40793 : : {
40794 : : tree _o2[2], _r2;
40795 : : {
40796 : : tree _o3[2], _r3;
40797 : : _o3[0] = swap_p ? captures[4] : captures[2];
40798 : : _o3[1] = wide_int_to_tree (sizetype, off);
40799 : : gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
40800 : : tem_op.resimplify (lseq, valueize);
40801 : : _r3 = maybe_push_res_to_seq (&tem_op, lseq);
40802 : : if (!_r3) goto next_after_fail2106;
40803 : : _o2[0] = _r3;
40804 : : }
40805 : : _o2[1] = swap_p ? captures[2] : captures[4];
40806 : : tem_op.set_op (POINTER_DIFF_EXPR, ssizetype, 2);
40807 : : tem_op.ops[0] = _o2[0];
40808 : : tem_op.ops[1] = _o2[1];
40809 : : tem_op.resimplify (lseq, valueize);
40810 : : }
40811 : : if (sizetype != tem_op.type
40812 : : && !useless_type_conversion_p (sizetype, tem_op.type))
40813 : : {
40814 : : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40815 : : if (!_r1) goto next_after_fail2106;
40816 : : tem_op.set_op (NOP_EXPR, sizetype, 1);
40817 : : tem_op.ops[0] = _r1;
40818 : : tem_op.resimplify (lseq, valueize);
40819 : : }
40820 : : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40821 : : if (!_r1) goto next_after_fail2106;
40822 : : res_op->ops[0] = _r1;
40823 : : }
40824 : : res_op->ops[1] = rhs_tree;
40825 : : res_op->resimplify (lseq, valueize);
40826 : : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1086, __FILE__, __LINE__, true);
40827 : : return true;
40828 : : }
40829 : : next_after_fail2106:;
40830 : : }
40831 : : }
40832 : : }
40833 : : }
40834 : : }
40835 : : }
40836 : : }
40837 : : }
40838 : : }
40839 : : break;
40840 : : }
40841 : : default:;
40842 : : }
40843 : : }
40844 : : break;
40845 : : default:;
40846 : : }
40847 : : break;
40848 : : }
40849 : 111 : case GT_EXPR:
40850 : 111 : {
40851 : 111 : tree _q70 = gimple_assign_rhs1 (_a3);
40852 : 111 : _q70 = do_valueize (valueize, _q70);
40853 : 111 : tree _q71 = gimple_assign_rhs2 (_a3);
40854 : 111 : _q71 = do_valueize (valueize, _q71);
40855 : 111 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
40856 : : {
40857 : 2 : switch (TREE_CODE (_q71))
40858 : : {
40859 : 2 : case SSA_NAME:
40860 : 2 : if (gimple *_d4 = get_def (valueize, _q71))
40861 : : {
40862 : 2 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
40863 : 2 : switch (gimple_assign_rhs_code (_a4))
40864 : : {
40865 : 2 : case POINTER_PLUS_EXPR:
40866 : 2 : {
40867 : 2 : tree _q90 = gimple_assign_rhs1 (_a4);
40868 : 2 : _q90 = do_valueize (valueize, _q90);
40869 : 2 : tree _q91 = gimple_assign_rhs2 (_a4);
40870 : 2 : _q91 = do_valueize (valueize, _q91);
40871 : 2 : if ((_q90 == _q20 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q20, 0) && types_match (_q90, _q20)))
40872 : : {
40873 : 2 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
40874 : : {
40875 : 1 : {
40876 : 1 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q71 };
40877 : 1 : const enum tree_code cmp = LT_EXPR;
40878 : 1 : if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
40879 : 0 : && TYPE_OVERFLOW_WRAPS (sizetype)
40880 : 1 : && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
40881 : : )
40882 : : {
40883 : 0 : {
40884 : 0 : offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
40885 : 0 : offset_int rhs = off * 2;
40886 : 0 : if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
40887 : : )
40888 : : {
40889 : 0 : {
40890 : 0 : bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
40891 : 0 : tree rhs_tree = wide_int_to_tree (sizetype, rhs);
40892 : 0 : if (cmp == LT_EXPR
40893 : : )
40894 : : {
40895 : 0 : gimple_seq *lseq = seq;
40896 : 0 : if (lseq
40897 : 0 : && (!single_use (captures[0])
40898 : 0 : || !single_use (captures[5])))
40899 : 0 : lseq = NULL;
40900 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2107;
40901 : 0 : {
40902 : 0 : res_op->set_op (GT_EXPR, type, 2);
40903 : 0 : {
40904 : 0 : tree _r1;
40905 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
40906 : 0 : {
40907 : 0 : tree _o2[2], _r2;
40908 : 0 : _o2[0] = swap_p ? captures[6] : captures[1];
40909 : 0 : _o2[1] = swap_p ? captures[2] : captures[4];
40910 : 0 : tem_op.set_op (POINTER_DIFF_EXPR, ssizetype, 2);
40911 : 0 : tem_op.ops[0] = _o2[0];
40912 : 0 : tem_op.ops[1] = _o2[1];
40913 : 0 : tem_op.resimplify (lseq, valueize);
40914 : : }
40915 : 0 : if (sizetype != tem_op.type
40916 : 0 : && !useless_type_conversion_p (sizetype, tem_op.type))
40917 : : {
40918 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40919 : 0 : if (!_r1) goto next_after_fail2107;
40920 : 0 : tem_op.set_op (NOP_EXPR, sizetype, 1);
40921 : 0 : tem_op.ops[0] = _r1;
40922 : 0 : tem_op.resimplify (lseq, valueize);
40923 : : }
40924 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40925 : 0 : if (!_r1) goto next_after_fail2107;
40926 : 0 : res_op->ops[0] = _r1;
40927 : : }
40928 : 0 : res_op->ops[1] = rhs_tree;
40929 : 0 : res_op->resimplify (lseq, valueize);
40930 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1085, __FILE__, __LINE__, true);
40931 : 0 : return true;
40932 : : }
40933 : 0 : next_after_fail2107:;
40934 : : }
40935 : : else
40936 : : {
40937 : : gimple_seq *lseq = seq;
40938 : : if (lseq
40939 : : && (!single_use (captures[0])
40940 : : || !single_use (captures[5])))
40941 : : lseq = NULL;
40942 : : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2108;
40943 : : {
40944 : : res_op->set_op (GT_EXPR, type, 2);
40945 : : {
40946 : : tree _r1;
40947 : : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
40948 : : {
40949 : : tree _o2[2], _r2;
40950 : : {
40951 : : tree _o3[2], _r3;
40952 : : _o3[0] = swap_p ? captures[4] : captures[2];
40953 : : _o3[1] = wide_int_to_tree (sizetype, off);
40954 : : gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
40955 : : tem_op.resimplify (lseq, valueize);
40956 : : _r3 = maybe_push_res_to_seq (&tem_op, lseq);
40957 : : if (!_r3) goto next_after_fail2108;
40958 : : _o2[0] = _r3;
40959 : : }
40960 : : _o2[1] = swap_p ? captures[2] : captures[4];
40961 : : tem_op.set_op (POINTER_DIFF_EXPR, ssizetype, 2);
40962 : : tem_op.ops[0] = _o2[0];
40963 : : tem_op.ops[1] = _o2[1];
40964 : : tem_op.resimplify (lseq, valueize);
40965 : : }
40966 : : if (sizetype != tem_op.type
40967 : : && !useless_type_conversion_p (sizetype, tem_op.type))
40968 : : {
40969 : : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40970 : : if (!_r1) goto next_after_fail2108;
40971 : : tem_op.set_op (NOP_EXPR, sizetype, 1);
40972 : : tem_op.ops[0] = _r1;
40973 : : tem_op.resimplify (lseq, valueize);
40974 : : }
40975 : : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40976 : : if (!_r1) goto next_after_fail2108;
40977 : : res_op->ops[0] = _r1;
40978 : : }
40979 : : res_op->ops[1] = rhs_tree;
40980 : : res_op->resimplify (lseq, valueize);
40981 : : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1086, __FILE__, __LINE__, true);
40982 : : return true;
40983 : : }
40984 : : next_after_fail2108:;
40985 : : }
40986 : : }
40987 : : }
40988 : : }
40989 : : }
40990 : : }
40991 : : }
40992 : : }
40993 : : break;
40994 : : }
40995 : : default:;
40996 : : }
40997 : : }
40998 : : break;
40999 : : default:;
41000 : : }
41001 : : }
41002 : : break;
41003 : : }
41004 : : default:;
41005 : : }
41006 : : }
41007 : : break;
41008 : : default:;
41009 : : }
41010 : : break;
41011 : : }
41012 : : default:;
41013 : : }
41014 : : break;
41015 : : }
41016 : : default:;
41017 : : }
41018 : : }
41019 : : break;
41020 : : default:;
41021 : : }
41022 : : break;
41023 : : }
41024 : 13833 : case GE_EXPR:
41025 : 13833 : {
41026 : 13833 : tree _q20 = gimple_assign_rhs1 (_a1);
41027 : 13833 : _q20 = do_valueize (valueize, _q20);
41028 : 13833 : tree _q21 = gimple_assign_rhs2 (_a1);
41029 : 13833 : _q21 = do_valueize (valueize, _q21);
41030 : 13833 : switch (TREE_CODE (_p1))
41031 : : {
41032 : 13821 : case SSA_NAME:
41033 : 13821 : if (gimple *_d2 = get_def (valueize, _p1))
41034 : : {
41035 : 13796 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
41036 : 13512 : switch (gimple_assign_rhs_code (_a2))
41037 : : {
41038 : 4536 : case GE_EXPR:
41039 : 4536 : {
41040 : 4536 : tree _q50 = gimple_assign_rhs1 (_a2);
41041 : 4536 : _q50 = do_valueize (valueize, _q50);
41042 : 4536 : tree _q51 = gimple_assign_rhs2 (_a2);
41043 : 4536 : _q51 = do_valueize (valueize, _q51);
41044 : 4536 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
41045 : : {
41046 : 522 : {
41047 : 522 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
41048 : 522 : if (gimple_simplify_177 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GE_EXPR, MIN_EXPR))
41049 : 5 : return true;
41050 : : }
41051 : : }
41052 : 4531 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
41053 : : {
41054 : 221 : {
41055 : 221 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
41056 : 221 : if (gimple_simplify_177 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LE_EXPR, MAX_EXPR))
41057 : 0 : return true;
41058 : : }
41059 : : }
41060 : : break;
41061 : : }
41062 : 3414 : case LE_EXPR:
41063 : 3414 : {
41064 : 3414 : tree _q50 = gimple_assign_rhs1 (_a2);
41065 : 3414 : _q50 = do_valueize (valueize, _q50);
41066 : 3414 : tree _q51 = gimple_assign_rhs2 (_a2);
41067 : 3414 : _q51 = do_valueize (valueize, _q51);
41068 : 3414 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
41069 : : {
41070 : 0 : {
41071 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
41072 : 0 : if (gimple_simplify_177 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GE_EXPR, MIN_EXPR))
41073 : 0 : return true;
41074 : : }
41075 : : }
41076 : 3414 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
41077 : : {
41078 : 0 : {
41079 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
41080 : 0 : if (gimple_simplify_177 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LE_EXPR, MAX_EXPR))
41081 : 0 : return true;
41082 : : }
41083 : : }
41084 : : break;
41085 : : }
41086 : : default:;
41087 : : }
41088 : : }
41089 : : break;
41090 : 13828 : default:;
41091 : : }
41092 : 13828 : switch (TREE_CODE (_q21))
41093 : : {
41094 : 10770 : case SSA_NAME:
41095 : 10770 : if (gimple *_d2 = get_def (valueize, _q21))
41096 : : {
41097 : 9819 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
41098 : 8174 : switch (gimple_assign_rhs_code (_a2))
41099 : : {
41100 : 1131 : case POINTER_PLUS_EXPR:
41101 : 1131 : {
41102 : 1131 : tree _q40 = gimple_assign_rhs1 (_a2);
41103 : 1131 : _q40 = do_valueize (valueize, _q40);
41104 : 1131 : tree _q41 = gimple_assign_rhs2 (_a2);
41105 : 1131 : _q41 = do_valueize (valueize, _q41);
41106 : 1131 : switch (TREE_CODE (_q41))
41107 : : {
41108 : 443 : case INTEGER_CST:
41109 : 443 : {
41110 : 443 : switch (TREE_CODE (_p1))
41111 : : {
41112 : 443 : case SSA_NAME:
41113 : 443 : if (gimple *_d3 = get_def (valueize, _p1))
41114 : : {
41115 : 443 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
41116 : 443 : switch (gimple_assign_rhs_code (_a3))
41117 : : {
41118 : 115 : case LE_EXPR:
41119 : 115 : {
41120 : 115 : tree _q70 = gimple_assign_rhs1 (_a3);
41121 : 115 : _q70 = do_valueize (valueize, _q70);
41122 : 115 : tree _q71 = gimple_assign_rhs2 (_a3);
41123 : 115 : _q71 = do_valueize (valueize, _q71);
41124 : 115 : switch (TREE_CODE (_q70))
41125 : : {
41126 : 115 : case SSA_NAME:
41127 : 115 : if (gimple *_d4 = get_def (valueize, _q70))
41128 : : {
41129 : 105 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
41130 : 56 : switch (gimple_assign_rhs_code (_a4))
41131 : : {
41132 : 32 : case POINTER_PLUS_EXPR:
41133 : 32 : {
41134 : 32 : tree _q80 = gimple_assign_rhs1 (_a4);
41135 : 32 : _q80 = do_valueize (valueize, _q80);
41136 : 32 : tree _q81 = gimple_assign_rhs2 (_a4);
41137 : 32 : _q81 = do_valueize (valueize, _q81);
41138 : 32 : if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
41139 : : {
41140 : 22 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
41141 : : {
41142 : 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
41143 : : {
41144 : 0 : {
41145 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q70 };
41146 : 0 : const enum tree_code cmp = LE_EXPR;
41147 : 0 : if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
41148 : 0 : && TYPE_OVERFLOW_WRAPS (sizetype)
41149 : 0 : && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
41150 : : )
41151 : : {
41152 : 0 : {
41153 : 0 : offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
41154 : 0 : offset_int rhs = off * 2;
41155 : 0 : if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
41156 : : )
41157 : : {
41158 : 0 : {
41159 : 0 : bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
41160 : 0 : tree rhs_tree = wide_int_to_tree (sizetype, rhs);
41161 : 0 : if (cmp == LT_EXPR
41162 : : )
41163 : : {
41164 : : gimple_seq *lseq = seq;
41165 : : if (lseq
41166 : : && (!single_use (captures[0])
41167 : : || !single_use (captures[5])))
41168 : : lseq = NULL;
41169 : : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2109;
41170 : : {
41171 : : res_op->set_op (GT_EXPR, type, 2);
41172 : : {
41173 : : tree _r1;
41174 : : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
41175 : : {
41176 : : tree _o2[2], _r2;
41177 : : _o2[0] = swap_p ? captures[6] : captures[1];
41178 : : _o2[1] = swap_p ? captures[2] : captures[4];
41179 : : tem_op.set_op (POINTER_DIFF_EXPR, ssizetype, 2);
41180 : : tem_op.ops[0] = _o2[0];
41181 : : tem_op.ops[1] = _o2[1];
41182 : : tem_op.resimplify (lseq, valueize);
41183 : : }
41184 : : if (sizetype != tem_op.type
41185 : : && !useless_type_conversion_p (sizetype, tem_op.type))
41186 : : {
41187 : : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
41188 : : if (!_r1) goto next_after_fail2109;
41189 : : tem_op.set_op (NOP_EXPR, sizetype, 1);
41190 : : tem_op.ops[0] = _r1;
41191 : : tem_op.resimplify (lseq, valueize);
41192 : : }
41193 : : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
41194 : : if (!_r1) goto next_after_fail2109;
41195 : : res_op->ops[0] = _r1;
41196 : : }
41197 : : res_op->ops[1] = rhs_tree;
41198 : : res_op->resimplify (lseq, valueize);
41199 : : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1085, __FILE__, __LINE__, true);
41200 : 0 : return true;
41201 : : }
41202 : : next_after_fail2109:;
41203 : : }
41204 : : else
41205 : : {
41206 : 0 : gimple_seq *lseq = seq;
41207 : 0 : if (lseq
41208 : 0 : && (!single_use (captures[0])
41209 : 0 : || !single_use (captures[5])))
41210 : 0 : lseq = NULL;
41211 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2110;
41212 : 0 : {
41213 : 0 : res_op->set_op (GT_EXPR, type, 2);
41214 : 0 : {
41215 : 0 : tree _r1;
41216 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
41217 : 0 : {
41218 : 0 : tree _o2[2], _r2;
41219 : 0 : {
41220 : 0 : tree _o3[2], _r3;
41221 : 0 : _o3[0] = swap_p ? captures[4] : captures[2];
41222 : 0 : _o3[1] = wide_int_to_tree (sizetype, off);
41223 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
41224 : 0 : tem_op.resimplify (lseq, valueize);
41225 : 0 : _r3 = maybe_push_res_to_seq (&tem_op, lseq);
41226 : 0 : if (!_r3) goto next_after_fail2110;
41227 : 0 : _o2[0] = _r3;
41228 : : }
41229 : 0 : _o2[1] = swap_p ? captures[2] : captures[4];
41230 : 0 : tem_op.set_op (POINTER_DIFF_EXPR, ssizetype, 2);
41231 : 0 : tem_op.ops[0] = _o2[0];
41232 : 0 : tem_op.ops[1] = _o2[1];
41233 : 0 : tem_op.resimplify (lseq, valueize);
41234 : : }
41235 : 0 : if (sizetype != tem_op.type
41236 : 0 : && !useless_type_conversion_p (sizetype, tem_op.type))
41237 : : {
41238 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
41239 : 0 : if (!_r1) goto next_after_fail2110;
41240 : 0 : tem_op.set_op (NOP_EXPR, sizetype, 1);
41241 : 0 : tem_op.ops[0] = _r1;
41242 : 0 : tem_op.resimplify (lseq, valueize);
41243 : : }
41244 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
41245 : 0 : if (!_r1) goto next_after_fail2110;
41246 : 0 : res_op->ops[0] = _r1;
41247 : : }
41248 : 0 : res_op->ops[1] = rhs_tree;
41249 : 0 : res_op->resimplify (lseq, valueize);
41250 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1086, __FILE__, __LINE__, true);
41251 : 0 : return true;
41252 : : }
41253 : 0 : next_after_fail2110:;
41254 : : }
41255 : : }
41256 : : }
41257 : : }
41258 : : }
41259 : : }
41260 : : }
41261 : : }
41262 : : }
41263 : : break;
41264 : : }
41265 : : default:;
41266 : : }
41267 : : }
41268 : : break;
41269 : : default:;
41270 : : }
41271 : : break;
41272 : : }
41273 : 316 : case GE_EXPR:
41274 : 316 : {
41275 : 316 : tree _q70 = gimple_assign_rhs1 (_a3);
41276 : 316 : _q70 = do_valueize (valueize, _q70);
41277 : 316 : tree _q71 = gimple_assign_rhs2 (_a3);
41278 : 316 : _q71 = do_valueize (valueize, _q71);
41279 : 316 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
41280 : : {
41281 : 287 : switch (TREE_CODE (_q71))
41282 : : {
41283 : 287 : case SSA_NAME:
41284 : 287 : if (gimple *_d4 = get_def (valueize, _q71))
41285 : : {
41286 : 286 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
41287 : 286 : switch (gimple_assign_rhs_code (_a4))
41288 : : {
41289 : 278 : case POINTER_PLUS_EXPR:
41290 : 278 : {
41291 : 278 : tree _q90 = gimple_assign_rhs1 (_a4);
41292 : 278 : _q90 = do_valueize (valueize, _q90);
41293 : 278 : tree _q91 = gimple_assign_rhs2 (_a4);
41294 : 278 : _q91 = do_valueize (valueize, _q91);
41295 : 278 : if ((_q90 == _q20 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q20, 0) && types_match (_q90, _q20)))
41296 : : {
41297 : 255 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
41298 : : {
41299 : 1 : {
41300 : 1 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q71 };
41301 : 1 : const enum tree_code cmp = LE_EXPR;
41302 : 1 : if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
41303 : 0 : && TYPE_OVERFLOW_WRAPS (sizetype)
41304 : 1 : && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
41305 : : )
41306 : : {
41307 : 0 : {
41308 : 0 : offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
41309 : 0 : offset_int rhs = off * 2;
41310 : 0 : if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
41311 : : )
41312 : : {
41313 : 0 : {
41314 : 0 : bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
41315 : 0 : tree rhs_tree = wide_int_to_tree (sizetype, rhs);
41316 : 0 : if (cmp == LT_EXPR
41317 : : )
41318 : : {
41319 : : gimple_seq *lseq = seq;
41320 : : if (lseq
41321 : : && (!single_use (captures[0])
41322 : : || !single_use (captures[5])))
41323 : : lseq = NULL;
41324 : : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2111;
41325 : : {
41326 : : res_op->set_op (GT_EXPR, type, 2);
41327 : : {
41328 : : tree _r1;
41329 : : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
41330 : : {
41331 : : tree _o2[2], _r2;
41332 : : _o2[0] = swap_p ? captures[6] : captures[1];
41333 : : _o2[1] = swap_p ? captures[2] : captures[4];
41334 : : tem_op.set_op (POINTER_DIFF_EXPR, ssizetype, 2);
41335 : : tem_op.ops[0] = _o2[0];
41336 : : tem_op.ops[1] = _o2[1];
41337 : : tem_op.resimplify (lseq, valueize);
41338 : : }
41339 : : if (sizetype != tem_op.type
41340 : : && !useless_type_conversion_p (sizetype, tem_op.type))
41341 : : {
41342 : : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
41343 : : if (!_r1) goto next_after_fail2111;
41344 : : tem_op.set_op (NOP_EXPR, sizetype, 1);
41345 : : tem_op.ops[0] = _r1;
41346 : : tem_op.resimplify (lseq, valueize);
41347 : : }
41348 : : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
41349 : : if (!_r1) goto next_after_fail2111;
41350 : : res_op->ops[0] = _r1;
41351 : : }
41352 : : res_op->ops[1] = rhs_tree;
41353 : : res_op->resimplify (lseq, valueize);
41354 : : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1085, __FILE__, __LINE__, true);
41355 : 0 : return true;
41356 : : }
41357 : : next_after_fail2111:;
41358 : : }
41359 : : else
41360 : : {
41361 : 0 : gimple_seq *lseq = seq;
41362 : 0 : if (lseq
41363 : 0 : && (!single_use (captures[0])
41364 : 0 : || !single_use (captures[5])))
41365 : 0 : lseq = NULL;
41366 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2112;
41367 : 0 : {
41368 : 0 : res_op->set_op (GT_EXPR, type, 2);
41369 : 0 : {
41370 : 0 : tree _r1;
41371 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
41372 : 0 : {
41373 : 0 : tree _o2[2], _r2;
41374 : 0 : {
41375 : 0 : tree _o3[2], _r3;
41376 : 0 : _o3[0] = swap_p ? captures[4] : captures[2];
41377 : 0 : _o3[1] = wide_int_to_tree (sizetype, off);
41378 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
41379 : 0 : tem_op.resimplify (lseq, valueize);
41380 : 0 : _r3 = maybe_push_res_to_seq (&tem_op, lseq);
41381 : 0 : if (!_r3) goto next_after_fail2112;
41382 : 0 : _o2[0] = _r3;
41383 : : }
41384 : 0 : _o2[1] = swap_p ? captures[2] : captures[4];
41385 : 0 : tem_op.set_op (POINTER_DIFF_EXPR, ssizetype, 2);
41386 : 0 : tem_op.ops[0] = _o2[0];
41387 : 0 : tem_op.ops[1] = _o2[1];
41388 : 0 : tem_op.resimplify (lseq, valueize);
41389 : : }
41390 : 0 : if (sizetype != tem_op.type
41391 : 0 : && !useless_type_conversion_p (sizetype, tem_op.type))
41392 : : {
41393 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
41394 : 0 : if (!_r1) goto next_after_fail2112;
41395 : 0 : tem_op.set_op (NOP_EXPR, sizetype, 1);
41396 : 0 : tem_op.ops[0] = _r1;
41397 : 0 : tem_op.resimplify (lseq, valueize);
41398 : : }
41399 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
41400 : 0 : if (!_r1) goto next_after_fail2112;
41401 : 0 : res_op->ops[0] = _r1;
41402 : : }
41403 : 0 : res_op->ops[1] = rhs_tree;
41404 : 0 : res_op->resimplify (lseq, valueize);
41405 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1086, __FILE__, __LINE__, true);
41406 : 0 : return true;
41407 : : }
41408 : 0 : next_after_fail2112:;
41409 : : }
41410 : : }
41411 : : }
41412 : : }
41413 : : }
41414 : : }
41415 : : }
41416 : : }
41417 : : break;
41418 : : }
41419 : : default:;
41420 : : }
41421 : : }
41422 : : break;
41423 : : default:;
41424 : : }
41425 : : }
41426 : : break;
41427 : : }
41428 : : default:;
41429 : : }
41430 : : }
41431 : : break;
41432 : : default:;
41433 : : }
41434 : : break;
41435 : : }
41436 : : default:;
41437 : : }
41438 : : break;
41439 : : }
41440 : : default:;
41441 : : }
41442 : : }
41443 : : break;
41444 : : default:;
41445 : : }
41446 : : break;
41447 : : }
41448 : 443 : case VEC_PERM_EXPR:
41449 : 443 : {
41450 : 443 : tree _q20 = gimple_assign_rhs1 (_a1);
41451 : 443 : _q20 = do_valueize (valueize, _q20);
41452 : 443 : tree _q21 = gimple_assign_rhs2 (_a1);
41453 : 443 : _q21 = do_valueize (valueize, _q21);
41454 : 443 : tree _q22 = gimple_assign_rhs3 (_a1);
41455 : 443 : _q22 = do_valueize (valueize, _q22);
41456 : 443 : if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
41457 : : {
41458 : 339 : switch (TREE_CODE (_p1))
41459 : : {
41460 : 339 : case SSA_NAME:
41461 : 339 : if (gimple *_d2 = get_def (valueize, _p1))
41462 : : {
41463 : 285 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
41464 : 80 : switch (gimple_assign_rhs_code (_a2))
41465 : : {
41466 : 12 : case VEC_PERM_EXPR:
41467 : 12 : {
41468 : 12 : tree _q60 = gimple_assign_rhs1 (_a2);
41469 : 12 : _q60 = do_valueize (valueize, _q60);
41470 : 12 : tree _q61 = gimple_assign_rhs2 (_a2);
41471 : 12 : _q61 = do_valueize (valueize, _q61);
41472 : 12 : tree _q62 = gimple_assign_rhs3 (_a2);
41473 : 12 : _q62 = do_valueize (valueize, _q62);
41474 : 12 : if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
41475 : : {
41476 : 6 : if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
41477 : : {
41478 : 6 : {
41479 : 6 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
41480 : 6 : if (VECTOR_INTEGER_TYPE_P (type)
41481 : : )
41482 : : {
41483 : 6 : gimple_seq *lseq = seq;
41484 : 6 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2113;
41485 : 6 : {
41486 : 6 : res_op->set_op (VEC_PERM_EXPR, type, 3);
41487 : 6 : {
41488 : 6 : tree _o1[2], _r1;
41489 : 6 : _o1[0] = captures[0];
41490 : 6 : _o1[1] = captures[2];
41491 : 6 : gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
41492 : 6 : tem_op.resimplify (lseq, valueize);
41493 : 6 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
41494 : 6 : if (!_r1) goto next_after_fail2113;
41495 : 3 : captures[3] = _r1;
41496 : : }
41497 : 3 : res_op->ops[0] = captures[3];
41498 : 3 : res_op->ops[1] = captures[3];
41499 : 3 : res_op->ops[2] = captures[1];
41500 : 3 : res_op->resimplify (lseq, valueize);
41501 : 3 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1036, __FILE__, __LINE__, true);
41502 : 3 : return true;
41503 : : }
41504 : : next_after_fail2113:;
41505 : : }
41506 : : }
41507 : : }
41508 : : }
41509 : : break;
41510 : : }
41511 : : default:;
41512 : : }
41513 : : }
41514 : : break;
41515 : : default:;
41516 : : }
41517 : : }
41518 : : break;
41519 : : }
41520 : : default:;
41521 : : }
41522 : : }
41523 : : break;
41524 : : default:;
41525 : : }
41526 : : return false;
41527 : : }
41528 : : #pragma GCC diagnostic pop
|