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 : 60197883 : gimple_negate_expr_p (tree t, tree (*valueize)(tree) ATTRIBUTE_UNUSED)
11 : : {
12 : 60197883 : const tree type = TREE_TYPE (t);
13 : 60197883 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
14 : 60197883 : switch (TREE_CODE (t))
15 : : {
16 : 57323263 : case SSA_NAME:
17 : 57323263 : if (gimple *_d1 = get_def (valueize, t))
18 : : {
19 : 31612287 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
20 : 30009301 : switch (gimple_assign_rhs_code (_a1))
21 : : {
22 : 55979 : case NEGATE_EXPR:
23 : 55979 : {
24 : 55979 : tree _p0 = gimple_assign_rhs1 (_a1);
25 : 55979 : _p0 = do_valueize (valueize, _p0);
26 : 55979 : {
27 : 55979 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
28 : 55979 : if (!TYPE_OVERFLOW_SANITIZED (type)
29 : : )
30 : : {
31 : 55979 : {
32 : 55979 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 15, __FILE__, __LINE__, false);
33 : 55979 : return true;
34 : : }
35 : : }
36 : : }
37 : : break;
38 : : }
39 : 693954 : case MINUS_EXPR:
40 : 693954 : {
41 : 693954 : tree _p0 = gimple_assign_rhs1 (_a1);
42 : 693954 : _p0 = do_valueize (valueize, _p0);
43 : 693954 : tree _p1 = gimple_assign_rhs2 (_a1);
44 : 693954 : _p1 = do_valueize (valueize, _p1);
45 : 693954 : {
46 : 693954 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
47 : 693954 : if ((ANY_INTEGRAL_TYPE_P (type) && TYPE_OVERFLOW_WRAPS (type))
48 : 1200907 : || (FLOAT_TYPE_P (type)
49 : 124521 : && !HONOR_SIGN_DEPENDENT_ROUNDING (type)
50 : 124496 : && !HONOR_SIGNED_ZEROS (type))
51 : : )
52 : : {
53 : 190549 : {
54 : 190549 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 16, __FILE__, __LINE__, false);
55 : 190549 : return true;
56 : : }
57 : : }
58 : : }
59 : 503405 : break;
60 : : }
61 : : default:;
62 : : }
63 : : }
64 : : break;
65 : 1529638 : case INTEGER_CST:
66 : 1529638 : {
67 : 1529638 : {
68 : 1529638 : if ((INTEGRAL_TYPE_P (type)
69 : 1529638 : && TYPE_UNSIGNED (type))
70 : 2066441 : || (!TYPE_OVERFLOW_SANITIZED (type)
71 : 535610 : && may_negate_without_overflow_p (t))
72 : : )
73 : : {
74 : 1526727 : {
75 : 1526727 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 17, __FILE__, __LINE__, false);
76 : 1526727 : return true;
77 : : }
78 : : }
79 : : }
80 : : break;
81 : : }
82 : 0 : case FIXED_CST:
83 : 0 : {
84 : 0 : {
85 : 0 : {
86 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 18, __FILE__, __LINE__, false);
87 : : return true;
88 : : }
89 : : }
90 : 492688 : break;
91 : : }
92 : 492688 : case REAL_CST:
93 : 492688 : {
94 : 492688 : {
95 : 492688 : if (REAL_VALUE_NEGATIVE (TREE_REAL_CST (t))
96 : : )
97 : : {
98 : 4742 : {
99 : 4742 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 19, __FILE__, __LINE__, false);
100 : 4742 : return true;
101 : : }
102 : : }
103 : : }
104 : : break;
105 : : }
106 : 26914 : case VECTOR_CST:
107 : 26914 : {
108 : 26914 : {
109 : 26914 : if (FLOAT_TYPE_P (TREE_TYPE (type)) || TYPE_OVERFLOW_WRAPS (type)
110 : : )
111 : : {
112 : 16662 : {
113 : 16662 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 20, __FILE__, __LINE__, false);
114 : 16662 : return true;
115 : : }
116 : : }
117 : : }
118 : : break;
119 : : }
120 : : default:;
121 : : }
122 : : return false;
123 : : }
124 : :
125 : : bool
126 : 21611 : gimple_signed_integer_sat_val (tree t, tree *res_ops, tree (*valueize)(tree) ATTRIBUTE_UNUSED)
127 : : {
128 : 21611 : const tree type = TREE_TYPE (t);
129 : 21611 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
130 : 21611 : switch (TREE_CODE (t))
131 : : {
132 : 21453 : case SSA_NAME:
133 : 21453 : if (gimple *_d1 = get_def (valueize, t))
134 : : {
135 : 21453 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
136 : 22 : switch (gimple_assign_rhs_code (_a1))
137 : : {
138 : 16 : case BIT_XOR_EXPR:
139 : 16 : {
140 : 16 : tree _p0 = gimple_assign_rhs1 (_a1);
141 : 16 : _p0 = do_valueize (valueize, _p0);
142 : 16 : tree _p1 = gimple_assign_rhs2 (_a1);
143 : 16 : _p1 = do_valueize (valueize, _p1);
144 : 16 : if (tree_swap_operands_p (_p0, _p1))
145 : 0 : std::swap (_p0, _p1);
146 : 16 : switch (TREE_CODE (_p0))
147 : : {
148 : 16 : case SSA_NAME:
149 : 16 : if (gimple *_d2 = get_def (valueize, _p0))
150 : : {
151 : 16 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
152 : 16 : switch (gimple_assign_rhs_code (_a2))
153 : : {
154 : 8 : case NEGATE_EXPR:
155 : 8 : {
156 : 8 : tree _q20 = gimple_assign_rhs1 (_a2);
157 : 8 : _q20 = do_valueize (valueize, _q20);
158 : 8 : switch (TREE_CODE (_q20))
159 : : {
160 : 8 : case SSA_NAME:
161 : 8 : if (gimple *_d3 = get_def (valueize, _q20))
162 : : {
163 : 8 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
164 : 8 : switch (gimple_assign_rhs_code (_a3))
165 : : {
166 : 8 : CASE_CONVERT:
167 : 8 : {
168 : 8 : tree _q30 = gimple_assign_rhs1 (_a3);
169 : 8 : _q30 = do_valueize (valueize, _q30);
170 : 8 : switch (TREE_CODE (_q30))
171 : : {
172 : 8 : case SSA_NAME:
173 : 8 : if (gimple *_d4 = get_def (valueize, _q30))
174 : : {
175 : 8 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
176 : 8 : switch (gimple_assign_rhs_code (_a4))
177 : : {
178 : 8 : case LT_EXPR:
179 : 8 : {
180 : 8 : tree _q40 = gimple_assign_rhs1 (_a4);
181 : 8 : _q40 = do_valueize (valueize, _q40);
182 : 8 : tree _q41 = gimple_assign_rhs2 (_a4);
183 : 8 : _q41 = do_valueize (valueize, _q41);
184 : 8 : if (integer_zerop (_q41))
185 : : {
186 : 8 : if (gimple_max_value (_p1, valueize))
187 : : {
188 : 8 : {
189 : 8 : tree captures[1] ATTRIBUTE_UNUSED = { _q40 };
190 : 8 : if (INTEGRAL_TYPE_P (type) && !TYPE_UNSIGNED (type)
191 : : )
192 : : {
193 : 8 : {
194 : 8 : res_ops[0] = captures[0];
195 : 8 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 72, __FILE__, __LINE__, false);
196 : 8 : return true;
197 : : }
198 : : }
199 : : }
200 : : }
201 : : }
202 : : break;
203 : : }
204 : : default:;
205 : : }
206 : : }
207 : : break;
208 : : default:;
209 : : }
210 : : break;
211 : : }
212 : : default:;
213 : : }
214 : : }
215 : : break;
216 : : default:;
217 : : }
218 : : break;
219 : : }
220 : : default:;
221 : : }
222 : : }
223 : : break;
224 : 8 : default:;
225 : : }
226 : 8 : {
227 : 8 : tree _p0_pops[1];
228 : 8 : if (gimple_nop_convert (_p0, _p0_pops, valueize))
229 : : {
230 : 8 : tree _q20 = _p0_pops[0];
231 : 8 : switch (TREE_CODE (_q20))
232 : : {
233 : 8 : case SSA_NAME:
234 : 8 : if (gimple *_d2 = get_def (valueize, _q20))
235 : : {
236 : 8 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
237 : 8 : switch (gimple_assign_rhs_code (_a2))
238 : : {
239 : 8 : case NEGATE_EXPR:
240 : 8 : {
241 : 8 : tree _q30 = gimple_assign_rhs1 (_a2);
242 : 8 : _q30 = do_valueize (valueize, _q30);
243 : 8 : {
244 : 8 : tree _q30_pops[1];
245 : 8 : if (gimple_nop_convert (_q30, _q30_pops, valueize))
246 : : {
247 : 8 : tree _q40 = _q30_pops[0];
248 : 8 : switch (TREE_CODE (_q40))
249 : : {
250 : 8 : case SSA_NAME:
251 : 8 : if (gimple *_d3 = get_def (valueize, _q40))
252 : : {
253 : 8 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
254 : 8 : switch (gimple_assign_rhs_code (_a3))
255 : : {
256 : 8 : CASE_CONVERT:
257 : 8 : {
258 : 8 : tree _q50 = gimple_assign_rhs1 (_a3);
259 : 8 : _q50 = do_valueize (valueize, _q50);
260 : 8 : switch (TREE_CODE (_q50))
261 : : {
262 : 8 : case SSA_NAME:
263 : 8 : if (gimple *_d4 = get_def (valueize, _q50))
264 : : {
265 : 8 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
266 : 8 : switch (gimple_assign_rhs_code (_a4))
267 : : {
268 : 8 : case LT_EXPR:
269 : 8 : {
270 : 8 : tree _q60 = gimple_assign_rhs1 (_a4);
271 : 8 : _q60 = do_valueize (valueize, _q60);
272 : 8 : tree _q61 = gimple_assign_rhs2 (_a4);
273 : 8 : _q61 = do_valueize (valueize, _q61);
274 : 8 : if (integer_zerop (_q61))
275 : : {
276 : 8 : if (gimple_max_value (_p1, valueize))
277 : : {
278 : 8 : {
279 : 8 : tree captures[1] ATTRIBUTE_UNUSED = { _q60 };
280 : 8 : if (INTEGRAL_TYPE_P (type) && !TYPE_UNSIGNED (type)
281 : : )
282 : : {
283 : 8 : {
284 : 8 : res_ops[0] = captures[0];
285 : 8 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 72, __FILE__, __LINE__, false);
286 : 8 : return true;
287 : : }
288 : : }
289 : : }
290 : : }
291 : : }
292 : : break;
293 : : }
294 : : default:;
295 : : }
296 : : }
297 : : break;
298 : : default:;
299 : : }
300 : : break;
301 : : }
302 : : default:;
303 : : }
304 : : }
305 : : break;
306 : : default:;
307 : : }
308 : : }
309 : : }
310 : 0 : break;
311 : : }
312 : : default:;
313 : : }
314 : : }
315 : : break;
316 : : default:;
317 : : }
318 : : }
319 : : }
320 : 0 : if (gimple_max_value (_p0, valueize))
321 : : {
322 : 0 : switch (TREE_CODE (_p1))
323 : : {
324 : 0 : case SSA_NAME:
325 : 0 : if (gimple *_d2 = get_def (valueize, _p1))
326 : : {
327 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
328 : 0 : switch (gimple_assign_rhs_code (_a2))
329 : : {
330 : 0 : case NEGATE_EXPR:
331 : 0 : {
332 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
333 : 0 : _q30 = do_valueize (valueize, _q30);
334 : 0 : switch (TREE_CODE (_q30))
335 : : {
336 : 0 : case SSA_NAME:
337 : 0 : if (gimple *_d3 = get_def (valueize, _q30))
338 : : {
339 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
340 : 0 : switch (gimple_assign_rhs_code (_a3))
341 : : {
342 : 0 : CASE_CONVERT:
343 : 0 : {
344 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
345 : 0 : _q40 = do_valueize (valueize, _q40);
346 : 0 : switch (TREE_CODE (_q40))
347 : : {
348 : 0 : case SSA_NAME:
349 : 0 : if (gimple *_d4 = get_def (valueize, _q40))
350 : : {
351 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
352 : 0 : switch (gimple_assign_rhs_code (_a4))
353 : : {
354 : 0 : case LT_EXPR:
355 : 0 : {
356 : 0 : tree _q50 = gimple_assign_rhs1 (_a4);
357 : 0 : _q50 = do_valueize (valueize, _q50);
358 : 0 : tree _q51 = gimple_assign_rhs2 (_a4);
359 : 0 : _q51 = do_valueize (valueize, _q51);
360 : 0 : if (integer_zerop (_q51))
361 : : {
362 : 0 : {
363 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q50 };
364 : 0 : if (INTEGRAL_TYPE_P (type) && !TYPE_UNSIGNED (type)
365 : : )
366 : : {
367 : 0 : {
368 : 0 : res_ops[0] = captures[0];
369 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 72, __FILE__, __LINE__, false);
370 : 0 : return true;
371 : : }
372 : : }
373 : : }
374 : : }
375 : : break;
376 : : }
377 : : default:;
378 : : }
379 : : }
380 : : break;
381 : : default:;
382 : : }
383 : : break;
384 : : }
385 : : default:;
386 : : }
387 : : }
388 : : break;
389 : : default:;
390 : : }
391 : : break;
392 : : }
393 : : default:;
394 : : }
395 : : }
396 : : break;
397 : 0 : default:;
398 : : }
399 : 0 : {
400 : 0 : tree _p1_pops[1];
401 : 0 : if (gimple_nop_convert (_p1, _p1_pops, valueize))
402 : : {
403 : 0 : tree _q30 = _p1_pops[0];
404 : 0 : switch (TREE_CODE (_q30))
405 : : {
406 : 0 : case SSA_NAME:
407 : 0 : if (gimple *_d2 = get_def (valueize, _q30))
408 : : {
409 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
410 : 0 : switch (gimple_assign_rhs_code (_a2))
411 : : {
412 : 0 : case NEGATE_EXPR:
413 : 0 : {
414 : 0 : tree _q40 = gimple_assign_rhs1 (_a2);
415 : 0 : _q40 = do_valueize (valueize, _q40);
416 : 0 : {
417 : 0 : tree _q40_pops[1];
418 : 0 : if (gimple_nop_convert (_q40, _q40_pops, valueize))
419 : : {
420 : 0 : tree _q50 = _q40_pops[0];
421 : 0 : switch (TREE_CODE (_q50))
422 : : {
423 : 0 : case SSA_NAME:
424 : 0 : if (gimple *_d3 = get_def (valueize, _q50))
425 : : {
426 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
427 : 0 : switch (gimple_assign_rhs_code (_a3))
428 : : {
429 : 0 : CASE_CONVERT:
430 : 0 : {
431 : 0 : tree _q60 = gimple_assign_rhs1 (_a3);
432 : 0 : _q60 = do_valueize (valueize, _q60);
433 : 0 : switch (TREE_CODE (_q60))
434 : : {
435 : 0 : case SSA_NAME:
436 : 0 : if (gimple *_d4 = get_def (valueize, _q60))
437 : : {
438 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
439 : 0 : switch (gimple_assign_rhs_code (_a4))
440 : : {
441 : 0 : case LT_EXPR:
442 : 0 : {
443 : 0 : tree _q70 = gimple_assign_rhs1 (_a4);
444 : 0 : _q70 = do_valueize (valueize, _q70);
445 : 0 : tree _q71 = gimple_assign_rhs2 (_a4);
446 : 0 : _q71 = do_valueize (valueize, _q71);
447 : 0 : if (integer_zerop (_q71))
448 : : {
449 : 0 : {
450 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q70 };
451 : 0 : if (INTEGRAL_TYPE_P (type) && !TYPE_UNSIGNED (type)
452 : : )
453 : : {
454 : 0 : {
455 : 0 : res_ops[0] = captures[0];
456 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 72, __FILE__, __LINE__, false);
457 : 0 : return true;
458 : : }
459 : : }
460 : : }
461 : : }
462 : : break;
463 : : }
464 : : default:;
465 : : }
466 : : }
467 : : break;
468 : : default:;
469 : : }
470 : : break;
471 : : }
472 : : default:;
473 : : }
474 : : }
475 : : break;
476 : : default:;
477 : : }
478 : : }
479 : : }
480 : 0 : break;
481 : : }
482 : : default:;
483 : : }
484 : : }
485 : : break;
486 : : default:;
487 : : }
488 : : }
489 : : }
490 : : }
491 : 21611 : break;
492 : : }
493 : : default:;
494 : : }
495 : : }
496 : : break;
497 : : default:;
498 : : }
499 : : return false;
500 : : }
501 : :
502 : : bool
503 : 1396 : gimple_compositional_complex (tree t, tree (*valueize)(tree) ATTRIBUTE_UNUSED)
504 : : {
505 : 1396 : const tree type = TREE_TYPE (t);
506 : 1396 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
507 : 1396 : switch (TREE_CODE (t))
508 : : {
509 : 795 : case SSA_NAME:
510 : 795 : if (gimple *_d1 = get_def (valueize, t))
511 : : {
512 : 521 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
513 : 859 : switch (gimple_assign_rhs_code (_a1))
514 : : {
515 : 0 : CASE_CONVERT:
516 : 0 : {
517 : 0 : tree _p0 = gimple_assign_rhs1 (_a1);
518 : 0 : _p0 = do_valueize (valueize, _p0);
519 : 0 : switch (TREE_CODE (_p0))
520 : : {
521 : 0 : case SSA_NAME:
522 : 0 : if (gimple *_d2 = get_def (valueize, _p0))
523 : : {
524 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
525 : 0 : switch (gimple_assign_rhs_code (_a2))
526 : : {
527 : 0 : case COMPLEX_EXPR:
528 : 0 : {
529 : 0 : tree _q20 = gimple_assign_rhs1 (_a2);
530 : 0 : _q20 = do_valueize (valueize, _q20);
531 : 0 : tree _q21 = gimple_assign_rhs2 (_a2);
532 : 0 : _q21 = do_valueize (valueize, _q21);
533 : 0 : {
534 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
535 : 0 : {
536 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 93, __FILE__, __LINE__, false);
537 : 0 : return true;
538 : : }
539 : : }
540 : : break;
541 : : }
542 : : default:;
543 : : }
544 : : }
545 : : break;
546 : : default:;
547 : : }
548 : : break;
549 : : }
550 : 105 : case COMPLEX_EXPR:
551 : 105 : {
552 : 105 : tree _p0 = gimple_assign_rhs1 (_a1);
553 : 105 : _p0 = do_valueize (valueize, _p0);
554 : 105 : tree _p1 = gimple_assign_rhs2 (_a1);
555 : 105 : _p1 = do_valueize (valueize, _p1);
556 : 105 : {
557 : 105 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
558 : 105 : {
559 : 105 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 93, __FILE__, __LINE__, false);
560 : 105 : return true;
561 : : }
562 : : }
563 : : break;
564 : : }
565 : : default:;
566 : : }
567 : : }
568 : : break;
569 : : default:;
570 : : }
571 : : return false;
572 : : }
573 : :
574 : : bool
575 : 94 : gimple_nop_atomic_bit_test_and_p (tree t, tree *res_ops, tree (*valueize)(tree) ATTRIBUTE_UNUSED)
576 : : {
577 : 94 : const tree type = TREE_TYPE (t);
578 : 94 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
579 : 94 : switch (TREE_CODE (t))
580 : : {
581 : 94 : case SSA_NAME:
582 : 94 : if (gimple *_d1 = get_def (valueize, t))
583 : : {
584 : 94 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
585 : 94 : switch (gimple_assign_rhs_code (_a1))
586 : : {
587 : 94 : case BIT_AND_EXPR:
588 : 94 : {
589 : 94 : tree _p0 = gimple_assign_rhs1 (_a1);
590 : 94 : _p0 = do_valueize (valueize, _p0);
591 : 94 : tree _p1 = gimple_assign_rhs2 (_a1);
592 : 94 : _p1 = do_valueize (valueize, _p1);
593 : 94 : if (tree_swap_operands_p (_p0, _p1))
594 : 0 : std::swap (_p0, _p1);
595 : 94 : switch (TREE_CODE (_p0))
596 : : {
597 : 94 : case SSA_NAME:
598 : 94 : if (gimple *_d2 = get_def (valueize, _p0))
599 : : {
600 : 94 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
601 : 94 : switch (gimple_assign_rhs_code (_a2))
602 : : {
603 : 91 : CASE_CONVERT:
604 : 91 : {
605 : 91 : tree _q20 = gimple_assign_rhs1 (_a2);
606 : 91 : _q20 = do_valueize (valueize, _q20);
607 : 91 : switch (TREE_CODE (_q20))
608 : : {
609 : 91 : case SSA_NAME:
610 : 91 : if (gimple *_d3 = get_def (valueize, _q20))
611 : : {
612 : 91 : if (gcall *_c3 = dyn_cast <gcall *> (_d3))
613 : 91 : switch (gimple_call_combined_fn (_c3))
614 : : {
615 : 30 : case CFN_BUILT_IN_SYNC_FETCH_AND_OR_1:
616 : 30 : case CFN_BUILT_IN_SYNC_FETCH_AND_OR_2:
617 : 30 : case CFN_BUILT_IN_SYNC_FETCH_AND_OR_4:
618 : 30 : case CFN_BUILT_IN_SYNC_FETCH_AND_OR_8:
619 : 30 : case CFN_BUILT_IN_SYNC_FETCH_AND_OR_16:
620 : 30 : case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_1:
621 : 30 : case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_2:
622 : 30 : case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_4:
623 : 30 : case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_8:
624 : 30 : case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_16:
625 : 30 : case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_1:
626 : 30 : case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_2:
627 : 30 : case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_4:
628 : 30 : case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_8:
629 : 30 : case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_16:
630 : 30 : if (gimple_call_num_args (_c3) == 2)
631 : : {
632 : 30 : tree _q30 = gimple_call_arg (_c3, 0);
633 : 30 : _q30 = do_valueize (valueize, _q30);
634 : 30 : tree _q31 = gimple_call_arg (_c3, 1);
635 : 30 : _q31 = do_valueize (valueize, _q31);
636 : 30 : switch (TREE_CODE (_q31))
637 : : {
638 : 18 : case INTEGER_CST:
639 : 18 : {
640 : 18 : switch (TREE_CODE (_p1))
641 : : {
642 : 18 : case INTEGER_CST:
643 : 18 : {
644 : 18 : {
645 : 18 : tree captures[4] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, _q30 };
646 : 18 : {
647 : 18 : int ibit = tree_log2 (captures[0]);
648 : 18 : int ibit2 = tree_log2 (captures[1]);
649 : 18 : if (ibit == ibit2
650 : 18 : && ibit >= 0
651 : 18 : && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
652 : : )
653 : : {
654 : 18 : {
655 : 18 : res_ops[0] = captures[0];
656 : 18 : res_ops[1] = captures[1];
657 : 18 : res_ops[2] = captures[2];
658 : 18 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 94, __FILE__, __LINE__, false);
659 : 18 : return true;
660 : : }
661 : : }
662 : : }
663 : : }
664 : : break;
665 : : }
666 : : default:;
667 : : }
668 : : break;
669 : : }
670 : : default:;
671 : : }
672 : : }
673 : : break;
674 : 35 : case CFN_BUILT_IN_ATOMIC_FETCH_OR_1:
675 : 35 : case CFN_BUILT_IN_ATOMIC_FETCH_OR_2:
676 : 35 : case CFN_BUILT_IN_ATOMIC_FETCH_OR_4:
677 : 35 : case CFN_BUILT_IN_ATOMIC_FETCH_OR_8:
678 : 35 : case CFN_BUILT_IN_ATOMIC_FETCH_OR_16:
679 : 35 : case CFN_BUILT_IN_ATOMIC_FETCH_XOR_1:
680 : 35 : case CFN_BUILT_IN_ATOMIC_FETCH_XOR_2:
681 : 35 : case CFN_BUILT_IN_ATOMIC_FETCH_XOR_4:
682 : 35 : case CFN_BUILT_IN_ATOMIC_FETCH_XOR_8:
683 : 35 : case CFN_BUILT_IN_ATOMIC_FETCH_XOR_16:
684 : 35 : case CFN_BUILT_IN_ATOMIC_XOR_FETCH_1:
685 : 35 : case CFN_BUILT_IN_ATOMIC_XOR_FETCH_2:
686 : 35 : case CFN_BUILT_IN_ATOMIC_XOR_FETCH_4:
687 : 35 : case CFN_BUILT_IN_ATOMIC_XOR_FETCH_8:
688 : 35 : case CFN_BUILT_IN_ATOMIC_XOR_FETCH_16:
689 : 35 : if (gimple_call_num_args (_c3) == 3)
690 : : {
691 : 35 : tree _q30 = gimple_call_arg (_c3, 0);
692 : 35 : _q30 = do_valueize (valueize, _q30);
693 : 35 : tree _q31 = gimple_call_arg (_c3, 1);
694 : 35 : _q31 = do_valueize (valueize, _q31);
695 : 35 : tree _q32 = gimple_call_arg (_c3, 2);
696 : 35 : _q32 = do_valueize (valueize, _q32);
697 : 35 : switch (TREE_CODE (_q31))
698 : : {
699 : 17 : case SSA_NAME:
700 : 17 : if (gimple *_d4 = get_def (valueize, _q31))
701 : : {
702 : 17 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
703 : 17 : switch (gimple_assign_rhs_code (_a4))
704 : : {
705 : 0 : case LSHIFT_EXPR:
706 : 0 : {
707 : 0 : tree _q50 = gimple_assign_rhs1 (_a4);
708 : 0 : _q50 = do_valueize (valueize, _q50);
709 : 0 : tree _q51 = gimple_assign_rhs2 (_a4);
710 : 0 : _q51 = do_valueize (valueize, _q51);
711 : 0 : if (integer_onep (_q50))
712 : : {
713 : 0 : switch (TREE_CODE (_p1))
714 : : {
715 : 0 : case SSA_NAME:
716 : 0 : if (gimple *_d5 = get_def (valueize, _p1))
717 : : {
718 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
719 : 0 : switch (gimple_assign_rhs_code (_a5))
720 : : {
721 : 0 : CASE_CONVERT:
722 : 0 : {
723 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
724 : 0 : _q90 = do_valueize (valueize, _q90);
725 : 0 : if ((_q90 == _q31 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q31, 0) && types_match (_q90, _q31)))
726 : : {
727 : 0 : {
728 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51, _q32 };
729 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
730 : : )
731 : : {
732 : 0 : {
733 : 0 : res_ops[0] = captures[0];
734 : 0 : res_ops[1] = captures[0];
735 : 0 : res_ops[2] = captures[1];
736 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 95, __FILE__, __LINE__, false);
737 : 0 : return true;
738 : : }
739 : : }
740 : : }
741 : : }
742 : : break;
743 : : }
744 : : default:;
745 : : }
746 : : }
747 : : break;
748 : 0 : default:;
749 : : }
750 : 0 : if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
751 : : {
752 : 0 : {
753 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51, _q32 };
754 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
755 : : )
756 : : {
757 : 0 : {
758 : 0 : res_ops[0] = captures[0];
759 : 0 : res_ops[1] = captures[0];
760 : 0 : res_ops[2] = captures[1];
761 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 95, __FILE__, __LINE__, false);
762 : 0 : return true;
763 : : }
764 : : }
765 : : }
766 : : }
767 : : }
768 : : break;
769 : : }
770 : : default:;
771 : : }
772 : : }
773 : : break;
774 : 18 : case INTEGER_CST:
775 : 18 : {
776 : 18 : switch (TREE_CODE (_p1))
777 : : {
778 : 18 : case INTEGER_CST:
779 : 18 : {
780 : 18 : {
781 : 18 : tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, _q30, _q32 };
782 : 18 : {
783 : 18 : int ibit = tree_log2 (captures[0]);
784 : 18 : int ibit2 = tree_log2 (captures[1]);
785 : 18 : if (ibit == ibit2
786 : 18 : && ibit >= 0
787 : 18 : && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
788 : : )
789 : : {
790 : 18 : {
791 : 18 : res_ops[0] = captures[0];
792 : 18 : res_ops[1] = captures[1];
793 : 18 : res_ops[2] = captures[2];
794 : 18 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 96, __FILE__, __LINE__, false);
795 : 18 : return true;
796 : : }
797 : : }
798 : : }
799 : : }
800 : : break;
801 : : }
802 : : default:;
803 : : }
804 : : break;
805 : : }
806 : 17 : default:;
807 : : }
808 : 17 : {
809 : 17 : tree _q31_pops[1];
810 : 17 : if (gimple_nop_convert (_q31, _q31_pops, valueize))
811 : : {
812 : 17 : tree _q50 = _q31_pops[0];
813 : 17 : switch (TREE_CODE (_q50))
814 : : {
815 : 17 : case SSA_NAME:
816 : 17 : if (gimple *_d4 = get_def (valueize, _q50))
817 : : {
818 : 17 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
819 : 17 : switch (gimple_assign_rhs_code (_a4))
820 : : {
821 : 17 : case LSHIFT_EXPR:
822 : 17 : {
823 : 17 : tree _q60 = gimple_assign_rhs1 (_a4);
824 : 17 : _q60 = do_valueize (valueize, _q60);
825 : 17 : tree _q61 = gimple_assign_rhs2 (_a4);
826 : 17 : _q61 = do_valueize (valueize, _q61);
827 : 17 : if (integer_onep (_q60))
828 : : {
829 : 17 : switch (TREE_CODE (_p1))
830 : : {
831 : 17 : case SSA_NAME:
832 : 17 : if (gimple *_d5 = get_def (valueize, _p1))
833 : : {
834 : 17 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
835 : 17 : switch (gimple_assign_rhs_code (_a5))
836 : : {
837 : 6 : CASE_CONVERT:
838 : 6 : {
839 : 6 : tree _q100 = gimple_assign_rhs1 (_a5);
840 : 6 : _q100 = do_valueize (valueize, _q100);
841 : 6 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
842 : : {
843 : 6 : {
844 : 6 : tree captures[6] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61, _q32 };
845 : 6 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
846 : : )
847 : : {
848 : 6 : {
849 : 6 : res_ops[0] = captures[0];
850 : 6 : res_ops[1] = captures[0];
851 : 6 : res_ops[2] = captures[1];
852 : 6 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 95, __FILE__, __LINE__, false);
853 : 6 : return true;
854 : : }
855 : : }
856 : : }
857 : : }
858 : : break;
859 : : }
860 : : default:;
861 : : }
862 : : }
863 : : break;
864 : 11 : default:;
865 : : }
866 : 11 : if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
867 : : {
868 : 11 : {
869 : 11 : tree captures[6] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61, _q32 };
870 : 11 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
871 : : )
872 : : {
873 : 11 : {
874 : 11 : res_ops[0] = captures[0];
875 : 11 : res_ops[1] = captures[0];
876 : 11 : res_ops[2] = captures[1];
877 : 11 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 95, __FILE__, __LINE__, false);
878 : 11 : return true;
879 : : }
880 : : }
881 : : }
882 : : }
883 : : }
884 : : break;
885 : : }
886 : : default:;
887 : : }
888 : : }
889 : : break;
890 : : default:;
891 : : }
892 : : }
893 : : }
894 : : }
895 : : break;
896 : : default:;
897 : : }
898 : : }
899 : : break;
900 : 38 : default:;
901 : : }
902 : 38 : switch (TREE_CODE (_p1))
903 : : {
904 : 26 : case SSA_NAME:
905 : 26 : if (gimple *_d3 = get_def (valueize, _p1))
906 : : {
907 : 26 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
908 : 24 : switch (gimple_assign_rhs_code (_a3))
909 : : {
910 : 10 : CASE_CONVERT:
911 : 10 : {
912 : 10 : tree _q40 = gimple_assign_rhs1 (_a3);
913 : 10 : _q40 = do_valueize (valueize, _q40);
914 : 10 : switch (TREE_CODE (_q40))
915 : : {
916 : 10 : case SSA_NAME:
917 : 10 : if (gimple *_d4 = get_def (valueize, _q40))
918 : : {
919 : 10 : if (gcall *_c4 = dyn_cast <gcall *> (_d4))
920 : 0 : switch (gimple_call_combined_fn (_c4))
921 : : {
922 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_OR_1:
923 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_OR_2:
924 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_OR_4:
925 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_OR_8:
926 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_OR_16:
927 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_XOR_1:
928 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_XOR_2:
929 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_XOR_4:
930 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_XOR_8:
931 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_XOR_16:
932 : 0 : case CFN_BUILT_IN_ATOMIC_XOR_FETCH_1:
933 : 0 : case CFN_BUILT_IN_ATOMIC_XOR_FETCH_2:
934 : 0 : case CFN_BUILT_IN_ATOMIC_XOR_FETCH_4:
935 : 0 : case CFN_BUILT_IN_ATOMIC_XOR_FETCH_8:
936 : 0 : case CFN_BUILT_IN_ATOMIC_XOR_FETCH_16:
937 : 0 : if (gimple_call_num_args (_c4) == 3)
938 : : {
939 : 0 : tree _q50 = gimple_call_arg (_c4, 0);
940 : 0 : _q50 = do_valueize (valueize, _q50);
941 : 0 : tree _q51 = gimple_call_arg (_c4, 1);
942 : 0 : _q51 = do_valueize (valueize, _q51);
943 : 0 : tree _q52 = gimple_call_arg (_c4, 2);
944 : 0 : _q52 = do_valueize (valueize, _q52);
945 : 0 : {
946 : 0 : tree _q51_pops[1];
947 : 0 : if (gimple_nop_convert (_q51, _q51_pops, valueize))
948 : : {
949 : 0 : tree _q70 = _q51_pops[0];
950 : 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
951 : : {
952 : 0 : switch (TREE_CODE (_q70))
953 : : {
954 : 0 : case SSA_NAME:
955 : 0 : if (gimple *_d5 = get_def (valueize, _q70))
956 : : {
957 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
958 : 0 : switch (gimple_assign_rhs_code (_a5))
959 : : {
960 : 0 : case LSHIFT_EXPR:
961 : 0 : {
962 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
963 : 0 : _q90 = do_valueize (valueize, _q90);
964 : 0 : tree _q91 = gimple_assign_rhs2 (_a5);
965 : 0 : _q91 = do_valueize (valueize, _q91);
966 : 0 : if (integer_onep (_q90))
967 : : {
968 : 0 : {
969 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q90, _q91, _q52 };
970 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
971 : : )
972 : : {
973 : 0 : {
974 : 0 : res_ops[0] = captures[0];
975 : 0 : res_ops[1] = captures[0];
976 : 0 : res_ops[2] = captures[1];
977 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 95, __FILE__, __LINE__, false);
978 : 0 : return true;
979 : : }
980 : : }
981 : : }
982 : : }
983 : : break;
984 : : }
985 : : default:;
986 : : }
987 : : }
988 : : break;
989 : : default:;
990 : : }
991 : : }
992 : : }
993 : : }
994 : 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
995 : : {
996 : 0 : switch (TREE_CODE (_q51))
997 : : {
998 : 0 : case SSA_NAME:
999 : 0 : if (gimple *_d5 = get_def (valueize, _q51))
1000 : : {
1001 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
1002 : 0 : switch (gimple_assign_rhs_code (_a5))
1003 : : {
1004 : 0 : case LSHIFT_EXPR:
1005 : 0 : {
1006 : 0 : tree _q80 = gimple_assign_rhs1 (_a5);
1007 : 0 : _q80 = do_valueize (valueize, _q80);
1008 : 0 : tree _q81 = gimple_assign_rhs2 (_a5);
1009 : 0 : _q81 = do_valueize (valueize, _q81);
1010 : 0 : if (integer_onep (_q80))
1011 : : {
1012 : 0 : {
1013 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q80, _q81, _q52 };
1014 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
1015 : : )
1016 : : {
1017 : 0 : {
1018 : 0 : res_ops[0] = captures[0];
1019 : 0 : res_ops[1] = captures[0];
1020 : 0 : res_ops[2] = captures[1];
1021 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 95, __FILE__, __LINE__, false);
1022 : 0 : return true;
1023 : : }
1024 : : }
1025 : : }
1026 : : }
1027 : : break;
1028 : : }
1029 : : default:;
1030 : : }
1031 : : }
1032 : : break;
1033 : : default:;
1034 : : }
1035 : : }
1036 : : }
1037 : : break;
1038 : : default:;
1039 : : }
1040 : : }
1041 : : break;
1042 : : default:;
1043 : : }
1044 : : break;
1045 : : }
1046 : : default:;
1047 : : }
1048 : 2 : else if (gcall *_c3 = dyn_cast <gcall *> (_d3))
1049 : 0 : switch (gimple_call_combined_fn (_c3))
1050 : : {
1051 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_OR_1:
1052 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_OR_2:
1053 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_OR_4:
1054 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_OR_8:
1055 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_OR_16:
1056 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_XOR_1:
1057 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_XOR_2:
1058 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_XOR_4:
1059 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_XOR_8:
1060 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_XOR_16:
1061 : 0 : case CFN_BUILT_IN_ATOMIC_XOR_FETCH_1:
1062 : 0 : case CFN_BUILT_IN_ATOMIC_XOR_FETCH_2:
1063 : 0 : case CFN_BUILT_IN_ATOMIC_XOR_FETCH_4:
1064 : 0 : case CFN_BUILT_IN_ATOMIC_XOR_FETCH_8:
1065 : 0 : case CFN_BUILT_IN_ATOMIC_XOR_FETCH_16:
1066 : 0 : if (gimple_call_num_args (_c3) == 3)
1067 : : {
1068 : 0 : tree _q40 = gimple_call_arg (_c3, 0);
1069 : 0 : _q40 = do_valueize (valueize, _q40);
1070 : 0 : tree _q41 = gimple_call_arg (_c3, 1);
1071 : 0 : _q41 = do_valueize (valueize, _q41);
1072 : 0 : tree _q42 = gimple_call_arg (_c3, 2);
1073 : 0 : _q42 = do_valueize (valueize, _q42);
1074 : 0 : {
1075 : 0 : tree _q41_pops[1];
1076 : 0 : if (gimple_nop_convert (_q41, _q41_pops, valueize))
1077 : : {
1078 : 0 : tree _q60 = _q41_pops[0];
1079 : 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
1080 : : {
1081 : 0 : switch (TREE_CODE (_q60))
1082 : : {
1083 : 0 : case SSA_NAME:
1084 : 0 : if (gimple *_d4 = get_def (valueize, _q60))
1085 : : {
1086 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
1087 : 0 : switch (gimple_assign_rhs_code (_a4))
1088 : : {
1089 : 0 : case LSHIFT_EXPR:
1090 : 0 : {
1091 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
1092 : 0 : _q80 = do_valueize (valueize, _q80);
1093 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
1094 : 0 : _q81 = do_valueize (valueize, _q81);
1095 : 0 : if (integer_onep (_q80))
1096 : : {
1097 : 0 : {
1098 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q80, _q81, _q42 };
1099 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
1100 : : )
1101 : : {
1102 : 0 : {
1103 : 0 : res_ops[0] = captures[0];
1104 : 0 : res_ops[1] = captures[0];
1105 : 0 : res_ops[2] = captures[1];
1106 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 95, __FILE__, __LINE__, false);
1107 : 0 : return true;
1108 : : }
1109 : : }
1110 : : }
1111 : : }
1112 : : break;
1113 : : }
1114 : : default:;
1115 : : }
1116 : : }
1117 : : break;
1118 : : default:;
1119 : : }
1120 : : }
1121 : : }
1122 : : }
1123 : 0 : if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
1124 : : {
1125 : 0 : switch (TREE_CODE (_q41))
1126 : : {
1127 : 0 : case SSA_NAME:
1128 : 0 : if (gimple *_d4 = get_def (valueize, _q41))
1129 : : {
1130 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
1131 : 0 : switch (gimple_assign_rhs_code (_a4))
1132 : : {
1133 : 0 : case LSHIFT_EXPR:
1134 : 0 : {
1135 : 0 : tree _q70 = gimple_assign_rhs1 (_a4);
1136 : 0 : _q70 = do_valueize (valueize, _q70);
1137 : 0 : tree _q71 = gimple_assign_rhs2 (_a4);
1138 : 0 : _q71 = do_valueize (valueize, _q71);
1139 : 0 : if (integer_onep (_q70))
1140 : : {
1141 : 0 : {
1142 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q70, _q71, _q42 };
1143 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
1144 : : )
1145 : : {
1146 : 0 : {
1147 : 0 : res_ops[0] = captures[0];
1148 : 0 : res_ops[1] = captures[0];
1149 : 0 : res_ops[2] = captures[1];
1150 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 95, __FILE__, __LINE__, false);
1151 : 0 : return true;
1152 : : }
1153 : : }
1154 : : }
1155 : : }
1156 : : break;
1157 : : }
1158 : : default:;
1159 : : }
1160 : : }
1161 : : break;
1162 : : default:;
1163 : : }
1164 : : }
1165 : : }
1166 : : break;
1167 : : default:;
1168 : : }
1169 : : }
1170 : : break;
1171 : : default:;
1172 : : }
1173 : : break;
1174 : : }
1175 : : default:;
1176 : : }
1177 : 0 : else if (gcall *_c2 = dyn_cast <gcall *> (_d2))
1178 : 0 : switch (gimple_call_combined_fn (_c2))
1179 : : {
1180 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_OR_1:
1181 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_OR_2:
1182 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_OR_4:
1183 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_OR_8:
1184 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_OR_16:
1185 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_1:
1186 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_2:
1187 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_4:
1188 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_8:
1189 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_16:
1190 : 0 : case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_1:
1191 : 0 : case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_2:
1192 : 0 : case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_4:
1193 : 0 : case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_8:
1194 : 0 : case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_16:
1195 : 0 : if (gimple_call_num_args (_c2) == 2)
1196 : : {
1197 : 0 : tree _q20 = gimple_call_arg (_c2, 0);
1198 : 0 : _q20 = do_valueize (valueize, _q20);
1199 : 0 : tree _q21 = gimple_call_arg (_c2, 1);
1200 : 0 : _q21 = do_valueize (valueize, _q21);
1201 : 0 : switch (TREE_CODE (_q21))
1202 : : {
1203 : 0 : case SSA_NAME:
1204 : 0 : if (gimple *_d3 = get_def (valueize, _q21))
1205 : : {
1206 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
1207 : 0 : switch (gimple_assign_rhs_code (_a3))
1208 : : {
1209 : 0 : case LSHIFT_EXPR:
1210 : 0 : {
1211 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
1212 : 0 : _q40 = do_valueize (valueize, _q40);
1213 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
1214 : 0 : _q41 = do_valueize (valueize, _q41);
1215 : 0 : if (integer_onep (_q40))
1216 : : {
1217 : 0 : switch (TREE_CODE (_p1))
1218 : : {
1219 : 0 : case SSA_NAME:
1220 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
1221 : : {
1222 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
1223 : 0 : switch (gimple_assign_rhs_code (_a4))
1224 : : {
1225 : 0 : CASE_CONVERT:
1226 : 0 : {
1227 : 0 : tree _q70 = gimple_assign_rhs1 (_a4);
1228 : 0 : _q70 = do_valueize (valueize, _q70);
1229 : 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
1230 : : {
1231 : 0 : {
1232 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41 };
1233 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
1234 : : )
1235 : : {
1236 : 0 : {
1237 : 0 : res_ops[0] = captures[0];
1238 : 0 : res_ops[1] = captures[0];
1239 : 0 : res_ops[2] = captures[1];
1240 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 97, __FILE__, __LINE__, false);
1241 : 0 : return true;
1242 : : }
1243 : : }
1244 : : }
1245 : : }
1246 : : break;
1247 : : }
1248 : : default:;
1249 : : }
1250 : : }
1251 : : break;
1252 : 0 : default:;
1253 : : }
1254 : 0 : if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
1255 : : {
1256 : 0 : {
1257 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41 };
1258 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
1259 : : )
1260 : : {
1261 : 0 : {
1262 : 0 : res_ops[0] = captures[0];
1263 : 0 : res_ops[1] = captures[0];
1264 : 0 : res_ops[2] = captures[1];
1265 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 97, __FILE__, __LINE__, false);
1266 : 0 : return true;
1267 : : }
1268 : : }
1269 : : }
1270 : : }
1271 : : }
1272 : : break;
1273 : : }
1274 : : default:;
1275 : : }
1276 : : }
1277 : : break;
1278 : 0 : case INTEGER_CST:
1279 : 0 : {
1280 : 0 : switch (TREE_CODE (_p1))
1281 : : {
1282 : 0 : case INTEGER_CST:
1283 : 0 : {
1284 : 0 : {
1285 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, _q20 };
1286 : 0 : {
1287 : 0 : int ibit = tree_log2 (captures[0]);
1288 : 0 : int ibit2 = tree_log2 (captures[1]);
1289 : 0 : if (ibit == ibit2
1290 : 0 : && ibit >= 0
1291 : 0 : && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
1292 : : )
1293 : : {
1294 : 0 : {
1295 : 0 : res_ops[0] = captures[0];
1296 : 0 : res_ops[1] = captures[1];
1297 : 0 : res_ops[2] = captures[2];
1298 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 94, __FILE__, __LINE__, false);
1299 : 0 : return true;
1300 : : }
1301 : : }
1302 : : }
1303 : : }
1304 : : break;
1305 : : }
1306 : : default:;
1307 : : }
1308 : : break;
1309 : : }
1310 : 0 : default:;
1311 : : }
1312 : 0 : {
1313 : 0 : tree _q21_pops[1];
1314 : 0 : if (gimple_nop_convert (_q21, _q21_pops, valueize))
1315 : : {
1316 : 0 : tree _q40 = _q21_pops[0];
1317 : 0 : switch (TREE_CODE (_q40))
1318 : : {
1319 : 0 : case SSA_NAME:
1320 : 0 : if (gimple *_d3 = get_def (valueize, _q40))
1321 : : {
1322 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
1323 : 0 : switch (gimple_assign_rhs_code (_a3))
1324 : : {
1325 : 0 : case LSHIFT_EXPR:
1326 : 0 : {
1327 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
1328 : 0 : _q50 = do_valueize (valueize, _q50);
1329 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
1330 : 0 : _q51 = do_valueize (valueize, _q51);
1331 : 0 : if (integer_onep (_q50))
1332 : : {
1333 : 0 : switch (TREE_CODE (_p1))
1334 : : {
1335 : 0 : case SSA_NAME:
1336 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
1337 : : {
1338 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
1339 : 0 : switch (gimple_assign_rhs_code (_a4))
1340 : : {
1341 : 0 : CASE_CONVERT:
1342 : 0 : {
1343 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
1344 : 0 : _q80 = do_valueize (valueize, _q80);
1345 : 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
1346 : : {
1347 : 0 : {
1348 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51 };
1349 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
1350 : : )
1351 : : {
1352 : 0 : {
1353 : 0 : res_ops[0] = captures[0];
1354 : 0 : res_ops[1] = captures[0];
1355 : 0 : res_ops[2] = captures[1];
1356 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 97, __FILE__, __LINE__, false);
1357 : 0 : return true;
1358 : : }
1359 : : }
1360 : : }
1361 : : }
1362 : : break;
1363 : : }
1364 : : default:;
1365 : : }
1366 : : }
1367 : : break;
1368 : 0 : default:;
1369 : : }
1370 : 0 : if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
1371 : : {
1372 : 0 : {
1373 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51 };
1374 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
1375 : : )
1376 : : {
1377 : 0 : {
1378 : 0 : res_ops[0] = captures[0];
1379 : 0 : res_ops[1] = captures[0];
1380 : 0 : res_ops[2] = captures[1];
1381 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 97, __FILE__, __LINE__, false);
1382 : 0 : return true;
1383 : : }
1384 : : }
1385 : : }
1386 : : }
1387 : : }
1388 : : break;
1389 : : }
1390 : : default:;
1391 : : }
1392 : : }
1393 : : break;
1394 : : default:;
1395 : : }
1396 : : }
1397 : : }
1398 : : }
1399 : : break;
1400 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_OR_1:
1401 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_OR_2:
1402 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_OR_4:
1403 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_OR_8:
1404 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_OR_16:
1405 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_XOR_1:
1406 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_XOR_2:
1407 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_XOR_4:
1408 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_XOR_8:
1409 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_XOR_16:
1410 : 0 : case CFN_BUILT_IN_ATOMIC_XOR_FETCH_1:
1411 : 0 : case CFN_BUILT_IN_ATOMIC_XOR_FETCH_2:
1412 : 0 : case CFN_BUILT_IN_ATOMIC_XOR_FETCH_4:
1413 : 0 : case CFN_BUILT_IN_ATOMIC_XOR_FETCH_8:
1414 : 0 : case CFN_BUILT_IN_ATOMIC_XOR_FETCH_16:
1415 : 0 : if (gimple_call_num_args (_c2) == 3)
1416 : : {
1417 : 0 : tree _q20 = gimple_call_arg (_c2, 0);
1418 : 0 : _q20 = do_valueize (valueize, _q20);
1419 : 0 : tree _q21 = gimple_call_arg (_c2, 1);
1420 : 0 : _q21 = do_valueize (valueize, _q21);
1421 : 0 : tree _q22 = gimple_call_arg (_c2, 2);
1422 : 0 : _q22 = do_valueize (valueize, _q22);
1423 : 0 : switch (TREE_CODE (_q21))
1424 : : {
1425 : 0 : case SSA_NAME:
1426 : 0 : if (gimple *_d3 = get_def (valueize, _q21))
1427 : : {
1428 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
1429 : 0 : switch (gimple_assign_rhs_code (_a3))
1430 : : {
1431 : 0 : case LSHIFT_EXPR:
1432 : 0 : {
1433 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
1434 : 0 : _q40 = do_valueize (valueize, _q40);
1435 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
1436 : 0 : _q41 = do_valueize (valueize, _q41);
1437 : 0 : if (integer_onep (_q40))
1438 : : {
1439 : 0 : switch (TREE_CODE (_p1))
1440 : : {
1441 : 0 : case SSA_NAME:
1442 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
1443 : : {
1444 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
1445 : 0 : switch (gimple_assign_rhs_code (_a4))
1446 : : {
1447 : 0 : CASE_CONVERT:
1448 : 0 : {
1449 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
1450 : 0 : _q80 = do_valueize (valueize, _q80);
1451 : 0 : if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
1452 : : {
1453 : 0 : {
1454 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41, _q22 };
1455 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
1456 : : )
1457 : : {
1458 : 0 : {
1459 : 0 : res_ops[0] = captures[0];
1460 : 0 : res_ops[1] = captures[0];
1461 : 0 : res_ops[2] = captures[1];
1462 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 95, __FILE__, __LINE__, false);
1463 : 0 : return true;
1464 : : }
1465 : : }
1466 : : }
1467 : : }
1468 : : break;
1469 : : }
1470 : : default:;
1471 : : }
1472 : : }
1473 : : break;
1474 : 0 : default:;
1475 : : }
1476 : 0 : if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
1477 : : {
1478 : 0 : {
1479 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p0, _q20, _q40, _q41, _q22 };
1480 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
1481 : : )
1482 : : {
1483 : 0 : {
1484 : 0 : res_ops[0] = captures[0];
1485 : 0 : res_ops[1] = captures[0];
1486 : 0 : res_ops[2] = captures[1];
1487 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 95, __FILE__, __LINE__, false);
1488 : 0 : return true;
1489 : : }
1490 : : }
1491 : : }
1492 : : }
1493 : : }
1494 : : break;
1495 : : }
1496 : : default:;
1497 : : }
1498 : : }
1499 : : break;
1500 : 0 : case INTEGER_CST:
1501 : 0 : {
1502 : 0 : switch (TREE_CODE (_p1))
1503 : : {
1504 : 0 : case INTEGER_CST:
1505 : 0 : {
1506 : 0 : {
1507 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, _q20, _q22 };
1508 : 0 : {
1509 : 0 : int ibit = tree_log2 (captures[0]);
1510 : 0 : int ibit2 = tree_log2 (captures[1]);
1511 : 0 : if (ibit == ibit2
1512 : 0 : && ibit >= 0
1513 : 0 : && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
1514 : : )
1515 : : {
1516 : 0 : {
1517 : 0 : res_ops[0] = captures[0];
1518 : 0 : res_ops[1] = captures[1];
1519 : 0 : res_ops[2] = captures[2];
1520 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 96, __FILE__, __LINE__, false);
1521 : 0 : return true;
1522 : : }
1523 : : }
1524 : : }
1525 : : }
1526 : : break;
1527 : : }
1528 : : default:;
1529 : : }
1530 : : break;
1531 : : }
1532 : 0 : default:;
1533 : : }
1534 : 0 : {
1535 : 0 : tree _q21_pops[1];
1536 : 0 : if (gimple_nop_convert (_q21, _q21_pops, valueize))
1537 : : {
1538 : 0 : tree _q40 = _q21_pops[0];
1539 : 0 : switch (TREE_CODE (_q40))
1540 : : {
1541 : 0 : case SSA_NAME:
1542 : 0 : if (gimple *_d3 = get_def (valueize, _q40))
1543 : : {
1544 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
1545 : 0 : switch (gimple_assign_rhs_code (_a3))
1546 : : {
1547 : 0 : case LSHIFT_EXPR:
1548 : 0 : {
1549 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
1550 : 0 : _q50 = do_valueize (valueize, _q50);
1551 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
1552 : 0 : _q51 = do_valueize (valueize, _q51);
1553 : 0 : if (integer_onep (_q50))
1554 : : {
1555 : 0 : switch (TREE_CODE (_p1))
1556 : : {
1557 : 0 : case SSA_NAME:
1558 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
1559 : : {
1560 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
1561 : 0 : switch (gimple_assign_rhs_code (_a4))
1562 : : {
1563 : 0 : CASE_CONVERT:
1564 : 0 : {
1565 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
1566 : 0 : _q90 = do_valueize (valueize, _q90);
1567 : 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
1568 : : {
1569 : 0 : {
1570 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51, _q22 };
1571 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
1572 : : )
1573 : : {
1574 : 0 : {
1575 : 0 : res_ops[0] = captures[0];
1576 : 0 : res_ops[1] = captures[0];
1577 : 0 : res_ops[2] = captures[1];
1578 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 95, __FILE__, __LINE__, false);
1579 : 0 : return true;
1580 : : }
1581 : : }
1582 : : }
1583 : : }
1584 : : break;
1585 : : }
1586 : : default:;
1587 : : }
1588 : : }
1589 : : break;
1590 : 0 : default:;
1591 : : }
1592 : 0 : if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
1593 : : {
1594 : 0 : {
1595 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _p0, _q20, _q50, _q51, _q22 };
1596 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
1597 : : )
1598 : : {
1599 : 0 : {
1600 : 0 : res_ops[0] = captures[0];
1601 : 0 : res_ops[1] = captures[0];
1602 : 0 : res_ops[2] = captures[1];
1603 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 95, __FILE__, __LINE__, false);
1604 : 0 : return true;
1605 : : }
1606 : : }
1607 : : }
1608 : : }
1609 : : }
1610 : : break;
1611 : : }
1612 : : default:;
1613 : : }
1614 : : }
1615 : : break;
1616 : : default:;
1617 : : }
1618 : : }
1619 : : }
1620 : : }
1621 : : break;
1622 : : default:;
1623 : : }
1624 : : }
1625 : : break;
1626 : 41 : default:;
1627 : : }
1628 : 41 : switch (TREE_CODE (_p1))
1629 : : {
1630 : 29 : case SSA_NAME:
1631 : 29 : if (gimple *_d2 = get_def (valueize, _p1))
1632 : : {
1633 : 29 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
1634 : 27 : switch (gimple_assign_rhs_code (_a2))
1635 : : {
1636 : 13 : CASE_CONVERT:
1637 : 13 : {
1638 : 13 : tree _q30 = gimple_assign_rhs1 (_a2);
1639 : 13 : _q30 = do_valueize (valueize, _q30);
1640 : 13 : switch (TREE_CODE (_q30))
1641 : : {
1642 : 13 : case SSA_NAME:
1643 : 13 : if (gimple *_d3 = get_def (valueize, _q30))
1644 : : {
1645 : 13 : if (gcall *_c3 = dyn_cast <gcall *> (_d3))
1646 : 3 : switch (gimple_call_combined_fn (_c3))
1647 : : {
1648 : 3 : case CFN_BUILT_IN_ATOMIC_FETCH_OR_1:
1649 : 3 : case CFN_BUILT_IN_ATOMIC_FETCH_OR_2:
1650 : 3 : case CFN_BUILT_IN_ATOMIC_FETCH_OR_4:
1651 : 3 : case CFN_BUILT_IN_ATOMIC_FETCH_OR_8:
1652 : 3 : case CFN_BUILT_IN_ATOMIC_FETCH_OR_16:
1653 : 3 : case CFN_BUILT_IN_ATOMIC_FETCH_XOR_1:
1654 : 3 : case CFN_BUILT_IN_ATOMIC_FETCH_XOR_2:
1655 : 3 : case CFN_BUILT_IN_ATOMIC_FETCH_XOR_4:
1656 : 3 : case CFN_BUILT_IN_ATOMIC_FETCH_XOR_8:
1657 : 3 : case CFN_BUILT_IN_ATOMIC_FETCH_XOR_16:
1658 : 3 : case CFN_BUILT_IN_ATOMIC_XOR_FETCH_1:
1659 : 3 : case CFN_BUILT_IN_ATOMIC_XOR_FETCH_2:
1660 : 3 : case CFN_BUILT_IN_ATOMIC_XOR_FETCH_4:
1661 : 3 : case CFN_BUILT_IN_ATOMIC_XOR_FETCH_8:
1662 : 3 : case CFN_BUILT_IN_ATOMIC_XOR_FETCH_16:
1663 : 3 : if (gimple_call_num_args (_c3) == 3)
1664 : : {
1665 : 3 : tree _q40 = gimple_call_arg (_c3, 0);
1666 : 3 : _q40 = do_valueize (valueize, _q40);
1667 : 3 : tree _q41 = gimple_call_arg (_c3, 1);
1668 : 3 : _q41 = do_valueize (valueize, _q41);
1669 : 3 : tree _q42 = gimple_call_arg (_c3, 2);
1670 : 3 : _q42 = do_valueize (valueize, _q42);
1671 : 3 : {
1672 : 3 : tree _q41_pops[1];
1673 : 3 : if (gimple_nop_convert (_q41, _q41_pops, valueize))
1674 : : {
1675 : 3 : tree _q60 = _q41_pops[0];
1676 : 3 : if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
1677 : : {
1678 : 3 : switch (TREE_CODE (_q60))
1679 : : {
1680 : 3 : case SSA_NAME:
1681 : 3 : if (gimple *_d4 = get_def (valueize, _q60))
1682 : : {
1683 : 3 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
1684 : 3 : switch (gimple_assign_rhs_code (_a4))
1685 : : {
1686 : 3 : case LSHIFT_EXPR:
1687 : 3 : {
1688 : 3 : tree _q80 = gimple_assign_rhs1 (_a4);
1689 : 3 : _q80 = do_valueize (valueize, _q80);
1690 : 3 : tree _q81 = gimple_assign_rhs2 (_a4);
1691 : 3 : _q81 = do_valueize (valueize, _q81);
1692 : 3 : if (integer_onep (_q80))
1693 : : {
1694 : 3 : {
1695 : 3 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q80, _q81, _q42 };
1696 : 3 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
1697 : : )
1698 : : {
1699 : 3 : {
1700 : 3 : res_ops[0] = captures[0];
1701 : 3 : res_ops[1] = captures[0];
1702 : 3 : res_ops[2] = captures[1];
1703 : 3 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 95, __FILE__, __LINE__, false);
1704 : 3 : return true;
1705 : : }
1706 : : }
1707 : : }
1708 : : }
1709 : : break;
1710 : : }
1711 : : default:;
1712 : : }
1713 : : }
1714 : : break;
1715 : : default:;
1716 : : }
1717 : : }
1718 : : }
1719 : : }
1720 : 0 : if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
1721 : : {
1722 : 0 : switch (TREE_CODE (_q41))
1723 : : {
1724 : 0 : case SSA_NAME:
1725 : 0 : if (gimple *_d4 = get_def (valueize, _q41))
1726 : : {
1727 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
1728 : 0 : switch (gimple_assign_rhs_code (_a4))
1729 : : {
1730 : 0 : case LSHIFT_EXPR:
1731 : 0 : {
1732 : 0 : tree _q70 = gimple_assign_rhs1 (_a4);
1733 : 0 : _q70 = do_valueize (valueize, _q70);
1734 : 0 : tree _q71 = gimple_assign_rhs2 (_a4);
1735 : 0 : _q71 = do_valueize (valueize, _q71);
1736 : 0 : if (integer_onep (_q70))
1737 : : {
1738 : 0 : {
1739 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q70, _q71, _q42 };
1740 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
1741 : : )
1742 : : {
1743 : 0 : {
1744 : 0 : res_ops[0] = captures[0];
1745 : 0 : res_ops[1] = captures[0];
1746 : 0 : res_ops[2] = captures[1];
1747 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 95, __FILE__, __LINE__, false);
1748 : 0 : return true;
1749 : : }
1750 : : }
1751 : : }
1752 : : }
1753 : : break;
1754 : : }
1755 : : default:;
1756 : : }
1757 : : }
1758 : : break;
1759 : : default:;
1760 : : }
1761 : : }
1762 : : }
1763 : : break;
1764 : : default:;
1765 : : }
1766 : : }
1767 : : break;
1768 : : default:;
1769 : : }
1770 : : break;
1771 : : }
1772 : : default:;
1773 : : }
1774 : 2 : else if (gcall *_c2 = dyn_cast <gcall *> (_d2))
1775 : 0 : switch (gimple_call_combined_fn (_c2))
1776 : : {
1777 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_OR_1:
1778 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_OR_2:
1779 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_OR_4:
1780 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_OR_8:
1781 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_OR_16:
1782 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_XOR_1:
1783 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_XOR_2:
1784 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_XOR_4:
1785 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_XOR_8:
1786 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_XOR_16:
1787 : 0 : case CFN_BUILT_IN_ATOMIC_XOR_FETCH_1:
1788 : 0 : case CFN_BUILT_IN_ATOMIC_XOR_FETCH_2:
1789 : 0 : case CFN_BUILT_IN_ATOMIC_XOR_FETCH_4:
1790 : 0 : case CFN_BUILT_IN_ATOMIC_XOR_FETCH_8:
1791 : 0 : case CFN_BUILT_IN_ATOMIC_XOR_FETCH_16:
1792 : 0 : if (gimple_call_num_args (_c2) == 3)
1793 : : {
1794 : 0 : tree _q30 = gimple_call_arg (_c2, 0);
1795 : 0 : _q30 = do_valueize (valueize, _q30);
1796 : 0 : tree _q31 = gimple_call_arg (_c2, 1);
1797 : 0 : _q31 = do_valueize (valueize, _q31);
1798 : 0 : tree _q32 = gimple_call_arg (_c2, 2);
1799 : 0 : _q32 = do_valueize (valueize, _q32);
1800 : 0 : {
1801 : 0 : tree _q31_pops[1];
1802 : 0 : if (gimple_nop_convert (_q31, _q31_pops, valueize))
1803 : : {
1804 : 0 : tree _q50 = _q31_pops[0];
1805 : 0 : if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
1806 : : {
1807 : 0 : switch (TREE_CODE (_q50))
1808 : : {
1809 : 0 : case SSA_NAME:
1810 : 0 : if (gimple *_d3 = get_def (valueize, _q50))
1811 : : {
1812 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
1813 : 0 : switch (gimple_assign_rhs_code (_a3))
1814 : : {
1815 : 0 : case LSHIFT_EXPR:
1816 : 0 : {
1817 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
1818 : 0 : _q70 = do_valueize (valueize, _q70);
1819 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
1820 : 0 : _q71 = do_valueize (valueize, _q71);
1821 : 0 : if (integer_onep (_q70))
1822 : : {
1823 : 0 : {
1824 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q70, _q71, _q32 };
1825 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
1826 : : )
1827 : : {
1828 : 0 : {
1829 : 0 : res_ops[0] = captures[0];
1830 : 0 : res_ops[1] = captures[0];
1831 : 0 : res_ops[2] = captures[1];
1832 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 95, __FILE__, __LINE__, false);
1833 : 0 : return true;
1834 : : }
1835 : : }
1836 : : }
1837 : : }
1838 : : break;
1839 : : }
1840 : : default:;
1841 : : }
1842 : : }
1843 : : break;
1844 : : default:;
1845 : : }
1846 : : }
1847 : : }
1848 : : }
1849 : 0 : if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
1850 : : {
1851 : 0 : switch (TREE_CODE (_q31))
1852 : : {
1853 : 0 : case SSA_NAME:
1854 : 0 : if (gimple *_d3 = get_def (valueize, _q31))
1855 : : {
1856 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
1857 : 0 : switch (gimple_assign_rhs_code (_a3))
1858 : : {
1859 : 0 : case LSHIFT_EXPR:
1860 : 0 : {
1861 : 0 : tree _q60 = gimple_assign_rhs1 (_a3);
1862 : 0 : _q60 = do_valueize (valueize, _q60);
1863 : 0 : tree _q61 = gimple_assign_rhs2 (_a3);
1864 : 0 : _q61 = do_valueize (valueize, _q61);
1865 : 0 : if (integer_onep (_q60))
1866 : : {
1867 : 0 : {
1868 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q60, _q61, _q32 };
1869 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
1870 : : )
1871 : : {
1872 : 0 : {
1873 : 0 : res_ops[0] = captures[0];
1874 : 0 : res_ops[1] = captures[0];
1875 : 0 : res_ops[2] = captures[1];
1876 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 95, __FILE__, __LINE__, false);
1877 : 0 : return true;
1878 : : }
1879 : : }
1880 : : }
1881 : : }
1882 : : break;
1883 : : }
1884 : : default:;
1885 : : }
1886 : : }
1887 : : break;
1888 : : default:;
1889 : : }
1890 : : }
1891 : : }
1892 : : break;
1893 : : default:;
1894 : : }
1895 : : }
1896 : : break;
1897 : 38 : default:;
1898 : : }
1899 : 38 : switch (TREE_CODE (_p0))
1900 : : {
1901 : 38 : case SSA_NAME:
1902 : 38 : if (gimple *_d2 = get_def (valueize, _p0))
1903 : : {
1904 : 38 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
1905 : 38 : switch (gimple_assign_rhs_code (_a2))
1906 : : {
1907 : 38 : CASE_CONVERT:
1908 : 38 : {
1909 : 38 : tree _q20 = gimple_assign_rhs1 (_a2);
1910 : 38 : _q20 = do_valueize (valueize, _q20);
1911 : 38 : switch (TREE_CODE (_q20))
1912 : : {
1913 : 38 : case SSA_NAME:
1914 : 38 : if (gimple *_d3 = get_def (valueize, _q20))
1915 : : {
1916 : 38 : if (gcall *_c3 = dyn_cast <gcall *> (_d3))
1917 : 38 : switch (gimple_call_combined_fn (_c3))
1918 : : {
1919 : 12 : case CFN_BUILT_IN_SYNC_FETCH_AND_OR_1:
1920 : 12 : case CFN_BUILT_IN_SYNC_FETCH_AND_OR_2:
1921 : 12 : case CFN_BUILT_IN_SYNC_FETCH_AND_OR_4:
1922 : 12 : case CFN_BUILT_IN_SYNC_FETCH_AND_OR_8:
1923 : 12 : case CFN_BUILT_IN_SYNC_FETCH_AND_OR_16:
1924 : 12 : case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_1:
1925 : 12 : case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_2:
1926 : 12 : case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_4:
1927 : 12 : case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_8:
1928 : 12 : case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_16:
1929 : 12 : case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_1:
1930 : 12 : case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_2:
1931 : 12 : case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_4:
1932 : 12 : case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_8:
1933 : 12 : case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_16:
1934 : 12 : if (gimple_call_num_args (_c3) == 2)
1935 : : {
1936 : 12 : tree _q30 = gimple_call_arg (_c3, 0);
1937 : 12 : _q30 = do_valueize (valueize, _q30);
1938 : 12 : tree _q31 = gimple_call_arg (_c3, 1);
1939 : 12 : _q31 = do_valueize (valueize, _q31);
1940 : 12 : switch (TREE_CODE (_q31))
1941 : : {
1942 : 12 : case SSA_NAME:
1943 : 12 : if (gimple *_d4 = get_def (valueize, _q31))
1944 : : {
1945 : 12 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
1946 : 12 : switch (gimple_assign_rhs_code (_a4))
1947 : : {
1948 : 0 : case LSHIFT_EXPR:
1949 : 0 : {
1950 : 0 : tree _q50 = gimple_assign_rhs1 (_a4);
1951 : 0 : _q50 = do_valueize (valueize, _q50);
1952 : 0 : tree _q51 = gimple_assign_rhs2 (_a4);
1953 : 0 : _q51 = do_valueize (valueize, _q51);
1954 : 0 : if (integer_onep (_q50))
1955 : : {
1956 : 0 : switch (TREE_CODE (_p1))
1957 : : {
1958 : 0 : case SSA_NAME:
1959 : 0 : if (gimple *_d5 = get_def (valueize, _p1))
1960 : : {
1961 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
1962 : 0 : switch (gimple_assign_rhs_code (_a5))
1963 : : {
1964 : 0 : CASE_CONVERT:
1965 : 0 : {
1966 : 0 : tree _q80 = gimple_assign_rhs1 (_a5);
1967 : 0 : _q80 = do_valueize (valueize, _q80);
1968 : 0 : if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
1969 : : {
1970 : 0 : {
1971 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51 };
1972 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
1973 : : )
1974 : : {
1975 : 0 : {
1976 : 0 : res_ops[0] = captures[0];
1977 : 0 : res_ops[1] = captures[0];
1978 : 0 : res_ops[2] = captures[1];
1979 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 97, __FILE__, __LINE__, false);
1980 : 0 : return true;
1981 : : }
1982 : : }
1983 : : }
1984 : : }
1985 : : break;
1986 : : }
1987 : : default:;
1988 : : }
1989 : : }
1990 : : break;
1991 : 0 : default:;
1992 : : }
1993 : 0 : if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
1994 : : {
1995 : 0 : {
1996 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p0, _q30, _q50, _q51 };
1997 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
1998 : : )
1999 : : {
2000 : 0 : {
2001 : 0 : res_ops[0] = captures[0];
2002 : 0 : res_ops[1] = captures[0];
2003 : 0 : res_ops[2] = captures[1];
2004 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 97, __FILE__, __LINE__, false);
2005 : 0 : return true;
2006 : : }
2007 : : }
2008 : : }
2009 : : }
2010 : : }
2011 : : break;
2012 : : }
2013 : : default:;
2014 : : }
2015 : : }
2016 : : break;
2017 : 12 : default:;
2018 : : }
2019 : 12 : {
2020 : 12 : tree _q31_pops[1];
2021 : 12 : if (gimple_nop_convert (_q31, _q31_pops, valueize))
2022 : : {
2023 : 12 : tree _q50 = _q31_pops[0];
2024 : 12 : switch (TREE_CODE (_q50))
2025 : : {
2026 : 12 : case SSA_NAME:
2027 : 12 : if (gimple *_d4 = get_def (valueize, _q50))
2028 : : {
2029 : 12 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
2030 : 12 : switch (gimple_assign_rhs_code (_a4))
2031 : : {
2032 : 12 : case LSHIFT_EXPR:
2033 : 12 : {
2034 : 12 : tree _q60 = gimple_assign_rhs1 (_a4);
2035 : 12 : _q60 = do_valueize (valueize, _q60);
2036 : 12 : tree _q61 = gimple_assign_rhs2 (_a4);
2037 : 12 : _q61 = do_valueize (valueize, _q61);
2038 : 12 : if (integer_onep (_q60))
2039 : : {
2040 : 12 : switch (TREE_CODE (_p1))
2041 : : {
2042 : 12 : case SSA_NAME:
2043 : 12 : if (gimple *_d5 = get_def (valueize, _p1))
2044 : : {
2045 : 12 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
2046 : 12 : switch (gimple_assign_rhs_code (_a5))
2047 : : {
2048 : 6 : CASE_CONVERT:
2049 : 6 : {
2050 : 6 : tree _q90 = gimple_assign_rhs1 (_a5);
2051 : 6 : _q90 = do_valueize (valueize, _q90);
2052 : 6 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
2053 : : {
2054 : 6 : {
2055 : 6 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61 };
2056 : 6 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
2057 : : )
2058 : : {
2059 : 6 : {
2060 : 6 : res_ops[0] = captures[0];
2061 : 6 : res_ops[1] = captures[0];
2062 : 6 : res_ops[2] = captures[1];
2063 : 6 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 97, __FILE__, __LINE__, false);
2064 : 6 : return true;
2065 : : }
2066 : : }
2067 : : }
2068 : : }
2069 : : break;
2070 : : }
2071 : : default:;
2072 : : }
2073 : : }
2074 : : break;
2075 : 6 : default:;
2076 : : }
2077 : 6 : if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
2078 : : {
2079 : 6 : {
2080 : 6 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _p0, _q30, _q60, _q61 };
2081 : 6 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
2082 : : )
2083 : : {
2084 : 6 : {
2085 : 6 : res_ops[0] = captures[0];
2086 : 6 : res_ops[1] = captures[0];
2087 : 6 : res_ops[2] = captures[1];
2088 : 6 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 97, __FILE__, __LINE__, false);
2089 : 6 : return true;
2090 : : }
2091 : : }
2092 : : }
2093 : : }
2094 : : }
2095 : : break;
2096 : : }
2097 : : default:;
2098 : : }
2099 : : }
2100 : : break;
2101 : : default:;
2102 : : }
2103 : : }
2104 : : }
2105 : : }
2106 : : break;
2107 : : default:;
2108 : : }
2109 : : }
2110 : : break;
2111 : 26 : default:;
2112 : : }
2113 : 26 : switch (TREE_CODE (_p1))
2114 : : {
2115 : 14 : case SSA_NAME:
2116 : 14 : if (gimple *_d3 = get_def (valueize, _p1))
2117 : : {
2118 : 14 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
2119 : 12 : switch (gimple_assign_rhs_code (_a3))
2120 : : {
2121 : 4 : CASE_CONVERT:
2122 : 4 : {
2123 : 4 : tree _q40 = gimple_assign_rhs1 (_a3);
2124 : 4 : _q40 = do_valueize (valueize, _q40);
2125 : 4 : switch (TREE_CODE (_q40))
2126 : : {
2127 : 4 : case SSA_NAME:
2128 : 4 : if (gimple *_d4 = get_def (valueize, _q40))
2129 : : {
2130 : 4 : if (gcall *_c4 = dyn_cast <gcall *> (_d4))
2131 : 0 : switch (gimple_call_combined_fn (_c4))
2132 : : {
2133 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_OR_1:
2134 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_OR_2:
2135 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_OR_4:
2136 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_OR_8:
2137 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_OR_16:
2138 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_1:
2139 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_2:
2140 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_4:
2141 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_8:
2142 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_16:
2143 : 0 : case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_1:
2144 : 0 : case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_2:
2145 : 0 : case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_4:
2146 : 0 : case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_8:
2147 : 0 : case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_16:
2148 : 0 : if (gimple_call_num_args (_c4) == 2)
2149 : : {
2150 : 0 : tree _q50 = gimple_call_arg (_c4, 0);
2151 : 0 : _q50 = do_valueize (valueize, _q50);
2152 : 0 : tree _q51 = gimple_call_arg (_c4, 1);
2153 : 0 : _q51 = do_valueize (valueize, _q51);
2154 : 0 : {
2155 : 0 : tree _q51_pops[1];
2156 : 0 : if (gimple_nop_convert (_q51, _q51_pops, valueize))
2157 : : {
2158 : 0 : tree _q70 = _q51_pops[0];
2159 : 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
2160 : : {
2161 : 0 : switch (TREE_CODE (_q70))
2162 : : {
2163 : 0 : case SSA_NAME:
2164 : 0 : if (gimple *_d5 = get_def (valueize, _q70))
2165 : : {
2166 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
2167 : 0 : switch (gimple_assign_rhs_code (_a5))
2168 : : {
2169 : 0 : case LSHIFT_EXPR:
2170 : 0 : {
2171 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
2172 : 0 : _q90 = do_valueize (valueize, _q90);
2173 : 0 : tree _q91 = gimple_assign_rhs2 (_a5);
2174 : 0 : _q91 = do_valueize (valueize, _q91);
2175 : 0 : if (integer_onep (_q90))
2176 : : {
2177 : 0 : {
2178 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q90, _q91 };
2179 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
2180 : : )
2181 : : {
2182 : 0 : {
2183 : 0 : res_ops[0] = captures[0];
2184 : 0 : res_ops[1] = captures[0];
2185 : 0 : res_ops[2] = captures[1];
2186 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 97, __FILE__, __LINE__, false);
2187 : 0 : return true;
2188 : : }
2189 : : }
2190 : : }
2191 : : }
2192 : : break;
2193 : : }
2194 : : default:;
2195 : : }
2196 : : }
2197 : : break;
2198 : : default:;
2199 : : }
2200 : : }
2201 : : }
2202 : : }
2203 : 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
2204 : : {
2205 : 0 : switch (TREE_CODE (_q51))
2206 : : {
2207 : 0 : case SSA_NAME:
2208 : 0 : if (gimple *_d5 = get_def (valueize, _q51))
2209 : : {
2210 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
2211 : 0 : switch (gimple_assign_rhs_code (_a5))
2212 : : {
2213 : 0 : case LSHIFT_EXPR:
2214 : 0 : {
2215 : 0 : tree _q80 = gimple_assign_rhs1 (_a5);
2216 : 0 : _q80 = do_valueize (valueize, _q80);
2217 : 0 : tree _q81 = gimple_assign_rhs2 (_a5);
2218 : 0 : _q81 = do_valueize (valueize, _q81);
2219 : 0 : if (integer_onep (_q80))
2220 : : {
2221 : 0 : {
2222 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q50, _q80, _q81 };
2223 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
2224 : : )
2225 : : {
2226 : 0 : {
2227 : 0 : res_ops[0] = captures[0];
2228 : 0 : res_ops[1] = captures[0];
2229 : 0 : res_ops[2] = captures[1];
2230 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 97, __FILE__, __LINE__, false);
2231 : 0 : return true;
2232 : : }
2233 : : }
2234 : : }
2235 : : }
2236 : : break;
2237 : : }
2238 : : default:;
2239 : : }
2240 : : }
2241 : : break;
2242 : : default:;
2243 : : }
2244 : : }
2245 : : }
2246 : : break;
2247 : : default:;
2248 : : }
2249 : : }
2250 : : break;
2251 : : default:;
2252 : : }
2253 : : break;
2254 : : }
2255 : : default:;
2256 : : }
2257 : 2 : else if (gcall *_c3 = dyn_cast <gcall *> (_d3))
2258 : 0 : switch (gimple_call_combined_fn (_c3))
2259 : : {
2260 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_OR_1:
2261 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_OR_2:
2262 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_OR_4:
2263 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_OR_8:
2264 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_OR_16:
2265 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_1:
2266 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_2:
2267 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_4:
2268 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_8:
2269 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_16:
2270 : 0 : case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_1:
2271 : 0 : case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_2:
2272 : 0 : case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_4:
2273 : 0 : case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_8:
2274 : 0 : case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_16:
2275 : 0 : if (gimple_call_num_args (_c3) == 2)
2276 : : {
2277 : 0 : tree _q40 = gimple_call_arg (_c3, 0);
2278 : 0 : _q40 = do_valueize (valueize, _q40);
2279 : 0 : tree _q41 = gimple_call_arg (_c3, 1);
2280 : 0 : _q41 = do_valueize (valueize, _q41);
2281 : 0 : {
2282 : 0 : tree _q41_pops[1];
2283 : 0 : if (gimple_nop_convert (_q41, _q41_pops, valueize))
2284 : : {
2285 : 0 : tree _q60 = _q41_pops[0];
2286 : 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
2287 : : {
2288 : 0 : switch (TREE_CODE (_q60))
2289 : : {
2290 : 0 : case SSA_NAME:
2291 : 0 : if (gimple *_d4 = get_def (valueize, _q60))
2292 : : {
2293 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
2294 : 0 : switch (gimple_assign_rhs_code (_a4))
2295 : : {
2296 : 0 : case LSHIFT_EXPR:
2297 : 0 : {
2298 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
2299 : 0 : _q80 = do_valueize (valueize, _q80);
2300 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
2301 : 0 : _q81 = do_valueize (valueize, _q81);
2302 : 0 : if (integer_onep (_q80))
2303 : : {
2304 : 0 : {
2305 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q80, _q81 };
2306 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
2307 : : )
2308 : : {
2309 : 0 : {
2310 : 0 : res_ops[0] = captures[0];
2311 : 0 : res_ops[1] = captures[0];
2312 : 0 : res_ops[2] = captures[1];
2313 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 97, __FILE__, __LINE__, false);
2314 : 0 : return true;
2315 : : }
2316 : : }
2317 : : }
2318 : : }
2319 : : break;
2320 : : }
2321 : : default:;
2322 : : }
2323 : : }
2324 : : break;
2325 : : default:;
2326 : : }
2327 : : }
2328 : : }
2329 : : }
2330 : 0 : if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _q20, 0) && types_match (_q41, _q20)))
2331 : : {
2332 : 0 : switch (TREE_CODE (_q41))
2333 : : {
2334 : 0 : case SSA_NAME:
2335 : 0 : if (gimple *_d4 = get_def (valueize, _q41))
2336 : : {
2337 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
2338 : 0 : switch (gimple_assign_rhs_code (_a4))
2339 : : {
2340 : 0 : case LSHIFT_EXPR:
2341 : 0 : {
2342 : 0 : tree _q70 = gimple_assign_rhs1 (_a4);
2343 : 0 : _q70 = do_valueize (valueize, _q70);
2344 : 0 : tree _q71 = gimple_assign_rhs2 (_a4);
2345 : 0 : _q71 = do_valueize (valueize, _q71);
2346 : 0 : if (integer_onep (_q70))
2347 : : {
2348 : 0 : {
2349 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q20, _p1, _q40, _q70, _q71 };
2350 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
2351 : : )
2352 : : {
2353 : 0 : {
2354 : 0 : res_ops[0] = captures[0];
2355 : 0 : res_ops[1] = captures[0];
2356 : 0 : res_ops[2] = captures[1];
2357 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 97, __FILE__, __LINE__, false);
2358 : 0 : return true;
2359 : : }
2360 : : }
2361 : : }
2362 : : }
2363 : : break;
2364 : : }
2365 : : default:;
2366 : : }
2367 : : }
2368 : : break;
2369 : : default:;
2370 : : }
2371 : : }
2372 : : }
2373 : : break;
2374 : : default:;
2375 : : }
2376 : : }
2377 : : break;
2378 : 26 : default:;
2379 : : }
2380 : 26 : switch (TREE_CODE (_q20))
2381 : : {
2382 : 26 : case SSA_NAME:
2383 : 26 : if (gimple *_d3 = get_def (valueize, _q20))
2384 : : {
2385 : 26 : if (gcall *_c3 = dyn_cast <gcall *> (_d3))
2386 : 26 : switch (gimple_call_combined_fn (_c3))
2387 : : {
2388 : 16 : case CFN_BUILT_IN_ATOMIC_FETCH_AND_1:
2389 : 16 : case CFN_BUILT_IN_ATOMIC_FETCH_AND_2:
2390 : 16 : case CFN_BUILT_IN_ATOMIC_FETCH_AND_4:
2391 : 16 : case CFN_BUILT_IN_ATOMIC_FETCH_AND_8:
2392 : 16 : case CFN_BUILT_IN_ATOMIC_FETCH_AND_16:
2393 : 16 : if (gimple_call_num_args (_c3) == 3)
2394 : : {
2395 : 16 : tree _q30 = gimple_call_arg (_c3, 0);
2396 : 16 : _q30 = do_valueize (valueize, _q30);
2397 : 16 : tree _q31 = gimple_call_arg (_c3, 1);
2398 : 16 : _q31 = do_valueize (valueize, _q31);
2399 : 16 : tree _q32 = gimple_call_arg (_c3, 2);
2400 : 16 : _q32 = do_valueize (valueize, _q32);
2401 : 16 : switch (TREE_CODE (_q31))
2402 : : {
2403 : 10 : case SSA_NAME:
2404 : 10 : if (gimple *_d4 = get_def (valueize, _q31))
2405 : : {
2406 : 10 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
2407 : 10 : switch (gimple_assign_rhs_code (_a4))
2408 : : {
2409 : 0 : case BIT_NOT_EXPR:
2410 : 0 : {
2411 : 0 : tree _q50 = gimple_assign_rhs1 (_a4);
2412 : 0 : _q50 = do_valueize (valueize, _q50);
2413 : 0 : switch (TREE_CODE (_q50))
2414 : : {
2415 : 0 : case SSA_NAME:
2416 : 0 : if (gimple *_d5 = get_def (valueize, _q50))
2417 : : {
2418 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
2419 : 0 : switch (gimple_assign_rhs_code (_a5))
2420 : : {
2421 : 0 : case LSHIFT_EXPR:
2422 : 0 : {
2423 : 0 : tree _q60 = gimple_assign_rhs1 (_a5);
2424 : 0 : _q60 = do_valueize (valueize, _q60);
2425 : 0 : tree _q61 = gimple_assign_rhs2 (_a5);
2426 : 0 : _q61 = do_valueize (valueize, _q61);
2427 : 0 : if (integer_onep (_q60))
2428 : : {
2429 : 0 : switch (TREE_CODE (_p1))
2430 : : {
2431 : 0 : case SSA_NAME:
2432 : 0 : if (gimple *_d6 = get_def (valueize, _p1))
2433 : : {
2434 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
2435 : 0 : switch (gimple_assign_rhs_code (_a6))
2436 : : {
2437 : 0 : CASE_CONVERT:
2438 : 0 : {
2439 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
2440 : 0 : _q100 = do_valueize (valueize, _q100);
2441 : 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
2442 : : {
2443 : 0 : {
2444 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _q31, _q50, _p0, _q30, _q60, _q61, _q32 };
2445 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
2446 : : )
2447 : : {
2448 : 0 : {
2449 : 0 : res_ops[0] = captures[0];
2450 : 0 : res_ops[1] = captures[1];
2451 : 0 : res_ops[2] = captures[2];
2452 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 98, __FILE__, __LINE__, false);
2453 : 0 : return true;
2454 : : }
2455 : : }
2456 : : }
2457 : : }
2458 : : break;
2459 : : }
2460 : : default:;
2461 : : }
2462 : : }
2463 : : break;
2464 : 0 : default:;
2465 : : }
2466 : 0 : if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
2467 : : {
2468 : 0 : {
2469 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _q31, _q50, _p0, _q30, _q60, _q61, _q32 };
2470 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
2471 : : )
2472 : : {
2473 : 0 : {
2474 : 0 : res_ops[0] = captures[0];
2475 : 0 : res_ops[1] = captures[1];
2476 : 0 : res_ops[2] = captures[2];
2477 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 98, __FILE__, __LINE__, false);
2478 : 0 : return true;
2479 : : }
2480 : : }
2481 : : }
2482 : : }
2483 : : }
2484 : : break;
2485 : : }
2486 : : default:;
2487 : : }
2488 : : }
2489 : : break;
2490 : : default:;
2491 : : }
2492 : : break;
2493 : : }
2494 : : default:;
2495 : : }
2496 : : }
2497 : : break;
2498 : 6 : case INTEGER_CST:
2499 : 6 : {
2500 : 6 : switch (TREE_CODE (_p1))
2501 : : {
2502 : 6 : case INTEGER_CST:
2503 : 6 : {
2504 : 6 : {
2505 : 6 : tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, t, _q30, _q32 };
2506 : 6 : {
2507 : 6 : int ibit = wi::exact_log2 (wi::zext (wi::bit_not (wi::to_wide (captures[0])),
2508 : 6 : TYPE_PRECISION(type)));
2509 : 6 : int ibit2 = tree_log2 (captures[1]);
2510 : 6 : if (ibit == ibit2
2511 : 6 : && ibit >= 0
2512 : 6 : && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
2513 : : )
2514 : : {
2515 : 6 : {
2516 : 6 : res_ops[0] = captures[0];
2517 : 6 : res_ops[1] = captures[1];
2518 : 6 : res_ops[2] = captures[2];
2519 : 6 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 99, __FILE__, __LINE__, false);
2520 : 6 : return true;
2521 : : }
2522 : : }
2523 : : }
2524 : : }
2525 : : break;
2526 : : }
2527 : : default:;
2528 : : }
2529 : : break;
2530 : : }
2531 : 10 : default:;
2532 : : }
2533 : 10 : {
2534 : 10 : tree _q31_pops[1];
2535 : 10 : if (gimple_nop_convert (_q31, _q31_pops, valueize))
2536 : : {
2537 : 10 : tree _q50 = _q31_pops[0];
2538 : 10 : switch (TREE_CODE (_q50))
2539 : : {
2540 : 10 : case SSA_NAME:
2541 : 10 : if (gimple *_d4 = get_def (valueize, _q50))
2542 : : {
2543 : 10 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
2544 : 10 : switch (gimple_assign_rhs_code (_a4))
2545 : : {
2546 : 10 : case BIT_NOT_EXPR:
2547 : 10 : {
2548 : 10 : tree _q60 = gimple_assign_rhs1 (_a4);
2549 : 10 : _q60 = do_valueize (valueize, _q60);
2550 : 10 : switch (TREE_CODE (_q60))
2551 : : {
2552 : 10 : case SSA_NAME:
2553 : 10 : if (gimple *_d5 = get_def (valueize, _q60))
2554 : : {
2555 : 10 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
2556 : 8 : switch (gimple_assign_rhs_code (_a5))
2557 : : {
2558 : 8 : case LSHIFT_EXPR:
2559 : 8 : {
2560 : 8 : tree _q70 = gimple_assign_rhs1 (_a5);
2561 : 8 : _q70 = do_valueize (valueize, _q70);
2562 : 8 : tree _q71 = gimple_assign_rhs2 (_a5);
2563 : 8 : _q71 = do_valueize (valueize, _q71);
2564 : 8 : if (integer_onep (_q70))
2565 : : {
2566 : 8 : switch (TREE_CODE (_p1))
2567 : : {
2568 : 8 : case SSA_NAME:
2569 : 8 : if (gimple *_d6 = get_def (valueize, _p1))
2570 : : {
2571 : 8 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
2572 : 8 : switch (gimple_assign_rhs_code (_a6))
2573 : : {
2574 : 2 : CASE_CONVERT:
2575 : 2 : {
2576 : 2 : tree _q110 = gimple_assign_rhs1 (_a6);
2577 : 2 : _q110 = do_valueize (valueize, _q110);
2578 : 2 : if ((_q110 == _q60 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q60, 0) && types_match (_q110, _q60)))
2579 : : {
2580 : 2 : {
2581 : 2 : tree captures[7] ATTRIBUTE_UNUSED = { _q31, _q60, _p0, _q30, _q70, _q71, _q32 };
2582 : 2 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
2583 : : )
2584 : : {
2585 : 2 : {
2586 : 2 : res_ops[0] = captures[0];
2587 : 2 : res_ops[1] = captures[1];
2588 : 2 : res_ops[2] = captures[2];
2589 : 2 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 98, __FILE__, __LINE__, false);
2590 : 2 : return true;
2591 : : }
2592 : : }
2593 : : }
2594 : : }
2595 : : break;
2596 : : }
2597 : : default:;
2598 : : }
2599 : : }
2600 : : break;
2601 : 6 : default:;
2602 : : }
2603 : 6 : if ((_p1 == _q60 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q60, 0) && types_match (_p1, _q60)))
2604 : : {
2605 : 6 : {
2606 : 6 : tree captures[7] ATTRIBUTE_UNUSED = { _q31, _q60, _p0, _q30, _q70, _q71, _q32 };
2607 : 6 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
2608 : : )
2609 : : {
2610 : 6 : {
2611 : 6 : res_ops[0] = captures[0];
2612 : 6 : res_ops[1] = captures[1];
2613 : 6 : res_ops[2] = captures[2];
2614 : 6 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 98, __FILE__, __LINE__, false);
2615 : 6 : return true;
2616 : : }
2617 : : }
2618 : : }
2619 : : }
2620 : : }
2621 : : break;
2622 : : }
2623 : : default:;
2624 : : }
2625 : : }
2626 : : break;
2627 : : default:;
2628 : : }
2629 : : break;
2630 : : }
2631 : : default:;
2632 : : }
2633 : : }
2634 : : break;
2635 : : default:;
2636 : : }
2637 : : }
2638 : : }
2639 : : }
2640 : : break;
2641 : 10 : case CFN_BUILT_IN_SYNC_FETCH_AND_AND_1:
2642 : 10 : case CFN_BUILT_IN_SYNC_FETCH_AND_AND_2:
2643 : 10 : case CFN_BUILT_IN_SYNC_FETCH_AND_AND_4:
2644 : 10 : case CFN_BUILT_IN_SYNC_FETCH_AND_AND_8:
2645 : 10 : case CFN_BUILT_IN_SYNC_FETCH_AND_AND_16:
2646 : 10 : if (gimple_call_num_args (_c3) == 2)
2647 : : {
2648 : 10 : tree _q30 = gimple_call_arg (_c3, 0);
2649 : 10 : _q30 = do_valueize (valueize, _q30);
2650 : 10 : tree _q31 = gimple_call_arg (_c3, 1);
2651 : 10 : _q31 = do_valueize (valueize, _q31);
2652 : 10 : switch (TREE_CODE (_q31))
2653 : : {
2654 : 6 : case INTEGER_CST:
2655 : 6 : {
2656 : 6 : switch (TREE_CODE (_p1))
2657 : : {
2658 : 6 : case INTEGER_CST:
2659 : 6 : {
2660 : 6 : {
2661 : 6 : tree captures[5] ATTRIBUTE_UNUSED = { _q31, _p1, _p0, t, _q30 };
2662 : 6 : {
2663 : 6 : int ibit = wi::exact_log2 (wi::zext (wi::bit_not (wi::to_wide (captures[0])),
2664 : 6 : TYPE_PRECISION(type)));
2665 : 6 : int ibit2 = tree_log2 (captures[1]);
2666 : 6 : if (ibit == ibit2
2667 : 6 : && ibit >= 0
2668 : 6 : && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
2669 : : )
2670 : : {
2671 : 6 : {
2672 : 6 : res_ops[0] = captures[0];
2673 : 6 : res_ops[1] = captures[1];
2674 : 6 : res_ops[2] = captures[2];
2675 : 6 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 100, __FILE__, __LINE__, false);
2676 : 6 : return true;
2677 : : }
2678 : : }
2679 : : }
2680 : : }
2681 : : break;
2682 : : }
2683 : : default:;
2684 : : }
2685 : : break;
2686 : : }
2687 : : default:;
2688 : : }
2689 : : }
2690 : : break;
2691 : : default:;
2692 : : }
2693 : : }
2694 : : break;
2695 : 6 : default:;
2696 : : }
2697 : 6 : switch (TREE_CODE (_p1))
2698 : : {
2699 : 6 : case SSA_NAME:
2700 : 6 : if (gimple *_d3 = get_def (valueize, _p1))
2701 : : {
2702 : 6 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
2703 : 4 : switch (gimple_assign_rhs_code (_a3))
2704 : : {
2705 : 2 : CASE_CONVERT:
2706 : 2 : {
2707 : 2 : tree _q40 = gimple_assign_rhs1 (_a3);
2708 : 2 : _q40 = do_valueize (valueize, _q40);
2709 : 2 : switch (TREE_CODE (_q40))
2710 : : {
2711 : 2 : case SSA_NAME:
2712 : 2 : if (gimple *_d4 = get_def (valueize, _q40))
2713 : : {
2714 : 2 : if (gcall *_c4 = dyn_cast <gcall *> (_d4))
2715 : 0 : switch (gimple_call_combined_fn (_c4))
2716 : : {
2717 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_AND_1:
2718 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_AND_2:
2719 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_AND_4:
2720 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_AND_8:
2721 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_AND_16:
2722 : 0 : if (gimple_call_num_args (_c4) == 3)
2723 : : {
2724 : 0 : tree _q50 = gimple_call_arg (_c4, 0);
2725 : 0 : _q50 = do_valueize (valueize, _q50);
2726 : 0 : tree _q51 = gimple_call_arg (_c4, 1);
2727 : 0 : _q51 = do_valueize (valueize, _q51);
2728 : 0 : tree _q52 = gimple_call_arg (_c4, 2);
2729 : 0 : _q52 = do_valueize (valueize, _q52);
2730 : 0 : switch (TREE_CODE (_q51))
2731 : : {
2732 : 0 : case SSA_NAME:
2733 : 0 : if (gimple *_d5 = get_def (valueize, _q51))
2734 : : {
2735 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
2736 : 0 : switch (gimple_assign_rhs_code (_a5))
2737 : : {
2738 : 0 : case BIT_NOT_EXPR:
2739 : 0 : {
2740 : 0 : tree _q70 = gimple_assign_rhs1 (_a5);
2741 : 0 : _q70 = do_valueize (valueize, _q70);
2742 : 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
2743 : : {
2744 : 0 : switch (TREE_CODE (_q70))
2745 : : {
2746 : 0 : case SSA_NAME:
2747 : 0 : if (gimple *_d6 = get_def (valueize, _q70))
2748 : : {
2749 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
2750 : 0 : switch (gimple_assign_rhs_code (_a6))
2751 : : {
2752 : 0 : case LSHIFT_EXPR:
2753 : 0 : {
2754 : 0 : tree _q90 = gimple_assign_rhs1 (_a6);
2755 : 0 : _q90 = do_valueize (valueize, _q90);
2756 : 0 : tree _q91 = gimple_assign_rhs2 (_a6);
2757 : 0 : _q91 = do_valueize (valueize, _q91);
2758 : 0 : if (integer_onep (_q90))
2759 : : {
2760 : 0 : {
2761 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _q51, _q20, _p1, _q50, _q90, _q91, _q52 };
2762 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
2763 : : )
2764 : : {
2765 : 0 : {
2766 : 0 : res_ops[0] = captures[0];
2767 : 0 : res_ops[1] = captures[1];
2768 : 0 : res_ops[2] = captures[2];
2769 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 98, __FILE__, __LINE__, false);
2770 : 0 : return true;
2771 : : }
2772 : : }
2773 : : }
2774 : : }
2775 : : break;
2776 : : }
2777 : : default:;
2778 : : }
2779 : : }
2780 : : break;
2781 : : default:;
2782 : : }
2783 : : }
2784 : : break;
2785 : : }
2786 : : default:;
2787 : : }
2788 : : }
2789 : : break;
2790 : 0 : default:;
2791 : : }
2792 : 0 : {
2793 : 0 : tree _q51_pops[1];
2794 : 0 : if (gimple_nop_convert (_q51, _q51_pops, valueize))
2795 : : {
2796 : 0 : tree _q70 = _q51_pops[0];
2797 : 0 : switch (TREE_CODE (_q70))
2798 : : {
2799 : 0 : case SSA_NAME:
2800 : 0 : if (gimple *_d5 = get_def (valueize, _q70))
2801 : : {
2802 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
2803 : 0 : switch (gimple_assign_rhs_code (_a5))
2804 : : {
2805 : 0 : case BIT_NOT_EXPR:
2806 : 0 : {
2807 : 0 : tree _q80 = gimple_assign_rhs1 (_a5);
2808 : 0 : _q80 = do_valueize (valueize, _q80);
2809 : 0 : if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
2810 : : {
2811 : 0 : switch (TREE_CODE (_q80))
2812 : : {
2813 : 0 : case SSA_NAME:
2814 : 0 : if (gimple *_d6 = get_def (valueize, _q80))
2815 : : {
2816 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
2817 : 0 : switch (gimple_assign_rhs_code (_a6))
2818 : : {
2819 : 0 : case LSHIFT_EXPR:
2820 : 0 : {
2821 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
2822 : 0 : _q100 = do_valueize (valueize, _q100);
2823 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
2824 : 0 : _q101 = do_valueize (valueize, _q101);
2825 : 0 : if (integer_onep (_q100))
2826 : : {
2827 : 0 : {
2828 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _q51, _q20, _p1, _q50, _q100, _q101, _q52 };
2829 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
2830 : : )
2831 : : {
2832 : 0 : {
2833 : 0 : res_ops[0] = captures[0];
2834 : 0 : res_ops[1] = captures[1];
2835 : 0 : res_ops[2] = captures[2];
2836 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 98, __FILE__, __LINE__, false);
2837 : 0 : return true;
2838 : : }
2839 : : }
2840 : : }
2841 : : }
2842 : : break;
2843 : : }
2844 : : default:;
2845 : : }
2846 : : }
2847 : : break;
2848 : : default:;
2849 : : }
2850 : : }
2851 : : break;
2852 : : }
2853 : : default:;
2854 : : }
2855 : : }
2856 : : break;
2857 : : default:;
2858 : : }
2859 : : }
2860 : : }
2861 : : }
2862 : : break;
2863 : : default:;
2864 : : }
2865 : : }
2866 : : break;
2867 : : default:;
2868 : : }
2869 : : break;
2870 : : }
2871 : : default:;
2872 : : }
2873 : 2 : else if (gcall *_c3 = dyn_cast <gcall *> (_d3))
2874 : 0 : switch (gimple_call_combined_fn (_c3))
2875 : : {
2876 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_AND_1:
2877 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_AND_2:
2878 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_AND_4:
2879 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_AND_8:
2880 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_AND_16:
2881 : 0 : if (gimple_call_num_args (_c3) == 3)
2882 : : {
2883 : 0 : tree _q40 = gimple_call_arg (_c3, 0);
2884 : 0 : _q40 = do_valueize (valueize, _q40);
2885 : 0 : tree _q41 = gimple_call_arg (_c3, 1);
2886 : 0 : _q41 = do_valueize (valueize, _q41);
2887 : 0 : tree _q42 = gimple_call_arg (_c3, 2);
2888 : 0 : _q42 = do_valueize (valueize, _q42);
2889 : 0 : switch (TREE_CODE (_q41))
2890 : : {
2891 : 0 : case SSA_NAME:
2892 : 0 : if (gimple *_d4 = get_def (valueize, _q41))
2893 : : {
2894 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
2895 : 0 : switch (gimple_assign_rhs_code (_a4))
2896 : : {
2897 : 0 : case BIT_NOT_EXPR:
2898 : 0 : {
2899 : 0 : tree _q60 = gimple_assign_rhs1 (_a4);
2900 : 0 : _q60 = do_valueize (valueize, _q60);
2901 : 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
2902 : : {
2903 : 0 : switch (TREE_CODE (_q60))
2904 : : {
2905 : 0 : case SSA_NAME:
2906 : 0 : if (gimple *_d5 = get_def (valueize, _q60))
2907 : : {
2908 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
2909 : 0 : switch (gimple_assign_rhs_code (_a5))
2910 : : {
2911 : 0 : case LSHIFT_EXPR:
2912 : 0 : {
2913 : 0 : tree _q80 = gimple_assign_rhs1 (_a5);
2914 : 0 : _q80 = do_valueize (valueize, _q80);
2915 : 0 : tree _q81 = gimple_assign_rhs2 (_a5);
2916 : 0 : _q81 = do_valueize (valueize, _q81);
2917 : 0 : if (integer_onep (_q80))
2918 : : {
2919 : 0 : {
2920 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _q41, _q20, _p1, _q40, _q80, _q81, _q42 };
2921 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
2922 : : )
2923 : : {
2924 : 0 : {
2925 : 0 : res_ops[0] = captures[0];
2926 : 0 : res_ops[1] = captures[1];
2927 : 0 : res_ops[2] = captures[2];
2928 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 98, __FILE__, __LINE__, false);
2929 : 0 : return true;
2930 : : }
2931 : : }
2932 : : }
2933 : : }
2934 : : break;
2935 : : }
2936 : : default:;
2937 : : }
2938 : : }
2939 : : break;
2940 : : default:;
2941 : : }
2942 : : }
2943 : : break;
2944 : : }
2945 : : default:;
2946 : : }
2947 : : }
2948 : : break;
2949 : 0 : default:;
2950 : : }
2951 : 0 : {
2952 : 0 : tree _q41_pops[1];
2953 : 0 : if (gimple_nop_convert (_q41, _q41_pops, valueize))
2954 : : {
2955 : 0 : tree _q60 = _q41_pops[0];
2956 : 0 : switch (TREE_CODE (_q60))
2957 : : {
2958 : 0 : case SSA_NAME:
2959 : 0 : if (gimple *_d4 = get_def (valueize, _q60))
2960 : : {
2961 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
2962 : 0 : switch (gimple_assign_rhs_code (_a4))
2963 : : {
2964 : 0 : case BIT_NOT_EXPR:
2965 : 0 : {
2966 : 0 : tree _q70 = gimple_assign_rhs1 (_a4);
2967 : 0 : _q70 = do_valueize (valueize, _q70);
2968 : 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
2969 : : {
2970 : 0 : switch (TREE_CODE (_q70))
2971 : : {
2972 : 0 : case SSA_NAME:
2973 : 0 : if (gimple *_d5 = get_def (valueize, _q70))
2974 : : {
2975 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
2976 : 0 : switch (gimple_assign_rhs_code (_a5))
2977 : : {
2978 : 0 : case LSHIFT_EXPR:
2979 : 0 : {
2980 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
2981 : 0 : _q90 = do_valueize (valueize, _q90);
2982 : 0 : tree _q91 = gimple_assign_rhs2 (_a5);
2983 : 0 : _q91 = do_valueize (valueize, _q91);
2984 : 0 : if (integer_onep (_q90))
2985 : : {
2986 : 0 : {
2987 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _q41, _q20, _p1, _q40, _q90, _q91, _q42 };
2988 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
2989 : : )
2990 : : {
2991 : 0 : {
2992 : 0 : res_ops[0] = captures[0];
2993 : 0 : res_ops[1] = captures[1];
2994 : 0 : res_ops[2] = captures[2];
2995 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 98, __FILE__, __LINE__, false);
2996 : 0 : return true;
2997 : : }
2998 : : }
2999 : : }
3000 : : }
3001 : : break;
3002 : : }
3003 : : default:;
3004 : : }
3005 : : }
3006 : : break;
3007 : : default:;
3008 : : }
3009 : : }
3010 : : break;
3011 : : }
3012 : : default:;
3013 : : }
3014 : : }
3015 : : break;
3016 : : default:;
3017 : : }
3018 : : }
3019 : : }
3020 : : }
3021 : : break;
3022 : : default:;
3023 : : }
3024 : : }
3025 : : break;
3026 : : default:;
3027 : : }
3028 : : break;
3029 : : }
3030 : : default:;
3031 : : }
3032 : : }
3033 : : break;
3034 : 6 : default:;
3035 : : }
3036 : 6 : switch (TREE_CODE (_p1))
3037 : : {
3038 : 6 : case SSA_NAME:
3039 : 6 : if (gimple *_d2 = get_def (valueize, _p1))
3040 : : {
3041 : 6 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
3042 : 4 : switch (gimple_assign_rhs_code (_a2))
3043 : : {
3044 : 2 : CASE_CONVERT:
3045 : 2 : {
3046 : 2 : tree _q30 = gimple_assign_rhs1 (_a2);
3047 : 2 : _q30 = do_valueize (valueize, _q30);
3048 : 2 : switch (TREE_CODE (_q30))
3049 : : {
3050 : 2 : case SSA_NAME:
3051 : 2 : if (gimple *_d3 = get_def (valueize, _q30))
3052 : : {
3053 : 2 : if (gcall *_c3 = dyn_cast <gcall *> (_d3))
3054 : 0 : switch (gimple_call_combined_fn (_c3))
3055 : : {
3056 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_OR_1:
3057 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_OR_2:
3058 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_OR_4:
3059 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_OR_8:
3060 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_OR_16:
3061 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_1:
3062 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_2:
3063 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_4:
3064 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_8:
3065 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_16:
3066 : 0 : case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_1:
3067 : 0 : case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_2:
3068 : 0 : case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_4:
3069 : 0 : case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_8:
3070 : 0 : case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_16:
3071 : 0 : if (gimple_call_num_args (_c3) == 2)
3072 : : {
3073 : 0 : tree _q40 = gimple_call_arg (_c3, 0);
3074 : 0 : _q40 = do_valueize (valueize, _q40);
3075 : 0 : tree _q41 = gimple_call_arg (_c3, 1);
3076 : 0 : _q41 = do_valueize (valueize, _q41);
3077 : 0 : {
3078 : 0 : tree _q41_pops[1];
3079 : 0 : if (gimple_nop_convert (_q41, _q41_pops, valueize))
3080 : : {
3081 : 0 : tree _q60 = _q41_pops[0];
3082 : 0 : if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
3083 : : {
3084 : 0 : switch (TREE_CODE (_q60))
3085 : : {
3086 : 0 : case SSA_NAME:
3087 : 0 : if (gimple *_d4 = get_def (valueize, _q60))
3088 : : {
3089 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
3090 : 0 : switch (gimple_assign_rhs_code (_a4))
3091 : : {
3092 : 0 : case LSHIFT_EXPR:
3093 : 0 : {
3094 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
3095 : 0 : _q80 = do_valueize (valueize, _q80);
3096 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
3097 : 0 : _q81 = do_valueize (valueize, _q81);
3098 : 0 : if (integer_onep (_q80))
3099 : : {
3100 : 0 : {
3101 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q80, _q81 };
3102 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
3103 : : )
3104 : : {
3105 : 0 : {
3106 : 0 : res_ops[0] = captures[0];
3107 : 0 : res_ops[1] = captures[0];
3108 : 0 : res_ops[2] = captures[1];
3109 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 97, __FILE__, __LINE__, false);
3110 : 0 : return true;
3111 : : }
3112 : : }
3113 : : }
3114 : : }
3115 : : break;
3116 : : }
3117 : : default:;
3118 : : }
3119 : : }
3120 : : break;
3121 : : default:;
3122 : : }
3123 : : }
3124 : : }
3125 : : }
3126 : 0 : if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
3127 : : {
3128 : 0 : switch (TREE_CODE (_q41))
3129 : : {
3130 : 0 : case SSA_NAME:
3131 : 0 : if (gimple *_d4 = get_def (valueize, _q41))
3132 : : {
3133 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
3134 : 0 : switch (gimple_assign_rhs_code (_a4))
3135 : : {
3136 : 0 : case LSHIFT_EXPR:
3137 : 0 : {
3138 : 0 : tree _q70 = gimple_assign_rhs1 (_a4);
3139 : 0 : _q70 = do_valueize (valueize, _q70);
3140 : 0 : tree _q71 = gimple_assign_rhs2 (_a4);
3141 : 0 : _q71 = do_valueize (valueize, _q71);
3142 : 0 : if (integer_onep (_q70))
3143 : : {
3144 : 0 : {
3145 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q40, _q70, _q71 };
3146 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
3147 : : )
3148 : : {
3149 : 0 : {
3150 : 0 : res_ops[0] = captures[0];
3151 : 0 : res_ops[1] = captures[0];
3152 : 0 : res_ops[2] = captures[1];
3153 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 97, __FILE__, __LINE__, false);
3154 : 0 : return true;
3155 : : }
3156 : : }
3157 : : }
3158 : : }
3159 : : break;
3160 : : }
3161 : : default:;
3162 : : }
3163 : : }
3164 : : break;
3165 : : default:;
3166 : : }
3167 : : }
3168 : : }
3169 : : break;
3170 : : default:;
3171 : : }
3172 : : }
3173 : : break;
3174 : : default:;
3175 : : }
3176 : : break;
3177 : : }
3178 : : default:;
3179 : : }
3180 : 2 : else if (gcall *_c2 = dyn_cast <gcall *> (_d2))
3181 : 0 : switch (gimple_call_combined_fn (_c2))
3182 : : {
3183 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_OR_1:
3184 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_OR_2:
3185 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_OR_4:
3186 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_OR_8:
3187 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_OR_16:
3188 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_1:
3189 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_2:
3190 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_4:
3191 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_8:
3192 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_XOR_16:
3193 : 0 : case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_1:
3194 : 0 : case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_2:
3195 : 0 : case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_4:
3196 : 0 : case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_8:
3197 : 0 : case CFN_BUILT_IN_SYNC_XOR_AND_FETCH_16:
3198 : 0 : if (gimple_call_num_args (_c2) == 2)
3199 : : {
3200 : 0 : tree _q30 = gimple_call_arg (_c2, 0);
3201 : 0 : _q30 = do_valueize (valueize, _q30);
3202 : 0 : tree _q31 = gimple_call_arg (_c2, 1);
3203 : 0 : _q31 = do_valueize (valueize, _q31);
3204 : 0 : {
3205 : 0 : tree _q31_pops[1];
3206 : 0 : if (gimple_nop_convert (_q31, _q31_pops, valueize))
3207 : : {
3208 : 0 : tree _q50 = _q31_pops[0];
3209 : 0 : if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
3210 : : {
3211 : 0 : switch (TREE_CODE (_q50))
3212 : : {
3213 : 0 : case SSA_NAME:
3214 : 0 : if (gimple *_d3 = get_def (valueize, _q50))
3215 : : {
3216 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
3217 : 0 : switch (gimple_assign_rhs_code (_a3))
3218 : : {
3219 : 0 : case LSHIFT_EXPR:
3220 : 0 : {
3221 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
3222 : 0 : _q70 = do_valueize (valueize, _q70);
3223 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
3224 : 0 : _q71 = do_valueize (valueize, _q71);
3225 : 0 : if (integer_onep (_q70))
3226 : : {
3227 : 0 : {
3228 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q70, _q71 };
3229 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
3230 : : )
3231 : : {
3232 : 0 : {
3233 : 0 : res_ops[0] = captures[0];
3234 : 0 : res_ops[1] = captures[0];
3235 : 0 : res_ops[2] = captures[1];
3236 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 97, __FILE__, __LINE__, false);
3237 : 0 : return true;
3238 : : }
3239 : : }
3240 : : }
3241 : : }
3242 : : break;
3243 : : }
3244 : : default:;
3245 : : }
3246 : : }
3247 : : break;
3248 : : default:;
3249 : : }
3250 : : }
3251 : : }
3252 : : }
3253 : 0 : if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
3254 : : {
3255 : 0 : switch (TREE_CODE (_q31))
3256 : : {
3257 : 0 : case SSA_NAME:
3258 : 0 : if (gimple *_d3 = get_def (valueize, _q31))
3259 : : {
3260 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
3261 : 0 : switch (gimple_assign_rhs_code (_a3))
3262 : : {
3263 : 0 : case LSHIFT_EXPR:
3264 : 0 : {
3265 : 0 : tree _q60 = gimple_assign_rhs1 (_a3);
3266 : 0 : _q60 = do_valueize (valueize, _q60);
3267 : 0 : tree _q61 = gimple_assign_rhs2 (_a3);
3268 : 0 : _q61 = do_valueize (valueize, _q61);
3269 : 0 : if (integer_onep (_q60))
3270 : : {
3271 : 0 : {
3272 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q60, _q61 };
3273 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
3274 : : )
3275 : : {
3276 : 0 : {
3277 : 0 : res_ops[0] = captures[0];
3278 : 0 : res_ops[1] = captures[0];
3279 : 0 : res_ops[2] = captures[1];
3280 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 97, __FILE__, __LINE__, false);
3281 : 0 : return true;
3282 : : }
3283 : : }
3284 : : }
3285 : : }
3286 : : break;
3287 : : }
3288 : : default:;
3289 : : }
3290 : : }
3291 : : break;
3292 : : default:;
3293 : : }
3294 : : }
3295 : : }
3296 : : break;
3297 : : default:;
3298 : : }
3299 : : }
3300 : : break;
3301 : 6 : default:;
3302 : : }
3303 : 6 : switch (TREE_CODE (_p0))
3304 : : {
3305 : 6 : case SSA_NAME:
3306 : 6 : if (gimple *_d2 = get_def (valueize, _p0))
3307 : : {
3308 : 6 : if (gcall *_c2 = dyn_cast <gcall *> (_d2))
3309 : 0 : switch (gimple_call_combined_fn (_c2))
3310 : : {
3311 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_AND_1:
3312 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_AND_2:
3313 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_AND_4:
3314 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_AND_8:
3315 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_AND_16:
3316 : 0 : if (gimple_call_num_args (_c2) == 3)
3317 : : {
3318 : 0 : tree _q20 = gimple_call_arg (_c2, 0);
3319 : 0 : _q20 = do_valueize (valueize, _q20);
3320 : 0 : tree _q21 = gimple_call_arg (_c2, 1);
3321 : 0 : _q21 = do_valueize (valueize, _q21);
3322 : 0 : tree _q22 = gimple_call_arg (_c2, 2);
3323 : 0 : _q22 = do_valueize (valueize, _q22);
3324 : 0 : switch (TREE_CODE (_q21))
3325 : : {
3326 : 0 : case SSA_NAME:
3327 : 0 : if (gimple *_d3 = get_def (valueize, _q21))
3328 : : {
3329 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
3330 : 0 : switch (gimple_assign_rhs_code (_a3))
3331 : : {
3332 : 0 : case BIT_NOT_EXPR:
3333 : 0 : {
3334 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
3335 : 0 : _q40 = do_valueize (valueize, _q40);
3336 : 0 : switch (TREE_CODE (_q40))
3337 : : {
3338 : 0 : case SSA_NAME:
3339 : 0 : if (gimple *_d4 = get_def (valueize, _q40))
3340 : : {
3341 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
3342 : 0 : switch (gimple_assign_rhs_code (_a4))
3343 : : {
3344 : 0 : case LSHIFT_EXPR:
3345 : 0 : {
3346 : 0 : tree _q50 = gimple_assign_rhs1 (_a4);
3347 : 0 : _q50 = do_valueize (valueize, _q50);
3348 : 0 : tree _q51 = gimple_assign_rhs2 (_a4);
3349 : 0 : _q51 = do_valueize (valueize, _q51);
3350 : 0 : if (integer_onep (_q50))
3351 : : {
3352 : 0 : switch (TREE_CODE (_p1))
3353 : : {
3354 : 0 : case SSA_NAME:
3355 : 0 : if (gimple *_d5 = get_def (valueize, _p1))
3356 : : {
3357 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
3358 : 0 : switch (gimple_assign_rhs_code (_a5))
3359 : : {
3360 : 0 : CASE_CONVERT:
3361 : 0 : {
3362 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
3363 : 0 : _q90 = do_valueize (valueize, _q90);
3364 : 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
3365 : : {
3366 : 0 : {
3367 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _q21, _q40, _p0, _q20, _q50, _q51, _q22 };
3368 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
3369 : : )
3370 : : {
3371 : 0 : {
3372 : 0 : res_ops[0] = captures[0];
3373 : 0 : res_ops[1] = captures[1];
3374 : 0 : res_ops[2] = captures[2];
3375 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 98, __FILE__, __LINE__, false);
3376 : 0 : return true;
3377 : : }
3378 : : }
3379 : : }
3380 : : }
3381 : : break;
3382 : : }
3383 : : default:;
3384 : : }
3385 : : }
3386 : : break;
3387 : 0 : default:;
3388 : : }
3389 : 0 : if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
3390 : : {
3391 : 0 : {
3392 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _q21, _q40, _p0, _q20, _q50, _q51, _q22 };
3393 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
3394 : : )
3395 : : {
3396 : 0 : {
3397 : 0 : res_ops[0] = captures[0];
3398 : 0 : res_ops[1] = captures[1];
3399 : 0 : res_ops[2] = captures[2];
3400 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 98, __FILE__, __LINE__, false);
3401 : 0 : return true;
3402 : : }
3403 : : }
3404 : : }
3405 : : }
3406 : : }
3407 : : break;
3408 : : }
3409 : : default:;
3410 : : }
3411 : : }
3412 : : break;
3413 : : default:;
3414 : : }
3415 : : break;
3416 : : }
3417 : : default:;
3418 : : }
3419 : : }
3420 : : break;
3421 : 0 : case INTEGER_CST:
3422 : 0 : {
3423 : 0 : switch (TREE_CODE (_p1))
3424 : : {
3425 : 0 : case INTEGER_CST:
3426 : 0 : {
3427 : 0 : {
3428 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, t, _q20, _q22 };
3429 : 0 : {
3430 : 0 : int ibit = wi::exact_log2 (wi::zext (wi::bit_not (wi::to_wide (captures[0])),
3431 : 0 : TYPE_PRECISION(type)));
3432 : 0 : int ibit2 = tree_log2 (captures[1]);
3433 : 0 : if (ibit == ibit2
3434 : 0 : && ibit >= 0
3435 : 0 : && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
3436 : : )
3437 : : {
3438 : 0 : {
3439 : 0 : res_ops[0] = captures[0];
3440 : 0 : res_ops[1] = captures[1];
3441 : 0 : res_ops[2] = captures[2];
3442 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 99, __FILE__, __LINE__, false);
3443 : 0 : return true;
3444 : : }
3445 : : }
3446 : : }
3447 : : }
3448 : : break;
3449 : : }
3450 : : default:;
3451 : : }
3452 : : break;
3453 : : }
3454 : 0 : default:;
3455 : : }
3456 : 0 : {
3457 : 0 : tree _q21_pops[1];
3458 : 0 : if (gimple_nop_convert (_q21, _q21_pops, valueize))
3459 : : {
3460 : 0 : tree _q40 = _q21_pops[0];
3461 : 0 : switch (TREE_CODE (_q40))
3462 : : {
3463 : 0 : case SSA_NAME:
3464 : 0 : if (gimple *_d3 = get_def (valueize, _q40))
3465 : : {
3466 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
3467 : 0 : switch (gimple_assign_rhs_code (_a3))
3468 : : {
3469 : 0 : case BIT_NOT_EXPR:
3470 : 0 : {
3471 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
3472 : 0 : _q50 = do_valueize (valueize, _q50);
3473 : 0 : switch (TREE_CODE (_q50))
3474 : : {
3475 : 0 : case SSA_NAME:
3476 : 0 : if (gimple *_d4 = get_def (valueize, _q50))
3477 : : {
3478 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
3479 : 0 : switch (gimple_assign_rhs_code (_a4))
3480 : : {
3481 : 0 : case LSHIFT_EXPR:
3482 : 0 : {
3483 : 0 : tree _q60 = gimple_assign_rhs1 (_a4);
3484 : 0 : _q60 = do_valueize (valueize, _q60);
3485 : 0 : tree _q61 = gimple_assign_rhs2 (_a4);
3486 : 0 : _q61 = do_valueize (valueize, _q61);
3487 : 0 : if (integer_onep (_q60))
3488 : : {
3489 : 0 : switch (TREE_CODE (_p1))
3490 : : {
3491 : 0 : case SSA_NAME:
3492 : 0 : if (gimple *_d5 = get_def (valueize, _p1))
3493 : : {
3494 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
3495 : 0 : switch (gimple_assign_rhs_code (_a5))
3496 : : {
3497 : 0 : CASE_CONVERT:
3498 : 0 : {
3499 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
3500 : 0 : _q100 = do_valueize (valueize, _q100);
3501 : 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
3502 : : {
3503 : 0 : {
3504 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _q21, _q50, _p0, _q20, _q60, _q61, _q22 };
3505 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
3506 : : )
3507 : : {
3508 : 0 : {
3509 : 0 : res_ops[0] = captures[0];
3510 : 0 : res_ops[1] = captures[1];
3511 : 0 : res_ops[2] = captures[2];
3512 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 98, __FILE__, __LINE__, false);
3513 : 0 : return true;
3514 : : }
3515 : : }
3516 : : }
3517 : : }
3518 : : break;
3519 : : }
3520 : : default:;
3521 : : }
3522 : : }
3523 : : break;
3524 : 0 : default:;
3525 : : }
3526 : 0 : if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
3527 : : {
3528 : 0 : {
3529 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _q21, _q50, _p0, _q20, _q60, _q61, _q22 };
3530 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
3531 : : )
3532 : : {
3533 : 0 : {
3534 : 0 : res_ops[0] = captures[0];
3535 : 0 : res_ops[1] = captures[1];
3536 : 0 : res_ops[2] = captures[2];
3537 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 98, __FILE__, __LINE__, false);
3538 : 0 : return true;
3539 : : }
3540 : : }
3541 : : }
3542 : : }
3543 : : }
3544 : : break;
3545 : : }
3546 : : default:;
3547 : : }
3548 : : }
3549 : : break;
3550 : : default:;
3551 : : }
3552 : : break;
3553 : : }
3554 : : default:;
3555 : : }
3556 : : }
3557 : : break;
3558 : : default:;
3559 : : }
3560 : : }
3561 : : }
3562 : : }
3563 : : break;
3564 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_AND_1:
3565 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_AND_2:
3566 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_AND_4:
3567 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_AND_8:
3568 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_AND_16:
3569 : 0 : if (gimple_call_num_args (_c2) == 2)
3570 : : {
3571 : 0 : tree _q20 = gimple_call_arg (_c2, 0);
3572 : 0 : _q20 = do_valueize (valueize, _q20);
3573 : 0 : tree _q21 = gimple_call_arg (_c2, 1);
3574 : 0 : _q21 = do_valueize (valueize, _q21);
3575 : 0 : switch (TREE_CODE (_q21))
3576 : : {
3577 : 0 : case SSA_NAME:
3578 : 0 : if (gimple *_d3 = get_def (valueize, _q21))
3579 : : {
3580 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
3581 : 0 : switch (gimple_assign_rhs_code (_a3))
3582 : : {
3583 : 0 : case BIT_NOT_EXPR:
3584 : 0 : {
3585 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
3586 : 0 : _q40 = do_valueize (valueize, _q40);
3587 : 0 : switch (TREE_CODE (_q40))
3588 : : {
3589 : 0 : case SSA_NAME:
3590 : 0 : if (gimple *_d4 = get_def (valueize, _q40))
3591 : : {
3592 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
3593 : 0 : switch (gimple_assign_rhs_code (_a4))
3594 : : {
3595 : 0 : case LSHIFT_EXPR:
3596 : 0 : {
3597 : 0 : tree _q50 = gimple_assign_rhs1 (_a4);
3598 : 0 : _q50 = do_valueize (valueize, _q50);
3599 : 0 : tree _q51 = gimple_assign_rhs2 (_a4);
3600 : 0 : _q51 = do_valueize (valueize, _q51);
3601 : 0 : if (integer_onep (_q50))
3602 : : {
3603 : 0 : switch (TREE_CODE (_p1))
3604 : : {
3605 : 0 : case SSA_NAME:
3606 : 0 : if (gimple *_d5 = get_def (valueize, _p1))
3607 : : {
3608 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
3609 : 0 : switch (gimple_assign_rhs_code (_a5))
3610 : : {
3611 : 0 : CASE_CONVERT:
3612 : 0 : {
3613 : 0 : tree _q80 = gimple_assign_rhs1 (_a5);
3614 : 0 : _q80 = do_valueize (valueize, _q80);
3615 : 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
3616 : : {
3617 : 0 : {
3618 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _p0, _q20, _q50, _q51 };
3619 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
3620 : : )
3621 : : {
3622 : 0 : {
3623 : 0 : res_ops[0] = captures[0];
3624 : 0 : res_ops[1] = captures[1];
3625 : 0 : res_ops[2] = captures[2];
3626 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 101, __FILE__, __LINE__, false);
3627 : 0 : return true;
3628 : : }
3629 : : }
3630 : : }
3631 : : }
3632 : : break;
3633 : : }
3634 : : default:;
3635 : : }
3636 : : }
3637 : : break;
3638 : 0 : default:;
3639 : : }
3640 : 0 : if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
3641 : : {
3642 : 0 : {
3643 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _p0, _q20, _q50, _q51 };
3644 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
3645 : : )
3646 : : {
3647 : 0 : {
3648 : 0 : res_ops[0] = captures[0];
3649 : 0 : res_ops[1] = captures[1];
3650 : 0 : res_ops[2] = captures[2];
3651 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 101, __FILE__, __LINE__, false);
3652 : 0 : return true;
3653 : : }
3654 : : }
3655 : : }
3656 : : }
3657 : : }
3658 : : break;
3659 : : }
3660 : : default:;
3661 : : }
3662 : : }
3663 : : break;
3664 : : default:;
3665 : : }
3666 : : break;
3667 : : }
3668 : : default:;
3669 : : }
3670 : : }
3671 : : break;
3672 : 0 : case INTEGER_CST:
3673 : 0 : {
3674 : 0 : switch (TREE_CODE (_p1))
3675 : : {
3676 : 0 : case INTEGER_CST:
3677 : 0 : {
3678 : 0 : {
3679 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q21, _p1, _p0, t, _q20 };
3680 : 0 : {
3681 : 0 : int ibit = wi::exact_log2 (wi::zext (wi::bit_not (wi::to_wide (captures[0])),
3682 : 0 : TYPE_PRECISION(type)));
3683 : 0 : int ibit2 = tree_log2 (captures[1]);
3684 : 0 : if (ibit == ibit2
3685 : 0 : && ibit >= 0
3686 : 0 : && TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
3687 : : )
3688 : : {
3689 : 0 : {
3690 : 0 : res_ops[0] = captures[0];
3691 : 0 : res_ops[1] = captures[1];
3692 : 0 : res_ops[2] = captures[2];
3693 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 100, __FILE__, __LINE__, false);
3694 : 0 : return true;
3695 : : }
3696 : : }
3697 : : }
3698 : : }
3699 : : break;
3700 : : }
3701 : : default:;
3702 : : }
3703 : : break;
3704 : : }
3705 : 0 : default:;
3706 : : }
3707 : 0 : {
3708 : 0 : tree _q21_pops[1];
3709 : 0 : if (gimple_nop_convert (_q21, _q21_pops, valueize))
3710 : : {
3711 : 0 : tree _q40 = _q21_pops[0];
3712 : 0 : switch (TREE_CODE (_q40))
3713 : : {
3714 : 0 : case SSA_NAME:
3715 : 0 : if (gimple *_d3 = get_def (valueize, _q40))
3716 : : {
3717 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
3718 : 0 : switch (gimple_assign_rhs_code (_a3))
3719 : : {
3720 : 0 : case BIT_NOT_EXPR:
3721 : 0 : {
3722 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
3723 : 0 : _q50 = do_valueize (valueize, _q50);
3724 : 0 : switch (TREE_CODE (_q50))
3725 : : {
3726 : 0 : case SSA_NAME:
3727 : 0 : if (gimple *_d4 = get_def (valueize, _q50))
3728 : : {
3729 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
3730 : 0 : switch (gimple_assign_rhs_code (_a4))
3731 : : {
3732 : 0 : case LSHIFT_EXPR:
3733 : 0 : {
3734 : 0 : tree _q60 = gimple_assign_rhs1 (_a4);
3735 : 0 : _q60 = do_valueize (valueize, _q60);
3736 : 0 : tree _q61 = gimple_assign_rhs2 (_a4);
3737 : 0 : _q61 = do_valueize (valueize, _q61);
3738 : 0 : if (integer_onep (_q60))
3739 : : {
3740 : 0 : switch (TREE_CODE (_p1))
3741 : : {
3742 : 0 : case SSA_NAME:
3743 : 0 : if (gimple *_d5 = get_def (valueize, _p1))
3744 : : {
3745 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
3746 : 0 : switch (gimple_assign_rhs_code (_a5))
3747 : : {
3748 : 0 : CASE_CONVERT:
3749 : 0 : {
3750 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
3751 : 0 : _q90 = do_valueize (valueize, _q90);
3752 : 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
3753 : : {
3754 : 0 : {
3755 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q50, _p0, _q20, _q60, _q61 };
3756 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
3757 : : )
3758 : : {
3759 : 0 : {
3760 : 0 : res_ops[0] = captures[0];
3761 : 0 : res_ops[1] = captures[1];
3762 : 0 : res_ops[2] = captures[2];
3763 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 101, __FILE__, __LINE__, false);
3764 : 0 : return true;
3765 : : }
3766 : : }
3767 : : }
3768 : : }
3769 : : break;
3770 : : }
3771 : : default:;
3772 : : }
3773 : : }
3774 : : break;
3775 : 0 : default:;
3776 : : }
3777 : 0 : if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
3778 : : {
3779 : 0 : {
3780 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q50, _p0, _q20, _q60, _q61 };
3781 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
3782 : : )
3783 : : {
3784 : 0 : {
3785 : 0 : res_ops[0] = captures[0];
3786 : 0 : res_ops[1] = captures[1];
3787 : 0 : res_ops[2] = captures[2];
3788 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 101, __FILE__, __LINE__, false);
3789 : 0 : return true;
3790 : : }
3791 : : }
3792 : : }
3793 : : }
3794 : : }
3795 : : break;
3796 : : }
3797 : : default:;
3798 : : }
3799 : : }
3800 : : break;
3801 : : default:;
3802 : : }
3803 : : break;
3804 : : }
3805 : : default:;
3806 : : }
3807 : : }
3808 : : break;
3809 : : default:;
3810 : : }
3811 : : }
3812 : : }
3813 : : }
3814 : : break;
3815 : : default:;
3816 : : }
3817 : : }
3818 : : break;
3819 : 6 : default:;
3820 : : }
3821 : 6 : switch (TREE_CODE (_p1))
3822 : : {
3823 : 6 : case SSA_NAME:
3824 : 6 : if (gimple *_d2 = get_def (valueize, _p1))
3825 : : {
3826 : 6 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
3827 : 4 : switch (gimple_assign_rhs_code (_a2))
3828 : : {
3829 : 2 : CASE_CONVERT:
3830 : 2 : {
3831 : 2 : tree _q30 = gimple_assign_rhs1 (_a2);
3832 : 2 : _q30 = do_valueize (valueize, _q30);
3833 : 2 : switch (TREE_CODE (_q30))
3834 : : {
3835 : 2 : case SSA_NAME:
3836 : 2 : if (gimple *_d3 = get_def (valueize, _q30))
3837 : : {
3838 : 2 : if (gcall *_c3 = dyn_cast <gcall *> (_d3))
3839 : 0 : switch (gimple_call_combined_fn (_c3))
3840 : : {
3841 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_AND_1:
3842 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_AND_2:
3843 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_AND_4:
3844 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_AND_8:
3845 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_AND_16:
3846 : 0 : if (gimple_call_num_args (_c3) == 3)
3847 : : {
3848 : 0 : tree _q40 = gimple_call_arg (_c3, 0);
3849 : 0 : _q40 = do_valueize (valueize, _q40);
3850 : 0 : tree _q41 = gimple_call_arg (_c3, 1);
3851 : 0 : _q41 = do_valueize (valueize, _q41);
3852 : 0 : tree _q42 = gimple_call_arg (_c3, 2);
3853 : 0 : _q42 = do_valueize (valueize, _q42);
3854 : 0 : switch (TREE_CODE (_q41))
3855 : : {
3856 : 0 : case SSA_NAME:
3857 : 0 : if (gimple *_d4 = get_def (valueize, _q41))
3858 : : {
3859 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
3860 : 0 : switch (gimple_assign_rhs_code (_a4))
3861 : : {
3862 : 0 : case BIT_NOT_EXPR:
3863 : 0 : {
3864 : 0 : tree _q60 = gimple_assign_rhs1 (_a4);
3865 : 0 : _q60 = do_valueize (valueize, _q60);
3866 : 0 : if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
3867 : : {
3868 : 0 : switch (TREE_CODE (_q60))
3869 : : {
3870 : 0 : case SSA_NAME:
3871 : 0 : if (gimple *_d5 = get_def (valueize, _q60))
3872 : : {
3873 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
3874 : 0 : switch (gimple_assign_rhs_code (_a5))
3875 : : {
3876 : 0 : case LSHIFT_EXPR:
3877 : 0 : {
3878 : 0 : tree _q80 = gimple_assign_rhs1 (_a5);
3879 : 0 : _q80 = do_valueize (valueize, _q80);
3880 : 0 : tree _q81 = gimple_assign_rhs2 (_a5);
3881 : 0 : _q81 = do_valueize (valueize, _q81);
3882 : 0 : if (integer_onep (_q80))
3883 : : {
3884 : 0 : {
3885 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _q41, _p0, _p1, _q40, _q80, _q81, _q42 };
3886 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
3887 : : )
3888 : : {
3889 : 0 : {
3890 : 0 : res_ops[0] = captures[0];
3891 : 0 : res_ops[1] = captures[1];
3892 : 0 : res_ops[2] = captures[2];
3893 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 98, __FILE__, __LINE__, false);
3894 : 0 : return true;
3895 : : }
3896 : : }
3897 : : }
3898 : : }
3899 : : break;
3900 : : }
3901 : : default:;
3902 : : }
3903 : : }
3904 : : break;
3905 : : default:;
3906 : : }
3907 : : }
3908 : : break;
3909 : : }
3910 : : default:;
3911 : : }
3912 : : }
3913 : : break;
3914 : 0 : default:;
3915 : : }
3916 : 0 : {
3917 : 0 : tree _q41_pops[1];
3918 : 0 : if (gimple_nop_convert (_q41, _q41_pops, valueize))
3919 : : {
3920 : 0 : tree _q60 = _q41_pops[0];
3921 : 0 : switch (TREE_CODE (_q60))
3922 : : {
3923 : 0 : case SSA_NAME:
3924 : 0 : if (gimple *_d4 = get_def (valueize, _q60))
3925 : : {
3926 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
3927 : 0 : switch (gimple_assign_rhs_code (_a4))
3928 : : {
3929 : 0 : case BIT_NOT_EXPR:
3930 : 0 : {
3931 : 0 : tree _q70 = gimple_assign_rhs1 (_a4);
3932 : 0 : _q70 = do_valueize (valueize, _q70);
3933 : 0 : if ((_q70 == _p0 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p0, 0) && types_match (_q70, _p0)))
3934 : : {
3935 : 0 : switch (TREE_CODE (_q70))
3936 : : {
3937 : 0 : case SSA_NAME:
3938 : 0 : if (gimple *_d5 = get_def (valueize, _q70))
3939 : : {
3940 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
3941 : 0 : switch (gimple_assign_rhs_code (_a5))
3942 : : {
3943 : 0 : case LSHIFT_EXPR:
3944 : 0 : {
3945 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
3946 : 0 : _q90 = do_valueize (valueize, _q90);
3947 : 0 : tree _q91 = gimple_assign_rhs2 (_a5);
3948 : 0 : _q91 = do_valueize (valueize, _q91);
3949 : 0 : if (integer_onep (_q90))
3950 : : {
3951 : 0 : {
3952 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _q41, _p0, _p1, _q40, _q90, _q91, _q42 };
3953 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
3954 : : )
3955 : : {
3956 : 0 : {
3957 : 0 : res_ops[0] = captures[0];
3958 : 0 : res_ops[1] = captures[1];
3959 : 0 : res_ops[2] = captures[2];
3960 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 98, __FILE__, __LINE__, false);
3961 : 0 : return true;
3962 : : }
3963 : : }
3964 : : }
3965 : : }
3966 : : break;
3967 : : }
3968 : : default:;
3969 : : }
3970 : : }
3971 : : break;
3972 : : default:;
3973 : : }
3974 : : }
3975 : : break;
3976 : : }
3977 : : default:;
3978 : : }
3979 : : }
3980 : : break;
3981 : : default:;
3982 : : }
3983 : : }
3984 : : }
3985 : : }
3986 : : break;
3987 : : default:;
3988 : : }
3989 : : }
3990 : : break;
3991 : : default:;
3992 : : }
3993 : : break;
3994 : : }
3995 : : default:;
3996 : : }
3997 : 2 : else if (gcall *_c2 = dyn_cast <gcall *> (_d2))
3998 : 0 : switch (gimple_call_combined_fn (_c2))
3999 : : {
4000 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_AND_1:
4001 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_AND_2:
4002 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_AND_4:
4003 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_AND_8:
4004 : 0 : case CFN_BUILT_IN_ATOMIC_FETCH_AND_16:
4005 : 0 : if (gimple_call_num_args (_c2) == 3)
4006 : : {
4007 : 0 : tree _q30 = gimple_call_arg (_c2, 0);
4008 : 0 : _q30 = do_valueize (valueize, _q30);
4009 : 0 : tree _q31 = gimple_call_arg (_c2, 1);
4010 : 0 : _q31 = do_valueize (valueize, _q31);
4011 : 0 : tree _q32 = gimple_call_arg (_c2, 2);
4012 : 0 : _q32 = do_valueize (valueize, _q32);
4013 : 0 : switch (TREE_CODE (_q31))
4014 : : {
4015 : 0 : case SSA_NAME:
4016 : 0 : if (gimple *_d3 = get_def (valueize, _q31))
4017 : : {
4018 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
4019 : 0 : switch (gimple_assign_rhs_code (_a3))
4020 : : {
4021 : 0 : case BIT_NOT_EXPR:
4022 : 0 : {
4023 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
4024 : 0 : _q50 = do_valueize (valueize, _q50);
4025 : 0 : if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
4026 : : {
4027 : 0 : switch (TREE_CODE (_q50))
4028 : : {
4029 : 0 : case SSA_NAME:
4030 : 0 : if (gimple *_d4 = get_def (valueize, _q50))
4031 : : {
4032 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
4033 : 0 : switch (gimple_assign_rhs_code (_a4))
4034 : : {
4035 : 0 : case LSHIFT_EXPR:
4036 : 0 : {
4037 : 0 : tree _q70 = gimple_assign_rhs1 (_a4);
4038 : 0 : _q70 = do_valueize (valueize, _q70);
4039 : 0 : tree _q71 = gimple_assign_rhs2 (_a4);
4040 : 0 : _q71 = do_valueize (valueize, _q71);
4041 : 0 : if (integer_onep (_q70))
4042 : : {
4043 : 0 : {
4044 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _q31, _p0, _p1, _q30, _q70, _q71, _q32 };
4045 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
4046 : : )
4047 : : {
4048 : 0 : {
4049 : 0 : res_ops[0] = captures[0];
4050 : 0 : res_ops[1] = captures[1];
4051 : 0 : res_ops[2] = captures[2];
4052 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 98, __FILE__, __LINE__, false);
4053 : 0 : return true;
4054 : : }
4055 : : }
4056 : : }
4057 : : }
4058 : : break;
4059 : : }
4060 : : default:;
4061 : : }
4062 : : }
4063 : : break;
4064 : : default:;
4065 : : }
4066 : : }
4067 : : break;
4068 : : }
4069 : : default:;
4070 : : }
4071 : : }
4072 : : break;
4073 : 0 : default:;
4074 : : }
4075 : 0 : {
4076 : 0 : tree _q31_pops[1];
4077 : 0 : if (gimple_nop_convert (_q31, _q31_pops, valueize))
4078 : : {
4079 : 0 : tree _q50 = _q31_pops[0];
4080 : 0 : switch (TREE_CODE (_q50))
4081 : : {
4082 : 0 : case SSA_NAME:
4083 : 0 : if (gimple *_d3 = get_def (valueize, _q50))
4084 : : {
4085 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
4086 : 0 : switch (gimple_assign_rhs_code (_a3))
4087 : : {
4088 : 0 : case BIT_NOT_EXPR:
4089 : 0 : {
4090 : 0 : tree _q60 = gimple_assign_rhs1 (_a3);
4091 : 0 : _q60 = do_valueize (valueize, _q60);
4092 : 0 : if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
4093 : : {
4094 : 0 : switch (TREE_CODE (_q60))
4095 : : {
4096 : 0 : case SSA_NAME:
4097 : 0 : if (gimple *_d4 = get_def (valueize, _q60))
4098 : : {
4099 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
4100 : 0 : switch (gimple_assign_rhs_code (_a4))
4101 : : {
4102 : 0 : case LSHIFT_EXPR:
4103 : 0 : {
4104 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
4105 : 0 : _q80 = do_valueize (valueize, _q80);
4106 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
4107 : 0 : _q81 = do_valueize (valueize, _q81);
4108 : 0 : if (integer_onep (_q80))
4109 : : {
4110 : 0 : {
4111 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _q31, _p0, _p1, _q30, _q80, _q81, _q32 };
4112 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
4113 : : )
4114 : : {
4115 : 0 : {
4116 : 0 : res_ops[0] = captures[0];
4117 : 0 : res_ops[1] = captures[1];
4118 : 0 : res_ops[2] = captures[2];
4119 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 98, __FILE__, __LINE__, false);
4120 : 0 : return true;
4121 : : }
4122 : : }
4123 : : }
4124 : : }
4125 : : break;
4126 : : }
4127 : : default:;
4128 : : }
4129 : : }
4130 : : break;
4131 : : default:;
4132 : : }
4133 : : }
4134 : : break;
4135 : : }
4136 : : default:;
4137 : : }
4138 : : }
4139 : : break;
4140 : : default:;
4141 : : }
4142 : : }
4143 : : }
4144 : : }
4145 : : break;
4146 : : default:;
4147 : : }
4148 : : }
4149 : : break;
4150 : 6 : default:;
4151 : : }
4152 : 6 : switch (TREE_CODE (_p0))
4153 : : {
4154 : 6 : case SSA_NAME:
4155 : 6 : if (gimple *_d2 = get_def (valueize, _p0))
4156 : : {
4157 : 6 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
4158 : 6 : switch (gimple_assign_rhs_code (_a2))
4159 : : {
4160 : 6 : CASE_CONVERT:
4161 : 6 : {
4162 : 6 : tree _q20 = gimple_assign_rhs1 (_a2);
4163 : 6 : _q20 = do_valueize (valueize, _q20);
4164 : 6 : switch (TREE_CODE (_q20))
4165 : : {
4166 : 6 : case SSA_NAME:
4167 : 6 : if (gimple *_d3 = get_def (valueize, _q20))
4168 : : {
4169 : 6 : if (gcall *_c3 = dyn_cast <gcall *> (_d3))
4170 : 6 : switch (gimple_call_combined_fn (_c3))
4171 : : {
4172 : 4 : case CFN_BUILT_IN_SYNC_FETCH_AND_AND_1:
4173 : 4 : case CFN_BUILT_IN_SYNC_FETCH_AND_AND_2:
4174 : 4 : case CFN_BUILT_IN_SYNC_FETCH_AND_AND_4:
4175 : 4 : case CFN_BUILT_IN_SYNC_FETCH_AND_AND_8:
4176 : 4 : case CFN_BUILT_IN_SYNC_FETCH_AND_AND_16:
4177 : 4 : if (gimple_call_num_args (_c3) == 2)
4178 : : {
4179 : 4 : tree _q30 = gimple_call_arg (_c3, 0);
4180 : 4 : _q30 = do_valueize (valueize, _q30);
4181 : 4 : tree _q31 = gimple_call_arg (_c3, 1);
4182 : 4 : _q31 = do_valueize (valueize, _q31);
4183 : 4 : switch (TREE_CODE (_q31))
4184 : : {
4185 : 4 : case SSA_NAME:
4186 : 4 : if (gimple *_d4 = get_def (valueize, _q31))
4187 : : {
4188 : 4 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
4189 : 4 : switch (gimple_assign_rhs_code (_a4))
4190 : : {
4191 : 0 : case BIT_NOT_EXPR:
4192 : 0 : {
4193 : 0 : tree _q50 = gimple_assign_rhs1 (_a4);
4194 : 0 : _q50 = do_valueize (valueize, _q50);
4195 : 0 : switch (TREE_CODE (_q50))
4196 : : {
4197 : 0 : case SSA_NAME:
4198 : 0 : if (gimple *_d5 = get_def (valueize, _q50))
4199 : : {
4200 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
4201 : 0 : switch (gimple_assign_rhs_code (_a5))
4202 : : {
4203 : 0 : case LSHIFT_EXPR:
4204 : 0 : {
4205 : 0 : tree _q60 = gimple_assign_rhs1 (_a5);
4206 : 0 : _q60 = do_valueize (valueize, _q60);
4207 : 0 : tree _q61 = gimple_assign_rhs2 (_a5);
4208 : 0 : _q61 = do_valueize (valueize, _q61);
4209 : 0 : if (integer_onep (_q60))
4210 : : {
4211 : 0 : switch (TREE_CODE (_p1))
4212 : : {
4213 : 0 : case SSA_NAME:
4214 : 0 : if (gimple *_d6 = get_def (valueize, _p1))
4215 : : {
4216 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
4217 : 0 : switch (gimple_assign_rhs_code (_a6))
4218 : : {
4219 : 0 : CASE_CONVERT:
4220 : 0 : {
4221 : 0 : tree _q90 = gimple_assign_rhs1 (_a6);
4222 : 0 : _q90 = do_valueize (valueize, _q90);
4223 : 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
4224 : : {
4225 : 0 : {
4226 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q50, _p0, _q30, _q60, _q61 };
4227 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
4228 : : )
4229 : : {
4230 : 0 : {
4231 : 0 : res_ops[0] = captures[0];
4232 : 0 : res_ops[1] = captures[1];
4233 : 0 : res_ops[2] = captures[2];
4234 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 101, __FILE__, __LINE__, false);
4235 : 0 : return true;
4236 : : }
4237 : : }
4238 : : }
4239 : : }
4240 : : break;
4241 : : }
4242 : : default:;
4243 : : }
4244 : : }
4245 : : break;
4246 : 0 : default:;
4247 : : }
4248 : 0 : if ((_p1 == _q50 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q50, 0) && types_match (_p1, _q50)))
4249 : : {
4250 : 0 : {
4251 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q50, _p0, _q30, _q60, _q61 };
4252 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
4253 : : )
4254 : : {
4255 : 0 : {
4256 : 0 : res_ops[0] = captures[0];
4257 : 0 : res_ops[1] = captures[1];
4258 : 0 : res_ops[2] = captures[2];
4259 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 101, __FILE__, __LINE__, false);
4260 : 0 : return true;
4261 : : }
4262 : : }
4263 : : }
4264 : : }
4265 : : }
4266 : : break;
4267 : : }
4268 : : default:;
4269 : : }
4270 : : }
4271 : : break;
4272 : : default:;
4273 : : }
4274 : : break;
4275 : : }
4276 : : default:;
4277 : : }
4278 : : }
4279 : : break;
4280 : 4 : default:;
4281 : : }
4282 : 4 : {
4283 : 4 : tree _q31_pops[1];
4284 : 4 : if (gimple_nop_convert (_q31, _q31_pops, valueize))
4285 : : {
4286 : 4 : tree _q50 = _q31_pops[0];
4287 : 4 : switch (TREE_CODE (_q50))
4288 : : {
4289 : 4 : case SSA_NAME:
4290 : 4 : if (gimple *_d4 = get_def (valueize, _q50))
4291 : : {
4292 : 4 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
4293 : 4 : switch (gimple_assign_rhs_code (_a4))
4294 : : {
4295 : 4 : case BIT_NOT_EXPR:
4296 : 4 : {
4297 : 4 : tree _q60 = gimple_assign_rhs1 (_a4);
4298 : 4 : _q60 = do_valueize (valueize, _q60);
4299 : 4 : switch (TREE_CODE (_q60))
4300 : : {
4301 : 4 : case SSA_NAME:
4302 : 4 : if (gimple *_d5 = get_def (valueize, _q60))
4303 : : {
4304 : 4 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
4305 : 4 : switch (gimple_assign_rhs_code (_a5))
4306 : : {
4307 : 4 : case LSHIFT_EXPR:
4308 : 4 : {
4309 : 4 : tree _q70 = gimple_assign_rhs1 (_a5);
4310 : 4 : _q70 = do_valueize (valueize, _q70);
4311 : 4 : tree _q71 = gimple_assign_rhs2 (_a5);
4312 : 4 : _q71 = do_valueize (valueize, _q71);
4313 : 4 : if (integer_onep (_q70))
4314 : : {
4315 : 4 : switch (TREE_CODE (_p1))
4316 : : {
4317 : 4 : case SSA_NAME:
4318 : 4 : if (gimple *_d6 = get_def (valueize, _p1))
4319 : : {
4320 : 4 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
4321 : 4 : switch (gimple_assign_rhs_code (_a6))
4322 : : {
4323 : 2 : CASE_CONVERT:
4324 : 2 : {
4325 : 2 : tree _q100 = gimple_assign_rhs1 (_a6);
4326 : 2 : _q100 = do_valueize (valueize, _q100);
4327 : 2 : if ((_q100 == _q60 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q60, 0) && types_match (_q100, _q60)))
4328 : : {
4329 : 2 : {
4330 : 2 : tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q60, _p0, _q30, _q70, _q71 };
4331 : 2 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
4332 : : )
4333 : : {
4334 : 2 : {
4335 : 2 : res_ops[0] = captures[0];
4336 : 2 : res_ops[1] = captures[1];
4337 : 2 : res_ops[2] = captures[2];
4338 : 2 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 101, __FILE__, __LINE__, false);
4339 : 2 : return true;
4340 : : }
4341 : : }
4342 : : }
4343 : : }
4344 : : break;
4345 : : }
4346 : : default:;
4347 : : }
4348 : : }
4349 : : break;
4350 : 2 : default:;
4351 : : }
4352 : 2 : if ((_p1 == _q60 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q60, 0) && types_match (_p1, _q60)))
4353 : : {
4354 : 2 : {
4355 : 2 : tree captures[6] ATTRIBUTE_UNUSED = { _q31, _q60, _p0, _q30, _q70, _q71 };
4356 : 2 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
4357 : : )
4358 : : {
4359 : 2 : {
4360 : 2 : res_ops[0] = captures[0];
4361 : 2 : res_ops[1] = captures[1];
4362 : 2 : res_ops[2] = captures[2];
4363 : 2 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 101, __FILE__, __LINE__, false);
4364 : 2 : return true;
4365 : : }
4366 : : }
4367 : : }
4368 : : }
4369 : : }
4370 : : break;
4371 : : }
4372 : : default:;
4373 : : }
4374 : : }
4375 : : break;
4376 : : default:;
4377 : : }
4378 : : break;
4379 : : }
4380 : : default:;
4381 : : }
4382 : : }
4383 : : break;
4384 : : default:;
4385 : : }
4386 : : }
4387 : : }
4388 : : }
4389 : : break;
4390 : : default:;
4391 : : }
4392 : : }
4393 : : break;
4394 : 2 : default:;
4395 : : }
4396 : 2 : switch (TREE_CODE (_p1))
4397 : : {
4398 : 2 : case SSA_NAME:
4399 : 2 : if (gimple *_d3 = get_def (valueize, _p1))
4400 : : {
4401 : 2 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
4402 : 0 : switch (gimple_assign_rhs_code (_a3))
4403 : : {
4404 : 0 : CASE_CONVERT:
4405 : 0 : {
4406 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
4407 : 0 : _q40 = do_valueize (valueize, _q40);
4408 : 0 : switch (TREE_CODE (_q40))
4409 : : {
4410 : 0 : case SSA_NAME:
4411 : 0 : if (gimple *_d4 = get_def (valueize, _q40))
4412 : : {
4413 : 0 : if (gcall *_c4 = dyn_cast <gcall *> (_d4))
4414 : 0 : switch (gimple_call_combined_fn (_c4))
4415 : : {
4416 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_AND_1:
4417 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_AND_2:
4418 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_AND_4:
4419 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_AND_8:
4420 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_AND_16:
4421 : 0 : if (gimple_call_num_args (_c4) == 2)
4422 : : {
4423 : 0 : tree _q50 = gimple_call_arg (_c4, 0);
4424 : 0 : _q50 = do_valueize (valueize, _q50);
4425 : 0 : tree _q51 = gimple_call_arg (_c4, 1);
4426 : 0 : _q51 = do_valueize (valueize, _q51);
4427 : 0 : switch (TREE_CODE (_q51))
4428 : : {
4429 : 0 : case SSA_NAME:
4430 : 0 : if (gimple *_d5 = get_def (valueize, _q51))
4431 : : {
4432 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
4433 : 0 : switch (gimple_assign_rhs_code (_a5))
4434 : : {
4435 : 0 : case BIT_NOT_EXPR:
4436 : 0 : {
4437 : 0 : tree _q70 = gimple_assign_rhs1 (_a5);
4438 : 0 : _q70 = do_valueize (valueize, _q70);
4439 : 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
4440 : : {
4441 : 0 : switch (TREE_CODE (_q70))
4442 : : {
4443 : 0 : case SSA_NAME:
4444 : 0 : if (gimple *_d6 = get_def (valueize, _q70))
4445 : : {
4446 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
4447 : 0 : switch (gimple_assign_rhs_code (_a6))
4448 : : {
4449 : 0 : case LSHIFT_EXPR:
4450 : 0 : {
4451 : 0 : tree _q90 = gimple_assign_rhs1 (_a6);
4452 : 0 : _q90 = do_valueize (valueize, _q90);
4453 : 0 : tree _q91 = gimple_assign_rhs2 (_a6);
4454 : 0 : _q91 = do_valueize (valueize, _q91);
4455 : 0 : if (integer_onep (_q90))
4456 : : {
4457 : 0 : {
4458 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q51, _q20, _p1, _q50, _q90, _q91 };
4459 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
4460 : : )
4461 : : {
4462 : 0 : {
4463 : 0 : res_ops[0] = captures[0];
4464 : 0 : res_ops[1] = captures[1];
4465 : 0 : res_ops[2] = captures[2];
4466 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 101, __FILE__, __LINE__, false);
4467 : 0 : return true;
4468 : : }
4469 : : }
4470 : : }
4471 : : }
4472 : : break;
4473 : : }
4474 : : default:;
4475 : : }
4476 : : }
4477 : : break;
4478 : : default:;
4479 : : }
4480 : : }
4481 : : break;
4482 : : }
4483 : : default:;
4484 : : }
4485 : : }
4486 : : break;
4487 : 0 : default:;
4488 : : }
4489 : 0 : {
4490 : 0 : tree _q51_pops[1];
4491 : 0 : if (gimple_nop_convert (_q51, _q51_pops, valueize))
4492 : : {
4493 : 0 : tree _q70 = _q51_pops[0];
4494 : 0 : switch (TREE_CODE (_q70))
4495 : : {
4496 : 0 : case SSA_NAME:
4497 : 0 : if (gimple *_d5 = get_def (valueize, _q70))
4498 : : {
4499 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
4500 : 0 : switch (gimple_assign_rhs_code (_a5))
4501 : : {
4502 : 0 : case BIT_NOT_EXPR:
4503 : 0 : {
4504 : 0 : tree _q80 = gimple_assign_rhs1 (_a5);
4505 : 0 : _q80 = do_valueize (valueize, _q80);
4506 : 0 : if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
4507 : : {
4508 : 0 : switch (TREE_CODE (_q80))
4509 : : {
4510 : 0 : case SSA_NAME:
4511 : 0 : if (gimple *_d6 = get_def (valueize, _q80))
4512 : : {
4513 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
4514 : 0 : switch (gimple_assign_rhs_code (_a6))
4515 : : {
4516 : 0 : case LSHIFT_EXPR:
4517 : 0 : {
4518 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
4519 : 0 : _q100 = do_valueize (valueize, _q100);
4520 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
4521 : 0 : _q101 = do_valueize (valueize, _q101);
4522 : 0 : if (integer_onep (_q100))
4523 : : {
4524 : 0 : {
4525 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q51, _q20, _p1, _q50, _q100, _q101 };
4526 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
4527 : : )
4528 : : {
4529 : 0 : {
4530 : 0 : res_ops[0] = captures[0];
4531 : 0 : res_ops[1] = captures[1];
4532 : 0 : res_ops[2] = captures[2];
4533 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 101, __FILE__, __LINE__, false);
4534 : 0 : return true;
4535 : : }
4536 : : }
4537 : : }
4538 : : }
4539 : : break;
4540 : : }
4541 : : default:;
4542 : : }
4543 : : }
4544 : : break;
4545 : : default:;
4546 : : }
4547 : : }
4548 : : break;
4549 : : }
4550 : : default:;
4551 : : }
4552 : : }
4553 : : break;
4554 : : default:;
4555 : : }
4556 : : }
4557 : : }
4558 : : }
4559 : : break;
4560 : : default:;
4561 : : }
4562 : : }
4563 : : break;
4564 : : default:;
4565 : : }
4566 : : break;
4567 : : }
4568 : : default:;
4569 : : }
4570 : 2 : else if (gcall *_c3 = dyn_cast <gcall *> (_d3))
4571 : 0 : switch (gimple_call_combined_fn (_c3))
4572 : : {
4573 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_AND_1:
4574 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_AND_2:
4575 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_AND_4:
4576 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_AND_8:
4577 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_AND_16:
4578 : 0 : if (gimple_call_num_args (_c3) == 2)
4579 : : {
4580 : 0 : tree _q40 = gimple_call_arg (_c3, 0);
4581 : 0 : _q40 = do_valueize (valueize, _q40);
4582 : 0 : tree _q41 = gimple_call_arg (_c3, 1);
4583 : 0 : _q41 = do_valueize (valueize, _q41);
4584 : 0 : switch (TREE_CODE (_q41))
4585 : : {
4586 : 0 : case SSA_NAME:
4587 : 0 : if (gimple *_d4 = get_def (valueize, _q41))
4588 : : {
4589 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
4590 : 0 : switch (gimple_assign_rhs_code (_a4))
4591 : : {
4592 : 0 : case BIT_NOT_EXPR:
4593 : 0 : {
4594 : 0 : tree _q60 = gimple_assign_rhs1 (_a4);
4595 : 0 : _q60 = do_valueize (valueize, _q60);
4596 : 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
4597 : : {
4598 : 0 : switch (TREE_CODE (_q60))
4599 : : {
4600 : 0 : case SSA_NAME:
4601 : 0 : if (gimple *_d5 = get_def (valueize, _q60))
4602 : : {
4603 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
4604 : 0 : switch (gimple_assign_rhs_code (_a5))
4605 : : {
4606 : 0 : case LSHIFT_EXPR:
4607 : 0 : {
4608 : 0 : tree _q80 = gimple_assign_rhs1 (_a5);
4609 : 0 : _q80 = do_valueize (valueize, _q80);
4610 : 0 : tree _q81 = gimple_assign_rhs2 (_a5);
4611 : 0 : _q81 = do_valueize (valueize, _q81);
4612 : 0 : if (integer_onep (_q80))
4613 : : {
4614 : 0 : {
4615 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q41, _q20, _p1, _q40, _q80, _q81 };
4616 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
4617 : : )
4618 : : {
4619 : 0 : {
4620 : 0 : res_ops[0] = captures[0];
4621 : 0 : res_ops[1] = captures[1];
4622 : 0 : res_ops[2] = captures[2];
4623 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 101, __FILE__, __LINE__, false);
4624 : 0 : return true;
4625 : : }
4626 : : }
4627 : : }
4628 : : }
4629 : : break;
4630 : : }
4631 : : default:;
4632 : : }
4633 : : }
4634 : : break;
4635 : : default:;
4636 : : }
4637 : : }
4638 : : break;
4639 : : }
4640 : : default:;
4641 : : }
4642 : : }
4643 : : break;
4644 : 0 : default:;
4645 : : }
4646 : 0 : {
4647 : 0 : tree _q41_pops[1];
4648 : 0 : if (gimple_nop_convert (_q41, _q41_pops, valueize))
4649 : : {
4650 : 0 : tree _q60 = _q41_pops[0];
4651 : 0 : switch (TREE_CODE (_q60))
4652 : : {
4653 : 0 : case SSA_NAME:
4654 : 0 : if (gimple *_d4 = get_def (valueize, _q60))
4655 : : {
4656 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
4657 : 0 : switch (gimple_assign_rhs_code (_a4))
4658 : : {
4659 : 0 : case BIT_NOT_EXPR:
4660 : 0 : {
4661 : 0 : tree _q70 = gimple_assign_rhs1 (_a4);
4662 : 0 : _q70 = do_valueize (valueize, _q70);
4663 : 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
4664 : : {
4665 : 0 : switch (TREE_CODE (_q70))
4666 : : {
4667 : 0 : case SSA_NAME:
4668 : 0 : if (gimple *_d5 = get_def (valueize, _q70))
4669 : : {
4670 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
4671 : 0 : switch (gimple_assign_rhs_code (_a5))
4672 : : {
4673 : 0 : case LSHIFT_EXPR:
4674 : 0 : {
4675 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
4676 : 0 : _q90 = do_valueize (valueize, _q90);
4677 : 0 : tree _q91 = gimple_assign_rhs2 (_a5);
4678 : 0 : _q91 = do_valueize (valueize, _q91);
4679 : 0 : if (integer_onep (_q90))
4680 : : {
4681 : 0 : {
4682 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q41, _q20, _p1, _q40, _q90, _q91 };
4683 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
4684 : : )
4685 : : {
4686 : 0 : {
4687 : 0 : res_ops[0] = captures[0];
4688 : 0 : res_ops[1] = captures[1];
4689 : 0 : res_ops[2] = captures[2];
4690 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 101, __FILE__, __LINE__, false);
4691 : 0 : return true;
4692 : : }
4693 : : }
4694 : : }
4695 : : }
4696 : : break;
4697 : : }
4698 : : default:;
4699 : : }
4700 : : }
4701 : : break;
4702 : : default:;
4703 : : }
4704 : : }
4705 : : break;
4706 : : }
4707 : : default:;
4708 : : }
4709 : : }
4710 : : break;
4711 : : default:;
4712 : : }
4713 : : }
4714 : : }
4715 : : }
4716 : : break;
4717 : : default:;
4718 : : }
4719 : : }
4720 : : break;
4721 : : default:;
4722 : : }
4723 : : break;
4724 : : }
4725 : : default:;
4726 : : }
4727 : : }
4728 : : break;
4729 : 2 : default:;
4730 : : }
4731 : 2 : switch (TREE_CODE (_p1))
4732 : : {
4733 : 2 : case SSA_NAME:
4734 : 2 : if (gimple *_d2 = get_def (valueize, _p1))
4735 : : {
4736 : 2 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
4737 : 0 : switch (gimple_assign_rhs_code (_a2))
4738 : : {
4739 : 0 : CASE_CONVERT:
4740 : 0 : {
4741 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
4742 : 0 : _q30 = do_valueize (valueize, _q30);
4743 : 0 : switch (TREE_CODE (_q30))
4744 : : {
4745 : 0 : case SSA_NAME:
4746 : 0 : if (gimple *_d3 = get_def (valueize, _q30))
4747 : : {
4748 : 0 : if (gcall *_c3 = dyn_cast <gcall *> (_d3))
4749 : 0 : switch (gimple_call_combined_fn (_c3))
4750 : : {
4751 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_AND_1:
4752 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_AND_2:
4753 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_AND_4:
4754 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_AND_8:
4755 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_AND_16:
4756 : 0 : if (gimple_call_num_args (_c3) == 2)
4757 : : {
4758 : 0 : tree _q40 = gimple_call_arg (_c3, 0);
4759 : 0 : _q40 = do_valueize (valueize, _q40);
4760 : 0 : tree _q41 = gimple_call_arg (_c3, 1);
4761 : 0 : _q41 = do_valueize (valueize, _q41);
4762 : 0 : switch (TREE_CODE (_q41))
4763 : : {
4764 : 0 : case SSA_NAME:
4765 : 0 : if (gimple *_d4 = get_def (valueize, _q41))
4766 : : {
4767 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
4768 : 0 : switch (gimple_assign_rhs_code (_a4))
4769 : : {
4770 : 0 : case BIT_NOT_EXPR:
4771 : 0 : {
4772 : 0 : tree _q60 = gimple_assign_rhs1 (_a4);
4773 : 0 : _q60 = do_valueize (valueize, _q60);
4774 : 0 : if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
4775 : : {
4776 : 0 : switch (TREE_CODE (_q60))
4777 : : {
4778 : 0 : case SSA_NAME:
4779 : 0 : if (gimple *_d5 = get_def (valueize, _q60))
4780 : : {
4781 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
4782 : 0 : switch (gimple_assign_rhs_code (_a5))
4783 : : {
4784 : 0 : case LSHIFT_EXPR:
4785 : 0 : {
4786 : 0 : tree _q80 = gimple_assign_rhs1 (_a5);
4787 : 0 : _q80 = do_valueize (valueize, _q80);
4788 : 0 : tree _q81 = gimple_assign_rhs2 (_a5);
4789 : 0 : _q81 = do_valueize (valueize, _q81);
4790 : 0 : if (integer_onep (_q80))
4791 : : {
4792 : 0 : {
4793 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q41, _p0, _p1, _q40, _q80, _q81 };
4794 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
4795 : : )
4796 : : {
4797 : 0 : {
4798 : 0 : res_ops[0] = captures[0];
4799 : 0 : res_ops[1] = captures[1];
4800 : 0 : res_ops[2] = captures[2];
4801 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 101, __FILE__, __LINE__, false);
4802 : 0 : return true;
4803 : : }
4804 : : }
4805 : : }
4806 : : }
4807 : : break;
4808 : : }
4809 : : default:;
4810 : : }
4811 : : }
4812 : : break;
4813 : : default:;
4814 : : }
4815 : : }
4816 : : break;
4817 : : }
4818 : : default:;
4819 : : }
4820 : : }
4821 : : break;
4822 : 0 : default:;
4823 : : }
4824 : 0 : {
4825 : 0 : tree _q41_pops[1];
4826 : 0 : if (gimple_nop_convert (_q41, _q41_pops, valueize))
4827 : : {
4828 : 0 : tree _q60 = _q41_pops[0];
4829 : 0 : switch (TREE_CODE (_q60))
4830 : : {
4831 : 0 : case SSA_NAME:
4832 : 0 : if (gimple *_d4 = get_def (valueize, _q60))
4833 : : {
4834 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
4835 : 0 : switch (gimple_assign_rhs_code (_a4))
4836 : : {
4837 : 0 : case BIT_NOT_EXPR:
4838 : 0 : {
4839 : 0 : tree _q70 = gimple_assign_rhs1 (_a4);
4840 : 0 : _q70 = do_valueize (valueize, _q70);
4841 : 0 : if ((_q70 == _p0 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _p0, 0) && types_match (_q70, _p0)))
4842 : : {
4843 : 0 : switch (TREE_CODE (_q70))
4844 : : {
4845 : 0 : case SSA_NAME:
4846 : 0 : if (gimple *_d5 = get_def (valueize, _q70))
4847 : : {
4848 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
4849 : 0 : switch (gimple_assign_rhs_code (_a5))
4850 : : {
4851 : 0 : case LSHIFT_EXPR:
4852 : 0 : {
4853 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
4854 : 0 : _q90 = do_valueize (valueize, _q90);
4855 : 0 : tree _q91 = gimple_assign_rhs2 (_a5);
4856 : 0 : _q91 = do_valueize (valueize, _q91);
4857 : 0 : if (integer_onep (_q90))
4858 : : {
4859 : 0 : {
4860 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q41, _p0, _p1, _q40, _q90, _q91 };
4861 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
4862 : : )
4863 : : {
4864 : 0 : {
4865 : 0 : res_ops[0] = captures[0];
4866 : 0 : res_ops[1] = captures[1];
4867 : 0 : res_ops[2] = captures[2];
4868 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 101, __FILE__, __LINE__, false);
4869 : 0 : return true;
4870 : : }
4871 : : }
4872 : : }
4873 : : }
4874 : : break;
4875 : : }
4876 : : default:;
4877 : : }
4878 : : }
4879 : : break;
4880 : : default:;
4881 : : }
4882 : : }
4883 : : break;
4884 : : }
4885 : : default:;
4886 : : }
4887 : : }
4888 : : break;
4889 : : default:;
4890 : : }
4891 : : }
4892 : : }
4893 : : }
4894 : : break;
4895 : : default:;
4896 : : }
4897 : : }
4898 : : break;
4899 : : default:;
4900 : : }
4901 : : break;
4902 : : }
4903 : : default:;
4904 : : }
4905 : 2 : else if (gcall *_c2 = dyn_cast <gcall *> (_d2))
4906 : 0 : switch (gimple_call_combined_fn (_c2))
4907 : : {
4908 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_AND_1:
4909 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_AND_2:
4910 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_AND_4:
4911 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_AND_8:
4912 : 0 : case CFN_BUILT_IN_SYNC_FETCH_AND_AND_16:
4913 : 0 : if (gimple_call_num_args (_c2) == 2)
4914 : : {
4915 : 0 : tree _q30 = gimple_call_arg (_c2, 0);
4916 : 0 : _q30 = do_valueize (valueize, _q30);
4917 : 0 : tree _q31 = gimple_call_arg (_c2, 1);
4918 : 0 : _q31 = do_valueize (valueize, _q31);
4919 : 0 : switch (TREE_CODE (_q31))
4920 : : {
4921 : 0 : case SSA_NAME:
4922 : 0 : if (gimple *_d3 = get_def (valueize, _q31))
4923 : : {
4924 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
4925 : 0 : switch (gimple_assign_rhs_code (_a3))
4926 : : {
4927 : 0 : case BIT_NOT_EXPR:
4928 : 0 : {
4929 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
4930 : 0 : _q50 = do_valueize (valueize, _q50);
4931 : 0 : if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
4932 : : {
4933 : 0 : switch (TREE_CODE (_q50))
4934 : : {
4935 : 0 : case SSA_NAME:
4936 : 0 : if (gimple *_d4 = get_def (valueize, _q50))
4937 : : {
4938 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
4939 : 0 : switch (gimple_assign_rhs_code (_a4))
4940 : : {
4941 : 0 : case LSHIFT_EXPR:
4942 : 0 : {
4943 : 0 : tree _q70 = gimple_assign_rhs1 (_a4);
4944 : 0 : _q70 = do_valueize (valueize, _q70);
4945 : 0 : tree _q71 = gimple_assign_rhs2 (_a4);
4946 : 0 : _q71 = do_valueize (valueize, _q71);
4947 : 0 : if (integer_onep (_q70))
4948 : : {
4949 : 0 : {
4950 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _p1, _q30, _q70, _q71 };
4951 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
4952 : : )
4953 : : {
4954 : 0 : {
4955 : 0 : res_ops[0] = captures[0];
4956 : 0 : res_ops[1] = captures[1];
4957 : 0 : res_ops[2] = captures[2];
4958 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 101, __FILE__, __LINE__, false);
4959 : 0 : return true;
4960 : : }
4961 : : }
4962 : : }
4963 : : }
4964 : : break;
4965 : : }
4966 : : default:;
4967 : : }
4968 : : }
4969 : : break;
4970 : : default:;
4971 : : }
4972 : : }
4973 : : break;
4974 : : }
4975 : : default:;
4976 : : }
4977 : : }
4978 : : break;
4979 : 0 : default:;
4980 : : }
4981 : 0 : {
4982 : 0 : tree _q31_pops[1];
4983 : 0 : if (gimple_nop_convert (_q31, _q31_pops, valueize))
4984 : : {
4985 : 0 : tree _q50 = _q31_pops[0];
4986 : 0 : switch (TREE_CODE (_q50))
4987 : : {
4988 : 0 : case SSA_NAME:
4989 : 0 : if (gimple *_d3 = get_def (valueize, _q50))
4990 : : {
4991 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
4992 : 0 : switch (gimple_assign_rhs_code (_a3))
4993 : : {
4994 : 0 : case BIT_NOT_EXPR:
4995 : 0 : {
4996 : 0 : tree _q60 = gimple_assign_rhs1 (_a3);
4997 : 0 : _q60 = do_valueize (valueize, _q60);
4998 : 0 : if ((_q60 == _p0 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _p0, 0) && types_match (_q60, _p0)))
4999 : : {
5000 : 0 : switch (TREE_CODE (_q60))
5001 : : {
5002 : 0 : case SSA_NAME:
5003 : 0 : if (gimple *_d4 = get_def (valueize, _q60))
5004 : : {
5005 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
5006 : 0 : switch (gimple_assign_rhs_code (_a4))
5007 : : {
5008 : 0 : case LSHIFT_EXPR:
5009 : 0 : {
5010 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
5011 : 0 : _q80 = do_valueize (valueize, _q80);
5012 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
5013 : 0 : _q81 = do_valueize (valueize, _q81);
5014 : 0 : if (integer_onep (_q80))
5015 : : {
5016 : 0 : {
5017 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q31, _p0, _p1, _q30, _q80, _q81 };
5018 : 0 : if (TYPE_PRECISION (type) <= TYPE_PRECISION (TREE_TYPE (captures[0]))
5019 : : )
5020 : : {
5021 : 0 : {
5022 : 0 : res_ops[0] = captures[0];
5023 : 0 : res_ops[1] = captures[1];
5024 : 0 : res_ops[2] = captures[2];
5025 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 101, __FILE__, __LINE__, false);
5026 : 0 : return true;
5027 : : }
5028 : : }
5029 : : }
5030 : : }
5031 : : break;
5032 : : }
5033 : : default:;
5034 : : }
5035 : : }
5036 : : break;
5037 : : default:;
5038 : : }
5039 : : }
5040 : : break;
5041 : : }
5042 : : default:;
5043 : : }
5044 : : }
5045 : : break;
5046 : : default:;
5047 : : }
5048 : : }
5049 : : }
5050 : : }
5051 : : break;
5052 : : default:;
5053 : : }
5054 : : }
5055 : : break;
5056 : : default:;
5057 : : }
5058 : 94 : break;
5059 : : }
5060 : : default:;
5061 : : }
5062 : : }
5063 : : break;
5064 : : default:;
5065 : : }
5066 : : return false;
5067 : : }
5068 : :
5069 : : bool
5070 : 4 : gimple_simplify_307 (gimple_match_op *res_op, gimple_seq *seq,
5071 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
5072 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
5073 : : const enum tree_code ARG_UNUSED (cmp),
5074 : : const enum tree_code ARG_UNUSED (ncmp))
5075 : : {
5076 : 4 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
5077 : 8 : if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
5078 : 4 : && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
5079 : 8 : && types_match (captures[0], captures[2])
5080 : : )
5081 : : {
5082 : 4 : gimple_seq *lseq = seq;
5083 : 4 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1084;
5084 : 4 : {
5085 : 4 : res_op->set_op (ncmp, type, 2);
5086 : 4 : {
5087 : 4 : tree _o1[2], _r1;
5088 : 4 : _o1[0] = captures[0];
5089 : 4 : _o1[1] = captures[2];
5090 : 4 : gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
5091 : 4 : tem_op.resimplify (lseq, valueize);
5092 : 4 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
5093 : 4 : if (!_r1) goto next_after_fail1084;
5094 : 2 : res_op->ops[0] = _r1;
5095 : : }
5096 : 2 : res_op->ops[1] = captures[1];
5097 : 2 : res_op->resimplify (lseq, valueize);
5098 : 2 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 495, __FILE__, __LINE__, true);
5099 : 2 : return true;
5100 : : }
5101 : : next_after_fail1084:;
5102 : : }
5103 : : return false;
5104 : : }
5105 : :
5106 : : bool
5107 : 191 : gimple_simplify_313 (gimple_match_op *res_op, gimple_seq *seq,
5108 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
5109 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
5110 : : const enum tree_code ARG_UNUSED (inner),
5111 : : const enum tree_code ARG_UNUSED (outer))
5112 : : {
5113 : 191 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
5114 : 191 : {
5115 : 191 : bool cst1 = integer_onep (captures[1]);
5116 : 191 : bool cst0 = integer_zerop (captures[1]);
5117 : 191 : bool innereq = inner == EQ_EXPR;
5118 : 191 : bool outereq = outer == EQ_EXPR;
5119 : 279 : if (innereq ? cst0 : cst1
5120 : : )
5121 : : {
5122 : 55 : gimple_seq *lseq = seq;
5123 : 55 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1104;
5124 : 55 : {
5125 : 55 : tree tem;
5126 : 55 : tem = constant_boolean_node (!outereq, type);
5127 : 55 : res_op->set_value (tem);
5128 : 55 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 506, __FILE__, __LINE__, true);
5129 : 55 : return true;
5130 : : }
5131 : 0 : next_after_fail1104:;
5132 : : }
5133 : : else
5134 : : {
5135 : 208 : if (innereq ? cst1 : cst0
5136 : : )
5137 : : {
5138 : 72 : {
5139 : 72 : tree utype = unsigned_type_for (TREE_TYPE (captures[0]));
5140 : 72 : tree ucst1 = build_one_cst (utype);
5141 : 72 : if (!outereq
5142 : : )
5143 : : {
5144 : 37 : gimple_seq *lseq = seq;
5145 : 37 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1105;
5146 : 37 : {
5147 : 37 : res_op->set_op (GT_EXPR, type, 2);
5148 : 37 : {
5149 : 37 : tree _o1[1], _r1;
5150 : 37 : _o1[0] = captures[0];
5151 : 37 : if (utype != TREE_TYPE (_o1[0]) /* XXX */
5152 : 37 : && !useless_type_conversion_p (utype, TREE_TYPE (_o1[0])))
5153 : : {
5154 : 31 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o1[0]);
5155 : 31 : tem_op.resimplify (lseq, valueize);
5156 : 31 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
5157 : 31 : if (!_r1) goto next_after_fail1105;
5158 : : }
5159 : : else
5160 : : _r1 = _o1[0];
5161 : 21 : res_op->ops[0] = _r1;
5162 : : }
5163 : 21 : res_op->ops[1] = ucst1;
5164 : 21 : res_op->resimplify (lseq, valueize);
5165 : 21 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 507, __FILE__, __LINE__, true);
5166 : 21 : return true;
5167 : : }
5168 : : next_after_fail1105:;
5169 : : }
5170 : : else
5171 : : {
5172 : 35 : gimple_seq *lseq = seq;
5173 : 35 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1106;
5174 : 35 : {
5175 : 35 : res_op->set_op (LE_EXPR, type, 2);
5176 : 35 : {
5177 : 35 : tree _o1[1], _r1;
5178 : 35 : _o1[0] = captures[0];
5179 : 35 : if (utype != TREE_TYPE (_o1[0]) /* XXX */
5180 : 35 : && !useless_type_conversion_p (utype, TREE_TYPE (_o1[0])))
5181 : : {
5182 : 31 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o1[0]);
5183 : 31 : tem_op.resimplify (lseq, valueize);
5184 : 31 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
5185 : 31 : if (!_r1) goto next_after_fail1106;
5186 : : }
5187 : : else
5188 : : _r1 = _o1[0];
5189 : 19 : res_op->ops[0] = _r1;
5190 : : }
5191 : 19 : res_op->ops[1] = ucst1;
5192 : 19 : res_op->resimplify (lseq, valueize);
5193 : 19 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 508, __FILE__, __LINE__, true);
5194 : 19 : return true;
5195 : : }
5196 : : next_after_fail1106:;
5197 : : }
5198 : : }
5199 : : }
5200 : : else
5201 : : {
5202 : 64 : {
5203 : 64 : tree value = build_int_cst (TREE_TYPE (captures[0]), !innereq);
5204 : 64 : if (outereq
5205 : : )
5206 : : {
5207 : 32 : gimple_seq *lseq = seq;
5208 : 32 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1107;
5209 : 32 : {
5210 : 32 : res_op->set_op (EQ_EXPR, type, 2);
5211 : 32 : res_op->ops[0] = captures[0];
5212 : 32 : res_op->ops[1] = value;
5213 : 32 : res_op->resimplify (lseq, valueize);
5214 : 32 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 509, __FILE__, __LINE__, true);
5215 : 32 : return true;
5216 : : }
5217 : 0 : next_after_fail1107:;
5218 : : }
5219 : : else
5220 : : {
5221 : 32 : gimple_seq *lseq = seq;
5222 : 32 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1108;
5223 : 32 : {
5224 : 32 : res_op->set_op (NE_EXPR, type, 2);
5225 : 32 : res_op->ops[0] = captures[0];
5226 : 32 : res_op->ops[1] = value;
5227 : 32 : res_op->resimplify (lseq, valueize);
5228 : 32 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 510, __FILE__, __LINE__, true);
5229 : 32 : return true;
5230 : : }
5231 : 0 : next_after_fail1108:;
5232 : : }
5233 : : }
5234 : : }
5235 : : }
5236 : : }
5237 : : return false;
5238 : : }
5239 : :
5240 : : bool
5241 : 5 : gimple_simplify_322 (gimple_match_op *res_op, gimple_seq *seq,
5242 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
5243 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
5244 : : const enum tree_code ARG_UNUSED (cmp),
5245 : : const enum tree_code ARG_UNUSED (rep),
5246 : : const combined_fn ARG_UNUSED (popcount))
5247 : : {
5248 : 5 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
5249 : 5 : gimple_seq *lseq = seq;
5250 : 5 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1130;
5251 : 5 : {
5252 : 5 : res_op->set_op (rep, type, 2);
5253 : 5 : res_op->ops[0] = captures[0];
5254 : 5 : res_op->ops[1] = build_zero_cst (TREE_TYPE (captures[0]));
5255 : 5 : res_op->resimplify (lseq, valueize);
5256 : 5 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 532, __FILE__, __LINE__, true);
5257 : : return true;
5258 : : }
5259 : 0 : next_after_fail1130:;
5260 : 0 : return false;
5261 : : }
5262 : :
5263 : : bool
5264 : 46 : gimple_simplify_325 (gimple_match_op *res_op, gimple_seq *seq,
5265 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
5266 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures))
5267 : : {
5268 : 46 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
5269 : 78 : if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
5270 : 78 : && tree_expr_nonzero_p (captures[0])
5271 : : )
5272 : : {
5273 : 8 : gimple_seq *lseq = seq;
5274 : 8 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1135;
5275 : 8 : {
5276 : 8 : tree tem;
5277 : 8 : tem = build_one_cst (type);
5278 : 8 : res_op->set_value (tem);
5279 : 8 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 537, __FILE__, __LINE__, true);
5280 : 8 : return true;
5281 : : }
5282 : 0 : next_after_fail1135:;
5283 : : }
5284 : : return false;
5285 : : }
5286 : :
5287 : : bool
5288 : 110191 : gimple_simplify_328 (gimple_match_op *res_op, gimple_seq *seq,
5289 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
5290 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
5291 : : const enum tree_code ARG_UNUSED (cmp))
5292 : : {
5293 : 110191 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
5294 : 110191 : if (cmp != NE_EXPR
5295 : 95807 : || ! FLOAT_TYPE_P (TREE_TYPE (captures[0]))
5296 : 180483 : || ! tree_expr_maybe_nan_p (captures[0])
5297 : : )
5298 : : {
5299 : 42379 : gimple_seq *lseq = seq;
5300 : 42379 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1139;
5301 : 42379 : {
5302 : 42379 : tree tem;
5303 : 42379 : tem = constant_boolean_node (false, type);
5304 : 42379 : res_op->set_value (tem);
5305 : 42379 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 541, __FILE__, __LINE__, true);
5306 : 42379 : return true;
5307 : : }
5308 : 0 : next_after_fail1139:;
5309 : : }
5310 : : return false;
5311 : : }
5312 : :
5313 : : bool
5314 : 6 : gimple_simplify_332 (gimple_match_op *res_op, gimple_seq *seq,
5315 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
5316 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
5317 : : const combined_fn ARG_UNUSED (COPYSIGN_ALL))
5318 : : {
5319 : 6 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
5320 : 6 : gimple_seq *lseq = seq;
5321 : 6 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1144;
5322 : 6 : {
5323 : 6 : tree tem;
5324 : 6 : tem = captures[0];
5325 : 6 : res_op->set_value (tem);
5326 : 6 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 546, __FILE__, __LINE__, true);
5327 : : return true;
5328 : : }
5329 : 0 : next_after_fail1144:;
5330 : 0 : return false;
5331 : : }
5332 : :
5333 : : bool
5334 : 21669 : gimple_simplify_337 (gimple_match_op *res_op, gimple_seq *seq,
5335 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
5336 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
5337 : : const enum tree_code ARG_UNUSED (div))
5338 : : {
5339 : 21669 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
5340 : 21669 : if (!integer_zerop (captures[1])
5341 : : )
5342 : : {
5343 : 20537 : gimple_seq *lseq = seq;
5344 : 20537 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1151;
5345 : 20537 : {
5346 : 20537 : tree tem;
5347 : 20537 : tem = captures[0];
5348 : 20537 : res_op->set_value (tem);
5349 : 20537 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 551, __FILE__, __LINE__, true);
5350 : 20537 : return true;
5351 : : }
5352 : 0 : next_after_fail1151:;
5353 : : }
5354 : : return false;
5355 : : }
5356 : :
5357 : : bool
5358 : 16 : gimple_simplify_341 (gimple_match_op *res_op, gimple_seq *seq,
5359 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
5360 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
5361 : : const enum tree_code ARG_UNUSED (div))
5362 : : {
5363 : 16 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
5364 : 16 : if (INTEGRAL_TYPE_P (type)
5365 : 16 : && TYPE_OVERFLOW_UNDEFINED (type)
5366 : 16 : && !integer_zerop (captures[0])
5367 : 32 : && (!flag_non_call_exceptions || tree_expr_nonzero_p (captures[0]))
5368 : : )
5369 : : {
5370 : 16 : gimple_seq *lseq = seq;
5371 : 16 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1155;
5372 : 16 : {
5373 : 16 : res_op->set_op (COND_EXPR, type, 3);
5374 : 16 : {
5375 : 16 : tree _o1[2], _r1;
5376 : 16 : _o1[0] = captures[0];
5377 : 16 : _o1[1] = build_zero_cst (type);
5378 : 16 : gimple_match_op tem_op (res_op->cond.any_else (), LT_EXPR, boolean_type_node, _o1[0], _o1[1]);
5379 : 16 : tem_op.resimplify (lseq, valueize);
5380 : 16 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
5381 : 16 : if (!_r1) goto next_after_fail1155;
5382 : 8 : res_op->ops[0] = _r1;
5383 : : }
5384 : 8 : res_op->ops[1] = build_minus_one_cst (type);
5385 : 8 : res_op->ops[2] = build_one_cst (type);
5386 : 8 : res_op->resimplify (lseq, valueize);
5387 : 8 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 555, __FILE__, __LINE__, true);
5388 : 8 : return true;
5389 : : }
5390 : : next_after_fail1155:;
5391 : : }
5392 : : return false;
5393 : : }
5394 : :
5395 : : bool
5396 : 1527618 : gimple_simplify_346 (gimple_match_op *res_op, gimple_seq *seq,
5397 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
5398 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
5399 : : const enum tree_code ARG_UNUSED (div))
5400 : : {
5401 : 1527618 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
5402 : 1527618 : if (INTEGRAL_TYPE_P (type)
5403 : 1527618 : && (TYPE_UNSIGNED (type) || tree_expr_nonnegative_p (captures[0]))
5404 : : )
5405 : : {
5406 : 49872 : gimple_seq *lseq = seq;
5407 : 49872 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1161;
5408 : 49872 : {
5409 : 49872 : res_op->set_op (RSHIFT_EXPR, type, 2);
5410 : 49872 : res_op->ops[0] = captures[0];
5411 : 49872 : res_op->ops[1] = build_int_cst (integer_type_node,
5412 : 49872 : wi::exact_log2 (wi::to_wide (captures[1])));
5413 : 49872 : res_op->resimplify (lseq, valueize);
5414 : 49872 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 561, __FILE__, __LINE__, true);
5415 : 49872 : return true;
5416 : : }
5417 : 0 : next_after_fail1161:;
5418 : : }
5419 : : return false;
5420 : : }
5421 : :
5422 : : bool
5423 : 23679 : gimple_simplify_352 (gimple_match_op *res_op, gimple_seq *seq,
5424 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
5425 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
5426 : : const enum tree_code ARG_UNUSED (floor_divmod),
5427 : : const enum tree_code ARG_UNUSED (trunc_divmod))
5428 : : {
5429 : 23679 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
5430 : 0 : if ((INTEGRAL_TYPE_P (type) || VECTOR_INTEGER_TYPE_P (type))
5431 : 23679 : && TYPE_UNSIGNED (type)
5432 : : )
5433 : : {
5434 : 0 : gimple_seq *lseq = seq;
5435 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1170;
5436 : 0 : {
5437 : 0 : res_op->set_op (trunc_divmod, type, 2);
5438 : 0 : res_op->ops[0] = captures[0];
5439 : 0 : res_op->ops[1] = captures[1];
5440 : 0 : res_op->resimplify (lseq, valueize);
5441 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 570, __FILE__, __LINE__, true);
5442 : 0 : return true;
5443 : : }
5444 : 0 : next_after_fail1170:;
5445 : : }
5446 : : return false;
5447 : : }
5448 : :
5449 : : bool
5450 : 310 : gimple_simplify_355 (gimple_match_op *res_op, gimple_seq *seq,
5451 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
5452 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
5453 : : const enum tree_code ARG_UNUSED (mod))
5454 : : {
5455 : 310 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
5456 : 310 : if (!TYPE_UNSIGNED (type)
5457 : : )
5458 : : {
5459 : 30 : gimple_seq *lseq = seq;
5460 : 30 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1173;
5461 : 30 : {
5462 : 30 : tree tem;
5463 : 30 : tem = build_zero_cst (type);
5464 : 30 : res_op->set_value (tem);
5465 : 30 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 573, __FILE__, __LINE__, true);
5466 : 30 : return true;
5467 : : }
5468 : 0 : next_after_fail1173:;
5469 : : }
5470 : : return false;
5471 : : }
5472 : :
5473 : : bool
5474 : 49 : gimple_simplify_361 (gimple_match_op *res_op, gimple_seq *seq,
5475 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
5476 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures))
5477 : : {
5478 : 49 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
5479 : 49 : if (SCALAR_FLOAT_TYPE_P (type)
5480 : 49 : && ! HONOR_NANS (type)
5481 : 65 : && ! HONOR_INFINITIES (type)
5482 : : )
5483 : : {
5484 : 16 : if (types_match (type, float_type_node)
5485 : : )
5486 : : {
5487 : 4 : gimple_seq *lseq = seq;
5488 : 4 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1179;
5489 : 4 : {
5490 : 4 : res_op->set_op (CFN_BUILT_IN_COPYSIGNF, type, 2);
5491 : 4 : res_op->ops[0] = build_one_cst (type);
5492 : 4 : {
5493 : 4 : tree _o1[1], _r1;
5494 : 4 : _o1[0] = captures[0];
5495 : 4 : if (type != TREE_TYPE (_o1[0]) /* XXX */
5496 : 4 : && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
5497 : : {
5498 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
5499 : 0 : tem_op.resimplify (lseq, valueize);
5500 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
5501 : 0 : if (!_r1) goto next_after_fail1179;
5502 : : }
5503 : : else
5504 : : _r1 = _o1[0];
5505 : 4 : res_op->ops[1] = _r1;
5506 : : }
5507 : 4 : res_op->resimplify (lseq, valueize);
5508 : 4 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 579, __FILE__, __LINE__, true);
5509 : 4 : return true;
5510 : : }
5511 : : next_after_fail1179:;
5512 : : }
5513 : : else
5514 : : {
5515 : 12 : if (types_match (type, double_type_node)
5516 : : )
5517 : : {
5518 : 8 : gimple_seq *lseq = seq;
5519 : 8 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1180;
5520 : 8 : {
5521 : 8 : res_op->set_op (CFN_BUILT_IN_COPYSIGN, type, 2);
5522 : 8 : res_op->ops[0] = build_one_cst (type);
5523 : 8 : {
5524 : 8 : tree _o1[1], _r1;
5525 : 8 : _o1[0] = captures[0];
5526 : 8 : if (type != TREE_TYPE (_o1[0]) /* XXX */
5527 : 8 : && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
5528 : : {
5529 : 2 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
5530 : 2 : tem_op.resimplify (lseq, valueize);
5531 : 2 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
5532 : 2 : if (!_r1) goto next_after_fail1180;
5533 : : }
5534 : : else
5535 : : _r1 = _o1[0];
5536 : 7 : res_op->ops[1] = _r1;
5537 : : }
5538 : 7 : res_op->resimplify (lseq, valueize);
5539 : 7 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 580, __FILE__, __LINE__, true);
5540 : 7 : return true;
5541 : : }
5542 : : next_after_fail1180:;
5543 : : }
5544 : : else
5545 : : {
5546 : 4 : if (types_match (type, long_double_type_node)
5547 : : )
5548 : : {
5549 : 4 : gimple_seq *lseq = seq;
5550 : 4 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1181;
5551 : 4 : {
5552 : 4 : res_op->set_op (CFN_BUILT_IN_COPYSIGNL, type, 2);
5553 : 4 : res_op->ops[0] = build_one_cst (type);
5554 : 4 : {
5555 : 4 : tree _o1[1], _r1;
5556 : 4 : _o1[0] = captures[0];
5557 : 4 : if (type != TREE_TYPE (_o1[0]) /* XXX */
5558 : 4 : && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
5559 : : {
5560 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
5561 : 0 : tem_op.resimplify (lseq, valueize);
5562 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
5563 : 0 : if (!_r1) goto next_after_fail1181;
5564 : : }
5565 : : else
5566 : : _r1 = _o1[0];
5567 : 4 : res_op->ops[1] = _r1;
5568 : : }
5569 : 4 : res_op->resimplify (lseq, valueize);
5570 : 4 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 581, __FILE__, __LINE__, true);
5571 : 4 : return true;
5572 : : }
5573 : : next_after_fail1181:;
5574 : : }
5575 : : }
5576 : : }
5577 : : }
5578 : : return false;
5579 : : }
5580 : :
5581 : : bool
5582 : 1467 : gimple_simplify_378 (gimple_match_op *res_op, gimple_seq *seq,
5583 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
5584 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
5585 : : const enum tree_code ARG_UNUSED (op))
5586 : : {
5587 : 1467 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
5588 : 1467 : if (INTEGRAL_TYPE_P (type)
5589 : 1464 : && TYPE_PRECISION (type) > 1
5590 : 2931 : && (INTEGRAL_TYPE_P (TREE_TYPE (captures[0])))
5591 : : )
5592 : : {
5593 : 1464 : gimple_seq *lseq = seq;
5594 : 1464 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1198;
5595 : 1464 : {
5596 : 1464 : res_op->set_op (op, type, 2);
5597 : 1464 : {
5598 : 1464 : tree _o1[2], _r1;
5599 : 1464 : {
5600 : 1464 : tree _o2[1], _r2;
5601 : 1464 : _o2[0] = captures[0];
5602 : 1464 : if (type != TREE_TYPE (_o2[0]) /* XXX */
5603 : 1464 : && !useless_type_conversion_p (type, TREE_TYPE (_o2[0])))
5604 : : {
5605 : 1269 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o2[0]);
5606 : 1269 : tem_op.resimplify (lseq, valueize);
5607 : 1269 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
5608 : 1269 : if (!_r2) goto next_after_fail1198;
5609 : : }
5610 : : else
5611 : : _r2 = _o2[0];
5612 : 1464 : _o1[0] = _r2;
5613 : : }
5614 : 1464 : _o1[1] = captures[2];
5615 : 1464 : gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
5616 : 1464 : tem_op.resimplify (lseq, valueize);
5617 : 1464 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
5618 : 1464 : if (!_r1) goto next_after_fail1198;
5619 : 1464 : res_op->ops[0] = _r1;
5620 : : }
5621 : 1464 : res_op->ops[1] = captures[1];
5622 : 1464 : res_op->resimplify (lseq, valueize);
5623 : 1464 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 597, __FILE__, __LINE__, true);
5624 : 1464 : return true;
5625 : : }
5626 : : next_after_fail1198:;
5627 : : }
5628 : : return false;
5629 : : }
5630 : :
5631 : : bool
5632 : 1985 : gimple_simplify_389 (gimple_match_op *res_op, gimple_seq *seq,
5633 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
5634 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
5635 : : const enum tree_code ARG_UNUSED (cmp))
5636 : : {
5637 : 1985 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
5638 : 1985 : if (!HONOR_SIGNED_ZEROS (type)
5639 : 1985 : && (
5640 : 1985 : (INTEGRAL_TYPE_P (type)
5641 : 1979 : && types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
5642 : 1979 : && types_match (TREE_TYPE (captures[2]), TREE_TYPE (captures[3]))
5643 : 0 : && TYPE_PRECISION (TREE_TYPE (captures[1])) <= TYPE_PRECISION (type)
5644 : 0 : && TYPE_PRECISION (TREE_TYPE (captures[3])) <= TYPE_PRECISION (type))
5645 : 1985 : || (types_match (type, TREE_TYPE (captures[1]))
5646 : 1935 : && types_match (type, TREE_TYPE (captures[3]))))
5647 : : )
5648 : : {
5649 : 0 : if (cmp == EQ_EXPR
5650 : : )
5651 : : {
5652 : 0 : if (VECTOR_TYPE_P (type)
5653 : : )
5654 : : {
5655 : 0 : gimple_seq *lseq = seq;
5656 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1234;
5657 : 0 : {
5658 : 0 : res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
5659 : 0 : res_op->ops[0] = captures[2];
5660 : 0 : res_op->resimplify (lseq, valueize);
5661 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 609, __FILE__, __LINE__, true);
5662 : 0 : return true;
5663 : : }
5664 : 0 : next_after_fail1234:;
5665 : : }
5666 : : else
5667 : : {
5668 : 0 : gimple_seq *lseq = seq;
5669 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1235;
5670 : 0 : {
5671 : 0 : res_op->set_op (NOP_EXPR, type, 1);
5672 : 0 : res_op->ops[0] = captures[2];
5673 : 0 : res_op->resimplify (lseq, valueize);
5674 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 610, __FILE__, __LINE__, true);
5675 : 0 : return true;
5676 : : }
5677 : 0 : next_after_fail1235:;
5678 : : }
5679 : : }
5680 : : else
5681 : : {
5682 : : if (cmp == NE_EXPR
5683 : : )
5684 : : {
5685 : 0 : if (VECTOR_TYPE_P (type)
5686 : : )
5687 : : {
5688 : 0 : gimple_seq *lseq = seq;
5689 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1236;
5690 : 0 : {
5691 : 0 : res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
5692 : 0 : res_op->ops[0] = captures[0];
5693 : 0 : res_op->resimplify (lseq, valueize);
5694 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 611, __FILE__, __LINE__, true);
5695 : 0 : return true;
5696 : : }
5697 : 0 : next_after_fail1236:;
5698 : : }
5699 : : else
5700 : : {
5701 : 0 : gimple_seq *lseq = seq;
5702 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1237;
5703 : 0 : {
5704 : 0 : res_op->set_op (NOP_EXPR, type, 1);
5705 : 0 : res_op->ops[0] = captures[0];
5706 : 0 : res_op->resimplify (lseq, valueize);
5707 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 612, __FILE__, __LINE__, true);
5708 : 0 : return true;
5709 : : }
5710 : 0 : next_after_fail1237:;
5711 : : }
5712 : : }
5713 : : else
5714 : : {
5715 : : if (cmp == LE_EXPR || cmp == UNLE_EXPR || cmp == LT_EXPR || cmp == UNLT_EXPR
5716 : : )
5717 : : {
5718 : 0 : if (!HONOR_NANS (type)
5719 : : )
5720 : : {
5721 : 0 : if (VECTOR_TYPE_P (type)
5722 : : )
5723 : : {
5724 : 0 : gimple_seq *lseq = seq;
5725 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1238;
5726 : 0 : {
5727 : 0 : res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
5728 : 0 : {
5729 : 0 : tree _o1[2], _r1;
5730 : 0 : _o1[0] = captures[0];
5731 : 0 : _o1[1] = captures[2];
5732 : 0 : (*res_op).set_op (MIN_EXPR, TREE_TYPE (_o1[0]), 2);
5733 : 0 : (*res_op).ops[0] = _o1[0];
5734 : 0 : (*res_op).ops[1] = _o1[1];
5735 : 0 : (*res_op).resimplify (lseq, valueize);
5736 : : }
5737 : 0 : if (type != res_op->type
5738 : 0 : && !useless_type_conversion_p (type, res_op->type))
5739 : : {
5740 : 0 : if (!(res_op->ops[0] = maybe_push_res_to_seq (res_op, lseq))) goto next_after_fail1238;
5741 : 0 : res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
5742 : 0 : res_op->resimplify (lseq, valueize);
5743 : : }
5744 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 613, __FILE__, __LINE__, true);
5745 : 0 : return true;
5746 : : }
5747 : : next_after_fail1238:;
5748 : : }
5749 : : else
5750 : : {
5751 : 0 : gimple_seq *lseq = seq;
5752 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1239;
5753 : 0 : {
5754 : 0 : res_op->set_op (NOP_EXPR, type, 1);
5755 : 0 : {
5756 : 0 : tree _o1[2], _r1;
5757 : 0 : _o1[0] = captures[0];
5758 : 0 : _o1[1] = captures[2];
5759 : 0 : (*res_op).set_op (MIN_EXPR, TREE_TYPE (_o1[0]), 2);
5760 : 0 : (*res_op).ops[0] = _o1[0];
5761 : 0 : (*res_op).ops[1] = _o1[1];
5762 : 0 : (*res_op).resimplify (lseq, valueize);
5763 : : }
5764 : 0 : if (type != res_op->type
5765 : 0 : && !useless_type_conversion_p (type, res_op->type))
5766 : : {
5767 : 0 : if (!(res_op->ops[0] = maybe_push_res_to_seq (res_op, lseq))) goto next_after_fail1239;
5768 : 0 : res_op->set_op (NOP_EXPR, type, 1);
5769 : 0 : res_op->resimplify (lseq, valueize);
5770 : : }
5771 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 614, __FILE__, __LINE__, true);
5772 : 0 : return true;
5773 : : }
5774 : : next_after_fail1239:;
5775 : : }
5776 : : }
5777 : : }
5778 : : else
5779 : : {
5780 : : if (cmp == GE_EXPR || cmp == UNGE_EXPR || cmp == GT_EXPR || cmp == UNGT_EXPR
5781 : : )
5782 : : {
5783 : 0 : if (!HONOR_NANS (type)
5784 : : )
5785 : : {
5786 : 0 : if (VECTOR_TYPE_P (type)
5787 : : )
5788 : : {
5789 : 0 : gimple_seq *lseq = seq;
5790 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1240;
5791 : 0 : {
5792 : 0 : res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
5793 : 0 : {
5794 : 0 : tree _o1[2], _r1;
5795 : 0 : _o1[0] = captures[0];
5796 : 0 : _o1[1] = captures[2];
5797 : 0 : (*res_op).set_op (MAX_EXPR, TREE_TYPE (_o1[0]), 2);
5798 : 0 : (*res_op).ops[0] = _o1[0];
5799 : 0 : (*res_op).ops[1] = _o1[1];
5800 : 0 : (*res_op).resimplify (lseq, valueize);
5801 : : }
5802 : 0 : if (type != res_op->type
5803 : 0 : && !useless_type_conversion_p (type, res_op->type))
5804 : : {
5805 : 0 : if (!(res_op->ops[0] = maybe_push_res_to_seq (res_op, lseq))) goto next_after_fail1240;
5806 : 0 : res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
5807 : 0 : res_op->resimplify (lseq, valueize);
5808 : : }
5809 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 615, __FILE__, __LINE__, true);
5810 : 0 : return true;
5811 : : }
5812 : : next_after_fail1240:;
5813 : : }
5814 : : else
5815 : : {
5816 : 0 : gimple_seq *lseq = seq;
5817 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1241;
5818 : 0 : {
5819 : 0 : res_op->set_op (NOP_EXPR, type, 1);
5820 : 0 : {
5821 : 0 : tree _o1[2], _r1;
5822 : 0 : _o1[0] = captures[0];
5823 : 0 : _o1[1] = captures[2];
5824 : 0 : (*res_op).set_op (MAX_EXPR, TREE_TYPE (_o1[0]), 2);
5825 : 0 : (*res_op).ops[0] = _o1[0];
5826 : 0 : (*res_op).ops[1] = _o1[1];
5827 : 0 : (*res_op).resimplify (lseq, valueize);
5828 : : }
5829 : 0 : if (type != res_op->type
5830 : 0 : && !useless_type_conversion_p (type, res_op->type))
5831 : : {
5832 : 0 : if (!(res_op->ops[0] = maybe_push_res_to_seq (res_op, lseq))) goto next_after_fail1241;
5833 : 0 : res_op->set_op (NOP_EXPR, type, 1);
5834 : 0 : res_op->resimplify (lseq, valueize);
5835 : : }
5836 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 616, __FILE__, __LINE__, true);
5837 : 0 : return true;
5838 : : }
5839 : : next_after_fail1241:;
5840 : : }
5841 : : }
5842 : : }
5843 : : else
5844 : : {
5845 : : if (cmp == UNEQ_EXPR
5846 : : )
5847 : : {
5848 : 0 : if (!HONOR_NANS (type)
5849 : : )
5850 : : {
5851 : 0 : if (VECTOR_TYPE_P (type)
5852 : : )
5853 : : {
5854 : 0 : gimple_seq *lseq = seq;
5855 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1242;
5856 : 0 : {
5857 : 0 : res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
5858 : 0 : res_op->ops[0] = captures[2];
5859 : 0 : res_op->resimplify (lseq, valueize);
5860 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 617, __FILE__, __LINE__, true);
5861 : 0 : return true;
5862 : : }
5863 : 0 : next_after_fail1242:;
5864 : : }
5865 : : else
5866 : : {
5867 : 0 : gimple_seq *lseq = seq;
5868 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1243;
5869 : 0 : {
5870 : 0 : res_op->set_op (NOP_EXPR, type, 1);
5871 : 0 : res_op->ops[0] = captures[2];
5872 : 0 : res_op->resimplify (lseq, valueize);
5873 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 618, __FILE__, __LINE__, true);
5874 : 0 : return true;
5875 : : }
5876 : 0 : next_after_fail1243:;
5877 : : }
5878 : : }
5879 : : }
5880 : : else
5881 : : {
5882 : : if (cmp == LTGT_EXPR
5883 : : )
5884 : : {
5885 : 0 : if (!HONOR_NANS (type)
5886 : : )
5887 : : {
5888 : 0 : if (VECTOR_TYPE_P (type)
5889 : : )
5890 : : {
5891 : 0 : gimple_seq *lseq = seq;
5892 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1244;
5893 : 0 : {
5894 : 0 : res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
5895 : 0 : res_op->ops[0] = captures[0];
5896 : 0 : res_op->resimplify (lseq, valueize);
5897 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 619, __FILE__, __LINE__, true);
5898 : 0 : return true;
5899 : : }
5900 : 0 : next_after_fail1244:;
5901 : : }
5902 : : else
5903 : : {
5904 : 0 : gimple_seq *lseq = seq;
5905 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1245;
5906 : 0 : {
5907 : 0 : res_op->set_op (NOP_EXPR, type, 1);
5908 : 0 : res_op->ops[0] = captures[0];
5909 : 0 : res_op->resimplify (lseq, valueize);
5910 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 620, __FILE__, __LINE__, true);
5911 : 0 : return true;
5912 : : }
5913 : 0 : next_after_fail1245:;
5914 : : }
5915 : : }
5916 : : }
5917 : : }
5918 : : }
5919 : : }
5920 : : }
5921 : : }
5922 : : }
5923 : : return false;
5924 : : }
5925 : :
5926 : : bool
5927 : 33 : gimple_simplify_406 (gimple_match_op *res_op, gimple_seq *seq,
5928 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
5929 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures))
5930 : : {
5931 : 33 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
5932 : 33 : if (!TYPE_SATURATING (type)
5933 : 33 : && (TYPE_OVERFLOW_WRAPS (type)
5934 : 33 : || !wi::only_sign_bit_p (wi::to_wide (captures[1])))
5935 : 80 : && wi::eq_p (wi::neg (wi::to_wide (captures[1])), wi::to_wide (captures[3]))
5936 : : )
5937 : : {
5938 : 0 : gimple_seq *lseq = seq;
5939 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1277;
5940 : 0 : {
5941 : 0 : tree tem;
5942 : 0 : tem = captures[2];
5943 : 0 : res_op->set_value (tem);
5944 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 634, __FILE__, __LINE__, true);
5945 : 0 : return true;
5946 : : }
5947 : 0 : next_after_fail1277:;
5948 : : }
5949 : : return false;
5950 : : }
5951 : :
5952 : : bool
5953 : 51 : gimple_simplify_414 (gimple_match_op *res_op, gimple_seq *seq,
5954 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
5955 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
5956 : : const enum tree_code ARG_UNUSED (cmp))
5957 : : {
5958 : 51 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
5959 : 51 : if (!HONOR_SIGNED_ZEROS (type)
5960 : 51 : && bitwise_equal_p (captures[0], captures[2])
5961 : : )
5962 : : {
5963 : 9 : gimple_seq *lseq = seq;
5964 : 9 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1287;
5965 : 9 : {
5966 : 9 : tree tem;
5967 : 9 : tem = captures[1];
5968 : 9 : res_op->set_value (tem);
5969 : 9 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 642, __FILE__, __LINE__, true);
5970 : 9 : return true;
5971 : : }
5972 : 0 : next_after_fail1287:;
5973 : : }
5974 : : return false;
5975 : : }
5976 : :
5977 : : bool
5978 : 0 : gimple_simplify_418 (gimple_match_op *res_op, gimple_seq *seq,
5979 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
5980 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
5981 : : const enum tree_code ARG_UNUSED (cmp))
5982 : : {
5983 : 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
5984 : 0 : if (!HONOR_SIGNED_ZEROS (type)
5985 : 0 : && bitwise_equal_p (captures[0], captures[2])
5986 : : )
5987 : : {
5988 : 0 : gimple_seq *lseq = seq;
5989 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1291;
5990 : 0 : {
5991 : 0 : tree tem;
5992 : 0 : tem = captures[1];
5993 : 0 : res_op->set_value (tem);
5994 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 642, __FILE__, __LINE__, true);
5995 : 0 : return true;
5996 : : }
5997 : 0 : next_after_fail1291:;
5998 : : }
5999 : : return false;
6000 : : }
6001 : :
6002 : : bool
6003 : 0 : gimple_simplify_425 (gimple_match_op *res_op, gimple_seq *seq,
6004 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
6005 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
6006 : : const enum tree_code ARG_UNUSED (cmp))
6007 : : {
6008 : 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
6009 : 0 : if (!HONOR_SIGNED_ZEROS (type)
6010 : 0 : && bitwise_equal_p (captures[0], captures[1])
6011 : : )
6012 : : {
6013 : 0 : gimple_seq *lseq = seq;
6014 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1299;
6015 : 0 : {
6016 : 0 : tree tem;
6017 : 0 : tem = captures[1];
6018 : 0 : res_op->set_value (tem);
6019 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 645, __FILE__, __LINE__, true);
6020 : 0 : return true;
6021 : : }
6022 : 0 : next_after_fail1299:;
6023 : : }
6024 : : return false;
6025 : : }
6026 : :
6027 : : bool
6028 : 70 : gimple_simplify_431 (gimple_match_op *res_op, gimple_seq *seq,
6029 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
6030 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
6031 : : const enum tree_code ARG_UNUSED (cmp))
6032 : : {
6033 : 70 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
6034 : 70 : if (INTEGRAL_TYPE_P (type)
6035 : 70 : && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
6036 : 70 : && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
6037 : 140 : && TYPE_PRECISION (TREE_TYPE (captures[0])) == TYPE_PRECISION (type)
6038 : : )
6039 : : {
6040 : 64 : {
6041 : 64 : tree shifter = build_int_cst (integer_type_node, TYPE_PRECISION (type) - 1);
6042 : 64 : if (cmp == LT_EXPR
6043 : : )
6044 : : {
6045 : 62 : gimple_seq *lseq = seq;
6046 : 62 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1309;
6047 : 62 : {
6048 : 62 : res_op->set_op (BIT_XOR_EXPR, type, 2);
6049 : 62 : {
6050 : 62 : tree _r1;
6051 : 62 : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
6052 : 62 : {
6053 : 62 : tree _o2[2], _r2;
6054 : 62 : _o2[0] = captures[0];
6055 : 62 : _o2[1] = shifter;
6056 : 62 : tem_op.set_op (RSHIFT_EXPR, TREE_TYPE (_o2[0]), 2);
6057 : 62 : tem_op.ops[0] = _o2[0];
6058 : 62 : tem_op.ops[1] = _o2[1];
6059 : 62 : tem_op.resimplify (lseq, valueize);
6060 : : }
6061 : 62 : if (type != tem_op.type
6062 : 62 : && !useless_type_conversion_p (type, tem_op.type))
6063 : : {
6064 : 28 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
6065 : 28 : if (!_r1) goto next_after_fail1309;
6066 : 28 : tem_op.set_op (NOP_EXPR, type, 1);
6067 : 28 : tem_op.ops[0] = _r1;
6068 : 28 : tem_op.resimplify (lseq, valueize);
6069 : : }
6070 : 62 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
6071 : 62 : if (!_r1) goto next_after_fail1309;
6072 : 62 : res_op->ops[0] = _r1;
6073 : : }
6074 : 62 : res_op->ops[1] = captures[1];
6075 : 62 : res_op->resimplify (lseq, valueize);
6076 : 62 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 655, __FILE__, __LINE__, true);
6077 : 62 : return true;
6078 : : }
6079 : : next_after_fail1309:;
6080 : : }
6081 : : else
6082 : : {
6083 : 2 : gimple_seq *lseq = seq;
6084 : 2 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1310;
6085 : 2 : {
6086 : 2 : res_op->set_op (BIT_NOT_EXPR, type, 1);
6087 : 2 : {
6088 : 2 : tree _o1[2], _r1;
6089 : 2 : {
6090 : 2 : tree _r2;
6091 : 2 : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
6092 : 2 : {
6093 : 2 : tree _o3[2], _r3;
6094 : 2 : _o3[0] = captures[0];
6095 : 2 : _o3[1] = shifter;
6096 : 2 : tem_op.set_op (RSHIFT_EXPR, TREE_TYPE (_o3[0]), 2);
6097 : 2 : tem_op.ops[0] = _o3[0];
6098 : 2 : tem_op.ops[1] = _o3[1];
6099 : 2 : tem_op.resimplify (lseq, valueize);
6100 : : }
6101 : 2 : if (type != tem_op.type
6102 : 2 : && !useless_type_conversion_p (type, tem_op.type))
6103 : : {
6104 : 2 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
6105 : 2 : if (!_r2) goto next_after_fail1310;
6106 : 2 : tem_op.set_op (NOP_EXPR, type, 1);
6107 : 2 : tem_op.ops[0] = _r2;
6108 : 2 : tem_op.resimplify (lseq, valueize);
6109 : : }
6110 : 2 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
6111 : 2 : if (!_r2) goto next_after_fail1310;
6112 : 2 : _o1[0] = _r2;
6113 : : }
6114 : 2 : _o1[1] = captures[1];
6115 : 2 : gimple_match_op tem_op (res_op->cond.any_else (), BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
6116 : 2 : tem_op.resimplify (lseq, valueize);
6117 : 2 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
6118 : 2 : if (!_r1) goto next_after_fail1310;
6119 : 2 : res_op->ops[0] = _r1;
6120 : : }
6121 : 2 : res_op->resimplify (lseq, valueize);
6122 : 2 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 656, __FILE__, __LINE__, true);
6123 : 2 : return true;
6124 : : }
6125 : : next_after_fail1310:;
6126 : : }
6127 : : }
6128 : : }
6129 : : return false;
6130 : : }
6131 : :
6132 : : bool
6133 : 2 : gimple_simplify_441 (gimple_match_op *res_op, gimple_seq *seq,
6134 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
6135 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
6136 : : const enum tree_code ARG_UNUSED (cmp))
6137 : : {
6138 : 2 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
6139 : 2 : if (!HONOR_SIGNED_ZEROS (type)
6140 : 2 : && !TYPE_UNSIGNED (type)
6141 : : )
6142 : : {
6143 : 0 : if (ANY_INTEGRAL_TYPE_P (type)
6144 : 2 : && !TYPE_OVERFLOW_WRAPS (type)
6145 : : )
6146 : : {
6147 : 2 : {
6148 : 2 : tree utype = unsigned_type_for (type);
6149 : 2 : gimple_seq *lseq = seq;
6150 : 2 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1334;
6151 : 2 : {
6152 : 2 : res_op->set_op (NOP_EXPR, type, 1);
6153 : 2 : {
6154 : 2 : tree _o1[1], _r1;
6155 : 2 : {
6156 : 2 : tree _o2[1], _r2;
6157 : 2 : _o2[0] = captures[0];
6158 : 2 : gimple_match_op tem_op (res_op->cond.any_else (), ABSU_EXPR, utype, _o2[0]);
6159 : 2 : tem_op.resimplify (lseq, valueize);
6160 : 2 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
6161 : 2 : if (!_r2) goto next_after_fail1334;
6162 : 2 : _o1[0] = _r2;
6163 : : }
6164 : 2 : (*res_op).set_op (NEGATE_EXPR, TREE_TYPE (_o1[0]), 1);
6165 : 2 : (*res_op).ops[0] = _o1[0];
6166 : 2 : (*res_op).resimplify (lseq, valueize);
6167 : : }
6168 : 2 : if (type != res_op->type
6169 : 2 : && !useless_type_conversion_p (type, res_op->type))
6170 : : {
6171 : 2 : if (!(res_op->ops[0] = maybe_push_res_to_seq (res_op, lseq))) goto next_after_fail1334;
6172 : 2 : res_op->set_op (NOP_EXPR, type, 1);
6173 : 2 : res_op->resimplify (lseq, valueize);
6174 : : }
6175 : 2 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 662, __FILE__, __LINE__, true);
6176 : 2 : return true;
6177 : : }
6178 : : next_after_fail1334:;
6179 : : }
6180 : : }
6181 : : else
6182 : : {
6183 : 0 : gimple_seq *lseq = seq;
6184 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1335;
6185 : 0 : {
6186 : 0 : res_op->set_op (NEGATE_EXPR, type, 1);
6187 : 0 : {
6188 : 0 : tree _o1[1], _r1;
6189 : 0 : _o1[0] = captures[0];
6190 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
6191 : 0 : tem_op.resimplify (lseq, valueize);
6192 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
6193 : 0 : if (!_r1) goto next_after_fail1335;
6194 : 0 : res_op->ops[0] = _r1;
6195 : : }
6196 : 0 : res_op->resimplify (lseq, valueize);
6197 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 663, __FILE__, __LINE__, true);
6198 : 0 : return true;
6199 : : }
6200 : : next_after_fail1335:;
6201 : : }
6202 : : }
6203 : : return false;
6204 : : }
6205 : :
6206 : : bool
6207 : 7 : gimple_simplify_444 (gimple_match_op *res_op, gimple_seq *seq,
6208 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
6209 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
6210 : : const combined_fn ARG_UNUSED (func))
6211 : : {
6212 : 7 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
6213 : 7 : gimple_seq *lseq = seq;
6214 : 7 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1340;
6215 : 7 : {
6216 : 7 : tree tem;
6217 : 7 : tem = captures[2];
6218 : 7 : res_op->set_value (tem);
6219 : 7 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 668, __FILE__, __LINE__, true);
6220 : : return true;
6221 : : }
6222 : 0 : next_after_fail1340:;
6223 : 0 : return false;
6224 : : }
6225 : :
6226 : : bool
6227 : 256 : gimple_simplify_447 (gimple_match_op *res_op, gimple_seq *seq,
6228 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
6229 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
6230 : : const combined_fn ARG_UNUSED (func))
6231 : : {
6232 : 256 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
6233 : 256 : {
6234 : 256 : int val;
6235 : 256 : internal_fn ifn = IFN_LAST;
6236 : 256 : if (TREE_CODE (TREE_TYPE (captures[2])) == BITINT_TYPE)
6237 : : {
6238 : 0 : if (tree_fits_shwi_p (captures[3]))
6239 : : {
6240 : 0 : HOST_WIDE_INT valw = tree_to_shwi (captures[3]);
6241 : 0 : if ((int) valw == valw)
6242 : : {
6243 : 0 : val = valw;
6244 : 0 : ifn = IFN_CLZ;
6245 : : }
6246 : : }
6247 : : }
6248 : 256 : else if (direct_internal_fn_supported_p (IFN_CLZ, TREE_TYPE (captures[2]),
6249 : : OPTIMIZE_FOR_BOTH)
6250 : 512 : && CLZ_DEFINED_VALUE_AT_ZERO
6251 : : (SCALAR_INT_TYPE_MODE (TREE_TYPE (captures[2])), val) == 2)
6252 : 0 : ifn = IFN_CLZ;
6253 : 256 : if (ifn == IFN_CLZ && wi::to_widest (captures[3]) == val
6254 : : )
6255 : : {
6256 : 0 : gimple_seq *lseq = seq;
6257 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1343;
6258 : 0 : {
6259 : 0 : res_op->set_op (CFN_CLZ, type, 2);
6260 : 0 : res_op->ops[0] = captures[2];
6261 : 0 : res_op->ops[1] = captures[3];
6262 : 0 : res_op->resimplify (lseq, valueize);
6263 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 670, __FILE__, __LINE__, true);
6264 : 0 : return true;
6265 : : }
6266 : 0 : next_after_fail1343:;
6267 : : }
6268 : : }
6269 : 256 : return false;
6270 : : }
6271 : :
6272 : : bool
6273 : 0 : gimple_simplify_454 (gimple_match_op *res_op, gimple_seq *seq,
6274 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
6275 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures))
6276 : : {
6277 : 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
6278 : 0 : {
6279 : 0 : int val;
6280 : 0 : internal_fn ifn = IFN_LAST;
6281 : 0 : if (TREE_CODE (TREE_TYPE (captures[2])) == BITINT_TYPE)
6282 : : ifn = IFN_CTZ;
6283 : 0 : else if (direct_internal_fn_supported_p (IFN_CTZ, TREE_TYPE (captures[2]),
6284 : : OPTIMIZE_FOR_BOTH))
6285 : : ifn = IFN_CTZ;
6286 : : if (ifn == IFN_CTZ
6287 : : )
6288 : : {
6289 : 0 : gimple_seq *lseq = seq;
6290 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1350;
6291 : 0 : {
6292 : 0 : res_op->set_op (CFN_CTZ, type, 2);
6293 : 0 : res_op->ops[0] = captures[2];
6294 : 0 : res_op->ops[1] = captures[3];
6295 : 0 : res_op->resimplify (lseq, valueize);
6296 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 673, __FILE__, __LINE__, true);
6297 : 0 : return true;
6298 : : }
6299 : 0 : next_after_fail1350:;
6300 : : }
6301 : : }
6302 : : return false;
6303 : : }
6304 : :
6305 : : bool
6306 : 108855 : gimple_simplify_460 (gimple_match_op *res_op, gimple_seq *seq,
6307 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
6308 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
6309 : : const enum tree_code ARG_UNUSED (op))
6310 : : {
6311 : 108855 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
6312 : 217710 : if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
6313 : 217706 : && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
6314 : : )
6315 : : {
6316 : 27423 : gimple_seq *lseq = seq;
6317 : 27423 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1358;
6318 : 27423 : {
6319 : 27423 : res_op->set_op (op, type, 2);
6320 : 27423 : res_op->ops[0] = captures[0];
6321 : 27423 : res_op->ops[1] = captures[2];
6322 : 27423 : res_op->resimplify (lseq, valueize);
6323 : 27423 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 681, __FILE__, __LINE__, true);
6324 : 27423 : return true;
6325 : : }
6326 : 0 : next_after_fail1358:;
6327 : : }
6328 : : return false;
6329 : : }
6330 : :
6331 : : bool
6332 : 40921 : gimple_simplify_466 (gimple_match_op *res_op, gimple_seq *seq,
6333 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
6334 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
6335 : : const enum tree_code ARG_UNUSED (minmax),
6336 : : const enum tree_code ARG_UNUSED (cmp),
6337 : : const enum tree_code ARG_UNUSED (comb))
6338 : : {
6339 : 40921 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
6340 : 40921 : gimple_seq *lseq = seq;
6341 : 40921 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1365;
6342 : 40921 : {
6343 : 40921 : res_op->set_op (comb, type, 2);
6344 : 40921 : {
6345 : 40921 : tree _o1[2], _r1;
6346 : 40921 : _o1[0] = captures[0];
6347 : 40921 : _o1[1] = captures[2];
6348 : 40921 : gimple_match_op tem_op (res_op->cond.any_else (), cmp, type, _o1[0], _o1[1]);
6349 : 40921 : tem_op.resimplify (lseq, valueize);
6350 : 40921 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
6351 : 40921 : if (!_r1) goto next_after_fail1365;
6352 : 2325 : res_op->ops[0] = _r1;
6353 : : }
6354 : 2325 : {
6355 : 2325 : tree _o1[2], _r1;
6356 : 2325 : _o1[0] = captures[1];
6357 : 2325 : _o1[1] = captures[2];
6358 : 2325 : gimple_match_op tem_op (res_op->cond.any_else (), cmp, type, _o1[0], _o1[1]);
6359 : 2325 : tem_op.resimplify (lseq, valueize);
6360 : 2325 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
6361 : 2325 : if (!_r1) goto next_after_fail1365;
6362 : 2325 : res_op->ops[1] = _r1;
6363 : : }
6364 : 2325 : res_op->resimplify (lseq, valueize);
6365 : 2325 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 688, __FILE__, __LINE__, true);
6366 : : return true;
6367 : : }
6368 : : next_after_fail1365:;
6369 : : return false;
6370 : : }
6371 : :
6372 : : bool
6373 : 12209 : gimple_simplify_475 (gimple_match_op *res_op, gimple_seq *seq,
6374 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
6375 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
6376 : : const enum tree_code ARG_UNUSED (cmp))
6377 : : {
6378 : 12209 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
6379 : 12209 : if (single_use (captures[0])
6380 : 189 : && ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
6381 : 12384 : && TYPE_UNSIGNED (TREE_TYPE (captures[1]))
6382 : : )
6383 : : {
6384 : 131 : gimple_seq *lseq = seq;
6385 : 131 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1406;
6386 : 131 : {
6387 : 131 : res_op->set_op (cmp, type, 2);
6388 : 131 : res_op->ops[0] = captures[2];
6389 : 131 : res_op->ops[1] = captures[1];
6390 : 131 : res_op->resimplify (lseq, valueize);
6391 : 131 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 712, __FILE__, __LINE__, true);
6392 : 131 : return true;
6393 : : }
6394 : 0 : next_after_fail1406:;
6395 : : }
6396 : : return false;
6397 : : }
6398 : :
6399 : : bool
6400 : 23 : gimple_simplify_478 (gimple_match_op *res_op, gimple_seq *seq,
6401 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
6402 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
6403 : : const enum tree_code ARG_UNUSED (cmp),
6404 : : const enum tree_code ARG_UNUSED (out))
6405 : : {
6406 : 23 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
6407 : 23 : if (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
6408 : 23 : && types_match (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
6409 : : )
6410 : : {
6411 : 23 : gimple_seq *lseq = seq;
6412 : 23 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1409;
6413 : 23 : {
6414 : 23 : res_op->set_op (out, type, 2);
6415 : 23 : {
6416 : 23 : tree _o1[1], _r1;
6417 : 23 : _o1[0] = captures[0];
6418 : 23 : gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
6419 : 23 : tem_op.resimplify (lseq, valueize);
6420 : 23 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
6421 : 23 : if (!_r1) goto next_after_fail1409;
6422 : 12 : res_op->ops[0] = _r1;
6423 : : }
6424 : 12 : res_op->ops[1] = build_zero_cst (TREE_TYPE (captures[1]));
6425 : 12 : res_op->resimplify (lseq, valueize);
6426 : 12 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 715, __FILE__, __LINE__, true);
6427 : 12 : return true;
6428 : : }
6429 : : next_after_fail1409:;
6430 : : }
6431 : : return false;
6432 : : }
6433 : :
6434 : : bool
6435 : 38 : gimple_simplify_482 (gimple_match_op *res_op, gimple_seq *seq,
6436 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
6437 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
6438 : : const enum tree_code ARG_UNUSED (op),
6439 : : const enum tree_code ARG_UNUSED (cmp),
6440 : : const combined_fn ARG_UNUSED (ctz))
6441 : : {
6442 : 38 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
6443 : 38 : {
6444 : 38 : bool ok = true;
6445 : 38 : HOST_WIDE_INT val = 0;
6446 : 38 : if (sanitize_flags_p (SANITIZE_BUILTIN)
6447 : 38 : && (!cfun
6448 : 24 : || (cfun->curr_properties & PROP_ssa) == 0))
6449 : : ok = false;
6450 : 38 : else if (!tree_fits_shwi_p (captures[2]))
6451 : : ok = false;
6452 : : else
6453 : : {
6454 : 38 : val = tree_to_shwi (captures[2]);
6455 : 38 : if (op == GT_EXPR || op == LE_EXPR)
6456 : : {
6457 : 38 : if (val == HOST_WIDE_INT_MAX)
6458 : : ok = false;
6459 : : else
6460 : 38 : val++;
6461 : : }
6462 : : }
6463 : 38 : tree type0 = TREE_TYPE (captures[1]);
6464 : 38 : int prec = TYPE_PRECISION (type0);
6465 : 76 : if (ok && prec <= MAX_FIXED_MODE_SIZE
6466 : : )
6467 : : {
6468 : 38 : if (val <= 0
6469 : : )
6470 : : {
6471 : 0 : gimple_seq *lseq = seq;
6472 : 0 : if (lseq
6473 : : && (!single_use (captures[0])))
6474 : : lseq = NULL;
6475 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1416;
6476 : 0 : {
6477 : 0 : tree tem;
6478 : 0 : tem = constant_boolean_node (cmp == EQ_EXPR ? true : false, type);
6479 : 0 : res_op->set_value (tem);
6480 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 722, __FILE__, __LINE__, true);
6481 : 0 : return true;
6482 : : }
6483 : 0 : next_after_fail1416:;
6484 : : }
6485 : : else
6486 : : {
6487 : 38 : if (val >= prec
6488 : : )
6489 : : {
6490 : 0 : gimple_seq *lseq = seq;
6491 : 0 : if (lseq
6492 : : && (!single_use (captures[0])))
6493 : : lseq = NULL;
6494 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1417;
6495 : 0 : {
6496 : 0 : tree tem;
6497 : 0 : tem = constant_boolean_node (cmp == EQ_EXPR ? false : true, type);
6498 : 0 : res_op->set_value (tem);
6499 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 723, __FILE__, __LINE__, true);
6500 : 0 : return true;
6501 : : }
6502 : 0 : next_after_fail1417:;
6503 : : }
6504 : : else
6505 : : {
6506 : 38 : gimple_seq *lseq = seq;
6507 : 38 : if (lseq
6508 : 16 : && (!single_use (captures[0])))
6509 : 26 : lseq = NULL;
6510 : 38 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1418;
6511 : 38 : {
6512 : 38 : res_op->set_op (cmp, type, 2);
6513 : 38 : {
6514 : 38 : tree _o1[2], _r1;
6515 : 38 : _o1[0] = captures[1];
6516 : 38 : _o1[1] = wide_int_to_tree (type0,
6517 : 38 : wi::mask (val, false, prec));
6518 : 38 : gimple_match_op tem_op (res_op->cond.any_else (), BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
6519 : 38 : tem_op.resimplify (lseq, valueize);
6520 : 38 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
6521 : 38 : if (!_r1) goto next_after_fail1418;
6522 : 12 : res_op->ops[0] = _r1;
6523 : : }
6524 : 12 : res_op->ops[1] = build_zero_cst (type0);
6525 : 12 : res_op->resimplify (lseq, valueize);
6526 : 12 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 724, __FILE__, __LINE__, true);
6527 : 12 : return true;
6528 : : }
6529 : : next_after_fail1418:;
6530 : : }
6531 : : }
6532 : : }
6533 : : }
6534 : : return false;
6535 : : }
6536 : :
6537 : : bool
6538 : 944 : gimple_simplify_490 (gimple_match_op *res_op, gimple_seq *seq,
6539 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
6540 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
6541 : : const enum tree_code ARG_UNUSED (cmp),
6542 : : const enum tree_code ARG_UNUSED (out))
6543 : : {
6544 : 944 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
6545 : 944 : if (TYPE_UNSIGNED (TREE_TYPE (captures[2])) && !VECTOR_TYPE_P (TREE_TYPE (captures[2]))
6546 : : )
6547 : : {
6548 : 880 : {
6549 : 880 : tree t = TREE_TYPE (captures[2]), cpx = build_complex_type (t);
6550 : 880 : gimple_seq *lseq = seq;
6551 : 880 : if (lseq
6552 : 186 : && (!single_use (captures[0])))
6553 : 878 : lseq = NULL;
6554 : 880 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1428;
6555 : 880 : {
6556 : 880 : res_op->set_op (out, type, 2);
6557 : 880 : {
6558 : 880 : tree _o1[1], _r1;
6559 : 880 : {
6560 : 880 : tree _o2[2], _r2;
6561 : 880 : _o2[0] = captures[2];
6562 : 880 : _o2[1] = captures[1];
6563 : 880 : gimple_match_op tem_op (res_op->cond.any_else (), CFN_MUL_OVERFLOW, cpx, _o2[0], _o2[1]);
6564 : 880 : tem_op.resimplify (lseq, valueize);
6565 : 880 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
6566 : 880 : if (!_r2) goto next_after_fail1428;
6567 : 2 : _o1[0] = _r2;
6568 : : }
6569 : 2 : gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o1[0])), _o1[0]);
6570 : 2 : tem_op.resimplify (lseq, valueize);
6571 : 2 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
6572 : 2 : if (!_r1) goto next_after_fail1428;
6573 : 2 : res_op->ops[0] = _r1;
6574 : : }
6575 : 2 : res_op->ops[1] = build_zero_cst (t);
6576 : 2 : res_op->resimplify (lseq, valueize);
6577 : 2 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 716, __FILE__, __LINE__, true);
6578 : 2 : return true;
6579 : : }
6580 : : next_after_fail1428:;
6581 : : }
6582 : : }
6583 : : return false;
6584 : : }
6585 : :
6586 : : bool
6587 : 2968 : gimple_simplify_498 (gimple_match_op *res_op, gimple_seq *seq,
6588 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
6589 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures))
6590 : : {
6591 : 2968 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
6592 : 2968 : if (wi::ltu_p (wi::to_wide (captures[1]), element_precision (type))
6593 : : )
6594 : : {
6595 : 2968 : gimple_seq *lseq = seq;
6596 : 2968 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1440;
6597 : 2968 : {
6598 : 2968 : res_op->set_op (BIT_AND_EXPR, type, 2);
6599 : 2968 : {
6600 : 2968 : tree _o1[1], _r1;
6601 : 2968 : _o1[0] = captures[0];
6602 : 2968 : if (type != TREE_TYPE (_o1[0]) /* XXX */
6603 : 2968 : && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
6604 : : {
6605 : 50 : gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, type, _o1[0]);
6606 : 50 : tem_op.resimplify (lseq, valueize);
6607 : 50 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
6608 : 50 : if (!_r1) goto next_after_fail1440;
6609 : : }
6610 : : else
6611 : : _r1 = _o1[0];
6612 : 2950 : res_op->ops[0] = _r1;
6613 : : }
6614 : 2950 : {
6615 : 2950 : tree _o1[2], _r1;
6616 : 2950 : _o1[0] = build_minus_one_cst (type);
6617 : 2950 : _o1[1] = captures[1];
6618 : 2950 : gimple_match_op tem_op (res_op->cond.any_else (), LSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
6619 : 2950 : tem_op.resimplify (lseq, valueize);
6620 : 2950 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
6621 : 2950 : if (!_r1) goto next_after_fail1440;
6622 : 2950 : res_op->ops[1] = _r1;
6623 : : }
6624 : 2950 : res_op->resimplify (lseq, valueize);
6625 : 2950 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 742, __FILE__, __LINE__, true);
6626 : 2950 : return true;
6627 : : }
6628 : : next_after_fail1440:;
6629 : : }
6630 : : return false;
6631 : : }
6632 : :
6633 : : bool
6634 : 12692 : gimple_simplify_505 (gimple_match_op *res_op, gimple_seq *seq,
6635 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
6636 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
6637 : : const enum tree_code ARG_UNUSED (bit_op),
6638 : : const enum tree_code ARG_UNUSED (shift))
6639 : : {
6640 : 12692 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
6641 : 12692 : if (tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
6642 : : )
6643 : : {
6644 : 1521 : {
6645 : 1521 : tree mask = int_const_binop (shift, fold_convert (type, captures[3]), captures[4]);
6646 : 1521 : if (mask
6647 : : )
6648 : : {
6649 : 1521 : gimple_seq *lseq = seq;
6650 : 1521 : if (lseq
6651 : 538 : && (!single_use (captures[0])
6652 : 221 : || !single_use (captures[1])))
6653 : 1363 : lseq = NULL;
6654 : 1521 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1450;
6655 : 1521 : {
6656 : 1521 : res_op->set_op (bit_op, type, 2);
6657 : 1521 : {
6658 : 1521 : tree _o1[2], _r1;
6659 : 1521 : {
6660 : 1521 : tree _o2[1], _r2;
6661 : 1521 : _o2[0] = captures[2];
6662 : 1521 : if (type != TREE_TYPE (_o2[0]) /* XXX */
6663 : 1521 : && !useless_type_conversion_p (type, TREE_TYPE (_o2[0])))
6664 : : {
6665 : 1521 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o2[0]);
6666 : 1521 : tem_op.resimplify (lseq, valueize);
6667 : 1521 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
6668 : 1521 : if (!_r2) goto next_after_fail1450;
6669 : : }
6670 : : else
6671 : : _r2 = _o2[0];
6672 : 278 : _o1[0] = _r2;
6673 : : }
6674 : 278 : _o1[1] = captures[4];
6675 : 278 : gimple_match_op tem_op (res_op->cond.any_else (), shift, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
6676 : 278 : tem_op.resimplify (lseq, valueize);
6677 : 278 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
6678 : 278 : if (!_r1) goto next_after_fail1450;
6679 : 158 : res_op->ops[0] = _r1;
6680 : : }
6681 : 158 : res_op->ops[1] = mask;
6682 : 158 : res_op->resimplify (lseq, valueize);
6683 : 158 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 751, __FILE__, __LINE__, true);
6684 : 158 : return true;
6685 : : }
6686 : : next_after_fail1450:;
6687 : : }
6688 : : }
6689 : : }
6690 : : return false;
6691 : : }
6692 : :
6693 : : bool
6694 : 19086 : gimple_simplify_511 (gimple_match_op *res_op, gimple_seq *seq,
6695 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
6696 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
6697 : : const enum tree_code ARG_UNUSED (bitop))
6698 : : {
6699 : 19086 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
6700 : 19086 : if (1
6701 : 19086 : && TREE_CODE (captures[3]) != INTEGER_CST
6702 : 11397 : && tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
6703 : 9160 : && types_match (type, captures[2])
6704 : 7027 : && !POINTER_TYPE_P (TREE_TYPE (captures[2]))
6705 : 24909 : && TREE_CODE (TREE_TYPE (captures[2])) != OFFSET_TYPE
6706 : : )
6707 : : {
6708 : 5791 : gimple_seq *lseq = seq;
6709 : 5791 : if (lseq
6710 : 2964 : && (!single_use (captures[0])
6711 : 2796 : || !single_use (captures[1])))
6712 : 3293 : lseq = NULL;
6713 : 5791 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1461;
6714 : 5791 : {
6715 : 5791 : res_op->set_op (bitop, type, 2);
6716 : 5791 : res_op->ops[0] = captures[2];
6717 : 5791 : {
6718 : 5791 : tree _o1[1], _r1;
6719 : 5791 : _o1[0] = captures[3];
6720 : 5791 : if (type != TREE_TYPE (_o1[0]) /* XXX */
6721 : 5791 : && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
6722 : : {
6723 : 5791 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
6724 : 5791 : tem_op.resimplify (lseq, valueize);
6725 : 5791 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
6726 : 5791 : if (!_r1) goto next_after_fail1461;
6727 : : }
6728 : : else
6729 : : _r1 = _o1[0];
6730 : 2859 : res_op->ops[1] = _r1;
6731 : : }
6732 : 2859 : res_op->resimplify (lseq, valueize);
6733 : 2859 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 761, __FILE__, __LINE__, true);
6734 : 2859 : return true;
6735 : : }
6736 : : next_after_fail1461:;
6737 : : }
6738 : : return false;
6739 : : }
6740 : :
6741 : : bool
6742 : 317986 : gimple_simplify_518 (gimple_match_op *res_op, gimple_seq *seq,
6743 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
6744 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
6745 : : const enum tree_code ARG_UNUSED (op))
6746 : : {
6747 : 317986 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
6748 : 317986 : if (INTEGRAL_TYPE_P (type)
6749 : 195147 : && op != MULT_EXPR
6750 : 195147 : && op != RDIV_EXPR
6751 : 144312 : && INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
6752 : 111356 : && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
6753 : 111356 : && type_has_mode_precision_p (TREE_TYPE (captures[2]))
6754 : 95588 : && type_has_mode_precision_p (TREE_TYPE (captures[4]))
6755 : 94100 : && type_has_mode_precision_p (type)
6756 : 92748 : && TYPE_PRECISION (TREE_TYPE (captures[1])) > TYPE_PRECISION (TREE_TYPE (captures[2]))
6757 : 19457 : && types_match (captures[2], type)
6758 : 322702 : && (types_match (captures[2], captures[4])
6759 : 3159 : || poly_int_tree_p (captures[3]))
6760 : : )
6761 : : {
6762 : 1557 : if (TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[2]))
6763 : : )
6764 : : {
6765 : 203 : gimple_seq *lseq = seq;
6766 : 203 : if (lseq
6767 : 163 : && (!single_use (captures[0])))
6768 : 198 : lseq = NULL;
6769 : 203 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1469;
6770 : 203 : {
6771 : 203 : res_op->set_op (op, type, 2);
6772 : 203 : res_op->ops[0] = captures[2];
6773 : 203 : {
6774 : 203 : tree _o1[1], _r1;
6775 : 203 : _o1[0] = captures[4];
6776 : 203 : if (type != TREE_TYPE (_o1[0]) /* XXX */
6777 : 203 : && !useless_type_conversion_p (type, TREE_TYPE (_o1[0])))
6778 : : {
6779 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type, _o1[0]);
6780 : 0 : tem_op.resimplify (lseq, valueize);
6781 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
6782 : 0 : if (!_r1) goto next_after_fail1469;
6783 : : }
6784 : : else
6785 : : _r1 = _o1[0];
6786 : 203 : res_op->ops[1] = _r1;
6787 : : }
6788 : 203 : res_op->resimplify (lseq, valueize);
6789 : 203 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 769, __FILE__, __LINE__, true);
6790 : 203 : return true;
6791 : : }
6792 : : next_after_fail1469:;
6793 : : }
6794 : : else
6795 : : {
6796 : 1354 : {
6797 : 1354 : tree utype = unsigned_type_for (TREE_TYPE (captures[2]));
6798 : 1354 : gimple_seq *lseq = seq;
6799 : 1354 : if (lseq
6800 : 568 : && (!single_use (captures[0])))
6801 : 1340 : lseq = NULL;
6802 : 1354 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1470;
6803 : 1354 : {
6804 : 1354 : res_op->set_op (NOP_EXPR, type, 1);
6805 : 1354 : {
6806 : 1354 : tree _o1[2], _r1;
6807 : 1354 : {
6808 : 1354 : tree _o2[1], _r2;
6809 : 1354 : _o2[0] = captures[2];
6810 : 1354 : if (utype != TREE_TYPE (_o2[0]) /* XXX */
6811 : 1354 : && !useless_type_conversion_p (utype, TREE_TYPE (_o2[0])))
6812 : : {
6813 : 1354 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o2[0]);
6814 : 1354 : tem_op.resimplify (lseq, valueize);
6815 : 1354 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
6816 : 1354 : if (!_r2) goto next_after_fail1470;
6817 : : }
6818 : : else
6819 : : _r2 = _o2[0];
6820 : 1048 : _o1[0] = _r2;
6821 : : }
6822 : 1048 : {
6823 : 1048 : tree _o2[1], _r2;
6824 : 1048 : _o2[0] = captures[4];
6825 : 1048 : if (utype != TREE_TYPE (_o2[0]) /* XXX */
6826 : 1048 : && !useless_type_conversion_p (utype, TREE_TYPE (_o2[0])))
6827 : : {
6828 : 1048 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o2[0]);
6829 : 1048 : tem_op.resimplify (lseq, valueize);
6830 : 1048 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
6831 : 1048 : if (!_r2) goto next_after_fail1470;
6832 : : }
6833 : : else
6834 : : _r2 = _o2[0];
6835 : 1048 : _o1[1] = _r2;
6836 : : }
6837 : 1048 : (*res_op).set_op (op, TREE_TYPE (_o1[0]), 2);
6838 : 1048 : (*res_op).ops[0] = _o1[0];
6839 : 1048 : (*res_op).ops[1] = _o1[1];
6840 : 1048 : (*res_op).resimplify (lseq, valueize);
6841 : : }
6842 : 1048 : if (type != res_op->type
6843 : 1048 : && !useless_type_conversion_p (type, res_op->type))
6844 : : {
6845 : 1048 : if (!(res_op->ops[0] = maybe_push_res_to_seq (res_op, lseq))) goto next_after_fail1470;
6846 : 14 : res_op->set_op (NOP_EXPR, type, 1);
6847 : 14 : res_op->resimplify (lseq, valueize);
6848 : : }
6849 : 14 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 770, __FILE__, __LINE__, true);
6850 : 14 : return true;
6851 : : }
6852 : : next_after_fail1470:;
6853 : : }
6854 : : }
6855 : : }
6856 : : else
6857 : : {
6858 : 267264 : if (FLOAT_TYPE_P (type)
6859 : 365594 : && DECIMAL_FLOAT_TYPE_P (TREE_TYPE (captures[0]))
6860 : 49165 : == DECIMAL_FLOAT_TYPE_P (type)
6861 : : )
6862 : : {
6863 : 49165 : {
6864 : 49165 : tree arg0 = strip_float_extensions (captures[2]);
6865 : 49165 : tree arg1 = strip_float_extensions (captures[4]);
6866 : 49165 : tree itype = TREE_TYPE (captures[0]);
6867 : 49165 : tree ty1 = TREE_TYPE (arg0);
6868 : 49165 : tree ty2 = TREE_TYPE (arg1);
6869 : 49165 : enum tree_code code = TREE_CODE (itype);
6870 : 0 : if (FLOAT_TYPE_P (ty1)
6871 : 49165 : && FLOAT_TYPE_P (ty2)
6872 : : )
6873 : : {
6874 : 49165 : {
6875 : 49165 : tree newtype = type;
6876 : 49165 : if (TYPE_MODE (ty1) == SDmode
6877 : 49165 : || TYPE_MODE (ty2) == SDmode
6878 : 98330 : || TYPE_MODE (type) == SDmode)
6879 : 0 : newtype = dfloat32_type_node;
6880 : 49165 : if (TYPE_MODE (ty1) == DDmode
6881 : 49165 : || TYPE_MODE (ty2) == DDmode
6882 : 98330 : || TYPE_MODE (type) == DDmode)
6883 : 0 : newtype = dfloat64_type_node;
6884 : 49165 : if (TYPE_MODE (ty1) == TDmode
6885 : 49165 : || TYPE_MODE (ty2) == TDmode
6886 : 98330 : || TYPE_MODE (type) == TDmode)
6887 : 0 : newtype = dfloat128_type_node;
6888 : 49165 : if ((newtype == dfloat32_type_node
6889 : 49165 : || newtype == dfloat64_type_node
6890 : 49165 : || newtype == dfloat128_type_node)
6891 : 0 : && newtype == type
6892 : 49165 : && types_match (newtype, type)
6893 : : )
6894 : : {
6895 : 0 : gimple_seq *lseq = seq;
6896 : 0 : if (lseq
6897 : 0 : && (!single_use (captures[0])))
6898 : 0 : lseq = NULL;
6899 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1471;
6900 : 0 : {
6901 : 0 : res_op->set_op (op, type, 2);
6902 : 0 : {
6903 : 0 : tree _o1[1], _r1;
6904 : 0 : _o1[0] = captures[2];
6905 : 0 : if (newtype != TREE_TYPE (_o1[0]) /* XXX */
6906 : 0 : && !useless_type_conversion_p (newtype, TREE_TYPE (_o1[0])))
6907 : : {
6908 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, newtype, _o1[0]);
6909 : 0 : tem_op.resimplify (lseq, valueize);
6910 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
6911 : 0 : if (!_r1) goto next_after_fail1471;
6912 : : }
6913 : : else
6914 : : _r1 = _o1[0];
6915 : 0 : res_op->ops[0] = _r1;
6916 : : }
6917 : 0 : {
6918 : 0 : tree _o1[1], _r1;
6919 : 0 : _o1[0] = captures[4];
6920 : 0 : if (newtype != TREE_TYPE (_o1[0]) /* XXX */
6921 : 0 : && !useless_type_conversion_p (newtype, TREE_TYPE (_o1[0])))
6922 : : {
6923 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, newtype, _o1[0]);
6924 : 0 : tem_op.resimplify (lseq, valueize);
6925 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
6926 : 0 : if (!_r1) goto next_after_fail1471;
6927 : : }
6928 : : else
6929 : : _r1 = _o1[0];
6930 : 0 : res_op->ops[1] = _r1;
6931 : : }
6932 : 0 : res_op->resimplify (lseq, valueize);
6933 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 771, __FILE__, __LINE__, true);
6934 : 0 : return true;
6935 : : }
6936 : : next_after_fail1471:;
6937 : : }
6938 : : else
6939 : : {
6940 : 49165 : {
6941 : 49165 : if (element_precision (ty1) > element_precision (newtype))
6942 : 0 : newtype = ty1;
6943 : 49165 : if (element_precision (ty2) > element_precision (newtype))
6944 : 0 : newtype = ty2;
6945 : 49165 : if (element_precision (newtype) < element_precision (itype)
6946 : 49143 : && (!VECTOR_MODE_P (TYPE_MODE (newtype))
6947 : 0 : || target_supports_op_p (newtype, op, optab_default))
6948 : 49143 : && (flag_unsafe_math_optimizations
6949 : 49141 : || (element_precision (newtype) == element_precision (type)
6950 : 49141 : && real_can_shorten_arithmetic (element_mode (itype),
6951 : : element_mode (type))
6952 : 5736 : && !excess_precision_type (newtype)))
6953 : 49189 : && !types_match (itype, newtype)
6954 : : )
6955 : : {
6956 : 24 : gimple_seq *lseq = seq;
6957 : 24 : if (lseq
6958 : 13 : && (!single_use (captures[0])))
6959 : 19 : lseq = NULL;
6960 : 24 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1472;
6961 : 24 : {
6962 : 24 : res_op->set_op (NOP_EXPR, type, 1);
6963 : 24 : {
6964 : 24 : tree _o1[2], _r1;
6965 : 24 : {
6966 : 24 : tree _o2[1], _r2;
6967 : 24 : _o2[0] = captures[2];
6968 : 24 : if (newtype != TREE_TYPE (_o2[0]) /* XXX */
6969 : 24 : && !useless_type_conversion_p (newtype, TREE_TYPE (_o2[0])))
6970 : : {
6971 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, newtype, _o2[0]);
6972 : 0 : tem_op.resimplify (lseq, valueize);
6973 : 0 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
6974 : 0 : if (!_r2) goto next_after_fail1472;
6975 : : }
6976 : : else
6977 : : _r2 = _o2[0];
6978 : 24 : _o1[0] = _r2;
6979 : : }
6980 : 24 : {
6981 : 24 : tree _o2[1], _r2;
6982 : 24 : _o2[0] = captures[4];
6983 : 24 : if (newtype != TREE_TYPE (_o2[0]) /* XXX */
6984 : 24 : && !useless_type_conversion_p (newtype, TREE_TYPE (_o2[0])))
6985 : : {
6986 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, newtype, _o2[0]);
6987 : 0 : tem_op.resimplify (lseq, valueize);
6988 : 0 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
6989 : 0 : if (!_r2) goto next_after_fail1472;
6990 : : }
6991 : : else
6992 : : _r2 = _o2[0];
6993 : 24 : _o1[1] = _r2;
6994 : : }
6995 : 24 : (*res_op).set_op (op, TREE_TYPE (_o1[0]), 2);
6996 : 24 : (*res_op).ops[0] = _o1[0];
6997 : 24 : (*res_op).ops[1] = _o1[1];
6998 : 24 : (*res_op).resimplify (lseq, valueize);
6999 : : }
7000 : 24 : if (type != res_op->type
7001 : 24 : && !useless_type_conversion_p (type, res_op->type))
7002 : : {
7003 : 0 : if (!(res_op->ops[0] = maybe_push_res_to_seq (res_op, lseq))) goto next_after_fail1472;
7004 : 0 : res_op->set_op (NOP_EXPR, type, 1);
7005 : 0 : res_op->resimplify (lseq, valueize);
7006 : : }
7007 : 24 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 772, __FILE__, __LINE__, true);
7008 : 24 : return true;
7009 : : }
7010 : : next_after_fail1472:;
7011 : : }
7012 : : }
7013 : : }
7014 : : }
7015 : : }
7016 : : }
7017 : : }
7018 : : }
7019 : : return false;
7020 : : }
7021 : :
7022 : : bool
7023 : 276652 : gimple_simplify_553 (gimple_match_op *res_op, gimple_seq *seq,
7024 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
7025 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
7026 : : const enum tree_code ARG_UNUSED (op))
7027 : : {
7028 : 276652 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
7029 : 276652 : {
7030 : 276652 : tree pmop[2];
7031 : 276652 : tree utype = fold_bit_and_mask (TREE_TYPE (captures[1]), captures[3], op, captures[1], ERROR_MARK,
7032 : : NULL_TREE, NULL_TREE, captures[2], ERROR_MARK,
7033 : : NULL_TREE, NULL_TREE, pmop);
7034 : 276652 : if (utype
7035 : : )
7036 : : {
7037 : 2016 : gimple_seq *lseq = seq;
7038 : 2016 : if (lseq
7039 : 440 : && (!single_use (captures[0])))
7040 : 1900 : lseq = NULL;
7041 : 2016 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1518;
7042 : 2016 : {
7043 : 2016 : res_op->set_op (NOP_EXPR, type, 1);
7044 : 2016 : {
7045 : 2016 : tree _o1[2], _r1;
7046 : 2016 : {
7047 : 2016 : tree _o2[2], _r2;
7048 : 2016 : {
7049 : 2016 : tree _o3[1], _r3;
7050 : 2016 : _o3[0] = pmop[0];
7051 : 2016 : if (utype != TREE_TYPE (_o3[0]) /* XXX */
7052 : 2016 : && !useless_type_conversion_p (utype, TREE_TYPE (_o3[0])))
7053 : : {
7054 : 1068 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o3[0]);
7055 : 1068 : tem_op.resimplify (lseq, valueize);
7056 : 1068 : _r3 = maybe_push_res_to_seq (&tem_op, lseq);
7057 : 1068 : if (!_r3) goto next_after_fail1518;
7058 : : }
7059 : : else
7060 : : _r3 = _o3[0];
7061 : 998 : _o2[0] = _r3;
7062 : : }
7063 : 998 : {
7064 : 998 : tree _o3[1], _r3;
7065 : 998 : _o3[0] = pmop[1];
7066 : 998 : if (utype != TREE_TYPE (_o3[0]) /* XXX */
7067 : 998 : && !useless_type_conversion_p (utype, TREE_TYPE (_o3[0])))
7068 : : {
7069 : 50 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o3[0]);
7070 : 50 : tem_op.resimplify (lseq, valueize);
7071 : 50 : _r3 = maybe_push_res_to_seq (&tem_op, lseq);
7072 : 50 : if (!_r3) goto next_after_fail1518;
7073 : : }
7074 : : else
7075 : : _r3 = _o3[0];
7076 : 997 : _o2[1] = _r3;
7077 : : }
7078 : 997 : gimple_match_op tem_op (res_op->cond.any_else (), op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
7079 : 997 : tem_op.resimplify (lseq, valueize);
7080 : 997 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
7081 : 997 : if (!_r2) goto next_after_fail1518;
7082 : 969 : _o1[0] = _r2;
7083 : : }
7084 : 969 : {
7085 : 969 : tree _o2[1], _r2;
7086 : 969 : _o2[0] = captures[3];
7087 : 969 : if (utype != TREE_TYPE (_o2[0]) /* XXX */
7088 : 969 : && !useless_type_conversion_p (utype, TREE_TYPE (_o2[0])))
7089 : : {
7090 : 49 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, utype, _o2[0]);
7091 : 49 : tem_op.resimplify (lseq, valueize);
7092 : 49 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
7093 : 49 : if (!_r2) goto next_after_fail1518;
7094 : : }
7095 : : else
7096 : : _r2 = _o2[0];
7097 : 969 : _o1[1] = _r2;
7098 : : }
7099 : 969 : (*res_op).set_op (BIT_AND_EXPR, TREE_TYPE (_o1[0]), 2);
7100 : 969 : (*res_op).ops[0] = _o1[0];
7101 : 969 : (*res_op).ops[1] = _o1[1];
7102 : 969 : (*res_op).resimplify (lseq, valueize);
7103 : : }
7104 : 969 : if (type != res_op->type
7105 : 969 : && !useless_type_conversion_p (type, res_op->type))
7106 : : {
7107 : 49 : if (!(res_op->ops[0] = maybe_push_res_to_seq (res_op, lseq))) goto next_after_fail1518;
7108 : 31 : res_op->set_op (NOP_EXPR, type, 1);
7109 : 31 : res_op->resimplify (lseq, valueize);
7110 : : }
7111 : 951 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 805, __FILE__, __LINE__, true);
7112 : 951 : return true;
7113 : : }
7114 : 275701 : next_after_fail1518:;
7115 : : }
7116 : : }
7117 : 275701 : return false;
7118 : : }
7119 : :
7120 : : bool
7121 : 719187 : gimple_simplify_573 (gimple_match_op *res_op, gimple_seq *seq,
7122 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
7123 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
7124 : : const enum tree_code ARG_UNUSED (code2),
7125 : : const enum tree_code ARG_UNUSED (code1))
7126 : : {
7127 : 719187 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
7128 : 719187 : if ((TREE_CODE (captures[2]) == INTEGER_CST
7129 : 518129 : && TREE_CODE (captures[4]) == INTEGER_CST)
7130 : 1208355 : || ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
7131 : 45825 : || (VECTOR_TYPE_P (TREE_TYPE (captures[2]))
7132 : 127 : && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, code2))
7133 : 45698 : || POINTER_TYPE_P (TREE_TYPE (captures[2])))
7134 : 667303 : && operand_equal_p (captures[2], captures[4]))
7135 : : )
7136 : : {
7137 : 29266 : {
7138 : 29266 : int cmp = 0;
7139 : 29266 : if (TREE_CODE (captures[2]) == INTEGER_CST
7140 : 28961 : && TREE_CODE (captures[4]) == INTEGER_CST)
7141 : 28961 : cmp = tree_int_cst_compare (captures[2], captures[4]);
7142 : 29266 : if ((code1 == LT_EXPR || code1 == LE_EXPR)
7143 : 18932 : && (code2 == LT_EXPR || code2 == LE_EXPR)
7144 : : )
7145 : : {
7146 : 77 : if ((cmp < 0) || (cmp == 0 && code1 == LT_EXPR)
7147 : : )
7148 : : {
7149 : 32 : gimple_seq *lseq = seq;
7150 : 32 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1557;
7151 : 32 : {
7152 : 32 : tree tem;
7153 : 32 : tem = captures[0];
7154 : 32 : res_op->set_value (tem);
7155 : 32 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 833, __FILE__, __LINE__, true);
7156 : 32 : return true;
7157 : : }
7158 : 0 : next_after_fail1557:;
7159 : 0 : }
7160 : : else
7161 : : {
7162 : 45 : gimple_seq *lseq = seq;
7163 : 45 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1558;
7164 : 45 : {
7165 : 45 : tree tem;
7166 : 45 : tem = captures[3];
7167 : 45 : res_op->set_value (tem);
7168 : 45 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 834, __FILE__, __LINE__, true);
7169 : 45 : return true;
7170 : : }
7171 : 0 : next_after_fail1558:;
7172 : : }
7173 : : }
7174 : : else
7175 : : {
7176 : 29189 : if ((code1 == GT_EXPR || code1 == GE_EXPR)
7177 : 10334 : && (code2 == GT_EXPR || code2 == GE_EXPR)
7178 : : )
7179 : : {
7180 : 193 : if ((cmp > 0) || (cmp == 0 && code1 == GT_EXPR)
7181 : : )
7182 : : {
7183 : 133 : gimple_seq *lseq = seq;
7184 : 133 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1559;
7185 : 133 : {
7186 : 133 : tree tem;
7187 : 133 : tem = captures[0];
7188 : 133 : res_op->set_value (tem);
7189 : 133 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 835, __FILE__, __LINE__, true);
7190 : 133 : return true;
7191 : : }
7192 : 0 : next_after_fail1559:;
7193 : 0 : }
7194 : : else
7195 : : {
7196 : 60 : gimple_seq *lseq = seq;
7197 : 60 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1560;
7198 : 60 : {
7199 : 60 : tree tem;
7200 : 60 : tem = captures[3];
7201 : 60 : res_op->set_value (tem);
7202 : 60 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 836, __FILE__, __LINE__, true);
7203 : 60 : return true;
7204 : : }
7205 : 0 : next_after_fail1560:;
7206 : : }
7207 : : }
7208 : : else
7209 : : {
7210 : 28996 : if (cmp == 0
7211 : 387 : && ((code1 == LE_EXPR && code2 == GE_EXPR)
7212 : 338 : || (code1 == GE_EXPR && code2 == LE_EXPR))
7213 : : )
7214 : : {
7215 : 107 : gimple_seq *lseq = seq;
7216 : 107 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1561;
7217 : 107 : {
7218 : 107 : res_op->set_op (EQ_EXPR, type, 2);
7219 : 107 : res_op->ops[0] = captures[1];
7220 : 107 : res_op->ops[1] = captures[2];
7221 : 107 : res_op->resimplify (lseq, valueize);
7222 : 107 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 837, __FILE__, __LINE__, true);
7223 : 107 : return true;
7224 : : }
7225 : 0 : next_after_fail1561:;
7226 : 0 : }
7227 : : else
7228 : : {
7229 : 28889 : if (cmp <= 0
7230 : 10300 : && (code1 == LT_EXPR || code1 == LE_EXPR)
7231 : 223 : && (code2 == GT_EXPR || code2 == GE_EXPR)
7232 : : )
7233 : : {
7234 : 223 : gimple_seq *lseq = seq;
7235 : 223 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1562;
7236 : 223 : {
7237 : 223 : tree tem;
7238 : 223 : tem = constant_boolean_node (false, type);
7239 : 223 : res_op->set_value (tem);
7240 : 223 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 838, __FILE__, __LINE__, true);
7241 : 223 : return true;
7242 : : }
7243 : 0 : next_after_fail1562:;
7244 : 0 : }
7245 : : else
7246 : : {
7247 : 10077 : if (cmp >= 0
7248 : 18646 : && (code1 == GT_EXPR || code1 == GE_EXPR)
7249 : 63 : && (code2 == LT_EXPR || code2 == LE_EXPR)
7250 : : )
7251 : : {
7252 : 63 : gimple_seq *lseq = seq;
7253 : 63 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1563;
7254 : 63 : {
7255 : 63 : tree tem;
7256 : 63 : tem = constant_boolean_node (false, type);
7257 : 63 : res_op->set_value (tem);
7258 : 63 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 839, __FILE__, __LINE__, true);
7259 : 63 : return true;
7260 : : }
7261 : 0 : next_after_fail1563:;
7262 : : }
7263 : : }
7264 : : }
7265 : : }
7266 : : }
7267 : : }
7268 : : }
7269 : : return false;
7270 : : }
7271 : :
7272 : : bool
7273 : 1 : gimple_simplify_587 (gimple_match_op *res_op, gimple_seq *seq,
7274 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
7275 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures))
7276 : : {
7277 : 1 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
7278 : 1 : if ((wi::to_wide (captures[2]) & 1) != 0
7279 : : )
7280 : : {
7281 : 0 : gimple_seq *lseq = seq;
7282 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1595;
7283 : 0 : {
7284 : 0 : tree tem;
7285 : 0 : tem = captures[0];
7286 : 0 : res_op->set_value (tem);
7287 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 844, __FILE__, __LINE__, true);
7288 : 0 : return true;
7289 : : }
7290 : 0 : next_after_fail1595:;
7291 : : }
7292 : : else
7293 : : {
7294 : 1 : gimple_seq *lseq = seq;
7295 : 1 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1596;
7296 : 1 : {
7297 : 1 : tree tem;
7298 : 1 : tem = build_zero_cst (type);
7299 : 1 : res_op->set_value (tem);
7300 : 1 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 845, __FILE__, __LINE__, true);
7301 : 1 : return true;
7302 : : }
7303 : 0 : next_after_fail1596:;
7304 : : }
7305 : : return false;
7306 : : }
7307 : :
7308 : : bool
7309 : 0 : gimple_simplify_590 (gimple_match_op *res_op, gimple_seq *seq,
7310 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
7311 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures))
7312 : : {
7313 : 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
7314 : 0 : gimple_seq *lseq = seq;
7315 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1600;
7316 : 0 : {
7317 : 0 : res_op->set_op (NE_EXPR, type, 2);
7318 : 0 : res_op->ops[0] = captures[0];
7319 : 0 : res_op->ops[1] = captures[1];
7320 : 0 : res_op->resimplify (lseq, valueize);
7321 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 846, __FILE__, __LINE__, true);
7322 : : return true;
7323 : : }
7324 : 0 : next_after_fail1600:;
7325 : 0 : return false;
7326 : : }
7327 : :
7328 : : bool
7329 : 26 : gimple_simplify_593 (gimple_match_op *res_op, gimple_seq *seq,
7330 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
7331 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures))
7332 : : {
7333 : 26 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
7334 : 26 : gimple_seq *lseq = seq;
7335 : 26 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1603;
7336 : 26 : {
7337 : 26 : res_op->set_op (EQ_EXPR, type, 2);
7338 : 26 : res_op->ops[0] = captures[2];
7339 : 26 : res_op->ops[1] = captures[3];
7340 : 26 : res_op->resimplify (lseq, valueize);
7341 : 26 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 849, __FILE__, __LINE__, true);
7342 : : return true;
7343 : : }
7344 : 0 : next_after_fail1603:;
7345 : 0 : return false;
7346 : : }
7347 : :
7348 : : bool
7349 : 0 : gimple_simplify_596 (gimple_match_op *res_op, gimple_seq *seq,
7350 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
7351 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures))
7352 : : {
7353 : 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
7354 : 0 : gimple_seq *lseq = seq;
7355 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1606;
7356 : 0 : {
7357 : 0 : tree tem;
7358 : 0 : tem = captures[1];
7359 : 0 : res_op->set_value (tem);
7360 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 850, __FILE__, __LINE__, true);
7361 : : return true;
7362 : : }
7363 : 0 : next_after_fail1606:;
7364 : 0 : return false;
7365 : : }
7366 : :
7367 : : bool
7368 : 0 : gimple_simplify_599 (gimple_match_op *res_op, gimple_seq *seq,
7369 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
7370 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
7371 : : const combined_fn ARG_UNUSED (POPCOUNT),
7372 : : const combined_fn ARG_UNUSED (PARITY))
7373 : : {
7374 : 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
7375 : 0 : gimple_seq *lseq = seq;
7376 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1610;
7377 : 0 : {
7378 : 0 : res_op->set_op (PARITY, type, 1);
7379 : 0 : res_op->ops[0] = captures[0];
7380 : 0 : res_op->resimplify (lseq, valueize);
7381 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 853, __FILE__, __LINE__, true);
7382 : : return true;
7383 : : }
7384 : 0 : next_after_fail1610:;
7385 : 0 : return false;
7386 : : }
7387 : :
7388 : : bool
7389 : 143 : gimple_simplify_603 (gimple_match_op *res_op, gimple_seq *seq,
7390 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
7391 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures))
7392 : : {
7393 : 143 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
7394 : 143 : gimple_seq *lseq = seq;
7395 : 143 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1614;
7396 : 143 : {
7397 : 143 : res_op->set_op (MINUS_EXPR, type, 2);
7398 : 143 : res_op->ops[0] = captures[0];
7399 : 143 : res_op->ops[1] = captures[1];
7400 : 143 : res_op->resimplify (lseq, valueize);
7401 : 143 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 857, __FILE__, __LINE__, true);
7402 : : return true;
7403 : : }
7404 : 0 : next_after_fail1614:;
7405 : 0 : return false;
7406 : : }
7407 : :
7408 : : bool
7409 : 1049 : gimple_simplify_604 (gimple_match_op *res_op, gimple_seq *seq,
7410 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
7411 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures))
7412 : : {
7413 : 1049 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
7414 : 1049 : if (element_precision (type) <= element_precision (TREE_TYPE (captures[0]))
7415 : 1049 : || !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
7416 : : )
7417 : : {
7418 : 286 : gimple_seq *lseq = seq;
7419 : 286 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1615;
7420 : 286 : {
7421 : 286 : res_op->set_op (NOP_EXPR, type, 1);
7422 : 286 : {
7423 : 286 : tree _o1[1], _r1;
7424 : 286 : _o1[0] = captures[0];
7425 : 286 : (*res_op).set_op (NEGATE_EXPR, TREE_TYPE (_o1[0]), 1);
7426 : 286 : (*res_op).ops[0] = _o1[0];
7427 : 286 : (*res_op).resimplify (lseq, valueize);
7428 : : }
7429 : 286 : if (type != res_op->type
7430 : 286 : && !useless_type_conversion_p (type, res_op->type))
7431 : : {
7432 : 175 : if (!(res_op->ops[0] = maybe_push_res_to_seq (res_op, lseq))) goto next_after_fail1615;
7433 : 53 : res_op->set_op (NOP_EXPR, type, 1);
7434 : 53 : res_op->resimplify (lseq, valueize);
7435 : : }
7436 : 164 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 858, __FILE__, __LINE__, true);
7437 : 164 : return true;
7438 : : }
7439 : : next_after_fail1615:;
7440 : : }
7441 : : return false;
7442 : : }
7443 : :
7444 : : bool
7445 : 4 : gimple_simplify_611 (gimple_match_op *res_op, gimple_seq *seq,
7446 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
7447 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
7448 : : const enum tree_code ARG_UNUSED (minmax),
7449 : : const enum tree_code ARG_UNUSED (maxmin))
7450 : : {
7451 : 4 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
7452 : 4 : gimple_seq *lseq = seq;
7453 : 4 : if (lseq
7454 : 2 : && (!single_use (captures[0])))
7455 : 2 : lseq = NULL;
7456 : 4 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1622;
7457 : 4 : {
7458 : 4 : res_op->set_op (maxmin, type, 2);
7459 : 4 : res_op->ops[0] = captures[1];
7460 : 4 : {
7461 : 4 : tree _o1[1], _r1;
7462 : 4 : _o1[0] = captures[2];
7463 : 4 : gimple_match_op tem_op (res_op->cond.any_else (), BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
7464 : 4 : tem_op.resimplify (lseq, valueize);
7465 : 4 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
7466 : 4 : if (!_r1) goto next_after_fail1622;
7467 : 2 : res_op->ops[1] = _r1;
7468 : : }
7469 : 2 : res_op->resimplify (lseq, valueize);
7470 : 2 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 864, __FILE__, __LINE__, true);
7471 : : return true;
7472 : : }
7473 : : next_after_fail1622:;
7474 : : return false;
7475 : : }
7476 : :
7477 : : bool
7478 : 12 : gimple_simplify_617 (gimple_match_op *res_op, gimple_seq *seq,
7479 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
7480 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures))
7481 : : {
7482 : 12 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
7483 : 12 : gimple_seq *lseq = seq;
7484 : 12 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1629;
7485 : 12 : {
7486 : 12 : tree tem;
7487 : 12 : tem = captures[1];
7488 : 12 : res_op->set_value (tem);
7489 : 12 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 869, __FILE__, __LINE__, true);
7490 : : return true;
7491 : : }
7492 : 0 : next_after_fail1629:;
7493 : 0 : return false;
7494 : : }
7495 : :
7496 : : bool
7497 : 181 : gimple_simplify_622 (gimple_match_op *res_op, gimple_seq *seq,
7498 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
7499 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
7500 : : const enum tree_code ARG_UNUSED (minmax),
7501 : : const enum tree_code ARG_UNUSED (cmp))
7502 : : {
7503 : 181 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
7504 : 181 : {
7505 : 181 : poly_int64 off0, off1;
7506 : 181 : tree base0, base1;
7507 : 181 : int equal = address_compare (cmp, TREE_TYPE (captures[0]), captures[1], captures[3], base0, base1,
7508 : : off0, off1,
7509 : :
7510 : : );
7511 : 181 : if (equal == 1
7512 : : )
7513 : : {
7514 : 7 : if (minmax == MIN_EXPR
7515 : : )
7516 : : {
7517 : 3 : if (known_le (off0, off1)
7518 : : )
7519 : : {
7520 : 1 : gimple_seq *lseq = seq;
7521 : 1 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1643;
7522 : 1 : {
7523 : 1 : tree tem;
7524 : 1 : tem = captures[0];
7525 : 1 : res_op->set_value (tem);
7526 : 1 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 871, __FILE__, __LINE__, true);
7527 : 7 : return true;
7528 : : }
7529 : 0 : next_after_fail1643:;
7530 : : }
7531 : : else
7532 : : {
7533 : 2 : if (known_gt (off0, off1)
7534 : : )
7535 : : {
7536 : 2 : gimple_seq *lseq = seq;
7537 : 2 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1644;
7538 : 2 : {
7539 : 2 : tree tem;
7540 : 2 : tem = captures[2];
7541 : 2 : res_op->set_value (tem);
7542 : 2 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 872, __FILE__, __LINE__, true);
7543 : 2 : return true;
7544 : : }
7545 : 0 : next_after_fail1644:;
7546 : : }
7547 : : }
7548 : : }
7549 : : else
7550 : : {
7551 : 4 : if (known_ge (off0, off1)
7552 : : )
7553 : : {
7554 : 2 : gimple_seq *lseq = seq;
7555 : 2 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1645;
7556 : 2 : {
7557 : 2 : tree tem;
7558 : 2 : tem = captures[0];
7559 : 2 : res_op->set_value (tem);
7560 : 2 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 873, __FILE__, __LINE__, true);
7561 : 2 : return true;
7562 : : }
7563 : 0 : next_after_fail1645:;
7564 : : }
7565 : : else
7566 : : {
7567 : 2 : if (known_lt (off0, off1)
7568 : : )
7569 : : {
7570 : 2 : gimple_seq *lseq = seq;
7571 : 2 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1646;
7572 : 2 : {
7573 : 2 : tree tem;
7574 : 2 : tem = captures[2];
7575 : 2 : res_op->set_value (tem);
7576 : 2 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 874, __FILE__, __LINE__, true);
7577 : 2 : return true;
7578 : : }
7579 : 0 : next_after_fail1646:;
7580 : : }
7581 : : }
7582 : : }
7583 : : }
7584 : : }
7585 : 174 : return false;
7586 : : }
7587 : :
7588 : : bool
7589 : 3036 : gimple_simplify_640 (gimple_match_op *res_op, gimple_seq *seq,
7590 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
7591 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
7592 : : const enum tree_code ARG_UNUSED (cmp),
7593 : : const enum tree_code ARG_UNUSED (minmax),
7594 : : const enum tree_code ARG_UNUSED (MINMAX))
7595 : : {
7596 : 3036 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
7597 : 3036 : if (VECTOR_INTEGER_TYPE_P (type)
7598 : 3040 : && target_supports_op_p (type, MINMAX, optab_vector)
7599 : : )
7600 : : {
7601 : 4 : gimple_seq *lseq = seq;
7602 : 4 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1667;
7603 : 4 : {
7604 : 4 : res_op->set_op (minmax, type, 2);
7605 : 4 : res_op->ops[0] = captures[0];
7606 : 4 : res_op->ops[1] = captures[1];
7607 : 4 : res_op->resimplify (lseq, valueize);
7608 : 4 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 895, __FILE__, __LINE__, true);
7609 : 4 : return true;
7610 : : }
7611 : 0 : next_after_fail1667:;
7612 : : }
7613 : : return false;
7614 : : }
7615 : :
7616 : : bool
7617 : 516 : gimple_simplify_646 (gimple_match_op *res_op, gimple_seq *seq,
7618 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
7619 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
7620 : : const combined_fn ARG_UNUSED (uncond_op),
7621 : : const combined_fn ARG_UNUSED (cond_op))
7622 : : {
7623 : 516 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
7624 : 516 : {
7625 : 516 : tree op_type = TREE_TYPE (captures[1]);
7626 : 516 : if (vectorized_internal_fn_supported_p (as_internal_fn (cond_op), op_type)
7627 : 516 : && is_truth_type_for (op_type, TREE_TYPE (captures[0]))
7628 : 1032 : && single_use (captures[1])
7629 : : )
7630 : : {
7631 : 516 : gimple_seq *lseq = seq;
7632 : 516 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1673;
7633 : 516 : {
7634 : 516 : res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
7635 : 516 : {
7636 : 516 : tree _o1[5], _r1;
7637 : 516 : _o1[0] = captures[0];
7638 : 516 : _o1[1] = captures[2];
7639 : 516 : _o1[2] = captures[3];
7640 : 516 : _o1[3] = captures[4];
7641 : 516 : {
7642 : 516 : tree _o2[1], _r2;
7643 : 516 : _o2[0] = captures[5];
7644 : 516 : if (op_type != TREE_TYPE (_o2[0]) /* XXX */
7645 : 516 : && !useless_type_conversion_p (op_type, TREE_TYPE (_o2[0])))
7646 : : {
7647 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
7648 : 0 : tem_op.resimplify (lseq, valueize);
7649 : 0 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
7650 : 0 : if (!_r2) goto next_after_fail1673;
7651 : : }
7652 : : else
7653 : : _r2 = _o2[0];
7654 : 516 : _o1[4] = _r2;
7655 : : }
7656 : 516 : (*res_op).set_op (cond_op, TREE_TYPE (_o1[1]), 5);
7657 : 516 : (*res_op).ops[0] = _o1[0];
7658 : 516 : (*res_op).ops[1] = _o1[1];
7659 : 516 : (*res_op).ops[2] = _o1[2];
7660 : 516 : (*res_op).ops[3] = _o1[3];
7661 : 516 : (*res_op).ops[4] = _o1[4];
7662 : 516 : (*res_op).resimplify (lseq, valueize);
7663 : : }
7664 : 516 : if (type != res_op->type
7665 : 516 : && !useless_type_conversion_p (type, res_op->type))
7666 : : {
7667 : 0 : if (!(res_op->ops[0] = maybe_push_res_to_seq (res_op, lseq))) goto next_after_fail1673;
7668 : 0 : res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
7669 : 0 : res_op->resimplify (lseq, valueize);
7670 : : }
7671 : 516 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 896, __FILE__, __LINE__, true);
7672 : 516 : return true;
7673 : : }
7674 : : next_after_fail1673:;
7675 : : }
7676 : : }
7677 : : return false;
7678 : : }
7679 : :
7680 : : bool
7681 : 0 : gimple_simplify_655 (gimple_match_op *res_op, gimple_seq *seq,
7682 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
7683 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
7684 : : const combined_fn ARG_UNUSED (cond_len_op))
7685 : : {
7686 : 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
7687 : 0 : {
7688 : 0 : tree op_type = TREE_TYPE (captures[6]);
7689 : 0 : if (inverse_conditions_p (captures[0], captures[2])
7690 : 0 : && element_precision (type) == element_precision (op_type)
7691 : : )
7692 : : {
7693 : 0 : gimple_seq *lseq = seq;
7694 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1682;
7695 : 0 : {
7696 : 0 : res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
7697 : 0 : {
7698 : 0 : tree _o1[7], _r1;
7699 : 0 : _o1[0] = captures[2];
7700 : 0 : _o1[1] = captures[3];
7701 : 0 : _o1[2] = captures[4];
7702 : 0 : _o1[3] = captures[5];
7703 : 0 : {
7704 : 0 : tree _o2[1], _r2;
7705 : 0 : _o2[0] = captures[1];
7706 : 0 : if (op_type != TREE_TYPE (_o2[0]) /* XXX */
7707 : 0 : && !useless_type_conversion_p (op_type, TREE_TYPE (_o2[0])))
7708 : : {
7709 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), VIEW_CONVERT_EXPR, op_type, _o2[0]);
7710 : 0 : tem_op.resimplify (lseq, valueize);
7711 : 0 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
7712 : 0 : if (!_r2) goto next_after_fail1682;
7713 : : }
7714 : : else
7715 : : _r2 = _o2[0];
7716 : 0 : _o1[4] = _r2;
7717 : : }
7718 : 0 : _o1[5] = captures[7];
7719 : 0 : _o1[6] = captures[8];
7720 : 0 : (*res_op).set_op (cond_len_op, TREE_TYPE (_o1[1]), 7);
7721 : 0 : (*res_op).ops[0] = _o1[0];
7722 : 0 : (*res_op).ops[1] = _o1[1];
7723 : 0 : (*res_op).ops[2] = _o1[2];
7724 : 0 : (*res_op).ops[3] = _o1[3];
7725 : 0 : (*res_op).ops[4] = _o1[4];
7726 : 0 : (*res_op).ops[5] = _o1[5];
7727 : 0 : (*res_op).ops[6] = _o1[6];
7728 : 0 : (*res_op).resimplify (lseq, valueize);
7729 : : }
7730 : 0 : if (type != res_op->type
7731 : 0 : && !useless_type_conversion_p (type, res_op->type))
7732 : : {
7733 : 0 : if (!(res_op->ops[0] = maybe_push_res_to_seq (res_op, lseq))) goto next_after_fail1682;
7734 : 0 : res_op->set_op (VIEW_CONVERT_EXPR, type, 1);
7735 : 0 : res_op->resimplify (lseq, valueize);
7736 : : }
7737 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 905, __FILE__, __LINE__, true);
7738 : 0 : return true;
7739 : : }
7740 : : next_after_fail1682:;
7741 : : }
7742 : : }
7743 : : return false;
7744 : : }
7745 : :
7746 : : bool
7747 : 0 : gimple_simplify_669 (gimple_match_op *res_op, gimple_seq *seq,
7748 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
7749 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
7750 : : const combined_fn ARG_UNUSED (fns))
7751 : : {
7752 : 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
7753 : 0 : gimple_seq *lseq = seq;
7754 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1696;
7755 : 0 : {
7756 : 0 : res_op->set_op (fns, type, 1);
7757 : 0 : res_op->ops[0] = captures[0];
7758 : 0 : res_op->resimplify (lseq, valueize);
7759 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 919, __FILE__, __LINE__, true);
7760 : : return true;
7761 : : }
7762 : 0 : next_after_fail1696:;
7763 : 0 : return false;
7764 : : }
7765 : :
7766 : : bool
7767 : 504 : gimple_simplify_676 (gimple_match_op *res_op, gimple_seq *seq,
7768 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
7769 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
7770 : : const combined_fn ARG_UNUSED (froms),
7771 : : const combined_fn ARG_UNUSED (tos))
7772 : : {
7773 : 504 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
7774 : 504 : if (optimize && canonicalize_math_p ()
7775 : : )
7776 : : {
7777 : 504 : gimple_seq *lseq = seq;
7778 : 504 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1703;
7779 : 504 : {
7780 : 504 : res_op->set_op (tos, type, 1);
7781 : 504 : res_op->ops[0] = captures[0];
7782 : 504 : res_op->resimplify (lseq, valueize);
7783 : 504 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 926, __FILE__, __LINE__, true);
7784 : 504 : return true;
7785 : : }
7786 : 0 : next_after_fail1703:;
7787 : : }
7788 : : return false;
7789 : : }
7790 : :
7791 : : bool
7792 : 1035 : gimple_simplify_683 (gimple_match_op *res_op, gimple_seq *seq,
7793 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
7794 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
7795 : : const combined_fn ARG_UNUSED (SIGNBIT))
7796 : : {
7797 : 1035 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
7798 : 1035 : gimple_seq *lseq = seq;
7799 : 1035 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1710;
7800 : 1035 : {
7801 : 1035 : tree tem;
7802 : 1035 : tem = integer_zero_node;
7803 : 1035 : res_op->set_value (tem);
7804 : 1035 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 933, __FILE__, __LINE__, true);
7805 : : return true;
7806 : : }
7807 : 0 : next_after_fail1710:;
7808 : 0 : return false;
7809 : : }
7810 : :
7811 : : bool
7812 : 0 : gimple_simplify_689 (gimple_match_op *res_op, gimple_seq *seq,
7813 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
7814 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures))
7815 : : {
7816 : 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
7817 : 0 : if (canonicalize_math_after_vectorization_p ()
7818 : : )
7819 : : {
7820 : 0 : gimple_seq *lseq = seq;
7821 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1716;
7822 : 0 : {
7823 : 0 : res_op->set_op (CFN_FNMA, type, 3);
7824 : 0 : res_op->ops[0] = captures[0];
7825 : 0 : res_op->ops[1] = captures[1];
7826 : 0 : res_op->ops[2] = captures[2];
7827 : 0 : res_op->resimplify (lseq, valueize);
7828 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 939, __FILE__, __LINE__, true);
7829 : 0 : return true;
7830 : : }
7831 : 0 : next_after_fail1716:;
7832 : : }
7833 : : return false;
7834 : : }
7835 : :
7836 : : bool
7837 : 0 : gimple_simplify_697 (gimple_match_op *res_op, gimple_seq *seq,
7838 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
7839 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
7840 : : const combined_fn ARG_UNUSED (ctz))
7841 : : {
7842 : 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
7843 : 0 : {
7844 : 0 : tree t = TREE_TYPE (captures[0]);
7845 : 0 : gimple_seq *lseq = seq;
7846 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1724;
7847 : 0 : {
7848 : 0 : res_op->set_op (ctz, type, 1);
7849 : 0 : {
7850 : 0 : tree _o1[1], _r1;
7851 : 0 : _o1[0] = captures[1];
7852 : 0 : if (t != TREE_TYPE (_o1[0]) /* XXX */
7853 : 0 : && !useless_type_conversion_p (t, TREE_TYPE (_o1[0])))
7854 : : {
7855 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, t, _o1[0]);
7856 : 0 : tem_op.resimplify (lseq, valueize);
7857 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
7858 : 0 : if (!_r1) goto next_after_fail1724;
7859 : : }
7860 : : else
7861 : : _r1 = _o1[0];
7862 : 0 : res_op->ops[0] = _r1;
7863 : : }
7864 : 0 : res_op->resimplify (lseq, valueize);
7865 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 944, __FILE__, __LINE__, true);
7866 : : return true;
7867 : : }
7868 : : next_after_fail1724:;
7869 : : }
7870 : : return false;
7871 : : }
7872 : :
7873 : : bool
7874 : 6 : gimple_simplify_706 (gimple_match_op *res_op, gimple_seq *seq,
7875 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
7876 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
7877 : : const combined_fn ARG_UNUSED (bswap),
7878 : : const combined_fn ARG_UNUSED (parity))
7879 : : {
7880 : 6 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
7881 : 12 : if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
7882 : 6 : && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
7883 : 12 : && TYPE_PRECISION (TREE_TYPE (captures[0]))
7884 : 6 : >= TYPE_PRECISION (TREE_TYPE (captures[1]))
7885 : : )
7886 : : {
7887 : 6 : {
7888 : 6 : tree type0 = TREE_TYPE (captures[0]);
7889 : 6 : tree type1 = TREE_TYPE (captures[1]);
7890 : 6 : gimple_seq *lseq = seq;
7891 : 6 : if (lseq
7892 : 3 : && (!single_use (captures[1])))
7893 : 3 : lseq = NULL;
7894 : 6 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1738;
7895 : 6 : {
7896 : 6 : res_op->set_op (parity, type, 1);
7897 : 6 : {
7898 : 6 : tree _r1;
7899 : 6 : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
7900 : 6 : {
7901 : 6 : tree _o2[1], _r2;
7902 : 6 : _o2[0] = captures[2];
7903 : 6 : tem_op.set_op (NOP_EXPR, type1, 1);
7904 : 6 : tem_op.ops[0] = _o2[0];
7905 : 6 : tem_op.resimplify (lseq, valueize);
7906 : : }
7907 : 6 : if (type0 != tem_op.type
7908 : 6 : && !useless_type_conversion_p (type0, tem_op.type))
7909 : : {
7910 : 6 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
7911 : 9 : if (!_r1) goto next_after_fail1738;
7912 : 6 : tem_op.set_op (NOP_EXPR, type0, 1);
7913 : 6 : tem_op.ops[0] = _r1;
7914 : 6 : tem_op.resimplify (lseq, valueize);
7915 : : }
7916 : 6 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
7917 : 6 : if (!_r1) goto next_after_fail1738;
7918 : 3 : res_op->ops[0] = _r1;
7919 : : }
7920 : 3 : res_op->resimplify (lseq, valueize);
7921 : 3 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 956, __FILE__, __LINE__, true);
7922 : 3 : return true;
7923 : : }
7924 : : next_after_fail1738:;
7925 : : }
7926 : : }
7927 : : return false;
7928 : : }
7929 : :
7930 : : bool
7931 : 698 : gimple_simplify_712 (gimple_match_op *res_op, gimple_seq *seq,
7932 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
7933 : : const tree ARG_UNUSED (type), tree *ARG_UNUSED (captures),
7934 : : const combined_fn ARG_UNUSED (FFS))
7935 : : {
7936 : 698 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
7937 : 1396 : if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
7938 : 698 : && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
7939 : 1396 : && TYPE_PRECISION (TREE_TYPE (captures[0])) > TYPE_PRECISION (TREE_TYPE (captures[1]))
7940 : : )
7941 : : {
7942 : 219 : {
7943 : 219 : combined_fn cfn = CFN_LAST;
7944 : 219 : tree type0 = TREE_TYPE (captures[1]);
7945 : 219 : if (TREE_CODE (type0) == BITINT_TYPE)
7946 : : {
7947 : 8 : if (TYPE_PRECISION (type0) > MAX_FIXED_MODE_SIZE)
7948 : : cfn = CFN_FFS;
7949 : : else
7950 : 0 : type0
7951 : 0 : = build_nonstandard_integer_type (TYPE_PRECISION (type0),
7952 : : 0);
7953 : : }
7954 : 219 : type0 = signed_type_for (type0);
7955 : 219 : if (cfn == CFN_LAST
7956 : 219 : && direct_internal_fn_supported_p (IFN_FFS, type0,
7957 : : OPTIMIZE_FOR_BOTH))
7958 : : cfn = CFN_FFS;
7959 : 204 : if (cfn == CFN_LAST
7960 : 200 : && TYPE_PRECISION (TREE_TYPE (captures[0])) > BITS_PER_WORD
7961 : 204 : && !direct_internal_fn_supported_p (IFN_FFS,
7962 : 0 : TREE_TYPE (captures[0]),
7963 : : OPTIMIZE_FOR_BOTH))
7964 : : {
7965 : 0 : if (TYPE_PRECISION (type0)
7966 : 0 : == TYPE_PRECISION (integer_type_node))
7967 : : cfn = CFN_BUILT_IN_FFS;
7968 : 0 : else if (TYPE_PRECISION (type0)
7969 : 0 : == TYPE_PRECISION (long_long_integer_type_node))
7970 : : cfn = CFN_BUILT_IN_FFSLL;
7971 : : }
7972 : 219 : if (cfn == CFN_FFS
7973 : : )
7974 : : {
7975 : 19 : gimple_seq *lseq = seq;
7976 : 19 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1746;
7977 : 19 : {
7978 : 19 : res_op->set_op (CFN_FFS, type, 1);
7979 : 19 : {
7980 : 19 : tree _o1[1], _r1;
7981 : 19 : _o1[0] = captures[1];
7982 : 19 : if (type0 != TREE_TYPE (_o1[0]) /* XXX */
7983 : 19 : && !useless_type_conversion_p (type0, TREE_TYPE (_o1[0])))
7984 : : {
7985 : 12 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type0, _o1[0]);
7986 : 12 : tem_op.resimplify (lseq, valueize);
7987 : 12 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
7988 : 12 : if (!_r1) goto next_after_fail1746;
7989 : : }
7990 : : else
7991 : : _r1 = _o1[0];
7992 : 13 : res_op->ops[0] = _r1;
7993 : : }
7994 : 13 : res_op->resimplify (lseq, valueize);
7995 : 13 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 962, __FILE__, __LINE__, true);
7996 : 13 : return true;
7997 : : }
7998 : : next_after_fail1746:;
7999 : : }
8000 : : else
8001 : : {
8002 : 200 : if (cfn == CFN_BUILT_IN_FFS
8003 : : )
8004 : : {
8005 : 0 : gimple_seq *lseq = seq;
8006 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1747;
8007 : 0 : {
8008 : 0 : res_op->set_op (CFN_BUILT_IN_FFS, type, 1);
8009 : 0 : {
8010 : 0 : tree _o1[1], _r1;
8011 : 0 : _o1[0] = captures[1];
8012 : 0 : if (type0 != TREE_TYPE (_o1[0]) /* XXX */
8013 : 0 : && !useless_type_conversion_p (type0, TREE_TYPE (_o1[0])))
8014 : : {
8015 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type0, _o1[0]);
8016 : 0 : tem_op.resimplify (lseq, valueize);
8017 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
8018 : 0 : if (!_r1) goto next_after_fail1747;
8019 : : }
8020 : : else
8021 : : _r1 = _o1[0];
8022 : 0 : res_op->ops[0] = _r1;
8023 : : }
8024 : 0 : res_op->resimplify (lseq, valueize);
8025 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 963, __FILE__, __LINE__, true);
8026 : 0 : return true;
8027 : : }
8028 : : next_after_fail1747:;
8029 : : }
8030 : : else
8031 : : {
8032 : 200 : if (cfn == CFN_BUILT_IN_FFSLL
8033 : : )
8034 : : {
8035 : 0 : gimple_seq *lseq = seq;
8036 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1748;
8037 : 0 : {
8038 : 0 : res_op->set_op (CFN_BUILT_IN_FFSLL, type, 1);
8039 : 0 : {
8040 : 0 : tree _o1[1], _r1;
8041 : 0 : _o1[0] = captures[1];
8042 : 0 : if (type0 != TREE_TYPE (_o1[0]) /* XXX */
8043 : 0 : && !useless_type_conversion_p (type0, TREE_TYPE (_o1[0])))
8044 : : {
8045 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), NOP_EXPR, type0, _o1[0]);
8046 : 0 : tem_op.resimplify (lseq, valueize);
8047 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
8048 : 0 : if (!_r1) goto next_after_fail1748;
8049 : : }
8050 : : else
8051 : : _r1 = _o1[0];
8052 : 0 : res_op->ops[0] = _r1;
8053 : : }
8054 : 0 : res_op->resimplify (lseq, valueize);
8055 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 964, __FILE__, __LINE__, true);
8056 : 0 : return true;
8057 : : }
8058 : : next_after_fail1748:;
8059 : : }
8060 : : }
8061 : : }
8062 : : }
8063 : : }
8064 : : return false;
8065 : : }
8066 : :
8067 : : bool
8068 : 1671 : gimple_simplify_CFN_BUILT_IN_COSH (gimple_match_op *res_op, gimple_seq *seq,
8069 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
8070 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
8071 : : {
8072 : 1671 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
8073 : 1671 : switch (TREE_CODE (_p0))
8074 : : {
8075 : 1545 : case SSA_NAME:
8076 : 1545 : if (gimple *_d1 = get_def (valueize, _p0))
8077 : : {
8078 : 737 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
8079 : 509 : switch (gimple_assign_rhs_code (_a1))
8080 : : {
8081 : 16 : case NEGATE_EXPR:
8082 : 16 : {
8083 : 16 : tree _q20 = gimple_assign_rhs1 (_a1);
8084 : 16 : _q20 = do_valueize (valueize, _q20);
8085 : 16 : {
8086 : 16 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
8087 : 16 : const combined_fn coss = CFN_BUILT_IN_COSH;
8088 : 16 : gimple_seq *lseq = seq;
8089 : 16 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1794;
8090 : 16 : {
8091 : 16 : res_op->set_op (coss, type, 1);
8092 : 16 : res_op->ops[0] = captures[0];
8093 : 16 : res_op->resimplify (lseq, valueize);
8094 : 16 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 993, __FILE__, __LINE__, true);
8095 : 16 : return true;
8096 : : }
8097 : 0 : next_after_fail1794:;
8098 : : }
8099 : 0 : break;
8100 : : }
8101 : 0 : case ABS_EXPR:
8102 : 0 : {
8103 : 0 : tree _q20 = gimple_assign_rhs1 (_a1);
8104 : 0 : _q20 = do_valueize (valueize, _q20);
8105 : 0 : {
8106 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
8107 : 0 : const combined_fn coss = CFN_BUILT_IN_COSH;
8108 : 0 : gimple_seq *lseq = seq;
8109 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1795;
8110 : 0 : {
8111 : 0 : res_op->set_op (coss, type, 1);
8112 : 0 : res_op->ops[0] = captures[0];
8113 : 0 : res_op->resimplify (lseq, valueize);
8114 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 993, __FILE__, __LINE__, true);
8115 : 0 : return true;
8116 : : }
8117 : 0 : next_after_fail1795:;
8118 : : }
8119 : 0 : break;
8120 : : }
8121 : : default:;
8122 : : }
8123 : 335 : else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
8124 : 54 : switch (gimple_call_combined_fn (_c1))
8125 : : {
8126 : 0 : case CFN_BUILT_IN_COPYSIGN:
8127 : 0 : if (gimple_call_num_args (_c1) == 2)
8128 : : {
8129 : 0 : tree _q20 = gimple_call_arg (_c1, 0);
8130 : 0 : _q20 = do_valueize (valueize, _q20);
8131 : 0 : tree _q21 = gimple_call_arg (_c1, 1);
8132 : 0 : _q21 = do_valueize (valueize, _q21);
8133 : 0 : {
8134 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
8135 : 0 : if (gimple_simplify_523 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGN, CFN_BUILT_IN_COSH))
8136 : 0 : return true;
8137 : : }
8138 : : }
8139 : : break;
8140 : 0 : case CFN_BUILT_IN_COPYSIGNF:
8141 : 0 : if (gimple_call_num_args (_c1) == 2)
8142 : : {
8143 : 0 : tree _q20 = gimple_call_arg (_c1, 0);
8144 : 0 : _q20 = do_valueize (valueize, _q20);
8145 : 0 : tree _q21 = gimple_call_arg (_c1, 1);
8146 : 0 : _q21 = do_valueize (valueize, _q21);
8147 : 0 : {
8148 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
8149 : 0 : if (gimple_simplify_523 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNF, CFN_BUILT_IN_COSH))
8150 : 0 : return true;
8151 : : }
8152 : : }
8153 : : break;
8154 : 0 : case CFN_BUILT_IN_COPYSIGNL:
8155 : 0 : if (gimple_call_num_args (_c1) == 2)
8156 : : {
8157 : 0 : tree _q20 = gimple_call_arg (_c1, 0);
8158 : 0 : _q20 = do_valueize (valueize, _q20);
8159 : 0 : tree _q21 = gimple_call_arg (_c1, 1);
8160 : 0 : _q21 = do_valueize (valueize, _q21);
8161 : 0 : {
8162 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
8163 : 0 : if (gimple_simplify_523 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COPYSIGNL, CFN_BUILT_IN_COSH))
8164 : 0 : return true;
8165 : : }
8166 : : }
8167 : : break;
8168 : 21 : case CFN_BUILT_IN_ATANH:
8169 : 21 : if (gimple_call_num_args (_c1) == 1)
8170 : : {
8171 : 21 : tree _q20 = gimple_call_arg (_c1, 0);
8172 : 21 : _q20 = do_valueize (valueize, _q20);
8173 : 21 : {
8174 : 21 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
8175 : 21 : if (gimple_simplify_525 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_COSH, CFN_BUILT_IN_ATANH, CFN_BUILT_IN_SQRT))
8176 : 1 : return true;
8177 : : }
8178 : : }
8179 : : break;
8180 : 0 : case CFN_COPYSIGN:
8181 : 0 : if (gimple_call_num_args (_c1) == 2)
8182 : : {
8183 : 0 : tree _q20 = gimple_call_arg (_c1, 0);
8184 : 0 : _q20 = do_valueize (valueize, _q20);
8185 : 0 : tree _q21 = gimple_call_arg (_c1, 1);
8186 : 0 : _q21 = do_valueize (valueize, _q21);
8187 : 0 : {
8188 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
8189 : 0 : if (gimple_simplify_523 (res_op, seq, valueize, type, captures, CFN_COPYSIGN, CFN_BUILT_IN_COSH))
8190 : 0 : return true;
8191 : : }
8192 : : }
8193 : : break;
8194 : : default:;
8195 : : }
8196 : : }
8197 : : break;
8198 : : default:;
8199 : : }
8200 : : return false;
8201 : : }
8202 : :
8203 : : bool
8204 : 443 : gimple_simplify_CFN_BUILT_IN_CCOSHF (gimple_match_op *res_op, gimple_seq *seq,
8205 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
8206 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
8207 : : {
8208 : 443 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
8209 : 443 : switch (TREE_CODE (_p0))
8210 : : {
8211 : 434 : case SSA_NAME:
8212 : 434 : if (gimple *_d1 = get_def (valueize, _p0))
8213 : : {
8214 : 275 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
8215 : 392 : switch (gimple_assign_rhs_code (_a1))
8216 : : {
8217 : 14 : case NEGATE_EXPR:
8218 : 14 : {
8219 : 14 : tree _q20 = gimple_assign_rhs1 (_a1);
8220 : 14 : _q20 = do_valueize (valueize, _q20);
8221 : 14 : {
8222 : 14 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
8223 : 14 : gimple_seq *lseq = seq;
8224 : 14 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1815;
8225 : 14 : {
8226 : 14 : res_op->set_op (CFN_BUILT_IN_CCOSHF, type, 1);
8227 : 14 : res_op->ops[0] = captures[0];
8228 : 14 : res_op->resimplify (lseq, valueize);
8229 : 14 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1004, __FILE__, __LINE__, true);
8230 : 14 : return true;
8231 : : }
8232 : 0 : next_after_fail1815:;
8233 : : }
8234 : 0 : break;
8235 : : }
8236 : : default:;
8237 : : }
8238 : : }
8239 : : break;
8240 : : default:;
8241 : : }
8242 : : return false;
8243 : : }
8244 : :
8245 : : bool
8246 : 5536 : gimple_simplify_CFN_BUILT_IN_CABS (gimple_match_op *res_op, gimple_seq *seq,
8247 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
8248 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
8249 : : {
8250 : 5536 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
8251 : 5536 : switch (TREE_CODE (_p0))
8252 : : {
8253 : 5474 : case SSA_NAME:
8254 : 5474 : if (gimple *_d1 = get_def (valueize, _p0))
8255 : : {
8256 : 3325 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
8257 : 3332 : switch (gimple_assign_rhs_code (_a1))
8258 : : {
8259 : 2 : case CONJ_EXPR:
8260 : 2 : {
8261 : 2 : tree _q20 = gimple_assign_rhs1 (_a1);
8262 : 2 : _q20 = do_valueize (valueize, _q20);
8263 : 2 : {
8264 : 2 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
8265 : 2 : gimple_seq *lseq = seq;
8266 : 2 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1823;
8267 : 2 : {
8268 : 2 : res_op->set_op (CFN_BUILT_IN_CABS, type, 1);
8269 : 2 : res_op->ops[0] = captures[0];
8270 : 2 : res_op->resimplify (lseq, valueize);
8271 : 2 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1005, __FILE__, __LINE__, true);
8272 : 2 : return true;
8273 : : }
8274 : 0 : next_after_fail1823:;
8275 : : }
8276 : 0 : break;
8277 : : }
8278 : 16 : case NEGATE_EXPR:
8279 : 16 : {
8280 : 16 : tree _q20 = gimple_assign_rhs1 (_a1);
8281 : 16 : _q20 = do_valueize (valueize, _q20);
8282 : 16 : {
8283 : 16 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
8284 : 16 : gimple_seq *lseq = seq;
8285 : 16 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1824;
8286 : 16 : {
8287 : 16 : res_op->set_op (CFN_BUILT_IN_CABS, type, 1);
8288 : 16 : res_op->ops[0] = captures[0];
8289 : 16 : res_op->resimplify (lseq, valueize);
8290 : 16 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1005, __FILE__, __LINE__, true);
8291 : 16 : return true;
8292 : : }
8293 : 0 : next_after_fail1824:;
8294 : : }
8295 : 0 : break;
8296 : : }
8297 : 1722 : case COMPLEX_EXPR:
8298 : 1722 : {
8299 : 1722 : tree _q20 = gimple_assign_rhs1 (_a1);
8300 : 1722 : _q20 = do_valueize (valueize, _q20);
8301 : 1722 : tree _q21 = gimple_assign_rhs2 (_a1);
8302 : 1722 : _q21 = do_valueize (valueize, _q21);
8303 : 1722 : if (real_zerop (_q21))
8304 : : {
8305 : 16 : {
8306 : 16 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
8307 : 16 : gimple_seq *lseq = seq;
8308 : 16 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1825;
8309 : 16 : {
8310 : 16 : res_op->set_op (ABS_EXPR, type, 1);
8311 : 16 : res_op->ops[0] = captures[0];
8312 : 16 : res_op->resimplify (lseq, valueize);
8313 : 16 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1006, __FILE__, __LINE__, true);
8314 : 16 : return true;
8315 : : }
8316 : 0 : next_after_fail1825:;
8317 : : }
8318 : : }
8319 : 1706 : if (real_zerop (_q20))
8320 : : {
8321 : 0 : {
8322 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
8323 : 0 : gimple_seq *lseq = seq;
8324 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1826;
8325 : 0 : {
8326 : 0 : res_op->set_op (ABS_EXPR, type, 1);
8327 : 0 : res_op->ops[0] = captures[0];
8328 : 0 : res_op->resimplify (lseq, valueize);
8329 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1006, __FILE__, __LINE__, true);
8330 : 0 : return true;
8331 : : }
8332 : 0 : next_after_fail1826:;
8333 : : }
8334 : : }
8335 : 1706 : if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
8336 : : {
8337 : 6 : {
8338 : 6 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
8339 : 6 : if (flag_unsafe_math_optimizations && canonicalize_math_p ()
8340 : : )
8341 : : {
8342 : 6 : gimple_seq *lseq = seq;
8343 : 6 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1827;
8344 : 6 : {
8345 : 6 : res_op->set_op (MULT_EXPR, type, 2);
8346 : 6 : {
8347 : 6 : tree _o1[1], _r1;
8348 : 6 : _o1[0] = captures[0];
8349 : 6 : gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
8350 : 6 : tem_op.resimplify (lseq, valueize);
8351 : 6 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
8352 : 6 : if (!_r1) goto next_after_fail1827;
8353 : 4 : res_op->ops[0] = _r1;
8354 : : }
8355 : 4 : res_op->ops[1] = build_real_truncate (type, dconst_sqrt2 ());
8356 : 4 : res_op->resimplify (lseq, valueize);
8357 : 4 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1007, __FILE__, __LINE__, true);
8358 : 4 : return true;
8359 : : }
8360 : : next_after_fail1827:;
8361 : : }
8362 : : }
8363 : : }
8364 : : break;
8365 : : }
8366 : : default:;
8367 : : }
8368 : : }
8369 : : break;
8370 : : default:;
8371 : : }
8372 : : return false;
8373 : : }
8374 : :
8375 : : bool
8376 : 62664 : gimple_simplify_PAREN_EXPR (gimple_match_op *res_op, gimple_seq *seq,
8377 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
8378 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
8379 : : {
8380 : 62664 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
8381 : 62664 : switch (TREE_CODE (_p0))
8382 : : {
8383 : 57262 : case SSA_NAME:
8384 : 57262 : if (gimple *_d1 = get_def (valueize, _p0))
8385 : : {
8386 : 43490 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
8387 : 42405 : switch (gimple_assign_rhs_code (_a1))
8388 : : {
8389 : 0 : case PAREN_EXPR:
8390 : 0 : {
8391 : 0 : tree _q20 = gimple_assign_rhs1 (_a1);
8392 : 0 : _q20 = do_valueize (valueize, _q20);
8393 : 0 : {
8394 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
8395 : 0 : gimple_seq *lseq = seq;
8396 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1884;
8397 : 0 : {
8398 : 0 : tree tem;
8399 : 0 : tem = captures[0];
8400 : 0 : res_op->set_value (tem);
8401 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1026, __FILE__, __LINE__, true);
8402 : 0 : return true;
8403 : : }
8404 : 0 : next_after_fail1884:;
8405 : : }
8406 : 0 : break;
8407 : : }
8408 : : default:;
8409 : : }
8410 : : }
8411 : : break;
8412 : 62664 : default:;
8413 : : }
8414 : 62664 : if (CONSTANT_CLASS_P (_p0))
8415 : : {
8416 : 4991 : {
8417 : 4991 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
8418 : 4991 : gimple_seq *lseq = seq;
8419 : 4991 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1885;
8420 : 4991 : {
8421 : 4991 : tree tem;
8422 : 4991 : tem = captures[0];
8423 : 4991 : res_op->set_value (tem);
8424 : 4991 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1027, __FILE__, __LINE__, true);
8425 : 4991 : return true;
8426 : : }
8427 : 0 : next_after_fail1885:;
8428 : : }
8429 : : }
8430 : : return false;
8431 : : }
8432 : :
8433 : : bool
8434 : 1454240 : gimple_simplify_IMAGPART_EXPR (gimple_match_op *res_op, gimple_seq *seq,
8435 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
8436 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
8437 : : {
8438 : 1454240 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
8439 : 1454240 : switch (TREE_CODE (_p0))
8440 : : {
8441 : 1454240 : case SSA_NAME:
8442 : 1454240 : if (gimple *_d1 = get_def (valueize, _p0))
8443 : : {
8444 : 1027542 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
8445 : 346788 : switch (gimple_assign_rhs_code (_a1))
8446 : : {
8447 : 5937 : case COMPLEX_EXPR:
8448 : 5937 : {
8449 : 5937 : tree _q20 = gimple_assign_rhs1 (_a1);
8450 : 5937 : _q20 = do_valueize (valueize, _q20);
8451 : 5937 : tree _q21 = gimple_assign_rhs2 (_a1);
8452 : 5937 : _q21 = do_valueize (valueize, _q21);
8453 : 5937 : {
8454 : 5937 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
8455 : 5937 : gimple_seq *lseq = seq;
8456 : 5937 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1899;
8457 : 5937 : {
8458 : 5937 : tree tem;
8459 : 5937 : tem = captures[1];
8460 : 5937 : res_op->set_value (tem);
8461 : 5937 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1032, __FILE__, __LINE__, true);
8462 : 5937 : return true;
8463 : : }
8464 : 0 : next_after_fail1899:;
8465 : : }
8466 : 0 : break;
8467 : : }
8468 : 0 : CASE_CONVERT:
8469 : 0 : {
8470 : 0 : tree _q20 = gimple_assign_rhs1 (_a1);
8471 : 0 : _q20 = do_valueize (valueize, _q20);
8472 : 0 : switch (TREE_CODE (_q20))
8473 : : {
8474 : 0 : case SSA_NAME:
8475 : 0 : if (gimple *_d2 = get_def (valueize, _q20))
8476 : : {
8477 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
8478 : 0 : switch (gimple_assign_rhs_code (_a2))
8479 : : {
8480 : 0 : case CONJ_EXPR:
8481 : 0 : {
8482 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
8483 : 0 : _q30 = do_valueize (valueize, _q30);
8484 : 0 : {
8485 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
8486 : 0 : gimple_seq *lseq = seq;
8487 : 0 : if (lseq
8488 : 0 : && (!single_use (captures[0])
8489 : 0 : || !single_use (captures[1])))
8490 : 0 : lseq = NULL;
8491 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1900;
8492 : 0 : {
8493 : 0 : res_op->set_op (NOP_EXPR, type, 1);
8494 : 0 : {
8495 : 0 : tree _o1[1], _r1;
8496 : 0 : {
8497 : 0 : tree _o2[1], _r2;
8498 : 0 : _o2[0] = captures[2];
8499 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
8500 : 0 : tem_op.resimplify (lseq, valueize);
8501 : 0 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
8502 : 0 : if (!_r2) goto next_after_fail1900;
8503 : 0 : _o1[0] = _r2;
8504 : : }
8505 : 0 : (*res_op).set_op (NEGATE_EXPR, TREE_TYPE (_o1[0]), 1);
8506 : 0 : (*res_op).ops[0] = _o1[0];
8507 : 0 : (*res_op).resimplify (lseq, valueize);
8508 : : }
8509 : 0 : if (type != res_op->type
8510 : 0 : && !useless_type_conversion_p (type, res_op->type))
8511 : : {
8512 : 0 : if (!(res_op->ops[0] = maybe_push_res_to_seq (res_op, lseq))) goto next_after_fail1900;
8513 : 0 : res_op->set_op (NOP_EXPR, type, 1);
8514 : 0 : res_op->resimplify (lseq, valueize);
8515 : : }
8516 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1033, __FILE__, __LINE__, true);
8517 : 0 : return true;
8518 : : }
8519 : 0 : next_after_fail1900:;
8520 : : }
8521 : 0 : break;
8522 : : }
8523 : 0 : case PLUS_EXPR:
8524 : 0 : {
8525 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
8526 : 0 : _q30 = do_valueize (valueize, _q30);
8527 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
8528 : 0 : _q31 = do_valueize (valueize, _q31);
8529 : 0 : if (tree_swap_operands_p (_q30, _q31))
8530 : 0 : std::swap (_q30, _q31);
8531 : 0 : {
8532 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
8533 : 0 : const enum tree_code op = PLUS_EXPR;
8534 : 0 : gimple_seq *lseq = seq;
8535 : 0 : if (lseq
8536 : 0 : && (!single_use (captures[0])
8537 : 0 : || !single_use (captures[1])))
8538 : 0 : lseq = NULL;
8539 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1901;
8540 : 0 : {
8541 : 0 : res_op->set_op (NOP_EXPR, type, 1);
8542 : 0 : {
8543 : 0 : tree _o1[2], _r1;
8544 : 0 : {
8545 : 0 : tree _o2[1], _r2;
8546 : 0 : _o2[0] = captures[2];
8547 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
8548 : 0 : tem_op.resimplify (lseq, valueize);
8549 : 0 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
8550 : 0 : if (!_r2) goto next_after_fail1901;
8551 : 0 : _o1[0] = _r2;
8552 : : }
8553 : 0 : {
8554 : 0 : tree _o2[1], _r2;
8555 : 0 : _o2[0] = captures[3];
8556 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
8557 : 0 : tem_op.resimplify (lseq, valueize);
8558 : 0 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
8559 : 0 : if (!_r2) goto next_after_fail1901;
8560 : 0 : _o1[1] = _r2;
8561 : : }
8562 : 0 : (*res_op).set_op (op, TREE_TYPE (_o1[0]), 2);
8563 : 0 : (*res_op).ops[0] = _o1[0];
8564 : 0 : (*res_op).ops[1] = _o1[1];
8565 : 0 : (*res_op).resimplify (lseq, valueize);
8566 : : }
8567 : 0 : if (type != res_op->type
8568 : 0 : && !useless_type_conversion_p (type, res_op->type))
8569 : : {
8570 : 0 : if (!(res_op->ops[0] = maybe_push_res_to_seq (res_op, lseq))) goto next_after_fail1901;
8571 : 0 : res_op->set_op (NOP_EXPR, type, 1);
8572 : 0 : res_op->resimplify (lseq, valueize);
8573 : : }
8574 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1030, __FILE__, __LINE__, true);
8575 : 0 : return true;
8576 : : }
8577 : 0 : next_after_fail1901:;
8578 : : }
8579 : 0 : break;
8580 : : }
8581 : 0 : case MINUS_EXPR:
8582 : 0 : {
8583 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
8584 : 0 : _q30 = do_valueize (valueize, _q30);
8585 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
8586 : 0 : _q31 = do_valueize (valueize, _q31);
8587 : 0 : {
8588 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
8589 : 0 : const enum tree_code op = MINUS_EXPR;
8590 : 0 : gimple_seq *lseq = seq;
8591 : 0 : if (lseq
8592 : 0 : && (!single_use (captures[0])
8593 : 0 : || !single_use (captures[1])))
8594 : 0 : lseq = NULL;
8595 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1902;
8596 : 0 : {
8597 : 0 : res_op->set_op (NOP_EXPR, type, 1);
8598 : 0 : {
8599 : 0 : tree _o1[2], _r1;
8600 : 0 : {
8601 : 0 : tree _o2[1], _r2;
8602 : 0 : _o2[0] = captures[2];
8603 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
8604 : 0 : tem_op.resimplify (lseq, valueize);
8605 : 0 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
8606 : 0 : if (!_r2) goto next_after_fail1902;
8607 : 0 : _o1[0] = _r2;
8608 : : }
8609 : 0 : {
8610 : 0 : tree _o2[1], _r2;
8611 : 0 : _o2[0] = captures[3];
8612 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
8613 : 0 : tem_op.resimplify (lseq, valueize);
8614 : 0 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
8615 : 0 : if (!_r2) goto next_after_fail1902;
8616 : 0 : _o1[1] = _r2;
8617 : : }
8618 : 0 : (*res_op).set_op (op, TREE_TYPE (_o1[0]), 2);
8619 : 0 : (*res_op).ops[0] = _o1[0];
8620 : 0 : (*res_op).ops[1] = _o1[1];
8621 : 0 : (*res_op).resimplify (lseq, valueize);
8622 : : }
8623 : 0 : if (type != res_op->type
8624 : 0 : && !useless_type_conversion_p (type, res_op->type))
8625 : : {
8626 : 0 : if (!(res_op->ops[0] = maybe_push_res_to_seq (res_op, lseq))) goto next_after_fail1902;
8627 : 0 : res_op->set_op (NOP_EXPR, type, 1);
8628 : 0 : res_op->resimplify (lseq, valueize);
8629 : : }
8630 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1030, __FILE__, __LINE__, true);
8631 : 0 : return true;
8632 : : }
8633 : 0 : next_after_fail1902:;
8634 : : }
8635 : 0 : break;
8636 : : }
8637 : : default:;
8638 : : }
8639 : 0 : else if (gcall *_c2 = dyn_cast <gcall *> (_d2))
8640 : 0 : switch (gimple_call_combined_fn (_c2))
8641 : : {
8642 : 0 : case CFN_BUILT_IN_CEXPIF:
8643 : 0 : if (gimple_call_num_args (_c2) == 1)
8644 : : {
8645 : 0 : tree _q30 = gimple_call_arg (_c2, 0);
8646 : 0 : _q30 = do_valueize (valueize, _q30);
8647 : 0 : {
8648 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
8649 : 0 : if (single_use (captures[1]) && single_use (captures[0])
8650 : : )
8651 : : {
8652 : 0 : gimple_seq *lseq = seq;
8653 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1903;
8654 : 0 : {
8655 : 0 : res_op->set_op (NOP_EXPR, type, 1);
8656 : 0 : {
8657 : 0 : tree _o1[1], _r1;
8658 : 0 : _o1[0] = captures[2];
8659 : 0 : (*res_op).set_op (CFN_BUILT_IN_SINF, TREE_TYPE (_o1[0]), 1);
8660 : 0 : (*res_op).ops[0] = _o1[0];
8661 : 0 : (*res_op).resimplify (lseq, valueize);
8662 : : }
8663 : 0 : if (type != res_op->type
8664 : 0 : && !useless_type_conversion_p (type, res_op->type))
8665 : : {
8666 : 0 : if (!(res_op->ops[0] = maybe_push_res_to_seq (res_op, lseq))) goto next_after_fail1903;
8667 : 0 : res_op->set_op (NOP_EXPR, type, 1);
8668 : 0 : res_op->resimplify (lseq, valueize);
8669 : : }
8670 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1034, __FILE__, __LINE__, true);
8671 : 0 : return true;
8672 : : }
8673 : 0 : next_after_fail1903:;
8674 : : }
8675 : : }
8676 : : }
8677 : : break;
8678 : 0 : case CFN_BUILT_IN_CEXPIL:
8679 : 0 : if (gimple_call_num_args (_c2) == 1)
8680 : : {
8681 : 0 : tree _q30 = gimple_call_arg (_c2, 0);
8682 : 0 : _q30 = do_valueize (valueize, _q30);
8683 : 0 : {
8684 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
8685 : 0 : if (single_use (captures[1]) && single_use (captures[0])
8686 : : )
8687 : : {
8688 : 0 : gimple_seq *lseq = seq;
8689 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1904;
8690 : 0 : {
8691 : 0 : res_op->set_op (NOP_EXPR, type, 1);
8692 : 0 : {
8693 : 0 : tree _o1[1], _r1;
8694 : 0 : _o1[0] = captures[2];
8695 : 0 : (*res_op).set_op (CFN_BUILT_IN_SINL, TREE_TYPE (_o1[0]), 1);
8696 : 0 : (*res_op).ops[0] = _o1[0];
8697 : 0 : (*res_op).resimplify (lseq, valueize);
8698 : : }
8699 : 0 : if (type != res_op->type
8700 : 0 : && !useless_type_conversion_p (type, res_op->type))
8701 : : {
8702 : 0 : if (!(res_op->ops[0] = maybe_push_res_to_seq (res_op, lseq))) goto next_after_fail1904;
8703 : 0 : res_op->set_op (NOP_EXPR, type, 1);
8704 : 0 : res_op->resimplify (lseq, valueize);
8705 : : }
8706 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1034, __FILE__, __LINE__, true);
8707 : 0 : return true;
8708 : : }
8709 : 0 : next_after_fail1904:;
8710 : : }
8711 : : }
8712 : : }
8713 : : break;
8714 : 0 : case CFN_BUILT_IN_CEXPI:
8715 : 0 : if (gimple_call_num_args (_c2) == 1)
8716 : : {
8717 : 0 : tree _q30 = gimple_call_arg (_c2, 0);
8718 : 0 : _q30 = do_valueize (valueize, _q30);
8719 : 0 : {
8720 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
8721 : 0 : if (single_use (captures[1]) && single_use (captures[0])
8722 : : )
8723 : : {
8724 : 0 : gimple_seq *lseq = seq;
8725 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1905;
8726 : 0 : {
8727 : 0 : res_op->set_op (NOP_EXPR, type, 1);
8728 : 0 : {
8729 : 0 : tree _o1[1], _r1;
8730 : 0 : _o1[0] = captures[2];
8731 : 0 : (*res_op).set_op (CFN_BUILT_IN_SIN, TREE_TYPE (_o1[0]), 1);
8732 : 0 : (*res_op).ops[0] = _o1[0];
8733 : 0 : (*res_op).resimplify (lseq, valueize);
8734 : : }
8735 : 0 : if (type != res_op->type
8736 : 0 : && !useless_type_conversion_p (type, res_op->type))
8737 : : {
8738 : 0 : if (!(res_op->ops[0] = maybe_push_res_to_seq (res_op, lseq))) goto next_after_fail1905;
8739 : 0 : res_op->set_op (NOP_EXPR, type, 1);
8740 : 0 : res_op->resimplify (lseq, valueize);
8741 : : }
8742 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1034, __FILE__, __LINE__, true);
8743 : 0 : return true;
8744 : : }
8745 : 0 : next_after_fail1905:;
8746 : : }
8747 : : }
8748 : : }
8749 : : break;
8750 : : default:;
8751 : : }
8752 : : }
8753 : : break;
8754 : : default:;
8755 : : }
8756 : : break;
8757 : : }
8758 : 0 : case CONJ_EXPR:
8759 : 0 : {
8760 : 0 : tree _q20 = gimple_assign_rhs1 (_a1);
8761 : 0 : _q20 = do_valueize (valueize, _q20);
8762 : 0 : {
8763 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
8764 : 0 : gimple_seq *lseq = seq;
8765 : 0 : if (lseq
8766 : 0 : && (!single_use (captures[0])
8767 : : || !single_use (captures[1])))
8768 : 0 : lseq = NULL;
8769 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1906;
8770 : 0 : {
8771 : 0 : res_op->set_op (NOP_EXPR, type, 1);
8772 : 0 : {
8773 : 0 : tree _o1[1], _r1;
8774 : 0 : {
8775 : 0 : tree _o2[1], _r2;
8776 : 0 : _o2[0] = captures[2];
8777 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
8778 : 0 : tem_op.resimplify (lseq, valueize);
8779 : 0 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
8780 : 0 : if (!_r2) goto next_after_fail1906;
8781 : 0 : _o1[0] = _r2;
8782 : : }
8783 : 0 : (*res_op).set_op (NEGATE_EXPR, TREE_TYPE (_o1[0]), 1);
8784 : 0 : (*res_op).ops[0] = _o1[0];
8785 : 0 : (*res_op).resimplify (lseq, valueize);
8786 : : }
8787 : 0 : if (type != res_op->type
8788 : 0 : && !useless_type_conversion_p (type, res_op->type))
8789 : : {
8790 : 0 : if (!(res_op->ops[0] = maybe_push_res_to_seq (res_op, lseq))) goto next_after_fail1906;
8791 : 0 : res_op->set_op (NOP_EXPR, type, 1);
8792 : 0 : res_op->resimplify (lseq, valueize);
8793 : : }
8794 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1033, __FILE__, __LINE__, true);
8795 : 0 : return true;
8796 : : }
8797 : 0 : next_after_fail1906:;
8798 : : }
8799 : 0 : break;
8800 : : }
8801 : 741 : case PLUS_EXPR:
8802 : 741 : {
8803 : 741 : tree _q20 = gimple_assign_rhs1 (_a1);
8804 : 741 : _q20 = do_valueize (valueize, _q20);
8805 : 741 : tree _q21 = gimple_assign_rhs2 (_a1);
8806 : 741 : _q21 = do_valueize (valueize, _q21);
8807 : 741 : if (tree_swap_operands_p (_q20, _q21))
8808 : 51 : std::swap (_q20, _q21);
8809 : 741 : {
8810 : 741 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
8811 : 741 : const enum tree_code op = PLUS_EXPR;
8812 : 741 : gimple_seq *lseq = seq;
8813 : 741 : if (lseq
8814 : 208 : && (!single_use (captures[0])
8815 : : || !single_use (captures[1])))
8816 : 658 : lseq = NULL;
8817 : 741 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1907;
8818 : 741 : {
8819 : 741 : res_op->set_op (NOP_EXPR, type, 1);
8820 : 741 : {
8821 : 741 : tree _o1[2], _r1;
8822 : 741 : {
8823 : 741 : tree _o2[1], _r2;
8824 : 741 : _o2[0] = captures[2];
8825 : 741 : gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
8826 : 741 : tem_op.resimplify (lseq, valueize);
8827 : 741 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
8828 : 741 : if (!_r2) goto next_after_fail1907;
8829 : 517 : _o1[0] = _r2;
8830 : : }
8831 : 517 : {
8832 : 517 : tree _o2[1], _r2;
8833 : 517 : _o2[0] = captures[3];
8834 : 517 : gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
8835 : 517 : tem_op.resimplify (lseq, valueize);
8836 : 517 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
8837 : 517 : if (!_r2) goto next_after_fail1907;
8838 : 148 : _o1[1] = _r2;
8839 : : }
8840 : 148 : (*res_op).set_op (op, TREE_TYPE (_o1[0]), 2);
8841 : 148 : (*res_op).ops[0] = _o1[0];
8842 : 148 : (*res_op).ops[1] = _o1[1];
8843 : 148 : (*res_op).resimplify (lseq, valueize);
8844 : : }
8845 : 148 : if (type != res_op->type
8846 : 148 : && !useless_type_conversion_p (type, res_op->type))
8847 : : {
8848 : 0 : if (!(res_op->ops[0] = maybe_push_res_to_seq (res_op, lseq))) goto next_after_fail1907;
8849 : 0 : res_op->set_op (NOP_EXPR, type, 1);
8850 : 0 : res_op->resimplify (lseq, valueize);
8851 : : }
8852 : 148 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1030, __FILE__, __LINE__, true);
8853 : 148 : return true;
8854 : : }
8855 : 593 : next_after_fail1907:;
8856 : : }
8857 : 593 : break;
8858 : : }
8859 : 491 : case MINUS_EXPR:
8860 : 491 : {
8861 : 491 : tree _q20 = gimple_assign_rhs1 (_a1);
8862 : 491 : _q20 = do_valueize (valueize, _q20);
8863 : 491 : tree _q21 = gimple_assign_rhs2 (_a1);
8864 : 491 : _q21 = do_valueize (valueize, _q21);
8865 : 491 : {
8866 : 491 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
8867 : 491 : const enum tree_code op = MINUS_EXPR;
8868 : 491 : gimple_seq *lseq = seq;
8869 : 491 : if (lseq
8870 : 159 : && (!single_use (captures[0])
8871 : : || !single_use (captures[1])))
8872 : 447 : lseq = NULL;
8873 : 491 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1908;
8874 : 491 : {
8875 : 491 : res_op->set_op (NOP_EXPR, type, 1);
8876 : 491 : {
8877 : 491 : tree _o1[2], _r1;
8878 : 491 : {
8879 : 491 : tree _o2[1], _r2;
8880 : 491 : _o2[0] = captures[2];
8881 : 491 : gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
8882 : 491 : tem_op.resimplify (lseq, valueize);
8883 : 491 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
8884 : 491 : if (!_r2) goto next_after_fail1908;
8885 : 155 : _o1[0] = _r2;
8886 : : }
8887 : 155 : {
8888 : 155 : tree _o2[1], _r2;
8889 : 155 : _o2[0] = captures[3];
8890 : 155 : gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
8891 : 155 : tem_op.resimplify (lseq, valueize);
8892 : 155 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
8893 : 155 : if (!_r2) goto next_after_fail1908;
8894 : 95 : _o1[1] = _r2;
8895 : : }
8896 : 95 : (*res_op).set_op (op, TREE_TYPE (_o1[0]), 2);
8897 : 95 : (*res_op).ops[0] = _o1[0];
8898 : 95 : (*res_op).ops[1] = _o1[1];
8899 : 95 : (*res_op).resimplify (lseq, valueize);
8900 : : }
8901 : 95 : if (type != res_op->type
8902 : 95 : && !useless_type_conversion_p (type, res_op->type))
8903 : : {
8904 : 0 : if (!(res_op->ops[0] = maybe_push_res_to_seq (res_op, lseq))) goto next_after_fail1908;
8905 : 0 : res_op->set_op (NOP_EXPR, type, 1);
8906 : 0 : res_op->resimplify (lseq, valueize);
8907 : : }
8908 : 95 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1030, __FILE__, __LINE__, true);
8909 : 95 : return true;
8910 : : }
8911 : 396 : next_after_fail1908:;
8912 : : }
8913 : 396 : break;
8914 : : }
8915 : : default:;
8916 : : }
8917 : 849535 : else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
8918 : 826490 : switch (gimple_call_combined_fn (_c1))
8919 : : {
8920 : 212353 : case CFN_MUL_OVERFLOW:
8921 : 212353 : if (gimple_call_num_args (_c1) == 2)
8922 : : {
8923 : 212353 : tree _q20 = gimple_call_arg (_c1, 0);
8924 : 212353 : _q20 = do_valueize (valueize, _q20);
8925 : 212353 : tree _q21 = gimple_call_arg (_c1, 1);
8926 : 212353 : _q21 = do_valueize (valueize, _q21);
8927 : 212353 : if (tree_swap_operands_p (_q20, _q21))
8928 : 4460 : std::swap (_q20, _q21);
8929 : 212353 : if (integer_nonzerop (_q21))
8930 : : {
8931 : 147379 : {
8932 : 147379 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
8933 : 147379 : if (gimple_simplify_633 (res_op, seq, valueize, type, captures))
8934 : 1445 : return true;
8935 : : }
8936 : : }
8937 : 210908 : if (integer_nonzerop (_q20))
8938 : : {
8939 : 0 : {
8940 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
8941 : 0 : if (gimple_simplify_633 (res_op, seq, valueize, type, captures))
8942 : 0 : return true;
8943 : : }
8944 : : }
8945 : : }
8946 : : break;
8947 : 143 : case CFN_BUILT_IN_CEXPIF:
8948 : 143 : if (gimple_call_num_args (_c1) == 1)
8949 : : {
8950 : 143 : tree _q20 = gimple_call_arg (_c1, 0);
8951 : 143 : _q20 = do_valueize (valueize, _q20);
8952 : 143 : {
8953 : 143 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
8954 : 143 : if (single_use (captures[1]) && single_use (captures[0])
8955 : : )
8956 : : {
8957 : 0 : gimple_seq *lseq = seq;
8958 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1909;
8959 : 0 : {
8960 : 0 : res_op->set_op (NOP_EXPR, type, 1);
8961 : 0 : {
8962 : 0 : tree _o1[1], _r1;
8963 : 0 : _o1[0] = captures[2];
8964 : 0 : (*res_op).set_op (CFN_BUILT_IN_SINF, TREE_TYPE (_o1[0]), 1);
8965 : 0 : (*res_op).ops[0] = _o1[0];
8966 : 0 : (*res_op).resimplify (lseq, valueize);
8967 : : }
8968 : 0 : if (type != res_op->type
8969 : 0 : && !useless_type_conversion_p (type, res_op->type))
8970 : : {
8971 : 0 : if (!(res_op->ops[0] = maybe_push_res_to_seq (res_op, lseq))) goto next_after_fail1909;
8972 : 0 : res_op->set_op (NOP_EXPR, type, 1);
8973 : 0 : res_op->resimplify (lseq, valueize);
8974 : : }
8975 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1034, __FILE__, __LINE__, true);
8976 : 0 : return true;
8977 : : }
8978 : 143 : next_after_fail1909:;
8979 : : }
8980 : : }
8981 : : }
8982 : : break;
8983 : 56 : case CFN_BUILT_IN_CEXPIL:
8984 : 56 : if (gimple_call_num_args (_c1) == 1)
8985 : : {
8986 : 56 : tree _q20 = gimple_call_arg (_c1, 0);
8987 : 56 : _q20 = do_valueize (valueize, _q20);
8988 : 56 : {
8989 : 56 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
8990 : 56 : if (single_use (captures[1]) && single_use (captures[0])
8991 : : )
8992 : : {
8993 : 0 : gimple_seq *lseq = seq;
8994 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1910;
8995 : 0 : {
8996 : 0 : res_op->set_op (NOP_EXPR, type, 1);
8997 : 0 : {
8998 : 0 : tree _o1[1], _r1;
8999 : 0 : _o1[0] = captures[2];
9000 : 0 : (*res_op).set_op (CFN_BUILT_IN_SINL, TREE_TYPE (_o1[0]), 1);
9001 : 0 : (*res_op).ops[0] = _o1[0];
9002 : 0 : (*res_op).resimplify (lseq, valueize);
9003 : : }
9004 : 0 : if (type != res_op->type
9005 : 0 : && !useless_type_conversion_p (type, res_op->type))
9006 : : {
9007 : 0 : if (!(res_op->ops[0] = maybe_push_res_to_seq (res_op, lseq))) goto next_after_fail1910;
9008 : 0 : res_op->set_op (NOP_EXPR, type, 1);
9009 : 0 : res_op->resimplify (lseq, valueize);
9010 : : }
9011 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1034, __FILE__, __LINE__, true);
9012 : 0 : return true;
9013 : : }
9014 : 56 : next_after_fail1910:;
9015 : : }
9016 : : }
9017 : : }
9018 : : break;
9019 : 311 : case CFN_BUILT_IN_CEXPI:
9020 : 311 : if (gimple_call_num_args (_c1) == 1)
9021 : : {
9022 : 311 : tree _q20 = gimple_call_arg (_c1, 0);
9023 : 311 : _q20 = do_valueize (valueize, _q20);
9024 : 311 : {
9025 : 311 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
9026 : 311 : if (single_use (captures[1]) && single_use (captures[0])
9027 : : )
9028 : : {
9029 : 4 : gimple_seq *lseq = seq;
9030 : 4 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1911;
9031 : 4 : {
9032 : 4 : res_op->set_op (NOP_EXPR, type, 1);
9033 : 4 : {
9034 : 4 : tree _o1[1], _r1;
9035 : 4 : _o1[0] = captures[2];
9036 : 4 : (*res_op).set_op (CFN_BUILT_IN_SIN, TREE_TYPE (_o1[0]), 1);
9037 : 4 : (*res_op).ops[0] = _o1[0];
9038 : 4 : (*res_op).resimplify (lseq, valueize);
9039 : : }
9040 : 4 : if (type != res_op->type
9041 : 4 : && !useless_type_conversion_p (type, res_op->type))
9042 : : {
9043 : 0 : if (!(res_op->ops[0] = maybe_push_res_to_seq (res_op, lseq))) goto next_after_fail1911;
9044 : 0 : res_op->set_op (NOP_EXPR, type, 1);
9045 : 0 : res_op->resimplify (lseq, valueize);
9046 : : }
9047 : 4 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1034, __FILE__, __LINE__, true);
9048 : 4 : return true;
9049 : : }
9050 : 307 : next_after_fail1911:;
9051 : : }
9052 : : }
9053 : : }
9054 : : break;
9055 : : default:;
9056 : : }
9057 : : }
9058 : : break;
9059 : : default:;
9060 : : }
9061 : : return false;
9062 : : }
9063 : :
9064 : : bool
9065 : 753 : gimple_simplify_CFN_BUILT_IN_LOG2L (gimple_match_op *res_op, gimple_seq *seq,
9066 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
9067 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
9068 : : {
9069 : 753 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
9070 : 753 : switch (TREE_CODE (_p0))
9071 : : {
9072 : 413 : case SSA_NAME:
9073 : 413 : if (gimple *_d1 = get_def (valueize, _p0))
9074 : : {
9075 : 277 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
9076 : 56 : switch (gimple_assign_rhs_code (_a1))
9077 : : {
9078 : 9 : case RDIV_EXPR:
9079 : 9 : {
9080 : 9 : tree _q20 = gimple_assign_rhs1 (_a1);
9081 : 9 : _q20 = do_valueize (valueize, _q20);
9082 : 9 : tree _q21 = gimple_assign_rhs2 (_a1);
9083 : 9 : _q21 = do_valueize (valueize, _q21);
9084 : 9 : switch (TREE_CODE (_q20))
9085 : : {
9086 : 4 : case REAL_CST:
9087 : 4 : {
9088 : 4 : {
9089 : 4 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
9090 : 4 : if (gimple_simplify_664 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LOG2L))
9091 : 2 : return true;
9092 : : }
9093 : 2 : break;
9094 : : }
9095 : 7 : default:;
9096 : : }
9097 : 7 : if (real_onep (_q20))
9098 : : {
9099 : 1 : {
9100 : 1 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
9101 : 1 : if (gimple_simplify_663 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LOG2L))
9102 : 0 : return true;
9103 : : }
9104 : : }
9105 : : break;
9106 : : }
9107 : : default:;
9108 : : }
9109 : 221 : else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
9110 : 84 : switch (gimple_call_combined_fn (_c1))
9111 : : {
9112 : 12 : case CFN_BUILT_IN_SQRTL:
9113 : 12 : if (gimple_call_num_args (_c1) == 1)
9114 : : {
9115 : 12 : tree _q20 = gimple_call_arg (_c1, 0);
9116 : 12 : _q20 = do_valueize (valueize, _q20);
9117 : 12 : {
9118 : 12 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
9119 : 12 : if (flag_unsafe_math_optimizations
9120 : : )
9121 : : {
9122 : 12 : if (SCALAR_FLOAT_TYPE_P (type)
9123 : : )
9124 : : {
9125 : 12 : {
9126 : 12 : tree x;
9127 : 12 : switch (CFN_BUILT_IN_SQRTL)
9128 : : {
9129 : 12 : CASE_CFN_SQRT:
9130 : 12 : x = build_real (type, dconsthalf);
9131 : 12 : break;
9132 : : CASE_CFN_CBRT:
9133 : : x = build_real_truncate (type, dconst_third ());
9134 : : break;
9135 : : default:
9136 : : gcc_unreachable ();
9137 : : }
9138 : 12 : gimple_seq *lseq = seq;
9139 : 12 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1948;
9140 : 12 : {
9141 : 12 : res_op->set_op (MULT_EXPR, type, 2);
9142 : 12 : res_op->ops[0] = x;
9143 : 12 : {
9144 : 12 : tree _o1[1], _r1;
9145 : 12 : _o1[0] = captures[0];
9146 : 12 : gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG2L, TREE_TYPE (_o1[0]), _o1[0]);
9147 : 12 : tem_op.resimplify (lseq, valueize);
9148 : 12 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
9149 : 12 : if (!_r1) goto next_after_fail1948;
9150 : 6 : res_op->ops[1] = _r1;
9151 : : }
9152 : 6 : res_op->resimplify (lseq, valueize);
9153 : 6 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1036, __FILE__, __LINE__, true);
9154 : 6 : return true;
9155 : : }
9156 : : next_after_fail1948:;
9157 : : }
9158 : : }
9159 : : }
9160 : : }
9161 : : }
9162 : : break;
9163 : 12 : case CFN_BUILT_IN_EXP10L:
9164 : 12 : if (gimple_call_num_args (_c1) == 1)
9165 : : {
9166 : 12 : tree _q20 = gimple_call_arg (_c1, 0);
9167 : 12 : _q20 = do_valueize (valueize, _q20);
9168 : 12 : {
9169 : 12 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
9170 : 12 : if (flag_unsafe_math_optimizations
9171 : : )
9172 : : {
9173 : 12 : if (SCALAR_FLOAT_TYPE_P (type)
9174 : : )
9175 : : {
9176 : 12 : {
9177 : 12 : tree x;
9178 : 12 : switch (CFN_BUILT_IN_EXP10L)
9179 : : {
9180 : : CASE_CFN_EXP:
9181 : : x = build_real_truncate (type, dconst_e ());
9182 : : break;
9183 : : CASE_CFN_EXP2:
9184 : : x = build_real (type, dconst2);
9185 : : break;
9186 : 12 : CASE_CFN_EXP10:
9187 : 12 : CASE_CFN_POW10:
9188 : 12 : {
9189 : 12 : REAL_VALUE_TYPE dconst10;
9190 : 12 : real_from_integer (&dconst10, VOIDmode, 10, SIGNED);
9191 : 12 : x = build_real (type, dconst10);
9192 : : }
9193 : 12 : break;
9194 : : default:
9195 : : gcc_unreachable ();
9196 : : }
9197 : 12 : gimple_seq *lseq = seq;
9198 : 12 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1949;
9199 : 12 : {
9200 : 12 : res_op->set_op (MULT_EXPR, type, 2);
9201 : 12 : {
9202 : 12 : tree _o1[1], _r1;
9203 : 12 : _o1[0] = x;
9204 : 12 : gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG2L, TREE_TYPE (_o1[0]), _o1[0]);
9205 : 12 : tem_op.resimplify (lseq, valueize);
9206 : 12 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
9207 : 12 : if (!_r1) goto next_after_fail1949;
9208 : 12 : res_op->ops[0] = _r1;
9209 : : }
9210 : 12 : res_op->ops[1] = captures[0];
9211 : 12 : res_op->resimplify (lseq, valueize);
9212 : 12 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1037, __FILE__, __LINE__, true);
9213 : 12 : return true;
9214 : : }
9215 : : next_after_fail1949:;
9216 : : }
9217 : : }
9218 : : }
9219 : : }
9220 : : }
9221 : : break;
9222 : 12 : case CFN_BUILT_IN_EXPL:
9223 : 12 : if (gimple_call_num_args (_c1) == 1)
9224 : : {
9225 : 12 : tree _q20 = gimple_call_arg (_c1, 0);
9226 : 12 : _q20 = do_valueize (valueize, _q20);
9227 : 12 : {
9228 : 12 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
9229 : 12 : if (flag_unsafe_math_optimizations
9230 : : )
9231 : : {
9232 : 12 : if (SCALAR_FLOAT_TYPE_P (type)
9233 : : )
9234 : : {
9235 : 12 : {
9236 : 12 : tree x;
9237 : 12 : switch (CFN_BUILT_IN_EXPL)
9238 : : {
9239 : 12 : CASE_CFN_EXP:
9240 : 12 : x = build_real_truncate (type, dconst_e ());
9241 : 12 : break;
9242 : : CASE_CFN_EXP2:
9243 : : x = build_real (type, dconst2);
9244 : : break;
9245 : : CASE_CFN_EXP10:
9246 : : CASE_CFN_POW10:
9247 : : {
9248 : : REAL_VALUE_TYPE dconst10;
9249 : : real_from_integer (&dconst10, VOIDmode, 10, SIGNED);
9250 : : x = build_real (type, dconst10);
9251 : : }
9252 : : break;
9253 : : default:
9254 : : gcc_unreachable ();
9255 : : }
9256 : 12 : gimple_seq *lseq = seq;
9257 : 12 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1950;
9258 : 12 : {
9259 : 12 : res_op->set_op (MULT_EXPR, type, 2);
9260 : 12 : {
9261 : 12 : tree _o1[1], _r1;
9262 : 12 : _o1[0] = x;
9263 : 12 : gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG2L, TREE_TYPE (_o1[0]), _o1[0]);
9264 : 12 : tem_op.resimplify (lseq, valueize);
9265 : 12 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
9266 : 12 : if (!_r1) goto next_after_fail1950;
9267 : 12 : res_op->ops[0] = _r1;
9268 : : }
9269 : 12 : res_op->ops[1] = captures[0];
9270 : 12 : res_op->resimplify (lseq, valueize);
9271 : 12 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1037, __FILE__, __LINE__, true);
9272 : 12 : return true;
9273 : : }
9274 : : next_after_fail1950:;
9275 : : }
9276 : : }
9277 : : }
9278 : : }
9279 : : }
9280 : : break;
9281 : 12 : case CFN_BUILT_IN_POWL:
9282 : 12 : if (gimple_call_num_args (_c1) == 2)
9283 : : {
9284 : 12 : tree _q20 = gimple_call_arg (_c1, 0);
9285 : 12 : _q20 = do_valueize (valueize, _q20);
9286 : 12 : tree _q21 = gimple_call_arg (_c1, 1);
9287 : 12 : _q21 = do_valueize (valueize, _q21);
9288 : 12 : {
9289 : 12 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
9290 : 12 : if (gimple_simplify_665 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LOG2L, CFN_BUILT_IN_POWL))
9291 : 6 : return true;
9292 : : }
9293 : : }
9294 : : break;
9295 : 12 : case CFN_BUILT_IN_POW10L:
9296 : 12 : if (gimple_call_num_args (_c1) == 1)
9297 : : {
9298 : 12 : tree _q20 = gimple_call_arg (_c1, 0);
9299 : 12 : _q20 = do_valueize (valueize, _q20);
9300 : 12 : {
9301 : 12 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
9302 : 12 : if (flag_unsafe_math_optimizations
9303 : : )
9304 : : {
9305 : 12 : if (SCALAR_FLOAT_TYPE_P (type)
9306 : : )
9307 : : {
9308 : 12 : {
9309 : 12 : tree x;
9310 : 12 : switch (CFN_BUILT_IN_POW10L)
9311 : : {
9312 : : CASE_CFN_EXP:
9313 : : x = build_real_truncate (type, dconst_e ());
9314 : : break;
9315 : : CASE_CFN_EXP2:
9316 : : x = build_real (type, dconst2);
9317 : : break;
9318 : 12 : CASE_CFN_EXP10:
9319 : 12 : CASE_CFN_POW10:
9320 : 12 : {
9321 : 12 : REAL_VALUE_TYPE dconst10;
9322 : 12 : real_from_integer (&dconst10, VOIDmode, 10, SIGNED);
9323 : 12 : x = build_real (type, dconst10);
9324 : : }
9325 : 12 : break;
9326 : : default:
9327 : : gcc_unreachable ();
9328 : : }
9329 : 12 : gimple_seq *lseq = seq;
9330 : 12 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1951;
9331 : 12 : {
9332 : 12 : res_op->set_op (MULT_EXPR, type, 2);
9333 : 12 : {
9334 : 12 : tree _o1[1], _r1;
9335 : 12 : _o1[0] = x;
9336 : 12 : gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG2L, TREE_TYPE (_o1[0]), _o1[0]);
9337 : 12 : tem_op.resimplify (lseq, valueize);
9338 : 12 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
9339 : 12 : if (!_r1) goto next_after_fail1951;
9340 : 12 : res_op->ops[0] = _r1;
9341 : : }
9342 : 12 : res_op->ops[1] = captures[0];
9343 : 12 : res_op->resimplify (lseq, valueize);
9344 : 12 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1037, __FILE__, __LINE__, true);
9345 : 12 : return true;
9346 : : }
9347 : : next_after_fail1951:;
9348 : : }
9349 : : }
9350 : : }
9351 : : }
9352 : : }
9353 : : break;
9354 : 12 : case CFN_BUILT_IN_CBRTL:
9355 : 12 : if (gimple_call_num_args (_c1) == 1)
9356 : : {
9357 : 12 : tree _q20 = gimple_call_arg (_c1, 0);
9358 : 12 : _q20 = do_valueize (valueize, _q20);
9359 : 12 : {
9360 : 12 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
9361 : 12 : if (flag_unsafe_math_optimizations
9362 : : )
9363 : : {
9364 : 12 : if (SCALAR_FLOAT_TYPE_P (type)
9365 : : )
9366 : : {
9367 : 12 : {
9368 : 12 : tree x;
9369 : 12 : switch (CFN_BUILT_IN_CBRTL)
9370 : : {
9371 : : CASE_CFN_SQRT:
9372 : : x = build_real (type, dconsthalf);
9373 : : break;
9374 : 12 : CASE_CFN_CBRT:
9375 : 12 : x = build_real_truncate (type, dconst_third ());
9376 : 12 : break;
9377 : : default:
9378 : : gcc_unreachable ();
9379 : : }
9380 : 12 : gimple_seq *lseq = seq;
9381 : 12 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1952;
9382 : 12 : {
9383 : 12 : res_op->set_op (MULT_EXPR, type, 2);
9384 : 12 : res_op->ops[0] = x;
9385 : 12 : {
9386 : 12 : tree _o1[1], _r1;
9387 : 12 : _o1[0] = captures[0];
9388 : 12 : gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_LOG2L, TREE_TYPE (_o1[0]), _o1[0]);
9389 : 12 : tem_op.resimplify (lseq, valueize);
9390 : 12 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
9391 : 12 : if (!_r1) goto next_after_fail1952;
9392 : 6 : res_op->ops[1] = _r1;
9393 : : }
9394 : 6 : res_op->resimplify (lseq, valueize);
9395 : 6 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1036, __FILE__, __LINE__, true);
9396 : 6 : return true;
9397 : : }
9398 : : next_after_fail1952:;
9399 : : }
9400 : : }
9401 : : }
9402 : : }
9403 : : }
9404 : : break;
9405 : 12 : case CFN_BUILT_IN_EXP2L:
9406 : 12 : if (gimple_call_num_args (_c1) == 1)
9407 : : {
9408 : 12 : tree _q20 = gimple_call_arg (_c1, 0);
9409 : 12 : _q20 = do_valueize (valueize, _q20);
9410 : 12 : {
9411 : 12 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
9412 : 12 : if (flag_unsafe_math_optimizations
9413 : : )
9414 : : {
9415 : 12 : gimple_seq *lseq = seq;
9416 : 12 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1953;
9417 : 12 : {
9418 : 12 : tree tem;
9419 : 12 : tem = captures[0];
9420 : 12 : res_op->set_value (tem);
9421 : 12 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1038, __FILE__, __LINE__, true);
9422 : 12 : return true;
9423 : : }
9424 : 0 : next_after_fail1953:;
9425 : : }
9426 : : }
9427 : : }
9428 : : break;
9429 : : default:;
9430 : : }
9431 : : }
9432 : : break;
9433 : : default:;
9434 : : }
9435 : : return false;
9436 : : }
9437 : :
9438 : : bool
9439 : 5539 : gimple_simplify_CFN_BUILT_IN_EXPL (gimple_match_op *res_op, gimple_seq *seq,
9440 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
9441 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
9442 : : {
9443 : 5539 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
9444 : 5539 : switch (TREE_CODE (_p0))
9445 : : {
9446 : 5377 : case SSA_NAME:
9447 : 5377 : if (gimple *_d1 = get_def (valueize, _p0))
9448 : : {
9449 : 3074 : if (gcall *_c1 = dyn_cast <gcall *> (_d1))
9450 : 87 : switch (gimple_call_combined_fn (_c1))
9451 : : {
9452 : 7 : case CFN_BUILT_IN_LOGL:
9453 : 7 : if (gimple_call_num_args (_c1) == 1)
9454 : : {
9455 : 7 : tree _q20 = gimple_call_arg (_c1, 0);
9456 : 7 : _q20 = do_valueize (valueize, _q20);
9457 : 7 : {
9458 : 7 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
9459 : 7 : if (flag_unsafe_math_optimizations
9460 : : )
9461 : : {
9462 : 7 : gimple_seq *lseq = seq;
9463 : 7 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1982;
9464 : 7 : {
9465 : 7 : tree tem;
9466 : 7 : tem = captures[0];
9467 : 7 : res_op->set_value (tem);
9468 : 7 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1039, __FILE__, __LINE__, true);
9469 : 7 : return true;
9470 : : }
9471 : 0 : next_after_fail1982:;
9472 : : }
9473 : : }
9474 : : }
9475 : : break;
9476 : : default:;
9477 : : }
9478 : : }
9479 : : break;
9480 : : default:;
9481 : : }
9482 : : return false;
9483 : : }
9484 : :
9485 : : bool
9486 : 1518 : gimple_simplify_CFN_BUILT_IN_EXP2 (gimple_match_op *res_op, gimple_seq *seq,
9487 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
9488 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
9489 : : {
9490 : 1518 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
9491 : 1518 : switch (TREE_CODE (_p0))
9492 : : {
9493 : 576 : case SSA_NAME:
9494 : 576 : if (gimple *_d1 = get_def (valueize, _p0))
9495 : : {
9496 : 372 : if (gcall *_c1 = dyn_cast <gcall *> (_d1))
9497 : 27 : switch (gimple_call_combined_fn (_c1))
9498 : : {
9499 : 6 : case CFN_BUILT_IN_LOG2:
9500 : 6 : if (gimple_call_num_args (_c1) == 1)
9501 : : {
9502 : 6 : tree _q20 = gimple_call_arg (_c1, 0);
9503 : 6 : _q20 = do_valueize (valueize, _q20);
9504 : 6 : {
9505 : 6 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
9506 : 6 : if (flag_unsafe_math_optimizations
9507 : : )
9508 : : {
9509 : 6 : gimple_seq *lseq = seq;
9510 : 6 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1985;
9511 : 6 : {
9512 : 6 : tree tem;
9513 : 6 : tem = captures[0];
9514 : 6 : res_op->set_value (tem);
9515 : 6 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1039, __FILE__, __LINE__, true);
9516 : 6 : return true;
9517 : : }
9518 : 0 : next_after_fail1985:;
9519 : : }
9520 : : }
9521 : : }
9522 : : break;
9523 : : default:;
9524 : : }
9525 : : }
9526 : : break;
9527 : : default:;
9528 : : }
9529 : : return false;
9530 : : }
9531 : :
9532 : : bool
9533 : 449 : gimple_simplify_CFN_BUILT_IN_EXP10 (gimple_match_op *res_op, gimple_seq *seq,
9534 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
9535 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
9536 : : {
9537 : 449 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
9538 : 449 : switch (TREE_CODE (_p0))
9539 : : {
9540 : 388 : case SSA_NAME:
9541 : 388 : if (gimple *_d1 = get_def (valueize, _p0))
9542 : : {
9543 : 255 : if (gcall *_c1 = dyn_cast <gcall *> (_d1))
9544 : 27 : switch (gimple_call_combined_fn (_c1))
9545 : : {
9546 : 6 : case CFN_BUILT_IN_LOG10:
9547 : 6 : if (gimple_call_num_args (_c1) == 1)
9548 : : {
9549 : 6 : tree _q20 = gimple_call_arg (_c1, 0);
9550 : 6 : _q20 = do_valueize (valueize, _q20);
9551 : 6 : {
9552 : 6 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
9553 : 6 : if (flag_unsafe_math_optimizations
9554 : : )
9555 : : {
9556 : 6 : gimple_seq *lseq = seq;
9557 : 6 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1989;
9558 : 6 : {
9559 : 6 : tree tem;
9560 : 6 : tem = captures[0];
9561 : 6 : res_op->set_value (tem);
9562 : 6 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1039, __FILE__, __LINE__, true);
9563 : 6 : return true;
9564 : : }
9565 : 0 : next_after_fail1989:;
9566 : : }
9567 : : }
9568 : : }
9569 : : break;
9570 : : default:;
9571 : : }
9572 : : }
9573 : : break;
9574 : : default:;
9575 : : }
9576 : : return false;
9577 : : }
9578 : :
9579 : : bool
9580 : 16262 : gimple_simplify_CFN_BUILT_IN_SQRTF (gimple_match_op *res_op, gimple_seq *seq,
9581 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
9582 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
9583 : : {
9584 : 16262 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
9585 : 16262 : switch (TREE_CODE (_p0))
9586 : : {
9587 : 15619 : case SSA_NAME:
9588 : 15619 : if (gimple *_d1 = get_def (valueize, _p0))
9589 : : {
9590 : 7451 : if (gcall *_c1 = dyn_cast <gcall *> (_d1))
9591 : 115 : switch (gimple_call_combined_fn (_c1))
9592 : : {
9593 : 15 : case CFN_BUILT_IN_SQRTF:
9594 : 15 : if (gimple_call_num_args (_c1) == 1)
9595 : : {
9596 : 15 : tree _q20 = gimple_call_arg (_c1, 0);
9597 : 15 : _q20 = do_valueize (valueize, _q20);
9598 : 15 : {
9599 : 15 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
9600 : 15 : if (flag_unsafe_math_optimizations && canonicalize_math_p ()
9601 : : )
9602 : : {
9603 : 12 : gimple_seq *lseq = seq;
9604 : 12 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1995;
9605 : 12 : {
9606 : 12 : res_op->set_op (CFN_BUILT_IN_POWF, type, 2);
9607 : 12 : res_op->ops[0] = captures[0];
9608 : 12 : res_op->ops[1] = build_real (type, dconst_quarter ());
9609 : 12 : res_op->resimplify (lseq, valueize);
9610 : 12 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1040, __FILE__, __LINE__, true);
9611 : 12 : return true;
9612 : : }
9613 : 0 : next_after_fail1995:;
9614 : : }
9615 : : }
9616 : : }
9617 : : break;
9618 : 12 : case CFN_BUILT_IN_EXP10F:
9619 : 12 : if (gimple_call_num_args (_c1) == 1)
9620 : : {
9621 : 12 : tree _q20 = gimple_call_arg (_c1, 0);
9622 : 12 : _q20 = do_valueize (valueize, _q20);
9623 : 12 : {
9624 : 12 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
9625 : 12 : if (flag_unsafe_math_optimizations
9626 : : )
9627 : : {
9628 : 12 : gimple_seq *lseq = seq;
9629 : 12 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1996;
9630 : 12 : {
9631 : 12 : res_op->set_op (CFN_BUILT_IN_EXP10F, type, 1);
9632 : 12 : {
9633 : 12 : tree _o1[2], _r1;
9634 : 12 : _o1[0] = captures[0];
9635 : 12 : _o1[1] = build_real (type, dconsthalf);
9636 : 12 : gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
9637 : 12 : tem_op.resimplify (lseq, valueize);
9638 : 12 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
9639 : 12 : if (!_r1) goto next_after_fail1996;
9640 : 6 : res_op->ops[0] = _r1;
9641 : : }
9642 : 6 : res_op->resimplify (lseq, valueize);
9643 : 6 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1041, __FILE__, __LINE__, true);
9644 : 6 : return true;
9645 : : }
9646 : : next_after_fail1996:;
9647 : : }
9648 : : }
9649 : : }
9650 : : break;
9651 : 14 : case CFN_BUILT_IN_EXPF:
9652 : 14 : if (gimple_call_num_args (_c1) == 1)
9653 : : {
9654 : 14 : tree _q20 = gimple_call_arg (_c1, 0);
9655 : 14 : _q20 = do_valueize (valueize, _q20);
9656 : 14 : {
9657 : 14 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
9658 : 14 : if (flag_unsafe_math_optimizations
9659 : : )
9660 : : {
9661 : 14 : gimple_seq *lseq = seq;
9662 : 14 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1997;
9663 : 14 : {
9664 : 14 : res_op->set_op (CFN_BUILT_IN_EXPF, type, 1);
9665 : 14 : {
9666 : 14 : tree _o1[2], _r1;
9667 : 14 : _o1[0] = captures[0];
9668 : 14 : _o1[1] = build_real (type, dconsthalf);
9669 : 14 : gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
9670 : 14 : tem_op.resimplify (lseq, valueize);
9671 : 14 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
9672 : 14 : if (!_r1) goto next_after_fail1997;
9673 : 7 : res_op->ops[0] = _r1;
9674 : : }
9675 : 7 : res_op->resimplify (lseq, valueize);
9676 : 7 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1041, __FILE__, __LINE__, true);
9677 : 7 : return true;
9678 : : }
9679 : : next_after_fail1997:;
9680 : : }
9681 : : }
9682 : : }
9683 : : break;
9684 : 14 : case CFN_BUILT_IN_POWF:
9685 : 14 : if (gimple_call_num_args (_c1) == 2)
9686 : : {
9687 : 14 : tree _q20 = gimple_call_arg (_c1, 0);
9688 : 14 : _q20 = do_valueize (valueize, _q20);
9689 : 14 : tree _q21 = gimple_call_arg (_c1, 1);
9690 : 14 : _q21 = do_valueize (valueize, _q21);
9691 : 14 : {
9692 : 14 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
9693 : 14 : if (flag_unsafe_math_optimizations && canonicalize_math_p ()
9694 : : )
9695 : : {
9696 : 14 : gimple_seq *lseq = seq;
9697 : 14 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1998;
9698 : 14 : {
9699 : 14 : res_op->set_op (CFN_BUILT_IN_POWF, type, 2);
9700 : 14 : {
9701 : 14 : tree _o1[1], _r1;
9702 : 14 : _o1[0] = captures[0];
9703 : 14 : gimple_match_op tem_op (res_op->cond.any_else (), ABS_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
9704 : 14 : tem_op.resimplify (lseq, valueize);
9705 : 14 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
9706 : 14 : if (!_r1) goto next_after_fail1998;
9707 : 13 : res_op->ops[0] = _r1;
9708 : : }
9709 : 13 : {
9710 : 13 : tree _o1[2], _r1;
9711 : 13 : _o1[0] = captures[1];
9712 : 13 : _o1[1] = build_real (type, dconsthalf);
9713 : 13 : gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
9714 : 13 : tem_op.resimplify (lseq, valueize);
9715 : 13 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
9716 : 13 : if (!_r1) goto next_after_fail1998;
9717 : 7 : res_op->ops[1] = _r1;
9718 : : }
9719 : 7 : res_op->resimplify (lseq, valueize);
9720 : 7 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1042, __FILE__, __LINE__, true);
9721 : 7 : return true;
9722 : : }
9723 : 7 : next_after_fail1998:;
9724 : : }
9725 : : }
9726 : : }
9727 : : break;
9728 : 12 : case CFN_BUILT_IN_POW10F:
9729 : 12 : if (gimple_call_num_args (_c1) == 1)
9730 : : {
9731 : 12 : tree _q20 = gimple_call_arg (_c1, 0);
9732 : 12 : _q20 = do_valueize (valueize, _q20);
9733 : 12 : {
9734 : 12 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
9735 : 12 : if (flag_unsafe_math_optimizations
9736 : : )
9737 : : {
9738 : 12 : gimple_seq *lseq = seq;
9739 : 12 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1999;
9740 : 12 : {
9741 : 12 : res_op->set_op (CFN_BUILT_IN_POW10F, type, 1);
9742 : 12 : {
9743 : 12 : tree _o1[2], _r1;
9744 : 12 : _o1[0] = captures[0];
9745 : 12 : _o1[1] = build_real (type, dconsthalf);
9746 : 12 : gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
9747 : 12 : tem_op.resimplify (lseq, valueize);
9748 : 12 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
9749 : 12 : if (!_r1) goto next_after_fail1999;
9750 : 6 : res_op->ops[0] = _r1;
9751 : : }
9752 : 6 : res_op->resimplify (lseq, valueize);
9753 : 6 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1041, __FILE__, __LINE__, true);
9754 : 6 : return true;
9755 : : }
9756 : : next_after_fail1999:;
9757 : : }
9758 : : }
9759 : : }
9760 : : break;
9761 : 12 : case CFN_BUILT_IN_CBRTF:
9762 : 12 : if (gimple_call_num_args (_c1) == 1)
9763 : : {
9764 : 12 : tree _q20 = gimple_call_arg (_c1, 0);
9765 : 12 : _q20 = do_valueize (valueize, _q20);
9766 : 12 : {
9767 : 12 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
9768 : 12 : if (flag_unsafe_math_optimizations && canonicalize_math_p ()
9769 : : )
9770 : : {
9771 : 12 : gimple_seq *lseq = seq;
9772 : 12 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2000;
9773 : 12 : {
9774 : 12 : res_op->set_op (CFN_BUILT_IN_POWF, type, 2);
9775 : 12 : res_op->ops[0] = captures[0];
9776 : 12 : res_op->ops[1] = build_real_truncate (type, dconst_sixth ());
9777 : 12 : res_op->resimplify (lseq, valueize);
9778 : 12 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1043, __FILE__, __LINE__, true);
9779 : 12 : return true;
9780 : : }
9781 : 0 : next_after_fail2000:;
9782 : : }
9783 : : }
9784 : : }
9785 : : break;
9786 : 12 : case CFN_BUILT_IN_EXP2F:
9787 : 12 : if (gimple_call_num_args (_c1) == 1)
9788 : : {
9789 : 12 : tree _q20 = gimple_call_arg (_c1, 0);
9790 : 12 : _q20 = do_valueize (valueize, _q20);
9791 : 12 : {
9792 : 12 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
9793 : 12 : if (flag_unsafe_math_optimizations
9794 : : )
9795 : : {
9796 : 12 : gimple_seq *lseq = seq;
9797 : 12 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2001;
9798 : 12 : {
9799 : 12 : res_op->set_op (CFN_BUILT_IN_EXP2F, type, 1);
9800 : 12 : {
9801 : 12 : tree _o1[2], _r1;
9802 : 12 : _o1[0] = captures[0];
9803 : 12 : _o1[1] = build_real (type, dconsthalf);
9804 : 12 : gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
9805 : 12 : tem_op.resimplify (lseq, valueize);
9806 : 12 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
9807 : 12 : if (!_r1) goto next_after_fail2001;
9808 : 6 : res_op->ops[0] = _r1;
9809 : : }
9810 : 6 : res_op->resimplify (lseq, valueize);
9811 : 6 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1041, __FILE__, __LINE__, true);
9812 : 6 : return true;
9813 : : }
9814 : : next_after_fail2001:;
9815 : : }
9816 : : }
9817 : : }
9818 : : break;
9819 : : default:;
9820 : : }
9821 : : }
9822 : : break;
9823 : : default:;
9824 : : }
9825 : : return false;
9826 : : }
9827 : :
9828 : : bool
9829 : 1321 : gimple_simplify_CFN_BUILT_IN_SINH (gimple_match_op *res_op, gimple_seq *seq,
9830 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
9831 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
9832 : : {
9833 : 1321 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
9834 : 1321 : switch (TREE_CODE (_p0))
9835 : : {
9836 : 1212 : case SSA_NAME:
9837 : 1212 : if (gimple *_d1 = get_def (valueize, _p0))
9838 : : {
9839 : 659 : if (gcall *_c1 = dyn_cast <gcall *> (_d1))
9840 : 42 : switch (gimple_call_combined_fn (_c1))
9841 : : {
9842 : 21 : case CFN_BUILT_IN_ATANH:
9843 : 21 : if (gimple_call_num_args (_c1) == 1)
9844 : : {
9845 : 21 : tree _q20 = gimple_call_arg (_c1, 0);
9846 : 21 : _q20 = do_valueize (valueize, _q20);
9847 : 21 : {
9848 : 21 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
9849 : 21 : if (gimple_simplify_668 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SINH, CFN_BUILT_IN_ATANH, CFN_BUILT_IN_SQRT))
9850 : 1 : return true;
9851 : : }
9852 : : }
9853 : : break;
9854 : : default:;
9855 : : }
9856 : : }
9857 : : break;
9858 : : default:;
9859 : : }
9860 : : return false;
9861 : : }
9862 : :
9863 : : bool
9864 : 149 : gimple_simplify_CFN_BUILT_IN_TRUNCF16 (gimple_match_op *res_op, gimple_seq *seq,
9865 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
9866 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
9867 : : {
9868 : 149 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
9869 : 149 : switch (TREE_CODE (_p0))
9870 : : {
9871 : 147 : case SSA_NAME:
9872 : 147 : if (gimple *_d1 = get_def (valueize, _p0))
9873 : : {
9874 : 100 : if (gcall *_c1 = dyn_cast <gcall *> (_d1))
9875 : 0 : switch (gimple_call_combined_fn (_c1))
9876 : : {
9877 : 0 : case CFN_BUILT_IN_TRUNCF16:
9878 : 0 : if (gimple_call_num_args (_c1) == 1)
9879 : : {
9880 : 0 : tree _q20 = gimple_call_arg (_c1, 0);
9881 : 0 : _q20 = do_valueize (valueize, _q20);
9882 : 0 : {
9883 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
9884 : 0 : if (gimple_simplify_669 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCF16))
9885 : 0 : return true;
9886 : : }
9887 : : }
9888 : : break;
9889 : : default:;
9890 : : }
9891 : : }
9892 : : break;
9893 : 149 : default:;
9894 : : }
9895 : 149 : if (integer_valued_real_p (_p0))
9896 : : {
9897 : 0 : {
9898 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
9899 : 0 : if (gimple_simplify_670 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCF16))
9900 : 0 : return true;
9901 : : }
9902 : : }
9903 : : return false;
9904 : : }
9905 : :
9906 : : bool
9907 : 0 : gimple_simplify_CFN_BUILT_IN_TRUNCF128X (gimple_match_op *res_op, gimple_seq *seq,
9908 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
9909 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
9910 : : {
9911 : 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
9912 : 0 : switch (TREE_CODE (_p0))
9913 : : {
9914 : 0 : case SSA_NAME:
9915 : 0 : if (gimple *_d1 = get_def (valueize, _p0))
9916 : : {
9917 : 0 : if (gcall *_c1 = dyn_cast <gcall *> (_d1))
9918 : 0 : switch (gimple_call_combined_fn (_c1))
9919 : : {
9920 : 0 : case CFN_BUILT_IN_TRUNCF128X:
9921 : 0 : if (gimple_call_num_args (_c1) == 1)
9922 : : {
9923 : 0 : tree _q20 = gimple_call_arg (_c1, 0);
9924 : 0 : _q20 = do_valueize (valueize, _q20);
9925 : 0 : {
9926 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
9927 : 0 : if (gimple_simplify_669 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCF128X))
9928 : 0 : return true;
9929 : : }
9930 : : }
9931 : : break;
9932 : : default:;
9933 : : }
9934 : : }
9935 : : break;
9936 : 0 : default:;
9937 : : }
9938 : 0 : if (integer_valued_real_p (_p0))
9939 : : {
9940 : 0 : {
9941 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
9942 : 0 : if (gimple_simplify_670 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_TRUNCF128X))
9943 : 0 : return true;
9944 : : }
9945 : : }
9946 : : return false;
9947 : : }
9948 : :
9949 : : bool
9950 : 0 : gimple_simplify_CFN_BUILT_IN_FLOORF32X (gimple_match_op *res_op, gimple_seq *seq,
9951 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
9952 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
9953 : : {
9954 : 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
9955 : 0 : switch (TREE_CODE (_p0))
9956 : : {
9957 : 0 : case SSA_NAME:
9958 : 0 : if (gimple *_d1 = get_def (valueize, _p0))
9959 : : {
9960 : 0 : if (gcall *_c1 = dyn_cast <gcall *> (_d1))
9961 : 0 : switch (gimple_call_combined_fn (_c1))
9962 : : {
9963 : 0 : case CFN_BUILT_IN_FLOORF32X:
9964 : 0 : if (gimple_call_num_args (_c1) == 1)
9965 : : {
9966 : 0 : tree _q20 = gimple_call_arg (_c1, 0);
9967 : 0 : _q20 = do_valueize (valueize, _q20);
9968 : 0 : {
9969 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
9970 : 0 : if (gimple_simplify_669 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF32X))
9971 : 0 : return true;
9972 : : }
9973 : : }
9974 : : break;
9975 : : default:;
9976 : : }
9977 : : }
9978 : : break;
9979 : 0 : default:;
9980 : : }
9981 : 0 : if (integer_valued_real_p (_p0))
9982 : : {
9983 : 0 : {
9984 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
9985 : 0 : if (gimple_simplify_670 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF32X))
9986 : 0 : return true;
9987 : : }
9988 : : }
9989 : 0 : if (tree_expr_nonnegative_p (_p0))
9990 : : {
9991 : 0 : {
9992 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
9993 : 0 : if (gimple_simplify_673 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FLOORF32X, CFN_BUILT_IN_TRUNCF32X))
9994 : 0 : return true;
9995 : : }
9996 : : }
9997 : : return false;
9998 : : }
9999 : :
10000 : : bool
10001 : 0 : gimple_simplify_CFN_BUILT_IN_CEILF32 (gimple_match_op *res_op, gimple_seq *seq,
10002 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
10003 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
10004 : : {
10005 : 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
10006 : 0 : switch (TREE_CODE (_p0))
10007 : : {
10008 : 0 : case SSA_NAME:
10009 : 0 : if (gimple *_d1 = get_def (valueize, _p0))
10010 : : {
10011 : 0 : if (gcall *_c1 = dyn_cast <gcall *> (_d1))
10012 : 0 : switch (gimple_call_combined_fn (_c1))
10013 : : {
10014 : 0 : case CFN_BUILT_IN_CEILF32:
10015 : 0 : if (gimple_call_num_args (_c1) == 1)
10016 : : {
10017 : 0 : tree _q20 = gimple_call_arg (_c1, 0);
10018 : 0 : _q20 = do_valueize (valueize, _q20);
10019 : 0 : {
10020 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
10021 : 0 : if (gimple_simplify_669 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEILF32))
10022 : 0 : return true;
10023 : : }
10024 : : }
10025 : : break;
10026 : : default:;
10027 : : }
10028 : : }
10029 : : break;
10030 : 0 : default:;
10031 : : }
10032 : 0 : if (integer_valued_real_p (_p0))
10033 : : {
10034 : 0 : {
10035 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
10036 : 0 : if (gimple_simplify_670 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CEILF32))
10037 : 0 : return true;
10038 : : }
10039 : : }
10040 : : return false;
10041 : : }
10042 : :
10043 : : bool
10044 : 1746 : gimple_simplify_CFN_BUILT_IN_ROUNDF (gimple_match_op *res_op, gimple_seq *seq,
10045 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
10046 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
10047 : : {
10048 : 1746 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
10049 : 1746 : switch (TREE_CODE (_p0))
10050 : : {
10051 : 1679 : case SSA_NAME:
10052 : 1679 : if (gimple *_d1 = get_def (valueize, _p0))
10053 : : {
10054 : 1076 : if (gcall *_c1 = dyn_cast <gcall *> (_d1))
10055 : 0 : switch (gimple_call_combined_fn (_c1))
10056 : : {
10057 : 0 : case CFN_BUILT_IN_ROUNDF:
10058 : 0 : if (gimple_call_num_args (_c1) == 1)
10059 : : {
10060 : 0 : tree _q20 = gimple_call_arg (_c1, 0);
10061 : 0 : _q20 = do_valueize (valueize, _q20);
10062 : 0 : {
10063 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
10064 : 0 : if (gimple_simplify_669 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDF))
10065 : 0 : return true;
10066 : : }
10067 : : }
10068 : : break;
10069 : : default:;
10070 : : }
10071 : : }
10072 : : break;
10073 : 1746 : default:;
10074 : : }
10075 : 1746 : if (integer_valued_real_p (_p0))
10076 : : {
10077 : 9 : {
10078 : 9 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
10079 : 9 : if (gimple_simplify_670 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDF))
10080 : 9 : return true;
10081 : : }
10082 : : }
10083 : : return false;
10084 : : }
10085 : :
10086 : : bool
10087 : 0 : gimple_simplify_CFN_BUILT_IN_ROUNDF64X (gimple_match_op *res_op, gimple_seq *seq,
10088 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
10089 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
10090 : : {
10091 : 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
10092 : 0 : switch (TREE_CODE (_p0))
10093 : : {
10094 : 0 : case SSA_NAME:
10095 : 0 : if (gimple *_d1 = get_def (valueize, _p0))
10096 : : {
10097 : 0 : if (gcall *_c1 = dyn_cast <gcall *> (_d1))
10098 : 0 : switch (gimple_call_combined_fn (_c1))
10099 : : {
10100 : 0 : case CFN_BUILT_IN_ROUNDF64X:
10101 : 0 : if (gimple_call_num_args (_c1) == 1)
10102 : : {
10103 : 0 : tree _q20 = gimple_call_arg (_c1, 0);
10104 : 0 : _q20 = do_valueize (valueize, _q20);
10105 : 0 : {
10106 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
10107 : 0 : if (gimple_simplify_669 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDF64X))
10108 : 0 : return true;
10109 : : }
10110 : : }
10111 : : break;
10112 : : default:;
10113 : : }
10114 : : }
10115 : : break;
10116 : 0 : default:;
10117 : : }
10118 : 0 : if (integer_valued_real_p (_p0))
10119 : : {
10120 : 0 : {
10121 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
10122 : 0 : if (gimple_simplify_670 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_ROUNDF64X))
10123 : 0 : return true;
10124 : : }
10125 : : }
10126 : : return false;
10127 : : }
10128 : :
10129 : : bool
10130 : 0 : gimple_simplify_CFN_BUILT_IN_NEARBYINTF32 (gimple_match_op *res_op, gimple_seq *seq,
10131 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
10132 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
10133 : : {
10134 : 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
10135 : 0 : switch (TREE_CODE (_p0))
10136 : : {
10137 : 0 : case SSA_NAME:
10138 : 0 : if (gimple *_d1 = get_def (valueize, _p0))
10139 : : {
10140 : 0 : if (gcall *_c1 = dyn_cast <gcall *> (_d1))
10141 : 0 : switch (gimple_call_combined_fn (_c1))
10142 : : {
10143 : 0 : case CFN_BUILT_IN_NEARBYINTF32:
10144 : 0 : if (gimple_call_num_args (_c1) == 1)
10145 : : {
10146 : 0 : tree _q20 = gimple_call_arg (_c1, 0);
10147 : 0 : _q20 = do_valueize (valueize, _q20);
10148 : 0 : {
10149 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
10150 : 0 : if (gimple_simplify_669 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTF32))
10151 : 0 : return true;
10152 : : }
10153 : : }
10154 : : break;
10155 : : default:;
10156 : : }
10157 : : }
10158 : : break;
10159 : 0 : default:;
10160 : : }
10161 : 0 : if (integer_valued_real_p (_p0))
10162 : : {
10163 : 0 : {
10164 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
10165 : 0 : if (gimple_simplify_670 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_NEARBYINTF32))
10166 : 0 : return true;
10167 : : }
10168 : : }
10169 : : return false;
10170 : : }
10171 : :
10172 : : bool
10173 : 175 : gimple_simplify_CFN_NEARBYINT (gimple_match_op *res_op, gimple_seq *seq,
10174 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
10175 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
10176 : : {
10177 : 175 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
10178 : 175 : switch (TREE_CODE (_p0))
10179 : : {
10180 : 175 : case SSA_NAME:
10181 : 175 : if (gimple *_d1 = get_def (valueize, _p0))
10182 : : {
10183 : 105 : if (gcall *_c1 = dyn_cast <gcall *> (_d1))
10184 : 0 : switch (gimple_call_combined_fn (_c1))
10185 : : {
10186 : 0 : case CFN_NEARBYINT:
10187 : 0 : if (gimple_call_num_args (_c1) == 1)
10188 : : {
10189 : 0 : tree _q20 = gimple_call_arg (_c1, 0);
10190 : 0 : _q20 = do_valueize (valueize, _q20);
10191 : 0 : {
10192 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
10193 : 0 : if (gimple_simplify_669 (res_op, seq, valueize, type, captures, CFN_NEARBYINT))
10194 : 0 : return true;
10195 : : }
10196 : : }
10197 : : break;
10198 : : default:;
10199 : : }
10200 : : }
10201 : : break;
10202 : 175 : default:;
10203 : : }
10204 : 175 : if (integer_valued_real_p (_p0))
10205 : : {
10206 : 0 : {
10207 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
10208 : 0 : if (gimple_simplify_670 (res_op, seq, valueize, type, captures, CFN_NEARBYINT))
10209 : 0 : return true;
10210 : : }
10211 : : }
10212 : : return false;
10213 : : }
10214 : :
10215 : : bool
10216 : 42 : gimple_simplify_CFN_BUILT_IN_RINTF128 (gimple_match_op *res_op, gimple_seq *seq,
10217 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
10218 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
10219 : : {
10220 : 42 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
10221 : 42 : switch (TREE_CODE (_p0))
10222 : : {
10223 : 40 : case SSA_NAME:
10224 : 40 : if (gimple *_d1 = get_def (valueize, _p0))
10225 : : {
10226 : 28 : if (gcall *_c1 = dyn_cast <gcall *> (_d1))
10227 : 0 : switch (gimple_call_combined_fn (_c1))
10228 : : {
10229 : 0 : case CFN_BUILT_IN_RINTF128:
10230 : 0 : if (gimple_call_num_args (_c1) == 1)
10231 : : {
10232 : 0 : tree _q20 = gimple_call_arg (_c1, 0);
10233 : 0 : _q20 = do_valueize (valueize, _q20);
10234 : 0 : {
10235 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
10236 : 0 : if (gimple_simplify_669 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINTF128))
10237 : 0 : return true;
10238 : : }
10239 : : }
10240 : : break;
10241 : : default:;
10242 : : }
10243 : : }
10244 : : break;
10245 : 42 : default:;
10246 : : }
10247 : 42 : if (integer_valued_real_p (_p0))
10248 : : {
10249 : 0 : {
10250 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
10251 : 0 : if (gimple_simplify_670 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_RINTF128))
10252 : 0 : return true;
10253 : : }
10254 : : }
10255 : : return false;
10256 : : }
10257 : :
10258 : : bool
10259 : 308 : gimple_simplify_CFN_BUILT_IN_CEXPL (gimple_match_op *res_op, gimple_seq *seq,
10260 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
10261 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
10262 : : {
10263 : 308 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
10264 : 308 : if (gimple_compositional_complex (_p0, valueize))
10265 : : {
10266 : 4 : {
10267 : 4 : tree captures[3] ATTRIBUTE_UNUSED = { _p0 };
10268 : 4 : if (flag_unsafe_math_optimizations && canonicalize_math_p ()
10269 : : )
10270 : : {
10271 : 0 : if (targetm.libc_has_function (function_c99_math_complex, TREE_TYPE (captures[0]))
10272 : : )
10273 : : {
10274 : 0 : gimple_seq *lseq = seq;
10275 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2044;
10276 : 0 : {
10277 : 0 : res_op->set_op (COMPLEX_EXPR, type, 2);
10278 : 0 : {
10279 : 0 : tree _o1[2], _r1;
10280 : 0 : {
10281 : 0 : tree _o2[1], _r2;
10282 : 0 : {
10283 : 0 : tree _o3[1], _r3;
10284 : 0 : _o3[0] = captures[0];
10285 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o3[0])), _o3[0]);
10286 : 0 : tem_op.resimplify (lseq, valueize);
10287 : 0 : _r3 = maybe_push_res_to_seq (&tem_op, lseq);
10288 : 0 : if (!_r3) goto next_after_fail2044;
10289 : 0 : _o2[0] = _r3;
10290 : : }
10291 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_EXPL, TREE_TYPE (_o2[0]), _o2[0]);
10292 : 0 : tem_op.resimplify (lseq, valueize);
10293 : 0 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
10294 : 0 : if (!_r2) goto next_after_fail2044;
10295 : 0 : captures[1] = _r2;
10296 : : }
10297 : 0 : _o1[0] = captures[1];
10298 : 0 : {
10299 : 0 : tree _o2[1], _r2;
10300 : 0 : {
10301 : 0 : tree _o3[1], _r3;
10302 : 0 : {
10303 : 0 : tree _o4[1], _r4;
10304 : 0 : _o4[0] = captures[0];
10305 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o4[0])), _o4[0]);
10306 : 0 : tem_op.resimplify (lseq, valueize);
10307 : 0 : _r4 = maybe_push_res_to_seq (&tem_op, lseq);
10308 : 0 : if (!_r4) goto next_after_fail2044;
10309 : 0 : _o3[0] = _r4;
10310 : : }
10311 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), CFN_BUILT_IN_CEXPIL, type, _o3[0]);
10312 : 0 : tem_op.resimplify (lseq, valueize);
10313 : 0 : _r3 = maybe_push_res_to_seq (&tem_op, lseq);
10314 : 0 : if (!_r3) goto next_after_fail2044;
10315 : 0 : captures[2] = _r3;
10316 : : }
10317 : 0 : _o2[0] = captures[2];
10318 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), REALPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
10319 : 0 : tem_op.resimplify (lseq, valueize);
10320 : 0 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
10321 : 0 : if (!_r2) goto next_after_fail2044;
10322 : 0 : _o1[1] = _r2;
10323 : : }
10324 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
10325 : 0 : tem_op.resimplify (lseq, valueize);
10326 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
10327 : 0 : if (!_r1) goto next_after_fail2044;
10328 : 0 : res_op->ops[0] = _r1;
10329 : : }
10330 : 0 : {
10331 : 0 : tree _o1[2], _r1;
10332 : 0 : _o1[0] = captures[1];
10333 : 0 : {
10334 : 0 : tree _o2[1], _r2;
10335 : 0 : _o2[0] = captures[2];
10336 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), IMAGPART_EXPR, TREE_TYPE (TREE_TYPE (_o2[0])), _o2[0]);
10337 : 0 : tem_op.resimplify (lseq, valueize);
10338 : 0 : _r2 = maybe_push_res_to_seq (&tem_op, lseq);
10339 : 0 : if (!_r2) goto next_after_fail2044;
10340 : 0 : _o1[1] = _r2;
10341 : : }
10342 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
10343 : 0 : tem_op.resimplify (lseq, valueize);
10344 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
10345 : 0 : if (!_r1) goto next_after_fail2044;
10346 : 0 : res_op->ops[1] = _r1;
10347 : : }
10348 : 0 : res_op->resimplify (lseq, valueize);
10349 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1048, __FILE__, __LINE__, true);
10350 : 0 : return true;
10351 : : }
10352 : : next_after_fail2044:;
10353 : : }
10354 : : }
10355 : : }
10356 : : }
10357 : : return false;
10358 : : }
10359 : :
10360 : : bool
10361 : 1337 : gimple_simplify_CFN_BUILT_IN_LFLOOR (gimple_match_op *res_op, gimple_seq *seq,
10362 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
10363 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
10364 : : {
10365 : 1337 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
10366 : 1337 : switch (TREE_CODE (_p0))
10367 : : {
10368 : 1222 : case SSA_NAME:
10369 : 1222 : if (gimple *_d1 = get_def (valueize, _p0))
10370 : : {
10371 : 807 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
10372 : 236 : switch (gimple_assign_rhs_code (_a1))
10373 : : {
10374 : 236 : CASE_CONVERT:
10375 : 236 : {
10376 : 236 : tree _q20 = gimple_assign_rhs1 (_a1);
10377 : 236 : _q20 = do_valueize (valueize, _q20);
10378 : 236 : if (gimple_float_value_p (_q20, valueize))
10379 : : {
10380 : 170 : {
10381 : 170 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
10382 : 170 : if (gimple_simplify_677 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LFLOOR, CFN_BUILT_IN_LFLOORF))
10383 : 170 : return true;
10384 : : }
10385 : : }
10386 : : break;
10387 : : }
10388 : : default:;
10389 : : }
10390 : : }
10391 : : break;
10392 : 1167 : default:;
10393 : : }
10394 : 1167 : if (tree_expr_nonnegative_p (_p0))
10395 : : {
10396 : 7 : {
10397 : 7 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
10398 : 7 : if (gimple_simplify_678 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LFLOOR))
10399 : 7 : return true;
10400 : : }
10401 : : }
10402 : 1160 : if (integer_valued_real_p (_p0))
10403 : : {
10404 : 20 : {
10405 : 20 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
10406 : 20 : if (gimple_simplify_679 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LFLOOR))
10407 : 20 : return true;
10408 : : }
10409 : : }
10410 : : return false;
10411 : : }
10412 : :
10413 : : bool
10414 : 287 : gimple_simplify_CFN_BUILT_IN_LLROUND (gimple_match_op *res_op, gimple_seq *seq,
10415 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
10416 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
10417 : : {
10418 : 287 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
10419 : 287 : switch (TREE_CODE (_p0))
10420 : : {
10421 : 227 : case SSA_NAME:
10422 : 227 : if (gimple *_d1 = get_def (valueize, _p0))
10423 : : {
10424 : 108 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
10425 : 44 : switch (gimple_assign_rhs_code (_a1))
10426 : : {
10427 : 0 : CASE_CONVERT:
10428 : 0 : {
10429 : 0 : tree _q20 = gimple_assign_rhs1 (_a1);
10430 : 0 : _q20 = do_valueize (valueize, _q20);
10431 : 0 : if (gimple_float_value_p (_q20, valueize))
10432 : : {
10433 : 0 : {
10434 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
10435 : 0 : if (gimple_simplify_677 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LLROUND, CFN_BUILT_IN_LLROUNDF))
10436 : 0 : return true;
10437 : : }
10438 : : }
10439 : : break;
10440 : : }
10441 : : default:;
10442 : : }
10443 : : }
10444 : : break;
10445 : 287 : default:;
10446 : : }
10447 : 287 : if (integer_valued_real_p (_p0))
10448 : : {
10449 : 21 : {
10450 : 21 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
10451 : 21 : if (gimple_simplify_679 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LLROUND))
10452 : 21 : return true;
10453 : : }
10454 : : }
10455 : 266 : {
10456 : 266 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
10457 : 266 : if (gimple_simplify_681 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_IROUND, CFN_BUILT_IN_LROUND, CFN_BUILT_IN_LLROUND))
10458 : 217 : return true;
10459 : : }
10460 : 49 : return false;
10461 : : }
10462 : :
10463 : : bool
10464 : 40 : gimple_simplify_CFN_ICEIL (gimple_match_op *res_op, gimple_seq *seq,
10465 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
10466 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
10467 : : {
10468 : 40 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
10469 : 40 : if (integer_valued_real_p (_p0))
10470 : : {
10471 : 0 : {
10472 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
10473 : 0 : if (gimple_simplify_679 (res_op, seq, valueize, type, captures, CFN_ICEIL))
10474 : 0 : return true;
10475 : : }
10476 : : }
10477 : 40 : {
10478 : 40 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
10479 : 40 : if (gimple_simplify_680 (res_op, seq, valueize, type, captures, CFN_ICEIL, CFN_LCEIL, CFN_LLCEIL))
10480 : 0 : return true;
10481 : : }
10482 : 40 : return false;
10483 : : }
10484 : :
10485 : : bool
10486 : 2371 : gimple_simplify_CFN_BUILT_IN_LROUNDF (gimple_match_op *res_op, gimple_seq *seq,
10487 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
10488 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
10489 : : {
10490 : 2371 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
10491 : 2371 : if (integer_valued_real_p (_p0))
10492 : : {
10493 : 23 : {
10494 : 23 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
10495 : 23 : if (gimple_simplify_679 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_LROUNDF))
10496 : 23 : return true;
10497 : : }
10498 : : }
10499 : : return false;
10500 : : }
10501 : :
10502 : : bool
10503 : 0 : gimple_simplify_CFN_LRINT (gimple_match_op *res_op, gimple_seq *seq,
10504 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
10505 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
10506 : : {
10507 : 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
10508 : 0 : if (integer_valued_real_p (_p0))
10509 : : {
10510 : 0 : {
10511 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
10512 : 0 : if (gimple_simplify_682 (res_op, seq, valueize, type, captures, CFN_LRINT))
10513 : 0 : return true;
10514 : : }
10515 : : }
10516 : : return false;
10517 : : }
10518 : :
10519 : : bool
10520 : 45862 : gimple_simplify_CFN_BUILT_IN_SIGNBIT (gimple_match_op *res_op, gimple_seq *seq,
10521 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
10522 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
10523 : : {
10524 : 45862 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
10525 : 45862 : if (tree_expr_nonnegative_p (_p0))
10526 : : {
10527 : 423 : {
10528 : 423 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
10529 : 423 : if (gimple_simplify_683 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SIGNBIT))
10530 : 423 : return true;
10531 : : }
10532 : : }
10533 : 45439 : {
10534 : 45439 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
10535 : 45439 : if (gimple_simplify_684 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_SIGNBIT))
10536 : 8 : return true;
10537 : : }
10538 : 45431 : return false;
10539 : : }
10540 : :
10541 : : bool
10542 : 3117 : gimple_simplify_CFN_BUILT_IN_CTZLL (gimple_match_op *res_op, gimple_seq *seq,
10543 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
10544 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
10545 : : {
10546 : 3117 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
10547 : 3117 : switch (TREE_CODE (_p0))
10548 : : {
10549 : 2973 : case SSA_NAME:
10550 : 2973 : if (gimple *_d1 = get_def (valueize, _p0))
10551 : : {
10552 : 1446 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
10553 : 1677 : switch (gimple_assign_rhs_code (_a1))
10554 : : {
10555 : 0 : case NEGATE_EXPR:
10556 : 0 : {
10557 : 0 : tree _q20 = gimple_assign_rhs1 (_a1);
10558 : 0 : _q20 = do_valueize (valueize, _q20);
10559 : 0 : {
10560 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
10561 : 0 : if (gimple_simplify_696 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CTZLL))
10562 : 0 : return true;
10563 : : }
10564 : 0 : break;
10565 : : }
10566 : 0 : case ABS_EXPR:
10567 : 0 : {
10568 : 0 : tree _q20 = gimple_assign_rhs1 (_a1);
10569 : 0 : _q20 = do_valueize (valueize, _q20);
10570 : 0 : {
10571 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
10572 : 0 : if (gimple_simplify_697 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CTZLL))
10573 : 0 : return true;
10574 : : }
10575 : 0 : break;
10576 : : }
10577 : 327 : CASE_CONVERT:
10578 : 327 : {
10579 : 327 : tree _q20 = gimple_assign_rhs1 (_a1);
10580 : 327 : _q20 = do_valueize (valueize, _q20);
10581 : 327 : {
10582 : 327 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
10583 : 327 : if (gimple_simplify_698 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CTZLL))
10584 : 15 : return true;
10585 : : }
10586 : 312 : break;
10587 : : }
10588 : : default:;
10589 : : }
10590 : : }
10591 : : break;
10592 : 3102 : default:;
10593 : : }
10594 : 3102 : {
10595 : 3102 : tree _p0_pops[1];
10596 : 3102 : if (gimple_nop_convert (_p0, _p0_pops, valueize))
10597 : : {
10598 : 311 : tree _q20 = _p0_pops[0];
10599 : 311 : switch (TREE_CODE (_q20))
10600 : : {
10601 : 311 : case SSA_NAME:
10602 : 311 : if (gimple *_d1 = get_def (valueize, _q20))
10603 : : {
10604 : 287 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
10605 : 185 : switch (gimple_assign_rhs_code (_a1))
10606 : : {
10607 : 0 : case NEGATE_EXPR:
10608 : 0 : {
10609 : 0 : tree _q30 = gimple_assign_rhs1 (_a1);
10610 : 0 : _q30 = do_valueize (valueize, _q30);
10611 : 0 : {
10612 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
10613 : 0 : if (gimple_simplify_694 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CTZLL))
10614 : 0 : return true;
10615 : : }
10616 : 0 : break;
10617 : : }
10618 : 0 : case ABS_EXPR:
10619 : 0 : {
10620 : 0 : tree _q30 = gimple_assign_rhs1 (_a1);
10621 : 0 : _q30 = do_valueize (valueize, _q30);
10622 : 0 : {
10623 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
10624 : 0 : if (gimple_simplify_695 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_CTZLL))
10625 : 0 : return true;
10626 : : }
10627 : 0 : break;
10628 : : }
10629 : : default:;
10630 : : }
10631 : : }
10632 : : break;
10633 : : default:;
10634 : : }
10635 : : }
10636 : : }
10637 : 3102 : return false;
10638 : : }
10639 : :
10640 : : bool
10641 : 2447 : gimple_simplify_CFN_BUILT_IN_PARITY (gimple_match_op *res_op, gimple_seq *seq,
10642 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
10643 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
10644 : : {
10645 : 2447 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
10646 : 2447 : switch (TREE_CODE (_p0))
10647 : : {
10648 : 2403 : case SSA_NAME:
10649 : 2403 : if (gimple *_d1 = get_def (valueize, _p0))
10650 : : {
10651 : 846 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
10652 : 488 : switch (gimple_assign_rhs_code (_a1))
10653 : : {
10654 : 2 : case BIT_NOT_EXPR:
10655 : 2 : {
10656 : 2 : tree _q20 = gimple_assign_rhs1 (_a1);
10657 : 2 : _q20 = do_valueize (valueize, _q20);
10658 : 2 : {
10659 : 2 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
10660 : 2 : if (gimple_simplify_705 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_PARITY))
10661 : 2 : return true;
10662 : : }
10663 : 0 : break;
10664 : : }
10665 : 131 : CASE_CONVERT:
10666 : 131 : {
10667 : 131 : tree _q20 = gimple_assign_rhs1 (_a1);
10668 : 131 : _q20 = do_valueize (valueize, _q20);
10669 : 131 : switch (TREE_CODE (_q20))
10670 : : {
10671 : 131 : case SSA_NAME:
10672 : 131 : if (gimple *_d2 = get_def (valueize, _q20))
10673 : : {
10674 : 129 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
10675 : 64 : switch (gimple_assign_rhs_code (_a2))
10676 : : {
10677 : 0 : case LROTATE_EXPR:
10678 : 0 : {
10679 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
10680 : 0 : _q30 = do_valueize (valueize, _q30);
10681 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
10682 : 0 : _q31 = do_valueize (valueize, _q31);
10683 : 0 : {
10684 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
10685 : 0 : if (gimple_simplify_707 (res_op, seq, valueize, type, captures, LROTATE_EXPR, CFN_BUILT_IN_PARITY))
10686 : 0 : return true;
10687 : : }
10688 : 0 : break;
10689 : : }
10690 : 0 : case RROTATE_EXPR:
10691 : 0 : {
10692 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
10693 : 0 : _q30 = do_valueize (valueize, _q30);
10694 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
10695 : 0 : _q31 = do_valueize (valueize, _q31);
10696 : 0 : {
10697 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31 };
10698 : 0 : if (gimple_simplify_707 (res_op, seq, valueize, type, captures, RROTATE_EXPR, CFN_BUILT_IN_PARITY))
10699 : 0 : return true;
10700 : : }
10701 : 0 : break;
10702 : : }
10703 : : default:;
10704 : : }
10705 : 87 : else if (gcall *_c2 = dyn_cast <gcall *> (_d2))
10706 : 2 : switch (gimple_call_combined_fn (_c2))
10707 : : {
10708 : 0 : case CFN_BUILT_IN_BSWAP128:
10709 : 0 : if (gimple_call_num_args (_c2) == 1)
10710 : : {
10711 : 0 : tree _q30 = gimple_call_arg (_c2, 0);
10712 : 0 : _q30 = do_valueize (valueize, _q30);
10713 : 0 : {
10714 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
10715 : 0 : if (gimple_simplify_706 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP128, CFN_BUILT_IN_PARITY))
10716 : 0 : return true;
10717 : : }
10718 : : }
10719 : : break;
10720 : 2 : case CFN_BUILT_IN_BSWAP16:
10721 : 2 : if (gimple_call_num_args (_c2) == 1)
10722 : : {
10723 : 2 : tree _q30 = gimple_call_arg (_c2, 0);
10724 : 2 : _q30 = do_valueize (valueize, _q30);
10725 : 2 : {
10726 : 2 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
10727 : 2 : if (gimple_simplify_706 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP16, CFN_BUILT_IN_PARITY))
10728 : 1 : return true;
10729 : : }
10730 : : }
10731 : : break;
10732 : 0 : case CFN_BUILT_IN_BSWAP32:
10733 : 0 : if (gimple_call_num_args (_c2) == 1)
10734 : : {
10735 : 0 : tree _q30 = gimple_call_arg (_c2, 0);
10736 : 0 : _q30 = do_valueize (valueize, _q30);
10737 : 0 : {
10738 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
10739 : 0 : if (gimple_simplify_706 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP32, CFN_BUILT_IN_PARITY))
10740 : 0 : return true;
10741 : : }
10742 : : }
10743 : : break;
10744 : 0 : case CFN_BUILT_IN_BSWAP64:
10745 : 0 : if (gimple_call_num_args (_c2) == 1)
10746 : : {
10747 : 0 : tree _q30 = gimple_call_arg (_c2, 0);
10748 : 0 : _q30 = do_valueize (valueize, _q30);
10749 : 0 : {
10750 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q30 };
10751 : 0 : if (gimple_simplify_706 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP64, CFN_BUILT_IN_PARITY))
10752 : 0 : return true;
10753 : : }
10754 : : }
10755 : : break;
10756 : : default:;
10757 : : }
10758 : : }
10759 : : break;
10760 : 130 : default:;
10761 : : }
10762 : 130 : {
10763 : 130 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
10764 : 130 : if (gimple_simplify_708 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_PARITY))
10765 : 42 : return true;
10766 : : }
10767 : 88 : break;
10768 : : }
10769 : 0 : case LROTATE_EXPR:
10770 : 0 : {
10771 : 0 : tree _q20 = gimple_assign_rhs1 (_a1);
10772 : 0 : _q20 = do_valueize (valueize, _q20);
10773 : 0 : tree _q21 = gimple_assign_rhs2 (_a1);
10774 : 0 : _q21 = do_valueize (valueize, _q21);
10775 : 0 : {
10776 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
10777 : 0 : if (gimple_simplify_710 (res_op, seq, valueize, type, captures, LROTATE_EXPR, CFN_BUILT_IN_PARITY))
10778 : 0 : return true;
10779 : : }
10780 : 0 : break;
10781 : : }
10782 : 2 : case RROTATE_EXPR:
10783 : 2 : {
10784 : 2 : tree _q20 = gimple_assign_rhs1 (_a1);
10785 : 2 : _q20 = do_valueize (valueize, _q20);
10786 : 2 : tree _q21 = gimple_assign_rhs2 (_a1);
10787 : 2 : _q21 = do_valueize (valueize, _q21);
10788 : 2 : {
10789 : 2 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
10790 : 2 : if (gimple_simplify_710 (res_op, seq, valueize, type, captures, RROTATE_EXPR, CFN_BUILT_IN_PARITY))
10791 : 2 : return true;
10792 : : }
10793 : 0 : break;
10794 : : }
10795 : : default:;
10796 : : }
10797 : 438 : else if (gcall *_c1 = dyn_cast <gcall *> (_d1))
10798 : 2 : switch (gimple_call_combined_fn (_c1))
10799 : : {
10800 : 0 : case CFN_BUILT_IN_BSWAP128:
10801 : 0 : if (gimple_call_num_args (_c1) == 1)
10802 : : {
10803 : 0 : tree _q20 = gimple_call_arg (_c1, 0);
10804 : 0 : _q20 = do_valueize (valueize, _q20);
10805 : 0 : {
10806 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
10807 : 0 : if (gimple_simplify_709 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP128, CFN_BUILT_IN_PARITY))
10808 : 0 : return true;
10809 : : }
10810 : : }
10811 : : break;
10812 : 0 : case CFN_BUILT_IN_BSWAP16:
10813 : 0 : if (gimple_call_num_args (_c1) == 1)
10814 : : {
10815 : 0 : tree _q20 = gimple_call_arg (_c1, 0);
10816 : 0 : _q20 = do_valueize (valueize, _q20);
10817 : 0 : {
10818 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
10819 : 0 : if (gimple_simplify_709 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP16, CFN_BUILT_IN_PARITY))
10820 : 0 : return true;
10821 : : }
10822 : : }
10823 : : break;
10824 : 2 : case CFN_BUILT_IN_BSWAP32:
10825 : 2 : if (gimple_call_num_args (_c1) == 1)
10826 : : {
10827 : 2 : tree _q20 = gimple_call_arg (_c1, 0);
10828 : 2 : _q20 = do_valueize (valueize, _q20);
10829 : 2 : {
10830 : 2 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
10831 : 2 : if (gimple_simplify_709 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP32, CFN_BUILT_IN_PARITY))
10832 : 2 : return true;
10833 : : }
10834 : : }
10835 : : break;
10836 : 0 : case CFN_BUILT_IN_BSWAP64:
10837 : 0 : if (gimple_call_num_args (_c1) == 1)
10838 : : {
10839 : 0 : tree _q20 = gimple_call_arg (_c1, 0);
10840 : 0 : _q20 = do_valueize (valueize, _q20);
10841 : 0 : {
10842 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p0, _q20 };
10843 : 0 : if (gimple_simplify_709 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_BSWAP64, CFN_BUILT_IN_PARITY))
10844 : 0 : return true;
10845 : : }
10846 : : }
10847 : : break;
10848 : : default:;
10849 : : }
10850 : : }
10851 : : break;
10852 : 2398 : default:;
10853 : : }
10854 : 2398 : {
10855 : 2398 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
10856 : 2398 : if (gimple_simplify_704 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_PARITY))
10857 : 4 : return true;
10858 : : }
10859 : 2394 : return false;
10860 : : }
10861 : :
10862 : : bool
10863 : 0 : gimple_simplify_CFN_BUILT_IN_FFSIMAX (gimple_match_op *res_op, gimple_seq *seq,
10864 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
10865 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
10866 : : {
10867 : 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
10868 : 0 : switch (TREE_CODE (_p0))
10869 : : {
10870 : 0 : case SSA_NAME:
10871 : 0 : if (gimple *_d1 = get_def (valueize, _p0))
10872 : : {
10873 : 0 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
10874 : 0 : switch (gimple_assign_rhs_code (_a1))
10875 : : {
10876 : 0 : CASE_CONVERT:
10877 : 0 : {
10878 : 0 : tree _q20 = gimple_assign_rhs1 (_a1);
10879 : 0 : _q20 = do_valueize (valueize, _q20);
10880 : 0 : {
10881 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
10882 : 0 : if (gimple_simplify_712 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FFSIMAX))
10883 : 0 : return true;
10884 : : }
10885 : 0 : break;
10886 : : }
10887 : : default:;
10888 : : }
10889 : : }
10890 : : break;
10891 : 0 : default:;
10892 : : }
10893 : 0 : if (tree_expr_nonzero_p (_p0))
10894 : : {
10895 : 0 : {
10896 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
10897 : 0 : if (gimple_simplify_711 (res_op, seq, valueize, type, captures, CFN_BUILT_IN_FFSIMAX, CFN_BUILT_IN_CTZIMAX))
10898 : 0 : return true;
10899 : : }
10900 : : }
10901 : : return false;
10902 : : }
10903 : :
10904 : : bool
10905 : 0 : gimple_simplify_CFN_REDUC_FMAX (gimple_match_op *res_op, gimple_seq *seq,
10906 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
10907 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
10908 : : {
10909 : 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
10910 : 0 : switch (TREE_CODE (_p0))
10911 : : {
10912 : 0 : case SSA_NAME:
10913 : 0 : if (gimple *_d1 = get_def (valueize, _p0))
10914 : : {
10915 : 0 : if (gcall *_c1 = dyn_cast <gcall *> (_d1))
10916 : 0 : switch (gimple_call_combined_fn (_c1))
10917 : : {
10918 : 0 : case CFN_FMAX:
10919 : 0 : if (gimple_call_num_args (_c1) == 2)
10920 : : {
10921 : 0 : tree _q20 = gimple_call_arg (_c1, 0);
10922 : 0 : _q20 = do_valueize (valueize, _q20);
10923 : 0 : tree _q21 = gimple_call_arg (_c1, 1);
10924 : 0 : _q21 = do_valueize (valueize, _q21);
10925 : 0 : switch (TREE_CODE (_q21))
10926 : : {
10927 : 0 : case VECTOR_CST:
10928 : 0 : {
10929 : 0 : {
10930 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
10931 : 0 : gimple_seq *lseq = seq;
10932 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2059;
10933 : 0 : {
10934 : 0 : res_op->set_op (CFN_FMAX, type, 2);
10935 : 0 : {
10936 : 0 : tree _o1[1], _r1;
10937 : 0 : _o1[0] = captures[0];
10938 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), CFN_REDUC_FMAX, type, _o1[0]);
10939 : 0 : tem_op.resimplify (lseq, valueize);
10940 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
10941 : 0 : if (!_r1) goto next_after_fail2059;
10942 : 0 : res_op->ops[0] = _r1;
10943 : : }
10944 : 0 : {
10945 : 0 : tree _o1[1], _r1;
10946 : 0 : _o1[0] = captures[1];
10947 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), CFN_REDUC_FMAX, type, _o1[0]);
10948 : 0 : tem_op.resimplify (lseq, valueize);
10949 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
10950 : 0 : if (!_r1) goto next_after_fail2059;
10951 : 0 : res_op->ops[1] = _r1;
10952 : : }
10953 : 0 : res_op->resimplify (lseq, valueize);
10954 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1052, __FILE__, __LINE__, true);
10955 : 0 : return true;
10956 : : }
10957 : 0 : next_after_fail2059:;
10958 : : }
10959 : 0 : break;
10960 : : }
10961 : : default:;
10962 : : }
10963 : : }
10964 : : break;
10965 : : default:;
10966 : : }
10967 : : }
10968 : : break;
10969 : : default:;
10970 : : }
10971 : : return false;
10972 : : }
10973 : :
10974 : : bool
10975 : 6152 : gimple_simplify_CFN_REDUC_AND (gimple_match_op *res_op, gimple_seq *seq,
10976 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
10977 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0)
10978 : : {
10979 : 6152 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
10980 : 6152 : switch (TREE_CODE (_p0))
10981 : : {
10982 : 6152 : case SSA_NAME:
10983 : 6152 : if (gimple *_d1 = get_def (valueize, _p0))
10984 : : {
10985 : 2566 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
10986 : 3466 : switch (gimple_assign_rhs_code (_a1))
10987 : : {
10988 : 1495 : case BIT_AND_EXPR:
10989 : 1495 : {
10990 : 1495 : tree _q20 = gimple_assign_rhs1 (_a1);
10991 : 1495 : _q20 = do_valueize (valueize, _q20);
10992 : 1495 : tree _q21 = gimple_assign_rhs2 (_a1);
10993 : 1495 : _q21 = do_valueize (valueize, _q21);
10994 : 1495 : if (tree_swap_operands_p (_q20, _q21))
10995 : 12 : std::swap (_q20, _q21);
10996 : 1495 : switch (TREE_CODE (_q21))
10997 : : {
10998 : 0 : case VECTOR_CST:
10999 : 0 : {
11000 : 0 : {
11001 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
11002 : 0 : gimple_seq *lseq = seq;
11003 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2061;
11004 : 0 : {
11005 : 0 : res_op->set_op (BIT_AND_EXPR, type, 2);
11006 : 0 : {
11007 : 0 : tree _o1[1], _r1;
11008 : 0 : _o1[0] = captures[0];
11009 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), CFN_REDUC_AND, type, _o1[0]);
11010 : 0 : tem_op.resimplify (lseq, valueize);
11011 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
11012 : 0 : if (!_r1) goto next_after_fail2061;
11013 : 0 : res_op->ops[0] = _r1;
11014 : : }
11015 : 0 : {
11016 : 0 : tree _o1[1], _r1;
11017 : 0 : _o1[0] = captures[1];
11018 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), CFN_REDUC_AND, type, _o1[0]);
11019 : 0 : tem_op.resimplify (lseq, valueize);
11020 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
11021 : 0 : if (!_r1) goto next_after_fail2061;
11022 : 0 : res_op->ops[1] = _r1;
11023 : : }
11024 : 0 : res_op->resimplify (lseq, valueize);
11025 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1052, __FILE__, __LINE__, true);
11026 : 0 : return true;
11027 : : }
11028 : 0 : next_after_fail2061:;
11029 : : }
11030 : 0 : break;
11031 : : }
11032 : : default:;
11033 : : }
11034 : 6152 : break;
11035 : : }
11036 : : default:;
11037 : : }
11038 : : }
11039 : : break;
11040 : : default:;
11041 : : }
11042 : : return false;
11043 : : }
11044 : :
11045 : : bool
11046 : 4618774 : gimple_simplify_BIT_IOR_EXPR (gimple_match_op *res_op, gimple_seq *seq,
11047 : : tree (*valueize)(tree) ATTRIBUTE_UNUSED,
11048 : : code_helper ARG_UNUSED (code), tree ARG_UNUSED (type), tree _p0, tree _p1)
11049 : : {
11050 : 4618774 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
11051 : 4618774 : if (integer_zerop (_p1))
11052 : : {
11053 : 325161 : {
11054 : 325161 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
11055 : 325161 : gimple_seq *lseq = seq;
11056 : 325161 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2211;
11057 : 325161 : {
11058 : 325161 : tree tem;
11059 : 325161 : tem = captures[0];
11060 : 325161 : res_op->set_value (tem);
11061 : 325161 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1053, __FILE__, __LINE__, true);
11062 : 325161 : return true;
11063 : : }
11064 : 0 : next_after_fail2211:;
11065 : : }
11066 : : }
11067 : 4293613 : switch (TREE_CODE (_p0))
11068 : : {
11069 : 4236394 : case SSA_NAME:
11070 : 4236394 : if (gimple *_d1 = get_def (valueize, _p0))
11071 : : {
11072 : 3362365 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
11073 : 3563229 : switch (gimple_assign_rhs_code (_a1))
11074 : : {
11075 : 154210 : case LSHIFT_EXPR:
11076 : 154210 : {
11077 : 154210 : tree _q20 = gimple_assign_rhs1 (_a1);
11078 : 154210 : _q20 = do_valueize (valueize, _q20);
11079 : 154210 : tree _q21 = gimple_assign_rhs2 (_a1);
11080 : 154210 : _q21 = do_valueize (valueize, _q21);
11081 : 154210 : switch (TREE_CODE (_p1))
11082 : : {
11083 : 131686 : case SSA_NAME:
11084 : 131686 : if (gimple *_d2 = get_def (valueize, _p1))
11085 : : {
11086 : 125617 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
11087 : 129225 : switch (gimple_assign_rhs_code (_a2))
11088 : : {
11089 : 8542 : case LSHIFT_EXPR:
11090 : 8542 : {
11091 : 8542 : tree _q50 = gimple_assign_rhs1 (_a2);
11092 : 8542 : _q50 = do_valueize (valueize, _q50);
11093 : 8542 : tree _q51 = gimple_assign_rhs2 (_a2);
11094 : 8542 : _q51 = do_valueize (valueize, _q51);
11095 : 8542 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
11096 : : {
11097 : 16 : {
11098 : 16 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
11099 : 16 : if (gimple_simplify_4 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
11100 : 2 : return true;
11101 : : }
11102 : : }
11103 : : break;
11104 : : }
11105 : : default:;
11106 : : }
11107 : : }
11108 : : break;
11109 : : default:;
11110 : : }
11111 : : break;
11112 : : }
11113 : 36878 : case RSHIFT_EXPR:
11114 : 36878 : {
11115 : 36878 : tree _q20 = gimple_assign_rhs1 (_a1);
11116 : 36878 : _q20 = do_valueize (valueize, _q20);
11117 : 36878 : tree _q21 = gimple_assign_rhs2 (_a1);
11118 : 36878 : _q21 = do_valueize (valueize, _q21);
11119 : 36878 : switch (TREE_CODE (_p1))
11120 : : {
11121 : 33371 : case SSA_NAME:
11122 : 33371 : if (gimple *_d2 = get_def (valueize, _p1))
11123 : : {
11124 : 33015 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
11125 : 33209 : switch (gimple_assign_rhs_code (_a2))
11126 : : {
11127 : 295 : case RSHIFT_EXPR:
11128 : 295 : {
11129 : 295 : tree _q50 = gimple_assign_rhs1 (_a2);
11130 : 295 : _q50 = do_valueize (valueize, _q50);
11131 : 295 : tree _q51 = gimple_assign_rhs2 (_a2);
11132 : 295 : _q51 = do_valueize (valueize, _q51);
11133 : 295 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
11134 : : {
11135 : 35 : {
11136 : 35 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
11137 : 35 : if (gimple_simplify_5 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
11138 : 1 : return true;
11139 : : }
11140 : : }
11141 : : break;
11142 : : }
11143 : : default:;
11144 : : }
11145 : : }
11146 : : break;
11147 : : default:;
11148 : : }
11149 : : break;
11150 : : }
11151 : 415224 : case NE_EXPR:
11152 : 415224 : {
11153 : 415224 : tree _q20 = gimple_assign_rhs1 (_a1);
11154 : 415224 : _q20 = do_valueize (valueize, _q20);
11155 : 415224 : tree _q21 = gimple_assign_rhs2 (_a1);
11156 : 415224 : _q21 = do_valueize (valueize, _q21);
11157 : 415224 : if (tree_swap_operands_p (_q20, _q21))
11158 : 6246 : std::swap (_q20, _q21);
11159 : 415224 : if (integer_zerop (_q21))
11160 : : {
11161 : 50669 : switch (TREE_CODE (_p1))
11162 : : {
11163 : 50246 : case SSA_NAME:
11164 : 50246 : if (gimple *_d2 = get_def (valueize, _p1))
11165 : : {
11166 : 49677 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
11167 : 45747 : switch (gimple_assign_rhs_code (_a2))
11168 : : {
11169 : 27848 : case NE_EXPR:
11170 : 27848 : {
11171 : 27848 : tree _q50 = gimple_assign_rhs1 (_a2);
11172 : 27848 : _q50 = do_valueize (valueize, _q50);
11173 : 27848 : tree _q51 = gimple_assign_rhs2 (_a2);
11174 : 27848 : _q51 = do_valueize (valueize, _q51);
11175 : 27848 : if (tree_swap_operands_p (_q50, _q51))
11176 : 10 : std::swap (_q50, _q51);
11177 : 27848 : if (integer_zerop (_q51))
11178 : : {
11179 : 21737 : {
11180 : 21737 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
11181 : 21737 : if (gimple_simplify_115 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, NE_EXPR))
11182 : 4188 : return true;
11183 : : }
11184 : : }
11185 : 411036 : break;
11186 : : }
11187 : : default:;
11188 : : }
11189 : : }
11190 : : break;
11191 : : default:;
11192 : : }
11193 : : }
11194 : 411036 : if (integer_all_onesp (_q21))
11195 : : {
11196 : 7060 : switch (TREE_CODE (_p1))
11197 : : {
11198 : 6591 : case SSA_NAME:
11199 : 6591 : if (gimple *_d2 = get_def (valueize, _p1))
11200 : : {
11201 : 6585 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
11202 : 6558 : switch (gimple_assign_rhs_code (_a2))
11203 : : {
11204 : 2870 : case NE_EXPR:
11205 : 2870 : {
11206 : 2870 : tree _q50 = gimple_assign_rhs1 (_a2);
11207 : 2870 : _q50 = do_valueize (valueize, _q50);
11208 : 2870 : tree _q51 = gimple_assign_rhs2 (_a2);
11209 : 2870 : _q51 = do_valueize (valueize, _q51);
11210 : 2870 : if (tree_swap_operands_p (_q50, _q51))
11211 : 52 : std::swap (_q50, _q51);
11212 : 2870 : if (integer_all_onesp (_q51))
11213 : : {
11214 : 1208 : {
11215 : 1208 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
11216 : 1208 : if (gimple_simplify_116 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, NE_EXPR))
11217 : 316 : return true;
11218 : : }
11219 : : }
11220 : 4288984 : break;
11221 : : }
11222 : : default:;
11223 : : }
11224 : : }
11225 : : break;
11226 : : default:;
11227 : : }
11228 : : }
11229 : 4288984 : break;
11230 : : }
11231 : 321682 : case BIT_AND_EXPR:
11232 : 321682 : {
11233 : 321682 : tree _q20 = gimple_assign_rhs1 (_a1);
11234 : 321682 : _q20 = do_valueize (valueize, _q20);
11235 : 321682 : tree _q21 = gimple_assign_rhs2 (_a1);
11236 : 321682 : _q21 = do_valueize (valueize, _q21);
11237 : 321682 : if (tree_swap_operands_p (_q20, _q21))
11238 : 8848 : std::swap (_q20, _q21);
11239 : 321682 : switch (TREE_CODE (_p1))
11240 : : {
11241 : 181063 : case SSA_NAME:
11242 : 181063 : if (gimple *_d2 = get_def (valueize, _p1))
11243 : : {
11244 : 179925 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
11245 : 176447 : switch (gimple_assign_rhs_code (_a2))
11246 : : {
11247 : 141340 : case BIT_AND_EXPR:
11248 : 141340 : {
11249 : 141340 : tree _q50 = gimple_assign_rhs1 (_a2);
11250 : 141340 : _q50 = do_valueize (valueize, _q50);
11251 : 141340 : tree _q51 = gimple_assign_rhs2 (_a2);
11252 : 141340 : _q51 = do_valueize (valueize, _q51);
11253 : 141340 : if (tree_swap_operands_p (_q50, _q51))
11254 : 7609 : std::swap (_q50, _q51);
11255 : 141340 : {
11256 : 141340 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
11257 : 141340 : if (gimple_simplify_6 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
11258 : 3 : return true;
11259 : : }
11260 : 141337 : {
11261 : 141337 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q50 };
11262 : 141337 : if (gimple_simplify_6 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
11263 : 116 : return true;
11264 : : }
11265 : 141221 : {
11266 : 141221 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q51 };
11267 : 141221 : if (gimple_simplify_6 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
11268 : 0 : return true;
11269 : : }
11270 : 141221 : {
11271 : 141221 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q50 };
11272 : 141221 : if (gimple_simplify_6 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
11273 : 0 : return true;
11274 : : }
11275 : 141221 : break;
11276 : : }
11277 : : default:;
11278 : : }
11279 : : }
11280 : : break;
11281 : : default:;
11282 : : }
11283 : 4288984 : break;
11284 : : }
11285 : 14245 : case BIT_XOR_EXPR:
11286 : 14245 : {
11287 : 14245 : tree _q20 = gimple_assign_rhs1 (_a1);
11288 : 14245 : _q20 = do_valueize (valueize, _q20);
11289 : 14245 : tree _q21 = gimple_assign_rhs2 (_a1);
11290 : 14245 : _q21 = do_valueize (valueize, _q21);
11291 : 14245 : if (tree_swap_operands_p (_q20, _q21))
11292 : 709 : std::swap (_q20, _q21);
11293 : 14245 : if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
11294 : : {
11295 : 0 : {
11296 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
11297 : 0 : if (gimple_simplify_117 (res_op, seq, valueize, type, captures))
11298 : 0 : return true;
11299 : : }
11300 : : }
11301 : 14245 : if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
11302 : : {
11303 : 0 : {
11304 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
11305 : 0 : if (gimple_simplify_117 (res_op, seq, valueize, type, captures))
11306 : 0 : return true;
11307 : : }
11308 : : }
11309 : 14245 : switch (TREE_CODE (_p1))
11310 : : {
11311 : 8933 : case SSA_NAME:
11312 : 8933 : if (gimple *_d2 = get_def (valueize, _p1))
11313 : : {
11314 : 8698 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
11315 : 5094 : switch (gimple_assign_rhs_code (_a2))
11316 : : {
11317 : 1557 : case BIT_AND_EXPR:
11318 : 1557 : {
11319 : 1557 : tree _q50 = gimple_assign_rhs1 (_a2);
11320 : 1557 : _q50 = do_valueize (valueize, _q50);
11321 : 1557 : tree _q51 = gimple_assign_rhs2 (_a2);
11322 : 1557 : _q51 = do_valueize (valueize, _q51);
11323 : 1557 : if (tree_swap_operands_p (_q50, _q51))
11324 : 57 : std::swap (_q50, _q51);
11325 : 1557 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
11326 : : {
11327 : 674 : switch (TREE_CODE (_q51))
11328 : : {
11329 : 674 : case SSA_NAME:
11330 : 674 : if (gimple *_d3 = get_def (valueize, _q51))
11331 : : {
11332 : 602 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
11333 : 0 : switch (gimple_assign_rhs_code (_a3))
11334 : : {
11335 : 0 : case BIT_NOT_EXPR:
11336 : 0 : {
11337 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
11338 : 0 : _q70 = do_valueize (valueize, _q70);
11339 : 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
11340 : : {
11341 : 0 : {
11342 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p0 };
11343 : 0 : if (gimple_simplify_118 (res_op, seq, valueize, type, captures))
11344 : 0 : return true;
11345 : : }
11346 : : }
11347 : : break;
11348 : : }
11349 : : default:;
11350 : : }
11351 : : }
11352 : : break;
11353 : : default:;
11354 : : }
11355 : : }
11356 : 1557 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
11357 : : {
11358 : 226 : switch (TREE_CODE (_q51))
11359 : : {
11360 : 226 : case SSA_NAME:
11361 : 226 : if (gimple *_d3 = get_def (valueize, _q51))
11362 : : {
11363 : 214 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
11364 : 25 : switch (gimple_assign_rhs_code (_a3))
11365 : : {
11366 : 0 : case BIT_NOT_EXPR:
11367 : 0 : {
11368 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
11369 : 0 : _q70 = do_valueize (valueize, _q70);
11370 : 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
11371 : : {
11372 : 0 : {
11373 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p0 };
11374 : 0 : if (gimple_simplify_118 (res_op, seq, valueize, type, captures))
11375 : 0 : return true;
11376 : : }
11377 : : }
11378 : : break;
11379 : : }
11380 : : default:;
11381 : : }
11382 : : }
11383 : : break;
11384 : : default:;
11385 : : }
11386 : : }
11387 : 1557 : switch (TREE_CODE (_q50))
11388 : : {
11389 : 1557 : case SSA_NAME:
11390 : 1557 : if (gimple *_d3 = get_def (valueize, _q50))
11391 : : {
11392 : 1323 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
11393 : 339 : switch (gimple_assign_rhs_code (_a3))
11394 : : {
11395 : 141 : case BIT_NOT_EXPR:
11396 : 141 : {
11397 : 141 : tree _q60 = gimple_assign_rhs1 (_a3);
11398 : 141 : _q60 = do_valueize (valueize, _q60);
11399 : 141 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
11400 : : {
11401 : 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
11402 : : {
11403 : 0 : {
11404 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p0 };
11405 : 0 : if (gimple_simplify_118 (res_op, seq, valueize, type, captures))
11406 : 0 : return true;
11407 : : }
11408 : : }
11409 : : }
11410 : 141 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
11411 : : {
11412 : 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
11413 : : {
11414 : 0 : {
11415 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p0 };
11416 : 0 : if (gimple_simplify_118 (res_op, seq, valueize, type, captures))
11417 : 0 : return true;
11418 : : }
11419 : : }
11420 : : }
11421 : : break;
11422 : : }
11423 : : default:;
11424 : : }
11425 : : }
11426 : : break;
11427 : : default:;
11428 : : }
11429 : 14245 : break;
11430 : : }
11431 : : default:;
11432 : : }
11433 : : }
11434 : : break;
11435 : 14245 : default:;
11436 : : }
11437 : 14245 : {
11438 : 14245 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p0, _q20, _q21 };
11439 : 14245 : if (gimple_simplify_119 (res_op, seq, valueize, type, captures))
11440 : 2 : return true;
11441 : : }
11442 : 14243 : {
11443 : 14243 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p0, _q21, _q20 };
11444 : 14243 : if (gimple_simplify_119 (res_op, seq, valueize, type, captures))
11445 : 1 : return true;
11446 : : }
11447 : 14242 : break;
11448 : : }
11449 : : default:;
11450 : : }
11451 : : }
11452 : : break;
11453 : 4288984 : default:;
11454 : : }
11455 : 4288984 : switch (TREE_CODE (_p1))
11456 : : {
11457 : 3360189 : case SSA_NAME:
11458 : 3360189 : if (gimple *_d1 = get_def (valueize, _p1))
11459 : : {
11460 : 2742737 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
11461 : 2652414 : switch (gimple_assign_rhs_code (_a1))
11462 : : {
11463 : 5492 : case BIT_XOR_EXPR:
11464 : 5492 : {
11465 : 5492 : tree _q30 = gimple_assign_rhs1 (_a1);
11466 : 5492 : _q30 = do_valueize (valueize, _q30);
11467 : 5492 : tree _q31 = gimple_assign_rhs2 (_a1);
11468 : 5492 : _q31 = do_valueize (valueize, _q31);
11469 : 5492 : if (tree_swap_operands_p (_q30, _q31))
11470 : 308 : std::swap (_q30, _q31);
11471 : 5492 : if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
11472 : : {
11473 : 18 : {
11474 : 18 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
11475 : 18 : if (gimple_simplify_117 (res_op, seq, valueize, type, captures))
11476 : 18 : return true;
11477 : : }
11478 : : }
11479 : 5474 : if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
11480 : : {
11481 : 0 : {
11482 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
11483 : 0 : if (gimple_simplify_117 (res_op, seq, valueize, type, captures))
11484 : 0 : return true;
11485 : : }
11486 : : }
11487 : 4288966 : break;
11488 : : }
11489 : : default:;
11490 : : }
11491 : : }
11492 : : break;
11493 : 4288966 : default:;
11494 : : }
11495 : 4288966 : switch (TREE_CODE (_p0))
11496 : : {
11497 : 4231747 : case SSA_NAME:
11498 : 4231747 : if (gimple *_d1 = get_def (valueize, _p0))
11499 : : {
11500 : 3357720 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
11501 : 3558599 : switch (gimple_assign_rhs_code (_a1))
11502 : : {
11503 : 321563 : case BIT_AND_EXPR:
11504 : 321563 : {
11505 : 321563 : tree _q20 = gimple_assign_rhs1 (_a1);
11506 : 321563 : _q20 = do_valueize (valueize, _q20);
11507 : 321563 : tree _q21 = gimple_assign_rhs2 (_a1);
11508 : 321563 : _q21 = do_valueize (valueize, _q21);
11509 : 321563 : if (tree_swap_operands_p (_q20, _q21))
11510 : 8848 : std::swap (_q20, _q21);
11511 : 321563 : switch (TREE_CODE (_q21))
11512 : : {
11513 : 137115 : case SSA_NAME:
11514 : 137115 : if (gimple *_d2 = get_def (valueize, _q21))
11515 : : {
11516 : 117025 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
11517 : 136217 : switch (gimple_assign_rhs_code (_a2))
11518 : : {
11519 : 2662 : case BIT_NOT_EXPR:
11520 : 2662 : {
11521 : 2662 : tree _q40 = gimple_assign_rhs1 (_a2);
11522 : 2662 : _q40 = do_valueize (valueize, _q40);
11523 : 2662 : switch (TREE_CODE (_p1))
11524 : : {
11525 : 2662 : case SSA_NAME:
11526 : 2662 : if (gimple *_d3 = get_def (valueize, _p1))
11527 : : {
11528 : 2622 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
11529 : 2377 : switch (gimple_assign_rhs_code (_a3))
11530 : : {
11531 : 0 : case BIT_XOR_EXPR:
11532 : 0 : {
11533 : 0 : tree _q60 = gimple_assign_rhs1 (_a3);
11534 : 0 : _q60 = do_valueize (valueize, _q60);
11535 : 0 : tree _q61 = gimple_assign_rhs2 (_a3);
11536 : 0 : _q61 = do_valueize (valueize, _q61);
11537 : 0 : if (tree_swap_operands_p (_q60, _q61))
11538 : 0 : std::swap (_q60, _q61);
11539 : 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
11540 : : {
11541 : 0 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
11542 : : {
11543 : 0 : {
11544 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _p1 };
11545 : 0 : if (gimple_simplify_120 (res_op, seq, valueize, type, captures))
11546 : 0 : return true;
11547 : : }
11548 : : }
11549 : : }
11550 : 0 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
11551 : : {
11552 : 0 : if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
11553 : : {
11554 : 0 : {
11555 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _p1 };
11556 : 0 : if (gimple_simplify_120 (res_op, seq, valueize, type, captures))
11557 : 0 : return true;
11558 : : }
11559 : : }
11560 : : }
11561 : 321563 : break;
11562 : : }
11563 : : default:;
11564 : : }
11565 : : }
11566 : : break;
11567 : : default:;
11568 : : }
11569 : : break;
11570 : : }
11571 : : default:;
11572 : : }
11573 : : }
11574 : : break;
11575 : 321563 : default:;
11576 : : }
11577 : 321563 : switch (TREE_CODE (_q20))
11578 : : {
11579 : 321563 : case SSA_NAME:
11580 : 321563 : if (gimple *_d2 = get_def (valueize, _q20))
11581 : : {
11582 : 283507 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
11583 : 263736 : switch (gimple_assign_rhs_code (_a2))
11584 : : {
11585 : 6601 : case BIT_NOT_EXPR:
11586 : 6601 : {
11587 : 6601 : tree _q30 = gimple_assign_rhs1 (_a2);
11588 : 6601 : _q30 = do_valueize (valueize, _q30);
11589 : 6601 : switch (TREE_CODE (_p1))
11590 : : {
11591 : 6457 : case SSA_NAME:
11592 : 6457 : if (gimple *_d3 = get_def (valueize, _p1))
11593 : : {
11594 : 6429 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
11595 : 5540 : switch (gimple_assign_rhs_code (_a3))
11596 : : {
11597 : 811 : case BIT_XOR_EXPR:
11598 : 811 : {
11599 : 811 : tree _q60 = gimple_assign_rhs1 (_a3);
11600 : 811 : _q60 = do_valueize (valueize, _q60);
11601 : 811 : tree _q61 = gimple_assign_rhs2 (_a3);
11602 : 811 : _q61 = do_valueize (valueize, _q61);
11603 : 811 : if (tree_swap_operands_p (_q60, _q61))
11604 : 28 : std::swap (_q60, _q61);
11605 : 811 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
11606 : : {
11607 : 405 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
11608 : : {
11609 : 0 : {
11610 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q30, _p1 };
11611 : 0 : if (gimple_simplify_120 (res_op, seq, valueize, type, captures))
11612 : 0 : return true;
11613 : : }
11614 : : }
11615 : : }
11616 : 811 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
11617 : : {
11618 : 406 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
11619 : : {
11620 : 1 : {
11621 : 1 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q30, _p1 };
11622 : 1 : if (gimple_simplify_120 (res_op, seq, valueize, type, captures))
11623 : 1 : return true;
11624 : : }
11625 : : }
11626 : : }
11627 : 4288965 : break;
11628 : : }
11629 : : default:;
11630 : : }
11631 : : }
11632 : : break;
11633 : : default:;
11634 : : }
11635 : : break;
11636 : : }
11637 : : default:;
11638 : : }
11639 : : }
11640 : : break;
11641 : : default:;
11642 : : }
11643 : 4288965 : break;
11644 : : }
11645 : : default:;
11646 : : }
11647 : : }
11648 : : break;
11649 : 4288965 : default:;
11650 : : }
11651 : 4288965 : switch (TREE_CODE (_p1))
11652 : : {
11653 : 3360170 : case SSA_NAME:
11654 : 3360170 : if (gimple *_d1 = get_def (valueize, _p1))
11655 : : {
11656 : 2742718 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
11657 : 2652395 : switch (gimple_assign_rhs_code (_a1))
11658 : : {
11659 : 11391 : case BIT_NOT_EXPR:
11660 : 11391 : {
11661 : 11391 : tree _q30 = gimple_assign_rhs1 (_a1);
11662 : 11391 : _q30 = do_valueize (valueize, _q30);
11663 : 11391 : switch (TREE_CODE (_q30))
11664 : : {
11665 : 11391 : case SSA_NAME:
11666 : 11391 : if (gimple *_d2 = get_def (valueize, _q30))
11667 : : {
11668 : 11013 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
11669 : 10763 : switch (gimple_assign_rhs_code (_a2))
11670 : : {
11671 : 164 : case BIT_XOR_EXPR:
11672 : 164 : {
11673 : 164 : tree _q40 = gimple_assign_rhs1 (_a2);
11674 : 164 : _q40 = do_valueize (valueize, _q40);
11675 : 164 : tree _q41 = gimple_assign_rhs2 (_a2);
11676 : 164 : _q41 = do_valueize (valueize, _q41);
11677 : 164 : if (tree_swap_operands_p (_q40, _q41))
11678 : 0 : std::swap (_q40, _q41);
11679 : 164 : if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
11680 : : {
11681 : 0 : {
11682 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q41 };
11683 : 0 : if (gimple_simplify_121 (res_op, seq, valueize, type, captures))
11684 : 0 : return true;
11685 : : }
11686 : : }
11687 : 164 : if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
11688 : : {
11689 : 0 : {
11690 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q40 };
11691 : 0 : if (gimple_simplify_121 (res_op, seq, valueize, type, captures))
11692 : 0 : return true;
11693 : : }
11694 : : }
11695 : 4288965 : break;
11696 : : }
11697 : : default:;
11698 : : }
11699 : : }
11700 : : break;
11701 : : default:;
11702 : : }
11703 : : break;
11704 : : }
11705 : : default:;
11706 : : }
11707 : : }
11708 : : break;
11709 : 4288965 : default:;
11710 : : }
11711 : 4288965 : switch (TREE_CODE (_p0))
11712 : : {
11713 : 4231746 : case SSA_NAME:
11714 : 4231746 : if (gimple *_d1 = get_def (valueize, _p0))
11715 : : {
11716 : 3357719 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
11717 : 3558598 : switch (gimple_assign_rhs_code (_a1))
11718 : : {
11719 : 23680 : case BIT_NOT_EXPR:
11720 : 23680 : {
11721 : 23680 : tree _q20 = gimple_assign_rhs1 (_a1);
11722 : 23680 : _q20 = do_valueize (valueize, _q20);
11723 : 23680 : switch (TREE_CODE (_q20))
11724 : : {
11725 : 23680 : case SSA_NAME:
11726 : 23680 : if (gimple *_d2 = get_def (valueize, _q20))
11727 : : {
11728 : 22434 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
11729 : 18422 : switch (gimple_assign_rhs_code (_a2))
11730 : : {
11731 : 1713 : case BIT_XOR_EXPR:
11732 : 1713 : {
11733 : 1713 : tree _q30 = gimple_assign_rhs1 (_a2);
11734 : 1713 : _q30 = do_valueize (valueize, _q30);
11735 : 1713 : tree _q31 = gimple_assign_rhs2 (_a2);
11736 : 1713 : _q31 = do_valueize (valueize, _q31);
11737 : 1713 : if (tree_swap_operands_p (_q30, _q31))
11738 : 27 : std::swap (_q30, _q31);
11739 : 1713 : if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
11740 : : {
11741 : 2 : {
11742 : 2 : tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q31 };
11743 : 2 : if (gimple_simplify_121 (res_op, seq, valueize, type, captures))
11744 : 1 : return true;
11745 : : }
11746 : : }
11747 : 1712 : if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
11748 : : {
11749 : 0 : {
11750 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q31, _p0, _q30 };
11751 : 0 : if (gimple_simplify_121 (res_op, seq, valueize, type, captures))
11752 : 0 : return true;
11753 : : }
11754 : : }
11755 : 4288964 : break;
11756 : : }
11757 : : default:;
11758 : : }
11759 : : }
11760 : : break;
11761 : : default:;
11762 : : }
11763 : : break;
11764 : : }
11765 : : default:;
11766 : : }
11767 : : }
11768 : : break;
11769 : 4288964 : default:;
11770 : : }
11771 : 4288964 : {
11772 : 4288964 : tree _p1_pops[1];
11773 : 4288964 : if (gimple_nop_convert (_p1, _p1_pops, valueize))
11774 : : {
11775 : 42354 : tree _q30 = _p1_pops[0];
11776 : 42354 : switch (TREE_CODE (_q30))
11777 : : {
11778 : 42274 : case SSA_NAME:
11779 : 42274 : if (gimple *_d1 = get_def (valueize, _q30))
11780 : : {
11781 : 41278 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
11782 : 33195 : switch (gimple_assign_rhs_code (_a1))
11783 : : {
11784 : 465 : case EQ_EXPR:
11785 : 465 : {
11786 : 465 : tree _q40 = gimple_assign_rhs1 (_a1);
11787 : 465 : _q40 = do_valueize (valueize, _q40);
11788 : 465 : tree _q41 = gimple_assign_rhs2 (_a1);
11789 : 465 : _q41 = do_valueize (valueize, _q41);
11790 : 465 : if (tree_swap_operands_p (_q40, _q41))
11791 : 0 : std::swap (_q40, _q41);
11792 : 465 : if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
11793 : : {
11794 : 0 : {
11795 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
11796 : 0 : if (gimple_simplify_122 (res_op, seq, valueize, type, captures))
11797 : 0 : return true;
11798 : : }
11799 : : }
11800 : 465 : if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
11801 : : {
11802 : 0 : {
11803 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
11804 : 0 : if (gimple_simplify_122 (res_op, seq, valueize, type, captures))
11805 : 0 : return true;
11806 : : }
11807 : : }
11808 : 4288964 : break;
11809 : : }
11810 : : default:;
11811 : : }
11812 : : }
11813 : : break;
11814 : : default:;
11815 : : }
11816 : : }
11817 : : }
11818 : 4288964 : {
11819 : 4288964 : tree _p0_pops[1];
11820 : 4288964 : if (gimple_nop_convert (_p0, _p0_pops, valueize))
11821 : : {
11822 : 99653 : tree _q20 = _p0_pops[0];
11823 : 99653 : switch (TREE_CODE (_q20))
11824 : : {
11825 : 99621 : case SSA_NAME:
11826 : 99621 : if (gimple *_d1 = get_def (valueize, _q20))
11827 : : {
11828 : 98972 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
11829 : 18666 : switch (gimple_assign_rhs_code (_a1))
11830 : : {
11831 : 172 : case EQ_EXPR:
11832 : 172 : {
11833 : 172 : tree _q30 = gimple_assign_rhs1 (_a1);
11834 : 172 : _q30 = do_valueize (valueize, _q30);
11835 : 172 : tree _q31 = gimple_assign_rhs2 (_a1);
11836 : 172 : _q31 = do_valueize (valueize, _q31);
11837 : 172 : if (tree_swap_operands_p (_q30, _q31))
11838 : 0 : std::swap (_q30, _q31);
11839 : 172 : if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
11840 : : {
11841 : 0 : {
11842 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
11843 : 0 : if (gimple_simplify_122 (res_op, seq, valueize, type, captures))
11844 : 0 : return true;
11845 : : }
11846 : : }
11847 : 172 : if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
11848 : : {
11849 : 0 : {
11850 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
11851 : 0 : if (gimple_simplify_122 (res_op, seq, valueize, type, captures))
11852 : 0 : return true;
11853 : : }
11854 : : }
11855 : 4288964 : break;
11856 : : }
11857 : : default:;
11858 : : }
11859 : : }
11860 : : break;
11861 : : default:;
11862 : : }
11863 : : }
11864 : : }
11865 : 4288964 : switch (TREE_CODE (_p1))
11866 : : {
11867 : 3360169 : case SSA_NAME:
11868 : 3360169 : if (gimple *_d1 = get_def (valueize, _p1))
11869 : : {
11870 : 2742717 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
11871 : 2652395 : switch (gimple_assign_rhs_code (_a1))
11872 : : {
11873 : 253593 : case EQ_EXPR:
11874 : 253593 : {
11875 : 253593 : tree _q30 = gimple_assign_rhs1 (_a1);
11876 : 253593 : _q30 = do_valueize (valueize, _q30);
11877 : 253593 : tree _q31 = gimple_assign_rhs2 (_a1);
11878 : 253593 : _q31 = do_valueize (valueize, _q31);
11879 : 253593 : if (tree_swap_operands_p (_q30, _q31))
11880 : 547 : std::swap (_q30, _q31);
11881 : 253593 : if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
11882 : : {
11883 : 2 : {
11884 : 2 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
11885 : 2 : if (gimple_simplify_122 (res_op, seq, valueize, type, captures))
11886 : 1 : return true;
11887 : : }
11888 : : }
11889 : 253592 : if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
11890 : : {
11891 : 0 : {
11892 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
11893 : 0 : if (gimple_simplify_122 (res_op, seq, valueize, type, captures))
11894 : 0 : return true;
11895 : : }
11896 : : }
11897 : 4288963 : break;
11898 : : }
11899 : : default:;
11900 : : }
11901 : : }
11902 : : break;
11903 : 4288963 : default:;
11904 : : }
11905 : 4288963 : switch (TREE_CODE (_p0))
11906 : : {
11907 : 4231744 : case SSA_NAME:
11908 : 4231744 : if (gimple *_d1 = get_def (valueize, _p0))
11909 : : {
11910 : 3357717 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
11911 : 3558597 : switch (gimple_assign_rhs_code (_a1))
11912 : : {
11913 : 266555 : case EQ_EXPR:
11914 : 266555 : {
11915 : 266555 : tree _q20 = gimple_assign_rhs1 (_a1);
11916 : 266555 : _q20 = do_valueize (valueize, _q20);
11917 : 266555 : tree _q21 = gimple_assign_rhs2 (_a1);
11918 : 266555 : _q21 = do_valueize (valueize, _q21);
11919 : 266555 : if (tree_swap_operands_p (_q20, _q21))
11920 : 337 : std::swap (_q20, _q21);
11921 : 266555 : if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
11922 : : {
11923 : 0 : {
11924 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
11925 : 0 : if (gimple_simplify_122 (res_op, seq, valueize, type, captures))
11926 : 0 : return true;
11927 : : }
11928 : : }
11929 : 266555 : if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
11930 : : {
11931 : 0 : {
11932 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
11933 : 0 : if (gimple_simplify_122 (res_op, seq, valueize, type, captures))
11934 : 0 : return true;
11935 : : }
11936 : : }
11937 : 4288963 : break;
11938 : : }
11939 : : default:;
11940 : : }
11941 : : }
11942 : : break;
11943 : 4288963 : default:;
11944 : : }
11945 : 4288963 : switch (TREE_CODE (_p1))
11946 : : {
11947 : 3360168 : case SSA_NAME:
11948 : 3360168 : if (gimple *_d1 = get_def (valueize, _p1))
11949 : : {
11950 : 2742716 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
11951 : 2652394 : switch (gimple_assign_rhs_code (_a1))
11952 : : {
11953 : 5473 : case BIT_XOR_EXPR:
11954 : 5473 : {
11955 : 5473 : tree _q30 = gimple_assign_rhs1 (_a1);
11956 : 5473 : _q30 = do_valueize (valueize, _q30);
11957 : 5473 : tree _q31 = gimple_assign_rhs2 (_a1);
11958 : 5473 : _q31 = do_valueize (valueize, _q31);
11959 : 5473 : if (tree_swap_operands_p (_q30, _q31))
11960 : 301 : std::swap (_q30, _q31);
11961 : 5473 : {
11962 : 5473 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
11963 : 5473 : if (gimple_simplify_119 (res_op, seq, valueize, type, captures))
11964 : 2 : return true;
11965 : : }
11966 : 5471 : {
11967 : 5471 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q31, _q30 };
11968 : 5471 : if (gimple_simplify_119 (res_op, seq, valueize, type, captures))
11969 : 0 : return true;
11970 : : }
11971 : 5471 : break;
11972 : : }
11973 : : default:;
11974 : : }
11975 : : }
11976 : : break;
11977 : 4288961 : default:;
11978 : : }
11979 : 4288961 : switch (TREE_CODE (_p0))
11980 : : {
11981 : 4231742 : case SSA_NAME:
11982 : 4231742 : if (gimple *_d1 = get_def (valueize, _p0))
11983 : : {
11984 : 3357715 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
11985 : 3558595 : switch (gimple_assign_rhs_code (_a1))
11986 : : {
11987 : 84027 : case PLUS_EXPR:
11988 : 84027 : {
11989 : 84027 : tree _q20 = gimple_assign_rhs1 (_a1);
11990 : 84027 : _q20 = do_valueize (valueize, _q20);
11991 : 84027 : tree _q21 = gimple_assign_rhs2 (_a1);
11992 : 84027 : _q21 = do_valueize (valueize, _q21);
11993 : 84027 : if (tree_swap_operands_p (_q20, _q21))
11994 : 3752 : std::swap (_q20, _q21);
11995 : 84027 : if (integer_minus_onep (_q21))
11996 : : {
11997 : 1753 : switch (TREE_CODE (_p1))
11998 : : {
11999 : 1114 : case SSA_NAME:
12000 : 1114 : if (gimple *_d2 = get_def (valueize, _p1))
12001 : : {
12002 : 1039 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
12003 : 796 : switch (gimple_assign_rhs_code (_a2))
12004 : : {
12005 : 4 : case NEGATE_EXPR:
12006 : 4 : {
12007 : 4 : tree _q50 = gimple_assign_rhs1 (_a2);
12008 : 4 : _q50 = do_valueize (valueize, _q50);
12009 : 4 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
12010 : : {
12011 : 1 : {
12012 : 1 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
12013 : 1 : if (gimple_simplify_9 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
12014 : 1 : return true;
12015 : : }
12016 : : }
12017 : : break;
12018 : : }
12019 : : default:;
12020 : : }
12021 : : }
12022 : : break;
12023 : : default:;
12024 : : }
12025 : : }
12026 : 4287728 : break;
12027 : : }
12028 : 2933 : case NEGATE_EXPR:
12029 : 2933 : {
12030 : 2933 : tree _q20 = gimple_assign_rhs1 (_a1);
12031 : 2933 : _q20 = do_valueize (valueize, _q20);
12032 : 2933 : switch (TREE_CODE (_p1))
12033 : : {
12034 : 2609 : case SSA_NAME:
12035 : 2609 : if (gimple *_d2 = get_def (valueize, _p1))
12036 : : {
12037 : 2358 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
12038 : 2354 : switch (gimple_assign_rhs_code (_a2))
12039 : : {
12040 : 296 : case PLUS_EXPR:
12041 : 296 : {
12042 : 296 : tree _q40 = gimple_assign_rhs1 (_a2);
12043 : 296 : _q40 = do_valueize (valueize, _q40);
12044 : 296 : tree _q41 = gimple_assign_rhs2 (_a2);
12045 : 296 : _q41 = do_valueize (valueize, _q41);
12046 : 296 : if (tree_swap_operands_p (_q40, _q41))
12047 : 16 : std::swap (_q40, _q41);
12048 : 296 : if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
12049 : : {
12050 : 0 : if (integer_minus_onep (_q41))
12051 : : {
12052 : 0 : {
12053 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
12054 : 0 : if (gimple_simplify_10 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
12055 : 0 : return true;
12056 : : }
12057 : : }
12058 : : }
12059 : 4287728 : break;
12060 : : }
12061 : 0 : case MINUS_EXPR:
12062 : 0 : {
12063 : 0 : tree _q40 = gimple_assign_rhs1 (_a2);
12064 : 0 : _q40 = do_valueize (valueize, _q40);
12065 : 0 : tree _q41 = gimple_assign_rhs2 (_a2);
12066 : 0 : _q41 = do_valueize (valueize, _q41);
12067 : 0 : if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
12068 : : {
12069 : 0 : if (integer_onep (_q41))
12070 : : {
12071 : 0 : {
12072 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
12073 : 0 : if (gimple_simplify_11 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
12074 : 0 : return true;
12075 : : }
12076 : : }
12077 : : }
12078 : : break;
12079 : : }
12080 : : default:;
12081 : : }
12082 : : }
12083 : : break;
12084 : : default:;
12085 : : }
12086 : : break;
12087 : : }
12088 : 5672 : case MINUS_EXPR:
12089 : 5672 : {
12090 : 5672 : tree _q20 = gimple_assign_rhs1 (_a1);
12091 : 5672 : _q20 = do_valueize (valueize, _q20);
12092 : 5672 : tree _q21 = gimple_assign_rhs2 (_a1);
12093 : 5672 : _q21 = do_valueize (valueize, _q21);
12094 : 5672 : if (integer_onep (_q21))
12095 : : {
12096 : 2 : switch (TREE_CODE (_p1))
12097 : : {
12098 : 2 : case SSA_NAME:
12099 : 2 : if (gimple *_d2 = get_def (valueize, _p1))
12100 : : {
12101 : 2 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
12102 : 2 : switch (gimple_assign_rhs_code (_a2))
12103 : : {
12104 : 2 : case NEGATE_EXPR:
12105 : 2 : {
12106 : 2 : tree _q50 = gimple_assign_rhs1 (_a2);
12107 : 2 : _q50 = do_valueize (valueize, _q50);
12108 : 2 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
12109 : : {
12110 : 2 : {
12111 : 2 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
12112 : 2 : if (gimple_simplify_12 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
12113 : 2 : return true;
12114 : : }
12115 : : }
12116 : : break;
12117 : : }
12118 : : default:;
12119 : : }
12120 : : }
12121 : : break;
12122 : : default:;
12123 : : }
12124 : : }
12125 : : break;
12126 : : }
12127 : 231098 : case BIT_IOR_EXPR:
12128 : 231098 : {
12129 : 231098 : tree _q20 = gimple_assign_rhs1 (_a1);
12130 : 231098 : _q20 = do_valueize (valueize, _q20);
12131 : 231098 : tree _q21 = gimple_assign_rhs2 (_a1);
12132 : 231098 : _q21 = do_valueize (valueize, _q21);
12133 : 231098 : if (tree_swap_operands_p (_q20, _q21))
12134 : 8463 : std::swap (_q20, _q21);
12135 : 231098 : switch (TREE_CODE (_p1))
12136 : : {
12137 : 220142 : case SSA_NAME:
12138 : 220142 : if (gimple *_d2 = get_def (valueize, _p1))
12139 : : {
12140 : 218506 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
12141 : 169837 : switch (gimple_assign_rhs_code (_a2))
12142 : : {
12143 : 9528 : case BIT_AND_EXPR:
12144 : 9528 : {
12145 : 9528 : tree _q50 = gimple_assign_rhs1 (_a2);
12146 : 9528 : _q50 = do_valueize (valueize, _q50);
12147 : 9528 : tree _q51 = gimple_assign_rhs2 (_a2);
12148 : 9528 : _q51 = do_valueize (valueize, _q51);
12149 : 9528 : if (tree_swap_operands_p (_q50, _q51))
12150 : 534 : std::swap (_q50, _q51);
12151 : 9528 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
12152 : : {
12153 : 2 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
12154 : : {
12155 : 1 : {
12156 : 1 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
12157 : 1 : if (gimple_simplify_123 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
12158 : 1 : return true;
12159 : : }
12160 : : }
12161 : : }
12162 : 9527 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
12163 : : {
12164 : 20 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
12165 : : {
12166 : 0 : {
12167 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
12168 : 0 : if (gimple_simplify_123 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
12169 : 0 : return true;
12170 : : }
12171 : : }
12172 : : }
12173 : 231097 : break;
12174 : : }
12175 : 399 : case BIT_XOR_EXPR:
12176 : 399 : {
12177 : 399 : tree _q50 = gimple_assign_rhs1 (_a2);
12178 : 399 : _q50 = do_valueize (valueize, _q50);
12179 : 399 : tree _q51 = gimple_assign_rhs2 (_a2);
12180 : 399 : _q51 = do_valueize (valueize, _q51);
12181 : 399 : if (tree_swap_operands_p (_q50, _q51))
12182 : 45 : std::swap (_q50, _q51);
12183 : 399 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
12184 : : {
12185 : 48 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
12186 : : {
12187 : 0 : {
12188 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
12189 : 0 : if (gimple_simplify_123 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
12190 : 0 : return true;
12191 : : }
12192 : : }
12193 : : }
12194 : 399 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
12195 : : {
12196 : 96 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
12197 : : {
12198 : 0 : {
12199 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
12200 : 0 : if (gimple_simplify_123 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
12201 : 0 : return true;
12202 : : }
12203 : : }
12204 : : }
12205 : 231097 : break;
12206 : : }
12207 : 10928 : CASE_CONVERT:
12208 : 10928 : {
12209 : 10928 : tree _q50 = gimple_assign_rhs1 (_a2);
12210 : 10928 : _q50 = do_valueize (valueize, _q50);
12211 : 10928 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
12212 : : {
12213 : 0 : {
12214 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q21 };
12215 : 0 : if (gimple_simplify_124 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
12216 : 0 : return true;
12217 : : }
12218 : : }
12219 : 10928 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
12220 : : {
12221 : 0 : {
12222 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q20 };
12223 : 0 : if (gimple_simplify_124 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
12224 : 0 : return true;
12225 : : }
12226 : : }
12227 : : break;
12228 : : }
12229 : : default:;
12230 : : }
12231 : : }
12232 : : break;
12233 : 231097 : default:;
12234 : : }
12235 : 231097 : if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q21, 0))
12236 : : {
12237 : 912 : {
12238 : 912 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q21 };
12239 : 912 : if (gimple_simplify_124 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
12240 : 912 : return true;
12241 : : }
12242 : : }
12243 : 230185 : if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q20, 0))
12244 : : {
12245 : 11 : {
12246 : 11 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q20 };
12247 : 11 : if (gimple_simplify_124 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
12248 : 11 : return true;
12249 : : }
12250 : : }
12251 : 4287728 : break;
12252 : : }
12253 : 321562 : case BIT_AND_EXPR:
12254 : 321562 : {
12255 : 321562 : tree _q20 = gimple_assign_rhs1 (_a1);
12256 : 321562 : _q20 = do_valueize (valueize, _q20);
12257 : 321562 : tree _q21 = gimple_assign_rhs2 (_a1);
12258 : 321562 : _q21 = do_valueize (valueize, _q21);
12259 : 321562 : if (tree_swap_operands_p (_q20, _q21))
12260 : 8847 : std::swap (_q20, _q21);
12261 : 321562 : switch (TREE_CODE (_p1))
12262 : : {
12263 : 180943 : case SSA_NAME:
12264 : 180943 : if (gimple *_d2 = get_def (valueize, _p1))
12265 : : {
12266 : 179805 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
12267 : 176327 : switch (gimple_assign_rhs_code (_a2))
12268 : : {
12269 : 5200 : case BIT_IOR_EXPR:
12270 : 5200 : {
12271 : 5200 : tree _q50 = gimple_assign_rhs1 (_a2);
12272 : 5200 : _q50 = do_valueize (valueize, _q50);
12273 : 5200 : tree _q51 = gimple_assign_rhs2 (_a2);
12274 : 5200 : _q51 = do_valueize (valueize, _q51);
12275 : 5200 : if (tree_swap_operands_p (_q50, _q51))
12276 : 591 : std::swap (_q50, _q51);
12277 : 5200 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
12278 : : {
12279 : 301 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
12280 : : {
12281 : 300 : {
12282 : 300 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
12283 : 300 : if (gimple_simplify_125 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
12284 : 300 : return true;
12285 : : }
12286 : : }
12287 : : }
12288 : 4900 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
12289 : : {
12290 : 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
12291 : : {
12292 : 0 : {
12293 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q21, _q20 };
12294 : 0 : if (gimple_simplify_125 (res_op, seq, valueize, type, captures, BIT_AND_EXPR))
12295 : 0 : return true;
12296 : : }
12297 : : }
12298 : : }
12299 : 321262 : break;
12300 : : }
12301 : 1333 : case BIT_NOT_EXPR:
12302 : 1333 : {
12303 : 1333 : tree _q50 = gimple_assign_rhs1 (_a2);
12304 : 1333 : _q50 = do_valueize (valueize, _q50);
12305 : 1333 : switch (TREE_CODE (_q50))
12306 : : {
12307 : 1333 : case SSA_NAME:
12308 : 1333 : if (gimple *_d3 = get_def (valueize, _q50))
12309 : : {
12310 : 1332 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
12311 : 151 : switch (gimple_assign_rhs_code (_a3))
12312 : : {
12313 : 0 : case BIT_XOR_EXPR:
12314 : 0 : {
12315 : 0 : tree _q60 = gimple_assign_rhs1 (_a3);
12316 : 0 : _q60 = do_valueize (valueize, _q60);
12317 : 0 : tree _q61 = gimple_assign_rhs2 (_a3);
12318 : 0 : _q61 = do_valueize (valueize, _q61);
12319 : 0 : if (tree_swap_operands_p (_q60, _q61))
12320 : 0 : std::swap (_q60, _q61);
12321 : 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
12322 : : {
12323 : 0 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
12324 : : {
12325 : 0 : {
12326 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
12327 : 0 : if (gimple_simplify_126 (res_op, seq, valueize, type, captures))
12328 : 0 : return true;
12329 : : }
12330 : : }
12331 : : }
12332 : 0 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
12333 : : {
12334 : 0 : if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
12335 : : {
12336 : 0 : {
12337 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
12338 : 0 : if (gimple_simplify_126 (res_op, seq, valueize, type, captures))
12339 : 0 : return true;
12340 : : }
12341 : : }
12342 : : }
12343 : 321262 : break;
12344 : : }
12345 : : default:;
12346 : : }
12347 : : }
12348 : : break;
12349 : : default:;
12350 : : }
12351 : : break;
12352 : : }
12353 : 304 : case EQ_EXPR:
12354 : 304 : {
12355 : 304 : tree _q50 = gimple_assign_rhs1 (_a2);
12356 : 304 : _q50 = do_valueize (valueize, _q50);
12357 : 304 : tree _q51 = gimple_assign_rhs2 (_a2);
12358 : 304 : _q51 = do_valueize (valueize, _q51);
12359 : 304 : if (tree_swap_operands_p (_q50, _q51))
12360 : 0 : std::swap (_q50, _q51);
12361 : 304 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
12362 : : {
12363 : 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
12364 : : {
12365 : 0 : {
12366 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
12367 : 0 : if (gimple_simplify_127 (res_op, seq, valueize, type, captures))
12368 : 0 : return true;
12369 : : }
12370 : : }
12371 : : }
12372 : 304 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
12373 : : {
12374 : 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
12375 : : {
12376 : 0 : {
12377 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
12378 : 0 : if (gimple_simplify_127 (res_op, seq, valueize, type, captures))
12379 : 0 : return true;
12380 : : }
12381 : : }
12382 : : }
12383 : 321262 : break;
12384 : : }
12385 : : default:;
12386 : : }
12387 : : }
12388 : : break;
12389 : 321262 : default:;
12390 : : }
12391 : 321262 : {
12392 : 321262 : tree _p1_pops[1];
12393 : 321262 : if (gimple_nop_convert (_p1, _p1_pops, valueize))
12394 : : {
12395 : 705 : tree _q50 = _p1_pops[0];
12396 : 705 : switch (TREE_CODE (_q50))
12397 : : {
12398 : 705 : case SSA_NAME:
12399 : 705 : if (gimple *_d2 = get_def (valueize, _q50))
12400 : : {
12401 : 705 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
12402 : 712 : switch (gimple_assign_rhs_code (_a2))
12403 : : {
12404 : 0 : case EQ_EXPR:
12405 : 0 : {
12406 : 0 : tree _q60 = gimple_assign_rhs1 (_a2);
12407 : 0 : _q60 = do_valueize (valueize, _q60);
12408 : 0 : tree _q61 = gimple_assign_rhs2 (_a2);
12409 : 0 : _q61 = do_valueize (valueize, _q61);
12410 : 0 : if (tree_swap_operands_p (_q60, _q61))
12411 : 0 : std::swap (_q60, _q61);
12412 : 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
12413 : : {
12414 : 0 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
12415 : : {
12416 : 0 : {
12417 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
12418 : 0 : if (gimple_simplify_127 (res_op, seq, valueize, type, captures))
12419 : 0 : return true;
12420 : : }
12421 : : }
12422 : : }
12423 : 0 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
12424 : : {
12425 : 0 : if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
12426 : : {
12427 : 0 : {
12428 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
12429 : 0 : if (gimple_simplify_127 (res_op, seq, valueize, type, captures))
12430 : 0 : return true;
12431 : : }
12432 : : }
12433 : : }
12434 : 321262 : break;
12435 : : }
12436 : : default:;
12437 : : }
12438 : : }
12439 : : break;
12440 : : default:;
12441 : : }
12442 : : }
12443 : : }
12444 : 321262 : break;
12445 : : }
12446 : 14241 : case BIT_XOR_EXPR:
12447 : 14241 : {
12448 : 14241 : tree _q20 = gimple_assign_rhs1 (_a1);
12449 : 14241 : _q20 = do_valueize (valueize, _q20);
12450 : 14241 : tree _q21 = gimple_assign_rhs2 (_a1);
12451 : 14241 : _q21 = do_valueize (valueize, _q21);
12452 : 14241 : if (tree_swap_operands_p (_q20, _q21))
12453 : 709 : std::swap (_q20, _q21);
12454 : 14241 : switch (TREE_CODE (_p1))
12455 : : {
12456 : 8930 : case SSA_NAME:
12457 : 8930 : if (gimple *_d2 = get_def (valueize, _p1))
12458 : : {
12459 : 8695 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
12460 : 5091 : switch (gimple_assign_rhs_code (_a2))
12461 : : {
12462 : 280 : case BIT_IOR_EXPR:
12463 : 280 : {
12464 : 280 : tree _q50 = gimple_assign_rhs1 (_a2);
12465 : 280 : _q50 = do_valueize (valueize, _q50);
12466 : 280 : tree _q51 = gimple_assign_rhs2 (_a2);
12467 : 280 : _q51 = do_valueize (valueize, _q51);
12468 : 280 : if (tree_swap_operands_p (_q50, _q51))
12469 : 13 : std::swap (_q50, _q51);
12470 : 280 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
12471 : : {
12472 : 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
12473 : : {
12474 : 0 : {
12475 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
12476 : 0 : if (gimple_simplify_125 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
12477 : 0 : return true;
12478 : : }
12479 : : }
12480 : : }
12481 : 280 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
12482 : : {
12483 : 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
12484 : : {
12485 : 0 : {
12486 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q21, _q20 };
12487 : 0 : if (gimple_simplify_125 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
12488 : 0 : return true;
12489 : : }
12490 : : }
12491 : : }
12492 : 14237 : break;
12493 : : }
12494 : 988 : case BIT_XOR_EXPR:
12495 : 988 : {
12496 : 988 : tree _q50 = gimple_assign_rhs1 (_a2);
12497 : 988 : _q50 = do_valueize (valueize, _q50);
12498 : 988 : tree _q51 = gimple_assign_rhs2 (_a2);
12499 : 988 : _q51 = do_valueize (valueize, _q51);
12500 : 988 : if (tree_swap_operands_p (_q50, _q51))
12501 : 90 : std::swap (_q50, _q51);
12502 : 988 : switch (TREE_CODE (_q50))
12503 : : {
12504 : 988 : case SSA_NAME:
12505 : 988 : if (gimple *_d3 = get_def (valueize, _q50))
12506 : : {
12507 : 860 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
12508 : 715 : switch (gimple_assign_rhs_code (_a3))
12509 : : {
12510 : 2 : case BIT_XOR_EXPR:
12511 : 2 : {
12512 : 2 : tree _q60 = gimple_assign_rhs1 (_a3);
12513 : 2 : _q60 = do_valueize (valueize, _q60);
12514 : 2 : tree _q61 = gimple_assign_rhs2 (_a3);
12515 : 2 : _q61 = do_valueize (valueize, _q61);
12516 : 2 : if (tree_swap_operands_p (_q60, _q61))
12517 : 1 : std::swap (_q60, _q61);
12518 : 2 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
12519 : : {
12520 : 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
12521 : : {
12522 : 0 : {
12523 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q61 };
12524 : 0 : if (gimple_simplify_128 (res_op, seq, valueize, type, captures))
12525 : 0 : return true;
12526 : : }
12527 : : }
12528 : : }
12529 : 2 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
12530 : : {
12531 : 2 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
12532 : : {
12533 : 0 : {
12534 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q60 };
12535 : 0 : if (gimple_simplify_128 (res_op, seq, valueize, type, captures))
12536 : 0 : return true;
12537 : : }
12538 : : }
12539 : : }
12540 : 2 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
12541 : : {
12542 : 2 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
12543 : : {
12544 : 0 : {
12545 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q61 };
12546 : 0 : if (gimple_simplify_128 (res_op, seq, valueize, type, captures))
12547 : 0 : return true;
12548 : : }
12549 : : }
12550 : : }
12551 : 2 : if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
12552 : : {
12553 : 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
12554 : : {
12555 : 0 : {
12556 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q60 };
12557 : 0 : if (gimple_simplify_128 (res_op, seq, valueize, type, captures))
12558 : 0 : return true;
12559 : : }
12560 : : }
12561 : : }
12562 : 988 : break;
12563 : : }
12564 : : default:;
12565 : : }
12566 : : }
12567 : : break;
12568 : 988 : default:;
12569 : : }
12570 : 988 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
12571 : : {
12572 : 208 : switch (TREE_CODE (_q51))
12573 : : {
12574 : 207 : case SSA_NAME:
12575 : 207 : if (gimple *_d3 = get_def (valueize, _q51))
12576 : : {
12577 : 201 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
12578 : 4 : switch (gimple_assign_rhs_code (_a3))
12579 : : {
12580 : 2 : case BIT_XOR_EXPR:
12581 : 2 : {
12582 : 2 : tree _q70 = gimple_assign_rhs1 (_a3);
12583 : 2 : _q70 = do_valueize (valueize, _q70);
12584 : 2 : tree _q71 = gimple_assign_rhs2 (_a3);
12585 : 2 : _q71 = do_valueize (valueize, _q71);
12586 : 2 : if (tree_swap_operands_p (_q70, _q71))
12587 : 0 : std::swap (_q70, _q71);
12588 : 2 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
12589 : : {
12590 : 2 : {
12591 : 2 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q71 };
12592 : 2 : if (gimple_simplify_128 (res_op, seq, valueize, type, captures))
12593 : 2 : return true;
12594 : : }
12595 : : }
12596 : 0 : if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
12597 : : {
12598 : 0 : {
12599 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q70 };
12600 : 0 : if (gimple_simplify_128 (res_op, seq, valueize, type, captures))
12601 : 0 : return true;
12602 : : }
12603 : : }
12604 : 986 : break;
12605 : : }
12606 : : default:;
12607 : : }
12608 : : }
12609 : : break;
12610 : : default:;
12611 : : }
12612 : : }
12613 : 986 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
12614 : : {
12615 : 401 : switch (TREE_CODE (_q51))
12616 : : {
12617 : 401 : case SSA_NAME:
12618 : 401 : if (gimple *_d3 = get_def (valueize, _q51))
12619 : : {
12620 : 380 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
12621 : 2 : switch (gimple_assign_rhs_code (_a3))
12622 : : {
12623 : 2 : case BIT_XOR_EXPR:
12624 : 2 : {
12625 : 2 : tree _q70 = gimple_assign_rhs1 (_a3);
12626 : 2 : _q70 = do_valueize (valueize, _q70);
12627 : 2 : tree _q71 = gimple_assign_rhs2 (_a3);
12628 : 2 : _q71 = do_valueize (valueize, _q71);
12629 : 2 : if (tree_swap_operands_p (_q70, _q71))
12630 : 0 : std::swap (_q70, _q71);
12631 : 2 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
12632 : : {
12633 : 2 : {
12634 : 2 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q71 };
12635 : 2 : if (gimple_simplify_128 (res_op, seq, valueize, type, captures))
12636 : 2 : return true;
12637 : : }
12638 : : }
12639 : 0 : if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
12640 : : {
12641 : 0 : {
12642 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q70 };
12643 : 0 : if (gimple_simplify_128 (res_op, seq, valueize, type, captures))
12644 : 0 : return true;
12645 : : }
12646 : : }
12647 : 14237 : break;
12648 : : }
12649 : : default:;
12650 : : }
12651 : : }
12652 : : break;
12653 : : default:;
12654 : : }
12655 : : }
12656 : 14237 : break;
12657 : : }
12658 : : default:;
12659 : : }
12660 : : }
12661 : : break;
12662 : 14237 : default:;
12663 : : }
12664 : 14237 : switch (TREE_CODE (_q20))
12665 : : {
12666 : 14237 : case SSA_NAME:
12667 : 14237 : if (gimple *_d2 = get_def (valueize, _q20))
12668 : : {
12669 : 13048 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
12670 : 11935 : switch (gimple_assign_rhs_code (_a2))
12671 : : {
12672 : 201 : case BIT_XOR_EXPR:
12673 : 201 : {
12674 : 201 : tree _q30 = gimple_assign_rhs1 (_a2);
12675 : 201 : _q30 = do_valueize (valueize, _q30);
12676 : 201 : tree _q31 = gimple_assign_rhs2 (_a2);
12677 : 201 : _q31 = do_valueize (valueize, _q31);
12678 : 201 : if (tree_swap_operands_p (_q30, _q31))
12679 : 3 : std::swap (_q30, _q31);
12680 : 201 : switch (TREE_CODE (_p1))
12681 : : {
12682 : 155 : case SSA_NAME:
12683 : 155 : if (gimple *_d3 = get_def (valueize, _p1))
12684 : : {
12685 : 155 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
12686 : 165 : switch (gimple_assign_rhs_code (_a3))
12687 : : {
12688 : 0 : case BIT_XOR_EXPR:
12689 : 0 : {
12690 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
12691 : 0 : _q70 = do_valueize (valueize, _q70);
12692 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
12693 : 0 : _q71 = do_valueize (valueize, _q71);
12694 : 0 : if (tree_swap_operands_p (_q70, _q71))
12695 : 0 : std::swap (_q70, _q71);
12696 : 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
12697 : : {
12698 : 0 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
12699 : : {
12700 : 0 : {
12701 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _q30, _q31 };
12702 : 0 : if (gimple_simplify_129 (res_op, seq, valueize, type, captures))
12703 : 0 : return true;
12704 : : }
12705 : : }
12706 : 0 : if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
12707 : : {
12708 : 0 : {
12709 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _q31, _q30 };
12710 : 0 : if (gimple_simplify_129 (res_op, seq, valueize, type, captures))
12711 : 0 : return true;
12712 : : }
12713 : : }
12714 : : }
12715 : 0 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
12716 : : {
12717 : 0 : if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
12718 : : {
12719 : 0 : {
12720 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _q30, _q31 };
12721 : 0 : if (gimple_simplify_129 (res_op, seq, valueize, type, captures))
12722 : 0 : return true;
12723 : : }
12724 : : }
12725 : : }
12726 : 0 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
12727 : : {
12728 : 0 : if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
12729 : : {
12730 : 0 : {
12731 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _q31, _q30 };
12732 : 0 : if (gimple_simplify_129 (res_op, seq, valueize, type, captures))
12733 : 0 : return true;
12734 : : }
12735 : : }
12736 : : }
12737 : 14237 : break;
12738 : : }
12739 : : default:;
12740 : : }
12741 : : }
12742 : : break;
12743 : : default:;
12744 : : }
12745 : 14237 : break;
12746 : : }
12747 : : default:;
12748 : : }
12749 : : }
12750 : : break;
12751 : 14237 : default:;
12752 : : }
12753 : 14237 : switch (TREE_CODE (_q21))
12754 : : {
12755 : 13069 : case SSA_NAME:
12756 : 13069 : if (gimple *_d2 = get_def (valueize, _q21))
12757 : : {
12758 : 12347 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
12759 : 10469 : switch (gimple_assign_rhs_code (_a2))
12760 : : {
12761 : 158 : case BIT_XOR_EXPR:
12762 : 158 : {
12763 : 158 : tree _q40 = gimple_assign_rhs1 (_a2);
12764 : 158 : _q40 = do_valueize (valueize, _q40);
12765 : 158 : tree _q41 = gimple_assign_rhs2 (_a2);
12766 : 158 : _q41 = do_valueize (valueize, _q41);
12767 : 158 : if (tree_swap_operands_p (_q40, _q41))
12768 : 6 : std::swap (_q40, _q41);
12769 : 158 : switch (TREE_CODE (_p1))
12770 : : {
12771 : 132 : case SSA_NAME:
12772 : 132 : if (gimple *_d3 = get_def (valueize, _p1))
12773 : : {
12774 : 132 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
12775 : 132 : switch (gimple_assign_rhs_code (_a3))
12776 : : {
12777 : 0 : case BIT_XOR_EXPR:
12778 : 0 : {
12779 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
12780 : 0 : _q70 = do_valueize (valueize, _q70);
12781 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
12782 : 0 : _q71 = do_valueize (valueize, _q71);
12783 : 0 : if (tree_swap_operands_p (_q70, _q71))
12784 : 0 : std::swap (_q70, _q71);
12785 : 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
12786 : : {
12787 : 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
12788 : : {
12789 : 0 : {
12790 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q40, _q41 };
12791 : 0 : if (gimple_simplify_129 (res_op, seq, valueize, type, captures))
12792 : 0 : return true;
12793 : : }
12794 : : }
12795 : 0 : if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
12796 : : {
12797 : 0 : {
12798 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q41, _q40 };
12799 : 0 : if (gimple_simplify_129 (res_op, seq, valueize, type, captures))
12800 : 0 : return true;
12801 : : }
12802 : : }
12803 : : }
12804 : 0 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
12805 : : {
12806 : 0 : if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
12807 : : {
12808 : 0 : {
12809 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q40, _q41 };
12810 : 0 : if (gimple_simplify_129 (res_op, seq, valueize, type, captures))
12811 : 0 : return true;
12812 : : }
12813 : : }
12814 : : }
12815 : 0 : if ((_q70 == _q41 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q41, 0) && types_match (_q70, _q41)))
12816 : : {
12817 : 0 : if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
12818 : : {
12819 : 0 : {
12820 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q41, _q40 };
12821 : 0 : if (gimple_simplify_129 (res_op, seq, valueize, type, captures))
12822 : 0 : return true;
12823 : : }
12824 : : }
12825 : : }
12826 : 4287728 : break;
12827 : : }
12828 : : default:;
12829 : : }
12830 : : }
12831 : : break;
12832 : : default:;
12833 : : }
12834 : 4287728 : break;
12835 : : }
12836 : : default:;
12837 : : }
12838 : : }
12839 : : break;
12840 : : default:;
12841 : : }
12842 : 4287728 : break;
12843 : : }
12844 : 23678 : case BIT_NOT_EXPR:
12845 : 23678 : {
12846 : 23678 : tree _q20 = gimple_assign_rhs1 (_a1);
12847 : 23678 : _q20 = do_valueize (valueize, _q20);
12848 : 23678 : switch (TREE_CODE (_q20))
12849 : : {
12850 : 23678 : case SSA_NAME:
12851 : 23678 : if (gimple *_d2 = get_def (valueize, _q20))
12852 : : {
12853 : 22432 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
12854 : 18421 : switch (gimple_assign_rhs_code (_a2))
12855 : : {
12856 : 1712 : case BIT_XOR_EXPR:
12857 : 1712 : {
12858 : 1712 : tree _q30 = gimple_assign_rhs1 (_a2);
12859 : 1712 : _q30 = do_valueize (valueize, _q30);
12860 : 1712 : tree _q31 = gimple_assign_rhs2 (_a2);
12861 : 1712 : _q31 = do_valueize (valueize, _q31);
12862 : 1712 : if (tree_swap_operands_p (_q30, _q31))
12863 : 27 : std::swap (_q30, _q31);
12864 : 1712 : switch (TREE_CODE (_p1))
12865 : : {
12866 : 1712 : case SSA_NAME:
12867 : 1712 : if (gimple *_d3 = get_def (valueize, _p1))
12868 : : {
12869 : 1708 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
12870 : 988 : switch (gimple_assign_rhs_code (_a3))
12871 : : {
12872 : 541 : case BIT_AND_EXPR:
12873 : 541 : {
12874 : 541 : tree _q60 = gimple_assign_rhs1 (_a3);
12875 : 541 : _q60 = do_valueize (valueize, _q60);
12876 : 541 : tree _q61 = gimple_assign_rhs2 (_a3);
12877 : 541 : _q61 = do_valueize (valueize, _q61);
12878 : 541 : if (tree_swap_operands_p (_q60, _q61))
12879 : 15 : std::swap (_q60, _q61);
12880 : 541 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
12881 : : {
12882 : 178 : if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
12883 : : {
12884 : 1 : {
12885 : 1 : tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
12886 : 1 : if (gimple_simplify_130 (res_op, seq, valueize, type, captures))
12887 : 1 : return true;
12888 : : }
12889 : : }
12890 : : }
12891 : 540 : if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
12892 : : {
12893 : 135 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
12894 : : {
12895 : 0 : {
12896 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
12897 : 0 : if (gimple_simplify_130 (res_op, seq, valueize, type, captures))
12898 : 0 : return true;
12899 : : }
12900 : : }
12901 : : }
12902 : 4287728 : break;
12903 : : }
12904 : : default:;
12905 : : }
12906 : : }
12907 : : break;
12908 : : default:;
12909 : : }
12910 : 4287728 : break;
12911 : : }
12912 : 1472 : case BIT_IOR_EXPR:
12913 : 1472 : {
12914 : 1472 : tree _q30 = gimple_assign_rhs1 (_a2);
12915 : 1472 : _q30 = do_valueize (valueize, _q30);
12916 : 1472 : tree _q31 = gimple_assign_rhs2 (_a2);
12917 : 1472 : _q31 = do_valueize (valueize, _q31);
12918 : 1472 : if (tree_swap_operands_p (_q30, _q31))
12919 : 1 : std::swap (_q30, _q31);
12920 : 1472 : if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
12921 : : {
12922 : 0 : {
12923 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q20, _q31 };
12924 : 0 : if (gimple_simplify_131 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
12925 : 0 : return true;
12926 : : }
12927 : : }
12928 : 1472 : if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
12929 : : {
12930 : 0 : {
12931 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q20, _q30 };
12932 : 0 : if (gimple_simplify_131 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
12933 : 0 : return true;
12934 : : }
12935 : : }
12936 : 4287728 : break;
12937 : : }
12938 : : default:;
12939 : : }
12940 : : }
12941 : : break;
12942 : : default:;
12943 : : }
12944 : : break;
12945 : : }
12946 : 266555 : case EQ_EXPR:
12947 : 266555 : {
12948 : 266555 : tree _q20 = gimple_assign_rhs1 (_a1);
12949 : 266555 : _q20 = do_valueize (valueize, _q20);
12950 : 266555 : tree _q21 = gimple_assign_rhs2 (_a1);
12951 : 266555 : _q21 = do_valueize (valueize, _q21);
12952 : 266555 : if (tree_swap_operands_p (_q20, _q21))
12953 : 337 : std::swap (_q20, _q21);
12954 : 266555 : switch (TREE_CODE (_p1))
12955 : : {
12956 : 264666 : case SSA_NAME:
12957 : 264666 : if (gimple *_d2 = get_def (valueize, _p1))
12958 : : {
12959 : 264008 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
12960 : 260469 : switch (gimple_assign_rhs_code (_a2))
12961 : : {
12962 : 2005 : case BIT_AND_EXPR:
12963 : 2005 : {
12964 : 2005 : tree _q50 = gimple_assign_rhs1 (_a2);
12965 : 2005 : _q50 = do_valueize (valueize, _q50);
12966 : 2005 : tree _q51 = gimple_assign_rhs2 (_a2);
12967 : 2005 : _q51 = do_valueize (valueize, _q51);
12968 : 2005 : if (tree_swap_operands_p (_q50, _q51))
12969 : 215 : std::swap (_q50, _q51);
12970 : 2005 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
12971 : : {
12972 : 1 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
12973 : : {
12974 : 1 : {
12975 : 1 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p0 };
12976 : 1 : if (gimple_simplify_132 (res_op, seq, valueize, type, captures))
12977 : 1 : return true;
12978 : : }
12979 : : }
12980 : : }
12981 : 2004 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
12982 : : {
12983 : 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
12984 : : {
12985 : 0 : {
12986 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p0 };
12987 : 0 : if (gimple_simplify_132 (res_op, seq, valueize, type, captures))
12988 : 0 : return true;
12989 : : }
12990 : : }
12991 : : }
12992 : 4287728 : break;
12993 : : }
12994 : : default:;
12995 : : }
12996 : : }
12997 : : break;
12998 : : default:;
12999 : : }
13000 : 4287728 : break;
13001 : : }
13002 : : default:;
13003 : : }
13004 : : }
13005 : : break;
13006 : 4287728 : default:;
13007 : : }
13008 : 4287728 : {
13009 : 4287728 : tree _p0_pops[1];
13010 : 4287728 : if (gimple_nop_convert (_p0, _p0_pops, valueize))
13011 : : {
13012 : 99653 : tree _q20 = _p0_pops[0];
13013 : 99653 : switch (TREE_CODE (_q20))
13014 : : {
13015 : 99621 : case SSA_NAME:
13016 : 99621 : if (gimple *_d1 = get_def (valueize, _q20))
13017 : : {
13018 : 98972 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
13019 : 18666 : switch (gimple_assign_rhs_code (_a1))
13020 : : {
13021 : 172 : case EQ_EXPR:
13022 : 172 : {
13023 : 172 : tree _q30 = gimple_assign_rhs1 (_a1);
13024 : 172 : _q30 = do_valueize (valueize, _q30);
13025 : 172 : tree _q31 = gimple_assign_rhs2 (_a1);
13026 : 172 : _q31 = do_valueize (valueize, _q31);
13027 : 172 : if (tree_swap_operands_p (_q30, _q31))
13028 : 0 : std::swap (_q30, _q31);
13029 : 172 : switch (TREE_CODE (_p1))
13030 : : {
13031 : 156 : case SSA_NAME:
13032 : 156 : if (gimple *_d2 = get_def (valueize, _p1))
13033 : : {
13034 : 156 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
13035 : 79 : switch (gimple_assign_rhs_code (_a2))
13036 : : {
13037 : 0 : case BIT_AND_EXPR:
13038 : 0 : {
13039 : 0 : tree _q60 = gimple_assign_rhs1 (_a2);
13040 : 0 : _q60 = do_valueize (valueize, _q60);
13041 : 0 : tree _q61 = gimple_assign_rhs2 (_a2);
13042 : 0 : _q61 = do_valueize (valueize, _q61);
13043 : 0 : if (tree_swap_operands_p (_q60, _q61))
13044 : 0 : std::swap (_q60, _q61);
13045 : 0 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
13046 : : {
13047 : 0 : if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
13048 : : {
13049 : 0 : {
13050 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
13051 : 0 : if (gimple_simplify_132 (res_op, seq, valueize, type, captures))
13052 : 0 : return true;
13053 : : }
13054 : : }
13055 : : }
13056 : 0 : if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
13057 : : {
13058 : 0 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
13059 : : {
13060 : 0 : {
13061 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
13062 : 0 : if (gimple_simplify_132 (res_op, seq, valueize, type, captures))
13063 : 0 : return true;
13064 : : }
13065 : : }
13066 : : }
13067 : 4287728 : break;
13068 : : }
13069 : : default:;
13070 : : }
13071 : : }
13072 : : break;
13073 : : default:;
13074 : : }
13075 : 4287728 : break;
13076 : : }
13077 : : default:;
13078 : : }
13079 : : }
13080 : : break;
13081 : : default:;
13082 : : }
13083 : : }
13084 : : }
13085 : 4287728 : if (integer_all_onesp (_p1))
13086 : : {
13087 : 22266 : {
13088 : 22266 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
13089 : 22266 : gimple_seq *lseq = seq;
13090 : 22266 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2212;
13091 : 22266 : {
13092 : 22266 : tree tem;
13093 : 22266 : tem = captures[1];
13094 : 22266 : res_op->set_value (tem);
13095 : 22266 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1109, __FILE__, __LINE__, true);
13096 : 22266 : return true;
13097 : : }
13098 : 0 : next_after_fail2212:;
13099 : : }
13100 : : }
13101 : 4265462 : if (integer_zerop (_p1))
13102 : : {
13103 : 0 : {
13104 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
13105 : 0 : gimple_seq *lseq = seq;
13106 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2213;
13107 : 0 : {
13108 : 0 : tree tem;
13109 : 0 : tem = captures[0];
13110 : 0 : res_op->set_value (tem);
13111 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1110, __FILE__, __LINE__, true);
13112 : 0 : return true;
13113 : : }
13114 : 0 : next_after_fail2213:;
13115 : : }
13116 : : }
13117 : 4265462 : switch (TREE_CODE (_p0))
13118 : : {
13119 : 4208243 : case SSA_NAME:
13120 : 4208243 : if (gimple *_d1 = get_def (valueize, _p0))
13121 : : {
13122 : 3348014 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
13123 : 3552655 : switch (gimple_assign_rhs_code (_a1))
13124 : : {
13125 : 202691 : CASE_CONVERT:
13126 : 202691 : {
13127 : 202691 : tree _q20 = gimple_assign_rhs1 (_a1);
13128 : 202691 : _q20 = do_valueize (valueize, _q20);
13129 : 202691 : switch (TREE_CODE (_p1))
13130 : : {
13131 : 179690 : case SSA_NAME:
13132 : 179690 : if (gimple *_d2 = get_def (valueize, _p1))
13133 : : {
13134 : 173900 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
13135 : 169936 : switch (gimple_assign_rhs_code (_a2))
13136 : : {
13137 : 101885 : CASE_CONVERT:
13138 : 101885 : {
13139 : 101885 : tree _q40 = gimple_assign_rhs1 (_a2);
13140 : 101885 : _q40 = do_valueize (valueize, _q40);
13141 : 101885 : {
13142 : 101885 : tree _q40_pops[1];
13143 : 101885 : if (gimple_maybe_bit_not (_q40, _q40_pops, valueize))
13144 : : {
13145 : 2069 : tree _q50 = _q40_pops[0];
13146 : 2069 : {
13147 : 2069 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
13148 : 2069 : if (gimple_simplify_15 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
13149 : 0 : return true;
13150 : : }
13151 : : }
13152 : : }
13153 : 101885 : break;
13154 : : }
13155 : : default:;
13156 : : }
13157 : : }
13158 : : break;
13159 : 202691 : default:;
13160 : : }
13161 : 202691 : {
13162 : 202691 : tree _q20_pops[1];
13163 : 202691 : if (gimple_maybe_bit_not (_q20, _q20_pops, valueize))
13164 : : {
13165 : 11859 : tree _q30 = _q20_pops[0];
13166 : 11859 : switch (TREE_CODE (_p1))
13167 : : {
13168 : 11580 : case SSA_NAME:
13169 : 11580 : if (gimple *_d2 = get_def (valueize, _p1))
13170 : : {
13171 : 10778 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
13172 : 7988 : switch (gimple_assign_rhs_code (_a2))
13173 : : {
13174 : 949 : CASE_CONVERT:
13175 : 949 : {
13176 : 949 : tree _q50 = gimple_assign_rhs1 (_a2);
13177 : 949 : _q50 = do_valueize (valueize, _q50);
13178 : 949 : {
13179 : 949 : tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
13180 : 949 : if (gimple_simplify_15 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
13181 : 0 : return true;
13182 : : }
13183 : 949 : break;
13184 : : }
13185 : : default:;
13186 : : }
13187 : : }
13188 : : break;
13189 : : default:;
13190 : : }
13191 : : }
13192 : : }
13193 : 202691 : break;
13194 : : }
13195 : : default:;
13196 : : }
13197 : : }
13198 : : break;
13199 : 4265462 : default:;
13200 : : }
13201 : 4265462 : {
13202 : 4265462 : tree _p1_pops[1];
13203 : 4265462 : if (gimple_maybe_bit_not (_p1, _p1_pops, valueize))
13204 : : {
13205 : 2289618 : tree _q30 = _p1_pops[0];
13206 : 2289618 : {
13207 : 2289618 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
13208 : 2289618 : if (gimple_simplify_15 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
13209 : 272 : return true;
13210 : : }
13211 : : }
13212 : : }
13213 : 4265190 : {
13214 : 4265190 : tree _p0_pops[1];
13215 : 4265190 : if (gimple_maybe_bit_not (_p0, _p0_pops, valueize))
13216 : : {
13217 : 1386910 : tree _q20 = _p0_pops[0];
13218 : 1386910 : {
13219 : 1386910 : tree captures[2] ATTRIBUTE_UNUSED = { _p1, _q20 };
13220 : 1386910 : if (gimple_simplify_15 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
13221 : 6 : return true;
13222 : : }
13223 : : }
13224 : : }
13225 : 4265184 : if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
13226 : : {
13227 : 10379 : {
13228 : 10379 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
13229 : 10379 : if (gimple_simplify_133 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
13230 : 10379 : return true;
13231 : : }
13232 : : }
13233 : 4254805 : switch (TREE_CODE (_p0))
13234 : : {
13235 : 4197586 : case SSA_NAME:
13236 : 4197586 : {
13237 : 4197586 : switch (TREE_CODE (_p1))
13238 : : {
13239 : 871081 : case INTEGER_CST:
13240 : 871081 : {
13241 : 871081 : {
13242 : 871081 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
13243 : 1506919 : if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
13244 : 2378012 : && wi::bit_and_not (get_nonzero_bits (captures[0]), wi::to_wide (captures[1])) == 0
13245 : : )
13246 : : {
13247 : 4421 : gimple_seq *lseq = seq;
13248 : 4421 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2214;
13249 : 4421 : {
13250 : 4421 : tree tem;
13251 : 4421 : tem = captures[1];
13252 : 4421 : res_op->set_value (tem);
13253 : 4421 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1111, __FILE__, __LINE__, true);
13254 : 4421 : return true;
13255 : : }
13256 : 0 : next_after_fail2214:;
13257 : : }
13258 : : }
13259 : 866660 : break;
13260 : : }
13261 : : default:;
13262 : : }
13263 : : break;
13264 : : }
13265 : 4250384 : default:;
13266 : : }
13267 : 4250384 : switch (TREE_CODE (_p1))
13268 : : {
13269 : 3349177 : case SSA_NAME:
13270 : 3349177 : if (gimple *_d1 = get_def (valueize, _p1))
13271 : : {
13272 : 2732657 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
13273 : 2643562 : switch (gimple_assign_rhs_code (_a1))
13274 : : {
13275 : 11389 : case BIT_NOT_EXPR:
13276 : 11389 : {
13277 : 11389 : tree _q30 = gimple_assign_rhs1 (_a1);
13278 : 11389 : _q30 = do_valueize (valueize, _q30);
13279 : 11389 : switch (TREE_CODE (_q30))
13280 : : {
13281 : 11389 : case SSA_NAME:
13282 : 11389 : if (gimple *_d2 = get_def (valueize, _q30))
13283 : : {
13284 : 11011 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
13285 : 10761 : switch (gimple_assign_rhs_code (_a2))
13286 : : {
13287 : 745 : case BIT_IOR_EXPR:
13288 : 745 : {
13289 : 745 : tree _q40 = gimple_assign_rhs1 (_a2);
13290 : 745 : _q40 = do_valueize (valueize, _q40);
13291 : 745 : tree _q41 = gimple_assign_rhs2 (_a2);
13292 : 745 : _q41 = do_valueize (valueize, _q41);
13293 : 745 : if (tree_swap_operands_p (_q40, _q41))
13294 : 6 : std::swap (_q40, _q41);
13295 : 745 : if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
13296 : : {
13297 : 6 : {
13298 : 6 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q41 };
13299 : 6 : if (gimple_simplify_131 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
13300 : 6 : return true;
13301 : : }
13302 : : }
13303 : 739 : if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
13304 : : {
13305 : 0 : {
13306 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q40 };
13307 : 0 : if (gimple_simplify_131 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
13308 : 0 : return true;
13309 : : }
13310 : : }
13311 : 4250378 : break;
13312 : : }
13313 : : default:;
13314 : : }
13315 : : }
13316 : : break;
13317 : : default:;
13318 : : }
13319 : : break;
13320 : : }
13321 : : default:;
13322 : : }
13323 : : }
13324 : : break;
13325 : 4250378 : default:;
13326 : : }
13327 : 4250378 : switch (TREE_CODE (_p0))
13328 : : {
13329 : 4193159 : case SSA_NAME:
13330 : 4193159 : if (gimple *_d1 = get_def (valueize, _p0))
13331 : : {
13332 : 3336080 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
13333 : 3543286 : switch (gimple_assign_rhs_code (_a1))
13334 : : {
13335 : 321249 : case BIT_AND_EXPR:
13336 : 321249 : {
13337 : 321249 : tree _q20 = gimple_assign_rhs1 (_a1);
13338 : 321249 : _q20 = do_valueize (valueize, _q20);
13339 : 321249 : tree _q21 = gimple_assign_rhs2 (_a1);
13340 : 321249 : _q21 = do_valueize (valueize, _q21);
13341 : 321249 : if (tree_swap_operands_p (_q20, _q21))
13342 : 8718 : std::swap (_q20, _q21);
13343 : 321249 : switch (TREE_CODE (_q20))
13344 : : {
13345 : 321249 : case SSA_NAME:
13346 : 321249 : if (gimple *_d2 = get_def (valueize, _q20))
13347 : : {
13348 : 283193 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
13349 : 263412 : switch (gimple_assign_rhs_code (_a2))
13350 : : {
13351 : 6600 : case BIT_NOT_EXPR:
13352 : 6600 : {
13353 : 6600 : tree _q30 = gimple_assign_rhs1 (_a2);
13354 : 6600 : _q30 = do_valueize (valueize, _q30);
13355 : 6600 : switch (TREE_CODE (_p1))
13356 : : {
13357 : 6456 : case SSA_NAME:
13358 : 6456 : if (gimple *_d3 = get_def (valueize, _p1))
13359 : : {
13360 : 6428 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
13361 : 5539 : switch (gimple_assign_rhs_code (_a3))
13362 : : {
13363 : 270 : case BIT_NOT_EXPR:
13364 : 270 : {
13365 : 270 : tree _q60 = gimple_assign_rhs1 (_a3);
13366 : 270 : _q60 = do_valueize (valueize, _q60);
13367 : 270 : switch (TREE_CODE (_q60))
13368 : : {
13369 : 270 : case SSA_NAME:
13370 : 270 : if (gimple *_d4 = get_def (valueize, _q60))
13371 : : {
13372 : 270 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
13373 : 0 : switch (gimple_assign_rhs_code (_a4))
13374 : : {
13375 : 0 : case BIT_IOR_EXPR:
13376 : 0 : {
13377 : 0 : tree _q70 = gimple_assign_rhs1 (_a4);
13378 : 0 : _q70 = do_valueize (valueize, _q70);
13379 : 0 : tree _q71 = gimple_assign_rhs2 (_a4);
13380 : 0 : _q71 = do_valueize (valueize, _q71);
13381 : 0 : if (tree_swap_operands_p (_q70, _q71))
13382 : 0 : std::swap (_q70, _q71);
13383 : 0 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
13384 : : {
13385 : 0 : if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
13386 : : {
13387 : 0 : {
13388 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
13389 : 0 : if (gimple_simplify_134 (res_op, seq, valueize, type, captures))
13390 : 0 : return true;
13391 : : }
13392 : : }
13393 : : }
13394 : 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
13395 : : {
13396 : 0 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
13397 : : {
13398 : 0 : {
13399 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
13400 : 0 : if (gimple_simplify_134 (res_op, seq, valueize, type, captures))
13401 : 0 : return true;
13402 : : }
13403 : : }
13404 : : }
13405 : 321249 : break;
13406 : : }
13407 : : default:;
13408 : : }
13409 : : }
13410 : : break;
13411 : : default:;
13412 : : }
13413 : : break;
13414 : : }
13415 : : default:;
13416 : : }
13417 : : }
13418 : : break;
13419 : : default:;
13420 : : }
13421 : : break;
13422 : : }
13423 : : default:;
13424 : : }
13425 : : }
13426 : : break;
13427 : 321249 : default:;
13428 : : }
13429 : 321249 : switch (TREE_CODE (_q21))
13430 : : {
13431 : 136810 : case SSA_NAME:
13432 : 136810 : if (gimple *_d2 = get_def (valueize, _q21))
13433 : : {
13434 : 116720 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
13435 : 135910 : switch (gimple_assign_rhs_code (_a2))
13436 : : {
13437 : 2662 : case BIT_NOT_EXPR:
13438 : 2662 : {
13439 : 2662 : tree _q40 = gimple_assign_rhs1 (_a2);
13440 : 2662 : _q40 = do_valueize (valueize, _q40);
13441 : 2662 : switch (TREE_CODE (_p1))
13442 : : {
13443 : 2662 : case SSA_NAME:
13444 : 2662 : if (gimple *_d3 = get_def (valueize, _p1))
13445 : : {
13446 : 2622 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
13447 : 2377 : switch (gimple_assign_rhs_code (_a3))
13448 : : {
13449 : 2 : case BIT_NOT_EXPR:
13450 : 2 : {
13451 : 2 : tree _q60 = gimple_assign_rhs1 (_a3);
13452 : 2 : _q60 = do_valueize (valueize, _q60);
13453 : 2 : switch (TREE_CODE (_q60))
13454 : : {
13455 : 2 : case SSA_NAME:
13456 : 2 : if (gimple *_d4 = get_def (valueize, _q60))
13457 : : {
13458 : 2 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
13459 : 2 : switch (gimple_assign_rhs_code (_a4))
13460 : : {
13461 : 2 : case BIT_IOR_EXPR:
13462 : 2 : {
13463 : 2 : tree _q70 = gimple_assign_rhs1 (_a4);
13464 : 2 : _q70 = do_valueize (valueize, _q70);
13465 : 2 : tree _q71 = gimple_assign_rhs2 (_a4);
13466 : 2 : _q71 = do_valueize (valueize, _q71);
13467 : 2 : if (tree_swap_operands_p (_q70, _q71))
13468 : 0 : std::swap (_q70, _q71);
13469 : 2 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
13470 : : {
13471 : 0 : if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
13472 : : {
13473 : 0 : {
13474 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
13475 : 0 : if (gimple_simplify_134 (res_op, seq, valueize, type, captures))
13476 : 0 : return true;
13477 : : }
13478 : : }
13479 : : }
13480 : 2 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
13481 : : {
13482 : 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
13483 : : {
13484 : 0 : {
13485 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
13486 : 0 : if (gimple_simplify_134 (res_op, seq, valueize, type, captures))
13487 : 0 : return true;
13488 : : }
13489 : : }
13490 : : }
13491 : 321249 : break;
13492 : : }
13493 : : default:;
13494 : : }
13495 : : }
13496 : : break;
13497 : : default:;
13498 : : }
13499 : : break;
13500 : : }
13501 : : default:;
13502 : : }
13503 : : }
13504 : : break;
13505 : : default:;
13506 : : }
13507 : : break;
13508 : : }
13509 : : default:;
13510 : : }
13511 : : }
13512 : : break;
13513 : 321249 : default:;
13514 : : }
13515 : 321249 : switch (TREE_CODE (_p1))
13516 : : {
13517 : 180637 : case SSA_NAME:
13518 : 180637 : if (gimple *_d2 = get_def (valueize, _p1))
13519 : : {
13520 : 179499 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
13521 : 176021 : switch (gimple_assign_rhs_code (_a2))
13522 : : {
13523 : 1333 : case BIT_NOT_EXPR:
13524 : 1333 : {
13525 : 1333 : tree _q50 = gimple_assign_rhs1 (_a2);
13526 : 1333 : _q50 = do_valueize (valueize, _q50);
13527 : 1333 : switch (TREE_CODE (_q50))
13528 : : {
13529 : 1333 : case SSA_NAME:
13530 : 1333 : if (gimple *_d3 = get_def (valueize, _q50))
13531 : : {
13532 : 1332 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
13533 : 151 : switch (gimple_assign_rhs_code (_a3))
13534 : : {
13535 : 146 : case BIT_IOR_EXPR:
13536 : 146 : {
13537 : 146 : tree _q60 = gimple_assign_rhs1 (_a3);
13538 : 146 : _q60 = do_valueize (valueize, _q60);
13539 : 146 : tree _q61 = gimple_assign_rhs2 (_a3);
13540 : 146 : _q61 = do_valueize (valueize, _q61);
13541 : 146 : if (tree_swap_operands_p (_q60, _q61))
13542 : 0 : std::swap (_q60, _q61);
13543 : 146 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
13544 : : {
13545 : 0 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
13546 : : {
13547 : 0 : {
13548 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
13549 : 0 : if (gimple_simplify_135 (res_op, seq, valueize, type, captures))
13550 : 0 : return true;
13551 : : }
13552 : : }
13553 : : }
13554 : 4247635 : break;
13555 : : }
13556 : : default:;
13557 : : }
13558 : : }
13559 : : break;
13560 : : default:;
13561 : : }
13562 : : break;
13563 : : }
13564 : 855 : case BIT_XOR_EXPR:
13565 : 855 : {
13566 : 855 : tree _q50 = gimple_assign_rhs1 (_a2);
13567 : 855 : _q50 = do_valueize (valueize, _q50);
13568 : 855 : tree _q51 = gimple_assign_rhs2 (_a2);
13569 : 855 : _q51 = do_valueize (valueize, _q51);
13570 : 855 : if (tree_swap_operands_p (_q50, _q51))
13571 : 31 : std::swap (_q50, _q51);
13572 : 855 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
13573 : : {
13574 : 8 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
13575 : : {
13576 : 8 : {
13577 : 8 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
13578 : 8 : if (gimple_simplify_23 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
13579 : 8 : return true;
13580 : : }
13581 : : }
13582 : : }
13583 : 4247635 : break;
13584 : : }
13585 : 141215 : case BIT_AND_EXPR:
13586 : 141215 : {
13587 : 141215 : tree _q50 = gimple_assign_rhs1 (_a2);
13588 : 141215 : _q50 = do_valueize (valueize, _q50);
13589 : 141215 : tree _q51 = gimple_assign_rhs2 (_a2);
13590 : 141215 : _q51 = do_valueize (valueize, _q51);
13591 : 141215 : if (tree_swap_operands_p (_q50, _q51))
13592 : 7606 : std::swap (_q50, _q51);
13593 : 141215 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
13594 : : {
13595 : 1717 : {
13596 : 1717 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q20 };
13597 : 1717 : if (gimple_simplify_30 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
13598 : 1597 : return true;
13599 : : }
13600 : : }
13601 : 139618 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
13602 : : {
13603 : 130 : {
13604 : 130 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q20 };
13605 : 130 : if (gimple_simplify_30 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
13606 : 76 : return true;
13607 : : }
13608 : : }
13609 : 139542 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
13610 : : {
13611 : 231 : {
13612 : 231 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q21 };
13613 : 231 : if (gimple_simplify_30 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
13614 : 136 : return true;
13615 : : }
13616 : : }
13617 : 139406 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q21, 0))
13618 : : {
13619 : 785 : {
13620 : 785 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q21 };
13621 : 785 : if (gimple_simplify_30 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
13622 : 439 : return true;
13623 : : }
13624 : : }
13625 : 4247635 : break;
13626 : : }
13627 : : default:;
13628 : : }
13629 : : }
13630 : : break;
13631 : : default:;
13632 : : }
13633 : 4247635 : break;
13634 : : }
13635 : 23651 : case BIT_NOT_EXPR:
13636 : 23651 : {
13637 : 23651 : tree _q20 = gimple_assign_rhs1 (_a1);
13638 : 23651 : _q20 = do_valueize (valueize, _q20);
13639 : 23651 : switch (TREE_CODE (_q20))
13640 : : {
13641 : 23651 : case SSA_NAME:
13642 : 23651 : if (gimple *_d2 = get_def (valueize, _q20))
13643 : : {
13644 : 22417 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
13645 : 18397 : switch (gimple_assign_rhs_code (_a2))
13646 : : {
13647 : 1472 : case BIT_IOR_EXPR:
13648 : 1472 : {
13649 : 1472 : tree _q30 = gimple_assign_rhs1 (_a2);
13650 : 1472 : _q30 = do_valueize (valueize, _q30);
13651 : 1472 : tree _q31 = gimple_assign_rhs2 (_a2);
13652 : 1472 : _q31 = do_valueize (valueize, _q31);
13653 : 1472 : if (tree_swap_operands_p (_q30, _q31))
13654 : 1 : std::swap (_q30, _q31);
13655 : 1472 : switch (TREE_CODE (_p1))
13656 : : {
13657 : 1468 : case SSA_NAME:
13658 : 1468 : if (gimple *_d3 = get_def (valueize, _p1))
13659 : : {
13660 : 1468 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
13661 : 721 : switch (gimple_assign_rhs_code (_a3))
13662 : : {
13663 : 270 : case BIT_AND_EXPR:
13664 : 270 : {
13665 : 270 : tree _q60 = gimple_assign_rhs1 (_a3);
13666 : 270 : _q60 = do_valueize (valueize, _q60);
13667 : 270 : tree _q61 = gimple_assign_rhs2 (_a3);
13668 : 270 : _q61 = do_valueize (valueize, _q61);
13669 : 270 : if (tree_swap_operands_p (_q60, _q61))
13670 : 9 : std::swap (_q60, _q61);
13671 : 270 : switch (TREE_CODE (_q60))
13672 : : {
13673 : 270 : case SSA_NAME:
13674 : 270 : if (gimple *_d4 = get_def (valueize, _q60))
13675 : : {
13676 : 216 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
13677 : 0 : switch (gimple_assign_rhs_code (_a4))
13678 : : {
13679 : 0 : case BIT_NOT_EXPR:
13680 : 0 : {
13681 : 0 : tree _q70 = gimple_assign_rhs1 (_a4);
13682 : 0 : _q70 = do_valueize (valueize, _q70);
13683 : 0 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
13684 : : {
13685 : 0 : if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
13686 : : {
13687 : 0 : {
13688 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q60, _q30, _q31 };
13689 : 0 : if (gimple_simplify_136 (res_op, seq, valueize, type, captures))
13690 : 0 : return true;
13691 : : }
13692 : : }
13693 : : }
13694 : 0 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
13695 : : {
13696 : 0 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
13697 : : {
13698 : 0 : {
13699 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q60, _q31, _q30 };
13700 : 0 : if (gimple_simplify_136 (res_op, seq, valueize, type, captures))
13701 : 0 : return true;
13702 : : }
13703 : : }
13704 : : }
13705 : : break;
13706 : : }
13707 : : default:;
13708 : : }
13709 : : }
13710 : : break;
13711 : 270 : default:;
13712 : : }
13713 : 270 : if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
13714 : : {
13715 : 135 : switch (TREE_CODE (_q61))
13716 : : {
13717 : 135 : case SSA_NAME:
13718 : 135 : if (gimple *_d4 = get_def (valueize, _q61))
13719 : : {
13720 : 135 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
13721 : 0 : switch (gimple_assign_rhs_code (_a4))
13722 : : {
13723 : 0 : case BIT_NOT_EXPR:
13724 : 0 : {
13725 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
13726 : 0 : _q80 = do_valueize (valueize, _q80);
13727 : 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
13728 : : {
13729 : 0 : {
13730 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q61, _q30, _q31 };
13731 : 0 : if (gimple_simplify_136 (res_op, seq, valueize, type, captures))
13732 : 0 : return true;
13733 : : }
13734 : : }
13735 : : break;
13736 : : }
13737 : : default:;
13738 : : }
13739 : : }
13740 : : break;
13741 : : default:;
13742 : : }
13743 : : }
13744 : 270 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
13745 : : {
13746 : 135 : switch (TREE_CODE (_q61))
13747 : : {
13748 : 135 : case SSA_NAME:
13749 : 135 : if (gimple *_d4 = get_def (valueize, _q61))
13750 : : {
13751 : 135 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
13752 : 0 : switch (gimple_assign_rhs_code (_a4))
13753 : : {
13754 : 0 : case BIT_NOT_EXPR:
13755 : 0 : {
13756 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
13757 : 0 : _q80 = do_valueize (valueize, _q80);
13758 : 0 : if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
13759 : : {
13760 : 0 : {
13761 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q61, _q31, _q30 };
13762 : 0 : if (gimple_simplify_136 (res_op, seq, valueize, type, captures))
13763 : 0 : return true;
13764 : : }
13765 : : }
13766 : : break;
13767 : : }
13768 : : default:;
13769 : : }
13770 : : }
13771 : : break;
13772 : 135 : default:;
13773 : : }
13774 : 135 : if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
13775 : : {
13776 : 0 : {
13777 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0, _q20 };
13778 : 0 : if (gimple_simplify_135 (res_op, seq, valueize, type, captures))
13779 : 0 : return true;
13780 : : }
13781 : : }
13782 : : }
13783 : 23651 : break;
13784 : : }
13785 : 405 : case BIT_XOR_EXPR:
13786 : 405 : {
13787 : 405 : tree _q60 = gimple_assign_rhs1 (_a3);
13788 : 405 : _q60 = do_valueize (valueize, _q60);
13789 : 405 : tree _q61 = gimple_assign_rhs2 (_a3);
13790 : 405 : _q61 = do_valueize (valueize, _q61);
13791 : 405 : if (tree_swap_operands_p (_q60, _q61))
13792 : 18 : std::swap (_q60, _q61);
13793 : 405 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
13794 : : {
13795 : 180 : if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
13796 : : {
13797 : 0 : {
13798 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0, _q20 };
13799 : 0 : if (gimple_simplify_137 (res_op, seq, valueize, type, captures))
13800 : 0 : return true;
13801 : : }
13802 : : }
13803 : : }
13804 : 23651 : break;
13805 : : }
13806 : : default:;
13807 : : }
13808 : : }
13809 : : break;
13810 : : default:;
13811 : : }
13812 : 23651 : break;
13813 : : }
13814 : : default:;
13815 : : }
13816 : : }
13817 : : break;
13818 : 23651 : default:;
13819 : : }
13820 : 23651 : switch (TREE_CODE (_p1))
13821 : : {
13822 : 23522 : case SSA_NAME:
13823 : 23522 : if (gimple *_d2 = get_def (valueize, _p1))
13824 : : {
13825 : 22961 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
13826 : 17330 : switch (gimple_assign_rhs_code (_a2))
13827 : : {
13828 : 781 : CASE_CONVERT:
13829 : 781 : {
13830 : 781 : tree _q40 = gimple_assign_rhs1 (_a2);
13831 : 781 : _q40 = do_valueize (valueize, _q40);
13832 : 781 : switch (TREE_CODE (_q40))
13833 : : {
13834 : 781 : case SSA_NAME:
13835 : 781 : if (gimple *_d3 = get_def (valueize, _q40))
13836 : : {
13837 : 757 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
13838 : 932 : switch (gimple_assign_rhs_code (_a3))
13839 : : {
13840 : 103 : case BIT_NOT_EXPR:
13841 : 103 : {
13842 : 103 : tree _q50 = gimple_assign_rhs1 (_a3);
13843 : 103 : _q50 = do_valueize (valueize, _q50);
13844 : 103 : {
13845 : 103 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
13846 : 103 : if (gimple_simplify_138 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
13847 : 16 : return true;
13848 : : }
13849 : 87 : break;
13850 : : }
13851 : : default:;
13852 : : }
13853 : : }
13854 : : break;
13855 : : default:;
13856 : : }
13857 : : break;
13858 : : }
13859 : 822 : case BIT_NOT_EXPR:
13860 : 822 : {
13861 : 822 : tree _q40 = gimple_assign_rhs1 (_a2);
13862 : 822 : _q40 = do_valueize (valueize, _q40);
13863 : 822 : {
13864 : 822 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
13865 : 822 : if (gimple_simplify_138 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
13866 : 351 : return true;
13867 : : }
13868 : 471 : break;
13869 : : }
13870 : : default:;
13871 : : }
13872 : : }
13873 : : break;
13874 : : default:;
13875 : : }
13876 : : break;
13877 : : }
13878 : 14236 : case BIT_XOR_EXPR:
13879 : 14236 : {
13880 : 14236 : tree _q20 = gimple_assign_rhs1 (_a1);
13881 : 14236 : _q20 = do_valueize (valueize, _q20);
13882 : 14236 : tree _q21 = gimple_assign_rhs2 (_a1);
13883 : 14236 : _q21 = do_valueize (valueize, _q21);
13884 : 14236 : if (tree_swap_operands_p (_q20, _q21))
13885 : 709 : std::swap (_q20, _q21);
13886 : 14236 : switch (TREE_CODE (_p1))
13887 : : {
13888 : 8925 : case SSA_NAME:
13889 : 8925 : if (gimple *_d2 = get_def (valueize, _p1))
13890 : : {
13891 : 8690 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
13892 : 5086 : switch (gimple_assign_rhs_code (_a2))
13893 : : {
13894 : 727 : case BIT_NOT_EXPR:
13895 : 727 : {
13896 : 727 : tree _q50 = gimple_assign_rhs1 (_a2);
13897 : 727 : _q50 = do_valueize (valueize, _q50);
13898 : 727 : switch (TREE_CODE (_q50))
13899 : : {
13900 : 727 : case SSA_NAME:
13901 : 727 : if (gimple *_d3 = get_def (valueize, _q50))
13902 : : {
13903 : 727 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
13904 : 298 : switch (gimple_assign_rhs_code (_a3))
13905 : : {
13906 : 290 : case BIT_IOR_EXPR:
13907 : 290 : {
13908 : 290 : tree _q60 = gimple_assign_rhs1 (_a3);
13909 : 290 : _q60 = do_valueize (valueize, _q60);
13910 : 290 : tree _q61 = gimple_assign_rhs2 (_a3);
13911 : 290 : _q61 = do_valueize (valueize, _q61);
13912 : 290 : if (tree_swap_operands_p (_q60, _q61))
13913 : 6 : std::swap (_q60, _q61);
13914 : 290 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
13915 : : {
13916 : 48 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
13917 : : {
13918 : 0 : {
13919 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
13920 : 0 : if (gimple_simplify_137 (res_op, seq, valueize, type, captures))
13921 : 0 : return true;
13922 : : }
13923 : : }
13924 : : }
13925 : 4247635 : break;
13926 : : }
13927 : : default:;
13928 : : }
13929 : : }
13930 : : break;
13931 : : default:;
13932 : : }
13933 : : break;
13934 : : }
13935 : 1557 : case BIT_AND_EXPR:
13936 : 1557 : {
13937 : 1557 : tree _q50 = gimple_assign_rhs1 (_a2);
13938 : 1557 : _q50 = do_valueize (valueize, _q50);
13939 : 1557 : tree _q51 = gimple_assign_rhs2 (_a2);
13940 : 1557 : _q51 = do_valueize (valueize, _q51);
13941 : 1557 : if (tree_swap_operands_p (_q50, _q51))
13942 : 57 : std::swap (_q50, _q51);
13943 : 1557 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
13944 : : {
13945 : 674 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
13946 : : {
13947 : 8 : {
13948 : 8 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
13949 : 8 : if (gimple_simplify_23 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
13950 : 8 : return true;
13951 : : }
13952 : : }
13953 : : }
13954 : 4247635 : break;
13955 : : }
13956 : : default:;
13957 : : }
13958 : : }
13959 : : break;
13960 : : default:;
13961 : : }
13962 : 4247635 : break;
13963 : : }
13964 : 202658 : CASE_CONVERT:
13965 : 202658 : {
13966 : 202658 : tree _q20 = gimple_assign_rhs1 (_a1);
13967 : 202658 : _q20 = do_valueize (valueize, _q20);
13968 : 202658 : switch (TREE_CODE (_q20))
13969 : : {
13970 : 202626 : case SSA_NAME:
13971 : 202626 : if (gimple *_d2 = get_def (valueize, _q20))
13972 : : {
13973 : 196915 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
13974 : 134451 : switch (gimple_assign_rhs_code (_a2))
13975 : : {
13976 : 1155 : case BIT_NOT_EXPR:
13977 : 1155 : {
13978 : 1155 : tree _q30 = gimple_assign_rhs1 (_a2);
13979 : 1155 : _q30 = do_valueize (valueize, _q30);
13980 : 1155 : switch (TREE_CODE (_p1))
13981 : : {
13982 : 1155 : case SSA_NAME:
13983 : 1155 : if (gimple *_d3 = get_def (valueize, _p1))
13984 : : {
13985 : 1097 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
13986 : 1223 : switch (gimple_assign_rhs_code (_a3))
13987 : : {
13988 : 198 : CASE_CONVERT:
13989 : 198 : {
13990 : 198 : tree _q50 = gimple_assign_rhs1 (_a3);
13991 : 198 : _q50 = do_valueize (valueize, _q50);
13992 : 198 : switch (TREE_CODE (_q50))
13993 : : {
13994 : 198 : case SSA_NAME:
13995 : 198 : if (gimple *_d4 = get_def (valueize, _q50))
13996 : : {
13997 : 198 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
13998 : 204 : switch (gimple_assign_rhs_code (_a4))
13999 : : {
14000 : 192 : case BIT_NOT_EXPR:
14001 : 192 : {
14002 : 192 : tree _q60 = gimple_assign_rhs1 (_a4);
14003 : 192 : _q60 = do_valueize (valueize, _q60);
14004 : 192 : {
14005 : 192 : tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q60 };
14006 : 192 : if (gimple_simplify_138 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
14007 : 96 : return true;
14008 : : }
14009 : 96 : break;
14010 : : }
14011 : : default:;
14012 : : }
14013 : : }
14014 : : break;
14015 : : default:;
14016 : : }
14017 : : break;
14018 : : }
14019 : 82 : case BIT_NOT_EXPR:
14020 : 82 : {
14021 : 82 : tree _q50 = gimple_assign_rhs1 (_a3);
14022 : 82 : _q50 = do_valueize (valueize, _q50);
14023 : 82 : {
14024 : 82 : tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q50 };
14025 : 82 : if (gimple_simplify_138 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
14026 : 0 : return true;
14027 : : }
14028 : 82 : break;
14029 : : }
14030 : : default:;
14031 : : }
14032 : : }
14033 : : break;
14034 : : default:;
14035 : : }
14036 : : break;
14037 : : }
14038 : 5491 : case BIT_AND_EXPR:
14039 : 5491 : {
14040 : 5491 : tree _q30 = gimple_assign_rhs1 (_a2);
14041 : 5491 : _q30 = do_valueize (valueize, _q30);
14042 : 5491 : tree _q31 = gimple_assign_rhs2 (_a2);
14043 : 5491 : _q31 = do_valueize (valueize, _q31);
14044 : 5491 : if (tree_swap_operands_p (_q30, _q31))
14045 : 74 : std::swap (_q30, _q31);
14046 : 5491 : switch (TREE_CODE (_p1))
14047 : : {
14048 : 5086 : case SSA_NAME:
14049 : 5086 : if (gimple *_d3 = get_def (valueize, _p1))
14050 : : {
14051 : 4840 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
14052 : 4569 : switch (gimple_assign_rhs_code (_a3))
14053 : : {
14054 : 532 : CASE_CONVERT:
14055 : 532 : {
14056 : 532 : tree _q60 = gimple_assign_rhs1 (_a3);
14057 : 532 : _q60 = do_valueize (valueize, _q60);
14058 : 532 : switch (TREE_CODE (_q60))
14059 : : {
14060 : 532 : case SSA_NAME:
14061 : 532 : if (gimple *_d4 = get_def (valueize, _q60))
14062 : : {
14063 : 524 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
14064 : 613 : switch (gimple_assign_rhs_code (_a4))
14065 : : {
14066 : 355 : case BIT_AND_EXPR:
14067 : 355 : {
14068 : 355 : tree _q70 = gimple_assign_rhs1 (_a4);
14069 : 355 : _q70 = do_valueize (valueize, _q70);
14070 : 355 : tree _q71 = gimple_assign_rhs2 (_a4);
14071 : 355 : _q71 = do_valueize (valueize, _q71);
14072 : 355 : if (tree_swap_operands_p (_q70, _q71))
14073 : 0 : std::swap (_q70, _q71);
14074 : 355 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q30, 0))
14075 : : {
14076 : 1 : {
14077 : 1 : tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q71, _q30 };
14078 : 1 : if (gimple_simplify_30 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
14079 : 1 : return true;
14080 : : }
14081 : : }
14082 : 354 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q30, 0))
14083 : : {
14084 : 0 : {
14085 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q70, _q30 };
14086 : 0 : if (gimple_simplify_30 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
14087 : 0 : return true;
14088 : : }
14089 : : }
14090 : 354 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q31, 0))
14091 : : {
14092 : 0 : {
14093 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q71, _q31 };
14094 : 0 : if (gimple_simplify_30 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
14095 : 0 : return true;
14096 : : }
14097 : : }
14098 : 354 : if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q31, 0))
14099 : : {
14100 : 11 : {
14101 : 11 : tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q70, _q31 };
14102 : 11 : if (gimple_simplify_30 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
14103 : 1 : return true;
14104 : : }
14105 : : }
14106 : 202546 : break;
14107 : : }
14108 : : default:;
14109 : : }
14110 : : }
14111 : : break;
14112 : : default:;
14113 : : }
14114 : : break;
14115 : : }
14116 : : default:;
14117 : : }
14118 : : }
14119 : : break;
14120 : : default:;
14121 : : }
14122 : 202546 : break;
14123 : : }
14124 : 2635 : case BIT_IOR_EXPR:
14125 : 2635 : {
14126 : 2635 : tree _q30 = gimple_assign_rhs1 (_a2);
14127 : 2635 : _q30 = do_valueize (valueize, _q30);
14128 : 2635 : tree _q31 = gimple_assign_rhs2 (_a2);
14129 : 2635 : _q31 = do_valueize (valueize, _q31);
14130 : 2635 : if (tree_swap_operands_p (_q30, _q31))
14131 : 207 : std::swap (_q30, _q31);
14132 : 2635 : switch (TREE_CODE (_p1))
14133 : : {
14134 : 2468 : case SSA_NAME:
14135 : 2468 : if (gimple *_d3 = get_def (valueize, _p1))
14136 : : {
14137 : 2418 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
14138 : 2300 : switch (gimple_assign_rhs_code (_a3))
14139 : : {
14140 : 442 : CASE_CONVERT:
14141 : 442 : {
14142 : 442 : tree _q60 = gimple_assign_rhs1 (_a3);
14143 : 442 : _q60 = do_valueize (valueize, _q60);
14144 : 442 : if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q31, 0))
14145 : : {
14146 : 0 : {
14147 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q31 };
14148 : 0 : if (gimple_simplify_124 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14149 : 0 : return true;
14150 : : }
14151 : : }
14152 : 442 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q30, 0))
14153 : : {
14154 : 0 : {
14155 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q30, _q30 };
14156 : 0 : if (gimple_simplify_124 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14157 : 0 : return true;
14158 : : }
14159 : : }
14160 : : break;
14161 : : }
14162 : : default:;
14163 : : }
14164 : : }
14165 : : break;
14166 : 2635 : default:;
14167 : : }
14168 : 2635 : if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q31, 0))
14169 : : {
14170 : 14 : {
14171 : 14 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q31 };
14172 : 14 : if (gimple_simplify_124 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14173 : 14 : return true;
14174 : : }
14175 : : }
14176 : 2621 : if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q30, 0))
14177 : : {
14178 : 0 : {
14179 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q30, _q30 };
14180 : 0 : if (gimple_simplify_124 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14181 : 0 : return true;
14182 : : }
14183 : : }
14184 : 202546 : break;
14185 : : }
14186 : : default:;
14187 : : }
14188 : : }
14189 : : break;
14190 : 202546 : default:;
14191 : : }
14192 : 202546 : switch (TREE_CODE (_p1))
14193 : : {
14194 : 179574 : case SSA_NAME:
14195 : 179574 : if (gimple *_d2 = get_def (valueize, _p1))
14196 : : {
14197 : 173784 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
14198 : 169820 : switch (gimple_assign_rhs_code (_a2))
14199 : : {
14200 : 101769 : CASE_CONVERT:
14201 : 101769 : {
14202 : 101769 : tree _q40 = gimple_assign_rhs1 (_a2);
14203 : 101769 : _q40 = do_valueize (valueize, _q40);
14204 : 101769 : switch (TREE_CODE (_q40))
14205 : : {
14206 : 101689 : case SSA_NAME:
14207 : 101689 : if (gimple *_d3 = get_def (valueize, _q40))
14208 : : {
14209 : 101110 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
14210 : 18827 : switch (gimple_assign_rhs_code (_a3))
14211 : : {
14212 : 375 : case BIT_IOR_EXPR:
14213 : 375 : {
14214 : 375 : tree _q50 = gimple_assign_rhs1 (_a3);
14215 : 375 : _q50 = do_valueize (valueize, _q50);
14216 : 375 : tree _q51 = gimple_assign_rhs2 (_a3);
14217 : 375 : _q51 = do_valueize (valueize, _q51);
14218 : 375 : if (tree_swap_operands_p (_q50, _q51))
14219 : 6 : std::swap (_q50, _q51);
14220 : 375 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
14221 : : {
14222 : 0 : {
14223 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q50, _q51, _q20 };
14224 : 0 : if (gimple_simplify_139 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14225 : 0 : return true;
14226 : : }
14227 : : }
14228 : 375 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
14229 : : {
14230 : 0 : {
14231 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q51, _q50, _q20 };
14232 : 0 : if (gimple_simplify_139 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14233 : 0 : return true;
14234 : : }
14235 : : }
14236 : 4247635 : break;
14237 : : }
14238 : : default:;
14239 : : }
14240 : : }
14241 : : break;
14242 : : default:;
14243 : : }
14244 : : break;
14245 : : }
14246 : 5748 : case BIT_IOR_EXPR:
14247 : 5748 : {
14248 : 5748 : tree _q40 = gimple_assign_rhs1 (_a2);
14249 : 5748 : _q40 = do_valueize (valueize, _q40);
14250 : 5748 : tree _q41 = gimple_assign_rhs2 (_a2);
14251 : 5748 : _q41 = do_valueize (valueize, _q41);
14252 : 5748 : if (tree_swap_operands_p (_q40, _q41))
14253 : 461 : std::swap (_q40, _q41);
14254 : 5748 : if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _q20, 0))
14255 : : {
14256 : 0 : {
14257 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _q20 };
14258 : 0 : if (gimple_simplify_139 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14259 : 0 : return true;
14260 : : }
14261 : : }
14262 : 5748 : if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _q20, 0))
14263 : : {
14264 : 0 : {
14265 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q41, _q40, _q20 };
14266 : 0 : if (gimple_simplify_139 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14267 : 0 : return true;
14268 : : }
14269 : : }
14270 : 4247635 : break;
14271 : : }
14272 : : default:;
14273 : : }
14274 : : }
14275 : : break;
14276 : : default:;
14277 : : }
14278 : : break;
14279 : : }
14280 : : default:;
14281 : : }
14282 : : }
14283 : : break;
14284 : 4247635 : default:;
14285 : : }
14286 : 4247635 : switch (TREE_CODE (_p1))
14287 : : {
14288 : 3346442 : case SSA_NAME:
14289 : 3346442 : if (gimple *_d1 = get_def (valueize, _p1))
14290 : : {
14291 : 2729922 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
14292 : 2640827 : switch (gimple_assign_rhs_code (_a1))
14293 : : {
14294 : 205437 : CASE_CONVERT:
14295 : 205437 : {
14296 : 205437 : tree _q30 = gimple_assign_rhs1 (_a1);
14297 : 205437 : _q30 = do_valueize (valueize, _q30);
14298 : 205437 : switch (TREE_CODE (_q30))
14299 : : {
14300 : 205357 : case SSA_NAME:
14301 : 205357 : if (gimple *_d2 = get_def (valueize, _q30))
14302 : : {
14303 : 200938 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
14304 : 135412 : switch (gimple_assign_rhs_code (_a2))
14305 : : {
14306 : 2452 : case BIT_IOR_EXPR:
14307 : 2452 : {
14308 : 2452 : tree _q40 = gimple_assign_rhs1 (_a2);
14309 : 2452 : _q40 = do_valueize (valueize, _q40);
14310 : 2452 : tree _q41 = gimple_assign_rhs2 (_a2);
14311 : 2452 : _q41 = do_valueize (valueize, _q41);
14312 : 2452 : if (tree_swap_operands_p (_q40, _q41))
14313 : 125 : std::swap (_q40, _q41);
14314 : 2452 : if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _p0, 0))
14315 : : {
14316 : 0 : {
14317 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0 };
14318 : 0 : if (gimple_simplify_139 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14319 : 0 : return true;
14320 : : }
14321 : : }
14322 : 2452 : if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _p0, 0))
14323 : : {
14324 : 0 : {
14325 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q41, _q40, _p0 };
14326 : 0 : if (gimple_simplify_139 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14327 : 0 : return true;
14328 : : }
14329 : : }
14330 : 4247479 : break;
14331 : : }
14332 : : default:;
14333 : : }
14334 : : }
14335 : : break;
14336 : : default:;
14337 : : }
14338 : : break;
14339 : : }
14340 : 94500 : case BIT_IOR_EXPR:
14341 : 94500 : {
14342 : 94500 : tree _q30 = gimple_assign_rhs1 (_a1);
14343 : 94500 : _q30 = do_valueize (valueize, _q30);
14344 : 94500 : tree _q31 = gimple_assign_rhs2 (_a1);
14345 : 94500 : _q31 = do_valueize (valueize, _q31);
14346 : 94500 : if (tree_swap_operands_p (_q30, _q31))
14347 : 10310 : std::swap (_q30, _q31);
14348 : 94500 : if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || operand_equal_p (_q31, _p0, 0))
14349 : : {
14350 : 34 : {
14351 : 34 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0 };
14352 : 34 : if (gimple_simplify_139 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14353 : 34 : return true;
14354 : : }
14355 : : }
14356 : 94466 : if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || operand_equal_p (_q30, _p0, 0))
14357 : : {
14358 : 122 : {
14359 : 122 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q31, _q30, _p0 };
14360 : 122 : if (gimple_simplify_139 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14361 : 122 : return true;
14362 : : }
14363 : : }
14364 : 4247479 : break;
14365 : : }
14366 : : default:;
14367 : : }
14368 : : }
14369 : : break;
14370 : 4247479 : default:;
14371 : : }
14372 : 4247479 : switch (TREE_CODE (_p0))
14373 : : {
14374 : 4190260 : case SSA_NAME:
14375 : 4190260 : if (gimple *_d1 = get_def (valueize, _p0))
14376 : : {
14377 : 3333185 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
14378 : 3540347 : switch (gimple_assign_rhs_code (_a1))
14379 : : {
14380 : 229035 : case BIT_IOR_EXPR:
14381 : 229035 : {
14382 : 229035 : tree _q20 = gimple_assign_rhs1 (_a1);
14383 : 229035 : _q20 = do_valueize (valueize, _q20);
14384 : 229035 : tree _q21 = gimple_assign_rhs2 (_a1);
14385 : 229035 : _q21 = do_valueize (valueize, _q21);
14386 : 229035 : if (tree_swap_operands_p (_q20, _q21))
14387 : 8444 : std::swap (_q20, _q21);
14388 : 229035 : {
14389 : 229035 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
14390 : 229035 : if (gimple_simplify_140 (res_op, seq, valueize, type, captures))
14391 : 3 : return true;
14392 : : }
14393 : 229032 : switch (TREE_CODE (_p1))
14394 : : {
14395 : 220109 : case SSA_NAME:
14396 : 220109 : if (gimple *_d2 = get_def (valueize, _p1))
14397 : : {
14398 : 218474 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
14399 : 169819 : switch (gimple_assign_rhs_code (_a2))
14400 : : {
14401 : 10924 : CASE_CONVERT:
14402 : 10924 : {
14403 : 10924 : tree _q50 = gimple_assign_rhs1 (_a2);
14404 : 10924 : _q50 = do_valueize (valueize, _q50);
14405 : 10924 : switch (TREE_CODE (_q50))
14406 : : {
14407 : 10924 : case SSA_NAME:
14408 : 10924 : if (gimple *_d3 = get_def (valueize, _q50))
14409 : : {
14410 : 10640 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
14411 : 12662 : switch (gimple_assign_rhs_code (_a3))
14412 : : {
14413 : 153 : case BIT_IOR_EXPR:
14414 : 153 : {
14415 : 153 : tree _q60 = gimple_assign_rhs1 (_a3);
14416 : 153 : _q60 = do_valueize (valueize, _q60);
14417 : 153 : tree _q61 = gimple_assign_rhs2 (_a3);
14418 : 153 : _q61 = do_valueize (valueize, _q61);
14419 : 153 : if (tree_swap_operands_p (_q60, _q61))
14420 : 19 : std::swap (_q60, _q61);
14421 : 153 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
14422 : : {
14423 : 0 : {
14424 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _q50, _q61 };
14425 : 0 : if (gimple_simplify_141 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14426 : 0 : return true;
14427 : : }
14428 : : }
14429 : 153 : if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
14430 : : {
14431 : 0 : {
14432 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _q50, _q60 };
14433 : 0 : if (gimple_simplify_141 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14434 : 0 : return true;
14435 : : }
14436 : : }
14437 : 153 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
14438 : : {
14439 : 0 : {
14440 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _q50, _q61 };
14441 : 0 : if (gimple_simplify_141 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14442 : 0 : return true;
14443 : : }
14444 : : }
14445 : 153 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
14446 : : {
14447 : 0 : {
14448 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _q50, _q60 };
14449 : 0 : if (gimple_simplify_141 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14450 : 0 : return true;
14451 : : }
14452 : : }
14453 : 4247470 : break;
14454 : : }
14455 : : default:;
14456 : : }
14457 : : }
14458 : : break;
14459 : : default:;
14460 : : }
14461 : : break;
14462 : : }
14463 : 4364 : case BIT_IOR_EXPR:
14464 : 4364 : {
14465 : 4364 : tree _q50 = gimple_assign_rhs1 (_a2);
14466 : 4364 : _q50 = do_valueize (valueize, _q50);
14467 : 4364 : tree _q51 = gimple_assign_rhs2 (_a2);
14468 : 4364 : _q51 = do_valueize (valueize, _q51);
14469 : 4364 : if (tree_swap_operands_p (_q50, _q51))
14470 : 335 : std::swap (_q50, _q51);
14471 : 4364 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
14472 : : {
14473 : 3 : {
14474 : 3 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _p1, _q51 };
14475 : 3 : if (gimple_simplify_142 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14476 : 3 : return true;
14477 : : }
14478 : : }
14479 : 4361 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
14480 : : {
14481 : 1 : {
14482 : 1 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _p1, _q50 };
14483 : 1 : if (gimple_simplify_142 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14484 : 1 : return true;
14485 : : }
14486 : : }
14487 : 4360 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
14488 : : {
14489 : 14 : {
14490 : 14 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _p1, _q51 };
14491 : 14 : if (gimple_simplify_142 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14492 : 2 : return true;
14493 : : }
14494 : : }
14495 : 4358 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
14496 : : {
14497 : 0 : {
14498 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _p1, _q50 };
14499 : 0 : if (gimple_simplify_142 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14500 : 0 : return true;
14501 : : }
14502 : : }
14503 : 4247470 : break;
14504 : : }
14505 : : default:;
14506 : : }
14507 : : }
14508 : : break;
14509 : : default:;
14510 : : }
14511 : 4247470 : break;
14512 : : }
14513 : : default:;
14514 : : }
14515 : : }
14516 : : break;
14517 : 4247470 : default:;
14518 : : }
14519 : 4247470 : switch (TREE_CODE (_p1))
14520 : : {
14521 : 3346279 : case SSA_NAME:
14522 : 3346279 : if (gimple *_d1 = get_def (valueize, _p1))
14523 : : {
14524 : 2729759 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
14525 : 2640665 : switch (gimple_assign_rhs_code (_a1))
14526 : : {
14527 : 94338 : case BIT_IOR_EXPR:
14528 : 94338 : {
14529 : 94338 : tree _q30 = gimple_assign_rhs1 (_a1);
14530 : 94338 : _q30 = do_valueize (valueize, _q30);
14531 : 94338 : tree _q31 = gimple_assign_rhs2 (_a1);
14532 : 94338 : _q31 = do_valueize (valueize, _q31);
14533 : 94338 : if (tree_swap_operands_p (_q30, _q31))
14534 : 10297 : std::swap (_q30, _q31);
14535 : 94338 : {
14536 : 94338 : tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
14537 : 94338 : if (gimple_simplify_140 (res_op, seq, valueize, type, captures))
14538 : 0 : return true;
14539 : : }
14540 : 94338 : break;
14541 : : }
14542 : : default:;
14543 : : }
14544 : : }
14545 : : break;
14546 : 4247470 : default:;
14547 : : }
14548 : 4247470 : switch (TREE_CODE (_p0))
14549 : : {
14550 : 4190251 : case SSA_NAME:
14551 : 4190251 : if (gimple *_d1 = get_def (valueize, _p0))
14552 : : {
14553 : 3333176 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
14554 : 3540338 : switch (gimple_assign_rhs_code (_a1))
14555 : : {
14556 : 202494 : CASE_CONVERT:
14557 : 202494 : {
14558 : 202494 : tree _q20 = gimple_assign_rhs1 (_a1);
14559 : 202494 : _q20 = do_valueize (valueize, _q20);
14560 : 202494 : switch (TREE_CODE (_q20))
14561 : : {
14562 : 202462 : case SSA_NAME:
14563 : 202462 : if (gimple *_d2 = get_def (valueize, _q20))
14564 : : {
14565 : 196751 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
14566 : 134264 : switch (gimple_assign_rhs_code (_a2))
14567 : : {
14568 : 2619 : case BIT_IOR_EXPR:
14569 : 2619 : {
14570 : 2619 : tree _q30 = gimple_assign_rhs1 (_a2);
14571 : 2619 : _q30 = do_valueize (valueize, _q30);
14572 : 2619 : tree _q31 = gimple_assign_rhs2 (_a2);
14573 : 2619 : _q31 = do_valueize (valueize, _q31);
14574 : 2619 : if (tree_swap_operands_p (_q30, _q31))
14575 : 207 : std::swap (_q30, _q31);
14576 : 2619 : switch (TREE_CODE (_p1))
14577 : : {
14578 : 2466 : case SSA_NAME:
14579 : 2466 : if (gimple *_d3 = get_def (valueize, _p1))
14580 : : {
14581 : 2416 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
14582 : 2298 : switch (gimple_assign_rhs_code (_a3))
14583 : : {
14584 : 442 : CASE_CONVERT:
14585 : 442 : {
14586 : 442 : tree _q60 = gimple_assign_rhs1 (_a3);
14587 : 442 : _q60 = do_valueize (valueize, _q60);
14588 : 442 : switch (TREE_CODE (_q60))
14589 : : {
14590 : 442 : case SSA_NAME:
14591 : 442 : if (gimple *_d4 = get_def (valueize, _q60))
14592 : : {
14593 : 442 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
14594 : 393 : switch (gimple_assign_rhs_code (_a4))
14595 : : {
14596 : 11 : case BIT_IOR_EXPR:
14597 : 11 : {
14598 : 11 : tree _q70 = gimple_assign_rhs1 (_a4);
14599 : 11 : _q70 = do_valueize (valueize, _q70);
14600 : 11 : tree _q71 = gimple_assign_rhs2 (_a4);
14601 : 11 : _q71 = do_valueize (valueize, _q71);
14602 : 11 : if (tree_swap_operands_p (_q70, _q71))
14603 : 0 : std::swap (_q70, _q71);
14604 : 11 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
14605 : : {
14606 : 0 : {
14607 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60, _q71 };
14608 : 0 : if (gimple_simplify_143 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14609 : 0 : return true;
14610 : : }
14611 : : }
14612 : 11 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
14613 : : {
14614 : 0 : {
14615 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60, _q70 };
14616 : 0 : if (gimple_simplify_143 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14617 : 0 : return true;
14618 : : }
14619 : : }
14620 : 11 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
14621 : : {
14622 : 2 : {
14623 : 2 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _q60, _q71 };
14624 : 2 : if (gimple_simplify_143 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14625 : 1 : return true;
14626 : : }
14627 : : }
14628 : 10 : if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
14629 : : {
14630 : 0 : {
14631 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _q60, _q70 };
14632 : 0 : if (gimple_simplify_143 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14633 : 0 : return true;
14634 : : }
14635 : : }
14636 : 202493 : break;
14637 : : }
14638 : : default:;
14639 : : }
14640 : : }
14641 : : break;
14642 : : default:;
14643 : : }
14644 : : break;
14645 : : }
14646 : 285 : case BIT_IOR_EXPR:
14647 : 285 : {
14648 : 285 : tree _q60 = gimple_assign_rhs1 (_a3);
14649 : 285 : _q60 = do_valueize (valueize, _q60);
14650 : 285 : tree _q61 = gimple_assign_rhs2 (_a3);
14651 : 285 : _q61 = do_valueize (valueize, _q61);
14652 : 285 : if (tree_swap_operands_p (_q60, _q61))
14653 : 21 : std::swap (_q60, _q61);
14654 : 285 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
14655 : : {
14656 : 0 : {
14657 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _p1, _q61 };
14658 : 0 : if (gimple_simplify_144 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14659 : 0 : return true;
14660 : : }
14661 : : }
14662 : 285 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
14663 : : {
14664 : 0 : {
14665 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _p1, _q60 };
14666 : 0 : if (gimple_simplify_144 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14667 : 0 : return true;
14668 : : }
14669 : : }
14670 : 285 : if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
14671 : : {
14672 : 0 : {
14673 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _p1, _q61 };
14674 : 0 : if (gimple_simplify_144 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14675 : 0 : return true;
14676 : : }
14677 : : }
14678 : 285 : if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
14679 : : {
14680 : 0 : {
14681 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _p1, _q60 };
14682 : 0 : if (gimple_simplify_144 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14683 : 0 : return true;
14684 : : }
14685 : : }
14686 : 202493 : break;
14687 : : }
14688 : : default:;
14689 : : }
14690 : : }
14691 : : break;
14692 : : default:;
14693 : : }
14694 : 202493 : break;
14695 : : }
14696 : : default:;
14697 : : }
14698 : : }
14699 : : break;
14700 : 202493 : default:;
14701 : : }
14702 : 202493 : switch (TREE_CODE (_p1))
14703 : : {
14704 : 179521 : case SSA_NAME:
14705 : 179521 : if (gimple *_d2 = get_def (valueize, _p1))
14706 : : {
14707 : 173731 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
14708 : 169767 : switch (gimple_assign_rhs_code (_a2))
14709 : : {
14710 : 101768 : CASE_CONVERT:
14711 : 101768 : {
14712 : 101768 : tree _q40 = gimple_assign_rhs1 (_a2);
14713 : 101768 : _q40 = do_valueize (valueize, _q40);
14714 : 101768 : {
14715 : 101768 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
14716 : 101768 : if (gimple_simplify_32 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14717 : 1770 : return true;
14718 : : }
14719 : 99998 : break;
14720 : : }
14721 : : default:;
14722 : : }
14723 : : }
14724 : : break;
14725 : 200723 : default:;
14726 : : }
14727 : 200723 : {
14728 : 200723 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
14729 : 200723 : if (gimple_simplify_33 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14730 : 295 : return true;
14731 : : }
14732 : 200428 : break;
14733 : : }
14734 : 318991 : case BIT_AND_EXPR:
14735 : 318991 : {
14736 : 318991 : tree _q20 = gimple_assign_rhs1 (_a1);
14737 : 318991 : _q20 = do_valueize (valueize, _q20);
14738 : 318991 : tree _q21 = gimple_assign_rhs2 (_a1);
14739 : 318991 : _q21 = do_valueize (valueize, _q21);
14740 : 318991 : if (tree_swap_operands_p (_q20, _q21))
14741 : 8709 : std::swap (_q20, _q21);
14742 : 318991 : if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
14743 : : {
14744 : 6 : {
14745 : 6 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
14746 : 6 : if (gimple_simplify_145 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
14747 : 6 : return true;
14748 : : }
14749 : : }
14750 : 318985 : if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
14751 : : {
14752 : 7 : {
14753 : 7 : tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
14754 : 7 : if (gimple_simplify_145 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
14755 : 7 : return true;
14756 : : }
14757 : : }
14758 : 318978 : {
14759 : 318978 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
14760 : 318978 : if (gimple_simplify_146 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
14761 : 619 : return true;
14762 : : }
14763 : 318359 : {
14764 : 318359 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
14765 : 318359 : if (gimple_simplify_146 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
14766 : 1218 : return true;
14767 : : }
14768 : 317141 : switch (TREE_CODE (_p1))
14769 : : {
14770 : 177410 : case SSA_NAME:
14771 : 177410 : if (gimple *_d2 = get_def (valueize, _p1))
14772 : : {
14773 : 176272 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
14774 : 172814 : switch (gimple_assign_rhs_code (_a2))
14775 : : {
14776 : 4892 : case BIT_IOR_EXPR:
14777 : 4892 : {
14778 : 4892 : tree _q50 = gimple_assign_rhs1 (_a2);
14779 : 4892 : _q50 = do_valueize (valueize, _q50);
14780 : 4892 : tree _q51 = gimple_assign_rhs2 (_a2);
14781 : 4892 : _q51 = do_valueize (valueize, _q51);
14782 : 4892 : if (tree_swap_operands_p (_q50, _q51))
14783 : 465 : std::swap (_q50, _q51);
14784 : 4892 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
14785 : : {
14786 : 1 : {
14787 : 1 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51 };
14788 : 1 : if (gimple_simplify_147 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
14789 : 1 : return true;
14790 : : }
14791 : : }
14792 : 4891 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
14793 : : {
14794 : 0 : {
14795 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50 };
14796 : 0 : if (gimple_simplify_147 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
14797 : 0 : return true;
14798 : : }
14799 : : }
14800 : 4891 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
14801 : : {
14802 : 0 : {
14803 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q51 };
14804 : 0 : if (gimple_simplify_147 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
14805 : 0 : return true;
14806 : : }
14807 : : }
14808 : 4891 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
14809 : : {
14810 : 0 : {
14811 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q50 };
14812 : 0 : if (gimple_simplify_147 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
14813 : 0 : return true;
14814 : : }
14815 : : }
14816 : 317140 : break;
14817 : : }
14818 : 1325 : case BIT_NOT_EXPR:
14819 : 1325 : {
14820 : 1325 : tree _q50 = gimple_assign_rhs1 (_a2);
14821 : 1325 : _q50 = do_valueize (valueize, _q50);
14822 : 1325 : switch (TREE_CODE (_q50))
14823 : : {
14824 : 1325 : case SSA_NAME:
14825 : 1325 : if (gimple *_d3 = get_def (valueize, _q50))
14826 : : {
14827 : 1325 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
14828 : 144 : switch (gimple_assign_rhs_code (_a3))
14829 : : {
14830 : 0 : case BIT_AND_EXPR:
14831 : 0 : {
14832 : 0 : tree _q60 = gimple_assign_rhs1 (_a3);
14833 : 0 : _q60 = do_valueize (valueize, _q60);
14834 : 0 : tree _q61 = gimple_assign_rhs2 (_a3);
14835 : 0 : _q61 = do_valueize (valueize, _q61);
14836 : 0 : if (tree_swap_operands_p (_q60, _q61))
14837 : 0 : std::swap (_q60, _q61);
14838 : 0 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
14839 : : {
14840 : 0 : {
14841 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q61 };
14842 : 0 : if (gimple_simplify_148 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
14843 : 0 : return true;
14844 : : }
14845 : : }
14846 : 0 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
14847 : : {
14848 : 0 : {
14849 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q60 };
14850 : 0 : if (gimple_simplify_148 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
14851 : 0 : return true;
14852 : : }
14853 : : }
14854 : 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
14855 : : {
14856 : 0 : {
14857 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q61 };
14858 : 0 : if (gimple_simplify_148 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
14859 : 0 : return true;
14860 : : }
14861 : : }
14862 : 0 : if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
14863 : : {
14864 : 0 : {
14865 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q60 };
14866 : 0 : if (gimple_simplify_148 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
14867 : 0 : return true;
14868 : : }
14869 : : }
14870 : 317140 : break;
14871 : : }
14872 : : default:;
14873 : : }
14874 : : }
14875 : : break;
14876 : : default:;
14877 : : }
14878 : : break;
14879 : : }
14880 : : default:;
14881 : : }
14882 : : }
14883 : : break;
14884 : 317140 : default:;
14885 : : }
14886 : 317140 : {
14887 : 317140 : tree _q20_pops[1];
14888 : 317140 : if (gimple_nop_convert (_q20, _q20_pops, valueize))
14889 : : {
14890 : 2196 : tree _q30 = _q20_pops[0];
14891 : 2196 : switch (TREE_CODE (_q30))
14892 : : {
14893 : 2196 : case SSA_NAME:
14894 : 2196 : if (gimple *_d2 = get_def (valueize, _q30))
14895 : : {
14896 : 2193 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
14897 : 2845 : switch (gimple_assign_rhs_code (_a2))
14898 : : {
14899 : 0 : case BIT_IOR_EXPR:
14900 : 0 : {
14901 : 0 : tree _q40 = gimple_assign_rhs1 (_a2);
14902 : 0 : _q40 = do_valueize (valueize, _q40);
14903 : 0 : tree _q41 = gimple_assign_rhs2 (_a2);
14904 : 0 : _q41 = do_valueize (valueize, _q41);
14905 : 0 : if (tree_swap_operands_p (_q40, _q41))
14906 : 0 : std::swap (_q40, _q41);
14907 : 0 : {
14908 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q40, _q41, _q21, _p1 };
14909 : 0 : if (gimple_simplify_149 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14910 : 0 : return true;
14911 : : }
14912 : 0 : {
14913 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q41, _q40, _q21, _p1 };
14914 : 0 : if (gimple_simplify_149 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14915 : 0 : return true;
14916 : : }
14917 : 0 : break;
14918 : : }
14919 : 0 : case BIT_XOR_EXPR:
14920 : 0 : {
14921 : 0 : tree _q40 = gimple_assign_rhs1 (_a2);
14922 : 0 : _q40 = do_valueize (valueize, _q40);
14923 : 0 : tree _q41 = gimple_assign_rhs2 (_a2);
14924 : 0 : _q41 = do_valueize (valueize, _q41);
14925 : 0 : if (tree_swap_operands_p (_q40, _q41))
14926 : 0 : std::swap (_q40, _q41);
14927 : 0 : {
14928 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q40, _q41, _q21, _p1 };
14929 : 0 : if (gimple_simplify_149 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
14930 : 0 : return true;
14931 : : }
14932 : 0 : {
14933 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q41, _q40, _q21, _p1 };
14934 : 0 : if (gimple_simplify_149 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
14935 : 0 : return true;
14936 : : }
14937 : 0 : break;
14938 : : }
14939 : : default:;
14940 : : }
14941 : : }
14942 : : break;
14943 : : default:;
14944 : : }
14945 : : }
14946 : : }
14947 : 317140 : {
14948 : 317140 : tree _q21_pops[1];
14949 : 317140 : if (gimple_nop_convert (_q21, _q21_pops, valueize))
14950 : : {
14951 : 4729 : tree _q40 = _q21_pops[0];
14952 : 4729 : switch (TREE_CODE (_q40))
14953 : : {
14954 : 4729 : case SSA_NAME:
14955 : 4729 : if (gimple *_d2 = get_def (valueize, _q40))
14956 : : {
14957 : 4713 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
14958 : 4691 : switch (gimple_assign_rhs_code (_a2))
14959 : : {
14960 : 23 : case BIT_IOR_EXPR:
14961 : 23 : {
14962 : 23 : tree _q50 = gimple_assign_rhs1 (_a2);
14963 : 23 : _q50 = do_valueize (valueize, _q50);
14964 : 23 : tree _q51 = gimple_assign_rhs2 (_a2);
14965 : 23 : _q51 = do_valueize (valueize, _q51);
14966 : 23 : if (tree_swap_operands_p (_q50, _q51))
14967 : 9 : std::swap (_q50, _q51);
14968 : 23 : {
14969 : 23 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q40, _q50, _q51, _q20, _p1 };
14970 : 23 : if (gimple_simplify_149 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14971 : 0 : return true;
14972 : : }
14973 : 23 : {
14974 : 23 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q40, _q51, _q50, _q20, _p1 };
14975 : 23 : if (gimple_simplify_149 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
14976 : 0 : return true;
14977 : : }
14978 : 23 : break;
14979 : : }
14980 : 0 : case BIT_XOR_EXPR:
14981 : 0 : {
14982 : 0 : tree _q50 = gimple_assign_rhs1 (_a2);
14983 : 0 : _q50 = do_valueize (valueize, _q50);
14984 : 0 : tree _q51 = gimple_assign_rhs2 (_a2);
14985 : 0 : _q51 = do_valueize (valueize, _q51);
14986 : 0 : if (tree_swap_operands_p (_q50, _q51))
14987 : 0 : std::swap (_q50, _q51);
14988 : 0 : {
14989 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q40, _q50, _q51, _q20, _p1 };
14990 : 0 : if (gimple_simplify_149 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
14991 : 0 : return true;
14992 : : }
14993 : 0 : {
14994 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q40, _q51, _q50, _q20, _p1 };
14995 : 0 : if (gimple_simplify_149 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
14996 : 0 : return true;
14997 : : }
14998 : 0 : break;
14999 : : }
15000 : : default:;
15001 : : }
15002 : : }
15003 : : break;
15004 : : default:;
15005 : : }
15006 : : }
15007 : : }
15008 : 317140 : switch (TREE_CODE (_q20))
15009 : : {
15010 : 317140 : case SSA_NAME:
15011 : 317140 : if (gimple *_d2 = get_def (valueize, _q20))
15012 : : {
15013 : 279243 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
15014 : 259088 : switch (gimple_assign_rhs_code (_a2))
15015 : : {
15016 : 1734 : case BIT_IOR_EXPR:
15017 : 1734 : {
15018 : 1734 : tree _q30 = gimple_assign_rhs1 (_a2);
15019 : 1734 : _q30 = do_valueize (valueize, _q30);
15020 : 1734 : tree _q31 = gimple_assign_rhs2 (_a2);
15021 : 1734 : _q31 = do_valueize (valueize, _q31);
15022 : 1734 : if (tree_swap_operands_p (_q30, _q31))
15023 : 79 : std::swap (_q30, _q31);
15024 : 1734 : {
15025 : 1734 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q30, _q31, _q21, _p1 };
15026 : 1734 : if (gimple_simplify_150 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15027 : 0 : return true;
15028 : : }
15029 : 1734 : {
15030 : 1734 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q31, _q30, _q21, _p1 };
15031 : 1734 : if (gimple_simplify_150 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15032 : 0 : return true;
15033 : : }
15034 : 1734 : break;
15035 : : }
15036 : 2992 : case BIT_XOR_EXPR:
15037 : 2992 : {
15038 : 2992 : tree _q30 = gimple_assign_rhs1 (_a2);
15039 : 2992 : _q30 = do_valueize (valueize, _q30);
15040 : 2992 : tree _q31 = gimple_assign_rhs2 (_a2);
15041 : 2992 : _q31 = do_valueize (valueize, _q31);
15042 : 2992 : if (tree_swap_operands_p (_q30, _q31))
15043 : 165 : std::swap (_q30, _q31);
15044 : 2992 : {
15045 : 2992 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q30, _q31, _q21, _p1 };
15046 : 2992 : if (gimple_simplify_150 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15047 : 14 : return true;
15048 : : }
15049 : 2978 : {
15050 : 2978 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q31, _q30, _q21, _p1 };
15051 : 2978 : if (gimple_simplify_150 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15052 : 0 : return true;
15053 : : }
15054 : 2978 : break;
15055 : : }
15056 : : default:;
15057 : : }
15058 : : }
15059 : : break;
15060 : 317126 : default:;
15061 : : }
15062 : 317126 : switch (TREE_CODE (_q21))
15063 : : {
15064 : 134909 : case SSA_NAME:
15065 : 134909 : if (gimple *_d2 = get_def (valueize, _q21))
15066 : : {
15067 : 114904 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
15068 : 133950 : switch (gimple_assign_rhs_code (_a2))
15069 : : {
15070 : 139 : case BIT_IOR_EXPR:
15071 : 139 : {
15072 : 139 : tree _q40 = gimple_assign_rhs1 (_a2);
15073 : 139 : _q40 = do_valueize (valueize, _q40);
15074 : 139 : tree _q41 = gimple_assign_rhs2 (_a2);
15075 : 139 : _q41 = do_valueize (valueize, _q41);
15076 : 139 : if (tree_swap_operands_p (_q40, _q41))
15077 : 1 : std::swap (_q40, _q41);
15078 : 139 : {
15079 : 139 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q21, _q40, _q41, _q20, _p1 };
15080 : 139 : if (gimple_simplify_150 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15081 : 0 : return true;
15082 : : }
15083 : 139 : {
15084 : 139 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q21, _q41, _q40, _q20, _p1 };
15085 : 139 : if (gimple_simplify_150 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15086 : 0 : return true;
15087 : : }
15088 : 139 : break;
15089 : : }
15090 : 49 : case BIT_XOR_EXPR:
15091 : 49 : {
15092 : 49 : tree _q40 = gimple_assign_rhs1 (_a2);
15093 : 49 : _q40 = do_valueize (valueize, _q40);
15094 : 49 : tree _q41 = gimple_assign_rhs2 (_a2);
15095 : 49 : _q41 = do_valueize (valueize, _q41);
15096 : 49 : if (tree_swap_operands_p (_q40, _q41))
15097 : 0 : std::swap (_q40, _q41);
15098 : 49 : {
15099 : 49 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q21, _q40, _q41, _q20, _p1 };
15100 : 49 : if (gimple_simplify_150 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15101 : 7 : return true;
15102 : : }
15103 : 42 : {
15104 : 42 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q21, _q41, _q40, _q20, _p1 };
15105 : 42 : if (gimple_simplify_150 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15106 : 0 : return true;
15107 : : }
15108 : 42 : break;
15109 : : }
15110 : : default:;
15111 : : }
15112 : : }
15113 : : break;
15114 : : default:;
15115 : : }
15116 : 4243532 : break;
15117 : : }
15118 : : default:;
15119 : : }
15120 : : }
15121 : : break;
15122 : 4243532 : default:;
15123 : : }
15124 : 4243532 : switch (TREE_CODE (_p1))
15125 : : {
15126 : 3343517 : case SSA_NAME:
15127 : 3343517 : if (gimple *_d1 = get_def (valueize, _p1))
15128 : : {
15129 : 2727009 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
15130 : 2637944 : switch (gimple_assign_rhs_code (_a1))
15131 : : {
15132 : 177693 : case BIT_AND_EXPR:
15133 : 177693 : {
15134 : 177693 : tree _q30 = gimple_assign_rhs1 (_a1);
15135 : 177693 : _q30 = do_valueize (valueize, _q30);
15136 : 177693 : tree _q31 = gimple_assign_rhs2 (_a1);
15137 : 177693 : _q31 = do_valueize (valueize, _q31);
15138 : 177693 : if (tree_swap_operands_p (_q30, _q31))
15139 : 9020 : std::swap (_q30, _q31);
15140 : 177693 : if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
15141 : : {
15142 : 44 : {
15143 : 44 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
15144 : 44 : if (gimple_simplify_145 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
15145 : 44 : return true;
15146 : : }
15147 : : }
15148 : 177649 : if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
15149 : : {
15150 : 1 : {
15151 : 1 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
15152 : 1 : if (gimple_simplify_145 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
15153 : 1 : return true;
15154 : : }
15155 : : }
15156 : 177648 : {
15157 : 177648 : tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
15158 : 177648 : if (gimple_simplify_146 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
15159 : 847 : return true;
15160 : : }
15161 : 176801 : {
15162 : 176801 : tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _p0 };
15163 : 176801 : if (gimple_simplify_146 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
15164 : 157 : return true;
15165 : : }
15166 : 176644 : break;
15167 : : }
15168 : : default:;
15169 : : }
15170 : : }
15171 : : break;
15172 : 4242483 : default:;
15173 : : }
15174 : 4242483 : switch (TREE_CODE (_p0))
15175 : : {
15176 : 4185264 : case SSA_NAME:
15177 : 4185264 : if (gimple *_d1 = get_def (valueize, _p0))
15178 : : {
15179 : 3328226 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
15180 : 3535388 : switch (gimple_assign_rhs_code (_a1))
15181 : : {
15182 : 229024 : case BIT_IOR_EXPR:
15183 : 229024 : {
15184 : 229024 : tree _q20 = gimple_assign_rhs1 (_a1);
15185 : 229024 : _q20 = do_valueize (valueize, _q20);
15186 : 229024 : tree _q21 = gimple_assign_rhs2 (_a1);
15187 : 229024 : _q21 = do_valueize (valueize, _q21);
15188 : 229024 : if (tree_swap_operands_p (_q20, _q21))
15189 : 8443 : std::swap (_q20, _q21);
15190 : 229024 : switch (TREE_CODE (_p1))
15191 : : {
15192 : 220101 : case SSA_NAME:
15193 : 220101 : if (gimple *_d2 = get_def (valueize, _p1))
15194 : : {
15195 : 218466 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
15196 : 169811 : switch (gimple_assign_rhs_code (_a2))
15197 : : {
15198 : 9525 : case BIT_AND_EXPR:
15199 : 9525 : {
15200 : 9525 : tree _q50 = gimple_assign_rhs1 (_a2);
15201 : 9525 : _q50 = do_valueize (valueize, _q50);
15202 : 9525 : tree _q51 = gimple_assign_rhs2 (_a2);
15203 : 9525 : _q51 = do_valueize (valueize, _q51);
15204 : 9525 : if (tree_swap_operands_p (_q50, _q51))
15205 : 534 : std::swap (_q50, _q51);
15206 : 9525 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
15207 : : {
15208 : 1 : {
15209 : 1 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q51, _p0, _q21 };
15210 : 1 : if (gimple_simplify_151 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
15211 : 1 : return true;
15212 : : }
15213 : : }
15214 : 9524 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
15215 : : {
15216 : 20 : {
15217 : 20 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q51, _p0, _q20 };
15218 : 20 : if (gimple_simplify_151 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
15219 : 20 : return true;
15220 : : }
15221 : : }
15222 : 9504 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
15223 : : {
15224 : 0 : {
15225 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q50, _p0, _q21 };
15226 : 0 : if (gimple_simplify_151 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
15227 : 0 : return true;
15228 : : }
15229 : : }
15230 : 9504 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
15231 : : {
15232 : 14 : {
15233 : 14 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _p0, _q20 };
15234 : 14 : if (gimple_simplify_151 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
15235 : 14 : return true;
15236 : : }
15237 : : }
15238 : 4242448 : break;
15239 : : }
15240 : : default:;
15241 : : }
15242 : : }
15243 : : break;
15244 : : default:;
15245 : : }
15246 : 4242448 : break;
15247 : : }
15248 : 22765 : case BIT_NOT_EXPR:
15249 : 22765 : {
15250 : 22765 : tree _q20 = gimple_assign_rhs1 (_a1);
15251 : 22765 : _q20 = do_valueize (valueize, _q20);
15252 : 22765 : switch (TREE_CODE (_q20))
15253 : : {
15254 : 22765 : case SSA_NAME:
15255 : 22765 : if (gimple *_d2 = get_def (valueize, _q20))
15256 : : {
15257 : 21538 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
15258 : 17083 : switch (gimple_assign_rhs_code (_a2))
15259 : : {
15260 : 531 : case BIT_AND_EXPR:
15261 : 531 : {
15262 : 531 : tree _q30 = gimple_assign_rhs1 (_a2);
15263 : 531 : _q30 = do_valueize (valueize, _q30);
15264 : 531 : tree _q31 = gimple_assign_rhs2 (_a2);
15265 : 531 : _q31 = do_valueize (valueize, _q31);
15266 : 531 : if (tree_swap_operands_p (_q30, _q31))
15267 : 46 : std::swap (_q30, _q31);
15268 : 531 : switch (TREE_CODE (_p1))
15269 : : {
15270 : 531 : case SSA_NAME:
15271 : 531 : if (gimple *_d3 = get_def (valueize, _p1))
15272 : : {
15273 : 531 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
15274 : 345 : switch (gimple_assign_rhs_code (_a3))
15275 : : {
15276 : 6 : case BIT_AND_EXPR:
15277 : 6 : {
15278 : 6 : tree _q60 = gimple_assign_rhs1 (_a3);
15279 : 6 : _q60 = do_valueize (valueize, _q60);
15280 : 6 : tree _q61 = gimple_assign_rhs2 (_a3);
15281 : 6 : _q61 = do_valueize (valueize, _q61);
15282 : 6 : if (tree_swap_operands_p (_q60, _q61))
15283 : 0 : std::swap (_q60, _q61);
15284 : 6 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
15285 : : {
15286 : 0 : {
15287 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q60, _q30, _p0, _q31 };
15288 : 0 : if (gimple_simplify_152 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
15289 : 0 : return true;
15290 : : }
15291 : : }
15292 : 6 : if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
15293 : : {
15294 : 0 : {
15295 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q60, _q31, _p0, _q30 };
15296 : 0 : if (gimple_simplify_152 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
15297 : 0 : return true;
15298 : : }
15299 : : }
15300 : 6 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
15301 : : {
15302 : 0 : {
15303 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q61, _q30, _p0, _q31 };
15304 : 0 : if (gimple_simplify_152 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
15305 : 0 : return true;
15306 : : }
15307 : : }
15308 : 6 : if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
15309 : : {
15310 : 0 : {
15311 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q61, _q31, _p0, _q30 };
15312 : 0 : if (gimple_simplify_152 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
15313 : 0 : return true;
15314 : : }
15315 : : }
15316 : 531 : break;
15317 : : }
15318 : : default:;
15319 : : }
15320 : : }
15321 : : break;
15322 : 531 : default:;
15323 : : }
15324 : 531 : if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
15325 : : {
15326 : 0 : {
15327 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
15328 : 0 : if (gimple_simplify_153 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
15329 : 0 : return true;
15330 : : }
15331 : : }
15332 : 531 : if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
15333 : : {
15334 : 0 : {
15335 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
15336 : 0 : if (gimple_simplify_153 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
15337 : 0 : return true;
15338 : : }
15339 : : }
15340 : 4242448 : break;
15341 : : }
15342 : : default:;
15343 : : }
15344 : : }
15345 : : break;
15346 : : default:;
15347 : : }
15348 : : break;
15349 : : }
15350 : : default:;
15351 : : }
15352 : : }
15353 : : break;
15354 : 4242448 : default:;
15355 : : }
15356 : 4242448 : switch (TREE_CODE (_p1))
15357 : : {
15358 : 3342433 : case SSA_NAME:
15359 : 3342433 : if (gimple *_d1 = get_def (valueize, _p1))
15360 : : {
15361 : 2725925 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
15362 : 2636860 : switch (gimple_assign_rhs_code (_a1))
15363 : : {
15364 : 11024 : case BIT_NOT_EXPR:
15365 : 11024 : {
15366 : 11024 : tree _q30 = gimple_assign_rhs1 (_a1);
15367 : 11024 : _q30 = do_valueize (valueize, _q30);
15368 : 11024 : switch (TREE_CODE (_q30))
15369 : : {
15370 : 11024 : case SSA_NAME:
15371 : 11024 : if (gimple *_d2 = get_def (valueize, _q30))
15372 : : {
15373 : 10647 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
15374 : 10440 : switch (gimple_assign_rhs_code (_a2))
15375 : : {
15376 : 349 : case BIT_AND_EXPR:
15377 : 349 : {
15378 : 349 : tree _q40 = gimple_assign_rhs1 (_a2);
15379 : 349 : _q40 = do_valueize (valueize, _q40);
15380 : 349 : tree _q41 = gimple_assign_rhs2 (_a2);
15381 : 349 : _q41 = do_valueize (valueize, _q41);
15382 : 349 : if (tree_swap_operands_p (_q40, _q41))
15383 : 18 : std::swap (_q40, _q41);
15384 : 349 : if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
15385 : : {
15386 : 0 : {
15387 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
15388 : 0 : if (gimple_simplify_153 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
15389 : 0 : return true;
15390 : : }
15391 : : }
15392 : 349 : if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
15393 : : {
15394 : 0 : {
15395 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
15396 : 0 : if (gimple_simplify_153 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, BIT_AND_EXPR))
15397 : 0 : return true;
15398 : : }
15399 : : }
15400 : 4242448 : break;
15401 : : }
15402 : : default:;
15403 : : }
15404 : : }
15405 : : break;
15406 : : default:;
15407 : : }
15408 : : break;
15409 : : }
15410 : : default:;
15411 : : }
15412 : : }
15413 : : break;
15414 : 4242448 : default:;
15415 : : }
15416 : 4242448 : {
15417 : 4242448 : tree _p0_pops[1];
15418 : 4242448 : if (gimple_nop_convert (_p0, _p0_pops, valueize))
15419 : : {
15420 : 98667 : tree _q20 = _p0_pops[0];
15421 : 98667 : switch (TREE_CODE (_q20))
15422 : : {
15423 : 98635 : case SSA_NAME:
15424 : 98635 : if (gimple *_d1 = get_def (valueize, _q20))
15425 : : {
15426 : 97997 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
15427 : 18015 : switch (gimple_assign_rhs_code (_a1))
15428 : : {
15429 : 1464 : case BIT_AND_EXPR:
15430 : 1464 : {
15431 : 1464 : tree _q30 = gimple_assign_rhs1 (_a1);
15432 : 1464 : _q30 = do_valueize (valueize, _q30);
15433 : 1464 : tree _q31 = gimple_assign_rhs2 (_a1);
15434 : 1464 : _q31 = do_valueize (valueize, _q31);
15435 : 1464 : if (tree_swap_operands_p (_q30, _q31))
15436 : 62 : std::swap (_q30, _q31);
15437 : 1464 : {
15438 : 1464 : tree _q30_pops[1];
15439 : 1464 : if (gimple_nop_convert (_q30, _q30_pops, valueize))
15440 : : {
15441 : 71 : tree _q40 = _q30_pops[0];
15442 : 71 : switch (TREE_CODE (_q40))
15443 : : {
15444 : 71 : case SSA_NAME:
15445 : 71 : if (gimple *_d2 = get_def (valueize, _q40))
15446 : : {
15447 : 71 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
15448 : 92 : switch (gimple_assign_rhs_code (_a2))
15449 : : {
15450 : 0 : case BIT_IOR_EXPR:
15451 : 0 : {
15452 : 0 : tree _q50 = gimple_assign_rhs1 (_a2);
15453 : 0 : _q50 = do_valueize (valueize, _q50);
15454 : 0 : tree _q51 = gimple_assign_rhs2 (_a2);
15455 : 0 : _q51 = do_valueize (valueize, _q51);
15456 : 0 : if (tree_swap_operands_p (_q50, _q51))
15457 : 0 : std::swap (_q50, _q51);
15458 : 0 : {
15459 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q50, _q51, _q31, _p1 };
15460 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15461 : 0 : return true;
15462 : : }
15463 : 0 : {
15464 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q51, _q50, _q31, _p1 };
15465 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15466 : 0 : return true;
15467 : : }
15468 : 0 : break;
15469 : : }
15470 : 14 : case BIT_XOR_EXPR:
15471 : 14 : {
15472 : 14 : tree _q50 = gimple_assign_rhs1 (_a2);
15473 : 14 : _q50 = do_valueize (valueize, _q50);
15474 : 14 : tree _q51 = gimple_assign_rhs2 (_a2);
15475 : 14 : _q51 = do_valueize (valueize, _q51);
15476 : 14 : if (tree_swap_operands_p (_q50, _q51))
15477 : 0 : std::swap (_q50, _q51);
15478 : 14 : {
15479 : 14 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q50, _q51, _q31, _p1 };
15480 : 14 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15481 : 0 : return true;
15482 : : }
15483 : 14 : {
15484 : 14 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q51, _q50, _q31, _p1 };
15485 : 14 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15486 : 0 : return true;
15487 : : }
15488 : 14 : break;
15489 : : }
15490 : : default:;
15491 : : }
15492 : : }
15493 : : break;
15494 : : default:;
15495 : : }
15496 : : }
15497 : : }
15498 : 1464 : {
15499 : 1464 : tree _q31_pops[1];
15500 : 1464 : if (gimple_nop_convert (_q31, _q31_pops, valueize))
15501 : : {
15502 : 0 : tree _q50 = _q31_pops[0];
15503 : 0 : switch (TREE_CODE (_q50))
15504 : : {
15505 : 0 : case SSA_NAME:
15506 : 0 : if (gimple *_d2 = get_def (valueize, _q50))
15507 : : {
15508 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
15509 : 0 : switch (gimple_assign_rhs_code (_a2))
15510 : : {
15511 : 0 : case BIT_IOR_EXPR:
15512 : 0 : {
15513 : 0 : tree _q60 = gimple_assign_rhs1 (_a2);
15514 : 0 : _q60 = do_valueize (valueize, _q60);
15515 : 0 : tree _q61 = gimple_assign_rhs2 (_a2);
15516 : 0 : _q61 = do_valueize (valueize, _q61);
15517 : 0 : if (tree_swap_operands_p (_q60, _q61))
15518 : 0 : std::swap (_q60, _q61);
15519 : 0 : {
15520 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q50, _q60, _q61, _q30, _p1 };
15521 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15522 : 0 : return true;
15523 : : }
15524 : 0 : {
15525 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q50, _q61, _q60, _q30, _p1 };
15526 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15527 : 0 : return true;
15528 : : }
15529 : 0 : break;
15530 : : }
15531 : 0 : case BIT_XOR_EXPR:
15532 : 0 : {
15533 : 0 : tree _q60 = gimple_assign_rhs1 (_a2);
15534 : 0 : _q60 = do_valueize (valueize, _q60);
15535 : 0 : tree _q61 = gimple_assign_rhs2 (_a2);
15536 : 0 : _q61 = do_valueize (valueize, _q61);
15537 : 0 : if (tree_swap_operands_p (_q60, _q61))
15538 : 0 : std::swap (_q60, _q61);
15539 : 0 : {
15540 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q50, _q60, _q61, _q30, _p1 };
15541 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15542 : 0 : return true;
15543 : : }
15544 : 0 : {
15545 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q50, _q61, _q60, _q30, _p1 };
15546 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15547 : 0 : return true;
15548 : : }
15549 : 0 : break;
15550 : : }
15551 : : default:;
15552 : : }
15553 : : }
15554 : : break;
15555 : : default:;
15556 : : }
15557 : : }
15558 : : }
15559 : 1464 : switch (TREE_CODE (_q30))
15560 : : {
15561 : 1464 : case SSA_NAME:
15562 : 1464 : if (gimple *_d2 = get_def (valueize, _q30))
15563 : : {
15564 : 1353 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
15565 : 1006 : switch (gimple_assign_rhs_code (_a2))
15566 : : {
15567 : 0 : case BIT_IOR_EXPR:
15568 : 0 : {
15569 : 0 : tree _q40 = gimple_assign_rhs1 (_a2);
15570 : 0 : _q40 = do_valueize (valueize, _q40);
15571 : 0 : tree _q41 = gimple_assign_rhs2 (_a2);
15572 : 0 : _q41 = do_valueize (valueize, _q41);
15573 : 0 : if (tree_swap_operands_p (_q40, _q41))
15574 : 0 : std::swap (_q40, _q41);
15575 : 0 : {
15576 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q30, _q40, _q41, _q31, _p1 };
15577 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15578 : 0 : return true;
15579 : : }
15580 : 0 : {
15581 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q30, _q41, _q40, _q31, _p1 };
15582 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15583 : 0 : return true;
15584 : : }
15585 : 0 : break;
15586 : : }
15587 : 0 : case BIT_XOR_EXPR:
15588 : 0 : {
15589 : 0 : tree _q40 = gimple_assign_rhs1 (_a2);
15590 : 0 : _q40 = do_valueize (valueize, _q40);
15591 : 0 : tree _q41 = gimple_assign_rhs2 (_a2);
15592 : 0 : _q41 = do_valueize (valueize, _q41);
15593 : 0 : if (tree_swap_operands_p (_q40, _q41))
15594 : 0 : std::swap (_q40, _q41);
15595 : 0 : {
15596 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q30, _q40, _q41, _q31, _p1 };
15597 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15598 : 0 : return true;
15599 : : }
15600 : 0 : {
15601 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q30, _q41, _q40, _q31, _p1 };
15602 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15603 : 0 : return true;
15604 : : }
15605 : 0 : break;
15606 : : }
15607 : : default:;
15608 : : }
15609 : : }
15610 : : break;
15611 : 1464 : default:;
15612 : : }
15613 : 1464 : switch (TREE_CODE (_q31))
15614 : : {
15615 : 670 : case SSA_NAME:
15616 : 670 : if (gimple *_d2 = get_def (valueize, _q31))
15617 : : {
15618 : 658 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
15619 : 615 : switch (gimple_assign_rhs_code (_a2))
15620 : : {
15621 : 0 : case BIT_IOR_EXPR:
15622 : 0 : {
15623 : 0 : tree _q50 = gimple_assign_rhs1 (_a2);
15624 : 0 : _q50 = do_valueize (valueize, _q50);
15625 : 0 : tree _q51 = gimple_assign_rhs2 (_a2);
15626 : 0 : _q51 = do_valueize (valueize, _q51);
15627 : 0 : if (tree_swap_operands_p (_q50, _q51))
15628 : 0 : std::swap (_q50, _q51);
15629 : 0 : {
15630 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q31, _q50, _q51, _q30, _p1 };
15631 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15632 : 0 : return true;
15633 : : }
15634 : 0 : {
15635 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q31, _q51, _q50, _q30, _p1 };
15636 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15637 : 0 : return true;
15638 : : }
15639 : 0 : break;
15640 : : }
15641 : 0 : case BIT_XOR_EXPR:
15642 : 0 : {
15643 : 0 : tree _q50 = gimple_assign_rhs1 (_a2);
15644 : 0 : _q50 = do_valueize (valueize, _q50);
15645 : 0 : tree _q51 = gimple_assign_rhs2 (_a2);
15646 : 0 : _q51 = do_valueize (valueize, _q51);
15647 : 0 : if (tree_swap_operands_p (_q50, _q51))
15648 : 0 : std::swap (_q50, _q51);
15649 : 0 : {
15650 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q31, _q50, _q51, _q30, _p1 };
15651 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15652 : 0 : return true;
15653 : : }
15654 : 0 : {
15655 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q31, _q51, _q50, _q30, _p1 };
15656 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15657 : 0 : return true;
15658 : : }
15659 : 0 : break;
15660 : : }
15661 : : default:;
15662 : : }
15663 : : }
15664 : : break;
15665 : : default:;
15666 : : }
15667 : 4242444 : break;
15668 : : }
15669 : 61 : case MULT_EXPR:
15670 : 61 : {
15671 : 61 : tree _q30 = gimple_assign_rhs1 (_a1);
15672 : 61 : _q30 = do_valueize (valueize, _q30);
15673 : 61 : tree _q31 = gimple_assign_rhs2 (_a1);
15674 : 61 : _q31 = do_valueize (valueize, _q31);
15675 : 61 : if (tree_swap_operands_p (_q30, _q31))
15676 : 0 : std::swap (_q30, _q31);
15677 : 61 : {
15678 : 61 : tree _q30_pops[1];
15679 : 61 : if (gimple_nop_convert (_q30, _q30_pops, valueize))
15680 : : {
15681 : 19 : tree _q40 = _q30_pops[0];
15682 : 19 : switch (TREE_CODE (_q31))
15683 : : {
15684 : 19 : case INTEGER_CST:
15685 : 19 : {
15686 : 19 : switch (TREE_CODE (_p1))
15687 : : {
15688 : 19 : case SSA_NAME:
15689 : 19 : if (gimple *_d2 = get_def (valueize, _p1))
15690 : : {
15691 : 19 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
15692 : 4 : switch (gimple_assign_rhs_code (_a2))
15693 : : {
15694 : 4 : case LSHIFT_EXPR:
15695 : 4 : {
15696 : 4 : tree _q70 = gimple_assign_rhs1 (_a2);
15697 : 4 : _q70 = do_valueize (valueize, _q70);
15698 : 4 : tree _q71 = gimple_assign_rhs2 (_a2);
15699 : 4 : _q71 = do_valueize (valueize, _q71);
15700 : 4 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
15701 : : {
15702 : 4 : switch (TREE_CODE (_q71))
15703 : : {
15704 : 4 : case INTEGER_CST:
15705 : 4 : {
15706 : 4 : {
15707 : 4 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31, _p1, _q71 };
15708 : 4 : if (gimple_simplify_40 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15709 : 4 : return true;
15710 : : }
15711 : 0 : break;
15712 : : }
15713 : : default:;
15714 : : }
15715 : : }
15716 : : break;
15717 : : }
15718 : : default:;
15719 : : }
15720 : : }
15721 : : break;
15722 : 15 : default:;
15723 : : }
15724 : 15 : {
15725 : 15 : tree _p1_pops[1];
15726 : 15 : if (gimple_nop_convert (_p1, _p1_pops, valueize))
15727 : : {
15728 : 0 : tree _q70 = _p1_pops[0];
15729 : 0 : switch (TREE_CODE (_q70))
15730 : : {
15731 : 0 : case SSA_NAME:
15732 : 0 : if (gimple *_d2 = get_def (valueize, _q70))
15733 : : {
15734 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
15735 : 0 : switch (gimple_assign_rhs_code (_a2))
15736 : : {
15737 : 0 : case MULT_EXPR:
15738 : 0 : {
15739 : 0 : tree _q80 = gimple_assign_rhs1 (_a2);
15740 : 0 : _q80 = do_valueize (valueize, _q80);
15741 : 0 : tree _q81 = gimple_assign_rhs2 (_a2);
15742 : 0 : _q81 = do_valueize (valueize, _q81);
15743 : 0 : if (tree_swap_operands_p (_q80, _q81))
15744 : 0 : std::swap (_q80, _q81);
15745 : 0 : {
15746 : 0 : tree _q80_pops[1];
15747 : 0 : if (gimple_nop_convert (_q80, _q80_pops, valueize))
15748 : : {
15749 : 0 : tree _q90 = _q80_pops[0];
15750 : 0 : switch (TREE_CODE (_q81))
15751 : : {
15752 : 0 : case INTEGER_CST:
15753 : 0 : {
15754 : 0 : {
15755 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31, _p1, _q70, _q90, _q81 };
15756 : 0 : if (gimple_simplify_39 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15757 : 0 : return true;
15758 : : }
15759 : 0 : break;
15760 : : }
15761 : : default:;
15762 : : }
15763 : : }
15764 : : }
15765 : 0 : break;
15766 : : }
15767 : : default:;
15768 : : }
15769 : : }
15770 : : break;
15771 : : default:;
15772 : : }
15773 : : }
15774 : : }
15775 : 15 : if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
15776 : : {
15777 : 0 : {
15778 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31 };
15779 : 0 : if (gimple_simplify_41 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15780 : 0 : return true;
15781 : : }
15782 : : }
15783 : : break;
15784 : : }
15785 : : default:;
15786 : : }
15787 : : }
15788 : : }
15789 : 57 : break;
15790 : : }
15791 : : default:;
15792 : : }
15793 : : }
15794 : : break;
15795 : : default:;
15796 : : }
15797 : : }
15798 : : }
15799 : 4242444 : switch (TREE_CODE (_p1))
15800 : : {
15801 : 3342429 : case SSA_NAME:
15802 : 3342429 : if (gimple *_d1 = get_def (valueize, _p1))
15803 : : {
15804 : 2725921 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
15805 : 2636856 : switch (gimple_assign_rhs_code (_a1))
15806 : : {
15807 : 176609 : case BIT_AND_EXPR:
15808 : 176609 : {
15809 : 176609 : tree _q30 = gimple_assign_rhs1 (_a1);
15810 : 176609 : _q30 = do_valueize (valueize, _q30);
15811 : 176609 : tree _q31 = gimple_assign_rhs2 (_a1);
15812 : 176609 : _q31 = do_valueize (valueize, _q31);
15813 : 176609 : if (tree_swap_operands_p (_q30, _q31))
15814 : 8755 : std::swap (_q30, _q31);
15815 : 176609 : {
15816 : 176609 : tree _q30_pops[1];
15817 : 176609 : if (gimple_nop_convert (_q30, _q30_pops, valueize))
15818 : : {
15819 : 949 : tree _q40 = _q30_pops[0];
15820 : 949 : switch (TREE_CODE (_q40))
15821 : : {
15822 : 949 : case SSA_NAME:
15823 : 949 : if (gimple *_d2 = get_def (valueize, _q40))
15824 : : {
15825 : 949 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
15826 : 442 : switch (gimple_assign_rhs_code (_a2))
15827 : : {
15828 : 0 : case BIT_IOR_EXPR:
15829 : 0 : {
15830 : 0 : tree _q50 = gimple_assign_rhs1 (_a2);
15831 : 0 : _q50 = do_valueize (valueize, _q50);
15832 : 0 : tree _q51 = gimple_assign_rhs2 (_a2);
15833 : 0 : _q51 = do_valueize (valueize, _q51);
15834 : 0 : if (tree_swap_operands_p (_q50, _q51))
15835 : 0 : std::swap (_q50, _q51);
15836 : 0 : {
15837 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _q40, _q50, _q51, _q31, _p0 };
15838 : 0 : if (gimple_simplify_149 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15839 : 0 : return true;
15840 : : }
15841 : 0 : {
15842 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _q40, _q51, _q50, _q31, _p0 };
15843 : 0 : if (gimple_simplify_149 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15844 : 0 : return true;
15845 : : }
15846 : 0 : break;
15847 : : }
15848 : 0 : case BIT_XOR_EXPR:
15849 : 0 : {
15850 : 0 : tree _q50 = gimple_assign_rhs1 (_a2);
15851 : 0 : _q50 = do_valueize (valueize, _q50);
15852 : 0 : tree _q51 = gimple_assign_rhs2 (_a2);
15853 : 0 : _q51 = do_valueize (valueize, _q51);
15854 : 0 : if (tree_swap_operands_p (_q50, _q51))
15855 : 0 : std::swap (_q50, _q51);
15856 : 0 : {
15857 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _q40, _q50, _q51, _q31, _p0 };
15858 : 0 : if (gimple_simplify_149 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15859 : 0 : return true;
15860 : : }
15861 : 0 : {
15862 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _q40, _q51, _q50, _q31, _p0 };
15863 : 0 : if (gimple_simplify_149 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15864 : 0 : return true;
15865 : : }
15866 : 0 : break;
15867 : : }
15868 : : default:;
15869 : : }
15870 : : }
15871 : : break;
15872 : : default:;
15873 : : }
15874 : : }
15875 : : }
15876 : 176609 : {
15877 : 176609 : tree _q31_pops[1];
15878 : 176609 : if (gimple_nop_convert (_q31, _q31_pops, valueize))
15879 : : {
15880 : 862 : tree _q50 = _q31_pops[0];
15881 : 862 : switch (TREE_CODE (_q50))
15882 : : {
15883 : 862 : case SSA_NAME:
15884 : 862 : if (gimple *_d2 = get_def (valueize, _q50))
15885 : : {
15886 : 846 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
15887 : 751 : switch (gimple_assign_rhs_code (_a2))
15888 : : {
15889 : 0 : case BIT_IOR_EXPR:
15890 : 0 : {
15891 : 0 : tree _q60 = gimple_assign_rhs1 (_a2);
15892 : 0 : _q60 = do_valueize (valueize, _q60);
15893 : 0 : tree _q61 = gimple_assign_rhs2 (_a2);
15894 : 0 : _q61 = do_valueize (valueize, _q61);
15895 : 0 : if (tree_swap_operands_p (_q60, _q61))
15896 : 0 : std::swap (_q60, _q61);
15897 : 0 : {
15898 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _q50, _q60, _q61, _q30, _p0 };
15899 : 0 : if (gimple_simplify_149 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15900 : 0 : return true;
15901 : : }
15902 : 0 : {
15903 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _q50, _q61, _q60, _q30, _p0 };
15904 : 0 : if (gimple_simplify_149 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15905 : 0 : return true;
15906 : : }
15907 : 0 : break;
15908 : : }
15909 : 23 : case BIT_XOR_EXPR:
15910 : 23 : {
15911 : 23 : tree _q60 = gimple_assign_rhs1 (_a2);
15912 : 23 : _q60 = do_valueize (valueize, _q60);
15913 : 23 : tree _q61 = gimple_assign_rhs2 (_a2);
15914 : 23 : _q61 = do_valueize (valueize, _q61);
15915 : 23 : if (tree_swap_operands_p (_q60, _q61))
15916 : 2 : std::swap (_q60, _q61);
15917 : 23 : {
15918 : 23 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _q50, _q60, _q61, _q30, _p0 };
15919 : 23 : if (gimple_simplify_149 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15920 : 0 : return true;
15921 : : }
15922 : 23 : {
15923 : 23 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _q50, _q61, _q60, _q30, _p0 };
15924 : 23 : if (gimple_simplify_149 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15925 : 0 : return true;
15926 : : }
15927 : 23 : break;
15928 : : }
15929 : : default:;
15930 : : }
15931 : : }
15932 : : break;
15933 : : default:;
15934 : : }
15935 : : }
15936 : : }
15937 : 176609 : switch (TREE_CODE (_q30))
15938 : : {
15939 : 176609 : case SSA_NAME:
15940 : 176609 : if (gimple *_d2 = get_def (valueize, _q30))
15941 : : {
15942 : 168924 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
15943 : 175797 : switch (gimple_assign_rhs_code (_a2))
15944 : : {
15945 : 103182 : case BIT_IOR_EXPR:
15946 : 103182 : {
15947 : 103182 : tree _q40 = gimple_assign_rhs1 (_a2);
15948 : 103182 : _q40 = do_valueize (valueize, _q40);
15949 : 103182 : tree _q41 = gimple_assign_rhs2 (_a2);
15950 : 103182 : _q41 = do_valueize (valueize, _q41);
15951 : 103182 : if (tree_swap_operands_p (_q40, _q41))
15952 : 6594 : std::swap (_q40, _q41);
15953 : 103182 : {
15954 : 103182 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _q30, _q40, _q41, _q31, _p0 };
15955 : 103182 : if (gimple_simplify_150 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15956 : 0 : return true;
15957 : : }
15958 : 103182 : {
15959 : 103182 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _q30, _q41, _q40, _q31, _p0 };
15960 : 103182 : if (gimple_simplify_150 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
15961 : 0 : return true;
15962 : : }
15963 : 103182 : break;
15964 : : }
15965 : 1068 : case BIT_XOR_EXPR:
15966 : 1068 : {
15967 : 1068 : tree _q40 = gimple_assign_rhs1 (_a2);
15968 : 1068 : _q40 = do_valueize (valueize, _q40);
15969 : 1068 : tree _q41 = gimple_assign_rhs2 (_a2);
15970 : 1068 : _q41 = do_valueize (valueize, _q41);
15971 : 1068 : if (tree_swap_operands_p (_q40, _q41))
15972 : 74 : std::swap (_q40, _q41);
15973 : 1068 : {
15974 : 1068 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _q30, _q40, _q41, _q31, _p0 };
15975 : 1068 : if (gimple_simplify_150 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15976 : 14 : return true;
15977 : : }
15978 : 1054 : {
15979 : 1054 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _q30, _q41, _q40, _q31, _p0 };
15980 : 1054 : if (gimple_simplify_150 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
15981 : 7 : return true;
15982 : : }
15983 : 1047 : break;
15984 : : }
15985 : : default:;
15986 : : }
15987 : : }
15988 : : break;
15989 : 176588 : default:;
15990 : : }
15991 : 176588 : switch (TREE_CODE (_q31))
15992 : : {
15993 : 142268 : case SSA_NAME:
15994 : 142268 : if (gimple *_d2 = get_def (valueize, _q31))
15995 : : {
15996 : 138126 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
15997 : 137290 : switch (gimple_assign_rhs_code (_a2))
15998 : : {
15999 : 225 : case BIT_IOR_EXPR:
16000 : 225 : {
16001 : 225 : tree _q50 = gimple_assign_rhs1 (_a2);
16002 : 225 : _q50 = do_valueize (valueize, _q50);
16003 : 225 : tree _q51 = gimple_assign_rhs2 (_a2);
16004 : 225 : _q51 = do_valueize (valueize, _q51);
16005 : 225 : if (tree_swap_operands_p (_q50, _q51))
16006 : 24 : std::swap (_q50, _q51);
16007 : 225 : {
16008 : 225 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _q31, _q50, _q51, _q30, _p0 };
16009 : 225 : if (gimple_simplify_150 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
16010 : 0 : return true;
16011 : : }
16012 : 225 : {
16013 : 225 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _q31, _q51, _q50, _q30, _p0 };
16014 : 225 : if (gimple_simplify_150 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
16015 : 0 : return true;
16016 : : }
16017 : 225 : break;
16018 : : }
16019 : 2660 : case BIT_XOR_EXPR:
16020 : 2660 : {
16021 : 2660 : tree _q50 = gimple_assign_rhs1 (_a2);
16022 : 2660 : _q50 = do_valueize (valueize, _q50);
16023 : 2660 : tree _q51 = gimple_assign_rhs2 (_a2);
16024 : 2660 : _q51 = do_valueize (valueize, _q51);
16025 : 2660 : if (tree_swap_operands_p (_q50, _q51))
16026 : 0 : std::swap (_q50, _q51);
16027 : 2660 : {
16028 : 2660 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _q31, _q50, _q51, _q30, _p0 };
16029 : 2660 : if (gimple_simplify_150 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
16030 : 7 : return true;
16031 : : }
16032 : 2653 : {
16033 : 2653 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _q31, _q51, _q50, _q30, _p0 };
16034 : 2653 : if (gimple_simplify_150 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
16035 : 0 : return true;
16036 : : }
16037 : 2653 : break;
16038 : : }
16039 : : default:;
16040 : : }
16041 : : }
16042 : : break;
16043 : : default:;
16044 : : }
16045 : 4242416 : break;
16046 : : }
16047 : : default:;
16048 : : }
16049 : : }
16050 : : break;
16051 : 4242416 : default:;
16052 : : }
16053 : 4242416 : {
16054 : 4242416 : tree _p1_pops[1];
16055 : 4242416 : if (gimple_nop_convert (_p1, _p1_pops, valueize))
16056 : : {
16057 : 41622 : tree _q30 = _p1_pops[0];
16058 : 41622 : switch (TREE_CODE (_q30))
16059 : : {
16060 : 41542 : case SSA_NAME:
16061 : 41542 : if (gimple *_d1 = get_def (valueize, _q30))
16062 : : {
16063 : 40549 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
16064 : 32756 : switch (gimple_assign_rhs_code (_a1))
16065 : : {
16066 : 1693 : case BIT_AND_EXPR:
16067 : 1693 : {
16068 : 1693 : tree _q40 = gimple_assign_rhs1 (_a1);
16069 : 1693 : _q40 = do_valueize (valueize, _q40);
16070 : 1693 : tree _q41 = gimple_assign_rhs2 (_a1);
16071 : 1693 : _q41 = do_valueize (valueize, _q41);
16072 : 1693 : if (tree_swap_operands_p (_q40, _q41))
16073 : 71 : std::swap (_q40, _q41);
16074 : 1693 : {
16075 : 1693 : tree _q40_pops[1];
16076 : 1693 : if (gimple_nop_convert (_q40, _q40_pops, valueize))
16077 : : {
16078 : 85 : tree _q50 = _q40_pops[0];
16079 : 85 : switch (TREE_CODE (_q50))
16080 : : {
16081 : 64 : case SSA_NAME:
16082 : 64 : if (gimple *_d2 = get_def (valueize, _q50))
16083 : : {
16084 : 64 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
16085 : 128 : switch (gimple_assign_rhs_code (_a2))
16086 : : {
16087 : 0 : case BIT_IOR_EXPR:
16088 : 0 : {
16089 : 0 : tree _q60 = gimple_assign_rhs1 (_a2);
16090 : 0 : _q60 = do_valueize (valueize, _q60);
16091 : 0 : tree _q61 = gimple_assign_rhs2 (_a2);
16092 : 0 : _q61 = do_valueize (valueize, _q61);
16093 : 0 : if (tree_swap_operands_p (_q60, _q61))
16094 : 0 : std::swap (_q60, _q61);
16095 : 0 : {
16096 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q50, _q60, _q61, _q41, _p0 };
16097 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
16098 : 0 : return true;
16099 : : }
16100 : 0 : {
16101 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q50, _q61, _q60, _q41, _p0 };
16102 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
16103 : 0 : return true;
16104 : : }
16105 : 0 : break;
16106 : : }
16107 : 0 : case BIT_XOR_EXPR:
16108 : 0 : {
16109 : 0 : tree _q60 = gimple_assign_rhs1 (_a2);
16110 : 0 : _q60 = do_valueize (valueize, _q60);
16111 : 0 : tree _q61 = gimple_assign_rhs2 (_a2);
16112 : 0 : _q61 = do_valueize (valueize, _q61);
16113 : 0 : if (tree_swap_operands_p (_q60, _q61))
16114 : 0 : std::swap (_q60, _q61);
16115 : 0 : {
16116 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q50, _q60, _q61, _q41, _p0 };
16117 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
16118 : 0 : return true;
16119 : : }
16120 : 0 : {
16121 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q50, _q61, _q60, _q41, _p0 };
16122 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
16123 : 0 : return true;
16124 : : }
16125 : 0 : break;
16126 : : }
16127 : : default:;
16128 : : }
16129 : : }
16130 : : break;
16131 : : default:;
16132 : : }
16133 : : }
16134 : : }
16135 : 1693 : {
16136 : 1693 : tree _q41_pops[1];
16137 : 1693 : if (gimple_nop_convert (_q41, _q41_pops, valueize))
16138 : : {
16139 : 0 : tree _q60 = _q41_pops[0];
16140 : 0 : switch (TREE_CODE (_q60))
16141 : : {
16142 : 0 : case SSA_NAME:
16143 : 0 : if (gimple *_d2 = get_def (valueize, _q60))
16144 : : {
16145 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
16146 : 0 : switch (gimple_assign_rhs_code (_a2))
16147 : : {
16148 : 0 : case BIT_IOR_EXPR:
16149 : 0 : {
16150 : 0 : tree _q70 = gimple_assign_rhs1 (_a2);
16151 : 0 : _q70 = do_valueize (valueize, _q70);
16152 : 0 : tree _q71 = gimple_assign_rhs2 (_a2);
16153 : 0 : _q71 = do_valueize (valueize, _q71);
16154 : 0 : if (tree_swap_operands_p (_q70, _q71))
16155 : 0 : std::swap (_q70, _q71);
16156 : 0 : {
16157 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q60, _q70, _q71, _q40, _p0 };
16158 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
16159 : 0 : return true;
16160 : : }
16161 : 0 : {
16162 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q60, _q71, _q70, _q40, _p0 };
16163 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
16164 : 0 : return true;
16165 : : }
16166 : 0 : break;
16167 : : }
16168 : 0 : case BIT_XOR_EXPR:
16169 : 0 : {
16170 : 0 : tree _q70 = gimple_assign_rhs1 (_a2);
16171 : 0 : _q70 = do_valueize (valueize, _q70);
16172 : 0 : tree _q71 = gimple_assign_rhs2 (_a2);
16173 : 0 : _q71 = do_valueize (valueize, _q71);
16174 : 0 : if (tree_swap_operands_p (_q70, _q71))
16175 : 0 : std::swap (_q70, _q71);
16176 : 0 : {
16177 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q60, _q70, _q71, _q40, _p0 };
16178 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
16179 : 0 : return true;
16180 : : }
16181 : 0 : {
16182 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q60, _q71, _q70, _q40, _p0 };
16183 : 0 : if (gimple_simplify_154 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
16184 : 0 : return true;
16185 : : }
16186 : 0 : break;
16187 : : }
16188 : : default:;
16189 : : }
16190 : : }
16191 : : break;
16192 : : default:;
16193 : : }
16194 : : }
16195 : : }
16196 : 1693 : switch (TREE_CODE (_q40))
16197 : : {
16198 : 1693 : case SSA_NAME:
16199 : 1693 : if (gimple *_d2 = get_def (valueize, _q40))
16200 : : {
16201 : 1644 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
16202 : 1200 : switch (gimple_assign_rhs_code (_a2))
16203 : : {
16204 : 0 : case BIT_IOR_EXPR:
16205 : 0 : {
16206 : 0 : tree _q50 = gimple_assign_rhs1 (_a2);
16207 : 0 : _q50 = do_valueize (valueize, _q50);
16208 : 0 : tree _q51 = gimple_assign_rhs2 (_a2);
16209 : 0 : _q51 = do_valueize (valueize, _q51);
16210 : 0 : if (tree_swap_operands_p (_q50, _q51))
16211 : 0 : std::swap (_q50, _q51);
16212 : 0 : {
16213 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q40, _q50, _q51, _q41, _p0 };
16214 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
16215 : 0 : return true;
16216 : : }
16217 : 0 : {
16218 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q40, _q51, _q50, _q41, _p0 };
16219 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
16220 : 0 : return true;
16221 : : }
16222 : 0 : break;
16223 : : }
16224 : 14 : case BIT_XOR_EXPR:
16225 : 14 : {
16226 : 14 : tree _q50 = gimple_assign_rhs1 (_a2);
16227 : 14 : _q50 = do_valueize (valueize, _q50);
16228 : 14 : tree _q51 = gimple_assign_rhs2 (_a2);
16229 : 14 : _q51 = do_valueize (valueize, _q51);
16230 : 14 : if (tree_swap_operands_p (_q50, _q51))
16231 : 7 : std::swap (_q50, _q51);
16232 : 14 : {
16233 : 14 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q40, _q50, _q51, _q41, _p0 };
16234 : 14 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
16235 : 7 : return true;
16236 : : }
16237 : 7 : {
16238 : 7 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q40, _q51, _q50, _q41, _p0 };
16239 : 7 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
16240 : 0 : return true;
16241 : : }
16242 : 7 : break;
16243 : : }
16244 : : default:;
16245 : : }
16246 : : }
16247 : : break;
16248 : 1686 : default:;
16249 : : }
16250 : 1686 : switch (TREE_CODE (_q41))
16251 : : {
16252 : 924 : case SSA_NAME:
16253 : 924 : if (gimple *_d2 = get_def (valueize, _q41))
16254 : : {
16255 : 924 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
16256 : 677 : switch (gimple_assign_rhs_code (_a2))
16257 : : {
16258 : 0 : case BIT_IOR_EXPR:
16259 : 0 : {
16260 : 0 : tree _q60 = gimple_assign_rhs1 (_a2);
16261 : 0 : _q60 = do_valueize (valueize, _q60);
16262 : 0 : tree _q61 = gimple_assign_rhs2 (_a2);
16263 : 0 : _q61 = do_valueize (valueize, _q61);
16264 : 0 : if (tree_swap_operands_p (_q60, _q61))
16265 : 0 : std::swap (_q60, _q61);
16266 : 0 : {
16267 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q41, _q60, _q61, _q40, _p0 };
16268 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
16269 : 0 : return true;
16270 : : }
16271 : 0 : {
16272 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q41, _q61, _q60, _q40, _p0 };
16273 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
16274 : 0 : return true;
16275 : : }
16276 : 0 : break;
16277 : : }
16278 : 0 : case BIT_XOR_EXPR:
16279 : 0 : {
16280 : 0 : tree _q60 = gimple_assign_rhs1 (_a2);
16281 : 0 : _q60 = do_valueize (valueize, _q60);
16282 : 0 : tree _q61 = gimple_assign_rhs2 (_a2);
16283 : 0 : _q61 = do_valueize (valueize, _q61);
16284 : 0 : if (tree_swap_operands_p (_q60, _q61))
16285 : 0 : std::swap (_q60, _q61);
16286 : 0 : {
16287 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q41, _q60, _q61, _q40, _p0 };
16288 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
16289 : 0 : return true;
16290 : : }
16291 : 0 : {
16292 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q41, _q61, _q60, _q40, _p0 };
16293 : 0 : if (gimple_simplify_155 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR))
16294 : 0 : return true;
16295 : : }
16296 : 0 : break;
16297 : : }
16298 : : default:;
16299 : : }
16300 : : }
16301 : : break;
16302 : : default:;
16303 : : }
16304 : 4242409 : break;
16305 : : }
16306 : : default:;
16307 : : }
16308 : : }
16309 : : break;
16310 : : default:;
16311 : : }
16312 : : }
16313 : : }
16314 : 4242409 : switch (TREE_CODE (_p0))
16315 : : {
16316 : 4185190 : case SSA_NAME:
16317 : 4185190 : if (gimple *_d1 = get_def (valueize, _p0))
16318 : : {
16319 : 3328152 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
16320 : 3535349 : switch (gimple_assign_rhs_code (_a1))
16321 : : {
16322 : 228989 : case BIT_IOR_EXPR:
16323 : 228989 : {
16324 : 228989 : tree _q20 = gimple_assign_rhs1 (_a1);
16325 : 228989 : _q20 = do_valueize (valueize, _q20);
16326 : 228989 : tree _q21 = gimple_assign_rhs2 (_a1);
16327 : 228989 : _q21 = do_valueize (valueize, _q21);
16328 : 228989 : if (tree_swap_operands_p (_q20, _q21))
16329 : 8443 : std::swap (_q20, _q21);
16330 : 228989 : if (CONSTANT_CLASS_P (_q21))
16331 : : {
16332 : 4339 : if (CONSTANT_CLASS_P (_p1))
16333 : : {
16334 : 2955 : {
16335 : 2955 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
16336 : 2955 : if (gimple_simplify_34 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
16337 : 2955 : return true;
16338 : : }
16339 : : }
16340 : : }
16341 : 4236567 : break;
16342 : : }
16343 : 465 : case COND_EXPR:
16344 : 465 : {
16345 : 465 : tree _q20 = gimple_assign_rhs1 (_a1);
16346 : 465 : _q20 = do_valueize (valueize, _q20);
16347 : 465 : tree _q21 = gimple_assign_rhs2 (_a1);
16348 : 465 : _q21 = do_valueize (valueize, _q21);
16349 : 465 : tree _q22 = gimple_assign_rhs3 (_a1);
16350 : 465 : _q22 = do_valueize (valueize, _q22);
16351 : 465 : if (integer_zerop (_q22))
16352 : : {
16353 : 312 : switch (TREE_CODE (_p1))
16354 : : {
16355 : 288 : case SSA_NAME:
16356 : 288 : if (gimple *_d2 = get_def (valueize, _p1))
16357 : : {
16358 : 288 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
16359 : 90 : switch (gimple_assign_rhs_code (_a2))
16360 : : {
16361 : 81 : case COND_EXPR:
16362 : 81 : {
16363 : 81 : tree _q60 = gimple_assign_rhs1 (_a2);
16364 : 81 : _q60 = do_valueize (valueize, _q60);
16365 : 81 : tree _q61 = gimple_assign_rhs2 (_a2);
16366 : 81 : _q61 = do_valueize (valueize, _q61);
16367 : 81 : tree _q62 = gimple_assign_rhs3 (_a2);
16368 : 81 : _q62 = do_valueize (valueize, _q62);
16369 : 81 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
16370 : : {
16371 : 4 : if (integer_zerop (_q61))
16372 : : {
16373 : 4 : {
16374 : 4 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q62 };
16375 : 4 : const enum tree_code op = BIT_IOR_EXPR;
16376 : 4 : gimple_seq *lseq = seq;
16377 : 4 : if (lseq
16378 : 2 : && (!single_use (captures[0])
16379 : 2 : || !single_use (captures[3])))
16380 : 2 : lseq = NULL;
16381 : 4 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2215;
16382 : 4 : {
16383 : 4 : res_op->set_op (COND_EXPR, type, 3);
16384 : 4 : res_op->ops[0] = captures[1];
16385 : 4 : res_op->ops[0] = unshare_expr (res_op->ops[0]);
16386 : 4 : res_op->ops[1] = captures[2];
16387 : 4 : res_op->ops[2] = captures[4];
16388 : 4 : res_op->resimplify (lseq, valueize);
16389 : 4 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1056, __FILE__, __LINE__, true);
16390 : 4 : return true;
16391 : : }
16392 : 0 : next_after_fail2215:;
16393 : : }
16394 : : }
16395 : : }
16396 : : break;
16397 : : }
16398 : : default:;
16399 : : }
16400 : : }
16401 : : break;
16402 : : default:;
16403 : : }
16404 : : }
16405 : 461 : if (integer_zerop (_q21))
16406 : : {
16407 : 19 : switch (TREE_CODE (_p1))
16408 : : {
16409 : 19 : case SSA_NAME:
16410 : 19 : if (gimple *_d2 = get_def (valueize, _p1))
16411 : : {
16412 : 19 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
16413 : 35 : switch (gimple_assign_rhs_code (_a2))
16414 : : {
16415 : 0 : case COND_EXPR:
16416 : 0 : {
16417 : 0 : tree _q60 = gimple_assign_rhs1 (_a2);
16418 : 0 : _q60 = do_valueize (valueize, _q60);
16419 : 0 : tree _q61 = gimple_assign_rhs2 (_a2);
16420 : 0 : _q61 = do_valueize (valueize, _q61);
16421 : 0 : tree _q62 = gimple_assign_rhs3 (_a2);
16422 : 0 : _q62 = do_valueize (valueize, _q62);
16423 : 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
16424 : : {
16425 : 0 : if (integer_zerop (_q62))
16426 : : {
16427 : 0 : {
16428 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q61, _p0, _q22 };
16429 : 0 : const enum tree_code op = BIT_IOR_EXPR;
16430 : 0 : gimple_seq *lseq = seq;
16431 : 0 : if (lseq
16432 : 0 : && (!single_use (captures[0])
16433 : 0 : || !single_use (captures[3])))
16434 : 0 : lseq = NULL;
16435 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2216;
16436 : 0 : {
16437 : 0 : res_op->set_op (COND_EXPR, type, 3);
16438 : 0 : res_op->ops[0] = captures[1];
16439 : 0 : res_op->ops[0] = unshare_expr (res_op->ops[0]);
16440 : 0 : res_op->ops[1] = captures[2];
16441 : 0 : res_op->ops[2] = captures[4];
16442 : 0 : res_op->resimplify (lseq, valueize);
16443 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1056, __FILE__, __LINE__, true);
16444 : 0 : return true;
16445 : : }
16446 : 0 : next_after_fail2216:;
16447 : : }
16448 : : }
16449 : : }
16450 : : break;
16451 : : }
16452 : : default:;
16453 : : }
16454 : : }
16455 : : break;
16456 : : default:;
16457 : : }
16458 : : }
16459 : 461 : switch (TREE_CODE (_q20))
16460 : : {
16461 : 461 : case SSA_NAME:
16462 : 461 : if (gimple *_d2 = get_def (valueize, _q20))
16463 : : {
16464 : 454 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
16465 : 454 : switch (gimple_assign_rhs_code (_a2))
16466 : : {
16467 : 89 : case LT_EXPR:
16468 : 89 : {
16469 : 89 : tree _q30 = gimple_assign_rhs1 (_a2);
16470 : 89 : _q30 = do_valueize (valueize, _q30);
16471 : 89 : tree _q31 = gimple_assign_rhs2 (_a2);
16472 : 89 : _q31 = do_valueize (valueize, _q31);
16473 : 89 : if (zerop (_q22))
16474 : : {
16475 : 89 : switch (TREE_CODE (_p1))
16476 : : {
16477 : 89 : case SSA_NAME:
16478 : 89 : if (gimple *_d3 = get_def (valueize, _p1))
16479 : : {
16480 : 89 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
16481 : 69 : switch (gimple_assign_rhs_code (_a3))
16482 : : {
16483 : 69 : case COND_EXPR:
16484 : 69 : {
16485 : 69 : tree _q80 = gimple_assign_rhs1 (_a3);
16486 : 69 : _q80 = do_valueize (valueize, _q80);
16487 : 69 : tree _q81 = gimple_assign_rhs2 (_a3);
16488 : 69 : _q81 = do_valueize (valueize, _q81);
16489 : 69 : tree _q82 = gimple_assign_rhs3 (_a3);
16490 : 69 : _q82 = do_valueize (valueize, _q82);
16491 : 69 : switch (TREE_CODE (_q80))
16492 : : {
16493 : 69 : case SSA_NAME:
16494 : 69 : if (gimple *_d4 = get_def (valueize, _q80))
16495 : : {
16496 : 69 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
16497 : 69 : switch (gimple_assign_rhs_code (_a4))
16498 : : {
16499 : 69 : case GE_EXPR:
16500 : 69 : {
16501 : 69 : tree _q90 = gimple_assign_rhs1 (_a4);
16502 : 69 : _q90 = do_valueize (valueize, _q90);
16503 : 69 : tree _q91 = gimple_assign_rhs2 (_a4);
16504 : 69 : _q91 = do_valueize (valueize, _q91);
16505 : 69 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
16506 : : {
16507 : 59 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
16508 : : {
16509 : 59 : if (zerop (_q82))
16510 : : {
16511 : 59 : {
16512 : 59 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
16513 : 59 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LT_EXPR, GE_EXPR))
16514 : 6 : return true;
16515 : : }
16516 : : }
16517 : : }
16518 : : }
16519 : : break;
16520 : : }
16521 : : default:;
16522 : : }
16523 : : }
16524 : : break;
16525 : 0 : case GE_EXPR:
16526 : 0 : {
16527 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
16528 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
16529 : 0 : || is_gimple_min_invariant (_q90)))
16530 : : {
16531 : 0 : _q90 = do_valueize (valueize, _q90);
16532 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
16533 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
16534 : 0 : || is_gimple_min_invariant (_q91)))
16535 : : {
16536 : 0 : _q91 = do_valueize (valueize, _q91);
16537 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
16538 : : {
16539 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
16540 : : {
16541 : 0 : if (zerop (_q82))
16542 : : {
16543 : 0 : {
16544 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
16545 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LT_EXPR, GE_EXPR))
16546 : 0 : return true;
16547 : : }
16548 : : }
16549 : : }
16550 : : }
16551 : : }
16552 : : }
16553 : : break;
16554 : : }
16555 : : default:;
16556 : : }
16557 : : break;
16558 : : }
16559 : : default:;
16560 : : }
16561 : : }
16562 : : break;
16563 : : default:;
16564 : : }
16565 : : }
16566 : : break;
16567 : : }
16568 : 26 : case LE_EXPR:
16569 : 26 : {
16570 : 26 : tree _q30 = gimple_assign_rhs1 (_a2);
16571 : 26 : _q30 = do_valueize (valueize, _q30);
16572 : 26 : tree _q31 = gimple_assign_rhs2 (_a2);
16573 : 26 : _q31 = do_valueize (valueize, _q31);
16574 : 26 : if (zerop (_q22))
16575 : : {
16576 : 26 : switch (TREE_CODE (_p1))
16577 : : {
16578 : 26 : case SSA_NAME:
16579 : 26 : if (gimple *_d3 = get_def (valueize, _p1))
16580 : : {
16581 : 26 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
16582 : 6 : switch (gimple_assign_rhs_code (_a3))
16583 : : {
16584 : 0 : case COND_EXPR:
16585 : 0 : {
16586 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
16587 : 0 : _q80 = do_valueize (valueize, _q80);
16588 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
16589 : 0 : _q81 = do_valueize (valueize, _q81);
16590 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
16591 : 0 : _q82 = do_valueize (valueize, _q82);
16592 : 0 : switch (TREE_CODE (_q80))
16593 : : {
16594 : 0 : case SSA_NAME:
16595 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
16596 : : {
16597 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
16598 : 0 : switch (gimple_assign_rhs_code (_a4))
16599 : : {
16600 : 0 : case GT_EXPR:
16601 : 0 : {
16602 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
16603 : 0 : _q90 = do_valueize (valueize, _q90);
16604 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
16605 : 0 : _q91 = do_valueize (valueize, _q91);
16606 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
16607 : : {
16608 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
16609 : : {
16610 : 0 : if (zerop (_q82))
16611 : : {
16612 : 0 : {
16613 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
16614 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LE_EXPR, GT_EXPR))
16615 : 0 : return true;
16616 : : }
16617 : : }
16618 : : }
16619 : : }
16620 : : break;
16621 : : }
16622 : : default:;
16623 : : }
16624 : : }
16625 : : break;
16626 : 0 : case GT_EXPR:
16627 : 0 : {
16628 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
16629 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
16630 : 0 : || is_gimple_min_invariant (_q90)))
16631 : : {
16632 : 0 : _q90 = do_valueize (valueize, _q90);
16633 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
16634 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
16635 : 0 : || is_gimple_min_invariant (_q91)))
16636 : : {
16637 : 0 : _q91 = do_valueize (valueize, _q91);
16638 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
16639 : : {
16640 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
16641 : : {
16642 : 0 : if (zerop (_q82))
16643 : : {
16644 : 0 : {
16645 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
16646 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LE_EXPR, GT_EXPR))
16647 : 0 : return true;
16648 : : }
16649 : : }
16650 : : }
16651 : : }
16652 : : }
16653 : : }
16654 : : break;
16655 : : }
16656 : : default:;
16657 : : }
16658 : : break;
16659 : : }
16660 : : default:;
16661 : : }
16662 : : }
16663 : : break;
16664 : : default:;
16665 : : }
16666 : : }
16667 : : break;
16668 : : }
16669 : 71 : case EQ_EXPR:
16670 : 71 : {
16671 : 71 : tree _q30 = gimple_assign_rhs1 (_a2);
16672 : 71 : _q30 = do_valueize (valueize, _q30);
16673 : 71 : tree _q31 = gimple_assign_rhs2 (_a2);
16674 : 71 : _q31 = do_valueize (valueize, _q31);
16675 : 71 : if (tree_swap_operands_p (_q30, _q31))
16676 : 0 : std::swap (_q30, _q31);
16677 : 71 : if (zerop (_q22))
16678 : : {
16679 : 26 : switch (TREE_CODE (_p1))
16680 : : {
16681 : 26 : case SSA_NAME:
16682 : 26 : if (gimple *_d3 = get_def (valueize, _p1))
16683 : : {
16684 : 26 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
16685 : 1 : switch (gimple_assign_rhs_code (_a3))
16686 : : {
16687 : 1 : case COND_EXPR:
16688 : 1 : {
16689 : 1 : tree _q80 = gimple_assign_rhs1 (_a3);
16690 : 1 : _q80 = do_valueize (valueize, _q80);
16691 : 1 : tree _q81 = gimple_assign_rhs2 (_a3);
16692 : 1 : _q81 = do_valueize (valueize, _q81);
16693 : 1 : tree _q82 = gimple_assign_rhs3 (_a3);
16694 : 1 : _q82 = do_valueize (valueize, _q82);
16695 : 1 : switch (TREE_CODE (_q80))
16696 : : {
16697 : 1 : case SSA_NAME:
16698 : 1 : if (gimple *_d4 = get_def (valueize, _q80))
16699 : : {
16700 : 1 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
16701 : 1 : switch (gimple_assign_rhs_code (_a4))
16702 : : {
16703 : 1 : case NE_EXPR:
16704 : 1 : {
16705 : 1 : tree _q90 = gimple_assign_rhs1 (_a4);
16706 : 1 : _q90 = do_valueize (valueize, _q90);
16707 : 1 : tree _q91 = gimple_assign_rhs2 (_a4);
16708 : 1 : _q91 = do_valueize (valueize, _q91);
16709 : 1 : if (tree_swap_operands_p (_q90, _q91))
16710 : 0 : std::swap (_q90, _q91);
16711 : 1 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
16712 : : {
16713 : 1 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
16714 : : {
16715 : 1 : if (zerop (_q82))
16716 : : {
16717 : 1 : {
16718 : 1 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
16719 : 1 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, EQ_EXPR, NE_EXPR))
16720 : 1 : return true;
16721 : : }
16722 : : }
16723 : : }
16724 : : }
16725 : 4236567 : break;
16726 : : }
16727 : : default:;
16728 : : }
16729 : : }
16730 : : break;
16731 : 0 : case NE_EXPR:
16732 : 0 : {
16733 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
16734 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
16735 : 0 : || is_gimple_min_invariant (_q90)))
16736 : : {
16737 : 0 : _q90 = do_valueize (valueize, _q90);
16738 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
16739 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
16740 : 0 : || is_gimple_min_invariant (_q91)))
16741 : : {
16742 : 0 : _q91 = do_valueize (valueize, _q91);
16743 : 0 : if (tree_swap_operands_p (_q90, _q91))
16744 : 0 : std::swap (_q90, _q91);
16745 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
16746 : : {
16747 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
16748 : : {
16749 : 0 : if (zerop (_q82))
16750 : : {
16751 : 0 : {
16752 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
16753 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, EQ_EXPR, NE_EXPR))
16754 : 0 : return true;
16755 : : }
16756 : : }
16757 : : }
16758 : : }
16759 : : }
16760 : : }
16761 : 4236567 : break;
16762 : : }
16763 : : default:;
16764 : : }
16765 : : break;
16766 : : }
16767 : : default:;
16768 : : }
16769 : : }
16770 : : break;
16771 : : default:;
16772 : : }
16773 : : }
16774 : 4236567 : break;
16775 : : }
16776 : 216 : case NE_EXPR:
16777 : 216 : {
16778 : 216 : tree _q30 = gimple_assign_rhs1 (_a2);
16779 : 216 : _q30 = do_valueize (valueize, _q30);
16780 : 216 : tree _q31 = gimple_assign_rhs2 (_a2);
16781 : 216 : _q31 = do_valueize (valueize, _q31);
16782 : 216 : if (tree_swap_operands_p (_q30, _q31))
16783 : 0 : std::swap (_q30, _q31);
16784 : 216 : if (zerop (_q22))
16785 : : {
16786 : 113 : switch (TREE_CODE (_p1))
16787 : : {
16788 : 95 : case SSA_NAME:
16789 : 95 : if (gimple *_d3 = get_def (valueize, _p1))
16790 : : {
16791 : 95 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
16792 : 2 : switch (gimple_assign_rhs_code (_a3))
16793 : : {
16794 : 0 : case COND_EXPR:
16795 : 0 : {
16796 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
16797 : 0 : _q80 = do_valueize (valueize, _q80);
16798 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
16799 : 0 : _q81 = do_valueize (valueize, _q81);
16800 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
16801 : 0 : _q82 = do_valueize (valueize, _q82);
16802 : 0 : switch (TREE_CODE (_q80))
16803 : : {
16804 : 0 : case SSA_NAME:
16805 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
16806 : : {
16807 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
16808 : 0 : switch (gimple_assign_rhs_code (_a4))
16809 : : {
16810 : 0 : case EQ_EXPR:
16811 : 0 : {
16812 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
16813 : 0 : _q90 = do_valueize (valueize, _q90);
16814 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
16815 : 0 : _q91 = do_valueize (valueize, _q91);
16816 : 0 : if (tree_swap_operands_p (_q90, _q91))
16817 : 0 : std::swap (_q90, _q91);
16818 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
16819 : : {
16820 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
16821 : : {
16822 : 0 : if (zerop (_q82))
16823 : : {
16824 : 0 : {
16825 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
16826 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, NE_EXPR, EQ_EXPR))
16827 : 0 : return true;
16828 : : }
16829 : : }
16830 : : }
16831 : : }
16832 : 4236567 : break;
16833 : : }
16834 : : default:;
16835 : : }
16836 : : }
16837 : : break;
16838 : 0 : case EQ_EXPR:
16839 : 0 : {
16840 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
16841 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
16842 : 0 : || is_gimple_min_invariant (_q90)))
16843 : : {
16844 : 0 : _q90 = do_valueize (valueize, _q90);
16845 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
16846 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
16847 : 0 : || is_gimple_min_invariant (_q91)))
16848 : : {
16849 : 0 : _q91 = do_valueize (valueize, _q91);
16850 : 0 : if (tree_swap_operands_p (_q90, _q91))
16851 : 0 : std::swap (_q90, _q91);
16852 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
16853 : : {
16854 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
16855 : : {
16856 : 0 : if (zerop (_q82))
16857 : : {
16858 : 0 : {
16859 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
16860 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, NE_EXPR, EQ_EXPR))
16861 : 0 : return true;
16862 : : }
16863 : : }
16864 : : }
16865 : : }
16866 : : }
16867 : : }
16868 : 4236567 : break;
16869 : : }
16870 : : default:;
16871 : : }
16872 : : break;
16873 : : }
16874 : : default:;
16875 : : }
16876 : : }
16877 : : break;
16878 : : default:;
16879 : : }
16880 : : }
16881 : 4236567 : break;
16882 : : }
16883 : 20 : case GE_EXPR:
16884 : 20 : {
16885 : 20 : tree _q30 = gimple_assign_rhs1 (_a2);
16886 : 20 : _q30 = do_valueize (valueize, _q30);
16887 : 20 : tree _q31 = gimple_assign_rhs2 (_a2);
16888 : 20 : _q31 = do_valueize (valueize, _q31);
16889 : 20 : if (zerop (_q22))
16890 : : {
16891 : 20 : switch (TREE_CODE (_p1))
16892 : : {
16893 : 20 : case SSA_NAME:
16894 : 20 : if (gimple *_d3 = get_def (valueize, _p1))
16895 : : {
16896 : 20 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
16897 : 0 : switch (gimple_assign_rhs_code (_a3))
16898 : : {
16899 : 0 : case COND_EXPR:
16900 : 0 : {
16901 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
16902 : 0 : _q80 = do_valueize (valueize, _q80);
16903 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
16904 : 0 : _q81 = do_valueize (valueize, _q81);
16905 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
16906 : 0 : _q82 = do_valueize (valueize, _q82);
16907 : 0 : switch (TREE_CODE (_q80))
16908 : : {
16909 : 0 : case SSA_NAME:
16910 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
16911 : : {
16912 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
16913 : 0 : switch (gimple_assign_rhs_code (_a4))
16914 : : {
16915 : 0 : case LT_EXPR:
16916 : 0 : {
16917 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
16918 : 0 : _q90 = do_valueize (valueize, _q90);
16919 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
16920 : 0 : _q91 = do_valueize (valueize, _q91);
16921 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
16922 : : {
16923 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
16924 : : {
16925 : 0 : if (zerop (_q82))
16926 : : {
16927 : 0 : {
16928 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
16929 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GE_EXPR, LT_EXPR))
16930 : 0 : return true;
16931 : : }
16932 : : }
16933 : : }
16934 : : }
16935 : : break;
16936 : : }
16937 : : default:;
16938 : : }
16939 : : }
16940 : : break;
16941 : 0 : case LT_EXPR:
16942 : 0 : {
16943 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
16944 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
16945 : 0 : || is_gimple_min_invariant (_q90)))
16946 : : {
16947 : 0 : _q90 = do_valueize (valueize, _q90);
16948 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
16949 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
16950 : 0 : || is_gimple_min_invariant (_q91)))
16951 : : {
16952 : 0 : _q91 = do_valueize (valueize, _q91);
16953 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
16954 : : {
16955 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
16956 : : {
16957 : 0 : if (zerop (_q82))
16958 : : {
16959 : 0 : {
16960 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
16961 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GE_EXPR, LT_EXPR))
16962 : 0 : return true;
16963 : : }
16964 : : }
16965 : : }
16966 : : }
16967 : : }
16968 : : }
16969 : : break;
16970 : : }
16971 : : default:;
16972 : : }
16973 : : break;
16974 : : }
16975 : : default:;
16976 : : }
16977 : : }
16978 : : break;
16979 : : default:;
16980 : : }
16981 : : }
16982 : : break;
16983 : : }
16984 : 25 : case GT_EXPR:
16985 : 25 : {
16986 : 25 : tree _q30 = gimple_assign_rhs1 (_a2);
16987 : 25 : _q30 = do_valueize (valueize, _q30);
16988 : 25 : tree _q31 = gimple_assign_rhs2 (_a2);
16989 : 25 : _q31 = do_valueize (valueize, _q31);
16990 : 25 : if (zerop (_q22))
16991 : : {
16992 : 21 : switch (TREE_CODE (_p1))
16993 : : {
16994 : 21 : case SSA_NAME:
16995 : 21 : if (gimple *_d3 = get_def (valueize, _p1))
16996 : : {
16997 : 21 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
16998 : 1 : switch (gimple_assign_rhs_code (_a3))
16999 : : {
17000 : 1 : case COND_EXPR:
17001 : 1 : {
17002 : 1 : tree _q80 = gimple_assign_rhs1 (_a3);
17003 : 1 : _q80 = do_valueize (valueize, _q80);
17004 : 1 : tree _q81 = gimple_assign_rhs2 (_a3);
17005 : 1 : _q81 = do_valueize (valueize, _q81);
17006 : 1 : tree _q82 = gimple_assign_rhs3 (_a3);
17007 : 1 : _q82 = do_valueize (valueize, _q82);
17008 : 1 : switch (TREE_CODE (_q80))
17009 : : {
17010 : 1 : case SSA_NAME:
17011 : 1 : if (gimple *_d4 = get_def (valueize, _q80))
17012 : : {
17013 : 1 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
17014 : 1 : switch (gimple_assign_rhs_code (_a4))
17015 : : {
17016 : 1 : case LE_EXPR:
17017 : 1 : {
17018 : 1 : tree _q90 = gimple_assign_rhs1 (_a4);
17019 : 1 : _q90 = do_valueize (valueize, _q90);
17020 : 1 : tree _q91 = gimple_assign_rhs2 (_a4);
17021 : 1 : _q91 = do_valueize (valueize, _q91);
17022 : 1 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
17023 : : {
17024 : 1 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
17025 : : {
17026 : 1 : if (zerop (_q82))
17027 : : {
17028 : 1 : {
17029 : 1 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
17030 : 1 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GT_EXPR, LE_EXPR))
17031 : 1 : return true;
17032 : : }
17033 : : }
17034 : : }
17035 : : }
17036 : : break;
17037 : : }
17038 : : default:;
17039 : : }
17040 : : }
17041 : : break;
17042 : 0 : case LE_EXPR:
17043 : 0 : {
17044 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
17045 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
17046 : 0 : || is_gimple_min_invariant (_q90)))
17047 : : {
17048 : 0 : _q90 = do_valueize (valueize, _q90);
17049 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
17050 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
17051 : 0 : || is_gimple_min_invariant (_q91)))
17052 : : {
17053 : 0 : _q91 = do_valueize (valueize, _q91);
17054 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
17055 : : {
17056 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
17057 : : {
17058 : 0 : if (zerop (_q82))
17059 : : {
17060 : 0 : {
17061 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
17062 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GT_EXPR, LE_EXPR))
17063 : 0 : return true;
17064 : : }
17065 : : }
17066 : : }
17067 : : }
17068 : : }
17069 : : }
17070 : : break;
17071 : : }
17072 : : default:;
17073 : : }
17074 : : break;
17075 : : }
17076 : : default:;
17077 : : }
17078 : : }
17079 : : break;
17080 : : default:;
17081 : : }
17082 : : }
17083 : : break;
17084 : : }
17085 : 0 : case UNORDERED_EXPR:
17086 : 0 : {
17087 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
17088 : 0 : _q30 = do_valueize (valueize, _q30);
17089 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
17090 : 0 : _q31 = do_valueize (valueize, _q31);
17091 : 0 : if (tree_swap_operands_p (_q30, _q31))
17092 : 0 : std::swap (_q30, _q31);
17093 : 0 : if (zerop (_q22))
17094 : : {
17095 : 0 : switch (TREE_CODE (_p1))
17096 : : {
17097 : 0 : case SSA_NAME:
17098 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
17099 : : {
17100 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
17101 : 0 : switch (gimple_assign_rhs_code (_a3))
17102 : : {
17103 : 0 : case COND_EXPR:
17104 : 0 : {
17105 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
17106 : 0 : _q80 = do_valueize (valueize, _q80);
17107 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
17108 : 0 : _q81 = do_valueize (valueize, _q81);
17109 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
17110 : 0 : _q82 = do_valueize (valueize, _q82);
17111 : 0 : switch (TREE_CODE (_q80))
17112 : : {
17113 : 0 : case SSA_NAME:
17114 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
17115 : : {
17116 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
17117 : 0 : switch (gimple_assign_rhs_code (_a4))
17118 : : {
17119 : 0 : case ORDERED_EXPR:
17120 : 0 : {
17121 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
17122 : 0 : _q90 = do_valueize (valueize, _q90);
17123 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
17124 : 0 : _q91 = do_valueize (valueize, _q91);
17125 : 0 : if (tree_swap_operands_p (_q90, _q91))
17126 : 0 : std::swap (_q90, _q91);
17127 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
17128 : : {
17129 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
17130 : : {
17131 : 0 : if (zerop (_q82))
17132 : : {
17133 : 0 : {
17134 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
17135 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNORDERED_EXPR, ORDERED_EXPR))
17136 : 0 : return true;
17137 : : }
17138 : : }
17139 : : }
17140 : : }
17141 : 4236567 : break;
17142 : : }
17143 : : default:;
17144 : : }
17145 : : }
17146 : : break;
17147 : 0 : case ORDERED_EXPR:
17148 : 0 : {
17149 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
17150 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
17151 : 0 : || is_gimple_min_invariant (_q90)))
17152 : : {
17153 : 0 : _q90 = do_valueize (valueize, _q90);
17154 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
17155 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
17156 : 0 : || is_gimple_min_invariant (_q91)))
17157 : : {
17158 : 0 : _q91 = do_valueize (valueize, _q91);
17159 : 0 : if (tree_swap_operands_p (_q90, _q91))
17160 : 0 : std::swap (_q90, _q91);
17161 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
17162 : : {
17163 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
17164 : : {
17165 : 0 : if (zerop (_q82))
17166 : : {
17167 : 0 : {
17168 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
17169 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNORDERED_EXPR, ORDERED_EXPR))
17170 : 0 : return true;
17171 : : }
17172 : : }
17173 : : }
17174 : : }
17175 : : }
17176 : : }
17177 : 4236567 : break;
17178 : : }
17179 : : default:;
17180 : : }
17181 : : break;
17182 : : }
17183 : : default:;
17184 : : }
17185 : : }
17186 : : break;
17187 : : default:;
17188 : : }
17189 : : }
17190 : 4236567 : break;
17191 : : }
17192 : 0 : case ORDERED_EXPR:
17193 : 0 : {
17194 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
17195 : 0 : _q30 = do_valueize (valueize, _q30);
17196 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
17197 : 0 : _q31 = do_valueize (valueize, _q31);
17198 : 0 : if (tree_swap_operands_p (_q30, _q31))
17199 : 0 : std::swap (_q30, _q31);
17200 : 0 : if (zerop (_q22))
17201 : : {
17202 : 0 : switch (TREE_CODE (_p1))
17203 : : {
17204 : 0 : case SSA_NAME:
17205 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
17206 : : {
17207 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
17208 : 0 : switch (gimple_assign_rhs_code (_a3))
17209 : : {
17210 : 0 : case COND_EXPR:
17211 : 0 : {
17212 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
17213 : 0 : _q80 = do_valueize (valueize, _q80);
17214 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
17215 : 0 : _q81 = do_valueize (valueize, _q81);
17216 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
17217 : 0 : _q82 = do_valueize (valueize, _q82);
17218 : 0 : switch (TREE_CODE (_q80))
17219 : : {
17220 : 0 : case SSA_NAME:
17221 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
17222 : : {
17223 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
17224 : 0 : switch (gimple_assign_rhs_code (_a4))
17225 : : {
17226 : 0 : case UNORDERED_EXPR:
17227 : 0 : {
17228 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
17229 : 0 : _q90 = do_valueize (valueize, _q90);
17230 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
17231 : 0 : _q91 = do_valueize (valueize, _q91);
17232 : 0 : if (tree_swap_operands_p (_q90, _q91))
17233 : 0 : std::swap (_q90, _q91);
17234 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
17235 : : {
17236 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
17237 : : {
17238 : 0 : if (zerop (_q82))
17239 : : {
17240 : 0 : {
17241 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
17242 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, ORDERED_EXPR, UNORDERED_EXPR))
17243 : 0 : return true;
17244 : : }
17245 : : }
17246 : : }
17247 : : }
17248 : 4236567 : break;
17249 : : }
17250 : : default:;
17251 : : }
17252 : : }
17253 : : break;
17254 : 0 : case UNORDERED_EXPR:
17255 : 0 : {
17256 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
17257 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
17258 : 0 : || is_gimple_min_invariant (_q90)))
17259 : : {
17260 : 0 : _q90 = do_valueize (valueize, _q90);
17261 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
17262 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
17263 : 0 : || is_gimple_min_invariant (_q91)))
17264 : : {
17265 : 0 : _q91 = do_valueize (valueize, _q91);
17266 : 0 : if (tree_swap_operands_p (_q90, _q91))
17267 : 0 : std::swap (_q90, _q91);
17268 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
17269 : : {
17270 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
17271 : : {
17272 : 0 : if (zerop (_q82))
17273 : : {
17274 : 0 : {
17275 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
17276 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, ORDERED_EXPR, UNORDERED_EXPR))
17277 : 0 : return true;
17278 : : }
17279 : : }
17280 : : }
17281 : : }
17282 : : }
17283 : : }
17284 : 4236567 : break;
17285 : : }
17286 : : default:;
17287 : : }
17288 : : break;
17289 : : }
17290 : : default:;
17291 : : }
17292 : : }
17293 : : break;
17294 : : default:;
17295 : : }
17296 : : }
17297 : 4236567 : break;
17298 : : }
17299 : 0 : case UNLT_EXPR:
17300 : 0 : {
17301 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
17302 : 0 : _q30 = do_valueize (valueize, _q30);
17303 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
17304 : 0 : _q31 = do_valueize (valueize, _q31);
17305 : 0 : if (zerop (_q22))
17306 : : {
17307 : 0 : switch (TREE_CODE (_p1))
17308 : : {
17309 : 0 : case SSA_NAME:
17310 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
17311 : : {
17312 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
17313 : 0 : switch (gimple_assign_rhs_code (_a3))
17314 : : {
17315 : 0 : case COND_EXPR:
17316 : 0 : {
17317 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
17318 : 0 : _q80 = do_valueize (valueize, _q80);
17319 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
17320 : 0 : _q81 = do_valueize (valueize, _q81);
17321 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
17322 : 0 : _q82 = do_valueize (valueize, _q82);
17323 : 0 : switch (TREE_CODE (_q80))
17324 : : {
17325 : 0 : case SSA_NAME:
17326 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
17327 : : {
17328 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
17329 : 0 : switch (gimple_assign_rhs_code (_a4))
17330 : : {
17331 : 0 : case GE_EXPR:
17332 : 0 : {
17333 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
17334 : 0 : _q90 = do_valueize (valueize, _q90);
17335 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
17336 : 0 : _q91 = do_valueize (valueize, _q91);
17337 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
17338 : : {
17339 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
17340 : : {
17341 : 0 : if (zerop (_q82))
17342 : : {
17343 : 0 : {
17344 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
17345 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNLT_EXPR, GE_EXPR))
17346 : 0 : return true;
17347 : : }
17348 : : }
17349 : : }
17350 : : }
17351 : : break;
17352 : : }
17353 : : default:;
17354 : : }
17355 : : }
17356 : : break;
17357 : 0 : case GE_EXPR:
17358 : 0 : {
17359 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
17360 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
17361 : 0 : || is_gimple_min_invariant (_q90)))
17362 : : {
17363 : 0 : _q90 = do_valueize (valueize, _q90);
17364 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
17365 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
17366 : 0 : || is_gimple_min_invariant (_q91)))
17367 : : {
17368 : 0 : _q91 = do_valueize (valueize, _q91);
17369 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
17370 : : {
17371 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
17372 : : {
17373 : 0 : if (zerop (_q82))
17374 : : {
17375 : 0 : {
17376 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
17377 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNLT_EXPR, GE_EXPR))
17378 : 0 : return true;
17379 : : }
17380 : : }
17381 : : }
17382 : : }
17383 : : }
17384 : : }
17385 : : break;
17386 : : }
17387 : : default:;
17388 : : }
17389 : : break;
17390 : : }
17391 : : default:;
17392 : : }
17393 : : }
17394 : : break;
17395 : : default:;
17396 : : }
17397 : : }
17398 : : break;
17399 : : }
17400 : 0 : case UNLE_EXPR:
17401 : 0 : {
17402 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
17403 : 0 : _q30 = do_valueize (valueize, _q30);
17404 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
17405 : 0 : _q31 = do_valueize (valueize, _q31);
17406 : 0 : if (zerop (_q22))
17407 : : {
17408 : 0 : switch (TREE_CODE (_p1))
17409 : : {
17410 : 0 : case SSA_NAME:
17411 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
17412 : : {
17413 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
17414 : 0 : switch (gimple_assign_rhs_code (_a3))
17415 : : {
17416 : 0 : case COND_EXPR:
17417 : 0 : {
17418 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
17419 : 0 : _q80 = do_valueize (valueize, _q80);
17420 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
17421 : 0 : _q81 = do_valueize (valueize, _q81);
17422 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
17423 : 0 : _q82 = do_valueize (valueize, _q82);
17424 : 0 : switch (TREE_CODE (_q80))
17425 : : {
17426 : 0 : case SSA_NAME:
17427 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
17428 : : {
17429 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
17430 : 0 : switch (gimple_assign_rhs_code (_a4))
17431 : : {
17432 : 0 : case GT_EXPR:
17433 : 0 : {
17434 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
17435 : 0 : _q90 = do_valueize (valueize, _q90);
17436 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
17437 : 0 : _q91 = do_valueize (valueize, _q91);
17438 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
17439 : : {
17440 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
17441 : : {
17442 : 0 : if (zerop (_q82))
17443 : : {
17444 : 0 : {
17445 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
17446 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNLE_EXPR, GT_EXPR))
17447 : 0 : return true;
17448 : : }
17449 : : }
17450 : : }
17451 : : }
17452 : : break;
17453 : : }
17454 : : default:;
17455 : : }
17456 : : }
17457 : : break;
17458 : 0 : case GT_EXPR:
17459 : 0 : {
17460 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
17461 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
17462 : 0 : || is_gimple_min_invariant (_q90)))
17463 : : {
17464 : 0 : _q90 = do_valueize (valueize, _q90);
17465 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
17466 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
17467 : 0 : || is_gimple_min_invariant (_q91)))
17468 : : {
17469 : 0 : _q91 = do_valueize (valueize, _q91);
17470 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
17471 : : {
17472 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
17473 : : {
17474 : 0 : if (zerop (_q82))
17475 : : {
17476 : 0 : {
17477 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
17478 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNLE_EXPR, GT_EXPR))
17479 : 0 : return true;
17480 : : }
17481 : : }
17482 : : }
17483 : : }
17484 : : }
17485 : : }
17486 : : break;
17487 : : }
17488 : : default:;
17489 : : }
17490 : : break;
17491 : : }
17492 : : default:;
17493 : : }
17494 : : }
17495 : : break;
17496 : : default:;
17497 : : }
17498 : : }
17499 : : break;
17500 : : }
17501 : 0 : case UNGT_EXPR:
17502 : 0 : {
17503 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
17504 : 0 : _q30 = do_valueize (valueize, _q30);
17505 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
17506 : 0 : _q31 = do_valueize (valueize, _q31);
17507 : 0 : if (zerop (_q22))
17508 : : {
17509 : 0 : switch (TREE_CODE (_p1))
17510 : : {
17511 : 0 : case SSA_NAME:
17512 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
17513 : : {
17514 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
17515 : 0 : switch (gimple_assign_rhs_code (_a3))
17516 : : {
17517 : 0 : case COND_EXPR:
17518 : 0 : {
17519 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
17520 : 0 : _q80 = do_valueize (valueize, _q80);
17521 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
17522 : 0 : _q81 = do_valueize (valueize, _q81);
17523 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
17524 : 0 : _q82 = do_valueize (valueize, _q82);
17525 : 0 : switch (TREE_CODE (_q80))
17526 : : {
17527 : 0 : case SSA_NAME:
17528 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
17529 : : {
17530 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
17531 : 0 : switch (gimple_assign_rhs_code (_a4))
17532 : : {
17533 : 0 : case LE_EXPR:
17534 : 0 : {
17535 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
17536 : 0 : _q90 = do_valueize (valueize, _q90);
17537 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
17538 : 0 : _q91 = do_valueize (valueize, _q91);
17539 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
17540 : : {
17541 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
17542 : : {
17543 : 0 : if (zerop (_q82))
17544 : : {
17545 : 0 : {
17546 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
17547 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNGT_EXPR, LE_EXPR))
17548 : 0 : return true;
17549 : : }
17550 : : }
17551 : : }
17552 : : }
17553 : : break;
17554 : : }
17555 : : default:;
17556 : : }
17557 : : }
17558 : : break;
17559 : 0 : case LE_EXPR:
17560 : 0 : {
17561 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
17562 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
17563 : 0 : || is_gimple_min_invariant (_q90)))
17564 : : {
17565 : 0 : _q90 = do_valueize (valueize, _q90);
17566 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
17567 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
17568 : 0 : || is_gimple_min_invariant (_q91)))
17569 : : {
17570 : 0 : _q91 = do_valueize (valueize, _q91);
17571 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
17572 : : {
17573 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
17574 : : {
17575 : 0 : if (zerop (_q82))
17576 : : {
17577 : 0 : {
17578 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
17579 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNGT_EXPR, LE_EXPR))
17580 : 0 : return true;
17581 : : }
17582 : : }
17583 : : }
17584 : : }
17585 : : }
17586 : : }
17587 : : break;
17588 : : }
17589 : : default:;
17590 : : }
17591 : : break;
17592 : : }
17593 : : default:;
17594 : : }
17595 : : }
17596 : : break;
17597 : : default:;
17598 : : }
17599 : : }
17600 : : break;
17601 : : }
17602 : 0 : case UNGE_EXPR:
17603 : 0 : {
17604 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
17605 : 0 : _q30 = do_valueize (valueize, _q30);
17606 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
17607 : 0 : _q31 = do_valueize (valueize, _q31);
17608 : 0 : if (zerop (_q22))
17609 : : {
17610 : 0 : switch (TREE_CODE (_p1))
17611 : : {
17612 : 0 : case SSA_NAME:
17613 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
17614 : : {
17615 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
17616 : 0 : switch (gimple_assign_rhs_code (_a3))
17617 : : {
17618 : 0 : case COND_EXPR:
17619 : 0 : {
17620 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
17621 : 0 : _q80 = do_valueize (valueize, _q80);
17622 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
17623 : 0 : _q81 = do_valueize (valueize, _q81);
17624 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
17625 : 0 : _q82 = do_valueize (valueize, _q82);
17626 : 0 : switch (TREE_CODE (_q80))
17627 : : {
17628 : 0 : case SSA_NAME:
17629 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
17630 : : {
17631 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
17632 : 0 : switch (gimple_assign_rhs_code (_a4))
17633 : : {
17634 : 0 : case LT_EXPR:
17635 : 0 : {
17636 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
17637 : 0 : _q90 = do_valueize (valueize, _q90);
17638 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
17639 : 0 : _q91 = do_valueize (valueize, _q91);
17640 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
17641 : : {
17642 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
17643 : : {
17644 : 0 : if (zerop (_q82))
17645 : : {
17646 : 0 : {
17647 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
17648 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNGE_EXPR, LT_EXPR))
17649 : 0 : return true;
17650 : : }
17651 : : }
17652 : : }
17653 : : }
17654 : : break;
17655 : : }
17656 : : default:;
17657 : : }
17658 : : }
17659 : : break;
17660 : 0 : case LT_EXPR:
17661 : 0 : {
17662 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
17663 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
17664 : 0 : || is_gimple_min_invariant (_q90)))
17665 : : {
17666 : 0 : _q90 = do_valueize (valueize, _q90);
17667 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
17668 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
17669 : 0 : || is_gimple_min_invariant (_q91)))
17670 : : {
17671 : 0 : _q91 = do_valueize (valueize, _q91);
17672 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
17673 : : {
17674 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
17675 : : {
17676 : 0 : if (zerop (_q82))
17677 : : {
17678 : 0 : {
17679 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
17680 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNGE_EXPR, LT_EXPR))
17681 : 0 : return true;
17682 : : }
17683 : : }
17684 : : }
17685 : : }
17686 : : }
17687 : : }
17688 : : break;
17689 : : }
17690 : : default:;
17691 : : }
17692 : : break;
17693 : : }
17694 : : default:;
17695 : : }
17696 : : }
17697 : : break;
17698 : : default:;
17699 : : }
17700 : : }
17701 : : break;
17702 : : }
17703 : 0 : case UNEQ_EXPR:
17704 : 0 : {
17705 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
17706 : 0 : _q30 = do_valueize (valueize, _q30);
17707 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
17708 : 0 : _q31 = do_valueize (valueize, _q31);
17709 : 0 : if (tree_swap_operands_p (_q30, _q31))
17710 : 0 : std::swap (_q30, _q31);
17711 : 0 : if (zerop (_q22))
17712 : : {
17713 : 0 : switch (TREE_CODE (_p1))
17714 : : {
17715 : 0 : case SSA_NAME:
17716 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
17717 : : {
17718 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
17719 : 0 : switch (gimple_assign_rhs_code (_a3))
17720 : : {
17721 : 0 : case COND_EXPR:
17722 : 0 : {
17723 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
17724 : 0 : _q80 = do_valueize (valueize, _q80);
17725 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
17726 : 0 : _q81 = do_valueize (valueize, _q81);
17727 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
17728 : 0 : _q82 = do_valueize (valueize, _q82);
17729 : 0 : switch (TREE_CODE (_q80))
17730 : : {
17731 : 0 : case SSA_NAME:
17732 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
17733 : : {
17734 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
17735 : 0 : switch (gimple_assign_rhs_code (_a4))
17736 : : {
17737 : 0 : case LTGT_EXPR:
17738 : 0 : {
17739 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
17740 : 0 : _q90 = do_valueize (valueize, _q90);
17741 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
17742 : 0 : _q91 = do_valueize (valueize, _q91);
17743 : 0 : if (tree_swap_operands_p (_q90, _q91))
17744 : 0 : std::swap (_q90, _q91);
17745 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
17746 : : {
17747 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
17748 : : {
17749 : 0 : if (zerop (_q82))
17750 : : {
17751 : 0 : {
17752 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
17753 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNEQ_EXPR, LTGT_EXPR))
17754 : 0 : return true;
17755 : : }
17756 : : }
17757 : : }
17758 : : }
17759 : 4236567 : break;
17760 : : }
17761 : : default:;
17762 : : }
17763 : : }
17764 : : break;
17765 : 0 : case LTGT_EXPR:
17766 : 0 : {
17767 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
17768 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
17769 : 0 : || is_gimple_min_invariant (_q90)))
17770 : : {
17771 : 0 : _q90 = do_valueize (valueize, _q90);
17772 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
17773 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
17774 : 0 : || is_gimple_min_invariant (_q91)))
17775 : : {
17776 : 0 : _q91 = do_valueize (valueize, _q91);
17777 : 0 : if (tree_swap_operands_p (_q90, _q91))
17778 : 0 : std::swap (_q90, _q91);
17779 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
17780 : : {
17781 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
17782 : : {
17783 : 0 : if (zerop (_q82))
17784 : : {
17785 : 0 : {
17786 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
17787 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNEQ_EXPR, LTGT_EXPR))
17788 : 0 : return true;
17789 : : }
17790 : : }
17791 : : }
17792 : : }
17793 : : }
17794 : : }
17795 : 4236567 : break;
17796 : : }
17797 : : default:;
17798 : : }
17799 : : break;
17800 : : }
17801 : : default:;
17802 : : }
17803 : : }
17804 : : break;
17805 : : default:;
17806 : : }
17807 : : }
17808 : 4236567 : break;
17809 : : }
17810 : 0 : case LTGT_EXPR:
17811 : 0 : {
17812 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
17813 : 0 : _q30 = do_valueize (valueize, _q30);
17814 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
17815 : 0 : _q31 = do_valueize (valueize, _q31);
17816 : 0 : if (tree_swap_operands_p (_q30, _q31))
17817 : 0 : std::swap (_q30, _q31);
17818 : 0 : if (zerop (_q22))
17819 : : {
17820 : 0 : switch (TREE_CODE (_p1))
17821 : : {
17822 : 0 : case SSA_NAME:
17823 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
17824 : : {
17825 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
17826 : 0 : switch (gimple_assign_rhs_code (_a3))
17827 : : {
17828 : 0 : case COND_EXPR:
17829 : 0 : {
17830 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
17831 : 0 : _q80 = do_valueize (valueize, _q80);
17832 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
17833 : 0 : _q81 = do_valueize (valueize, _q81);
17834 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
17835 : 0 : _q82 = do_valueize (valueize, _q82);
17836 : 0 : switch (TREE_CODE (_q80))
17837 : : {
17838 : 0 : case SSA_NAME:
17839 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
17840 : : {
17841 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
17842 : 0 : switch (gimple_assign_rhs_code (_a4))
17843 : : {
17844 : 0 : case UNEQ_EXPR:
17845 : 0 : {
17846 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
17847 : 0 : _q90 = do_valueize (valueize, _q90);
17848 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
17849 : 0 : _q91 = do_valueize (valueize, _q91);
17850 : 0 : if (tree_swap_operands_p (_q90, _q91))
17851 : 0 : std::swap (_q90, _q91);
17852 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
17853 : : {
17854 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
17855 : : {
17856 : 0 : if (zerop (_q82))
17857 : : {
17858 : 0 : {
17859 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
17860 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LTGT_EXPR, UNEQ_EXPR))
17861 : 0 : return true;
17862 : : }
17863 : : }
17864 : : }
17865 : : }
17866 : 4236567 : break;
17867 : : }
17868 : : default:;
17869 : : }
17870 : : }
17871 : : break;
17872 : 0 : case UNEQ_EXPR:
17873 : 0 : {
17874 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
17875 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
17876 : 0 : || is_gimple_min_invariant (_q90)))
17877 : : {
17878 : 0 : _q90 = do_valueize (valueize, _q90);
17879 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
17880 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
17881 : 0 : || is_gimple_min_invariant (_q91)))
17882 : : {
17883 : 0 : _q91 = do_valueize (valueize, _q91);
17884 : 0 : if (tree_swap_operands_p (_q90, _q91))
17885 : 0 : std::swap (_q90, _q91);
17886 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
17887 : : {
17888 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
17889 : : {
17890 : 0 : if (zerop (_q82))
17891 : : {
17892 : 0 : {
17893 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
17894 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LTGT_EXPR, UNEQ_EXPR))
17895 : 0 : return true;
17896 : : }
17897 : : }
17898 : : }
17899 : : }
17900 : : }
17901 : : }
17902 : 4236567 : break;
17903 : : }
17904 : : default:;
17905 : : }
17906 : : break;
17907 : : }
17908 : : default:;
17909 : : }
17910 : : }
17911 : : break;
17912 : : default:;
17913 : : }
17914 : : }
17915 : 4236567 : break;
17916 : : }
17917 : : default:;
17918 : : }
17919 : : }
17920 : : break;
17921 : 0 : case LT_EXPR:
17922 : 0 : {
17923 : 0 : tree _q30 = TREE_OPERAND (_q20, 0);
17924 : 0 : if ((TREE_CODE (_q30) == SSA_NAME
17925 : 0 : || is_gimple_min_invariant (_q30)))
17926 : : {
17927 : 0 : _q30 = do_valueize (valueize, _q30);
17928 : 0 : tree _q31 = TREE_OPERAND (_q20, 1);
17929 : 0 : if ((TREE_CODE (_q31) == SSA_NAME
17930 : 0 : || is_gimple_min_invariant (_q31)))
17931 : : {
17932 : 0 : _q31 = do_valueize (valueize, _q31);
17933 : 0 : if (zerop (_q22))
17934 : : {
17935 : 0 : switch (TREE_CODE (_p1))
17936 : : {
17937 : 0 : case SSA_NAME:
17938 : 0 : if (gimple *_d2 = get_def (valueize, _p1))
17939 : : {
17940 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
17941 : 0 : switch (gimple_assign_rhs_code (_a2))
17942 : : {
17943 : 0 : case COND_EXPR:
17944 : 0 : {
17945 : 0 : tree _q80 = gimple_assign_rhs1 (_a2);
17946 : 0 : _q80 = do_valueize (valueize, _q80);
17947 : 0 : tree _q81 = gimple_assign_rhs2 (_a2);
17948 : 0 : _q81 = do_valueize (valueize, _q81);
17949 : 0 : tree _q82 = gimple_assign_rhs3 (_a2);
17950 : 0 : _q82 = do_valueize (valueize, _q82);
17951 : 0 : switch (TREE_CODE (_q80))
17952 : : {
17953 : 0 : case SSA_NAME:
17954 : 0 : if (gimple *_d3 = get_def (valueize, _q80))
17955 : : {
17956 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
17957 : 0 : switch (gimple_assign_rhs_code (_a3))
17958 : : {
17959 : 0 : case GE_EXPR:
17960 : 0 : {
17961 : 0 : tree _q90 = gimple_assign_rhs1 (_a3);
17962 : 0 : _q90 = do_valueize (valueize, _q90);
17963 : 0 : tree _q91 = gimple_assign_rhs2 (_a3);
17964 : 0 : _q91 = do_valueize (valueize, _q91);
17965 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
17966 : : {
17967 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
17968 : : {
17969 : 0 : if (zerop (_q82))
17970 : : {
17971 : 0 : {
17972 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
17973 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LT_EXPR, GE_EXPR))
17974 : 0 : return true;
17975 : : }
17976 : : }
17977 : : }
17978 : : }
17979 : : break;
17980 : : }
17981 : : default:;
17982 : : }
17983 : : }
17984 : : break;
17985 : 0 : case GE_EXPR:
17986 : 0 : {
17987 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
17988 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
17989 : 0 : || is_gimple_min_invariant (_q90)))
17990 : : {
17991 : 0 : _q90 = do_valueize (valueize, _q90);
17992 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
17993 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
17994 : 0 : || is_gimple_min_invariant (_q91)))
17995 : : {
17996 : 0 : _q91 = do_valueize (valueize, _q91);
17997 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
17998 : : {
17999 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
18000 : : {
18001 : 0 : if (zerop (_q82))
18002 : : {
18003 : 0 : {
18004 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
18005 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LT_EXPR, GE_EXPR))
18006 : 0 : return true;
18007 : : }
18008 : : }
18009 : : }
18010 : : }
18011 : : }
18012 : : }
18013 : : break;
18014 : : }
18015 : : default:;
18016 : : }
18017 : : break;
18018 : : }
18019 : : default:;
18020 : : }
18021 : : }
18022 : : break;
18023 : : default:;
18024 : : }
18025 : : }
18026 : : }
18027 : : }
18028 : : break;
18029 : : }
18030 : 0 : case LE_EXPR:
18031 : 0 : {
18032 : 0 : tree _q30 = TREE_OPERAND (_q20, 0);
18033 : 0 : if ((TREE_CODE (_q30) == SSA_NAME
18034 : 0 : || is_gimple_min_invariant (_q30)))
18035 : : {
18036 : 0 : _q30 = do_valueize (valueize, _q30);
18037 : 0 : tree _q31 = TREE_OPERAND (_q20, 1);
18038 : 0 : if ((TREE_CODE (_q31) == SSA_NAME
18039 : 0 : || is_gimple_min_invariant (_q31)))
18040 : : {
18041 : 0 : _q31 = do_valueize (valueize, _q31);
18042 : 0 : if (zerop (_q22))
18043 : : {
18044 : 0 : switch (TREE_CODE (_p1))
18045 : : {
18046 : 0 : case SSA_NAME:
18047 : 0 : if (gimple *_d2 = get_def (valueize, _p1))
18048 : : {
18049 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
18050 : 0 : switch (gimple_assign_rhs_code (_a2))
18051 : : {
18052 : 0 : case COND_EXPR:
18053 : 0 : {
18054 : 0 : tree _q80 = gimple_assign_rhs1 (_a2);
18055 : 0 : _q80 = do_valueize (valueize, _q80);
18056 : 0 : tree _q81 = gimple_assign_rhs2 (_a2);
18057 : 0 : _q81 = do_valueize (valueize, _q81);
18058 : 0 : tree _q82 = gimple_assign_rhs3 (_a2);
18059 : 0 : _q82 = do_valueize (valueize, _q82);
18060 : 0 : switch (TREE_CODE (_q80))
18061 : : {
18062 : 0 : case SSA_NAME:
18063 : 0 : if (gimple *_d3 = get_def (valueize, _q80))
18064 : : {
18065 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
18066 : 0 : switch (gimple_assign_rhs_code (_a3))
18067 : : {
18068 : 0 : case GT_EXPR:
18069 : 0 : {
18070 : 0 : tree _q90 = gimple_assign_rhs1 (_a3);
18071 : 0 : _q90 = do_valueize (valueize, _q90);
18072 : 0 : tree _q91 = gimple_assign_rhs2 (_a3);
18073 : 0 : _q91 = do_valueize (valueize, _q91);
18074 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
18075 : : {
18076 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
18077 : : {
18078 : 0 : if (zerop (_q82))
18079 : : {
18080 : 0 : {
18081 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
18082 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LE_EXPR, GT_EXPR))
18083 : 0 : return true;
18084 : : }
18085 : : }
18086 : : }
18087 : : }
18088 : : break;
18089 : : }
18090 : : default:;
18091 : : }
18092 : : }
18093 : : break;
18094 : 0 : case GT_EXPR:
18095 : 0 : {
18096 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
18097 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
18098 : 0 : || is_gimple_min_invariant (_q90)))
18099 : : {
18100 : 0 : _q90 = do_valueize (valueize, _q90);
18101 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
18102 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
18103 : 0 : || is_gimple_min_invariant (_q91)))
18104 : : {
18105 : 0 : _q91 = do_valueize (valueize, _q91);
18106 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
18107 : : {
18108 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
18109 : : {
18110 : 0 : if (zerop (_q82))
18111 : : {
18112 : 0 : {
18113 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
18114 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LE_EXPR, GT_EXPR))
18115 : 0 : return true;
18116 : : }
18117 : : }
18118 : : }
18119 : : }
18120 : : }
18121 : : }
18122 : : break;
18123 : : }
18124 : : default:;
18125 : : }
18126 : : break;
18127 : : }
18128 : : default:;
18129 : : }
18130 : : }
18131 : : break;
18132 : : default:;
18133 : : }
18134 : : }
18135 : : }
18136 : : }
18137 : : break;
18138 : : }
18139 : 0 : case EQ_EXPR:
18140 : 0 : {
18141 : 0 : tree _q30 = TREE_OPERAND (_q20, 0);
18142 : 0 : if ((TREE_CODE (_q30) == SSA_NAME
18143 : 0 : || is_gimple_min_invariant (_q30)))
18144 : : {
18145 : 0 : _q30 = do_valueize (valueize, _q30);
18146 : 0 : tree _q31 = TREE_OPERAND (_q20, 1);
18147 : 0 : if ((TREE_CODE (_q31) == SSA_NAME
18148 : 0 : || is_gimple_min_invariant (_q31)))
18149 : : {
18150 : 0 : _q31 = do_valueize (valueize, _q31);
18151 : 0 : if (tree_swap_operands_p (_q30, _q31))
18152 : 0 : std::swap (_q30, _q31);
18153 : 0 : if (zerop (_q22))
18154 : : {
18155 : 0 : switch (TREE_CODE (_p1))
18156 : : {
18157 : 0 : case SSA_NAME:
18158 : 0 : if (gimple *_d2 = get_def (valueize, _p1))
18159 : : {
18160 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
18161 : 0 : switch (gimple_assign_rhs_code (_a2))
18162 : : {
18163 : 0 : case COND_EXPR:
18164 : 0 : {
18165 : 0 : tree _q80 = gimple_assign_rhs1 (_a2);
18166 : 0 : _q80 = do_valueize (valueize, _q80);
18167 : 0 : tree _q81 = gimple_assign_rhs2 (_a2);
18168 : 0 : _q81 = do_valueize (valueize, _q81);
18169 : 0 : tree _q82 = gimple_assign_rhs3 (_a2);
18170 : 0 : _q82 = do_valueize (valueize, _q82);
18171 : 0 : switch (TREE_CODE (_q80))
18172 : : {
18173 : 0 : case SSA_NAME:
18174 : 0 : if (gimple *_d3 = get_def (valueize, _q80))
18175 : : {
18176 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
18177 : 0 : switch (gimple_assign_rhs_code (_a3))
18178 : : {
18179 : 0 : case NE_EXPR:
18180 : 0 : {
18181 : 0 : tree _q90 = gimple_assign_rhs1 (_a3);
18182 : 0 : _q90 = do_valueize (valueize, _q90);
18183 : 0 : tree _q91 = gimple_assign_rhs2 (_a3);
18184 : 0 : _q91 = do_valueize (valueize, _q91);
18185 : 0 : if (tree_swap_operands_p (_q90, _q91))
18186 : 0 : std::swap (_q90, _q91);
18187 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
18188 : : {
18189 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
18190 : : {
18191 : 0 : if (zerop (_q82))
18192 : : {
18193 : 0 : {
18194 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
18195 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, EQ_EXPR, NE_EXPR))
18196 : 0 : return true;
18197 : : }
18198 : : }
18199 : : }
18200 : : }
18201 : 4236567 : break;
18202 : : }
18203 : : default:;
18204 : : }
18205 : : }
18206 : : break;
18207 : 0 : case NE_EXPR:
18208 : 0 : {
18209 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
18210 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
18211 : 0 : || is_gimple_min_invariant (_q90)))
18212 : : {
18213 : 0 : _q90 = do_valueize (valueize, _q90);
18214 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
18215 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
18216 : 0 : || is_gimple_min_invariant (_q91)))
18217 : : {
18218 : 0 : _q91 = do_valueize (valueize, _q91);
18219 : 0 : if (tree_swap_operands_p (_q90, _q91))
18220 : 0 : std::swap (_q90, _q91);
18221 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
18222 : : {
18223 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
18224 : : {
18225 : 0 : if (zerop (_q82))
18226 : : {
18227 : 0 : {
18228 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
18229 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, EQ_EXPR, NE_EXPR))
18230 : 0 : return true;
18231 : : }
18232 : : }
18233 : : }
18234 : : }
18235 : : }
18236 : : }
18237 : 4236567 : break;
18238 : : }
18239 : : default:;
18240 : : }
18241 : : break;
18242 : : }
18243 : : default:;
18244 : : }
18245 : : }
18246 : : break;
18247 : : default:;
18248 : : }
18249 : : }
18250 : : }
18251 : : }
18252 : 4236567 : break;
18253 : : }
18254 : 0 : case NE_EXPR:
18255 : 0 : {
18256 : 0 : tree _q30 = TREE_OPERAND (_q20, 0);
18257 : 0 : if ((TREE_CODE (_q30) == SSA_NAME
18258 : 0 : || is_gimple_min_invariant (_q30)))
18259 : : {
18260 : 0 : _q30 = do_valueize (valueize, _q30);
18261 : 0 : tree _q31 = TREE_OPERAND (_q20, 1);
18262 : 0 : if ((TREE_CODE (_q31) == SSA_NAME
18263 : 0 : || is_gimple_min_invariant (_q31)))
18264 : : {
18265 : 0 : _q31 = do_valueize (valueize, _q31);
18266 : 0 : if (tree_swap_operands_p (_q30, _q31))
18267 : 0 : std::swap (_q30, _q31);
18268 : 0 : if (zerop (_q22))
18269 : : {
18270 : 0 : switch (TREE_CODE (_p1))
18271 : : {
18272 : 0 : case SSA_NAME:
18273 : 0 : if (gimple *_d2 = get_def (valueize, _p1))
18274 : : {
18275 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
18276 : 0 : switch (gimple_assign_rhs_code (_a2))
18277 : : {
18278 : 0 : case COND_EXPR:
18279 : 0 : {
18280 : 0 : tree _q80 = gimple_assign_rhs1 (_a2);
18281 : 0 : _q80 = do_valueize (valueize, _q80);
18282 : 0 : tree _q81 = gimple_assign_rhs2 (_a2);
18283 : 0 : _q81 = do_valueize (valueize, _q81);
18284 : 0 : tree _q82 = gimple_assign_rhs3 (_a2);
18285 : 0 : _q82 = do_valueize (valueize, _q82);
18286 : 0 : switch (TREE_CODE (_q80))
18287 : : {
18288 : 0 : case SSA_NAME:
18289 : 0 : if (gimple *_d3 = get_def (valueize, _q80))
18290 : : {
18291 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
18292 : 0 : switch (gimple_assign_rhs_code (_a3))
18293 : : {
18294 : 0 : case EQ_EXPR:
18295 : 0 : {
18296 : 0 : tree _q90 = gimple_assign_rhs1 (_a3);
18297 : 0 : _q90 = do_valueize (valueize, _q90);
18298 : 0 : tree _q91 = gimple_assign_rhs2 (_a3);
18299 : 0 : _q91 = do_valueize (valueize, _q91);
18300 : 0 : if (tree_swap_operands_p (_q90, _q91))
18301 : 0 : std::swap (_q90, _q91);
18302 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
18303 : : {
18304 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
18305 : : {
18306 : 0 : if (zerop (_q82))
18307 : : {
18308 : 0 : {
18309 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
18310 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, NE_EXPR, EQ_EXPR))
18311 : 0 : return true;
18312 : : }
18313 : : }
18314 : : }
18315 : : }
18316 : 4236567 : break;
18317 : : }
18318 : : default:;
18319 : : }
18320 : : }
18321 : : break;
18322 : 0 : case EQ_EXPR:
18323 : 0 : {
18324 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
18325 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
18326 : 0 : || is_gimple_min_invariant (_q90)))
18327 : : {
18328 : 0 : _q90 = do_valueize (valueize, _q90);
18329 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
18330 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
18331 : 0 : || is_gimple_min_invariant (_q91)))
18332 : : {
18333 : 0 : _q91 = do_valueize (valueize, _q91);
18334 : 0 : if (tree_swap_operands_p (_q90, _q91))
18335 : 0 : std::swap (_q90, _q91);
18336 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
18337 : : {
18338 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
18339 : : {
18340 : 0 : if (zerop (_q82))
18341 : : {
18342 : 0 : {
18343 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
18344 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, NE_EXPR, EQ_EXPR))
18345 : 0 : return true;
18346 : : }
18347 : : }
18348 : : }
18349 : : }
18350 : : }
18351 : : }
18352 : 4236567 : break;
18353 : : }
18354 : : default:;
18355 : : }
18356 : : break;
18357 : : }
18358 : : default:;
18359 : : }
18360 : : }
18361 : : break;
18362 : : default:;
18363 : : }
18364 : : }
18365 : : }
18366 : : }
18367 : 4236567 : break;
18368 : : }
18369 : 0 : case GE_EXPR:
18370 : 0 : {
18371 : 0 : tree _q30 = TREE_OPERAND (_q20, 0);
18372 : 0 : if ((TREE_CODE (_q30) == SSA_NAME
18373 : 0 : || is_gimple_min_invariant (_q30)))
18374 : : {
18375 : 0 : _q30 = do_valueize (valueize, _q30);
18376 : 0 : tree _q31 = TREE_OPERAND (_q20, 1);
18377 : 0 : if ((TREE_CODE (_q31) == SSA_NAME
18378 : 0 : || is_gimple_min_invariant (_q31)))
18379 : : {
18380 : 0 : _q31 = do_valueize (valueize, _q31);
18381 : 0 : if (zerop (_q22))
18382 : : {
18383 : 0 : switch (TREE_CODE (_p1))
18384 : : {
18385 : 0 : case SSA_NAME:
18386 : 0 : if (gimple *_d2 = get_def (valueize, _p1))
18387 : : {
18388 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
18389 : 0 : switch (gimple_assign_rhs_code (_a2))
18390 : : {
18391 : 0 : case COND_EXPR:
18392 : 0 : {
18393 : 0 : tree _q80 = gimple_assign_rhs1 (_a2);
18394 : 0 : _q80 = do_valueize (valueize, _q80);
18395 : 0 : tree _q81 = gimple_assign_rhs2 (_a2);
18396 : 0 : _q81 = do_valueize (valueize, _q81);
18397 : 0 : tree _q82 = gimple_assign_rhs3 (_a2);
18398 : 0 : _q82 = do_valueize (valueize, _q82);
18399 : 0 : switch (TREE_CODE (_q80))
18400 : : {
18401 : 0 : case SSA_NAME:
18402 : 0 : if (gimple *_d3 = get_def (valueize, _q80))
18403 : : {
18404 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
18405 : 0 : switch (gimple_assign_rhs_code (_a3))
18406 : : {
18407 : 0 : case LT_EXPR:
18408 : 0 : {
18409 : 0 : tree _q90 = gimple_assign_rhs1 (_a3);
18410 : 0 : _q90 = do_valueize (valueize, _q90);
18411 : 0 : tree _q91 = gimple_assign_rhs2 (_a3);
18412 : 0 : _q91 = do_valueize (valueize, _q91);
18413 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
18414 : : {
18415 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
18416 : : {
18417 : 0 : if (zerop (_q82))
18418 : : {
18419 : 0 : {
18420 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
18421 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GE_EXPR, LT_EXPR))
18422 : 0 : return true;
18423 : : }
18424 : : }
18425 : : }
18426 : : }
18427 : : break;
18428 : : }
18429 : : default:;
18430 : : }
18431 : : }
18432 : : break;
18433 : 0 : case LT_EXPR:
18434 : 0 : {
18435 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
18436 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
18437 : 0 : || is_gimple_min_invariant (_q90)))
18438 : : {
18439 : 0 : _q90 = do_valueize (valueize, _q90);
18440 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
18441 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
18442 : 0 : || is_gimple_min_invariant (_q91)))
18443 : : {
18444 : 0 : _q91 = do_valueize (valueize, _q91);
18445 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
18446 : : {
18447 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
18448 : : {
18449 : 0 : if (zerop (_q82))
18450 : : {
18451 : 0 : {
18452 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
18453 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GE_EXPR, LT_EXPR))
18454 : 0 : return true;
18455 : : }
18456 : : }
18457 : : }
18458 : : }
18459 : : }
18460 : : }
18461 : : break;
18462 : : }
18463 : : default:;
18464 : : }
18465 : : break;
18466 : : }
18467 : : default:;
18468 : : }
18469 : : }
18470 : : break;
18471 : : default:;
18472 : : }
18473 : : }
18474 : : }
18475 : : }
18476 : : break;
18477 : : }
18478 : 0 : case GT_EXPR:
18479 : 0 : {
18480 : 0 : tree _q30 = TREE_OPERAND (_q20, 0);
18481 : 0 : if ((TREE_CODE (_q30) == SSA_NAME
18482 : 0 : || is_gimple_min_invariant (_q30)))
18483 : : {
18484 : 0 : _q30 = do_valueize (valueize, _q30);
18485 : 0 : tree _q31 = TREE_OPERAND (_q20, 1);
18486 : 0 : if ((TREE_CODE (_q31) == SSA_NAME
18487 : 0 : || is_gimple_min_invariant (_q31)))
18488 : : {
18489 : 0 : _q31 = do_valueize (valueize, _q31);
18490 : 0 : if (zerop (_q22))
18491 : : {
18492 : 0 : switch (TREE_CODE (_p1))
18493 : : {
18494 : 0 : case SSA_NAME:
18495 : 0 : if (gimple *_d2 = get_def (valueize, _p1))
18496 : : {
18497 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
18498 : 0 : switch (gimple_assign_rhs_code (_a2))
18499 : : {
18500 : 0 : case COND_EXPR:
18501 : 0 : {
18502 : 0 : tree _q80 = gimple_assign_rhs1 (_a2);
18503 : 0 : _q80 = do_valueize (valueize, _q80);
18504 : 0 : tree _q81 = gimple_assign_rhs2 (_a2);
18505 : 0 : _q81 = do_valueize (valueize, _q81);
18506 : 0 : tree _q82 = gimple_assign_rhs3 (_a2);
18507 : 0 : _q82 = do_valueize (valueize, _q82);
18508 : 0 : switch (TREE_CODE (_q80))
18509 : : {
18510 : 0 : case SSA_NAME:
18511 : 0 : if (gimple *_d3 = get_def (valueize, _q80))
18512 : : {
18513 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
18514 : 0 : switch (gimple_assign_rhs_code (_a3))
18515 : : {
18516 : 0 : case LE_EXPR:
18517 : 0 : {
18518 : 0 : tree _q90 = gimple_assign_rhs1 (_a3);
18519 : 0 : _q90 = do_valueize (valueize, _q90);
18520 : 0 : tree _q91 = gimple_assign_rhs2 (_a3);
18521 : 0 : _q91 = do_valueize (valueize, _q91);
18522 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
18523 : : {
18524 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
18525 : : {
18526 : 0 : if (zerop (_q82))
18527 : : {
18528 : 0 : {
18529 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
18530 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GT_EXPR, LE_EXPR))
18531 : 0 : return true;
18532 : : }
18533 : : }
18534 : : }
18535 : : }
18536 : : break;
18537 : : }
18538 : : default:;
18539 : : }
18540 : : }
18541 : : break;
18542 : 0 : case LE_EXPR:
18543 : 0 : {
18544 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
18545 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
18546 : 0 : || is_gimple_min_invariant (_q90)))
18547 : : {
18548 : 0 : _q90 = do_valueize (valueize, _q90);
18549 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
18550 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
18551 : 0 : || is_gimple_min_invariant (_q91)))
18552 : : {
18553 : 0 : _q91 = do_valueize (valueize, _q91);
18554 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
18555 : : {
18556 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
18557 : : {
18558 : 0 : if (zerop (_q82))
18559 : : {
18560 : 0 : {
18561 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
18562 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GT_EXPR, LE_EXPR))
18563 : 0 : return true;
18564 : : }
18565 : : }
18566 : : }
18567 : : }
18568 : : }
18569 : : }
18570 : : break;
18571 : : }
18572 : : default:;
18573 : : }
18574 : : break;
18575 : : }
18576 : : default:;
18577 : : }
18578 : : }
18579 : : break;
18580 : : default:;
18581 : : }
18582 : : }
18583 : : }
18584 : : }
18585 : : break;
18586 : : }
18587 : 0 : case UNORDERED_EXPR:
18588 : 0 : {
18589 : 0 : tree _q30 = TREE_OPERAND (_q20, 0);
18590 : 0 : if ((TREE_CODE (_q30) == SSA_NAME
18591 : 0 : || is_gimple_min_invariant (_q30)))
18592 : : {
18593 : 0 : _q30 = do_valueize (valueize, _q30);
18594 : 0 : tree _q31 = TREE_OPERAND (_q20, 1);
18595 : 0 : if ((TREE_CODE (_q31) == SSA_NAME
18596 : 0 : || is_gimple_min_invariant (_q31)))
18597 : : {
18598 : 0 : _q31 = do_valueize (valueize, _q31);
18599 : 0 : if (tree_swap_operands_p (_q30, _q31))
18600 : 0 : std::swap (_q30, _q31);
18601 : 0 : if (zerop (_q22))
18602 : : {
18603 : 0 : switch (TREE_CODE (_p1))
18604 : : {
18605 : 0 : case SSA_NAME:
18606 : 0 : if (gimple *_d2 = get_def (valueize, _p1))
18607 : : {
18608 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
18609 : 0 : switch (gimple_assign_rhs_code (_a2))
18610 : : {
18611 : 0 : case COND_EXPR:
18612 : 0 : {
18613 : 0 : tree _q80 = gimple_assign_rhs1 (_a2);
18614 : 0 : _q80 = do_valueize (valueize, _q80);
18615 : 0 : tree _q81 = gimple_assign_rhs2 (_a2);
18616 : 0 : _q81 = do_valueize (valueize, _q81);
18617 : 0 : tree _q82 = gimple_assign_rhs3 (_a2);
18618 : 0 : _q82 = do_valueize (valueize, _q82);
18619 : 0 : switch (TREE_CODE (_q80))
18620 : : {
18621 : 0 : case SSA_NAME:
18622 : 0 : if (gimple *_d3 = get_def (valueize, _q80))
18623 : : {
18624 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
18625 : 0 : switch (gimple_assign_rhs_code (_a3))
18626 : : {
18627 : 0 : case ORDERED_EXPR:
18628 : 0 : {
18629 : 0 : tree _q90 = gimple_assign_rhs1 (_a3);
18630 : 0 : _q90 = do_valueize (valueize, _q90);
18631 : 0 : tree _q91 = gimple_assign_rhs2 (_a3);
18632 : 0 : _q91 = do_valueize (valueize, _q91);
18633 : 0 : if (tree_swap_operands_p (_q90, _q91))
18634 : 0 : std::swap (_q90, _q91);
18635 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
18636 : : {
18637 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
18638 : : {
18639 : 0 : if (zerop (_q82))
18640 : : {
18641 : 0 : {
18642 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
18643 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNORDERED_EXPR, ORDERED_EXPR))
18644 : 0 : return true;
18645 : : }
18646 : : }
18647 : : }
18648 : : }
18649 : 4236567 : break;
18650 : : }
18651 : : default:;
18652 : : }
18653 : : }
18654 : : break;
18655 : 0 : case ORDERED_EXPR:
18656 : 0 : {
18657 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
18658 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
18659 : 0 : || is_gimple_min_invariant (_q90)))
18660 : : {
18661 : 0 : _q90 = do_valueize (valueize, _q90);
18662 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
18663 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
18664 : 0 : || is_gimple_min_invariant (_q91)))
18665 : : {
18666 : 0 : _q91 = do_valueize (valueize, _q91);
18667 : 0 : if (tree_swap_operands_p (_q90, _q91))
18668 : 0 : std::swap (_q90, _q91);
18669 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
18670 : : {
18671 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
18672 : : {
18673 : 0 : if (zerop (_q82))
18674 : : {
18675 : 0 : {
18676 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
18677 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNORDERED_EXPR, ORDERED_EXPR))
18678 : 0 : return true;
18679 : : }
18680 : : }
18681 : : }
18682 : : }
18683 : : }
18684 : : }
18685 : 4236567 : break;
18686 : : }
18687 : : default:;
18688 : : }
18689 : : break;
18690 : : }
18691 : : default:;
18692 : : }
18693 : : }
18694 : : break;
18695 : : default:;
18696 : : }
18697 : : }
18698 : : }
18699 : : }
18700 : 4236567 : break;
18701 : : }
18702 : 0 : case ORDERED_EXPR:
18703 : 0 : {
18704 : 0 : tree _q30 = TREE_OPERAND (_q20, 0);
18705 : 0 : if ((TREE_CODE (_q30) == SSA_NAME
18706 : 0 : || is_gimple_min_invariant (_q30)))
18707 : : {
18708 : 0 : _q30 = do_valueize (valueize, _q30);
18709 : 0 : tree _q31 = TREE_OPERAND (_q20, 1);
18710 : 0 : if ((TREE_CODE (_q31) == SSA_NAME
18711 : 0 : || is_gimple_min_invariant (_q31)))
18712 : : {
18713 : 0 : _q31 = do_valueize (valueize, _q31);
18714 : 0 : if (tree_swap_operands_p (_q30, _q31))
18715 : 0 : std::swap (_q30, _q31);
18716 : 0 : if (zerop (_q22))
18717 : : {
18718 : 0 : switch (TREE_CODE (_p1))
18719 : : {
18720 : 0 : case SSA_NAME:
18721 : 0 : if (gimple *_d2 = get_def (valueize, _p1))
18722 : : {
18723 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
18724 : 0 : switch (gimple_assign_rhs_code (_a2))
18725 : : {
18726 : 0 : case COND_EXPR:
18727 : 0 : {
18728 : 0 : tree _q80 = gimple_assign_rhs1 (_a2);
18729 : 0 : _q80 = do_valueize (valueize, _q80);
18730 : 0 : tree _q81 = gimple_assign_rhs2 (_a2);
18731 : 0 : _q81 = do_valueize (valueize, _q81);
18732 : 0 : tree _q82 = gimple_assign_rhs3 (_a2);
18733 : 0 : _q82 = do_valueize (valueize, _q82);
18734 : 0 : switch (TREE_CODE (_q80))
18735 : : {
18736 : 0 : case SSA_NAME:
18737 : 0 : if (gimple *_d3 = get_def (valueize, _q80))
18738 : : {
18739 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
18740 : 0 : switch (gimple_assign_rhs_code (_a3))
18741 : : {
18742 : 0 : case UNORDERED_EXPR:
18743 : 0 : {
18744 : 0 : tree _q90 = gimple_assign_rhs1 (_a3);
18745 : 0 : _q90 = do_valueize (valueize, _q90);
18746 : 0 : tree _q91 = gimple_assign_rhs2 (_a3);
18747 : 0 : _q91 = do_valueize (valueize, _q91);
18748 : 0 : if (tree_swap_operands_p (_q90, _q91))
18749 : 0 : std::swap (_q90, _q91);
18750 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
18751 : : {
18752 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
18753 : : {
18754 : 0 : if (zerop (_q82))
18755 : : {
18756 : 0 : {
18757 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
18758 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, ORDERED_EXPR, UNORDERED_EXPR))
18759 : 0 : return true;
18760 : : }
18761 : : }
18762 : : }
18763 : : }
18764 : 4236567 : break;
18765 : : }
18766 : : default:;
18767 : : }
18768 : : }
18769 : : break;
18770 : 0 : case UNORDERED_EXPR:
18771 : 0 : {
18772 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
18773 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
18774 : 0 : || is_gimple_min_invariant (_q90)))
18775 : : {
18776 : 0 : _q90 = do_valueize (valueize, _q90);
18777 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
18778 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
18779 : 0 : || is_gimple_min_invariant (_q91)))
18780 : : {
18781 : 0 : _q91 = do_valueize (valueize, _q91);
18782 : 0 : if (tree_swap_operands_p (_q90, _q91))
18783 : 0 : std::swap (_q90, _q91);
18784 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
18785 : : {
18786 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
18787 : : {
18788 : 0 : if (zerop (_q82))
18789 : : {
18790 : 0 : {
18791 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
18792 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, ORDERED_EXPR, UNORDERED_EXPR))
18793 : 0 : return true;
18794 : : }
18795 : : }
18796 : : }
18797 : : }
18798 : : }
18799 : : }
18800 : 4236567 : break;
18801 : : }
18802 : : default:;
18803 : : }
18804 : : break;
18805 : : }
18806 : : default:;
18807 : : }
18808 : : }
18809 : : break;
18810 : : default:;
18811 : : }
18812 : : }
18813 : : }
18814 : : }
18815 : 4236567 : break;
18816 : : }
18817 : 0 : case UNLT_EXPR:
18818 : 0 : {
18819 : 0 : tree _q30 = TREE_OPERAND (_q20, 0);
18820 : 0 : if ((TREE_CODE (_q30) == SSA_NAME
18821 : 0 : || is_gimple_min_invariant (_q30)))
18822 : : {
18823 : 0 : _q30 = do_valueize (valueize, _q30);
18824 : 0 : tree _q31 = TREE_OPERAND (_q20, 1);
18825 : 0 : if ((TREE_CODE (_q31) == SSA_NAME
18826 : 0 : || is_gimple_min_invariant (_q31)))
18827 : : {
18828 : 0 : _q31 = do_valueize (valueize, _q31);
18829 : 0 : if (zerop (_q22))
18830 : : {
18831 : 0 : switch (TREE_CODE (_p1))
18832 : : {
18833 : 0 : case SSA_NAME:
18834 : 0 : if (gimple *_d2 = get_def (valueize, _p1))
18835 : : {
18836 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
18837 : 0 : switch (gimple_assign_rhs_code (_a2))
18838 : : {
18839 : 0 : case COND_EXPR:
18840 : 0 : {
18841 : 0 : tree _q80 = gimple_assign_rhs1 (_a2);
18842 : 0 : _q80 = do_valueize (valueize, _q80);
18843 : 0 : tree _q81 = gimple_assign_rhs2 (_a2);
18844 : 0 : _q81 = do_valueize (valueize, _q81);
18845 : 0 : tree _q82 = gimple_assign_rhs3 (_a2);
18846 : 0 : _q82 = do_valueize (valueize, _q82);
18847 : 0 : switch (TREE_CODE (_q80))
18848 : : {
18849 : 0 : case SSA_NAME:
18850 : 0 : if (gimple *_d3 = get_def (valueize, _q80))
18851 : : {
18852 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
18853 : 0 : switch (gimple_assign_rhs_code (_a3))
18854 : : {
18855 : 0 : case GE_EXPR:
18856 : 0 : {
18857 : 0 : tree _q90 = gimple_assign_rhs1 (_a3);
18858 : 0 : _q90 = do_valueize (valueize, _q90);
18859 : 0 : tree _q91 = gimple_assign_rhs2 (_a3);
18860 : 0 : _q91 = do_valueize (valueize, _q91);
18861 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
18862 : : {
18863 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
18864 : : {
18865 : 0 : if (zerop (_q82))
18866 : : {
18867 : 0 : {
18868 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
18869 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNLT_EXPR, GE_EXPR))
18870 : 0 : return true;
18871 : : }
18872 : : }
18873 : : }
18874 : : }
18875 : : break;
18876 : : }
18877 : : default:;
18878 : : }
18879 : : }
18880 : : break;
18881 : 0 : case GE_EXPR:
18882 : 0 : {
18883 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
18884 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
18885 : 0 : || is_gimple_min_invariant (_q90)))
18886 : : {
18887 : 0 : _q90 = do_valueize (valueize, _q90);
18888 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
18889 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
18890 : 0 : || is_gimple_min_invariant (_q91)))
18891 : : {
18892 : 0 : _q91 = do_valueize (valueize, _q91);
18893 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
18894 : : {
18895 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
18896 : : {
18897 : 0 : if (zerop (_q82))
18898 : : {
18899 : 0 : {
18900 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
18901 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNLT_EXPR, GE_EXPR))
18902 : 0 : return true;
18903 : : }
18904 : : }
18905 : : }
18906 : : }
18907 : : }
18908 : : }
18909 : : break;
18910 : : }
18911 : : default:;
18912 : : }
18913 : : break;
18914 : : }
18915 : : default:;
18916 : : }
18917 : : }
18918 : : break;
18919 : : default:;
18920 : : }
18921 : : }
18922 : : }
18923 : : }
18924 : : break;
18925 : : }
18926 : 0 : case UNLE_EXPR:
18927 : 0 : {
18928 : 0 : tree _q30 = TREE_OPERAND (_q20, 0);
18929 : 0 : if ((TREE_CODE (_q30) == SSA_NAME
18930 : 0 : || is_gimple_min_invariant (_q30)))
18931 : : {
18932 : 0 : _q30 = do_valueize (valueize, _q30);
18933 : 0 : tree _q31 = TREE_OPERAND (_q20, 1);
18934 : 0 : if ((TREE_CODE (_q31) == SSA_NAME
18935 : 0 : || is_gimple_min_invariant (_q31)))
18936 : : {
18937 : 0 : _q31 = do_valueize (valueize, _q31);
18938 : 0 : if (zerop (_q22))
18939 : : {
18940 : 0 : switch (TREE_CODE (_p1))
18941 : : {
18942 : 0 : case SSA_NAME:
18943 : 0 : if (gimple *_d2 = get_def (valueize, _p1))
18944 : : {
18945 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
18946 : 0 : switch (gimple_assign_rhs_code (_a2))
18947 : : {
18948 : 0 : case COND_EXPR:
18949 : 0 : {
18950 : 0 : tree _q80 = gimple_assign_rhs1 (_a2);
18951 : 0 : _q80 = do_valueize (valueize, _q80);
18952 : 0 : tree _q81 = gimple_assign_rhs2 (_a2);
18953 : 0 : _q81 = do_valueize (valueize, _q81);
18954 : 0 : tree _q82 = gimple_assign_rhs3 (_a2);
18955 : 0 : _q82 = do_valueize (valueize, _q82);
18956 : 0 : switch (TREE_CODE (_q80))
18957 : : {
18958 : 0 : case SSA_NAME:
18959 : 0 : if (gimple *_d3 = get_def (valueize, _q80))
18960 : : {
18961 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
18962 : 0 : switch (gimple_assign_rhs_code (_a3))
18963 : : {
18964 : 0 : case GT_EXPR:
18965 : 0 : {
18966 : 0 : tree _q90 = gimple_assign_rhs1 (_a3);
18967 : 0 : _q90 = do_valueize (valueize, _q90);
18968 : 0 : tree _q91 = gimple_assign_rhs2 (_a3);
18969 : 0 : _q91 = do_valueize (valueize, _q91);
18970 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
18971 : : {
18972 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
18973 : : {
18974 : 0 : if (zerop (_q82))
18975 : : {
18976 : 0 : {
18977 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
18978 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNLE_EXPR, GT_EXPR))
18979 : 0 : return true;
18980 : : }
18981 : : }
18982 : : }
18983 : : }
18984 : : break;
18985 : : }
18986 : : default:;
18987 : : }
18988 : : }
18989 : : break;
18990 : 0 : case GT_EXPR:
18991 : 0 : {
18992 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
18993 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
18994 : 0 : || is_gimple_min_invariant (_q90)))
18995 : : {
18996 : 0 : _q90 = do_valueize (valueize, _q90);
18997 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
18998 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
18999 : 0 : || is_gimple_min_invariant (_q91)))
19000 : : {
19001 : 0 : _q91 = do_valueize (valueize, _q91);
19002 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
19003 : : {
19004 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
19005 : : {
19006 : 0 : if (zerop (_q82))
19007 : : {
19008 : 0 : {
19009 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
19010 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNLE_EXPR, GT_EXPR))
19011 : 0 : return true;
19012 : : }
19013 : : }
19014 : : }
19015 : : }
19016 : : }
19017 : : }
19018 : : break;
19019 : : }
19020 : : default:;
19021 : : }
19022 : : break;
19023 : : }
19024 : : default:;
19025 : : }
19026 : : }
19027 : : break;
19028 : : default:;
19029 : : }
19030 : : }
19031 : : }
19032 : : }
19033 : : break;
19034 : : }
19035 : 0 : case UNGT_EXPR:
19036 : 0 : {
19037 : 0 : tree _q30 = TREE_OPERAND (_q20, 0);
19038 : 0 : if ((TREE_CODE (_q30) == SSA_NAME
19039 : 0 : || is_gimple_min_invariant (_q30)))
19040 : : {
19041 : 0 : _q30 = do_valueize (valueize, _q30);
19042 : 0 : tree _q31 = TREE_OPERAND (_q20, 1);
19043 : 0 : if ((TREE_CODE (_q31) == SSA_NAME
19044 : 0 : || is_gimple_min_invariant (_q31)))
19045 : : {
19046 : 0 : _q31 = do_valueize (valueize, _q31);
19047 : 0 : if (zerop (_q22))
19048 : : {
19049 : 0 : switch (TREE_CODE (_p1))
19050 : : {
19051 : 0 : case SSA_NAME:
19052 : 0 : if (gimple *_d2 = get_def (valueize, _p1))
19053 : : {
19054 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
19055 : 0 : switch (gimple_assign_rhs_code (_a2))
19056 : : {
19057 : 0 : case COND_EXPR:
19058 : 0 : {
19059 : 0 : tree _q80 = gimple_assign_rhs1 (_a2);
19060 : 0 : _q80 = do_valueize (valueize, _q80);
19061 : 0 : tree _q81 = gimple_assign_rhs2 (_a2);
19062 : 0 : _q81 = do_valueize (valueize, _q81);
19063 : 0 : tree _q82 = gimple_assign_rhs3 (_a2);
19064 : 0 : _q82 = do_valueize (valueize, _q82);
19065 : 0 : switch (TREE_CODE (_q80))
19066 : : {
19067 : 0 : case SSA_NAME:
19068 : 0 : if (gimple *_d3 = get_def (valueize, _q80))
19069 : : {
19070 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
19071 : 0 : switch (gimple_assign_rhs_code (_a3))
19072 : : {
19073 : 0 : case LE_EXPR:
19074 : 0 : {
19075 : 0 : tree _q90 = gimple_assign_rhs1 (_a3);
19076 : 0 : _q90 = do_valueize (valueize, _q90);
19077 : 0 : tree _q91 = gimple_assign_rhs2 (_a3);
19078 : 0 : _q91 = do_valueize (valueize, _q91);
19079 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
19080 : : {
19081 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
19082 : : {
19083 : 0 : if (zerop (_q82))
19084 : : {
19085 : 0 : {
19086 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
19087 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNGT_EXPR, LE_EXPR))
19088 : 0 : return true;
19089 : : }
19090 : : }
19091 : : }
19092 : : }
19093 : : break;
19094 : : }
19095 : : default:;
19096 : : }
19097 : : }
19098 : : break;
19099 : 0 : case LE_EXPR:
19100 : 0 : {
19101 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
19102 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
19103 : 0 : || is_gimple_min_invariant (_q90)))
19104 : : {
19105 : 0 : _q90 = do_valueize (valueize, _q90);
19106 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
19107 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
19108 : 0 : || is_gimple_min_invariant (_q91)))
19109 : : {
19110 : 0 : _q91 = do_valueize (valueize, _q91);
19111 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
19112 : : {
19113 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
19114 : : {
19115 : 0 : if (zerop (_q82))
19116 : : {
19117 : 0 : {
19118 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
19119 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNGT_EXPR, LE_EXPR))
19120 : 0 : return true;
19121 : : }
19122 : : }
19123 : : }
19124 : : }
19125 : : }
19126 : : }
19127 : : break;
19128 : : }
19129 : : default:;
19130 : : }
19131 : : break;
19132 : : }
19133 : : default:;
19134 : : }
19135 : : }
19136 : : break;
19137 : : default:;
19138 : : }
19139 : : }
19140 : : }
19141 : : }
19142 : : break;
19143 : : }
19144 : 0 : case UNGE_EXPR:
19145 : 0 : {
19146 : 0 : tree _q30 = TREE_OPERAND (_q20, 0);
19147 : 0 : if ((TREE_CODE (_q30) == SSA_NAME
19148 : 0 : || is_gimple_min_invariant (_q30)))
19149 : : {
19150 : 0 : _q30 = do_valueize (valueize, _q30);
19151 : 0 : tree _q31 = TREE_OPERAND (_q20, 1);
19152 : 0 : if ((TREE_CODE (_q31) == SSA_NAME
19153 : 0 : || is_gimple_min_invariant (_q31)))
19154 : : {
19155 : 0 : _q31 = do_valueize (valueize, _q31);
19156 : 0 : if (zerop (_q22))
19157 : : {
19158 : 0 : switch (TREE_CODE (_p1))
19159 : : {
19160 : 0 : case SSA_NAME:
19161 : 0 : if (gimple *_d2 = get_def (valueize, _p1))
19162 : : {
19163 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
19164 : 0 : switch (gimple_assign_rhs_code (_a2))
19165 : : {
19166 : 0 : case COND_EXPR:
19167 : 0 : {
19168 : 0 : tree _q80 = gimple_assign_rhs1 (_a2);
19169 : 0 : _q80 = do_valueize (valueize, _q80);
19170 : 0 : tree _q81 = gimple_assign_rhs2 (_a2);
19171 : 0 : _q81 = do_valueize (valueize, _q81);
19172 : 0 : tree _q82 = gimple_assign_rhs3 (_a2);
19173 : 0 : _q82 = do_valueize (valueize, _q82);
19174 : 0 : switch (TREE_CODE (_q80))
19175 : : {
19176 : 0 : case SSA_NAME:
19177 : 0 : if (gimple *_d3 = get_def (valueize, _q80))
19178 : : {
19179 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
19180 : 0 : switch (gimple_assign_rhs_code (_a3))
19181 : : {
19182 : 0 : case LT_EXPR:
19183 : 0 : {
19184 : 0 : tree _q90 = gimple_assign_rhs1 (_a3);
19185 : 0 : _q90 = do_valueize (valueize, _q90);
19186 : 0 : tree _q91 = gimple_assign_rhs2 (_a3);
19187 : 0 : _q91 = do_valueize (valueize, _q91);
19188 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
19189 : : {
19190 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
19191 : : {
19192 : 0 : if (zerop (_q82))
19193 : : {
19194 : 0 : {
19195 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
19196 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNGE_EXPR, LT_EXPR))
19197 : 0 : return true;
19198 : : }
19199 : : }
19200 : : }
19201 : : }
19202 : : break;
19203 : : }
19204 : : default:;
19205 : : }
19206 : : }
19207 : : break;
19208 : 0 : case LT_EXPR:
19209 : 0 : {
19210 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
19211 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
19212 : 0 : || is_gimple_min_invariant (_q90)))
19213 : : {
19214 : 0 : _q90 = do_valueize (valueize, _q90);
19215 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
19216 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
19217 : 0 : || is_gimple_min_invariant (_q91)))
19218 : : {
19219 : 0 : _q91 = do_valueize (valueize, _q91);
19220 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
19221 : : {
19222 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
19223 : : {
19224 : 0 : if (zerop (_q82))
19225 : : {
19226 : 0 : {
19227 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
19228 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNGE_EXPR, LT_EXPR))
19229 : 0 : return true;
19230 : : }
19231 : : }
19232 : : }
19233 : : }
19234 : : }
19235 : : }
19236 : : break;
19237 : : }
19238 : : default:;
19239 : : }
19240 : : break;
19241 : : }
19242 : : default:;
19243 : : }
19244 : : }
19245 : : break;
19246 : : default:;
19247 : : }
19248 : : }
19249 : : }
19250 : : }
19251 : : break;
19252 : : }
19253 : 0 : case UNEQ_EXPR:
19254 : 0 : {
19255 : 0 : tree _q30 = TREE_OPERAND (_q20, 0);
19256 : 0 : if ((TREE_CODE (_q30) == SSA_NAME
19257 : 0 : || is_gimple_min_invariant (_q30)))
19258 : : {
19259 : 0 : _q30 = do_valueize (valueize, _q30);
19260 : 0 : tree _q31 = TREE_OPERAND (_q20, 1);
19261 : 0 : if ((TREE_CODE (_q31) == SSA_NAME
19262 : 0 : || is_gimple_min_invariant (_q31)))
19263 : : {
19264 : 0 : _q31 = do_valueize (valueize, _q31);
19265 : 0 : if (tree_swap_operands_p (_q30, _q31))
19266 : 0 : std::swap (_q30, _q31);
19267 : 0 : if (zerop (_q22))
19268 : : {
19269 : 0 : switch (TREE_CODE (_p1))
19270 : : {
19271 : 0 : case SSA_NAME:
19272 : 0 : if (gimple *_d2 = get_def (valueize, _p1))
19273 : : {
19274 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
19275 : 0 : switch (gimple_assign_rhs_code (_a2))
19276 : : {
19277 : 0 : case COND_EXPR:
19278 : 0 : {
19279 : 0 : tree _q80 = gimple_assign_rhs1 (_a2);
19280 : 0 : _q80 = do_valueize (valueize, _q80);
19281 : 0 : tree _q81 = gimple_assign_rhs2 (_a2);
19282 : 0 : _q81 = do_valueize (valueize, _q81);
19283 : 0 : tree _q82 = gimple_assign_rhs3 (_a2);
19284 : 0 : _q82 = do_valueize (valueize, _q82);
19285 : 0 : switch (TREE_CODE (_q80))
19286 : : {
19287 : 0 : case SSA_NAME:
19288 : 0 : if (gimple *_d3 = get_def (valueize, _q80))
19289 : : {
19290 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
19291 : 0 : switch (gimple_assign_rhs_code (_a3))
19292 : : {
19293 : 0 : case LTGT_EXPR:
19294 : 0 : {
19295 : 0 : tree _q90 = gimple_assign_rhs1 (_a3);
19296 : 0 : _q90 = do_valueize (valueize, _q90);
19297 : 0 : tree _q91 = gimple_assign_rhs2 (_a3);
19298 : 0 : _q91 = do_valueize (valueize, _q91);
19299 : 0 : if (tree_swap_operands_p (_q90, _q91))
19300 : 0 : std::swap (_q90, _q91);
19301 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
19302 : : {
19303 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
19304 : : {
19305 : 0 : if (zerop (_q82))
19306 : : {
19307 : 0 : {
19308 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
19309 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNEQ_EXPR, LTGT_EXPR))
19310 : 0 : return true;
19311 : : }
19312 : : }
19313 : : }
19314 : : }
19315 : 4236567 : break;
19316 : : }
19317 : : default:;
19318 : : }
19319 : : }
19320 : : break;
19321 : 0 : case LTGT_EXPR:
19322 : 0 : {
19323 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
19324 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
19325 : 0 : || is_gimple_min_invariant (_q90)))
19326 : : {
19327 : 0 : _q90 = do_valueize (valueize, _q90);
19328 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
19329 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
19330 : 0 : || is_gimple_min_invariant (_q91)))
19331 : : {
19332 : 0 : _q91 = do_valueize (valueize, _q91);
19333 : 0 : if (tree_swap_operands_p (_q90, _q91))
19334 : 0 : std::swap (_q90, _q91);
19335 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
19336 : : {
19337 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
19338 : : {
19339 : 0 : if (zerop (_q82))
19340 : : {
19341 : 0 : {
19342 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
19343 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNEQ_EXPR, LTGT_EXPR))
19344 : 0 : return true;
19345 : : }
19346 : : }
19347 : : }
19348 : : }
19349 : : }
19350 : : }
19351 : 4236567 : break;
19352 : : }
19353 : : default:;
19354 : : }
19355 : : break;
19356 : : }
19357 : : default:;
19358 : : }
19359 : : }
19360 : : break;
19361 : : default:;
19362 : : }
19363 : : }
19364 : : }
19365 : : }
19366 : 4236567 : break;
19367 : : }
19368 : 0 : case LTGT_EXPR:
19369 : 0 : {
19370 : 0 : tree _q30 = TREE_OPERAND (_q20, 0);
19371 : 0 : if ((TREE_CODE (_q30) == SSA_NAME
19372 : 0 : || is_gimple_min_invariant (_q30)))
19373 : : {
19374 : 0 : _q30 = do_valueize (valueize, _q30);
19375 : 0 : tree _q31 = TREE_OPERAND (_q20, 1);
19376 : 0 : if ((TREE_CODE (_q31) == SSA_NAME
19377 : 0 : || is_gimple_min_invariant (_q31)))
19378 : : {
19379 : 0 : _q31 = do_valueize (valueize, _q31);
19380 : 0 : if (tree_swap_operands_p (_q30, _q31))
19381 : 0 : std::swap (_q30, _q31);
19382 : 0 : if (zerop (_q22))
19383 : : {
19384 : 0 : switch (TREE_CODE (_p1))
19385 : : {
19386 : 0 : case SSA_NAME:
19387 : 0 : if (gimple *_d2 = get_def (valueize, _p1))
19388 : : {
19389 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
19390 : 0 : switch (gimple_assign_rhs_code (_a2))
19391 : : {
19392 : 0 : case COND_EXPR:
19393 : 0 : {
19394 : 0 : tree _q80 = gimple_assign_rhs1 (_a2);
19395 : 0 : _q80 = do_valueize (valueize, _q80);
19396 : 0 : tree _q81 = gimple_assign_rhs2 (_a2);
19397 : 0 : _q81 = do_valueize (valueize, _q81);
19398 : 0 : tree _q82 = gimple_assign_rhs3 (_a2);
19399 : 0 : _q82 = do_valueize (valueize, _q82);
19400 : 0 : switch (TREE_CODE (_q80))
19401 : : {
19402 : 0 : case SSA_NAME:
19403 : 0 : if (gimple *_d3 = get_def (valueize, _q80))
19404 : : {
19405 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
19406 : 0 : switch (gimple_assign_rhs_code (_a3))
19407 : : {
19408 : 0 : case UNEQ_EXPR:
19409 : 0 : {
19410 : 0 : tree _q90 = gimple_assign_rhs1 (_a3);
19411 : 0 : _q90 = do_valueize (valueize, _q90);
19412 : 0 : tree _q91 = gimple_assign_rhs2 (_a3);
19413 : 0 : _q91 = do_valueize (valueize, _q91);
19414 : 0 : if (tree_swap_operands_p (_q90, _q91))
19415 : 0 : std::swap (_q90, _q91);
19416 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
19417 : : {
19418 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
19419 : : {
19420 : 0 : if (zerop (_q82))
19421 : : {
19422 : 0 : {
19423 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
19424 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LTGT_EXPR, UNEQ_EXPR))
19425 : 0 : return true;
19426 : : }
19427 : : }
19428 : : }
19429 : : }
19430 : 4236567 : break;
19431 : : }
19432 : : default:;
19433 : : }
19434 : : }
19435 : : break;
19436 : 0 : case UNEQ_EXPR:
19437 : 0 : {
19438 : 0 : tree _q90 = TREE_OPERAND (_q80, 0);
19439 : 0 : if ((TREE_CODE (_q90) == SSA_NAME
19440 : 0 : || is_gimple_min_invariant (_q90)))
19441 : : {
19442 : 0 : _q90 = do_valueize (valueize, _q90);
19443 : 0 : tree _q91 = TREE_OPERAND (_q80, 1);
19444 : 0 : if ((TREE_CODE (_q91) == SSA_NAME
19445 : 0 : || is_gimple_min_invariant (_q91)))
19446 : : {
19447 : 0 : _q91 = do_valueize (valueize, _q91);
19448 : 0 : if (tree_swap_operands_p (_q90, _q91))
19449 : 0 : std::swap (_q90, _q91);
19450 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
19451 : : {
19452 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
19453 : : {
19454 : 0 : if (zerop (_q82))
19455 : : {
19456 : 0 : {
19457 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
19458 : 0 : if (gimple_simplify_36 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LTGT_EXPR, UNEQ_EXPR))
19459 : 0 : return true;
19460 : : }
19461 : : }
19462 : : }
19463 : : }
19464 : : }
19465 : : }
19466 : 4236567 : break;
19467 : : }
19468 : : default:;
19469 : : }
19470 : : break;
19471 : : }
19472 : : default:;
19473 : : }
19474 : : }
19475 : : break;
19476 : : default:;
19477 : : }
19478 : : }
19479 : : }
19480 : : }
19481 : 4236567 : break;
19482 : : }
19483 : : default:;
19484 : : }
19485 : : break;
19486 : : }
19487 : 2676 : case VEC_COND_EXPR:
19488 : 2676 : {
19489 : 2676 : tree _q20 = gimple_assign_rhs1 (_a1);
19490 : 2676 : _q20 = do_valueize (valueize, _q20);
19491 : 2676 : tree _q21 = gimple_assign_rhs2 (_a1);
19492 : 2676 : _q21 = do_valueize (valueize, _q21);
19493 : 2676 : tree _q22 = gimple_assign_rhs3 (_a1);
19494 : 2676 : _q22 = do_valueize (valueize, _q22);
19495 : 2676 : if (integer_zerop (_q22))
19496 : : {
19497 : 1916 : switch (TREE_CODE (_p1))
19498 : : {
19499 : 1409 : case SSA_NAME:
19500 : 1409 : if (gimple *_d2 = get_def (valueize, _p1))
19501 : : {
19502 : 1339 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
19503 : 1033 : switch (gimple_assign_rhs_code (_a2))
19504 : : {
19505 : 514 : case VEC_COND_EXPR:
19506 : 514 : {
19507 : 514 : tree _q60 = gimple_assign_rhs1 (_a2);
19508 : 514 : _q60 = do_valueize (valueize, _q60);
19509 : 514 : tree _q61 = gimple_assign_rhs2 (_a2);
19510 : 514 : _q61 = do_valueize (valueize, _q61);
19511 : 514 : tree _q62 = gimple_assign_rhs3 (_a2);
19512 : 514 : _q62 = do_valueize (valueize, _q62);
19513 : 514 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
19514 : : {
19515 : 19 : if (integer_zerop (_q61))
19516 : : {
19517 : 19 : {
19518 : 19 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q62 };
19519 : 19 : const enum tree_code op = BIT_IOR_EXPR;
19520 : 19 : gimple_seq *lseq = seq;
19521 : 19 : if (lseq
19522 : 7 : && (!single_use (captures[0])
19523 : 7 : || !single_use (captures[3])))
19524 : 12 : lseq = NULL;
19525 : 19 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2217;
19526 : 19 : {
19527 : 19 : res_op->set_op (VEC_COND_EXPR, type, 3);
19528 : 19 : res_op->ops[0] = captures[1];
19529 : 19 : res_op->ops[1] = captures[2];
19530 : 19 : res_op->ops[2] = captures[4];
19531 : 19 : res_op->resimplify (lseq, valueize);
19532 : 19 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1056, __FILE__, __LINE__, true);
19533 : 19 : return true;
19534 : : }
19535 : 0 : next_after_fail2217:;
19536 : : }
19537 : : }
19538 : : }
19539 : : break;
19540 : : }
19541 : : default:;
19542 : : }
19543 : : }
19544 : : break;
19545 : : default:;
19546 : : }
19547 : : }
19548 : 2657 : if (integer_zerop (_q21))
19549 : : {
19550 : 0 : switch (TREE_CODE (_p1))
19551 : : {
19552 : 0 : case SSA_NAME:
19553 : 0 : if (gimple *_d2 = get_def (valueize, _p1))
19554 : : {
19555 : 0 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
19556 : 0 : switch (gimple_assign_rhs_code (_a2))
19557 : : {
19558 : 0 : case VEC_COND_EXPR:
19559 : 0 : {
19560 : 0 : tree _q60 = gimple_assign_rhs1 (_a2);
19561 : 0 : _q60 = do_valueize (valueize, _q60);
19562 : 0 : tree _q61 = gimple_assign_rhs2 (_a2);
19563 : 0 : _q61 = do_valueize (valueize, _q61);
19564 : 0 : tree _q62 = gimple_assign_rhs3 (_a2);
19565 : 0 : _q62 = do_valueize (valueize, _q62);
19566 : 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
19567 : : {
19568 : 0 : if (integer_zerop (_q62))
19569 : : {
19570 : 0 : {
19571 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q61, _p0, _q22 };
19572 : 0 : const enum tree_code op = BIT_IOR_EXPR;
19573 : 0 : gimple_seq *lseq = seq;
19574 : 0 : if (lseq
19575 : 0 : && (!single_use (captures[0])
19576 : 0 : || !single_use (captures[3])))
19577 : 0 : lseq = NULL;
19578 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2218;
19579 : 0 : {
19580 : 0 : res_op->set_op (VEC_COND_EXPR, type, 3);
19581 : 0 : res_op->ops[0] = captures[1];
19582 : 0 : res_op->ops[1] = captures[2];
19583 : 0 : res_op->ops[2] = captures[4];
19584 : 0 : res_op->resimplify (lseq, valueize);
19585 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1056, __FILE__, __LINE__, true);
19586 : 0 : return true;
19587 : : }
19588 : 0 : next_after_fail2218:;
19589 : : }
19590 : : }
19591 : : }
19592 : : break;
19593 : : }
19594 : : default:;
19595 : : }
19596 : : }
19597 : : break;
19598 : : default:;
19599 : : }
19600 : : }
19601 : 2657 : switch (TREE_CODE (_q20))
19602 : : {
19603 : 2613 : case SSA_NAME:
19604 : 2613 : if (gimple *_d2 = get_def (valueize, _q20))
19605 : : {
19606 : 2370 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
19607 : 2358 : switch (gimple_assign_rhs_code (_a2))
19608 : : {
19609 : 220 : case LT_EXPR:
19610 : 220 : {
19611 : 220 : tree _q30 = gimple_assign_rhs1 (_a2);
19612 : 220 : _q30 = do_valueize (valueize, _q30);
19613 : 220 : tree _q31 = gimple_assign_rhs2 (_a2);
19614 : 220 : _q31 = do_valueize (valueize, _q31);
19615 : 220 : if (integer_zerop (_q22))
19616 : : {
19617 : 218 : switch (TREE_CODE (_p1))
19618 : : {
19619 : 206 : case SSA_NAME:
19620 : 206 : if (gimple *_d3 = get_def (valueize, _p1))
19621 : : {
19622 : 206 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
19623 : 123 : switch (gimple_assign_rhs_code (_a3))
19624 : : {
19625 : 113 : case VEC_COND_EXPR:
19626 : 113 : {
19627 : 113 : tree _q80 = gimple_assign_rhs1 (_a3);
19628 : 113 : _q80 = do_valueize (valueize, _q80);
19629 : 113 : tree _q81 = gimple_assign_rhs2 (_a3);
19630 : 113 : _q81 = do_valueize (valueize, _q81);
19631 : 113 : tree _q82 = gimple_assign_rhs3 (_a3);
19632 : 113 : _q82 = do_valueize (valueize, _q82);
19633 : 113 : switch (TREE_CODE (_q80))
19634 : : {
19635 : 113 : case SSA_NAME:
19636 : 113 : if (gimple *_d4 = get_def (valueize, _q80))
19637 : : {
19638 : 113 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
19639 : 113 : switch (gimple_assign_rhs_code (_a4))
19640 : : {
19641 : 91 : case GE_EXPR:
19642 : 91 : {
19643 : 91 : tree _q90 = gimple_assign_rhs1 (_a4);
19644 : 91 : _q90 = do_valueize (valueize, _q90);
19645 : 91 : tree _q91 = gimple_assign_rhs2 (_a4);
19646 : 91 : _q91 = do_valueize (valueize, _q91);
19647 : 91 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
19648 : : {
19649 : 91 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
19650 : : {
19651 : 91 : if (integer_zerop (_q82))
19652 : : {
19653 : 91 : {
19654 : 91 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
19655 : 91 : if (gimple_simplify_37 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LT_EXPR, GE_EXPR))
19656 : 18 : return true;
19657 : : }
19658 : : }
19659 : : }
19660 : : }
19661 : : break;
19662 : : }
19663 : : default:;
19664 : : }
19665 : : }
19666 : : break;
19667 : : default:;
19668 : : }
19669 : : break;
19670 : : }
19671 : : default:;
19672 : : }
19673 : : }
19674 : : break;
19675 : : default:;
19676 : : }
19677 : : }
19678 : : break;
19679 : : }
19680 : 236 : case LE_EXPR:
19681 : 236 : {
19682 : 236 : tree _q30 = gimple_assign_rhs1 (_a2);
19683 : 236 : _q30 = do_valueize (valueize, _q30);
19684 : 236 : tree _q31 = gimple_assign_rhs2 (_a2);
19685 : 236 : _q31 = do_valueize (valueize, _q31);
19686 : 236 : if (integer_zerop (_q22))
19687 : : {
19688 : 220 : switch (TREE_CODE (_p1))
19689 : : {
19690 : 202 : case SSA_NAME:
19691 : 202 : if (gimple *_d3 = get_def (valueize, _p1))
19692 : : {
19693 : 202 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
19694 : 48 : switch (gimple_assign_rhs_code (_a3))
19695 : : {
19696 : 16 : case VEC_COND_EXPR:
19697 : 16 : {
19698 : 16 : tree _q80 = gimple_assign_rhs1 (_a3);
19699 : 16 : _q80 = do_valueize (valueize, _q80);
19700 : 16 : tree _q81 = gimple_assign_rhs2 (_a3);
19701 : 16 : _q81 = do_valueize (valueize, _q81);
19702 : 16 : tree _q82 = gimple_assign_rhs3 (_a3);
19703 : 16 : _q82 = do_valueize (valueize, _q82);
19704 : 16 : switch (TREE_CODE (_q80))
19705 : : {
19706 : 16 : case SSA_NAME:
19707 : 16 : if (gimple *_d4 = get_def (valueize, _q80))
19708 : : {
19709 : 16 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
19710 : 16 : switch (gimple_assign_rhs_code (_a4))
19711 : : {
19712 : 4 : case GT_EXPR:
19713 : 4 : {
19714 : 4 : tree _q90 = gimple_assign_rhs1 (_a4);
19715 : 4 : _q90 = do_valueize (valueize, _q90);
19716 : 4 : tree _q91 = gimple_assign_rhs2 (_a4);
19717 : 4 : _q91 = do_valueize (valueize, _q91);
19718 : 4 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
19719 : : {
19720 : 1 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
19721 : : {
19722 : 0 : if (integer_zerop (_q82))
19723 : : {
19724 : 0 : {
19725 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
19726 : 0 : if (gimple_simplify_37 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LE_EXPR, GT_EXPR))
19727 : 0 : return true;
19728 : : }
19729 : : }
19730 : : }
19731 : : }
19732 : : break;
19733 : : }
19734 : : default:;
19735 : : }
19736 : : }
19737 : : break;
19738 : : default:;
19739 : : }
19740 : : break;
19741 : : }
19742 : : default:;
19743 : : }
19744 : : }
19745 : : break;
19746 : : default:;
19747 : : }
19748 : : }
19749 : : break;
19750 : : }
19751 : 7 : case EQ_EXPR:
19752 : 7 : {
19753 : 7 : tree _q30 = gimple_assign_rhs1 (_a2);
19754 : 7 : _q30 = do_valueize (valueize, _q30);
19755 : 7 : tree _q31 = gimple_assign_rhs2 (_a2);
19756 : 7 : _q31 = do_valueize (valueize, _q31);
19757 : 7 : if (tree_swap_operands_p (_q30, _q31))
19758 : 0 : std::swap (_q30, _q31);
19759 : 7 : if (integer_zerop (_q22))
19760 : : {
19761 : 7 : switch (TREE_CODE (_p1))
19762 : : {
19763 : 7 : case SSA_NAME:
19764 : 7 : if (gimple *_d3 = get_def (valueize, _p1))
19765 : : {
19766 : 7 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
19767 : 3 : switch (gimple_assign_rhs_code (_a3))
19768 : : {
19769 : 1 : case VEC_COND_EXPR:
19770 : 1 : {
19771 : 1 : tree _q80 = gimple_assign_rhs1 (_a3);
19772 : 1 : _q80 = do_valueize (valueize, _q80);
19773 : 1 : tree _q81 = gimple_assign_rhs2 (_a3);
19774 : 1 : _q81 = do_valueize (valueize, _q81);
19775 : 1 : tree _q82 = gimple_assign_rhs3 (_a3);
19776 : 1 : _q82 = do_valueize (valueize, _q82);
19777 : 1 : switch (TREE_CODE (_q80))
19778 : : {
19779 : 1 : case SSA_NAME:
19780 : 1 : if (gimple *_d4 = get_def (valueize, _q80))
19781 : : {
19782 : 1 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
19783 : 1 : switch (gimple_assign_rhs_code (_a4))
19784 : : {
19785 : 1 : case NE_EXPR:
19786 : 1 : {
19787 : 1 : tree _q90 = gimple_assign_rhs1 (_a4);
19788 : 1 : _q90 = do_valueize (valueize, _q90);
19789 : 1 : tree _q91 = gimple_assign_rhs2 (_a4);
19790 : 1 : _q91 = do_valueize (valueize, _q91);
19791 : 1 : if (tree_swap_operands_p (_q90, _q91))
19792 : 0 : std::swap (_q90, _q91);
19793 : 1 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
19794 : : {
19795 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
19796 : : {
19797 : 0 : if (integer_zerop (_q82))
19798 : : {
19799 : 0 : {
19800 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
19801 : 0 : if (gimple_simplify_37 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, EQ_EXPR, NE_EXPR))
19802 : 0 : return true;
19803 : : }
19804 : : }
19805 : : }
19806 : : }
19807 : 4236567 : break;
19808 : : }
19809 : : default:;
19810 : : }
19811 : : }
19812 : : break;
19813 : : default:;
19814 : : }
19815 : : break;
19816 : : }
19817 : : default:;
19818 : : }
19819 : : }
19820 : : break;
19821 : : default:;
19822 : : }
19823 : : }
19824 : 4236567 : break;
19825 : : }
19826 : 980 : case NE_EXPR:
19827 : 980 : {
19828 : 980 : tree _q30 = gimple_assign_rhs1 (_a2);
19829 : 980 : _q30 = do_valueize (valueize, _q30);
19830 : 980 : tree _q31 = gimple_assign_rhs2 (_a2);
19831 : 980 : _q31 = do_valueize (valueize, _q31);
19832 : 980 : if (tree_swap_operands_p (_q30, _q31))
19833 : 0 : std::swap (_q30, _q31);
19834 : 980 : if (integer_zerop (_q22))
19835 : : {
19836 : 684 : switch (TREE_CODE (_p1))
19837 : : {
19838 : 308 : case SSA_NAME:
19839 : 308 : if (gimple *_d3 = get_def (valueize, _p1))
19840 : : {
19841 : 306 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
19842 : 312 : switch (gimple_assign_rhs_code (_a3))
19843 : : {
19844 : 102 : case VEC_COND_EXPR:
19845 : 102 : {
19846 : 102 : tree _q80 = gimple_assign_rhs1 (_a3);
19847 : 102 : _q80 = do_valueize (valueize, _q80);
19848 : 102 : tree _q81 = gimple_assign_rhs2 (_a3);
19849 : 102 : _q81 = do_valueize (valueize, _q81);
19850 : 102 : tree _q82 = gimple_assign_rhs3 (_a3);
19851 : 102 : _q82 = do_valueize (valueize, _q82);
19852 : 102 : switch (TREE_CODE (_q80))
19853 : : {
19854 : 102 : case SSA_NAME:
19855 : 102 : if (gimple *_d4 = get_def (valueize, _q80))
19856 : : {
19857 : 100 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
19858 : 100 : switch (gimple_assign_rhs_code (_a4))
19859 : : {
19860 : 0 : case EQ_EXPR:
19861 : 0 : {
19862 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
19863 : 0 : _q90 = do_valueize (valueize, _q90);
19864 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
19865 : 0 : _q91 = do_valueize (valueize, _q91);
19866 : 0 : if (tree_swap_operands_p (_q90, _q91))
19867 : 0 : std::swap (_q90, _q91);
19868 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
19869 : : {
19870 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
19871 : : {
19872 : 0 : if (integer_zerop (_q82))
19873 : : {
19874 : 0 : {
19875 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
19876 : 0 : if (gimple_simplify_37 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, NE_EXPR, EQ_EXPR))
19877 : 0 : return true;
19878 : : }
19879 : : }
19880 : : }
19881 : : }
19882 : 4236567 : break;
19883 : : }
19884 : : default:;
19885 : : }
19886 : : }
19887 : : break;
19888 : : default:;
19889 : : }
19890 : : break;
19891 : : }
19892 : : default:;
19893 : : }
19894 : : }
19895 : : break;
19896 : : default:;
19897 : : }
19898 : : }
19899 : 4236567 : break;
19900 : : }
19901 : 89 : case GE_EXPR:
19902 : 89 : {
19903 : 89 : tree _q30 = gimple_assign_rhs1 (_a2);
19904 : 89 : _q30 = do_valueize (valueize, _q30);
19905 : 89 : tree _q31 = gimple_assign_rhs2 (_a2);
19906 : 89 : _q31 = do_valueize (valueize, _q31);
19907 : 89 : if (integer_zerop (_q22))
19908 : : {
19909 : 89 : switch (TREE_CODE (_p1))
19910 : : {
19911 : 89 : case SSA_NAME:
19912 : 89 : if (gimple *_d3 = get_def (valueize, _p1))
19913 : : {
19914 : 89 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
19915 : 22 : switch (gimple_assign_rhs_code (_a3))
19916 : : {
19917 : 2 : case VEC_COND_EXPR:
19918 : 2 : {
19919 : 2 : tree _q80 = gimple_assign_rhs1 (_a3);
19920 : 2 : _q80 = do_valueize (valueize, _q80);
19921 : 2 : tree _q81 = gimple_assign_rhs2 (_a3);
19922 : 2 : _q81 = do_valueize (valueize, _q81);
19923 : 2 : tree _q82 = gimple_assign_rhs3 (_a3);
19924 : 2 : _q82 = do_valueize (valueize, _q82);
19925 : 2 : switch (TREE_CODE (_q80))
19926 : : {
19927 : 2 : case SSA_NAME:
19928 : 2 : if (gimple *_d4 = get_def (valueize, _q80))
19929 : : {
19930 : 2 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
19931 : 2 : switch (gimple_assign_rhs_code (_a4))
19932 : : {
19933 : 0 : case LT_EXPR:
19934 : 0 : {
19935 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
19936 : 0 : _q90 = do_valueize (valueize, _q90);
19937 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
19938 : 0 : _q91 = do_valueize (valueize, _q91);
19939 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
19940 : : {
19941 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
19942 : : {
19943 : 0 : if (integer_zerop (_q82))
19944 : : {
19945 : 0 : {
19946 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
19947 : 0 : if (gimple_simplify_37 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GE_EXPR, LT_EXPR))
19948 : 0 : return true;
19949 : : }
19950 : : }
19951 : : }
19952 : : }
19953 : : break;
19954 : : }
19955 : : default:;
19956 : : }
19957 : : }
19958 : : break;
19959 : : default:;
19960 : : }
19961 : : break;
19962 : : }
19963 : : default:;
19964 : : }
19965 : : }
19966 : : break;
19967 : : default:;
19968 : : }
19969 : : }
19970 : : break;
19971 : : }
19972 : 56 : case GT_EXPR:
19973 : 56 : {
19974 : 56 : tree _q30 = gimple_assign_rhs1 (_a2);
19975 : 56 : _q30 = do_valueize (valueize, _q30);
19976 : 56 : tree _q31 = gimple_assign_rhs2 (_a2);
19977 : 56 : _q31 = do_valueize (valueize, _q31);
19978 : 56 : if (integer_zerop (_q22))
19979 : : {
19980 : 42 : switch (TREE_CODE (_p1))
19981 : : {
19982 : 36 : case SSA_NAME:
19983 : 36 : if (gimple *_d3 = get_def (valueize, _p1))
19984 : : {
19985 : 36 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
19986 : 46 : switch (gimple_assign_rhs_code (_a3))
19987 : : {
19988 : 12 : case VEC_COND_EXPR:
19989 : 12 : {
19990 : 12 : tree _q80 = gimple_assign_rhs1 (_a3);
19991 : 12 : _q80 = do_valueize (valueize, _q80);
19992 : 12 : tree _q81 = gimple_assign_rhs2 (_a3);
19993 : 12 : _q81 = do_valueize (valueize, _q81);
19994 : 12 : tree _q82 = gimple_assign_rhs3 (_a3);
19995 : 12 : _q82 = do_valueize (valueize, _q82);
19996 : 12 : switch (TREE_CODE (_q80))
19997 : : {
19998 : 12 : case SSA_NAME:
19999 : 12 : if (gimple *_d4 = get_def (valueize, _q80))
20000 : : {
20001 : 12 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
20002 : 12 : switch (gimple_assign_rhs_code (_a4))
20003 : : {
20004 : 6 : case LE_EXPR:
20005 : 6 : {
20006 : 6 : tree _q90 = gimple_assign_rhs1 (_a4);
20007 : 6 : _q90 = do_valueize (valueize, _q90);
20008 : 6 : tree _q91 = gimple_assign_rhs2 (_a4);
20009 : 6 : _q91 = do_valueize (valueize, _q91);
20010 : 6 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
20011 : : {
20012 : 5 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
20013 : : {
20014 : 0 : if (integer_zerop (_q82))
20015 : : {
20016 : 0 : {
20017 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
20018 : 0 : if (gimple_simplify_37 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GT_EXPR, LE_EXPR))
20019 : 0 : return true;
20020 : : }
20021 : : }
20022 : : }
20023 : : }
20024 : : break;
20025 : : }
20026 : : default:;
20027 : : }
20028 : : }
20029 : : break;
20030 : : default:;
20031 : : }
20032 : : break;
20033 : : }
20034 : : default:;
20035 : : }
20036 : : }
20037 : : break;
20038 : : default:;
20039 : : }
20040 : : }
20041 : : break;
20042 : : }
20043 : 0 : case UNORDERED_EXPR:
20044 : 0 : {
20045 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
20046 : 0 : _q30 = do_valueize (valueize, _q30);
20047 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
20048 : 0 : _q31 = do_valueize (valueize, _q31);
20049 : 0 : if (tree_swap_operands_p (_q30, _q31))
20050 : 0 : std::swap (_q30, _q31);
20051 : 0 : if (integer_zerop (_q22))
20052 : : {
20053 : 0 : switch (TREE_CODE (_p1))
20054 : : {
20055 : 0 : case SSA_NAME:
20056 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
20057 : : {
20058 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
20059 : 0 : switch (gimple_assign_rhs_code (_a3))
20060 : : {
20061 : 0 : case VEC_COND_EXPR:
20062 : 0 : {
20063 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
20064 : 0 : _q80 = do_valueize (valueize, _q80);
20065 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
20066 : 0 : _q81 = do_valueize (valueize, _q81);
20067 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
20068 : 0 : _q82 = do_valueize (valueize, _q82);
20069 : 0 : switch (TREE_CODE (_q80))
20070 : : {
20071 : 0 : case SSA_NAME:
20072 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
20073 : : {
20074 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
20075 : 0 : switch (gimple_assign_rhs_code (_a4))
20076 : : {
20077 : 0 : case ORDERED_EXPR:
20078 : 0 : {
20079 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
20080 : 0 : _q90 = do_valueize (valueize, _q90);
20081 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
20082 : 0 : _q91 = do_valueize (valueize, _q91);
20083 : 0 : if (tree_swap_operands_p (_q90, _q91))
20084 : 0 : std::swap (_q90, _q91);
20085 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
20086 : : {
20087 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
20088 : : {
20089 : 0 : if (integer_zerop (_q82))
20090 : : {
20091 : 0 : {
20092 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
20093 : 0 : if (gimple_simplify_37 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNORDERED_EXPR, ORDERED_EXPR))
20094 : 0 : return true;
20095 : : }
20096 : : }
20097 : : }
20098 : : }
20099 : 4236567 : break;
20100 : : }
20101 : : default:;
20102 : : }
20103 : : }
20104 : : break;
20105 : : default:;
20106 : : }
20107 : : break;
20108 : : }
20109 : : default:;
20110 : : }
20111 : : }
20112 : : break;
20113 : : default:;
20114 : : }
20115 : : }
20116 : 4236567 : break;
20117 : : }
20118 : 0 : case ORDERED_EXPR:
20119 : 0 : {
20120 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
20121 : 0 : _q30 = do_valueize (valueize, _q30);
20122 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
20123 : 0 : _q31 = do_valueize (valueize, _q31);
20124 : 0 : if (tree_swap_operands_p (_q30, _q31))
20125 : 0 : std::swap (_q30, _q31);
20126 : 0 : if (integer_zerop (_q22))
20127 : : {
20128 : 0 : switch (TREE_CODE (_p1))
20129 : : {
20130 : 0 : case SSA_NAME:
20131 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
20132 : : {
20133 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
20134 : 0 : switch (gimple_assign_rhs_code (_a3))
20135 : : {
20136 : 0 : case VEC_COND_EXPR:
20137 : 0 : {
20138 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
20139 : 0 : _q80 = do_valueize (valueize, _q80);
20140 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
20141 : 0 : _q81 = do_valueize (valueize, _q81);
20142 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
20143 : 0 : _q82 = do_valueize (valueize, _q82);
20144 : 0 : switch (TREE_CODE (_q80))
20145 : : {
20146 : 0 : case SSA_NAME:
20147 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
20148 : : {
20149 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
20150 : 0 : switch (gimple_assign_rhs_code (_a4))
20151 : : {
20152 : 0 : case UNORDERED_EXPR:
20153 : 0 : {
20154 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
20155 : 0 : _q90 = do_valueize (valueize, _q90);
20156 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
20157 : 0 : _q91 = do_valueize (valueize, _q91);
20158 : 0 : if (tree_swap_operands_p (_q90, _q91))
20159 : 0 : std::swap (_q90, _q91);
20160 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
20161 : : {
20162 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
20163 : : {
20164 : 0 : if (integer_zerop (_q82))
20165 : : {
20166 : 0 : {
20167 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
20168 : 0 : if (gimple_simplify_37 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, ORDERED_EXPR, UNORDERED_EXPR))
20169 : 0 : return true;
20170 : : }
20171 : : }
20172 : : }
20173 : : }
20174 : 4236567 : break;
20175 : : }
20176 : : default:;
20177 : : }
20178 : : }
20179 : : break;
20180 : : default:;
20181 : : }
20182 : : break;
20183 : : }
20184 : : default:;
20185 : : }
20186 : : }
20187 : : break;
20188 : : default:;
20189 : : }
20190 : : }
20191 : 4236567 : break;
20192 : : }
20193 : 0 : case UNLT_EXPR:
20194 : 0 : {
20195 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
20196 : 0 : _q30 = do_valueize (valueize, _q30);
20197 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
20198 : 0 : _q31 = do_valueize (valueize, _q31);
20199 : 0 : if (integer_zerop (_q22))
20200 : : {
20201 : 0 : switch (TREE_CODE (_p1))
20202 : : {
20203 : 0 : case SSA_NAME:
20204 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
20205 : : {
20206 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
20207 : 0 : switch (gimple_assign_rhs_code (_a3))
20208 : : {
20209 : 0 : case VEC_COND_EXPR:
20210 : 0 : {
20211 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
20212 : 0 : _q80 = do_valueize (valueize, _q80);
20213 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
20214 : 0 : _q81 = do_valueize (valueize, _q81);
20215 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
20216 : 0 : _q82 = do_valueize (valueize, _q82);
20217 : 0 : switch (TREE_CODE (_q80))
20218 : : {
20219 : 0 : case SSA_NAME:
20220 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
20221 : : {
20222 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
20223 : 0 : switch (gimple_assign_rhs_code (_a4))
20224 : : {
20225 : 0 : case GE_EXPR:
20226 : 0 : {
20227 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
20228 : 0 : _q90 = do_valueize (valueize, _q90);
20229 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
20230 : 0 : _q91 = do_valueize (valueize, _q91);
20231 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
20232 : : {
20233 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
20234 : : {
20235 : 0 : if (integer_zerop (_q82))
20236 : : {
20237 : 0 : {
20238 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
20239 : 0 : if (gimple_simplify_37 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNLT_EXPR, GE_EXPR))
20240 : 0 : return true;
20241 : : }
20242 : : }
20243 : : }
20244 : : }
20245 : : break;
20246 : : }
20247 : : default:;
20248 : : }
20249 : : }
20250 : : break;
20251 : : default:;
20252 : : }
20253 : : break;
20254 : : }
20255 : : default:;
20256 : : }
20257 : : }
20258 : : break;
20259 : : default:;
20260 : : }
20261 : : }
20262 : : break;
20263 : : }
20264 : 0 : case UNLE_EXPR:
20265 : 0 : {
20266 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
20267 : 0 : _q30 = do_valueize (valueize, _q30);
20268 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
20269 : 0 : _q31 = do_valueize (valueize, _q31);
20270 : 0 : if (integer_zerop (_q22))
20271 : : {
20272 : 0 : switch (TREE_CODE (_p1))
20273 : : {
20274 : 0 : case SSA_NAME:
20275 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
20276 : : {
20277 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
20278 : 0 : switch (gimple_assign_rhs_code (_a3))
20279 : : {
20280 : 0 : case VEC_COND_EXPR:
20281 : 0 : {
20282 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
20283 : 0 : _q80 = do_valueize (valueize, _q80);
20284 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
20285 : 0 : _q81 = do_valueize (valueize, _q81);
20286 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
20287 : 0 : _q82 = do_valueize (valueize, _q82);
20288 : 0 : switch (TREE_CODE (_q80))
20289 : : {
20290 : 0 : case SSA_NAME:
20291 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
20292 : : {
20293 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
20294 : 0 : switch (gimple_assign_rhs_code (_a4))
20295 : : {
20296 : 0 : case GT_EXPR:
20297 : 0 : {
20298 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
20299 : 0 : _q90 = do_valueize (valueize, _q90);
20300 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
20301 : 0 : _q91 = do_valueize (valueize, _q91);
20302 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
20303 : : {
20304 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
20305 : : {
20306 : 0 : if (integer_zerop (_q82))
20307 : : {
20308 : 0 : {
20309 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
20310 : 0 : if (gimple_simplify_37 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNLE_EXPR, GT_EXPR))
20311 : 0 : return true;
20312 : : }
20313 : : }
20314 : : }
20315 : : }
20316 : : break;
20317 : : }
20318 : : default:;
20319 : : }
20320 : : }
20321 : : break;
20322 : : default:;
20323 : : }
20324 : : break;
20325 : : }
20326 : : default:;
20327 : : }
20328 : : }
20329 : : break;
20330 : : default:;
20331 : : }
20332 : : }
20333 : : break;
20334 : : }
20335 : 0 : case UNGT_EXPR:
20336 : 0 : {
20337 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
20338 : 0 : _q30 = do_valueize (valueize, _q30);
20339 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
20340 : 0 : _q31 = do_valueize (valueize, _q31);
20341 : 0 : if (integer_zerop (_q22))
20342 : : {
20343 : 0 : switch (TREE_CODE (_p1))
20344 : : {
20345 : 0 : case SSA_NAME:
20346 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
20347 : : {
20348 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
20349 : 0 : switch (gimple_assign_rhs_code (_a3))
20350 : : {
20351 : 0 : case VEC_COND_EXPR:
20352 : 0 : {
20353 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
20354 : 0 : _q80 = do_valueize (valueize, _q80);
20355 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
20356 : 0 : _q81 = do_valueize (valueize, _q81);
20357 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
20358 : 0 : _q82 = do_valueize (valueize, _q82);
20359 : 0 : switch (TREE_CODE (_q80))
20360 : : {
20361 : 0 : case SSA_NAME:
20362 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
20363 : : {
20364 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
20365 : 0 : switch (gimple_assign_rhs_code (_a4))
20366 : : {
20367 : 0 : case LE_EXPR:
20368 : 0 : {
20369 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
20370 : 0 : _q90 = do_valueize (valueize, _q90);
20371 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
20372 : 0 : _q91 = do_valueize (valueize, _q91);
20373 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
20374 : : {
20375 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
20376 : : {
20377 : 0 : if (integer_zerop (_q82))
20378 : : {
20379 : 0 : {
20380 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
20381 : 0 : if (gimple_simplify_37 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNGT_EXPR, LE_EXPR))
20382 : 0 : return true;
20383 : : }
20384 : : }
20385 : : }
20386 : : }
20387 : : break;
20388 : : }
20389 : : default:;
20390 : : }
20391 : : }
20392 : : break;
20393 : : default:;
20394 : : }
20395 : : break;
20396 : : }
20397 : : default:;
20398 : : }
20399 : : }
20400 : : break;
20401 : : default:;
20402 : : }
20403 : : }
20404 : : break;
20405 : : }
20406 : 0 : case UNGE_EXPR:
20407 : 0 : {
20408 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
20409 : 0 : _q30 = do_valueize (valueize, _q30);
20410 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
20411 : 0 : _q31 = do_valueize (valueize, _q31);
20412 : 0 : if (integer_zerop (_q22))
20413 : : {
20414 : 0 : switch (TREE_CODE (_p1))
20415 : : {
20416 : 0 : case SSA_NAME:
20417 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
20418 : : {
20419 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
20420 : 0 : switch (gimple_assign_rhs_code (_a3))
20421 : : {
20422 : 0 : case VEC_COND_EXPR:
20423 : 0 : {
20424 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
20425 : 0 : _q80 = do_valueize (valueize, _q80);
20426 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
20427 : 0 : _q81 = do_valueize (valueize, _q81);
20428 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
20429 : 0 : _q82 = do_valueize (valueize, _q82);
20430 : 0 : switch (TREE_CODE (_q80))
20431 : : {
20432 : 0 : case SSA_NAME:
20433 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
20434 : : {
20435 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
20436 : 0 : switch (gimple_assign_rhs_code (_a4))
20437 : : {
20438 : 0 : case LT_EXPR:
20439 : 0 : {
20440 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
20441 : 0 : _q90 = do_valueize (valueize, _q90);
20442 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
20443 : 0 : _q91 = do_valueize (valueize, _q91);
20444 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
20445 : : {
20446 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
20447 : : {
20448 : 0 : if (integer_zerop (_q82))
20449 : : {
20450 : 0 : {
20451 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
20452 : 0 : if (gimple_simplify_37 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNGE_EXPR, LT_EXPR))
20453 : 0 : return true;
20454 : : }
20455 : : }
20456 : : }
20457 : : }
20458 : : break;
20459 : : }
20460 : : default:;
20461 : : }
20462 : : }
20463 : : break;
20464 : : default:;
20465 : : }
20466 : : break;
20467 : : }
20468 : : default:;
20469 : : }
20470 : : }
20471 : : break;
20472 : : default:;
20473 : : }
20474 : : }
20475 : : break;
20476 : : }
20477 : 0 : case UNEQ_EXPR:
20478 : 0 : {
20479 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
20480 : 0 : _q30 = do_valueize (valueize, _q30);
20481 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
20482 : 0 : _q31 = do_valueize (valueize, _q31);
20483 : 0 : if (tree_swap_operands_p (_q30, _q31))
20484 : 0 : std::swap (_q30, _q31);
20485 : 0 : if (integer_zerop (_q22))
20486 : : {
20487 : 0 : switch (TREE_CODE (_p1))
20488 : : {
20489 : 0 : case SSA_NAME:
20490 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
20491 : : {
20492 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
20493 : 0 : switch (gimple_assign_rhs_code (_a3))
20494 : : {
20495 : 0 : case VEC_COND_EXPR:
20496 : 0 : {
20497 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
20498 : 0 : _q80 = do_valueize (valueize, _q80);
20499 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
20500 : 0 : _q81 = do_valueize (valueize, _q81);
20501 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
20502 : 0 : _q82 = do_valueize (valueize, _q82);
20503 : 0 : switch (TREE_CODE (_q80))
20504 : : {
20505 : 0 : case SSA_NAME:
20506 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
20507 : : {
20508 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
20509 : 0 : switch (gimple_assign_rhs_code (_a4))
20510 : : {
20511 : 0 : case LTGT_EXPR:
20512 : 0 : {
20513 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
20514 : 0 : _q90 = do_valueize (valueize, _q90);
20515 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
20516 : 0 : _q91 = do_valueize (valueize, _q91);
20517 : 0 : if (tree_swap_operands_p (_q90, _q91))
20518 : 0 : std::swap (_q90, _q91);
20519 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
20520 : : {
20521 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
20522 : : {
20523 : 0 : if (integer_zerop (_q82))
20524 : : {
20525 : 0 : {
20526 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
20527 : 0 : if (gimple_simplify_37 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, UNEQ_EXPR, LTGT_EXPR))
20528 : 0 : return true;
20529 : : }
20530 : : }
20531 : : }
20532 : : }
20533 : 4236567 : break;
20534 : : }
20535 : : default:;
20536 : : }
20537 : : }
20538 : : break;
20539 : : default:;
20540 : : }
20541 : : break;
20542 : : }
20543 : : default:;
20544 : : }
20545 : : }
20546 : : break;
20547 : : default:;
20548 : : }
20549 : : }
20550 : 4236567 : break;
20551 : : }
20552 : 0 : case LTGT_EXPR:
20553 : 0 : {
20554 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
20555 : 0 : _q30 = do_valueize (valueize, _q30);
20556 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
20557 : 0 : _q31 = do_valueize (valueize, _q31);
20558 : 0 : if (tree_swap_operands_p (_q30, _q31))
20559 : 0 : std::swap (_q30, _q31);
20560 : 0 : if (integer_zerop (_q22))
20561 : : {
20562 : 0 : switch (TREE_CODE (_p1))
20563 : : {
20564 : 0 : case SSA_NAME:
20565 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
20566 : : {
20567 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
20568 : 0 : switch (gimple_assign_rhs_code (_a3))
20569 : : {
20570 : 0 : case VEC_COND_EXPR:
20571 : 0 : {
20572 : 0 : tree _q80 = gimple_assign_rhs1 (_a3);
20573 : 0 : _q80 = do_valueize (valueize, _q80);
20574 : 0 : tree _q81 = gimple_assign_rhs2 (_a3);
20575 : 0 : _q81 = do_valueize (valueize, _q81);
20576 : 0 : tree _q82 = gimple_assign_rhs3 (_a3);
20577 : 0 : _q82 = do_valueize (valueize, _q82);
20578 : 0 : switch (TREE_CODE (_q80))
20579 : : {
20580 : 0 : case SSA_NAME:
20581 : 0 : if (gimple *_d4 = get_def (valueize, _q80))
20582 : : {
20583 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
20584 : 0 : switch (gimple_assign_rhs_code (_a4))
20585 : : {
20586 : 0 : case UNEQ_EXPR:
20587 : 0 : {
20588 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
20589 : 0 : _q90 = do_valueize (valueize, _q90);
20590 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
20591 : 0 : _q91 = do_valueize (valueize, _q91);
20592 : 0 : if (tree_swap_operands_p (_q90, _q91))
20593 : 0 : std::swap (_q90, _q91);
20594 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
20595 : : {
20596 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
20597 : : {
20598 : 0 : if (integer_zerop (_q82))
20599 : : {
20600 : 0 : {
20601 : 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
20602 : 0 : if (gimple_simplify_37 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LTGT_EXPR, UNEQ_EXPR))
20603 : 0 : return true;
20604 : : }
20605 : : }
20606 : : }
20607 : : }
20608 : 4236567 : break;
20609 : : }
20610 : : default:;
20611 : : }
20612 : : }
20613 : : break;
20614 : : default:;
20615 : : }
20616 : : break;
20617 : : }
20618 : : default:;
20619 : : }
20620 : : }
20621 : : break;
20622 : : default:;
20623 : : }
20624 : : }
20625 : 4236567 : break;
20626 : : }
20627 : : default:;
20628 : : }
20629 : : }
20630 : : break;
20631 : : default:;
20632 : : }
20633 : : break;
20634 : : }
20635 : 317117 : case BIT_AND_EXPR:
20636 : 317117 : {
20637 : 317117 : tree _q20 = gimple_assign_rhs1 (_a1);
20638 : 317117 : _q20 = do_valueize (valueize, _q20);
20639 : 317117 : tree _q21 = gimple_assign_rhs2 (_a1);
20640 : 317117 : _q21 = do_valueize (valueize, _q21);
20641 : 317117 : if (tree_swap_operands_p (_q20, _q21))
20642 : 8601 : std::swap (_q20, _q21);
20643 : 317117 : switch (TREE_CODE (_q20))
20644 : : {
20645 : 317117 : case SSA_NAME:
20646 : 317117 : if (gimple *_d2 = get_def (valueize, _q20))
20647 : : {
20648 : 279220 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
20649 : 259065 : switch (gimple_assign_rhs_code (_a2))
20650 : : {
20651 : 39517 : CASE_CONVERT:
20652 : 39517 : {
20653 : 39517 : tree _q30 = gimple_assign_rhs1 (_a2);
20654 : 39517 : _q30 = do_valueize (valueize, _q30);
20655 : 39517 : switch (TREE_CODE (_q30))
20656 : : {
20657 : 39517 : case SSA_NAME:
20658 : 39517 : if (gimple *_d3 = get_def (valueize, _q30))
20659 : : {
20660 : 36629 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
20661 : 29310 : switch (gimple_assign_rhs_code (_a3))
20662 : : {
20663 : 109 : case LT_EXPR:
20664 : 109 : {
20665 : 109 : tree _q40 = gimple_assign_rhs1 (_a3);
20666 : 109 : _q40 = do_valueize (valueize, _q40);
20667 : 109 : tree _q41 = gimple_assign_rhs2 (_a3);
20668 : 109 : _q41 = do_valueize (valueize, _q41);
20669 : 109 : switch (TREE_CODE (_p1))
20670 : : {
20671 : 109 : case SSA_NAME:
20672 : 109 : if (gimple *_d4 = get_def (valueize, _p1))
20673 : : {
20674 : 109 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
20675 : 109 : switch (gimple_assign_rhs_code (_a4))
20676 : : {
20677 : 109 : case BIT_AND_EXPR:
20678 : 109 : {
20679 : 109 : tree _q80 = gimple_assign_rhs1 (_a4);
20680 : 109 : _q80 = do_valueize (valueize, _q80);
20681 : 109 : tree _q81 = gimple_assign_rhs2 (_a4);
20682 : 109 : _q81 = do_valueize (valueize, _q81);
20683 : 109 : if (tree_swap_operands_p (_q80, _q81))
20684 : 7 : std::swap (_q80, _q81);
20685 : 109 : switch (TREE_CODE (_q80))
20686 : : {
20687 : 109 : case SSA_NAME:
20688 : 109 : if (gimple *_d5 = get_def (valueize, _q80))
20689 : : {
20690 : 109 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
20691 : 109 : switch (gimple_assign_rhs_code (_a5))
20692 : : {
20693 : 109 : CASE_CONVERT:
20694 : 109 : {
20695 : 109 : tree _q90 = gimple_assign_rhs1 (_a5);
20696 : 109 : _q90 = do_valueize (valueize, _q90);
20697 : 109 : switch (TREE_CODE (_q90))
20698 : : {
20699 : 109 : case SSA_NAME:
20700 : 109 : if (gimple *_d6 = get_def (valueize, _q90))
20701 : : {
20702 : 109 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
20703 : 109 : switch (gimple_assign_rhs_code (_a6))
20704 : : {
20705 : 109 : case GE_EXPR:
20706 : 109 : {
20707 : 109 : tree _q100 = gimple_assign_rhs1 (_a6);
20708 : 109 : _q100 = do_valueize (valueize, _q100);
20709 : 109 : tree _q101 = gimple_assign_rhs2 (_a6);
20710 : 109 : _q101 = do_valueize (valueize, _q101);
20711 : 109 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
20712 : : {
20713 : 109 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
20714 : : {
20715 : 109 : {
20716 : 109 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
20717 : 109 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
20718 : 0 : return true;
20719 : : }
20720 : : }
20721 : : }
20722 : : break;
20723 : : }
20724 : : default:;
20725 : : }
20726 : : }
20727 : : break;
20728 : : default:;
20729 : : }
20730 : : break;
20731 : : }
20732 : : default:;
20733 : : }
20734 : : }
20735 : : break;
20736 : 109 : default:;
20737 : : }
20738 : 109 : switch (TREE_CODE (_q81))
20739 : : {
20740 : 109 : case SSA_NAME:
20741 : 109 : if (gimple *_d5 = get_def (valueize, _q81))
20742 : : {
20743 : 109 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
20744 : 0 : switch (gimple_assign_rhs_code (_a5))
20745 : : {
20746 : 0 : CASE_CONVERT:
20747 : 0 : {
20748 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
20749 : 0 : _q100 = do_valueize (valueize, _q100);
20750 : 0 : switch (TREE_CODE (_q100))
20751 : : {
20752 : 0 : case SSA_NAME:
20753 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
20754 : : {
20755 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
20756 : 0 : switch (gimple_assign_rhs_code (_a6))
20757 : : {
20758 : 0 : case GE_EXPR:
20759 : 0 : {
20760 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
20761 : 0 : _q110 = do_valueize (valueize, _q110);
20762 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
20763 : 0 : _q111 = do_valueize (valueize, _q111);
20764 : 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
20765 : : {
20766 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
20767 : : {
20768 : 0 : {
20769 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
20770 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
20771 : 0 : return true;
20772 : : }
20773 : : }
20774 : : }
20775 : : break;
20776 : : }
20777 : : default:;
20778 : : }
20779 : : }
20780 : : break;
20781 : : default:;
20782 : : }
20783 : : break;
20784 : : }
20785 : : default:;
20786 : : }
20787 : : }
20788 : : break;
20789 : : default:;
20790 : : }
20791 : 317117 : break;
20792 : : }
20793 : : default:;
20794 : : }
20795 : : }
20796 : : break;
20797 : : default:;
20798 : : }
20799 : : break;
20800 : : }
20801 : 0 : case LE_EXPR:
20802 : 0 : {
20803 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
20804 : 0 : _q40 = do_valueize (valueize, _q40);
20805 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
20806 : 0 : _q41 = do_valueize (valueize, _q41);
20807 : 0 : switch (TREE_CODE (_p1))
20808 : : {
20809 : 0 : case SSA_NAME:
20810 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
20811 : : {
20812 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
20813 : 0 : switch (gimple_assign_rhs_code (_a4))
20814 : : {
20815 : 0 : case BIT_AND_EXPR:
20816 : 0 : {
20817 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
20818 : 0 : _q80 = do_valueize (valueize, _q80);
20819 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
20820 : 0 : _q81 = do_valueize (valueize, _q81);
20821 : 0 : if (tree_swap_operands_p (_q80, _q81))
20822 : 0 : std::swap (_q80, _q81);
20823 : 0 : switch (TREE_CODE (_q80))
20824 : : {
20825 : 0 : case SSA_NAME:
20826 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
20827 : : {
20828 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
20829 : 0 : switch (gimple_assign_rhs_code (_a5))
20830 : : {
20831 : 0 : CASE_CONVERT:
20832 : 0 : {
20833 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
20834 : 0 : _q90 = do_valueize (valueize, _q90);
20835 : 0 : switch (TREE_CODE (_q90))
20836 : : {
20837 : 0 : case SSA_NAME:
20838 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
20839 : : {
20840 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
20841 : 0 : switch (gimple_assign_rhs_code (_a6))
20842 : : {
20843 : 0 : case GT_EXPR:
20844 : 0 : {
20845 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
20846 : 0 : _q100 = do_valueize (valueize, _q100);
20847 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
20848 : 0 : _q101 = do_valueize (valueize, _q101);
20849 : 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
20850 : : {
20851 : 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
20852 : : {
20853 : 0 : {
20854 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
20855 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
20856 : 0 : return true;
20857 : : }
20858 : : }
20859 : : }
20860 : : break;
20861 : : }
20862 : : default:;
20863 : : }
20864 : : }
20865 : : break;
20866 : : default:;
20867 : : }
20868 : : break;
20869 : : }
20870 : : default:;
20871 : : }
20872 : : }
20873 : : break;
20874 : 0 : default:;
20875 : : }
20876 : 0 : switch (TREE_CODE (_q81))
20877 : : {
20878 : 0 : case SSA_NAME:
20879 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
20880 : : {
20881 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
20882 : 0 : switch (gimple_assign_rhs_code (_a5))
20883 : : {
20884 : 0 : CASE_CONVERT:
20885 : 0 : {
20886 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
20887 : 0 : _q100 = do_valueize (valueize, _q100);
20888 : 0 : switch (TREE_CODE (_q100))
20889 : : {
20890 : 0 : case SSA_NAME:
20891 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
20892 : : {
20893 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
20894 : 0 : switch (gimple_assign_rhs_code (_a6))
20895 : : {
20896 : 0 : case GT_EXPR:
20897 : 0 : {
20898 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
20899 : 0 : _q110 = do_valueize (valueize, _q110);
20900 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
20901 : 0 : _q111 = do_valueize (valueize, _q111);
20902 : 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
20903 : : {
20904 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
20905 : : {
20906 : 0 : {
20907 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
20908 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
20909 : 0 : return true;
20910 : : }
20911 : : }
20912 : : }
20913 : : break;
20914 : : }
20915 : : default:;
20916 : : }
20917 : : }
20918 : : break;
20919 : : default:;
20920 : : }
20921 : : break;
20922 : : }
20923 : : default:;
20924 : : }
20925 : : }
20926 : : break;
20927 : : default:;
20928 : : }
20929 : 317117 : break;
20930 : : }
20931 : : default:;
20932 : : }
20933 : : }
20934 : : break;
20935 : : default:;
20936 : : }
20937 : : break;
20938 : : }
20939 : 12 : case EQ_EXPR:
20940 : 12 : {
20941 : 12 : tree _q40 = gimple_assign_rhs1 (_a3);
20942 : 12 : _q40 = do_valueize (valueize, _q40);
20943 : 12 : tree _q41 = gimple_assign_rhs2 (_a3);
20944 : 12 : _q41 = do_valueize (valueize, _q41);
20945 : 12 : if (tree_swap_operands_p (_q40, _q41))
20946 : 0 : std::swap (_q40, _q41);
20947 : 12 : switch (TREE_CODE (_p1))
20948 : : {
20949 : 12 : case SSA_NAME:
20950 : 12 : if (gimple *_d4 = get_def (valueize, _p1))
20951 : : {
20952 : 12 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
20953 : 12 : switch (gimple_assign_rhs_code (_a4))
20954 : : {
20955 : 12 : case BIT_AND_EXPR:
20956 : 12 : {
20957 : 12 : tree _q80 = gimple_assign_rhs1 (_a4);
20958 : 12 : _q80 = do_valueize (valueize, _q80);
20959 : 12 : tree _q81 = gimple_assign_rhs2 (_a4);
20960 : 12 : _q81 = do_valueize (valueize, _q81);
20961 : 12 : if (tree_swap_operands_p (_q80, _q81))
20962 : 0 : std::swap (_q80, _q81);
20963 : 12 : switch (TREE_CODE (_q80))
20964 : : {
20965 : 12 : case SSA_NAME:
20966 : 12 : if (gimple *_d5 = get_def (valueize, _q80))
20967 : : {
20968 : 12 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
20969 : 12 : switch (gimple_assign_rhs_code (_a5))
20970 : : {
20971 : 12 : CASE_CONVERT:
20972 : 12 : {
20973 : 12 : tree _q90 = gimple_assign_rhs1 (_a5);
20974 : 12 : _q90 = do_valueize (valueize, _q90);
20975 : 12 : switch (TREE_CODE (_q90))
20976 : : {
20977 : 12 : case SSA_NAME:
20978 : 12 : if (gimple *_d6 = get_def (valueize, _q90))
20979 : : {
20980 : 12 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
20981 : 12 : switch (gimple_assign_rhs_code (_a6))
20982 : : {
20983 : 0 : case NE_EXPR:
20984 : 0 : {
20985 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
20986 : 0 : _q100 = do_valueize (valueize, _q100);
20987 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
20988 : 0 : _q101 = do_valueize (valueize, _q101);
20989 : 0 : if (tree_swap_operands_p (_q100, _q101))
20990 : 0 : std::swap (_q100, _q101);
20991 : 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
20992 : : {
20993 : 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
20994 : : {
20995 : 0 : {
20996 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
20997 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
20998 : 0 : return true;
20999 : : }
21000 : : }
21001 : : }
21002 : 12 : break;
21003 : : }
21004 : : default:;
21005 : : }
21006 : : }
21007 : : break;
21008 : : default:;
21009 : : }
21010 : : break;
21011 : : }
21012 : : default:;
21013 : : }
21014 : : }
21015 : : break;
21016 : 12 : default:;
21017 : : }
21018 : 12 : switch (TREE_CODE (_q81))
21019 : : {
21020 : 12 : case SSA_NAME:
21021 : 12 : if (gimple *_d5 = get_def (valueize, _q81))
21022 : : {
21023 : 12 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
21024 : 2 : switch (gimple_assign_rhs_code (_a5))
21025 : : {
21026 : 2 : CASE_CONVERT:
21027 : 2 : {
21028 : 2 : tree _q100 = gimple_assign_rhs1 (_a5);
21029 : 2 : _q100 = do_valueize (valueize, _q100);
21030 : 2 : switch (TREE_CODE (_q100))
21031 : : {
21032 : 2 : case SSA_NAME:
21033 : 2 : if (gimple *_d6 = get_def (valueize, _q100))
21034 : : {
21035 : 2 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
21036 : 2 : switch (gimple_assign_rhs_code (_a6))
21037 : : {
21038 : 0 : case NE_EXPR:
21039 : 0 : {
21040 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
21041 : 0 : _q110 = do_valueize (valueize, _q110);
21042 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
21043 : 0 : _q111 = do_valueize (valueize, _q111);
21044 : 0 : if (tree_swap_operands_p (_q110, _q111))
21045 : 0 : std::swap (_q110, _q111);
21046 : 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
21047 : : {
21048 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
21049 : : {
21050 : 0 : {
21051 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
21052 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
21053 : 0 : return true;
21054 : : }
21055 : : }
21056 : : }
21057 : 317117 : break;
21058 : : }
21059 : : default:;
21060 : : }
21061 : : }
21062 : : break;
21063 : : default:;
21064 : : }
21065 : : break;
21066 : : }
21067 : : default:;
21068 : : }
21069 : : }
21070 : : break;
21071 : : default:;
21072 : : }
21073 : 317117 : break;
21074 : : }
21075 : : default:;
21076 : : }
21077 : : }
21078 : : break;
21079 : : default:;
21080 : : }
21081 : 317117 : break;
21082 : : }
21083 : 91 : case NE_EXPR:
21084 : 91 : {
21085 : 91 : tree _q40 = gimple_assign_rhs1 (_a3);
21086 : 91 : _q40 = do_valueize (valueize, _q40);
21087 : 91 : tree _q41 = gimple_assign_rhs2 (_a3);
21088 : 91 : _q41 = do_valueize (valueize, _q41);
21089 : 91 : if (tree_swap_operands_p (_q40, _q41))
21090 : 0 : std::swap (_q40, _q41);
21091 : 91 : switch (TREE_CODE (_p1))
21092 : : {
21093 : 87 : case SSA_NAME:
21094 : 87 : if (gimple *_d4 = get_def (valueize, _p1))
21095 : : {
21096 : 87 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
21097 : 87 : switch (gimple_assign_rhs_code (_a4))
21098 : : {
21099 : 87 : case BIT_AND_EXPR:
21100 : 87 : {
21101 : 87 : tree _q80 = gimple_assign_rhs1 (_a4);
21102 : 87 : _q80 = do_valueize (valueize, _q80);
21103 : 87 : tree _q81 = gimple_assign_rhs2 (_a4);
21104 : 87 : _q81 = do_valueize (valueize, _q81);
21105 : 87 : if (tree_swap_operands_p (_q80, _q81))
21106 : 0 : std::swap (_q80, _q81);
21107 : 87 : switch (TREE_CODE (_q80))
21108 : : {
21109 : 87 : case SSA_NAME:
21110 : 87 : if (gimple *_d5 = get_def (valueize, _q80))
21111 : : {
21112 : 87 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
21113 : 87 : switch (gimple_assign_rhs_code (_a5))
21114 : : {
21115 : 87 : CASE_CONVERT:
21116 : 87 : {
21117 : 87 : tree _q90 = gimple_assign_rhs1 (_a5);
21118 : 87 : _q90 = do_valueize (valueize, _q90);
21119 : 87 : switch (TREE_CODE (_q90))
21120 : : {
21121 : 87 : case SSA_NAME:
21122 : 87 : if (gimple *_d6 = get_def (valueize, _q90))
21123 : : {
21124 : 87 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
21125 : 87 : switch (gimple_assign_rhs_code (_a6))
21126 : : {
21127 : 0 : case EQ_EXPR:
21128 : 0 : {
21129 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
21130 : 0 : _q100 = do_valueize (valueize, _q100);
21131 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
21132 : 0 : _q101 = do_valueize (valueize, _q101);
21133 : 0 : if (tree_swap_operands_p (_q100, _q101))
21134 : 0 : std::swap (_q100, _q101);
21135 : 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
21136 : : {
21137 : 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
21138 : : {
21139 : 0 : {
21140 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
21141 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
21142 : 0 : return true;
21143 : : }
21144 : : }
21145 : : }
21146 : 87 : break;
21147 : : }
21148 : : default:;
21149 : : }
21150 : : }
21151 : : break;
21152 : : default:;
21153 : : }
21154 : : break;
21155 : : }
21156 : : default:;
21157 : : }
21158 : : }
21159 : : break;
21160 : 87 : default:;
21161 : : }
21162 : 87 : switch (TREE_CODE (_q81))
21163 : : {
21164 : 87 : case SSA_NAME:
21165 : 87 : if (gimple *_d5 = get_def (valueize, _q81))
21166 : : {
21167 : 87 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
21168 : 87 : switch (gimple_assign_rhs_code (_a5))
21169 : : {
21170 : 87 : CASE_CONVERT:
21171 : 87 : {
21172 : 87 : tree _q100 = gimple_assign_rhs1 (_a5);
21173 : 87 : _q100 = do_valueize (valueize, _q100);
21174 : 87 : switch (TREE_CODE (_q100))
21175 : : {
21176 : 87 : case SSA_NAME:
21177 : 87 : if (gimple *_d6 = get_def (valueize, _q100))
21178 : : {
21179 : 87 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
21180 : 87 : switch (gimple_assign_rhs_code (_a6))
21181 : : {
21182 : 87 : case EQ_EXPR:
21183 : 87 : {
21184 : 87 : tree _q110 = gimple_assign_rhs1 (_a6);
21185 : 87 : _q110 = do_valueize (valueize, _q110);
21186 : 87 : tree _q111 = gimple_assign_rhs2 (_a6);
21187 : 87 : _q111 = do_valueize (valueize, _q111);
21188 : 87 : if (tree_swap_operands_p (_q110, _q111))
21189 : 0 : std::swap (_q110, _q111);
21190 : 87 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
21191 : : {
21192 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
21193 : : {
21194 : 0 : {
21195 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
21196 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
21197 : 0 : return true;
21198 : : }
21199 : : }
21200 : : }
21201 : 317117 : break;
21202 : : }
21203 : : default:;
21204 : : }
21205 : : }
21206 : : break;
21207 : : default:;
21208 : : }
21209 : : break;
21210 : : }
21211 : : default:;
21212 : : }
21213 : : }
21214 : : break;
21215 : : default:;
21216 : : }
21217 : 317117 : break;
21218 : : }
21219 : : default:;
21220 : : }
21221 : : }
21222 : : break;
21223 : : default:;
21224 : : }
21225 : 317117 : break;
21226 : : }
21227 : 6 : case GE_EXPR:
21228 : 6 : {
21229 : 6 : tree _q40 = gimple_assign_rhs1 (_a3);
21230 : 6 : _q40 = do_valueize (valueize, _q40);
21231 : 6 : tree _q41 = gimple_assign_rhs2 (_a3);
21232 : 6 : _q41 = do_valueize (valueize, _q41);
21233 : 6 : switch (TREE_CODE (_p1))
21234 : : {
21235 : 6 : case SSA_NAME:
21236 : 6 : if (gimple *_d4 = get_def (valueize, _p1))
21237 : : {
21238 : 6 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
21239 : 0 : switch (gimple_assign_rhs_code (_a4))
21240 : : {
21241 : 0 : case BIT_AND_EXPR:
21242 : 0 : {
21243 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
21244 : 0 : _q80 = do_valueize (valueize, _q80);
21245 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
21246 : 0 : _q81 = do_valueize (valueize, _q81);
21247 : 0 : if (tree_swap_operands_p (_q80, _q81))
21248 : 0 : std::swap (_q80, _q81);
21249 : 0 : switch (TREE_CODE (_q80))
21250 : : {
21251 : 0 : case SSA_NAME:
21252 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
21253 : : {
21254 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
21255 : 0 : switch (gimple_assign_rhs_code (_a5))
21256 : : {
21257 : 0 : CASE_CONVERT:
21258 : 0 : {
21259 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
21260 : 0 : _q90 = do_valueize (valueize, _q90);
21261 : 0 : switch (TREE_CODE (_q90))
21262 : : {
21263 : 0 : case SSA_NAME:
21264 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
21265 : : {
21266 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
21267 : 0 : switch (gimple_assign_rhs_code (_a6))
21268 : : {
21269 : 0 : case LT_EXPR:
21270 : 0 : {
21271 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
21272 : 0 : _q100 = do_valueize (valueize, _q100);
21273 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
21274 : 0 : _q101 = do_valueize (valueize, _q101);
21275 : 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
21276 : : {
21277 : 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
21278 : : {
21279 : 0 : {
21280 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
21281 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
21282 : 0 : return true;
21283 : : }
21284 : : }
21285 : : }
21286 : : break;
21287 : : }
21288 : : default:;
21289 : : }
21290 : : }
21291 : : break;
21292 : : default:;
21293 : : }
21294 : : break;
21295 : : }
21296 : : default:;
21297 : : }
21298 : : }
21299 : : break;
21300 : 0 : default:;
21301 : : }
21302 : 0 : switch (TREE_CODE (_q81))
21303 : : {
21304 : 0 : case SSA_NAME:
21305 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
21306 : : {
21307 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
21308 : 0 : switch (gimple_assign_rhs_code (_a5))
21309 : : {
21310 : 0 : CASE_CONVERT:
21311 : 0 : {
21312 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
21313 : 0 : _q100 = do_valueize (valueize, _q100);
21314 : 0 : switch (TREE_CODE (_q100))
21315 : : {
21316 : 0 : case SSA_NAME:
21317 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
21318 : : {
21319 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
21320 : 0 : switch (gimple_assign_rhs_code (_a6))
21321 : : {
21322 : 0 : case LT_EXPR:
21323 : 0 : {
21324 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
21325 : 0 : _q110 = do_valueize (valueize, _q110);
21326 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
21327 : 0 : _q111 = do_valueize (valueize, _q111);
21328 : 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
21329 : : {
21330 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
21331 : : {
21332 : 0 : {
21333 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
21334 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
21335 : 0 : return true;
21336 : : }
21337 : : }
21338 : : }
21339 : : break;
21340 : : }
21341 : : default:;
21342 : : }
21343 : : }
21344 : : break;
21345 : : default:;
21346 : : }
21347 : : break;
21348 : : }
21349 : : default:;
21350 : : }
21351 : : }
21352 : : break;
21353 : : default:;
21354 : : }
21355 : 317117 : break;
21356 : : }
21357 : : default:;
21358 : : }
21359 : : }
21360 : : break;
21361 : : default:;
21362 : : }
21363 : : break;
21364 : : }
21365 : 0 : case GT_EXPR:
21366 : 0 : {
21367 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
21368 : 0 : _q40 = do_valueize (valueize, _q40);
21369 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
21370 : 0 : _q41 = do_valueize (valueize, _q41);
21371 : 0 : switch (TREE_CODE (_p1))
21372 : : {
21373 : 0 : case SSA_NAME:
21374 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
21375 : : {
21376 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
21377 : 0 : switch (gimple_assign_rhs_code (_a4))
21378 : : {
21379 : 0 : case BIT_AND_EXPR:
21380 : 0 : {
21381 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
21382 : 0 : _q80 = do_valueize (valueize, _q80);
21383 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
21384 : 0 : _q81 = do_valueize (valueize, _q81);
21385 : 0 : if (tree_swap_operands_p (_q80, _q81))
21386 : 0 : std::swap (_q80, _q81);
21387 : 0 : switch (TREE_CODE (_q80))
21388 : : {
21389 : 0 : case SSA_NAME:
21390 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
21391 : : {
21392 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
21393 : 0 : switch (gimple_assign_rhs_code (_a5))
21394 : : {
21395 : 0 : CASE_CONVERT:
21396 : 0 : {
21397 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
21398 : 0 : _q90 = do_valueize (valueize, _q90);
21399 : 0 : switch (TREE_CODE (_q90))
21400 : : {
21401 : 0 : case SSA_NAME:
21402 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
21403 : : {
21404 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
21405 : 0 : switch (gimple_assign_rhs_code (_a6))
21406 : : {
21407 : 0 : case LE_EXPR:
21408 : 0 : {
21409 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
21410 : 0 : _q100 = do_valueize (valueize, _q100);
21411 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
21412 : 0 : _q101 = do_valueize (valueize, _q101);
21413 : 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
21414 : : {
21415 : 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
21416 : : {
21417 : 0 : {
21418 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
21419 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
21420 : 0 : return true;
21421 : : }
21422 : : }
21423 : : }
21424 : : break;
21425 : : }
21426 : : default:;
21427 : : }
21428 : : }
21429 : : break;
21430 : : default:;
21431 : : }
21432 : : break;
21433 : : }
21434 : : default:;
21435 : : }
21436 : : }
21437 : : break;
21438 : 0 : default:;
21439 : : }
21440 : 0 : switch (TREE_CODE (_q81))
21441 : : {
21442 : 0 : case SSA_NAME:
21443 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
21444 : : {
21445 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
21446 : 0 : switch (gimple_assign_rhs_code (_a5))
21447 : : {
21448 : 0 : CASE_CONVERT:
21449 : 0 : {
21450 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
21451 : 0 : _q100 = do_valueize (valueize, _q100);
21452 : 0 : switch (TREE_CODE (_q100))
21453 : : {
21454 : 0 : case SSA_NAME:
21455 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
21456 : : {
21457 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
21458 : 0 : switch (gimple_assign_rhs_code (_a6))
21459 : : {
21460 : 0 : case LE_EXPR:
21461 : 0 : {
21462 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
21463 : 0 : _q110 = do_valueize (valueize, _q110);
21464 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
21465 : 0 : _q111 = do_valueize (valueize, _q111);
21466 : 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
21467 : : {
21468 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
21469 : : {
21470 : 0 : {
21471 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
21472 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
21473 : 0 : return true;
21474 : : }
21475 : : }
21476 : : }
21477 : : break;
21478 : : }
21479 : : default:;
21480 : : }
21481 : : }
21482 : : break;
21483 : : default:;
21484 : : }
21485 : : break;
21486 : : }
21487 : : default:;
21488 : : }
21489 : : }
21490 : : break;
21491 : : default:;
21492 : : }
21493 : 317117 : break;
21494 : : }
21495 : : default:;
21496 : : }
21497 : : }
21498 : : break;
21499 : : default:;
21500 : : }
21501 : : break;
21502 : : }
21503 : 0 : case UNORDERED_EXPR:
21504 : 0 : {
21505 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
21506 : 0 : _q40 = do_valueize (valueize, _q40);
21507 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
21508 : 0 : _q41 = do_valueize (valueize, _q41);
21509 : 0 : if (tree_swap_operands_p (_q40, _q41))
21510 : 0 : std::swap (_q40, _q41);
21511 : 0 : switch (TREE_CODE (_p1))
21512 : : {
21513 : 0 : case SSA_NAME:
21514 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
21515 : : {
21516 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
21517 : 0 : switch (gimple_assign_rhs_code (_a4))
21518 : : {
21519 : 0 : case BIT_AND_EXPR:
21520 : 0 : {
21521 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
21522 : 0 : _q80 = do_valueize (valueize, _q80);
21523 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
21524 : 0 : _q81 = do_valueize (valueize, _q81);
21525 : 0 : if (tree_swap_operands_p (_q80, _q81))
21526 : 0 : std::swap (_q80, _q81);
21527 : 0 : switch (TREE_CODE (_q80))
21528 : : {
21529 : 0 : case SSA_NAME:
21530 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
21531 : : {
21532 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
21533 : 0 : switch (gimple_assign_rhs_code (_a5))
21534 : : {
21535 : 0 : CASE_CONVERT:
21536 : 0 : {
21537 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
21538 : 0 : _q90 = do_valueize (valueize, _q90);
21539 : 0 : switch (TREE_CODE (_q90))
21540 : : {
21541 : 0 : case SSA_NAME:
21542 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
21543 : : {
21544 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
21545 : 0 : switch (gimple_assign_rhs_code (_a6))
21546 : : {
21547 : 0 : case ORDERED_EXPR:
21548 : 0 : {
21549 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
21550 : 0 : _q100 = do_valueize (valueize, _q100);
21551 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
21552 : 0 : _q101 = do_valueize (valueize, _q101);
21553 : 0 : if (tree_swap_operands_p (_q100, _q101))
21554 : 0 : std::swap (_q100, _q101);
21555 : 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
21556 : : {
21557 : 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
21558 : : {
21559 : 0 : {
21560 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
21561 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
21562 : 0 : return true;
21563 : : }
21564 : : }
21565 : : }
21566 : 0 : break;
21567 : : }
21568 : : default:;
21569 : : }
21570 : : }
21571 : : break;
21572 : : default:;
21573 : : }
21574 : : break;
21575 : : }
21576 : : default:;
21577 : : }
21578 : : }
21579 : : break;
21580 : 0 : default:;
21581 : : }
21582 : 0 : switch (TREE_CODE (_q81))
21583 : : {
21584 : 0 : case SSA_NAME:
21585 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
21586 : : {
21587 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
21588 : 0 : switch (gimple_assign_rhs_code (_a5))
21589 : : {
21590 : 0 : CASE_CONVERT:
21591 : 0 : {
21592 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
21593 : 0 : _q100 = do_valueize (valueize, _q100);
21594 : 0 : switch (TREE_CODE (_q100))
21595 : : {
21596 : 0 : case SSA_NAME:
21597 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
21598 : : {
21599 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
21600 : 0 : switch (gimple_assign_rhs_code (_a6))
21601 : : {
21602 : 0 : case ORDERED_EXPR:
21603 : 0 : {
21604 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
21605 : 0 : _q110 = do_valueize (valueize, _q110);
21606 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
21607 : 0 : _q111 = do_valueize (valueize, _q111);
21608 : 0 : if (tree_swap_operands_p (_q110, _q111))
21609 : 0 : std::swap (_q110, _q111);
21610 : 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
21611 : : {
21612 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
21613 : : {
21614 : 0 : {
21615 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
21616 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
21617 : 0 : return true;
21618 : : }
21619 : : }
21620 : : }
21621 : 317117 : break;
21622 : : }
21623 : : default:;
21624 : : }
21625 : : }
21626 : : break;
21627 : : default:;
21628 : : }
21629 : : break;
21630 : : }
21631 : : default:;
21632 : : }
21633 : : }
21634 : : break;
21635 : : default:;
21636 : : }
21637 : 317117 : break;
21638 : : }
21639 : : default:;
21640 : : }
21641 : : }
21642 : : break;
21643 : : default:;
21644 : : }
21645 : 317117 : break;
21646 : : }
21647 : 0 : case ORDERED_EXPR:
21648 : 0 : {
21649 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
21650 : 0 : _q40 = do_valueize (valueize, _q40);
21651 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
21652 : 0 : _q41 = do_valueize (valueize, _q41);
21653 : 0 : if (tree_swap_operands_p (_q40, _q41))
21654 : 0 : std::swap (_q40, _q41);
21655 : 0 : switch (TREE_CODE (_p1))
21656 : : {
21657 : 0 : case SSA_NAME:
21658 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
21659 : : {
21660 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
21661 : 0 : switch (gimple_assign_rhs_code (_a4))
21662 : : {
21663 : 0 : case BIT_AND_EXPR:
21664 : 0 : {
21665 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
21666 : 0 : _q80 = do_valueize (valueize, _q80);
21667 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
21668 : 0 : _q81 = do_valueize (valueize, _q81);
21669 : 0 : if (tree_swap_operands_p (_q80, _q81))
21670 : 0 : std::swap (_q80, _q81);
21671 : 0 : switch (TREE_CODE (_q80))
21672 : : {
21673 : 0 : case SSA_NAME:
21674 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
21675 : : {
21676 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
21677 : 0 : switch (gimple_assign_rhs_code (_a5))
21678 : : {
21679 : 0 : CASE_CONVERT:
21680 : 0 : {
21681 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
21682 : 0 : _q90 = do_valueize (valueize, _q90);
21683 : 0 : switch (TREE_CODE (_q90))
21684 : : {
21685 : 0 : case SSA_NAME:
21686 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
21687 : : {
21688 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
21689 : 0 : switch (gimple_assign_rhs_code (_a6))
21690 : : {
21691 : 0 : case UNORDERED_EXPR:
21692 : 0 : {
21693 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
21694 : 0 : _q100 = do_valueize (valueize, _q100);
21695 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
21696 : 0 : _q101 = do_valueize (valueize, _q101);
21697 : 0 : if (tree_swap_operands_p (_q100, _q101))
21698 : 0 : std::swap (_q100, _q101);
21699 : 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
21700 : : {
21701 : 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
21702 : : {
21703 : 0 : {
21704 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
21705 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
21706 : 0 : return true;
21707 : : }
21708 : : }
21709 : : }
21710 : 0 : break;
21711 : : }
21712 : : default:;
21713 : : }
21714 : : }
21715 : : break;
21716 : : default:;
21717 : : }
21718 : : break;
21719 : : }
21720 : : default:;
21721 : : }
21722 : : }
21723 : : break;
21724 : 0 : default:;
21725 : : }
21726 : 0 : switch (TREE_CODE (_q81))
21727 : : {
21728 : 0 : case SSA_NAME:
21729 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
21730 : : {
21731 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
21732 : 0 : switch (gimple_assign_rhs_code (_a5))
21733 : : {
21734 : 0 : CASE_CONVERT:
21735 : 0 : {
21736 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
21737 : 0 : _q100 = do_valueize (valueize, _q100);
21738 : 0 : switch (TREE_CODE (_q100))
21739 : : {
21740 : 0 : case SSA_NAME:
21741 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
21742 : : {
21743 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
21744 : 0 : switch (gimple_assign_rhs_code (_a6))
21745 : : {
21746 : 0 : case UNORDERED_EXPR:
21747 : 0 : {
21748 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
21749 : 0 : _q110 = do_valueize (valueize, _q110);
21750 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
21751 : 0 : _q111 = do_valueize (valueize, _q111);
21752 : 0 : if (tree_swap_operands_p (_q110, _q111))
21753 : 0 : std::swap (_q110, _q111);
21754 : 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
21755 : : {
21756 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
21757 : : {
21758 : 0 : {
21759 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
21760 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
21761 : 0 : return true;
21762 : : }
21763 : : }
21764 : : }
21765 : 317117 : break;
21766 : : }
21767 : : default:;
21768 : : }
21769 : : }
21770 : : break;
21771 : : default:;
21772 : : }
21773 : : break;
21774 : : }
21775 : : default:;
21776 : : }
21777 : : }
21778 : : break;
21779 : : default:;
21780 : : }
21781 : 317117 : break;
21782 : : }
21783 : : default:;
21784 : : }
21785 : : }
21786 : : break;
21787 : : default:;
21788 : : }
21789 : 317117 : break;
21790 : : }
21791 : 0 : case UNLT_EXPR:
21792 : 0 : {
21793 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
21794 : 0 : _q40 = do_valueize (valueize, _q40);
21795 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
21796 : 0 : _q41 = do_valueize (valueize, _q41);
21797 : 0 : switch (TREE_CODE (_p1))
21798 : : {
21799 : 0 : case SSA_NAME:
21800 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
21801 : : {
21802 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
21803 : 0 : switch (gimple_assign_rhs_code (_a4))
21804 : : {
21805 : 0 : case BIT_AND_EXPR:
21806 : 0 : {
21807 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
21808 : 0 : _q80 = do_valueize (valueize, _q80);
21809 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
21810 : 0 : _q81 = do_valueize (valueize, _q81);
21811 : 0 : if (tree_swap_operands_p (_q80, _q81))
21812 : 0 : std::swap (_q80, _q81);
21813 : 0 : switch (TREE_CODE (_q80))
21814 : : {
21815 : 0 : case SSA_NAME:
21816 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
21817 : : {
21818 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
21819 : 0 : switch (gimple_assign_rhs_code (_a5))
21820 : : {
21821 : 0 : CASE_CONVERT:
21822 : 0 : {
21823 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
21824 : 0 : _q90 = do_valueize (valueize, _q90);
21825 : 0 : switch (TREE_CODE (_q90))
21826 : : {
21827 : 0 : case SSA_NAME:
21828 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
21829 : : {
21830 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
21831 : 0 : switch (gimple_assign_rhs_code (_a6))
21832 : : {
21833 : 0 : case GE_EXPR:
21834 : 0 : {
21835 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
21836 : 0 : _q100 = do_valueize (valueize, _q100);
21837 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
21838 : 0 : _q101 = do_valueize (valueize, _q101);
21839 : 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
21840 : : {
21841 : 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
21842 : : {
21843 : 0 : {
21844 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
21845 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR))
21846 : 0 : return true;
21847 : : }
21848 : : }
21849 : : }
21850 : : break;
21851 : : }
21852 : : default:;
21853 : : }
21854 : : }
21855 : : break;
21856 : : default:;
21857 : : }
21858 : : break;
21859 : : }
21860 : : default:;
21861 : : }
21862 : : }
21863 : : break;
21864 : 0 : default:;
21865 : : }
21866 : 0 : switch (TREE_CODE (_q81))
21867 : : {
21868 : 0 : case SSA_NAME:
21869 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
21870 : : {
21871 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
21872 : 0 : switch (gimple_assign_rhs_code (_a5))
21873 : : {
21874 : 0 : CASE_CONVERT:
21875 : 0 : {
21876 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
21877 : 0 : _q100 = do_valueize (valueize, _q100);
21878 : 0 : switch (TREE_CODE (_q100))
21879 : : {
21880 : 0 : case SSA_NAME:
21881 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
21882 : : {
21883 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
21884 : 0 : switch (gimple_assign_rhs_code (_a6))
21885 : : {
21886 : 0 : case GE_EXPR:
21887 : 0 : {
21888 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
21889 : 0 : _q110 = do_valueize (valueize, _q110);
21890 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
21891 : 0 : _q111 = do_valueize (valueize, _q111);
21892 : 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
21893 : : {
21894 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
21895 : : {
21896 : 0 : {
21897 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
21898 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR))
21899 : 0 : return true;
21900 : : }
21901 : : }
21902 : : }
21903 : : break;
21904 : : }
21905 : : default:;
21906 : : }
21907 : : }
21908 : : break;
21909 : : default:;
21910 : : }
21911 : : break;
21912 : : }
21913 : : default:;
21914 : : }
21915 : : }
21916 : : break;
21917 : : default:;
21918 : : }
21919 : 317117 : break;
21920 : : }
21921 : : default:;
21922 : : }
21923 : : }
21924 : : break;
21925 : : default:;
21926 : : }
21927 : : break;
21928 : : }
21929 : 0 : case UNLE_EXPR:
21930 : 0 : {
21931 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
21932 : 0 : _q40 = do_valueize (valueize, _q40);
21933 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
21934 : 0 : _q41 = do_valueize (valueize, _q41);
21935 : 0 : switch (TREE_CODE (_p1))
21936 : : {
21937 : 0 : case SSA_NAME:
21938 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
21939 : : {
21940 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
21941 : 0 : switch (gimple_assign_rhs_code (_a4))
21942 : : {
21943 : 0 : case BIT_AND_EXPR:
21944 : 0 : {
21945 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
21946 : 0 : _q80 = do_valueize (valueize, _q80);
21947 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
21948 : 0 : _q81 = do_valueize (valueize, _q81);
21949 : 0 : if (tree_swap_operands_p (_q80, _q81))
21950 : 0 : std::swap (_q80, _q81);
21951 : 0 : switch (TREE_CODE (_q80))
21952 : : {
21953 : 0 : case SSA_NAME:
21954 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
21955 : : {
21956 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
21957 : 0 : switch (gimple_assign_rhs_code (_a5))
21958 : : {
21959 : 0 : CASE_CONVERT:
21960 : 0 : {
21961 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
21962 : 0 : _q90 = do_valueize (valueize, _q90);
21963 : 0 : switch (TREE_CODE (_q90))
21964 : : {
21965 : 0 : case SSA_NAME:
21966 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
21967 : : {
21968 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
21969 : 0 : switch (gimple_assign_rhs_code (_a6))
21970 : : {
21971 : 0 : case GT_EXPR:
21972 : 0 : {
21973 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
21974 : 0 : _q100 = do_valueize (valueize, _q100);
21975 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
21976 : 0 : _q101 = do_valueize (valueize, _q101);
21977 : 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
21978 : : {
21979 : 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
21980 : : {
21981 : 0 : {
21982 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
21983 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
21984 : 0 : return true;
21985 : : }
21986 : : }
21987 : : }
21988 : : break;
21989 : : }
21990 : : default:;
21991 : : }
21992 : : }
21993 : : break;
21994 : : default:;
21995 : : }
21996 : : break;
21997 : : }
21998 : : default:;
21999 : : }
22000 : : }
22001 : : break;
22002 : 0 : default:;
22003 : : }
22004 : 0 : switch (TREE_CODE (_q81))
22005 : : {
22006 : 0 : case SSA_NAME:
22007 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
22008 : : {
22009 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
22010 : 0 : switch (gimple_assign_rhs_code (_a5))
22011 : : {
22012 : 0 : CASE_CONVERT:
22013 : 0 : {
22014 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
22015 : 0 : _q100 = do_valueize (valueize, _q100);
22016 : 0 : switch (TREE_CODE (_q100))
22017 : : {
22018 : 0 : case SSA_NAME:
22019 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
22020 : : {
22021 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
22022 : 0 : switch (gimple_assign_rhs_code (_a6))
22023 : : {
22024 : 0 : case GT_EXPR:
22025 : 0 : {
22026 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
22027 : 0 : _q110 = do_valueize (valueize, _q110);
22028 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
22029 : 0 : _q111 = do_valueize (valueize, _q111);
22030 : 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
22031 : : {
22032 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
22033 : : {
22034 : 0 : {
22035 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
22036 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
22037 : 0 : return true;
22038 : : }
22039 : : }
22040 : : }
22041 : : break;
22042 : : }
22043 : : default:;
22044 : : }
22045 : : }
22046 : : break;
22047 : : default:;
22048 : : }
22049 : : break;
22050 : : }
22051 : : default:;
22052 : : }
22053 : : }
22054 : : break;
22055 : : default:;
22056 : : }
22057 : 317117 : break;
22058 : : }
22059 : : default:;
22060 : : }
22061 : : }
22062 : : break;
22063 : : default:;
22064 : : }
22065 : : break;
22066 : : }
22067 : 0 : case UNGT_EXPR:
22068 : 0 : {
22069 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
22070 : 0 : _q40 = do_valueize (valueize, _q40);
22071 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
22072 : 0 : _q41 = do_valueize (valueize, _q41);
22073 : 0 : switch (TREE_CODE (_p1))
22074 : : {
22075 : 0 : case SSA_NAME:
22076 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
22077 : : {
22078 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
22079 : 0 : switch (gimple_assign_rhs_code (_a4))
22080 : : {
22081 : 0 : case BIT_AND_EXPR:
22082 : 0 : {
22083 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
22084 : 0 : _q80 = do_valueize (valueize, _q80);
22085 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
22086 : 0 : _q81 = do_valueize (valueize, _q81);
22087 : 0 : if (tree_swap_operands_p (_q80, _q81))
22088 : 0 : std::swap (_q80, _q81);
22089 : 0 : switch (TREE_CODE (_q80))
22090 : : {
22091 : 0 : case SSA_NAME:
22092 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
22093 : : {
22094 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
22095 : 0 : switch (gimple_assign_rhs_code (_a5))
22096 : : {
22097 : 0 : CASE_CONVERT:
22098 : 0 : {
22099 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
22100 : 0 : _q90 = do_valueize (valueize, _q90);
22101 : 0 : switch (TREE_CODE (_q90))
22102 : : {
22103 : 0 : case SSA_NAME:
22104 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
22105 : : {
22106 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
22107 : 0 : switch (gimple_assign_rhs_code (_a6))
22108 : : {
22109 : 0 : case LE_EXPR:
22110 : 0 : {
22111 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
22112 : 0 : _q100 = do_valueize (valueize, _q100);
22113 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
22114 : 0 : _q101 = do_valueize (valueize, _q101);
22115 : 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
22116 : : {
22117 : 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
22118 : : {
22119 : 0 : {
22120 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
22121 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
22122 : 0 : return true;
22123 : : }
22124 : : }
22125 : : }
22126 : : break;
22127 : : }
22128 : : default:;
22129 : : }
22130 : : }
22131 : : break;
22132 : : default:;
22133 : : }
22134 : : break;
22135 : : }
22136 : : default:;
22137 : : }
22138 : : }
22139 : : break;
22140 : 0 : default:;
22141 : : }
22142 : 0 : switch (TREE_CODE (_q81))
22143 : : {
22144 : 0 : case SSA_NAME:
22145 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
22146 : : {
22147 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
22148 : 0 : switch (gimple_assign_rhs_code (_a5))
22149 : : {
22150 : 0 : CASE_CONVERT:
22151 : 0 : {
22152 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
22153 : 0 : _q100 = do_valueize (valueize, _q100);
22154 : 0 : switch (TREE_CODE (_q100))
22155 : : {
22156 : 0 : case SSA_NAME:
22157 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
22158 : : {
22159 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
22160 : 0 : switch (gimple_assign_rhs_code (_a6))
22161 : : {
22162 : 0 : case LE_EXPR:
22163 : 0 : {
22164 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
22165 : 0 : _q110 = do_valueize (valueize, _q110);
22166 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
22167 : 0 : _q111 = do_valueize (valueize, _q111);
22168 : 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
22169 : : {
22170 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
22171 : : {
22172 : 0 : {
22173 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
22174 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
22175 : 0 : return true;
22176 : : }
22177 : : }
22178 : : }
22179 : : break;
22180 : : }
22181 : : default:;
22182 : : }
22183 : : }
22184 : : break;
22185 : : default:;
22186 : : }
22187 : : break;
22188 : : }
22189 : : default:;
22190 : : }
22191 : : }
22192 : : break;
22193 : : default:;
22194 : : }
22195 : 317117 : break;
22196 : : }
22197 : : default:;
22198 : : }
22199 : : }
22200 : : break;
22201 : : default:;
22202 : : }
22203 : : break;
22204 : : }
22205 : 0 : case UNGE_EXPR:
22206 : 0 : {
22207 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
22208 : 0 : _q40 = do_valueize (valueize, _q40);
22209 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
22210 : 0 : _q41 = do_valueize (valueize, _q41);
22211 : 0 : switch (TREE_CODE (_p1))
22212 : : {
22213 : 0 : case SSA_NAME:
22214 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
22215 : : {
22216 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
22217 : 0 : switch (gimple_assign_rhs_code (_a4))
22218 : : {
22219 : 0 : case BIT_AND_EXPR:
22220 : 0 : {
22221 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
22222 : 0 : _q80 = do_valueize (valueize, _q80);
22223 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
22224 : 0 : _q81 = do_valueize (valueize, _q81);
22225 : 0 : if (tree_swap_operands_p (_q80, _q81))
22226 : 0 : std::swap (_q80, _q81);
22227 : 0 : switch (TREE_CODE (_q80))
22228 : : {
22229 : 0 : case SSA_NAME:
22230 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
22231 : : {
22232 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
22233 : 0 : switch (gimple_assign_rhs_code (_a5))
22234 : : {
22235 : 0 : CASE_CONVERT:
22236 : 0 : {
22237 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
22238 : 0 : _q90 = do_valueize (valueize, _q90);
22239 : 0 : switch (TREE_CODE (_q90))
22240 : : {
22241 : 0 : case SSA_NAME:
22242 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
22243 : : {
22244 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
22245 : 0 : switch (gimple_assign_rhs_code (_a6))
22246 : : {
22247 : 0 : case LT_EXPR:
22248 : 0 : {
22249 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
22250 : 0 : _q100 = do_valueize (valueize, _q100);
22251 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
22252 : 0 : _q101 = do_valueize (valueize, _q101);
22253 : 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
22254 : : {
22255 : 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
22256 : : {
22257 : 0 : {
22258 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
22259 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
22260 : 0 : return true;
22261 : : }
22262 : : }
22263 : : }
22264 : : break;
22265 : : }
22266 : : default:;
22267 : : }
22268 : : }
22269 : : break;
22270 : : default:;
22271 : : }
22272 : : break;
22273 : : }
22274 : : default:;
22275 : : }
22276 : : }
22277 : : break;
22278 : 0 : default:;
22279 : : }
22280 : 0 : switch (TREE_CODE (_q81))
22281 : : {
22282 : 0 : case SSA_NAME:
22283 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
22284 : : {
22285 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
22286 : 0 : switch (gimple_assign_rhs_code (_a5))
22287 : : {
22288 : 0 : CASE_CONVERT:
22289 : 0 : {
22290 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
22291 : 0 : _q100 = do_valueize (valueize, _q100);
22292 : 0 : switch (TREE_CODE (_q100))
22293 : : {
22294 : 0 : case SSA_NAME:
22295 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
22296 : : {
22297 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
22298 : 0 : switch (gimple_assign_rhs_code (_a6))
22299 : : {
22300 : 0 : case LT_EXPR:
22301 : 0 : {
22302 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
22303 : 0 : _q110 = do_valueize (valueize, _q110);
22304 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
22305 : 0 : _q111 = do_valueize (valueize, _q111);
22306 : 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
22307 : : {
22308 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
22309 : : {
22310 : 0 : {
22311 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
22312 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
22313 : 0 : return true;
22314 : : }
22315 : : }
22316 : : }
22317 : : break;
22318 : : }
22319 : : default:;
22320 : : }
22321 : : }
22322 : : break;
22323 : : default:;
22324 : : }
22325 : : break;
22326 : : }
22327 : : default:;
22328 : : }
22329 : : }
22330 : : break;
22331 : : default:;
22332 : : }
22333 : 317117 : break;
22334 : : }
22335 : : default:;
22336 : : }
22337 : : }
22338 : : break;
22339 : : default:;
22340 : : }
22341 : : break;
22342 : : }
22343 : 0 : case UNEQ_EXPR:
22344 : 0 : {
22345 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
22346 : 0 : _q40 = do_valueize (valueize, _q40);
22347 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
22348 : 0 : _q41 = do_valueize (valueize, _q41);
22349 : 0 : if (tree_swap_operands_p (_q40, _q41))
22350 : 0 : std::swap (_q40, _q41);
22351 : 0 : switch (TREE_CODE (_p1))
22352 : : {
22353 : 0 : case SSA_NAME:
22354 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
22355 : : {
22356 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
22357 : 0 : switch (gimple_assign_rhs_code (_a4))
22358 : : {
22359 : 0 : case BIT_AND_EXPR:
22360 : 0 : {
22361 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
22362 : 0 : _q80 = do_valueize (valueize, _q80);
22363 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
22364 : 0 : _q81 = do_valueize (valueize, _q81);
22365 : 0 : if (tree_swap_operands_p (_q80, _q81))
22366 : 0 : std::swap (_q80, _q81);
22367 : 0 : switch (TREE_CODE (_q80))
22368 : : {
22369 : 0 : case SSA_NAME:
22370 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
22371 : : {
22372 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
22373 : 0 : switch (gimple_assign_rhs_code (_a5))
22374 : : {
22375 : 0 : CASE_CONVERT:
22376 : 0 : {
22377 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
22378 : 0 : _q90 = do_valueize (valueize, _q90);
22379 : 0 : switch (TREE_CODE (_q90))
22380 : : {
22381 : 0 : case SSA_NAME:
22382 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
22383 : : {
22384 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
22385 : 0 : switch (gimple_assign_rhs_code (_a6))
22386 : : {
22387 : 0 : case LTGT_EXPR:
22388 : 0 : {
22389 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
22390 : 0 : _q100 = do_valueize (valueize, _q100);
22391 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
22392 : 0 : _q101 = do_valueize (valueize, _q101);
22393 : 0 : if (tree_swap_operands_p (_q100, _q101))
22394 : 0 : std::swap (_q100, _q101);
22395 : 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
22396 : : {
22397 : 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
22398 : : {
22399 : 0 : {
22400 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
22401 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
22402 : 0 : return true;
22403 : : }
22404 : : }
22405 : : }
22406 : 0 : break;
22407 : : }
22408 : : default:;
22409 : : }
22410 : : }
22411 : : break;
22412 : : default:;
22413 : : }
22414 : : break;
22415 : : }
22416 : : default:;
22417 : : }
22418 : : }
22419 : : break;
22420 : 0 : default:;
22421 : : }
22422 : 0 : switch (TREE_CODE (_q81))
22423 : : {
22424 : 0 : case SSA_NAME:
22425 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
22426 : : {
22427 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
22428 : 0 : switch (gimple_assign_rhs_code (_a5))
22429 : : {
22430 : 0 : CASE_CONVERT:
22431 : 0 : {
22432 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
22433 : 0 : _q100 = do_valueize (valueize, _q100);
22434 : 0 : switch (TREE_CODE (_q100))
22435 : : {
22436 : 0 : case SSA_NAME:
22437 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
22438 : : {
22439 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
22440 : 0 : switch (gimple_assign_rhs_code (_a6))
22441 : : {
22442 : 0 : case LTGT_EXPR:
22443 : 0 : {
22444 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
22445 : 0 : _q110 = do_valueize (valueize, _q110);
22446 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
22447 : 0 : _q111 = do_valueize (valueize, _q111);
22448 : 0 : if (tree_swap_operands_p (_q110, _q111))
22449 : 0 : std::swap (_q110, _q111);
22450 : 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
22451 : : {
22452 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
22453 : : {
22454 : 0 : {
22455 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
22456 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
22457 : 0 : return true;
22458 : : }
22459 : : }
22460 : : }
22461 : 317117 : break;
22462 : : }
22463 : : default:;
22464 : : }
22465 : : }
22466 : : break;
22467 : : default:;
22468 : : }
22469 : : break;
22470 : : }
22471 : : default:;
22472 : : }
22473 : : }
22474 : : break;
22475 : : default:;
22476 : : }
22477 : 317117 : break;
22478 : : }
22479 : : default:;
22480 : : }
22481 : : }
22482 : : break;
22483 : : default:;
22484 : : }
22485 : 317117 : break;
22486 : : }
22487 : 0 : case LTGT_EXPR:
22488 : 0 : {
22489 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
22490 : 0 : _q40 = do_valueize (valueize, _q40);
22491 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
22492 : 0 : _q41 = do_valueize (valueize, _q41);
22493 : 0 : if (tree_swap_operands_p (_q40, _q41))
22494 : 0 : std::swap (_q40, _q41);
22495 : 0 : switch (TREE_CODE (_p1))
22496 : : {
22497 : 0 : case SSA_NAME:
22498 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
22499 : : {
22500 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
22501 : 0 : switch (gimple_assign_rhs_code (_a4))
22502 : : {
22503 : 0 : case BIT_AND_EXPR:
22504 : 0 : {
22505 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
22506 : 0 : _q80 = do_valueize (valueize, _q80);
22507 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
22508 : 0 : _q81 = do_valueize (valueize, _q81);
22509 : 0 : if (tree_swap_operands_p (_q80, _q81))
22510 : 0 : std::swap (_q80, _q81);
22511 : 0 : switch (TREE_CODE (_q80))
22512 : : {
22513 : 0 : case SSA_NAME:
22514 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
22515 : : {
22516 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
22517 : 0 : switch (gimple_assign_rhs_code (_a5))
22518 : : {
22519 : 0 : CASE_CONVERT:
22520 : 0 : {
22521 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
22522 : 0 : _q90 = do_valueize (valueize, _q90);
22523 : 0 : switch (TREE_CODE (_q90))
22524 : : {
22525 : 0 : case SSA_NAME:
22526 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
22527 : : {
22528 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
22529 : 0 : switch (gimple_assign_rhs_code (_a6))
22530 : : {
22531 : 0 : case UNEQ_EXPR:
22532 : 0 : {
22533 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
22534 : 0 : _q100 = do_valueize (valueize, _q100);
22535 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
22536 : 0 : _q101 = do_valueize (valueize, _q101);
22537 : 0 : if (tree_swap_operands_p (_q100, _q101))
22538 : 0 : std::swap (_q100, _q101);
22539 : 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
22540 : : {
22541 : 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
22542 : : {
22543 : 0 : {
22544 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
22545 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
22546 : 0 : return true;
22547 : : }
22548 : : }
22549 : : }
22550 : 0 : break;
22551 : : }
22552 : : default:;
22553 : : }
22554 : : }
22555 : : break;
22556 : : default:;
22557 : : }
22558 : : break;
22559 : : }
22560 : : default:;
22561 : : }
22562 : : }
22563 : : break;
22564 : 0 : default:;
22565 : : }
22566 : 0 : switch (TREE_CODE (_q81))
22567 : : {
22568 : 0 : case SSA_NAME:
22569 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
22570 : : {
22571 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
22572 : 0 : switch (gimple_assign_rhs_code (_a5))
22573 : : {
22574 : 0 : CASE_CONVERT:
22575 : 0 : {
22576 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
22577 : 0 : _q100 = do_valueize (valueize, _q100);
22578 : 0 : switch (TREE_CODE (_q100))
22579 : : {
22580 : 0 : case SSA_NAME:
22581 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
22582 : : {
22583 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
22584 : 0 : switch (gimple_assign_rhs_code (_a6))
22585 : : {
22586 : 0 : case UNEQ_EXPR:
22587 : 0 : {
22588 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
22589 : 0 : _q110 = do_valueize (valueize, _q110);
22590 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
22591 : 0 : _q111 = do_valueize (valueize, _q111);
22592 : 0 : if (tree_swap_operands_p (_q110, _q111))
22593 : 0 : std::swap (_q110, _q111);
22594 : 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
22595 : : {
22596 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
22597 : : {
22598 : 0 : {
22599 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
22600 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
22601 : 0 : return true;
22602 : : }
22603 : : }
22604 : : }
22605 : 317117 : break;
22606 : : }
22607 : : default:;
22608 : : }
22609 : : }
22610 : : break;
22611 : : default:;
22612 : : }
22613 : : break;
22614 : : }
22615 : : default:;
22616 : : }
22617 : : }
22618 : : break;
22619 : : default:;
22620 : : }
22621 : 317117 : break;
22622 : : }
22623 : : default:;
22624 : : }
22625 : : }
22626 : : break;
22627 : : default:;
22628 : : }
22629 : 317117 : break;
22630 : : }
22631 : : default:;
22632 : : }
22633 : : }
22634 : : break;
22635 : : default:;
22636 : : }
22637 : : break;
22638 : : }
22639 : : default:;
22640 : : }
22641 : : }
22642 : : break;
22643 : 317117 : default:;
22644 : : }
22645 : 317117 : switch (TREE_CODE (_q21))
22646 : : {
22647 : 134900 : case SSA_NAME:
22648 : 134900 : if (gimple *_d2 = get_def (valueize, _q21))
22649 : : {
22650 : 114895 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
22651 : 133941 : switch (gimple_assign_rhs_code (_a2))
22652 : : {
22653 : 5714 : CASE_CONVERT:
22654 : 5714 : {
22655 : 5714 : tree _q40 = gimple_assign_rhs1 (_a2);
22656 : 5714 : _q40 = do_valueize (valueize, _q40);
22657 : 5714 : switch (TREE_CODE (_q40))
22658 : : {
22659 : 5714 : case SSA_NAME:
22660 : 5714 : if (gimple *_d3 = get_def (valueize, _q40))
22661 : : {
22662 : 5634 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
22663 : 5797 : switch (gimple_assign_rhs_code (_a3))
22664 : : {
22665 : 0 : case LT_EXPR:
22666 : 0 : {
22667 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
22668 : 0 : _q50 = do_valueize (valueize, _q50);
22669 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
22670 : 0 : _q51 = do_valueize (valueize, _q51);
22671 : 0 : switch (TREE_CODE (_p1))
22672 : : {
22673 : 0 : case SSA_NAME:
22674 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
22675 : : {
22676 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
22677 : 0 : switch (gimple_assign_rhs_code (_a4))
22678 : : {
22679 : 0 : case BIT_AND_EXPR:
22680 : 0 : {
22681 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
22682 : 0 : _q80 = do_valueize (valueize, _q80);
22683 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
22684 : 0 : _q81 = do_valueize (valueize, _q81);
22685 : 0 : if (tree_swap_operands_p (_q80, _q81))
22686 : 0 : std::swap (_q80, _q81);
22687 : 0 : switch (TREE_CODE (_q80))
22688 : : {
22689 : 0 : case SSA_NAME:
22690 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
22691 : : {
22692 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
22693 : 0 : switch (gimple_assign_rhs_code (_a5))
22694 : : {
22695 : 0 : CASE_CONVERT:
22696 : 0 : {
22697 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
22698 : 0 : _q90 = do_valueize (valueize, _q90);
22699 : 0 : switch (TREE_CODE (_q90))
22700 : : {
22701 : 0 : case SSA_NAME:
22702 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
22703 : : {
22704 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
22705 : 0 : switch (gimple_assign_rhs_code (_a6))
22706 : : {
22707 : 0 : case GE_EXPR:
22708 : 0 : {
22709 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
22710 : 0 : _q100 = do_valueize (valueize, _q100);
22711 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
22712 : 0 : _q101 = do_valueize (valueize, _q101);
22713 : 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
22714 : : {
22715 : 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
22716 : : {
22717 : 0 : {
22718 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
22719 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
22720 : 0 : return true;
22721 : : }
22722 : : }
22723 : : }
22724 : : break;
22725 : : }
22726 : : default:;
22727 : : }
22728 : : }
22729 : : break;
22730 : : default:;
22731 : : }
22732 : : break;
22733 : : }
22734 : : default:;
22735 : : }
22736 : : }
22737 : : break;
22738 : 0 : default:;
22739 : : }
22740 : 0 : switch (TREE_CODE (_q81))
22741 : : {
22742 : 0 : case SSA_NAME:
22743 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
22744 : : {
22745 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
22746 : 0 : switch (gimple_assign_rhs_code (_a5))
22747 : : {
22748 : 0 : CASE_CONVERT:
22749 : 0 : {
22750 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
22751 : 0 : _q100 = do_valueize (valueize, _q100);
22752 : 0 : switch (TREE_CODE (_q100))
22753 : : {
22754 : 0 : case SSA_NAME:
22755 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
22756 : : {
22757 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
22758 : 0 : switch (gimple_assign_rhs_code (_a6))
22759 : : {
22760 : 0 : case GE_EXPR:
22761 : 0 : {
22762 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
22763 : 0 : _q110 = do_valueize (valueize, _q110);
22764 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
22765 : 0 : _q111 = do_valueize (valueize, _q111);
22766 : 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
22767 : : {
22768 : 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
22769 : : {
22770 : 0 : {
22771 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
22772 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
22773 : 0 : return true;
22774 : : }
22775 : : }
22776 : : }
22777 : : break;
22778 : : }
22779 : : default:;
22780 : : }
22781 : : }
22782 : : break;
22783 : : default:;
22784 : : }
22785 : : break;
22786 : : }
22787 : : default:;
22788 : : }
22789 : : }
22790 : : break;
22791 : : default:;
22792 : : }
22793 : 317117 : break;
22794 : : }
22795 : : default:;
22796 : : }
22797 : : }
22798 : : break;
22799 : : default:;
22800 : : }
22801 : : break;
22802 : : }
22803 : 0 : case LE_EXPR:
22804 : 0 : {
22805 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
22806 : 0 : _q50 = do_valueize (valueize, _q50);
22807 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
22808 : 0 : _q51 = do_valueize (valueize, _q51);
22809 : 0 : switch (TREE_CODE (_p1))
22810 : : {
22811 : 0 : case SSA_NAME:
22812 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
22813 : : {
22814 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
22815 : 0 : switch (gimple_assign_rhs_code (_a4))
22816 : : {
22817 : 0 : case BIT_AND_EXPR:
22818 : 0 : {
22819 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
22820 : 0 : _q80 = do_valueize (valueize, _q80);
22821 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
22822 : 0 : _q81 = do_valueize (valueize, _q81);
22823 : 0 : if (tree_swap_operands_p (_q80, _q81))
22824 : 0 : std::swap (_q80, _q81);
22825 : 0 : switch (TREE_CODE (_q80))
22826 : : {
22827 : 0 : case SSA_NAME:
22828 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
22829 : : {
22830 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
22831 : 0 : switch (gimple_assign_rhs_code (_a5))
22832 : : {
22833 : 0 : CASE_CONVERT:
22834 : 0 : {
22835 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
22836 : 0 : _q90 = do_valueize (valueize, _q90);
22837 : 0 : switch (TREE_CODE (_q90))
22838 : : {
22839 : 0 : case SSA_NAME:
22840 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
22841 : : {
22842 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
22843 : 0 : switch (gimple_assign_rhs_code (_a6))
22844 : : {
22845 : 0 : case GT_EXPR:
22846 : 0 : {
22847 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
22848 : 0 : _q100 = do_valueize (valueize, _q100);
22849 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
22850 : 0 : _q101 = do_valueize (valueize, _q101);
22851 : 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
22852 : : {
22853 : 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
22854 : : {
22855 : 0 : {
22856 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
22857 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
22858 : 0 : return true;
22859 : : }
22860 : : }
22861 : : }
22862 : : break;
22863 : : }
22864 : : default:;
22865 : : }
22866 : : }
22867 : : break;
22868 : : default:;
22869 : : }
22870 : : break;
22871 : : }
22872 : : default:;
22873 : : }
22874 : : }
22875 : : break;
22876 : 0 : default:;
22877 : : }
22878 : 0 : switch (TREE_CODE (_q81))
22879 : : {
22880 : 0 : case SSA_NAME:
22881 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
22882 : : {
22883 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
22884 : 0 : switch (gimple_assign_rhs_code (_a5))
22885 : : {
22886 : 0 : CASE_CONVERT:
22887 : 0 : {
22888 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
22889 : 0 : _q100 = do_valueize (valueize, _q100);
22890 : 0 : switch (TREE_CODE (_q100))
22891 : : {
22892 : 0 : case SSA_NAME:
22893 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
22894 : : {
22895 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
22896 : 0 : switch (gimple_assign_rhs_code (_a6))
22897 : : {
22898 : 0 : case GT_EXPR:
22899 : 0 : {
22900 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
22901 : 0 : _q110 = do_valueize (valueize, _q110);
22902 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
22903 : 0 : _q111 = do_valueize (valueize, _q111);
22904 : 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
22905 : : {
22906 : 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
22907 : : {
22908 : 0 : {
22909 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
22910 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
22911 : 0 : return true;
22912 : : }
22913 : : }
22914 : : }
22915 : : break;
22916 : : }
22917 : : default:;
22918 : : }
22919 : : }
22920 : : break;
22921 : : default:;
22922 : : }
22923 : : break;
22924 : : }
22925 : : default:;
22926 : : }
22927 : : }
22928 : : break;
22929 : : default:;
22930 : : }
22931 : 317117 : break;
22932 : : }
22933 : : default:;
22934 : : }
22935 : : }
22936 : : break;
22937 : : default:;
22938 : : }
22939 : : break;
22940 : : }
22941 : 89 : case EQ_EXPR:
22942 : 89 : {
22943 : 89 : tree _q50 = gimple_assign_rhs1 (_a3);
22944 : 89 : _q50 = do_valueize (valueize, _q50);
22945 : 89 : tree _q51 = gimple_assign_rhs2 (_a3);
22946 : 89 : _q51 = do_valueize (valueize, _q51);
22947 : 89 : if (tree_swap_operands_p (_q50, _q51))
22948 : 0 : std::swap (_q50, _q51);
22949 : 89 : switch (TREE_CODE (_p1))
22950 : : {
22951 : 89 : case SSA_NAME:
22952 : 89 : if (gimple *_d4 = get_def (valueize, _p1))
22953 : : {
22954 : 89 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
22955 : 89 : switch (gimple_assign_rhs_code (_a4))
22956 : : {
22957 : 89 : case BIT_AND_EXPR:
22958 : 89 : {
22959 : 89 : tree _q80 = gimple_assign_rhs1 (_a4);
22960 : 89 : _q80 = do_valueize (valueize, _q80);
22961 : 89 : tree _q81 = gimple_assign_rhs2 (_a4);
22962 : 89 : _q81 = do_valueize (valueize, _q81);
22963 : 89 : if (tree_swap_operands_p (_q80, _q81))
22964 : 0 : std::swap (_q80, _q81);
22965 : 89 : switch (TREE_CODE (_q80))
22966 : : {
22967 : 89 : case SSA_NAME:
22968 : 89 : if (gimple *_d5 = get_def (valueize, _q80))
22969 : : {
22970 : 89 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
22971 : 89 : switch (gimple_assign_rhs_code (_a5))
22972 : : {
22973 : 89 : CASE_CONVERT:
22974 : 89 : {
22975 : 89 : tree _q90 = gimple_assign_rhs1 (_a5);
22976 : 89 : _q90 = do_valueize (valueize, _q90);
22977 : 89 : switch (TREE_CODE (_q90))
22978 : : {
22979 : 89 : case SSA_NAME:
22980 : 89 : if (gimple *_d6 = get_def (valueize, _q90))
22981 : : {
22982 : 89 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
22983 : 89 : switch (gimple_assign_rhs_code (_a6))
22984 : : {
22985 : 87 : case NE_EXPR:
22986 : 87 : {
22987 : 87 : tree _q100 = gimple_assign_rhs1 (_a6);
22988 : 87 : _q100 = do_valueize (valueize, _q100);
22989 : 87 : tree _q101 = gimple_assign_rhs2 (_a6);
22990 : 87 : _q101 = do_valueize (valueize, _q101);
22991 : 87 : if (tree_swap_operands_p (_q100, _q101))
22992 : 0 : std::swap (_q100, _q101);
22993 : 87 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
22994 : : {
22995 : 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
22996 : : {
22997 : 0 : {
22998 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
22999 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
23000 : 0 : return true;
23001 : : }
23002 : : }
23003 : : }
23004 : 89 : break;
23005 : : }
23006 : : default:;
23007 : : }
23008 : : }
23009 : : break;
23010 : : default:;
23011 : : }
23012 : : break;
23013 : : }
23014 : : default:;
23015 : : }
23016 : : }
23017 : : break;
23018 : 89 : default:;
23019 : : }
23020 : 89 : switch (TREE_CODE (_q81))
23021 : : {
23022 : 89 : case SSA_NAME:
23023 : 89 : if (gimple *_d5 = get_def (valueize, _q81))
23024 : : {
23025 : 89 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
23026 : 87 : switch (gimple_assign_rhs_code (_a5))
23027 : : {
23028 : 87 : CASE_CONVERT:
23029 : 87 : {
23030 : 87 : tree _q100 = gimple_assign_rhs1 (_a5);
23031 : 87 : _q100 = do_valueize (valueize, _q100);
23032 : 87 : switch (TREE_CODE (_q100))
23033 : : {
23034 : 87 : case SSA_NAME:
23035 : 87 : if (gimple *_d6 = get_def (valueize, _q100))
23036 : : {
23037 : 87 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
23038 : 87 : switch (gimple_assign_rhs_code (_a6))
23039 : : {
23040 : 0 : case NE_EXPR:
23041 : 0 : {
23042 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
23043 : 0 : _q110 = do_valueize (valueize, _q110);
23044 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
23045 : 0 : _q111 = do_valueize (valueize, _q111);
23046 : 0 : if (tree_swap_operands_p (_q110, _q111))
23047 : 0 : std::swap (_q110, _q111);
23048 : 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
23049 : : {
23050 : 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
23051 : : {
23052 : 0 : {
23053 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
23054 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
23055 : 0 : return true;
23056 : : }
23057 : : }
23058 : : }
23059 : 317117 : break;
23060 : : }
23061 : : default:;
23062 : : }
23063 : : }
23064 : : break;
23065 : : default:;
23066 : : }
23067 : : break;
23068 : : }
23069 : : default:;
23070 : : }
23071 : : }
23072 : : break;
23073 : : default:;
23074 : : }
23075 : 317117 : break;
23076 : : }
23077 : : default:;
23078 : : }
23079 : : }
23080 : : break;
23081 : : default:;
23082 : : }
23083 : 317117 : break;
23084 : : }
23085 : 0 : case NE_EXPR:
23086 : 0 : {
23087 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
23088 : 0 : _q50 = do_valueize (valueize, _q50);
23089 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
23090 : 0 : _q51 = do_valueize (valueize, _q51);
23091 : 0 : if (tree_swap_operands_p (_q50, _q51))
23092 : 0 : std::swap (_q50, _q51);
23093 : 0 : switch (TREE_CODE (_p1))
23094 : : {
23095 : 0 : case SSA_NAME:
23096 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
23097 : : {
23098 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
23099 : 0 : switch (gimple_assign_rhs_code (_a4))
23100 : : {
23101 : 0 : case BIT_AND_EXPR:
23102 : 0 : {
23103 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
23104 : 0 : _q80 = do_valueize (valueize, _q80);
23105 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
23106 : 0 : _q81 = do_valueize (valueize, _q81);
23107 : 0 : if (tree_swap_operands_p (_q80, _q81))
23108 : 0 : std::swap (_q80, _q81);
23109 : 0 : switch (TREE_CODE (_q80))
23110 : : {
23111 : 0 : case SSA_NAME:
23112 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
23113 : : {
23114 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
23115 : 0 : switch (gimple_assign_rhs_code (_a5))
23116 : : {
23117 : 0 : CASE_CONVERT:
23118 : 0 : {
23119 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
23120 : 0 : _q90 = do_valueize (valueize, _q90);
23121 : 0 : switch (TREE_CODE (_q90))
23122 : : {
23123 : 0 : case SSA_NAME:
23124 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
23125 : : {
23126 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
23127 : 0 : switch (gimple_assign_rhs_code (_a6))
23128 : : {
23129 : 0 : case EQ_EXPR:
23130 : 0 : {
23131 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
23132 : 0 : _q100 = do_valueize (valueize, _q100);
23133 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
23134 : 0 : _q101 = do_valueize (valueize, _q101);
23135 : 0 : if (tree_swap_operands_p (_q100, _q101))
23136 : 0 : std::swap (_q100, _q101);
23137 : 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
23138 : : {
23139 : 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
23140 : : {
23141 : 0 : {
23142 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
23143 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
23144 : 0 : return true;
23145 : : }
23146 : : }
23147 : : }
23148 : 0 : break;
23149 : : }
23150 : : default:;
23151 : : }
23152 : : }
23153 : : break;
23154 : : default:;
23155 : : }
23156 : : break;
23157 : : }
23158 : : default:;
23159 : : }
23160 : : }
23161 : : break;
23162 : 0 : default:;
23163 : : }
23164 : 0 : switch (TREE_CODE (_q81))
23165 : : {
23166 : 0 : case SSA_NAME:
23167 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
23168 : : {
23169 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
23170 : 0 : switch (gimple_assign_rhs_code (_a5))
23171 : : {
23172 : 0 : CASE_CONVERT:
23173 : 0 : {
23174 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
23175 : 0 : _q100 = do_valueize (valueize, _q100);
23176 : 0 : switch (TREE_CODE (_q100))
23177 : : {
23178 : 0 : case SSA_NAME:
23179 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
23180 : : {
23181 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
23182 : 0 : switch (gimple_assign_rhs_code (_a6))
23183 : : {
23184 : 0 : case EQ_EXPR:
23185 : 0 : {
23186 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
23187 : 0 : _q110 = do_valueize (valueize, _q110);
23188 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
23189 : 0 : _q111 = do_valueize (valueize, _q111);
23190 : 0 : if (tree_swap_operands_p (_q110, _q111))
23191 : 0 : std::swap (_q110, _q111);
23192 : 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
23193 : : {
23194 : 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
23195 : : {
23196 : 0 : {
23197 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
23198 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
23199 : 0 : return true;
23200 : : }
23201 : : }
23202 : : }
23203 : 317117 : break;
23204 : : }
23205 : : default:;
23206 : : }
23207 : : }
23208 : : break;
23209 : : default:;
23210 : : }
23211 : : break;
23212 : : }
23213 : : default:;
23214 : : }
23215 : : }
23216 : : break;
23217 : : default:;
23218 : : }
23219 : 317117 : break;
23220 : : }
23221 : : default:;
23222 : : }
23223 : : }
23224 : : break;
23225 : : default:;
23226 : : }
23227 : 317117 : break;
23228 : : }
23229 : 0 : case GE_EXPR:
23230 : 0 : {
23231 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
23232 : 0 : _q50 = do_valueize (valueize, _q50);
23233 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
23234 : 0 : _q51 = do_valueize (valueize, _q51);
23235 : 0 : switch (TREE_CODE (_p1))
23236 : : {
23237 : 0 : case SSA_NAME:
23238 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
23239 : : {
23240 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
23241 : 0 : switch (gimple_assign_rhs_code (_a4))
23242 : : {
23243 : 0 : case BIT_AND_EXPR:
23244 : 0 : {
23245 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
23246 : 0 : _q80 = do_valueize (valueize, _q80);
23247 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
23248 : 0 : _q81 = do_valueize (valueize, _q81);
23249 : 0 : if (tree_swap_operands_p (_q80, _q81))
23250 : 0 : std::swap (_q80, _q81);
23251 : 0 : switch (TREE_CODE (_q80))
23252 : : {
23253 : 0 : case SSA_NAME:
23254 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
23255 : : {
23256 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
23257 : 0 : switch (gimple_assign_rhs_code (_a5))
23258 : : {
23259 : 0 : CASE_CONVERT:
23260 : 0 : {
23261 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
23262 : 0 : _q90 = do_valueize (valueize, _q90);
23263 : 0 : switch (TREE_CODE (_q90))
23264 : : {
23265 : 0 : case SSA_NAME:
23266 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
23267 : : {
23268 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
23269 : 0 : switch (gimple_assign_rhs_code (_a6))
23270 : : {
23271 : 0 : case LT_EXPR:
23272 : 0 : {
23273 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
23274 : 0 : _q100 = do_valueize (valueize, _q100);
23275 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
23276 : 0 : _q101 = do_valueize (valueize, _q101);
23277 : 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
23278 : : {
23279 : 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
23280 : : {
23281 : 0 : {
23282 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
23283 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
23284 : 0 : return true;
23285 : : }
23286 : : }
23287 : : }
23288 : : break;
23289 : : }
23290 : : default:;
23291 : : }
23292 : : }
23293 : : break;
23294 : : default:;
23295 : : }
23296 : : break;
23297 : : }
23298 : : default:;
23299 : : }
23300 : : }
23301 : : break;
23302 : 0 : default:;
23303 : : }
23304 : 0 : switch (TREE_CODE (_q81))
23305 : : {
23306 : 0 : case SSA_NAME:
23307 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
23308 : : {
23309 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
23310 : 0 : switch (gimple_assign_rhs_code (_a5))
23311 : : {
23312 : 0 : CASE_CONVERT:
23313 : 0 : {
23314 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
23315 : 0 : _q100 = do_valueize (valueize, _q100);
23316 : 0 : switch (TREE_CODE (_q100))
23317 : : {
23318 : 0 : case SSA_NAME:
23319 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
23320 : : {
23321 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
23322 : 0 : switch (gimple_assign_rhs_code (_a6))
23323 : : {
23324 : 0 : case LT_EXPR:
23325 : 0 : {
23326 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
23327 : 0 : _q110 = do_valueize (valueize, _q110);
23328 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
23329 : 0 : _q111 = do_valueize (valueize, _q111);
23330 : 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
23331 : : {
23332 : 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
23333 : : {
23334 : 0 : {
23335 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
23336 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
23337 : 0 : return true;
23338 : : }
23339 : : }
23340 : : }
23341 : : break;
23342 : : }
23343 : : default:;
23344 : : }
23345 : : }
23346 : : break;
23347 : : default:;
23348 : : }
23349 : : break;
23350 : : }
23351 : : default:;
23352 : : }
23353 : : }
23354 : : break;
23355 : : default:;
23356 : : }
23357 : 317117 : break;
23358 : : }
23359 : : default:;
23360 : : }
23361 : : }
23362 : : break;
23363 : : default:;
23364 : : }
23365 : : break;
23366 : : }
23367 : 0 : case GT_EXPR:
23368 : 0 : {
23369 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
23370 : 0 : _q50 = do_valueize (valueize, _q50);
23371 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
23372 : 0 : _q51 = do_valueize (valueize, _q51);
23373 : 0 : switch (TREE_CODE (_p1))
23374 : : {
23375 : 0 : case SSA_NAME:
23376 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
23377 : : {
23378 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
23379 : 0 : switch (gimple_assign_rhs_code (_a4))
23380 : : {
23381 : 0 : case BIT_AND_EXPR:
23382 : 0 : {
23383 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
23384 : 0 : _q80 = do_valueize (valueize, _q80);
23385 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
23386 : 0 : _q81 = do_valueize (valueize, _q81);
23387 : 0 : if (tree_swap_operands_p (_q80, _q81))
23388 : 0 : std::swap (_q80, _q81);
23389 : 0 : switch (TREE_CODE (_q80))
23390 : : {
23391 : 0 : case SSA_NAME:
23392 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
23393 : : {
23394 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
23395 : 0 : switch (gimple_assign_rhs_code (_a5))
23396 : : {
23397 : 0 : CASE_CONVERT:
23398 : 0 : {
23399 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
23400 : 0 : _q90 = do_valueize (valueize, _q90);
23401 : 0 : switch (TREE_CODE (_q90))
23402 : : {
23403 : 0 : case SSA_NAME:
23404 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
23405 : : {
23406 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
23407 : 0 : switch (gimple_assign_rhs_code (_a6))
23408 : : {
23409 : 0 : case LE_EXPR:
23410 : 0 : {
23411 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
23412 : 0 : _q100 = do_valueize (valueize, _q100);
23413 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
23414 : 0 : _q101 = do_valueize (valueize, _q101);
23415 : 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
23416 : : {
23417 : 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
23418 : : {
23419 : 0 : {
23420 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
23421 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
23422 : 0 : return true;
23423 : : }
23424 : : }
23425 : : }
23426 : : break;
23427 : : }
23428 : : default:;
23429 : : }
23430 : : }
23431 : : break;
23432 : : default:;
23433 : : }
23434 : : break;
23435 : : }
23436 : : default:;
23437 : : }
23438 : : }
23439 : : break;
23440 : 0 : default:;
23441 : : }
23442 : 0 : switch (TREE_CODE (_q81))
23443 : : {
23444 : 0 : case SSA_NAME:
23445 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
23446 : : {
23447 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
23448 : 0 : switch (gimple_assign_rhs_code (_a5))
23449 : : {
23450 : 0 : CASE_CONVERT:
23451 : 0 : {
23452 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
23453 : 0 : _q100 = do_valueize (valueize, _q100);
23454 : 0 : switch (TREE_CODE (_q100))
23455 : : {
23456 : 0 : case SSA_NAME:
23457 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
23458 : : {
23459 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
23460 : 0 : switch (gimple_assign_rhs_code (_a6))
23461 : : {
23462 : 0 : case LE_EXPR:
23463 : 0 : {
23464 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
23465 : 0 : _q110 = do_valueize (valueize, _q110);
23466 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
23467 : 0 : _q111 = do_valueize (valueize, _q111);
23468 : 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
23469 : : {
23470 : 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
23471 : : {
23472 : 0 : {
23473 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
23474 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
23475 : 0 : return true;
23476 : : }
23477 : : }
23478 : : }
23479 : : break;
23480 : : }
23481 : : default:;
23482 : : }
23483 : : }
23484 : : break;
23485 : : default:;
23486 : : }
23487 : : break;
23488 : : }
23489 : : default:;
23490 : : }
23491 : : }
23492 : : break;
23493 : : default:;
23494 : : }
23495 : 317117 : break;
23496 : : }
23497 : : default:;
23498 : : }
23499 : : }
23500 : : break;
23501 : : default:;
23502 : : }
23503 : : break;
23504 : : }
23505 : 0 : case UNORDERED_EXPR:
23506 : 0 : {
23507 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
23508 : 0 : _q50 = do_valueize (valueize, _q50);
23509 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
23510 : 0 : _q51 = do_valueize (valueize, _q51);
23511 : 0 : if (tree_swap_operands_p (_q50, _q51))
23512 : 0 : std::swap (_q50, _q51);
23513 : 0 : switch (TREE_CODE (_p1))
23514 : : {
23515 : 0 : case SSA_NAME:
23516 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
23517 : : {
23518 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
23519 : 0 : switch (gimple_assign_rhs_code (_a4))
23520 : : {
23521 : 0 : case BIT_AND_EXPR:
23522 : 0 : {
23523 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
23524 : 0 : _q80 = do_valueize (valueize, _q80);
23525 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
23526 : 0 : _q81 = do_valueize (valueize, _q81);
23527 : 0 : if (tree_swap_operands_p (_q80, _q81))
23528 : 0 : std::swap (_q80, _q81);
23529 : 0 : switch (TREE_CODE (_q80))
23530 : : {
23531 : 0 : case SSA_NAME:
23532 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
23533 : : {
23534 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
23535 : 0 : switch (gimple_assign_rhs_code (_a5))
23536 : : {
23537 : 0 : CASE_CONVERT:
23538 : 0 : {
23539 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
23540 : 0 : _q90 = do_valueize (valueize, _q90);
23541 : 0 : switch (TREE_CODE (_q90))
23542 : : {
23543 : 0 : case SSA_NAME:
23544 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
23545 : : {
23546 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
23547 : 0 : switch (gimple_assign_rhs_code (_a6))
23548 : : {
23549 : 0 : case ORDERED_EXPR:
23550 : 0 : {
23551 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
23552 : 0 : _q100 = do_valueize (valueize, _q100);
23553 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
23554 : 0 : _q101 = do_valueize (valueize, _q101);
23555 : 0 : if (tree_swap_operands_p (_q100, _q101))
23556 : 0 : std::swap (_q100, _q101);
23557 : 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
23558 : : {
23559 : 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
23560 : : {
23561 : 0 : {
23562 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
23563 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
23564 : 0 : return true;
23565 : : }
23566 : : }
23567 : : }
23568 : 0 : break;
23569 : : }
23570 : : default:;
23571 : : }
23572 : : }
23573 : : break;
23574 : : default:;
23575 : : }
23576 : : break;
23577 : : }
23578 : : default:;
23579 : : }
23580 : : }
23581 : : break;
23582 : 0 : default:;
23583 : : }
23584 : 0 : switch (TREE_CODE (_q81))
23585 : : {
23586 : 0 : case SSA_NAME:
23587 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
23588 : : {
23589 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
23590 : 0 : switch (gimple_assign_rhs_code (_a5))
23591 : : {
23592 : 0 : CASE_CONVERT:
23593 : 0 : {
23594 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
23595 : 0 : _q100 = do_valueize (valueize, _q100);
23596 : 0 : switch (TREE_CODE (_q100))
23597 : : {
23598 : 0 : case SSA_NAME:
23599 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
23600 : : {
23601 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
23602 : 0 : switch (gimple_assign_rhs_code (_a6))
23603 : : {
23604 : 0 : case ORDERED_EXPR:
23605 : 0 : {
23606 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
23607 : 0 : _q110 = do_valueize (valueize, _q110);
23608 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
23609 : 0 : _q111 = do_valueize (valueize, _q111);
23610 : 0 : if (tree_swap_operands_p (_q110, _q111))
23611 : 0 : std::swap (_q110, _q111);
23612 : 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
23613 : : {
23614 : 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
23615 : : {
23616 : 0 : {
23617 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
23618 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
23619 : 0 : return true;
23620 : : }
23621 : : }
23622 : : }
23623 : 317117 : break;
23624 : : }
23625 : : default:;
23626 : : }
23627 : : }
23628 : : break;
23629 : : default:;
23630 : : }
23631 : : break;
23632 : : }
23633 : : default:;
23634 : : }
23635 : : }
23636 : : break;
23637 : : default:;
23638 : : }
23639 : 317117 : break;
23640 : : }
23641 : : default:;
23642 : : }
23643 : : }
23644 : : break;
23645 : : default:;
23646 : : }
23647 : 317117 : break;
23648 : : }
23649 : 0 : case ORDERED_EXPR:
23650 : 0 : {
23651 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
23652 : 0 : _q50 = do_valueize (valueize, _q50);
23653 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
23654 : 0 : _q51 = do_valueize (valueize, _q51);
23655 : 0 : if (tree_swap_operands_p (_q50, _q51))
23656 : 0 : std::swap (_q50, _q51);
23657 : 0 : switch (TREE_CODE (_p1))
23658 : : {
23659 : 0 : case SSA_NAME:
23660 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
23661 : : {
23662 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
23663 : 0 : switch (gimple_assign_rhs_code (_a4))
23664 : : {
23665 : 0 : case BIT_AND_EXPR:
23666 : 0 : {
23667 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
23668 : 0 : _q80 = do_valueize (valueize, _q80);
23669 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
23670 : 0 : _q81 = do_valueize (valueize, _q81);
23671 : 0 : if (tree_swap_operands_p (_q80, _q81))
23672 : 0 : std::swap (_q80, _q81);
23673 : 0 : switch (TREE_CODE (_q80))
23674 : : {
23675 : 0 : case SSA_NAME:
23676 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
23677 : : {
23678 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
23679 : 0 : switch (gimple_assign_rhs_code (_a5))
23680 : : {
23681 : 0 : CASE_CONVERT:
23682 : 0 : {
23683 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
23684 : 0 : _q90 = do_valueize (valueize, _q90);
23685 : 0 : switch (TREE_CODE (_q90))
23686 : : {
23687 : 0 : case SSA_NAME:
23688 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
23689 : : {
23690 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
23691 : 0 : switch (gimple_assign_rhs_code (_a6))
23692 : : {
23693 : 0 : case UNORDERED_EXPR:
23694 : 0 : {
23695 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
23696 : 0 : _q100 = do_valueize (valueize, _q100);
23697 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
23698 : 0 : _q101 = do_valueize (valueize, _q101);
23699 : 0 : if (tree_swap_operands_p (_q100, _q101))
23700 : 0 : std::swap (_q100, _q101);
23701 : 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
23702 : : {
23703 : 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
23704 : : {
23705 : 0 : {
23706 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
23707 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
23708 : 0 : return true;
23709 : : }
23710 : : }
23711 : : }
23712 : 0 : break;
23713 : : }
23714 : : default:;
23715 : : }
23716 : : }
23717 : : break;
23718 : : default:;
23719 : : }
23720 : : break;
23721 : : }
23722 : : default:;
23723 : : }
23724 : : }
23725 : : break;
23726 : 0 : default:;
23727 : : }
23728 : 0 : switch (TREE_CODE (_q81))
23729 : : {
23730 : 0 : case SSA_NAME:
23731 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
23732 : : {
23733 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
23734 : 0 : switch (gimple_assign_rhs_code (_a5))
23735 : : {
23736 : 0 : CASE_CONVERT:
23737 : 0 : {
23738 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
23739 : 0 : _q100 = do_valueize (valueize, _q100);
23740 : 0 : switch (TREE_CODE (_q100))
23741 : : {
23742 : 0 : case SSA_NAME:
23743 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
23744 : : {
23745 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
23746 : 0 : switch (gimple_assign_rhs_code (_a6))
23747 : : {
23748 : 0 : case UNORDERED_EXPR:
23749 : 0 : {
23750 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
23751 : 0 : _q110 = do_valueize (valueize, _q110);
23752 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
23753 : 0 : _q111 = do_valueize (valueize, _q111);
23754 : 0 : if (tree_swap_operands_p (_q110, _q111))
23755 : 0 : std::swap (_q110, _q111);
23756 : 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
23757 : : {
23758 : 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
23759 : : {
23760 : 0 : {
23761 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
23762 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
23763 : 0 : return true;
23764 : : }
23765 : : }
23766 : : }
23767 : 317117 : break;
23768 : : }
23769 : : default:;
23770 : : }
23771 : : }
23772 : : break;
23773 : : default:;
23774 : : }
23775 : : break;
23776 : : }
23777 : : default:;
23778 : : }
23779 : : }
23780 : : break;
23781 : : default:;
23782 : : }
23783 : 317117 : break;
23784 : : }
23785 : : default:;
23786 : : }
23787 : : }
23788 : : break;
23789 : : default:;
23790 : : }
23791 : 317117 : break;
23792 : : }
23793 : 0 : case UNLT_EXPR:
23794 : 0 : {
23795 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
23796 : 0 : _q50 = do_valueize (valueize, _q50);
23797 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
23798 : 0 : _q51 = do_valueize (valueize, _q51);
23799 : 0 : switch (TREE_CODE (_p1))
23800 : : {
23801 : 0 : case SSA_NAME:
23802 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
23803 : : {
23804 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
23805 : 0 : switch (gimple_assign_rhs_code (_a4))
23806 : : {
23807 : 0 : case BIT_AND_EXPR:
23808 : 0 : {
23809 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
23810 : 0 : _q80 = do_valueize (valueize, _q80);
23811 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
23812 : 0 : _q81 = do_valueize (valueize, _q81);
23813 : 0 : if (tree_swap_operands_p (_q80, _q81))
23814 : 0 : std::swap (_q80, _q81);
23815 : 0 : switch (TREE_CODE (_q80))
23816 : : {
23817 : 0 : case SSA_NAME:
23818 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
23819 : : {
23820 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
23821 : 0 : switch (gimple_assign_rhs_code (_a5))
23822 : : {
23823 : 0 : CASE_CONVERT:
23824 : 0 : {
23825 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
23826 : 0 : _q90 = do_valueize (valueize, _q90);
23827 : 0 : switch (TREE_CODE (_q90))
23828 : : {
23829 : 0 : case SSA_NAME:
23830 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
23831 : : {
23832 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
23833 : 0 : switch (gimple_assign_rhs_code (_a6))
23834 : : {
23835 : 0 : case GE_EXPR:
23836 : 0 : {
23837 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
23838 : 0 : _q100 = do_valueize (valueize, _q100);
23839 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
23840 : 0 : _q101 = do_valueize (valueize, _q101);
23841 : 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
23842 : : {
23843 : 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
23844 : : {
23845 : 0 : {
23846 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
23847 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR))
23848 : 0 : return true;
23849 : : }
23850 : : }
23851 : : }
23852 : : break;
23853 : : }
23854 : : default:;
23855 : : }
23856 : : }
23857 : : break;
23858 : : default:;
23859 : : }
23860 : : break;
23861 : : }
23862 : : default:;
23863 : : }
23864 : : }
23865 : : break;
23866 : 0 : default:;
23867 : : }
23868 : 0 : switch (TREE_CODE (_q81))
23869 : : {
23870 : 0 : case SSA_NAME:
23871 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
23872 : : {
23873 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
23874 : 0 : switch (gimple_assign_rhs_code (_a5))
23875 : : {
23876 : 0 : CASE_CONVERT:
23877 : 0 : {
23878 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
23879 : 0 : _q100 = do_valueize (valueize, _q100);
23880 : 0 : switch (TREE_CODE (_q100))
23881 : : {
23882 : 0 : case SSA_NAME:
23883 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
23884 : : {
23885 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
23886 : 0 : switch (gimple_assign_rhs_code (_a6))
23887 : : {
23888 : 0 : case GE_EXPR:
23889 : 0 : {
23890 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
23891 : 0 : _q110 = do_valueize (valueize, _q110);
23892 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
23893 : 0 : _q111 = do_valueize (valueize, _q111);
23894 : 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
23895 : : {
23896 : 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
23897 : : {
23898 : 0 : {
23899 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
23900 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR))
23901 : 0 : return true;
23902 : : }
23903 : : }
23904 : : }
23905 : : break;
23906 : : }
23907 : : default:;
23908 : : }
23909 : : }
23910 : : break;
23911 : : default:;
23912 : : }
23913 : : break;
23914 : : }
23915 : : default:;
23916 : : }
23917 : : }
23918 : : break;
23919 : : default:;
23920 : : }
23921 : 317117 : break;
23922 : : }
23923 : : default:;
23924 : : }
23925 : : }
23926 : : break;
23927 : : default:;
23928 : : }
23929 : : break;
23930 : : }
23931 : 0 : case UNLE_EXPR:
23932 : 0 : {
23933 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
23934 : 0 : _q50 = do_valueize (valueize, _q50);
23935 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
23936 : 0 : _q51 = do_valueize (valueize, _q51);
23937 : 0 : switch (TREE_CODE (_p1))
23938 : : {
23939 : 0 : case SSA_NAME:
23940 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
23941 : : {
23942 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
23943 : 0 : switch (gimple_assign_rhs_code (_a4))
23944 : : {
23945 : 0 : case BIT_AND_EXPR:
23946 : 0 : {
23947 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
23948 : 0 : _q80 = do_valueize (valueize, _q80);
23949 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
23950 : 0 : _q81 = do_valueize (valueize, _q81);
23951 : 0 : if (tree_swap_operands_p (_q80, _q81))
23952 : 0 : std::swap (_q80, _q81);
23953 : 0 : switch (TREE_CODE (_q80))
23954 : : {
23955 : 0 : case SSA_NAME:
23956 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
23957 : : {
23958 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
23959 : 0 : switch (gimple_assign_rhs_code (_a5))
23960 : : {
23961 : 0 : CASE_CONVERT:
23962 : 0 : {
23963 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
23964 : 0 : _q90 = do_valueize (valueize, _q90);
23965 : 0 : switch (TREE_CODE (_q90))
23966 : : {
23967 : 0 : case SSA_NAME:
23968 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
23969 : : {
23970 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
23971 : 0 : switch (gimple_assign_rhs_code (_a6))
23972 : : {
23973 : 0 : case GT_EXPR:
23974 : 0 : {
23975 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
23976 : 0 : _q100 = do_valueize (valueize, _q100);
23977 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
23978 : 0 : _q101 = do_valueize (valueize, _q101);
23979 : 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
23980 : : {
23981 : 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
23982 : : {
23983 : 0 : {
23984 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
23985 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
23986 : 0 : return true;
23987 : : }
23988 : : }
23989 : : }
23990 : : break;
23991 : : }
23992 : : default:;
23993 : : }
23994 : : }
23995 : : break;
23996 : : default:;
23997 : : }
23998 : : break;
23999 : : }
24000 : : default:;
24001 : : }
24002 : : }
24003 : : break;
24004 : 0 : default:;
24005 : : }
24006 : 0 : switch (TREE_CODE (_q81))
24007 : : {
24008 : 0 : case SSA_NAME:
24009 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
24010 : : {
24011 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
24012 : 0 : switch (gimple_assign_rhs_code (_a5))
24013 : : {
24014 : 0 : CASE_CONVERT:
24015 : 0 : {
24016 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
24017 : 0 : _q100 = do_valueize (valueize, _q100);
24018 : 0 : switch (TREE_CODE (_q100))
24019 : : {
24020 : 0 : case SSA_NAME:
24021 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
24022 : : {
24023 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
24024 : 0 : switch (gimple_assign_rhs_code (_a6))
24025 : : {
24026 : 0 : case GT_EXPR:
24027 : 0 : {
24028 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
24029 : 0 : _q110 = do_valueize (valueize, _q110);
24030 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
24031 : 0 : _q111 = do_valueize (valueize, _q111);
24032 : 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
24033 : : {
24034 : 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
24035 : : {
24036 : 0 : {
24037 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
24038 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
24039 : 0 : return true;
24040 : : }
24041 : : }
24042 : : }
24043 : : break;
24044 : : }
24045 : : default:;
24046 : : }
24047 : : }
24048 : : break;
24049 : : default:;
24050 : : }
24051 : : break;
24052 : : }
24053 : : default:;
24054 : : }
24055 : : }
24056 : : break;
24057 : : default:;
24058 : : }
24059 : 317117 : break;
24060 : : }
24061 : : default:;
24062 : : }
24063 : : }
24064 : : break;
24065 : : default:;
24066 : : }
24067 : : break;
24068 : : }
24069 : 0 : case UNGT_EXPR:
24070 : 0 : {
24071 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
24072 : 0 : _q50 = do_valueize (valueize, _q50);
24073 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
24074 : 0 : _q51 = do_valueize (valueize, _q51);
24075 : 0 : switch (TREE_CODE (_p1))
24076 : : {
24077 : 0 : case SSA_NAME:
24078 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
24079 : : {
24080 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
24081 : 0 : switch (gimple_assign_rhs_code (_a4))
24082 : : {
24083 : 0 : case BIT_AND_EXPR:
24084 : 0 : {
24085 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
24086 : 0 : _q80 = do_valueize (valueize, _q80);
24087 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
24088 : 0 : _q81 = do_valueize (valueize, _q81);
24089 : 0 : if (tree_swap_operands_p (_q80, _q81))
24090 : 0 : std::swap (_q80, _q81);
24091 : 0 : switch (TREE_CODE (_q80))
24092 : : {
24093 : 0 : case SSA_NAME:
24094 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
24095 : : {
24096 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
24097 : 0 : switch (gimple_assign_rhs_code (_a5))
24098 : : {
24099 : 0 : CASE_CONVERT:
24100 : 0 : {
24101 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
24102 : 0 : _q90 = do_valueize (valueize, _q90);
24103 : 0 : switch (TREE_CODE (_q90))
24104 : : {
24105 : 0 : case SSA_NAME:
24106 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
24107 : : {
24108 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
24109 : 0 : switch (gimple_assign_rhs_code (_a6))
24110 : : {
24111 : 0 : case LE_EXPR:
24112 : 0 : {
24113 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
24114 : 0 : _q100 = do_valueize (valueize, _q100);
24115 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
24116 : 0 : _q101 = do_valueize (valueize, _q101);
24117 : 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
24118 : : {
24119 : 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
24120 : : {
24121 : 0 : {
24122 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
24123 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
24124 : 0 : return true;
24125 : : }
24126 : : }
24127 : : }
24128 : : break;
24129 : : }
24130 : : default:;
24131 : : }
24132 : : }
24133 : : break;
24134 : : default:;
24135 : : }
24136 : : break;
24137 : : }
24138 : : default:;
24139 : : }
24140 : : }
24141 : : break;
24142 : 0 : default:;
24143 : : }
24144 : 0 : switch (TREE_CODE (_q81))
24145 : : {
24146 : 0 : case SSA_NAME:
24147 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
24148 : : {
24149 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
24150 : 0 : switch (gimple_assign_rhs_code (_a5))
24151 : : {
24152 : 0 : CASE_CONVERT:
24153 : 0 : {
24154 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
24155 : 0 : _q100 = do_valueize (valueize, _q100);
24156 : 0 : switch (TREE_CODE (_q100))
24157 : : {
24158 : 0 : case SSA_NAME:
24159 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
24160 : : {
24161 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
24162 : 0 : switch (gimple_assign_rhs_code (_a6))
24163 : : {
24164 : 0 : case LE_EXPR:
24165 : 0 : {
24166 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
24167 : 0 : _q110 = do_valueize (valueize, _q110);
24168 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
24169 : 0 : _q111 = do_valueize (valueize, _q111);
24170 : 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
24171 : : {
24172 : 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
24173 : : {
24174 : 0 : {
24175 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
24176 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
24177 : 0 : return true;
24178 : : }
24179 : : }
24180 : : }
24181 : : break;
24182 : : }
24183 : : default:;
24184 : : }
24185 : : }
24186 : : break;
24187 : : default:;
24188 : : }
24189 : : break;
24190 : : }
24191 : : default:;
24192 : : }
24193 : : }
24194 : : break;
24195 : : default:;
24196 : : }
24197 : 317117 : break;
24198 : : }
24199 : : default:;
24200 : : }
24201 : : }
24202 : : break;
24203 : : default:;
24204 : : }
24205 : : break;
24206 : : }
24207 : 0 : case UNGE_EXPR:
24208 : 0 : {
24209 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
24210 : 0 : _q50 = do_valueize (valueize, _q50);
24211 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
24212 : 0 : _q51 = do_valueize (valueize, _q51);
24213 : 0 : switch (TREE_CODE (_p1))
24214 : : {
24215 : 0 : case SSA_NAME:
24216 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
24217 : : {
24218 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
24219 : 0 : switch (gimple_assign_rhs_code (_a4))
24220 : : {
24221 : 0 : case BIT_AND_EXPR:
24222 : 0 : {
24223 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
24224 : 0 : _q80 = do_valueize (valueize, _q80);
24225 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
24226 : 0 : _q81 = do_valueize (valueize, _q81);
24227 : 0 : if (tree_swap_operands_p (_q80, _q81))
24228 : 0 : std::swap (_q80, _q81);
24229 : 0 : switch (TREE_CODE (_q80))
24230 : : {
24231 : 0 : case SSA_NAME:
24232 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
24233 : : {
24234 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
24235 : 0 : switch (gimple_assign_rhs_code (_a5))
24236 : : {
24237 : 0 : CASE_CONVERT:
24238 : 0 : {
24239 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
24240 : 0 : _q90 = do_valueize (valueize, _q90);
24241 : 0 : switch (TREE_CODE (_q90))
24242 : : {
24243 : 0 : case SSA_NAME:
24244 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
24245 : : {
24246 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
24247 : 0 : switch (gimple_assign_rhs_code (_a6))
24248 : : {
24249 : 0 : case LT_EXPR:
24250 : 0 : {
24251 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
24252 : 0 : _q100 = do_valueize (valueize, _q100);
24253 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
24254 : 0 : _q101 = do_valueize (valueize, _q101);
24255 : 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
24256 : : {
24257 : 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
24258 : : {
24259 : 0 : {
24260 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
24261 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
24262 : 0 : return true;
24263 : : }
24264 : : }
24265 : : }
24266 : : break;
24267 : : }
24268 : : default:;
24269 : : }
24270 : : }
24271 : : break;
24272 : : default:;
24273 : : }
24274 : : break;
24275 : : }
24276 : : default:;
24277 : : }
24278 : : }
24279 : : break;
24280 : 0 : default:;
24281 : : }
24282 : 0 : switch (TREE_CODE (_q81))
24283 : : {
24284 : 0 : case SSA_NAME:
24285 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
24286 : : {
24287 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
24288 : 0 : switch (gimple_assign_rhs_code (_a5))
24289 : : {
24290 : 0 : CASE_CONVERT:
24291 : 0 : {
24292 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
24293 : 0 : _q100 = do_valueize (valueize, _q100);
24294 : 0 : switch (TREE_CODE (_q100))
24295 : : {
24296 : 0 : case SSA_NAME:
24297 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
24298 : : {
24299 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
24300 : 0 : switch (gimple_assign_rhs_code (_a6))
24301 : : {
24302 : 0 : case LT_EXPR:
24303 : 0 : {
24304 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
24305 : 0 : _q110 = do_valueize (valueize, _q110);
24306 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
24307 : 0 : _q111 = do_valueize (valueize, _q111);
24308 : 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
24309 : : {
24310 : 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
24311 : : {
24312 : 0 : {
24313 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
24314 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
24315 : 0 : return true;
24316 : : }
24317 : : }
24318 : : }
24319 : : break;
24320 : : }
24321 : : default:;
24322 : : }
24323 : : }
24324 : : break;
24325 : : default:;
24326 : : }
24327 : : break;
24328 : : }
24329 : : default:;
24330 : : }
24331 : : }
24332 : : break;
24333 : : default:;
24334 : : }
24335 : 317117 : break;
24336 : : }
24337 : : default:;
24338 : : }
24339 : : }
24340 : : break;
24341 : : default:;
24342 : : }
24343 : : break;
24344 : : }
24345 : 0 : case UNEQ_EXPR:
24346 : 0 : {
24347 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
24348 : 0 : _q50 = do_valueize (valueize, _q50);
24349 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
24350 : 0 : _q51 = do_valueize (valueize, _q51);
24351 : 0 : if (tree_swap_operands_p (_q50, _q51))
24352 : 0 : std::swap (_q50, _q51);
24353 : 0 : switch (TREE_CODE (_p1))
24354 : : {
24355 : 0 : case SSA_NAME:
24356 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
24357 : : {
24358 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
24359 : 0 : switch (gimple_assign_rhs_code (_a4))
24360 : : {
24361 : 0 : case BIT_AND_EXPR:
24362 : 0 : {
24363 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
24364 : 0 : _q80 = do_valueize (valueize, _q80);
24365 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
24366 : 0 : _q81 = do_valueize (valueize, _q81);
24367 : 0 : if (tree_swap_operands_p (_q80, _q81))
24368 : 0 : std::swap (_q80, _q81);
24369 : 0 : switch (TREE_CODE (_q80))
24370 : : {
24371 : 0 : case SSA_NAME:
24372 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
24373 : : {
24374 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
24375 : 0 : switch (gimple_assign_rhs_code (_a5))
24376 : : {
24377 : 0 : CASE_CONVERT:
24378 : 0 : {
24379 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
24380 : 0 : _q90 = do_valueize (valueize, _q90);
24381 : 0 : switch (TREE_CODE (_q90))
24382 : : {
24383 : 0 : case SSA_NAME:
24384 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
24385 : : {
24386 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
24387 : 0 : switch (gimple_assign_rhs_code (_a6))
24388 : : {
24389 : 0 : case LTGT_EXPR:
24390 : 0 : {
24391 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
24392 : 0 : _q100 = do_valueize (valueize, _q100);
24393 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
24394 : 0 : _q101 = do_valueize (valueize, _q101);
24395 : 0 : if (tree_swap_operands_p (_q100, _q101))
24396 : 0 : std::swap (_q100, _q101);
24397 : 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
24398 : : {
24399 : 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
24400 : : {
24401 : 0 : {
24402 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
24403 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
24404 : 0 : return true;
24405 : : }
24406 : : }
24407 : : }
24408 : 0 : break;
24409 : : }
24410 : : default:;
24411 : : }
24412 : : }
24413 : : break;
24414 : : default:;
24415 : : }
24416 : : break;
24417 : : }
24418 : : default:;
24419 : : }
24420 : : }
24421 : : break;
24422 : 0 : default:;
24423 : : }
24424 : 0 : switch (TREE_CODE (_q81))
24425 : : {
24426 : 0 : case SSA_NAME:
24427 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
24428 : : {
24429 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
24430 : 0 : switch (gimple_assign_rhs_code (_a5))
24431 : : {
24432 : 0 : CASE_CONVERT:
24433 : 0 : {
24434 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
24435 : 0 : _q100 = do_valueize (valueize, _q100);
24436 : 0 : switch (TREE_CODE (_q100))
24437 : : {
24438 : 0 : case SSA_NAME:
24439 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
24440 : : {
24441 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
24442 : 0 : switch (gimple_assign_rhs_code (_a6))
24443 : : {
24444 : 0 : case LTGT_EXPR:
24445 : 0 : {
24446 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
24447 : 0 : _q110 = do_valueize (valueize, _q110);
24448 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
24449 : 0 : _q111 = do_valueize (valueize, _q111);
24450 : 0 : if (tree_swap_operands_p (_q110, _q111))
24451 : 0 : std::swap (_q110, _q111);
24452 : 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
24453 : : {
24454 : 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
24455 : : {
24456 : 0 : {
24457 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
24458 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
24459 : 0 : return true;
24460 : : }
24461 : : }
24462 : : }
24463 : 317117 : break;
24464 : : }
24465 : : default:;
24466 : : }
24467 : : }
24468 : : break;
24469 : : default:;
24470 : : }
24471 : : break;
24472 : : }
24473 : : default:;
24474 : : }
24475 : : }
24476 : : break;
24477 : : default:;
24478 : : }
24479 : 317117 : break;
24480 : : }
24481 : : default:;
24482 : : }
24483 : : }
24484 : : break;
24485 : : default:;
24486 : : }
24487 : 317117 : break;
24488 : : }
24489 : 0 : case LTGT_EXPR:
24490 : 0 : {
24491 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
24492 : 0 : _q50 = do_valueize (valueize, _q50);
24493 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
24494 : 0 : _q51 = do_valueize (valueize, _q51);
24495 : 0 : if (tree_swap_operands_p (_q50, _q51))
24496 : 0 : std::swap (_q50, _q51);
24497 : 0 : switch (TREE_CODE (_p1))
24498 : : {
24499 : 0 : case SSA_NAME:
24500 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
24501 : : {
24502 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
24503 : 0 : switch (gimple_assign_rhs_code (_a4))
24504 : : {
24505 : 0 : case BIT_AND_EXPR:
24506 : 0 : {
24507 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
24508 : 0 : _q80 = do_valueize (valueize, _q80);
24509 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
24510 : 0 : _q81 = do_valueize (valueize, _q81);
24511 : 0 : if (tree_swap_operands_p (_q80, _q81))
24512 : 0 : std::swap (_q80, _q81);
24513 : 0 : switch (TREE_CODE (_q80))
24514 : : {
24515 : 0 : case SSA_NAME:
24516 : 0 : if (gimple *_d5 = get_def (valueize, _q80))
24517 : : {
24518 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
24519 : 0 : switch (gimple_assign_rhs_code (_a5))
24520 : : {
24521 : 0 : CASE_CONVERT:
24522 : 0 : {
24523 : 0 : tree _q90 = gimple_assign_rhs1 (_a5);
24524 : 0 : _q90 = do_valueize (valueize, _q90);
24525 : 0 : switch (TREE_CODE (_q90))
24526 : : {
24527 : 0 : case SSA_NAME:
24528 : 0 : if (gimple *_d6 = get_def (valueize, _q90))
24529 : : {
24530 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
24531 : 0 : switch (gimple_assign_rhs_code (_a6))
24532 : : {
24533 : 0 : case UNEQ_EXPR:
24534 : 0 : {
24535 : 0 : tree _q100 = gimple_assign_rhs1 (_a6);
24536 : 0 : _q100 = do_valueize (valueize, _q100);
24537 : 0 : tree _q101 = gimple_assign_rhs2 (_a6);
24538 : 0 : _q101 = do_valueize (valueize, _q101);
24539 : 0 : if (tree_swap_operands_p (_q100, _q101))
24540 : 0 : std::swap (_q100, _q101);
24541 : 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
24542 : : {
24543 : 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
24544 : : {
24545 : 0 : {
24546 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
24547 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
24548 : 0 : return true;
24549 : : }
24550 : : }
24551 : : }
24552 : 0 : break;
24553 : : }
24554 : : default:;
24555 : : }
24556 : : }
24557 : : break;
24558 : : default:;
24559 : : }
24560 : : break;
24561 : : }
24562 : : default:;
24563 : : }
24564 : : }
24565 : : break;
24566 : 0 : default:;
24567 : : }
24568 : 0 : switch (TREE_CODE (_q81))
24569 : : {
24570 : 0 : case SSA_NAME:
24571 : 0 : if (gimple *_d5 = get_def (valueize, _q81))
24572 : : {
24573 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
24574 : 0 : switch (gimple_assign_rhs_code (_a5))
24575 : : {
24576 : 0 : CASE_CONVERT:
24577 : 0 : {
24578 : 0 : tree _q100 = gimple_assign_rhs1 (_a5);
24579 : 0 : _q100 = do_valueize (valueize, _q100);
24580 : 0 : switch (TREE_CODE (_q100))
24581 : : {
24582 : 0 : case SSA_NAME:
24583 : 0 : if (gimple *_d6 = get_def (valueize, _q100))
24584 : : {
24585 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
24586 : 0 : switch (gimple_assign_rhs_code (_a6))
24587 : : {
24588 : 0 : case UNEQ_EXPR:
24589 : 0 : {
24590 : 0 : tree _q110 = gimple_assign_rhs1 (_a6);
24591 : 0 : _q110 = do_valueize (valueize, _q110);
24592 : 0 : tree _q111 = gimple_assign_rhs2 (_a6);
24593 : 0 : _q111 = do_valueize (valueize, _q111);
24594 : 0 : if (tree_swap_operands_p (_q110, _q111))
24595 : 0 : std::swap (_q110, _q111);
24596 : 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
24597 : : {
24598 : 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
24599 : : {
24600 : 0 : {
24601 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
24602 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
24603 : 0 : return true;
24604 : : }
24605 : : }
24606 : : }
24607 : 317117 : break;
24608 : : }
24609 : : default:;
24610 : : }
24611 : : }
24612 : : break;
24613 : : default:;
24614 : : }
24615 : : break;
24616 : : }
24617 : : default:;
24618 : : }
24619 : : }
24620 : : break;
24621 : : default:;
24622 : : }
24623 : 317117 : break;
24624 : : }
24625 : : default:;
24626 : : }
24627 : : }
24628 : : break;
24629 : : default:;
24630 : : }
24631 : 317117 : break;
24632 : : }
24633 : : default:;
24634 : : }
24635 : : }
24636 : : break;
24637 : : default:;
24638 : : }
24639 : : break;
24640 : : }
24641 : : default:;
24642 : : }
24643 : : }
24644 : : break;
24645 : 317117 : default:;
24646 : : }
24647 : 317117 : switch (TREE_CODE (_q20))
24648 : : {
24649 : 317117 : case SSA_NAME:
24650 : 317117 : if (gimple *_d2 = get_def (valueize, _q20))
24651 : : {
24652 : 279220 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
24653 : 259065 : switch (gimple_assign_rhs_code (_a2))
24654 : : {
24655 : 187 : case LT_EXPR:
24656 : 187 : {
24657 : 187 : tree _q30 = gimple_assign_rhs1 (_a2);
24658 : 187 : _q30 = do_valueize (valueize, _q30);
24659 : 187 : tree _q31 = gimple_assign_rhs2 (_a2);
24660 : 187 : _q31 = do_valueize (valueize, _q31);
24661 : 187 : switch (TREE_CODE (_p1))
24662 : : {
24663 : 187 : case SSA_NAME:
24664 : 187 : if (gimple *_d3 = get_def (valueize, _p1))
24665 : : {
24666 : 187 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
24667 : 171 : switch (gimple_assign_rhs_code (_a3))
24668 : : {
24669 : 138 : case BIT_AND_EXPR:
24670 : 138 : {
24671 : 138 : tree _q70 = gimple_assign_rhs1 (_a3);
24672 : 138 : _q70 = do_valueize (valueize, _q70);
24673 : 138 : tree _q71 = gimple_assign_rhs2 (_a3);
24674 : 138 : _q71 = do_valueize (valueize, _q71);
24675 : 138 : if (tree_swap_operands_p (_q70, _q71))
24676 : 0 : std::swap (_q70, _q71);
24677 : 138 : switch (TREE_CODE (_q70))
24678 : : {
24679 : 138 : case SSA_NAME:
24680 : 138 : if (gimple *_d4 = get_def (valueize, _q70))
24681 : : {
24682 : 138 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
24683 : 138 : switch (gimple_assign_rhs_code (_a4))
24684 : : {
24685 : 4 : case GE_EXPR:
24686 : 4 : {
24687 : 4 : tree _q80 = gimple_assign_rhs1 (_a4);
24688 : 4 : _q80 = do_valueize (valueize, _q80);
24689 : 4 : tree _q81 = gimple_assign_rhs2 (_a4);
24690 : 4 : _q81 = do_valueize (valueize, _q81);
24691 : 4 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
24692 : : {
24693 : 4 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
24694 : : {
24695 : 4 : {
24696 : 4 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
24697 : 4 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
24698 : 0 : return true;
24699 : : }
24700 : : }
24701 : : }
24702 : : break;
24703 : : }
24704 : : default:;
24705 : : }
24706 : : }
24707 : : break;
24708 : 138 : default:;
24709 : : }
24710 : 138 : switch (TREE_CODE (_q71))
24711 : : {
24712 : 138 : case SSA_NAME:
24713 : 138 : if (gimple *_d4 = get_def (valueize, _q71))
24714 : : {
24715 : 138 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
24716 : 136 : switch (gimple_assign_rhs_code (_a4))
24717 : : {
24718 : 1 : case GE_EXPR:
24719 : 1 : {
24720 : 1 : tree _q90 = gimple_assign_rhs1 (_a4);
24721 : 1 : _q90 = do_valueize (valueize, _q90);
24722 : 1 : tree _q91 = gimple_assign_rhs2 (_a4);
24723 : 1 : _q91 = do_valueize (valueize, _q91);
24724 : 1 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
24725 : : {
24726 : 1 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
24727 : : {
24728 : 1 : {
24729 : 1 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
24730 : 1 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
24731 : 0 : return true;
24732 : : }
24733 : : }
24734 : : }
24735 : : break;
24736 : : }
24737 : : default:;
24738 : : }
24739 : : }
24740 : : break;
24741 : : default:;
24742 : : }
24743 : 317096 : break;
24744 : : }
24745 : : default:;
24746 : : }
24747 : : }
24748 : : break;
24749 : : default:;
24750 : : }
24751 : : break;
24752 : : }
24753 : 378 : case LE_EXPR:
24754 : 378 : {
24755 : 378 : tree _q30 = gimple_assign_rhs1 (_a2);
24756 : 378 : _q30 = do_valueize (valueize, _q30);
24757 : 378 : tree _q31 = gimple_assign_rhs2 (_a2);
24758 : 378 : _q31 = do_valueize (valueize, _q31);
24759 : 378 : switch (TREE_CODE (_p1))
24760 : : {
24761 : 378 : case SSA_NAME:
24762 : 378 : if (gimple *_d3 = get_def (valueize, _p1))
24763 : : {
24764 : 376 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
24765 : 360 : switch (gimple_assign_rhs_code (_a3))
24766 : : {
24767 : 309 : case BIT_AND_EXPR:
24768 : 309 : {
24769 : 309 : tree _q70 = gimple_assign_rhs1 (_a3);
24770 : 309 : _q70 = do_valueize (valueize, _q70);
24771 : 309 : tree _q71 = gimple_assign_rhs2 (_a3);
24772 : 309 : _q71 = do_valueize (valueize, _q71);
24773 : 309 : if (tree_swap_operands_p (_q70, _q71))
24774 : 0 : std::swap (_q70, _q71);
24775 : 309 : switch (TREE_CODE (_q70))
24776 : : {
24777 : 309 : case SSA_NAME:
24778 : 309 : if (gimple *_d4 = get_def (valueize, _q70))
24779 : : {
24780 : 309 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
24781 : 309 : switch (gimple_assign_rhs_code (_a4))
24782 : : {
24783 : 2 : case GT_EXPR:
24784 : 2 : {
24785 : 2 : tree _q80 = gimple_assign_rhs1 (_a4);
24786 : 2 : _q80 = do_valueize (valueize, _q80);
24787 : 2 : tree _q81 = gimple_assign_rhs2 (_a4);
24788 : 2 : _q81 = do_valueize (valueize, _q81);
24789 : 2 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
24790 : : {
24791 : 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
24792 : : {
24793 : 0 : {
24794 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
24795 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
24796 : 0 : return true;
24797 : : }
24798 : : }
24799 : : }
24800 : : break;
24801 : : }
24802 : : default:;
24803 : : }
24804 : : }
24805 : : break;
24806 : 309 : default:;
24807 : : }
24808 : 309 : switch (TREE_CODE (_q71))
24809 : : {
24810 : 309 : case SSA_NAME:
24811 : 309 : if (gimple *_d4 = get_def (valueize, _q71))
24812 : : {
24813 : 309 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
24814 : 309 : switch (gimple_assign_rhs_code (_a4))
24815 : : {
24816 : 26 : case GT_EXPR:
24817 : 26 : {
24818 : 26 : tree _q90 = gimple_assign_rhs1 (_a4);
24819 : 26 : _q90 = do_valueize (valueize, _q90);
24820 : 26 : tree _q91 = gimple_assign_rhs2 (_a4);
24821 : 26 : _q91 = do_valueize (valueize, _q91);
24822 : 26 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
24823 : : {
24824 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
24825 : : {
24826 : 0 : {
24827 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
24828 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
24829 : 0 : return true;
24830 : : }
24831 : : }
24832 : : }
24833 : : break;
24834 : : }
24835 : : default:;
24836 : : }
24837 : : }
24838 : : break;
24839 : : default:;
24840 : : }
24841 : 317096 : break;
24842 : : }
24843 : : default:;
24844 : : }
24845 : : }
24846 : : break;
24847 : : default:;
24848 : : }
24849 : : break;
24850 : : }
24851 : 490 : case EQ_EXPR:
24852 : 490 : {
24853 : 490 : tree _q30 = gimple_assign_rhs1 (_a2);
24854 : 490 : _q30 = do_valueize (valueize, _q30);
24855 : 490 : tree _q31 = gimple_assign_rhs2 (_a2);
24856 : 490 : _q31 = do_valueize (valueize, _q31);
24857 : 490 : if (tree_swap_operands_p (_q30, _q31))
24858 : 0 : std::swap (_q30, _q31);
24859 : 490 : switch (TREE_CODE (_p1))
24860 : : {
24861 : 490 : case SSA_NAME:
24862 : 490 : if (gimple *_d3 = get_def (valueize, _p1))
24863 : : {
24864 : 488 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
24865 : 445 : switch (gimple_assign_rhs_code (_a3))
24866 : : {
24867 : 300 : case BIT_AND_EXPR:
24868 : 300 : {
24869 : 300 : tree _q70 = gimple_assign_rhs1 (_a3);
24870 : 300 : _q70 = do_valueize (valueize, _q70);
24871 : 300 : tree _q71 = gimple_assign_rhs2 (_a3);
24872 : 300 : _q71 = do_valueize (valueize, _q71);
24873 : 300 : if (tree_swap_operands_p (_q70, _q71))
24874 : 3 : std::swap (_q70, _q71);
24875 : 300 : switch (TREE_CODE (_q70))
24876 : : {
24877 : 300 : case SSA_NAME:
24878 : 300 : if (gimple *_d4 = get_def (valueize, _q70))
24879 : : {
24880 : 300 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
24881 : 306 : switch (gimple_assign_rhs_code (_a4))
24882 : : {
24883 : 11 : case NE_EXPR:
24884 : 11 : {
24885 : 11 : tree _q80 = gimple_assign_rhs1 (_a4);
24886 : 11 : _q80 = do_valueize (valueize, _q80);
24887 : 11 : tree _q81 = gimple_assign_rhs2 (_a4);
24888 : 11 : _q81 = do_valueize (valueize, _q81);
24889 : 11 : if (tree_swap_operands_p (_q80, _q81))
24890 : 0 : std::swap (_q80, _q81);
24891 : 11 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
24892 : : {
24893 : 6 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
24894 : : {
24895 : 6 : {
24896 : 6 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
24897 : 6 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
24898 : 0 : return true;
24899 : : }
24900 : : }
24901 : : }
24902 : 300 : break;
24903 : : }
24904 : : default:;
24905 : : }
24906 : : }
24907 : : break;
24908 : 300 : default:;
24909 : : }
24910 : 300 : switch (TREE_CODE (_q71))
24911 : : {
24912 : 300 : case SSA_NAME:
24913 : 300 : if (gimple *_d4 = get_def (valueize, _q71))
24914 : : {
24915 : 300 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
24916 : 390 : switch (gimple_assign_rhs_code (_a4))
24917 : : {
24918 : 106 : case NE_EXPR:
24919 : 106 : {
24920 : 106 : tree _q90 = gimple_assign_rhs1 (_a4);
24921 : 106 : _q90 = do_valueize (valueize, _q90);
24922 : 106 : tree _q91 = gimple_assign_rhs2 (_a4);
24923 : 106 : _q91 = do_valueize (valueize, _q91);
24924 : 106 : if (tree_swap_operands_p (_q90, _q91))
24925 : 0 : std::swap (_q90, _q91);
24926 : 106 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
24927 : : {
24928 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
24929 : : {
24930 : 0 : {
24931 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
24932 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
24933 : 0 : return true;
24934 : : }
24935 : : }
24936 : : }
24937 : 317096 : break;
24938 : : }
24939 : : default:;
24940 : : }
24941 : : }
24942 : : break;
24943 : : default:;
24944 : : }
24945 : 317096 : break;
24946 : : }
24947 : : default:;
24948 : : }
24949 : : }
24950 : : break;
24951 : : default:;
24952 : : }
24953 : 317096 : break;
24954 : : }
24955 : 2484 : case NE_EXPR:
24956 : 2484 : {
24957 : 2484 : tree _q30 = gimple_assign_rhs1 (_a2);
24958 : 2484 : _q30 = do_valueize (valueize, _q30);
24959 : 2484 : tree _q31 = gimple_assign_rhs2 (_a2);
24960 : 2484 : _q31 = do_valueize (valueize, _q31);
24961 : 2484 : if (tree_swap_operands_p (_q30, _q31))
24962 : 0 : std::swap (_q30, _q31);
24963 : 2484 : switch (TREE_CODE (_p1))
24964 : : {
24965 : 2484 : case SSA_NAME:
24966 : 2484 : if (gimple *_d3 = get_def (valueize, _p1))
24967 : : {
24968 : 2484 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
24969 : 2483 : switch (gimple_assign_rhs_code (_a3))
24970 : : {
24971 : 1658 : case BIT_AND_EXPR:
24972 : 1658 : {
24973 : 1658 : tree _q70 = gimple_assign_rhs1 (_a3);
24974 : 1658 : _q70 = do_valueize (valueize, _q70);
24975 : 1658 : tree _q71 = gimple_assign_rhs2 (_a3);
24976 : 1658 : _q71 = do_valueize (valueize, _q71);
24977 : 1658 : if (tree_swap_operands_p (_q70, _q71))
24978 : 28 : std::swap (_q70, _q71);
24979 : 1658 : switch (TREE_CODE (_q70))
24980 : : {
24981 : 1658 : case SSA_NAME:
24982 : 1658 : if (gimple *_d4 = get_def (valueize, _q70))
24983 : : {
24984 : 1658 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
24985 : 1658 : switch (gimple_assign_rhs_code (_a4))
24986 : : {
24987 : 53 : case EQ_EXPR:
24988 : 53 : {
24989 : 53 : tree _q80 = gimple_assign_rhs1 (_a4);
24990 : 53 : _q80 = do_valueize (valueize, _q80);
24991 : 53 : tree _q81 = gimple_assign_rhs2 (_a4);
24992 : 53 : _q81 = do_valueize (valueize, _q81);
24993 : 53 : if (tree_swap_operands_p (_q80, _q81))
24994 : 0 : std::swap (_q80, _q81);
24995 : 53 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
24996 : : {
24997 : 42 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
24998 : : {
24999 : 42 : {
25000 : 42 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
25001 : 42 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
25002 : 15 : return true;
25003 : : }
25004 : : }
25005 : : }
25006 : 1643 : break;
25007 : : }
25008 : : default:;
25009 : : }
25010 : : }
25011 : : break;
25012 : 1643 : default:;
25013 : : }
25014 : 1643 : switch (TREE_CODE (_q71))
25015 : : {
25016 : 1643 : case SSA_NAME:
25017 : 1643 : if (gimple *_d4 = get_def (valueize, _q71))
25018 : : {
25019 : 1643 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
25020 : 1643 : switch (gimple_assign_rhs_code (_a4))
25021 : : {
25022 : 1441 : case EQ_EXPR:
25023 : 1441 : {
25024 : 1441 : tree _q90 = gimple_assign_rhs1 (_a4);
25025 : 1441 : _q90 = do_valueize (valueize, _q90);
25026 : 1441 : tree _q91 = gimple_assign_rhs2 (_a4);
25027 : 1441 : _q91 = do_valueize (valueize, _q91);
25028 : 1441 : if (tree_swap_operands_p (_q90, _q91))
25029 : 0 : std::swap (_q90, _q91);
25030 : 1441 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
25031 : : {
25032 : 89 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
25033 : : {
25034 : 89 : {
25035 : 89 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
25036 : 89 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
25037 : 6 : return true;
25038 : : }
25039 : : }
25040 : : }
25041 : 317096 : break;
25042 : : }
25043 : : default:;
25044 : : }
25045 : : }
25046 : : break;
25047 : : default:;
25048 : : }
25049 : 317096 : break;
25050 : : }
25051 : : default:;
25052 : : }
25053 : : }
25054 : : break;
25055 : : default:;
25056 : : }
25057 : 317096 : break;
25058 : : }
25059 : 478 : case GE_EXPR:
25060 : 478 : {
25061 : 478 : tree _q30 = gimple_assign_rhs1 (_a2);
25062 : 478 : _q30 = do_valueize (valueize, _q30);
25063 : 478 : tree _q31 = gimple_assign_rhs2 (_a2);
25064 : 478 : _q31 = do_valueize (valueize, _q31);
25065 : 478 : switch (TREE_CODE (_p1))
25066 : : {
25067 : 478 : case SSA_NAME:
25068 : 478 : if (gimple *_d3 = get_def (valueize, _p1))
25069 : : {
25070 : 478 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
25071 : 478 : switch (gimple_assign_rhs_code (_a3))
25072 : : {
25073 : 26 : case BIT_AND_EXPR:
25074 : 26 : {
25075 : 26 : tree _q70 = gimple_assign_rhs1 (_a3);
25076 : 26 : _q70 = do_valueize (valueize, _q70);
25077 : 26 : tree _q71 = gimple_assign_rhs2 (_a3);
25078 : 26 : _q71 = do_valueize (valueize, _q71);
25079 : 26 : if (tree_swap_operands_p (_q70, _q71))
25080 : 0 : std::swap (_q70, _q71);
25081 : 26 : switch (TREE_CODE (_q70))
25082 : : {
25083 : 26 : case SSA_NAME:
25084 : 26 : if (gimple *_d4 = get_def (valueize, _q70))
25085 : : {
25086 : 26 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
25087 : 26 : switch (gimple_assign_rhs_code (_a4))
25088 : : {
25089 : 0 : case LT_EXPR:
25090 : 0 : {
25091 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
25092 : 0 : _q80 = do_valueize (valueize, _q80);
25093 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
25094 : 0 : _q81 = do_valueize (valueize, _q81);
25095 : 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
25096 : : {
25097 : 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
25098 : : {
25099 : 0 : {
25100 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
25101 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
25102 : 0 : return true;
25103 : : }
25104 : : }
25105 : : }
25106 : : break;
25107 : : }
25108 : : default:;
25109 : : }
25110 : : }
25111 : : break;
25112 : 26 : default:;
25113 : : }
25114 : 26 : switch (TREE_CODE (_q71))
25115 : : {
25116 : 26 : case SSA_NAME:
25117 : 26 : if (gimple *_d4 = get_def (valueize, _q71))
25118 : : {
25119 : 26 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
25120 : 26 : switch (gimple_assign_rhs_code (_a4))
25121 : : {
25122 : 0 : case LT_EXPR:
25123 : 0 : {
25124 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
25125 : 0 : _q90 = do_valueize (valueize, _q90);
25126 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
25127 : 0 : _q91 = do_valueize (valueize, _q91);
25128 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
25129 : : {
25130 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
25131 : : {
25132 : 0 : {
25133 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
25134 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
25135 : 0 : return true;
25136 : : }
25137 : : }
25138 : : }
25139 : : break;
25140 : : }
25141 : : default:;
25142 : : }
25143 : : }
25144 : : break;
25145 : : default:;
25146 : : }
25147 : 317096 : break;
25148 : : }
25149 : : default:;
25150 : : }
25151 : : }
25152 : : break;
25153 : : default:;
25154 : : }
25155 : : break;
25156 : : }
25157 : 129 : case GT_EXPR:
25158 : 129 : {
25159 : 129 : tree _q30 = gimple_assign_rhs1 (_a2);
25160 : 129 : _q30 = do_valueize (valueize, _q30);
25161 : 129 : tree _q31 = gimple_assign_rhs2 (_a2);
25162 : 129 : _q31 = do_valueize (valueize, _q31);
25163 : 129 : switch (TREE_CODE (_p1))
25164 : : {
25165 : 129 : case SSA_NAME:
25166 : 129 : if (gimple *_d3 = get_def (valueize, _p1))
25167 : : {
25168 : 129 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
25169 : 113 : switch (gimple_assign_rhs_code (_a3))
25170 : : {
25171 : 99 : case BIT_AND_EXPR:
25172 : 99 : {
25173 : 99 : tree _q70 = gimple_assign_rhs1 (_a3);
25174 : 99 : _q70 = do_valueize (valueize, _q70);
25175 : 99 : tree _q71 = gimple_assign_rhs2 (_a3);
25176 : 99 : _q71 = do_valueize (valueize, _q71);
25177 : 99 : if (tree_swap_operands_p (_q70, _q71))
25178 : 0 : std::swap (_q70, _q71);
25179 : 99 : switch (TREE_CODE (_q70))
25180 : : {
25181 : 99 : case SSA_NAME:
25182 : 99 : if (gimple *_d4 = get_def (valueize, _q70))
25183 : : {
25184 : 99 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
25185 : 99 : switch (gimple_assign_rhs_code (_a4))
25186 : : {
25187 : 2 : case LE_EXPR:
25188 : 2 : {
25189 : 2 : tree _q80 = gimple_assign_rhs1 (_a4);
25190 : 2 : _q80 = do_valueize (valueize, _q80);
25191 : 2 : tree _q81 = gimple_assign_rhs2 (_a4);
25192 : 2 : _q81 = do_valueize (valueize, _q81);
25193 : 2 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
25194 : : {
25195 : 2 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
25196 : : {
25197 : 0 : {
25198 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
25199 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
25200 : 0 : return true;
25201 : : }
25202 : : }
25203 : : }
25204 : : break;
25205 : : }
25206 : : default:;
25207 : : }
25208 : : }
25209 : : break;
25210 : 99 : default:;
25211 : : }
25212 : 99 : switch (TREE_CODE (_q71))
25213 : : {
25214 : 99 : case SSA_NAME:
25215 : 99 : if (gimple *_d4 = get_def (valueize, _q71))
25216 : : {
25217 : 99 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
25218 : 99 : switch (gimple_assign_rhs_code (_a4))
25219 : : {
25220 : 6 : case LE_EXPR:
25221 : 6 : {
25222 : 6 : tree _q90 = gimple_assign_rhs1 (_a4);
25223 : 6 : _q90 = do_valueize (valueize, _q90);
25224 : 6 : tree _q91 = gimple_assign_rhs2 (_a4);
25225 : 6 : _q91 = do_valueize (valueize, _q91);
25226 : 6 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
25227 : : {
25228 : 1 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
25229 : : {
25230 : 0 : {
25231 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
25232 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
25233 : 0 : return true;
25234 : : }
25235 : : }
25236 : : }
25237 : : break;
25238 : : }
25239 : : default:;
25240 : : }
25241 : : }
25242 : : break;
25243 : : default:;
25244 : : }
25245 : 317096 : break;
25246 : : }
25247 : : default:;
25248 : : }
25249 : : }
25250 : : break;
25251 : : default:;
25252 : : }
25253 : : break;
25254 : : }
25255 : 0 : case UNORDERED_EXPR:
25256 : 0 : {
25257 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
25258 : 0 : _q30 = do_valueize (valueize, _q30);
25259 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
25260 : 0 : _q31 = do_valueize (valueize, _q31);
25261 : 0 : if (tree_swap_operands_p (_q30, _q31))
25262 : 0 : std::swap (_q30, _q31);
25263 : 0 : switch (TREE_CODE (_p1))
25264 : : {
25265 : 0 : case SSA_NAME:
25266 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
25267 : : {
25268 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
25269 : 0 : switch (gimple_assign_rhs_code (_a3))
25270 : : {
25271 : 0 : case BIT_AND_EXPR:
25272 : 0 : {
25273 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
25274 : 0 : _q70 = do_valueize (valueize, _q70);
25275 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
25276 : 0 : _q71 = do_valueize (valueize, _q71);
25277 : 0 : if (tree_swap_operands_p (_q70, _q71))
25278 : 0 : std::swap (_q70, _q71);
25279 : 0 : switch (TREE_CODE (_q70))
25280 : : {
25281 : 0 : case SSA_NAME:
25282 : 0 : if (gimple *_d4 = get_def (valueize, _q70))
25283 : : {
25284 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
25285 : 0 : switch (gimple_assign_rhs_code (_a4))
25286 : : {
25287 : 0 : case ORDERED_EXPR:
25288 : 0 : {
25289 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
25290 : 0 : _q80 = do_valueize (valueize, _q80);
25291 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
25292 : 0 : _q81 = do_valueize (valueize, _q81);
25293 : 0 : if (tree_swap_operands_p (_q80, _q81))
25294 : 0 : std::swap (_q80, _q81);
25295 : 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
25296 : : {
25297 : 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
25298 : : {
25299 : 0 : {
25300 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
25301 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
25302 : 0 : return true;
25303 : : }
25304 : : }
25305 : : }
25306 : 0 : break;
25307 : : }
25308 : : default:;
25309 : : }
25310 : : }
25311 : : break;
25312 : 0 : default:;
25313 : : }
25314 : 0 : switch (TREE_CODE (_q71))
25315 : : {
25316 : 0 : case SSA_NAME:
25317 : 0 : if (gimple *_d4 = get_def (valueize, _q71))
25318 : : {
25319 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
25320 : 0 : switch (gimple_assign_rhs_code (_a4))
25321 : : {
25322 : 0 : case ORDERED_EXPR:
25323 : 0 : {
25324 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
25325 : 0 : _q90 = do_valueize (valueize, _q90);
25326 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
25327 : 0 : _q91 = do_valueize (valueize, _q91);
25328 : 0 : if (tree_swap_operands_p (_q90, _q91))
25329 : 0 : std::swap (_q90, _q91);
25330 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
25331 : : {
25332 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
25333 : : {
25334 : 0 : {
25335 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
25336 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
25337 : 0 : return true;
25338 : : }
25339 : : }
25340 : : }
25341 : 317096 : break;
25342 : : }
25343 : : default:;
25344 : : }
25345 : : }
25346 : : break;
25347 : : default:;
25348 : : }
25349 : 317096 : break;
25350 : : }
25351 : : default:;
25352 : : }
25353 : : }
25354 : : break;
25355 : : default:;
25356 : : }
25357 : 317096 : break;
25358 : : }
25359 : 0 : case ORDERED_EXPR:
25360 : 0 : {
25361 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
25362 : 0 : _q30 = do_valueize (valueize, _q30);
25363 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
25364 : 0 : _q31 = do_valueize (valueize, _q31);
25365 : 0 : if (tree_swap_operands_p (_q30, _q31))
25366 : 0 : std::swap (_q30, _q31);
25367 : 0 : switch (TREE_CODE (_p1))
25368 : : {
25369 : 0 : case SSA_NAME:
25370 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
25371 : : {
25372 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
25373 : 0 : switch (gimple_assign_rhs_code (_a3))
25374 : : {
25375 : 0 : case BIT_AND_EXPR:
25376 : 0 : {
25377 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
25378 : 0 : _q70 = do_valueize (valueize, _q70);
25379 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
25380 : 0 : _q71 = do_valueize (valueize, _q71);
25381 : 0 : if (tree_swap_operands_p (_q70, _q71))
25382 : 0 : std::swap (_q70, _q71);
25383 : 0 : switch (TREE_CODE (_q70))
25384 : : {
25385 : 0 : case SSA_NAME:
25386 : 0 : if (gimple *_d4 = get_def (valueize, _q70))
25387 : : {
25388 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
25389 : 0 : switch (gimple_assign_rhs_code (_a4))
25390 : : {
25391 : 0 : case UNORDERED_EXPR:
25392 : 0 : {
25393 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
25394 : 0 : _q80 = do_valueize (valueize, _q80);
25395 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
25396 : 0 : _q81 = do_valueize (valueize, _q81);
25397 : 0 : if (tree_swap_operands_p (_q80, _q81))
25398 : 0 : std::swap (_q80, _q81);
25399 : 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
25400 : : {
25401 : 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
25402 : : {
25403 : 0 : {
25404 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
25405 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
25406 : 0 : return true;
25407 : : }
25408 : : }
25409 : : }
25410 : 0 : break;
25411 : : }
25412 : : default:;
25413 : : }
25414 : : }
25415 : : break;
25416 : 0 : default:;
25417 : : }
25418 : 0 : switch (TREE_CODE (_q71))
25419 : : {
25420 : 0 : case SSA_NAME:
25421 : 0 : if (gimple *_d4 = get_def (valueize, _q71))
25422 : : {
25423 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
25424 : 0 : switch (gimple_assign_rhs_code (_a4))
25425 : : {
25426 : 0 : case UNORDERED_EXPR:
25427 : 0 : {
25428 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
25429 : 0 : _q90 = do_valueize (valueize, _q90);
25430 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
25431 : 0 : _q91 = do_valueize (valueize, _q91);
25432 : 0 : if (tree_swap_operands_p (_q90, _q91))
25433 : 0 : std::swap (_q90, _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_156 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
25441 : 0 : return true;
25442 : : }
25443 : : }
25444 : : }
25445 : 317096 : break;
25446 : : }
25447 : : default:;
25448 : : }
25449 : : }
25450 : : break;
25451 : : default:;
25452 : : }
25453 : 317096 : break;
25454 : : }
25455 : : default:;
25456 : : }
25457 : : }
25458 : : break;
25459 : : default:;
25460 : : }
25461 : 317096 : break;
25462 : : }
25463 : 0 : case UNLT_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 GE_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_156 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_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 GE_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_156 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR))
25539 : 0 : return true;
25540 : : }
25541 : : }
25542 : : }
25543 : : break;
25544 : : }
25545 : : default:;
25546 : : }
25547 : : }
25548 : : break;
25549 : : default:;
25550 : : }
25551 : 317096 : break;
25552 : : }
25553 : : default:;
25554 : : }
25555 : : }
25556 : : break;
25557 : : default:;
25558 : : }
25559 : : break;
25560 : : }
25561 : 0 : case UNLE_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 : switch (TREE_CODE (_p1))
25568 : : {
25569 : 0 : case SSA_NAME:
25570 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
25571 : : {
25572 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
25573 : 0 : switch (gimple_assign_rhs_code (_a3))
25574 : : {
25575 : 0 : case BIT_AND_EXPR:
25576 : 0 : {
25577 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
25578 : 0 : _q70 = do_valueize (valueize, _q70);
25579 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
25580 : 0 : _q71 = do_valueize (valueize, _q71);
25581 : 0 : if (tree_swap_operands_p (_q70, _q71))
25582 : 0 : std::swap (_q70, _q71);
25583 : 0 : switch (TREE_CODE (_q70))
25584 : : {
25585 : 0 : case SSA_NAME:
25586 : 0 : if (gimple *_d4 = get_def (valueize, _q70))
25587 : : {
25588 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
25589 : 0 : switch (gimple_assign_rhs_code (_a4))
25590 : : {
25591 : 0 : case GT_EXPR:
25592 : 0 : {
25593 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
25594 : 0 : _q80 = do_valueize (valueize, _q80);
25595 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
25596 : 0 : _q81 = do_valueize (valueize, _q81);
25597 : 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
25598 : : {
25599 : 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
25600 : : {
25601 : 0 : {
25602 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
25603 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
25604 : 0 : return true;
25605 : : }
25606 : : }
25607 : : }
25608 : : break;
25609 : : }
25610 : : default:;
25611 : : }
25612 : : }
25613 : : break;
25614 : 0 : default:;
25615 : : }
25616 : 0 : switch (TREE_CODE (_q71))
25617 : : {
25618 : 0 : case SSA_NAME:
25619 : 0 : if (gimple *_d4 = get_def (valueize, _q71))
25620 : : {
25621 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
25622 : 0 : switch (gimple_assign_rhs_code (_a4))
25623 : : {
25624 : 0 : case GT_EXPR:
25625 : 0 : {
25626 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
25627 : 0 : _q90 = do_valueize (valueize, _q90);
25628 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
25629 : 0 : _q91 = do_valueize (valueize, _q91);
25630 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
25631 : : {
25632 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
25633 : : {
25634 : 0 : {
25635 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
25636 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
25637 : 0 : return true;
25638 : : }
25639 : : }
25640 : : }
25641 : : break;
25642 : : }
25643 : : default:;
25644 : : }
25645 : : }
25646 : : break;
25647 : : default:;
25648 : : }
25649 : 317096 : break;
25650 : : }
25651 : : default:;
25652 : : }
25653 : : }
25654 : : break;
25655 : : default:;
25656 : : }
25657 : : break;
25658 : : }
25659 : 0 : case UNGT_EXPR:
25660 : 0 : {
25661 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
25662 : 0 : _q30 = do_valueize (valueize, _q30);
25663 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
25664 : 0 : _q31 = do_valueize (valueize, _q31);
25665 : 0 : switch (TREE_CODE (_p1))
25666 : : {
25667 : 0 : case SSA_NAME:
25668 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
25669 : : {
25670 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
25671 : 0 : switch (gimple_assign_rhs_code (_a3))
25672 : : {
25673 : 0 : case BIT_AND_EXPR:
25674 : 0 : {
25675 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
25676 : 0 : _q70 = do_valueize (valueize, _q70);
25677 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
25678 : 0 : _q71 = do_valueize (valueize, _q71);
25679 : 0 : if (tree_swap_operands_p (_q70, _q71))
25680 : 0 : std::swap (_q70, _q71);
25681 : 0 : switch (TREE_CODE (_q70))
25682 : : {
25683 : 0 : case SSA_NAME:
25684 : 0 : if (gimple *_d4 = get_def (valueize, _q70))
25685 : : {
25686 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
25687 : 0 : switch (gimple_assign_rhs_code (_a4))
25688 : : {
25689 : 0 : case LE_EXPR:
25690 : 0 : {
25691 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
25692 : 0 : _q80 = do_valueize (valueize, _q80);
25693 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
25694 : 0 : _q81 = do_valueize (valueize, _q81);
25695 : 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
25696 : : {
25697 : 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
25698 : : {
25699 : 0 : {
25700 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
25701 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
25702 : 0 : return true;
25703 : : }
25704 : : }
25705 : : }
25706 : : break;
25707 : : }
25708 : : default:;
25709 : : }
25710 : : }
25711 : : break;
25712 : 0 : default:;
25713 : : }
25714 : 0 : switch (TREE_CODE (_q71))
25715 : : {
25716 : 0 : case SSA_NAME:
25717 : 0 : if (gimple *_d4 = get_def (valueize, _q71))
25718 : : {
25719 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
25720 : 0 : switch (gimple_assign_rhs_code (_a4))
25721 : : {
25722 : 0 : case LE_EXPR:
25723 : 0 : {
25724 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
25725 : 0 : _q90 = do_valueize (valueize, _q90);
25726 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
25727 : 0 : _q91 = do_valueize (valueize, _q91);
25728 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
25729 : : {
25730 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
25731 : : {
25732 : 0 : {
25733 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
25734 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
25735 : 0 : return true;
25736 : : }
25737 : : }
25738 : : }
25739 : : break;
25740 : : }
25741 : : default:;
25742 : : }
25743 : : }
25744 : : break;
25745 : : default:;
25746 : : }
25747 : 317096 : break;
25748 : : }
25749 : : default:;
25750 : : }
25751 : : }
25752 : : break;
25753 : : default:;
25754 : : }
25755 : : break;
25756 : : }
25757 : 0 : case UNGE_EXPR:
25758 : 0 : {
25759 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
25760 : 0 : _q30 = do_valueize (valueize, _q30);
25761 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
25762 : 0 : _q31 = do_valueize (valueize, _q31);
25763 : 0 : switch (TREE_CODE (_p1))
25764 : : {
25765 : 0 : case SSA_NAME:
25766 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
25767 : : {
25768 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
25769 : 0 : switch (gimple_assign_rhs_code (_a3))
25770 : : {
25771 : 0 : case BIT_AND_EXPR:
25772 : 0 : {
25773 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
25774 : 0 : _q70 = do_valueize (valueize, _q70);
25775 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
25776 : 0 : _q71 = do_valueize (valueize, _q71);
25777 : 0 : if (tree_swap_operands_p (_q70, _q71))
25778 : 0 : std::swap (_q70, _q71);
25779 : 0 : switch (TREE_CODE (_q70))
25780 : : {
25781 : 0 : case SSA_NAME:
25782 : 0 : if (gimple *_d4 = get_def (valueize, _q70))
25783 : : {
25784 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
25785 : 0 : switch (gimple_assign_rhs_code (_a4))
25786 : : {
25787 : 0 : case LT_EXPR:
25788 : 0 : {
25789 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
25790 : 0 : _q80 = do_valueize (valueize, _q80);
25791 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
25792 : 0 : _q81 = do_valueize (valueize, _q81);
25793 : 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
25794 : : {
25795 : 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
25796 : : {
25797 : 0 : {
25798 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
25799 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
25800 : 0 : return true;
25801 : : }
25802 : : }
25803 : : }
25804 : : break;
25805 : : }
25806 : : default:;
25807 : : }
25808 : : }
25809 : : break;
25810 : 0 : default:;
25811 : : }
25812 : 0 : switch (TREE_CODE (_q71))
25813 : : {
25814 : 0 : case SSA_NAME:
25815 : 0 : if (gimple *_d4 = get_def (valueize, _q71))
25816 : : {
25817 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
25818 : 0 : switch (gimple_assign_rhs_code (_a4))
25819 : : {
25820 : 0 : case LT_EXPR:
25821 : 0 : {
25822 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
25823 : 0 : _q90 = do_valueize (valueize, _q90);
25824 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
25825 : 0 : _q91 = do_valueize (valueize, _q91);
25826 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
25827 : : {
25828 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
25829 : : {
25830 : 0 : {
25831 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
25832 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
25833 : 0 : return true;
25834 : : }
25835 : : }
25836 : : }
25837 : : break;
25838 : : }
25839 : : default:;
25840 : : }
25841 : : }
25842 : : break;
25843 : : default:;
25844 : : }
25845 : 317096 : break;
25846 : : }
25847 : : default:;
25848 : : }
25849 : : }
25850 : : break;
25851 : : default:;
25852 : : }
25853 : : break;
25854 : : }
25855 : 0 : case UNEQ_EXPR:
25856 : 0 : {
25857 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
25858 : 0 : _q30 = do_valueize (valueize, _q30);
25859 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
25860 : 0 : _q31 = do_valueize (valueize, _q31);
25861 : 0 : if (tree_swap_operands_p (_q30, _q31))
25862 : 0 : std::swap (_q30, _q31);
25863 : 0 : switch (TREE_CODE (_p1))
25864 : : {
25865 : 0 : case SSA_NAME:
25866 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
25867 : : {
25868 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
25869 : 0 : switch (gimple_assign_rhs_code (_a3))
25870 : : {
25871 : 0 : case BIT_AND_EXPR:
25872 : 0 : {
25873 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
25874 : 0 : _q70 = do_valueize (valueize, _q70);
25875 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
25876 : 0 : _q71 = do_valueize (valueize, _q71);
25877 : 0 : if (tree_swap_operands_p (_q70, _q71))
25878 : 0 : std::swap (_q70, _q71);
25879 : 0 : switch (TREE_CODE (_q70))
25880 : : {
25881 : 0 : case SSA_NAME:
25882 : 0 : if (gimple *_d4 = get_def (valueize, _q70))
25883 : : {
25884 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
25885 : 0 : switch (gimple_assign_rhs_code (_a4))
25886 : : {
25887 : 0 : case LTGT_EXPR:
25888 : 0 : {
25889 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
25890 : 0 : _q80 = do_valueize (valueize, _q80);
25891 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
25892 : 0 : _q81 = do_valueize (valueize, _q81);
25893 : 0 : if (tree_swap_operands_p (_q80, _q81))
25894 : 0 : std::swap (_q80, _q81);
25895 : 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
25896 : : {
25897 : 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
25898 : : {
25899 : 0 : {
25900 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
25901 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
25902 : 0 : return true;
25903 : : }
25904 : : }
25905 : : }
25906 : 0 : break;
25907 : : }
25908 : : default:;
25909 : : }
25910 : : }
25911 : : break;
25912 : 0 : default:;
25913 : : }
25914 : 0 : switch (TREE_CODE (_q71))
25915 : : {
25916 : 0 : case SSA_NAME:
25917 : 0 : if (gimple *_d4 = get_def (valueize, _q71))
25918 : : {
25919 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
25920 : 0 : switch (gimple_assign_rhs_code (_a4))
25921 : : {
25922 : 0 : case LTGT_EXPR:
25923 : 0 : {
25924 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
25925 : 0 : _q90 = do_valueize (valueize, _q90);
25926 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
25927 : 0 : _q91 = do_valueize (valueize, _q91);
25928 : 0 : if (tree_swap_operands_p (_q90, _q91))
25929 : 0 : std::swap (_q90, _q91);
25930 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
25931 : : {
25932 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
25933 : : {
25934 : 0 : {
25935 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
25936 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
25937 : 0 : return true;
25938 : : }
25939 : : }
25940 : : }
25941 : 317096 : break;
25942 : : }
25943 : : default:;
25944 : : }
25945 : : }
25946 : : break;
25947 : : default:;
25948 : : }
25949 : 317096 : break;
25950 : : }
25951 : : default:;
25952 : : }
25953 : : }
25954 : : break;
25955 : : default:;
25956 : : }
25957 : 317096 : break;
25958 : : }
25959 : 0 : case LTGT_EXPR:
25960 : 0 : {
25961 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
25962 : 0 : _q30 = do_valueize (valueize, _q30);
25963 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
25964 : 0 : _q31 = do_valueize (valueize, _q31);
25965 : 0 : if (tree_swap_operands_p (_q30, _q31))
25966 : 0 : std::swap (_q30, _q31);
25967 : 0 : switch (TREE_CODE (_p1))
25968 : : {
25969 : 0 : case SSA_NAME:
25970 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
25971 : : {
25972 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
25973 : 0 : switch (gimple_assign_rhs_code (_a3))
25974 : : {
25975 : 0 : case BIT_AND_EXPR:
25976 : 0 : {
25977 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
25978 : 0 : _q70 = do_valueize (valueize, _q70);
25979 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
25980 : 0 : _q71 = do_valueize (valueize, _q71);
25981 : 0 : if (tree_swap_operands_p (_q70, _q71))
25982 : 0 : std::swap (_q70, _q71);
25983 : 0 : switch (TREE_CODE (_q70))
25984 : : {
25985 : 0 : case SSA_NAME:
25986 : 0 : if (gimple *_d4 = get_def (valueize, _q70))
25987 : : {
25988 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
25989 : 0 : switch (gimple_assign_rhs_code (_a4))
25990 : : {
25991 : 0 : case UNEQ_EXPR:
25992 : 0 : {
25993 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
25994 : 0 : _q80 = do_valueize (valueize, _q80);
25995 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
25996 : 0 : _q81 = do_valueize (valueize, _q81);
25997 : 0 : if (tree_swap_operands_p (_q80, _q81))
25998 : 0 : std::swap (_q80, _q81);
25999 : 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
26000 : : {
26001 : 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
26002 : : {
26003 : 0 : {
26004 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
26005 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
26006 : 0 : return true;
26007 : : }
26008 : : }
26009 : : }
26010 : 0 : break;
26011 : : }
26012 : : default:;
26013 : : }
26014 : : }
26015 : : break;
26016 : 0 : default:;
26017 : : }
26018 : 0 : switch (TREE_CODE (_q71))
26019 : : {
26020 : 0 : case SSA_NAME:
26021 : 0 : if (gimple *_d4 = get_def (valueize, _q71))
26022 : : {
26023 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
26024 : 0 : switch (gimple_assign_rhs_code (_a4))
26025 : : {
26026 : 0 : case UNEQ_EXPR:
26027 : 0 : {
26028 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
26029 : 0 : _q90 = do_valueize (valueize, _q90);
26030 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
26031 : 0 : _q91 = do_valueize (valueize, _q91);
26032 : 0 : if (tree_swap_operands_p (_q90, _q91))
26033 : 0 : std::swap (_q90, _q91);
26034 : 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
26035 : : {
26036 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
26037 : : {
26038 : 0 : {
26039 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
26040 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
26041 : 0 : return true;
26042 : : }
26043 : : }
26044 : : }
26045 : 317096 : break;
26046 : : }
26047 : : default:;
26048 : : }
26049 : : }
26050 : : break;
26051 : : default:;
26052 : : }
26053 : 317096 : break;
26054 : : }
26055 : : default:;
26056 : : }
26057 : : }
26058 : : break;
26059 : : default:;
26060 : : }
26061 : 317096 : break;
26062 : : }
26063 : : default:;
26064 : : }
26065 : : }
26066 : : break;
26067 : 317096 : default:;
26068 : : }
26069 : 317096 : switch (TREE_CODE (_q21))
26070 : : {
26071 : 134879 : case SSA_NAME:
26072 : 134879 : if (gimple *_d2 = get_def (valueize, _q21))
26073 : : {
26074 : 114874 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
26075 : 133920 : switch (gimple_assign_rhs_code (_a2))
26076 : : {
26077 : 60 : case LT_EXPR:
26078 : 60 : {
26079 : 60 : tree _q40 = gimple_assign_rhs1 (_a2);
26080 : 60 : _q40 = do_valueize (valueize, _q40);
26081 : 60 : tree _q41 = gimple_assign_rhs2 (_a2);
26082 : 60 : _q41 = do_valueize (valueize, _q41);
26083 : 60 : switch (TREE_CODE (_p1))
26084 : : {
26085 : 60 : case SSA_NAME:
26086 : 60 : if (gimple *_d3 = get_def (valueize, _p1))
26087 : : {
26088 : 60 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
26089 : 60 : switch (gimple_assign_rhs_code (_a3))
26090 : : {
26091 : 37 : case BIT_AND_EXPR:
26092 : 37 : {
26093 : 37 : tree _q70 = gimple_assign_rhs1 (_a3);
26094 : 37 : _q70 = do_valueize (valueize, _q70);
26095 : 37 : tree _q71 = gimple_assign_rhs2 (_a3);
26096 : 37 : _q71 = do_valueize (valueize, _q71);
26097 : 37 : if (tree_swap_operands_p (_q70, _q71))
26098 : 0 : std::swap (_q70, _q71);
26099 : 37 : switch (TREE_CODE (_q70))
26100 : : {
26101 : 37 : case SSA_NAME:
26102 : 37 : if (gimple *_d4 = get_def (valueize, _q70))
26103 : : {
26104 : 37 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
26105 : 37 : switch (gimple_assign_rhs_code (_a4))
26106 : : {
26107 : 1 : case GE_EXPR:
26108 : 1 : {
26109 : 1 : tree _q80 = gimple_assign_rhs1 (_a4);
26110 : 1 : _q80 = do_valueize (valueize, _q80);
26111 : 1 : tree _q81 = gimple_assign_rhs2 (_a4);
26112 : 1 : _q81 = do_valueize (valueize, _q81);
26113 : 1 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
26114 : : {
26115 : 1 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
26116 : : {
26117 : 1 : {
26118 : 1 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
26119 : 1 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
26120 : 0 : return true;
26121 : : }
26122 : : }
26123 : : }
26124 : : break;
26125 : : }
26126 : : default:;
26127 : : }
26128 : : }
26129 : : break;
26130 : 37 : default:;
26131 : : }
26132 : 37 : switch (TREE_CODE (_q71))
26133 : : {
26134 : 37 : case SSA_NAME:
26135 : 37 : if (gimple *_d4 = get_def (valueize, _q71))
26136 : : {
26137 : 37 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
26138 : 37 : switch (gimple_assign_rhs_code (_a4))
26139 : : {
26140 : 1 : case GE_EXPR:
26141 : 1 : {
26142 : 1 : tree _q90 = gimple_assign_rhs1 (_a4);
26143 : 1 : _q90 = do_valueize (valueize, _q90);
26144 : 1 : tree _q91 = gimple_assign_rhs2 (_a4);
26145 : 1 : _q91 = do_valueize (valueize, _q91);
26146 : 1 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
26147 : : {
26148 : 1 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
26149 : : {
26150 : 1 : {
26151 : 1 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
26152 : 1 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
26153 : 0 : return true;
26154 : : }
26155 : : }
26156 : : }
26157 : : break;
26158 : : }
26159 : : default:;
26160 : : }
26161 : : }
26162 : : break;
26163 : : default:;
26164 : : }
26165 : 317021 : break;
26166 : : }
26167 : : default:;
26168 : : }
26169 : : }
26170 : : break;
26171 : : default:;
26172 : : }
26173 : : break;
26174 : : }
26175 : 65 : case LE_EXPR:
26176 : 65 : {
26177 : 65 : tree _q40 = gimple_assign_rhs1 (_a2);
26178 : 65 : _q40 = do_valueize (valueize, _q40);
26179 : 65 : tree _q41 = gimple_assign_rhs2 (_a2);
26180 : 65 : _q41 = do_valueize (valueize, _q41);
26181 : 65 : switch (TREE_CODE (_p1))
26182 : : {
26183 : 65 : case SSA_NAME:
26184 : 65 : if (gimple *_d3 = get_def (valueize, _p1))
26185 : : {
26186 : 63 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
26187 : 43 : switch (gimple_assign_rhs_code (_a3))
26188 : : {
26189 : 24 : case BIT_AND_EXPR:
26190 : 24 : {
26191 : 24 : tree _q70 = gimple_assign_rhs1 (_a3);
26192 : 24 : _q70 = do_valueize (valueize, _q70);
26193 : 24 : tree _q71 = gimple_assign_rhs2 (_a3);
26194 : 24 : _q71 = do_valueize (valueize, _q71);
26195 : 24 : if (tree_swap_operands_p (_q70, _q71))
26196 : 0 : std::swap (_q70, _q71);
26197 : 24 : switch (TREE_CODE (_q70))
26198 : : {
26199 : 24 : case SSA_NAME:
26200 : 24 : if (gimple *_d4 = get_def (valueize, _q70))
26201 : : {
26202 : 24 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
26203 : 24 : switch (gimple_assign_rhs_code (_a4))
26204 : : {
26205 : 1 : case GT_EXPR:
26206 : 1 : {
26207 : 1 : tree _q80 = gimple_assign_rhs1 (_a4);
26208 : 1 : _q80 = do_valueize (valueize, _q80);
26209 : 1 : tree _q81 = gimple_assign_rhs2 (_a4);
26210 : 1 : _q81 = do_valueize (valueize, _q81);
26211 : 1 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
26212 : : {
26213 : 1 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
26214 : : {
26215 : 0 : {
26216 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
26217 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
26218 : 0 : return true;
26219 : : }
26220 : : }
26221 : : }
26222 : : break;
26223 : : }
26224 : : default:;
26225 : : }
26226 : : }
26227 : : break;
26228 : 24 : default:;
26229 : : }
26230 : 24 : switch (TREE_CODE (_q71))
26231 : : {
26232 : 24 : case SSA_NAME:
26233 : 24 : if (gimple *_d4 = get_def (valueize, _q71))
26234 : : {
26235 : 24 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
26236 : 24 : switch (gimple_assign_rhs_code (_a4))
26237 : : {
26238 : 16 : case GT_EXPR:
26239 : 16 : {
26240 : 16 : tree _q90 = gimple_assign_rhs1 (_a4);
26241 : 16 : _q90 = do_valueize (valueize, _q90);
26242 : 16 : tree _q91 = gimple_assign_rhs2 (_a4);
26243 : 16 : _q91 = do_valueize (valueize, _q91);
26244 : 16 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
26245 : : {
26246 : 8 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
26247 : : {
26248 : 8 : {
26249 : 8 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
26250 : 8 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
26251 : 0 : return true;
26252 : : }
26253 : : }
26254 : : }
26255 : : break;
26256 : : }
26257 : : default:;
26258 : : }
26259 : : }
26260 : : break;
26261 : : default:;
26262 : : }
26263 : 317021 : break;
26264 : : }
26265 : : default:;
26266 : : }
26267 : : }
26268 : : break;
26269 : : default:;
26270 : : }
26271 : : break;
26272 : : }
26273 : 4193 : case EQ_EXPR:
26274 : 4193 : {
26275 : 4193 : tree _q40 = gimple_assign_rhs1 (_a2);
26276 : 4193 : _q40 = do_valueize (valueize, _q40);
26277 : 4193 : tree _q41 = gimple_assign_rhs2 (_a2);
26278 : 4193 : _q41 = do_valueize (valueize, _q41);
26279 : 4193 : if (tree_swap_operands_p (_q40, _q41))
26280 : 0 : std::swap (_q40, _q41);
26281 : 4193 : switch (TREE_CODE (_p1))
26282 : : {
26283 : 4193 : case SSA_NAME:
26284 : 4193 : if (gimple *_d3 = get_def (valueize, _p1))
26285 : : {
26286 : 4189 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
26287 : 4109 : switch (gimple_assign_rhs_code (_a3))
26288 : : {
26289 : 3419 : case BIT_AND_EXPR:
26290 : 3419 : {
26291 : 3419 : tree _q70 = gimple_assign_rhs1 (_a3);
26292 : 3419 : _q70 = do_valueize (valueize, _q70);
26293 : 3419 : tree _q71 = gimple_assign_rhs2 (_a3);
26294 : 3419 : _q71 = do_valueize (valueize, _q71);
26295 : 3419 : if (tree_swap_operands_p (_q70, _q71))
26296 : 373 : std::swap (_q70, _q71);
26297 : 3419 : switch (TREE_CODE (_q70))
26298 : : {
26299 : 3419 : case SSA_NAME:
26300 : 3419 : if (gimple *_d4 = get_def (valueize, _q70))
26301 : : {
26302 : 3383 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
26303 : 4013 : switch (gimple_assign_rhs_code (_a4))
26304 : : {
26305 : 2170 : case NE_EXPR:
26306 : 2170 : {
26307 : 2170 : tree _q80 = gimple_assign_rhs1 (_a4);
26308 : 2170 : _q80 = do_valueize (valueize, _q80);
26309 : 2170 : tree _q81 = gimple_assign_rhs2 (_a4);
26310 : 2170 : _q81 = do_valueize (valueize, _q81);
26311 : 2170 : if (tree_swap_operands_p (_q80, _q81))
26312 : 0 : std::swap (_q80, _q81);
26313 : 2170 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
26314 : : {
26315 : 674 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
26316 : : {
26317 : 674 : {
26318 : 674 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
26319 : 674 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
26320 : 75 : return true;
26321 : : }
26322 : : }
26323 : : }
26324 : 3344 : break;
26325 : : }
26326 : : default:;
26327 : : }
26328 : : }
26329 : : break;
26330 : 3344 : default:;
26331 : : }
26332 : 3344 : switch (TREE_CODE (_q71))
26333 : : {
26334 : 3344 : case SSA_NAME:
26335 : 3344 : if (gimple *_d4 = get_def (valueize, _q71))
26336 : : {
26337 : 3279 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
26338 : 3327 : switch (gimple_assign_rhs_code (_a4))
26339 : : {
26340 : 237 : case NE_EXPR:
26341 : 237 : {
26342 : 237 : tree _q90 = gimple_assign_rhs1 (_a4);
26343 : 237 : _q90 = do_valueize (valueize, _q90);
26344 : 237 : tree _q91 = gimple_assign_rhs2 (_a4);
26345 : 237 : _q91 = do_valueize (valueize, _q91);
26346 : 237 : if (tree_swap_operands_p (_q90, _q91))
26347 : 0 : std::swap (_q90, _q91);
26348 : 237 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
26349 : : {
26350 : 28 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
26351 : : {
26352 : 28 : {
26353 : 28 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
26354 : 28 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
26355 : 0 : return true;
26356 : : }
26357 : : }
26358 : : }
26359 : 317021 : break;
26360 : : }
26361 : : default:;
26362 : : }
26363 : : }
26364 : : break;
26365 : : default:;
26366 : : }
26367 : 317021 : break;
26368 : : }
26369 : : default:;
26370 : : }
26371 : : }
26372 : : break;
26373 : : default:;
26374 : : }
26375 : 317021 : break;
26376 : : }
26377 : 1247 : case NE_EXPR:
26378 : 1247 : {
26379 : 1247 : tree _q40 = gimple_assign_rhs1 (_a2);
26380 : 1247 : _q40 = do_valueize (valueize, _q40);
26381 : 1247 : tree _q41 = gimple_assign_rhs2 (_a2);
26382 : 1247 : _q41 = do_valueize (valueize, _q41);
26383 : 1247 : if (tree_swap_operands_p (_q40, _q41))
26384 : 0 : std::swap (_q40, _q41);
26385 : 1247 : switch (TREE_CODE (_p1))
26386 : : {
26387 : 1247 : case SSA_NAME:
26388 : 1247 : if (gimple *_d3 = get_def (valueize, _p1))
26389 : : {
26390 : 1247 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
26391 : 1243 : switch (gimple_assign_rhs_code (_a3))
26392 : : {
26393 : 487 : case BIT_AND_EXPR:
26394 : 487 : {
26395 : 487 : tree _q70 = gimple_assign_rhs1 (_a3);
26396 : 487 : _q70 = do_valueize (valueize, _q70);
26397 : 487 : tree _q71 = gimple_assign_rhs2 (_a3);
26398 : 487 : _q71 = do_valueize (valueize, _q71);
26399 : 487 : if (tree_swap_operands_p (_q70, _q71))
26400 : 84 : std::swap (_q70, _q71);
26401 : 487 : switch (TREE_CODE (_q70))
26402 : : {
26403 : 487 : case SSA_NAME:
26404 : 487 : if (gimple *_d4 = get_def (valueize, _q70))
26405 : : {
26406 : 487 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
26407 : 487 : switch (gimple_assign_rhs_code (_a4))
26408 : : {
26409 : 46 : case EQ_EXPR:
26410 : 46 : {
26411 : 46 : tree _q80 = gimple_assign_rhs1 (_a4);
26412 : 46 : _q80 = do_valueize (valueize, _q80);
26413 : 46 : tree _q81 = gimple_assign_rhs2 (_a4);
26414 : 46 : _q81 = do_valueize (valueize, _q81);
26415 : 46 : if (tree_swap_operands_p (_q80, _q81))
26416 : 0 : std::swap (_q80, _q81);
26417 : 46 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
26418 : : {
26419 : 4 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
26420 : : {
26421 : 4 : {
26422 : 4 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
26423 : 4 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
26424 : 0 : return true;
26425 : : }
26426 : : }
26427 : : }
26428 : 487 : break;
26429 : : }
26430 : : default:;
26431 : : }
26432 : : }
26433 : : break;
26434 : 487 : default:;
26435 : : }
26436 : 487 : switch (TREE_CODE (_q71))
26437 : : {
26438 : 391 : case SSA_NAME:
26439 : 391 : if (gimple *_d4 = get_def (valueize, _q71))
26440 : : {
26441 : 391 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
26442 : 391 : switch (gimple_assign_rhs_code (_a4))
26443 : : {
26444 : 43 : case EQ_EXPR:
26445 : 43 : {
26446 : 43 : tree _q90 = gimple_assign_rhs1 (_a4);
26447 : 43 : _q90 = do_valueize (valueize, _q90);
26448 : 43 : tree _q91 = gimple_assign_rhs2 (_a4);
26449 : 43 : _q91 = do_valueize (valueize, _q91);
26450 : 43 : if (tree_swap_operands_p (_q90, _q91))
26451 : 0 : std::swap (_q90, _q91);
26452 : 43 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
26453 : : {
26454 : 8 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
26455 : : {
26456 : 0 : {
26457 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
26458 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
26459 : 0 : return true;
26460 : : }
26461 : : }
26462 : : }
26463 : 317021 : break;
26464 : : }
26465 : : default:;
26466 : : }
26467 : : }
26468 : : break;
26469 : : default:;
26470 : : }
26471 : 317021 : break;
26472 : : }
26473 : : default:;
26474 : : }
26475 : : }
26476 : : break;
26477 : : default:;
26478 : : }
26479 : 317021 : break;
26480 : : }
26481 : 711 : case GE_EXPR:
26482 : 711 : {
26483 : 711 : tree _q40 = gimple_assign_rhs1 (_a2);
26484 : 711 : _q40 = do_valueize (valueize, _q40);
26485 : 711 : tree _q41 = gimple_assign_rhs2 (_a2);
26486 : 711 : _q41 = do_valueize (valueize, _q41);
26487 : 711 : switch (TREE_CODE (_p1))
26488 : : {
26489 : 711 : case SSA_NAME:
26490 : 711 : if (gimple *_d3 = get_def (valueize, _p1))
26491 : : {
26492 : 711 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
26493 : 711 : switch (gimple_assign_rhs_code (_a3))
26494 : : {
26495 : 260 : case BIT_AND_EXPR:
26496 : 260 : {
26497 : 260 : tree _q70 = gimple_assign_rhs1 (_a3);
26498 : 260 : _q70 = do_valueize (valueize, _q70);
26499 : 260 : tree _q71 = gimple_assign_rhs2 (_a3);
26500 : 260 : _q71 = do_valueize (valueize, _q71);
26501 : 260 : if (tree_swap_operands_p (_q70, _q71))
26502 : 0 : std::swap (_q70, _q71);
26503 : 260 : switch (TREE_CODE (_q70))
26504 : : {
26505 : 260 : case SSA_NAME:
26506 : 260 : if (gimple *_d4 = get_def (valueize, _q70))
26507 : : {
26508 : 260 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
26509 : 260 : switch (gimple_assign_rhs_code (_a4))
26510 : : {
26511 : 0 : case LT_EXPR:
26512 : 0 : {
26513 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
26514 : 0 : _q80 = do_valueize (valueize, _q80);
26515 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
26516 : 0 : _q81 = do_valueize (valueize, _q81);
26517 : 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
26518 : : {
26519 : 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
26520 : : {
26521 : 0 : {
26522 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
26523 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
26524 : 0 : return true;
26525 : : }
26526 : : }
26527 : : }
26528 : : break;
26529 : : }
26530 : : default:;
26531 : : }
26532 : : }
26533 : : break;
26534 : 260 : default:;
26535 : : }
26536 : 260 : switch (TREE_CODE (_q71))
26537 : : {
26538 : 260 : case SSA_NAME:
26539 : 260 : if (gimple *_d4 = get_def (valueize, _q71))
26540 : : {
26541 : 260 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
26542 : 260 : switch (gimple_assign_rhs_code (_a4))
26543 : : {
26544 : 3 : case LT_EXPR:
26545 : 3 : {
26546 : 3 : tree _q90 = gimple_assign_rhs1 (_a4);
26547 : 3 : _q90 = do_valueize (valueize, _q90);
26548 : 3 : tree _q91 = gimple_assign_rhs2 (_a4);
26549 : 3 : _q91 = do_valueize (valueize, _q91);
26550 : 3 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
26551 : : {
26552 : 3 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
26553 : : {
26554 : 3 : {
26555 : 3 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
26556 : 3 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
26557 : 0 : return true;
26558 : : }
26559 : : }
26560 : : }
26561 : : break;
26562 : : }
26563 : : default:;
26564 : : }
26565 : : }
26566 : : break;
26567 : : default:;
26568 : : }
26569 : 317021 : break;
26570 : : }
26571 : : default:;
26572 : : }
26573 : : }
26574 : : break;
26575 : : default:;
26576 : : }
26577 : : break;
26578 : : }
26579 : 176 : case GT_EXPR:
26580 : 176 : {
26581 : 176 : tree _q40 = gimple_assign_rhs1 (_a2);
26582 : 176 : _q40 = do_valueize (valueize, _q40);
26583 : 176 : tree _q41 = gimple_assign_rhs2 (_a2);
26584 : 176 : _q41 = do_valueize (valueize, _q41);
26585 : 176 : switch (TREE_CODE (_p1))
26586 : : {
26587 : 176 : case SSA_NAME:
26588 : 176 : if (gimple *_d3 = get_def (valueize, _p1))
26589 : : {
26590 : 176 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
26591 : 176 : switch (gimple_assign_rhs_code (_a3))
26592 : : {
26593 : 125 : case BIT_AND_EXPR:
26594 : 125 : {
26595 : 125 : tree _q70 = gimple_assign_rhs1 (_a3);
26596 : 125 : _q70 = do_valueize (valueize, _q70);
26597 : 125 : tree _q71 = gimple_assign_rhs2 (_a3);
26598 : 125 : _q71 = do_valueize (valueize, _q71);
26599 : 125 : if (tree_swap_operands_p (_q70, _q71))
26600 : 0 : std::swap (_q70, _q71);
26601 : 125 : switch (TREE_CODE (_q70))
26602 : : {
26603 : 125 : case SSA_NAME:
26604 : 125 : if (gimple *_d4 = get_def (valueize, _q70))
26605 : : {
26606 : 125 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
26607 : 125 : switch (gimple_assign_rhs_code (_a4))
26608 : : {
26609 : 24 : case LE_EXPR:
26610 : 24 : {
26611 : 24 : tree _q80 = gimple_assign_rhs1 (_a4);
26612 : 24 : _q80 = do_valueize (valueize, _q80);
26613 : 24 : tree _q81 = gimple_assign_rhs2 (_a4);
26614 : 24 : _q81 = do_valueize (valueize, _q81);
26615 : 24 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
26616 : : {
26617 : 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
26618 : : {
26619 : 0 : {
26620 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
26621 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
26622 : 0 : return true;
26623 : : }
26624 : : }
26625 : : }
26626 : : break;
26627 : : }
26628 : : default:;
26629 : : }
26630 : : }
26631 : : break;
26632 : 125 : default:;
26633 : : }
26634 : 125 : switch (TREE_CODE (_q71))
26635 : : {
26636 : 125 : case SSA_NAME:
26637 : 125 : if (gimple *_d4 = get_def (valueize, _q71))
26638 : : {
26639 : 125 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
26640 : 125 : switch (gimple_assign_rhs_code (_a4))
26641 : : {
26642 : 0 : case LE_EXPR:
26643 : 0 : {
26644 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
26645 : 0 : _q90 = do_valueize (valueize, _q90);
26646 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
26647 : 0 : _q91 = do_valueize (valueize, _q91);
26648 : 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
26649 : : {
26650 : 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
26651 : : {
26652 : 0 : {
26653 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
26654 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
26655 : 0 : return true;
26656 : : }
26657 : : }
26658 : : }
26659 : : break;
26660 : : }
26661 : : default:;
26662 : : }
26663 : : }
26664 : : break;
26665 : : default:;
26666 : : }
26667 : 317021 : break;
26668 : : }
26669 : : default:;
26670 : : }
26671 : : }
26672 : : break;
26673 : : default:;
26674 : : }
26675 : : break;
26676 : : }
26677 : 0 : case UNORDERED_EXPR:
26678 : 0 : {
26679 : 0 : tree _q40 = gimple_assign_rhs1 (_a2);
26680 : 0 : _q40 = do_valueize (valueize, _q40);
26681 : 0 : tree _q41 = gimple_assign_rhs2 (_a2);
26682 : 0 : _q41 = do_valueize (valueize, _q41);
26683 : 0 : if (tree_swap_operands_p (_q40, _q41))
26684 : 0 : std::swap (_q40, _q41);
26685 : 0 : switch (TREE_CODE (_p1))
26686 : : {
26687 : 0 : case SSA_NAME:
26688 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
26689 : : {
26690 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
26691 : 0 : switch (gimple_assign_rhs_code (_a3))
26692 : : {
26693 : 0 : case BIT_AND_EXPR:
26694 : 0 : {
26695 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
26696 : 0 : _q70 = do_valueize (valueize, _q70);
26697 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
26698 : 0 : _q71 = do_valueize (valueize, _q71);
26699 : 0 : if (tree_swap_operands_p (_q70, _q71))
26700 : 0 : std::swap (_q70, _q71);
26701 : 0 : switch (TREE_CODE (_q70))
26702 : : {
26703 : 0 : case SSA_NAME:
26704 : 0 : if (gimple *_d4 = get_def (valueize, _q70))
26705 : : {
26706 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
26707 : 0 : switch (gimple_assign_rhs_code (_a4))
26708 : : {
26709 : 0 : case ORDERED_EXPR:
26710 : 0 : {
26711 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
26712 : 0 : _q80 = do_valueize (valueize, _q80);
26713 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
26714 : 0 : _q81 = do_valueize (valueize, _q81);
26715 : 0 : if (tree_swap_operands_p (_q80, _q81))
26716 : 0 : std::swap (_q80, _q81);
26717 : 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
26718 : : {
26719 : 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
26720 : : {
26721 : 0 : {
26722 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
26723 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
26724 : 0 : return true;
26725 : : }
26726 : : }
26727 : : }
26728 : 0 : break;
26729 : : }
26730 : : default:;
26731 : : }
26732 : : }
26733 : : break;
26734 : 0 : default:;
26735 : : }
26736 : 0 : switch (TREE_CODE (_q71))
26737 : : {
26738 : 0 : case SSA_NAME:
26739 : 0 : if (gimple *_d4 = get_def (valueize, _q71))
26740 : : {
26741 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
26742 : 0 : switch (gimple_assign_rhs_code (_a4))
26743 : : {
26744 : 0 : case ORDERED_EXPR:
26745 : 0 : {
26746 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
26747 : 0 : _q90 = do_valueize (valueize, _q90);
26748 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
26749 : 0 : _q91 = do_valueize (valueize, _q91);
26750 : 0 : if (tree_swap_operands_p (_q90, _q91))
26751 : 0 : std::swap (_q90, _q91);
26752 : 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
26753 : : {
26754 : 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
26755 : : {
26756 : 0 : {
26757 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
26758 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
26759 : 0 : return true;
26760 : : }
26761 : : }
26762 : : }
26763 : 317021 : break;
26764 : : }
26765 : : default:;
26766 : : }
26767 : : }
26768 : : break;
26769 : : default:;
26770 : : }
26771 : 317021 : break;
26772 : : }
26773 : : default:;
26774 : : }
26775 : : }
26776 : : break;
26777 : : default:;
26778 : : }
26779 : 317021 : break;
26780 : : }
26781 : 0 : case ORDERED_EXPR:
26782 : 0 : {
26783 : 0 : tree _q40 = gimple_assign_rhs1 (_a2);
26784 : 0 : _q40 = do_valueize (valueize, _q40);
26785 : 0 : tree _q41 = gimple_assign_rhs2 (_a2);
26786 : 0 : _q41 = do_valueize (valueize, _q41);
26787 : 0 : if (tree_swap_operands_p (_q40, _q41))
26788 : 0 : std::swap (_q40, _q41);
26789 : 0 : switch (TREE_CODE (_p1))
26790 : : {
26791 : 0 : case SSA_NAME:
26792 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
26793 : : {
26794 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
26795 : 0 : switch (gimple_assign_rhs_code (_a3))
26796 : : {
26797 : 0 : case BIT_AND_EXPR:
26798 : 0 : {
26799 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
26800 : 0 : _q70 = do_valueize (valueize, _q70);
26801 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
26802 : 0 : _q71 = do_valueize (valueize, _q71);
26803 : 0 : if (tree_swap_operands_p (_q70, _q71))
26804 : 0 : std::swap (_q70, _q71);
26805 : 0 : switch (TREE_CODE (_q70))
26806 : : {
26807 : 0 : case SSA_NAME:
26808 : 0 : if (gimple *_d4 = get_def (valueize, _q70))
26809 : : {
26810 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
26811 : 0 : switch (gimple_assign_rhs_code (_a4))
26812 : : {
26813 : 0 : case UNORDERED_EXPR:
26814 : 0 : {
26815 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
26816 : 0 : _q80 = do_valueize (valueize, _q80);
26817 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
26818 : 0 : _q81 = do_valueize (valueize, _q81);
26819 : 0 : if (tree_swap_operands_p (_q80, _q81))
26820 : 0 : std::swap (_q80, _q81);
26821 : 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
26822 : : {
26823 : 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
26824 : : {
26825 : 0 : {
26826 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
26827 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
26828 : 0 : return true;
26829 : : }
26830 : : }
26831 : : }
26832 : 0 : break;
26833 : : }
26834 : : default:;
26835 : : }
26836 : : }
26837 : : break;
26838 : 0 : default:;
26839 : : }
26840 : 0 : switch (TREE_CODE (_q71))
26841 : : {
26842 : 0 : case SSA_NAME:
26843 : 0 : if (gimple *_d4 = get_def (valueize, _q71))
26844 : : {
26845 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
26846 : 0 : switch (gimple_assign_rhs_code (_a4))
26847 : : {
26848 : 0 : case UNORDERED_EXPR:
26849 : 0 : {
26850 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
26851 : 0 : _q90 = do_valueize (valueize, _q90);
26852 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
26853 : 0 : _q91 = do_valueize (valueize, _q91);
26854 : 0 : if (tree_swap_operands_p (_q90, _q91))
26855 : 0 : std::swap (_q90, _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_156 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
26863 : 0 : return true;
26864 : : }
26865 : : }
26866 : : }
26867 : 317021 : break;
26868 : : }
26869 : : default:;
26870 : : }
26871 : : }
26872 : : break;
26873 : : default:;
26874 : : }
26875 : 317021 : break;
26876 : : }
26877 : : default:;
26878 : : }
26879 : : }
26880 : : break;
26881 : : default:;
26882 : : }
26883 : 317021 : break;
26884 : : }
26885 : 0 : case UNLT_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 GE_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_156 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_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 GE_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_156 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR))
26961 : 0 : return true;
26962 : : }
26963 : : }
26964 : : }
26965 : : break;
26966 : : }
26967 : : default:;
26968 : : }
26969 : : }
26970 : : break;
26971 : : default:;
26972 : : }
26973 : 317021 : break;
26974 : : }
26975 : : default:;
26976 : : }
26977 : : }
26978 : : break;
26979 : : default:;
26980 : : }
26981 : : break;
26982 : : }
26983 : 0 : case UNLE_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 : switch (TREE_CODE (_p1))
26990 : : {
26991 : 0 : case SSA_NAME:
26992 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
26993 : : {
26994 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
26995 : 0 : switch (gimple_assign_rhs_code (_a3))
26996 : : {
26997 : 0 : case BIT_AND_EXPR:
26998 : 0 : {
26999 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
27000 : 0 : _q70 = do_valueize (valueize, _q70);
27001 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
27002 : 0 : _q71 = do_valueize (valueize, _q71);
27003 : 0 : if (tree_swap_operands_p (_q70, _q71))
27004 : 0 : std::swap (_q70, _q71);
27005 : 0 : switch (TREE_CODE (_q70))
27006 : : {
27007 : 0 : case SSA_NAME:
27008 : 0 : if (gimple *_d4 = get_def (valueize, _q70))
27009 : : {
27010 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
27011 : 0 : switch (gimple_assign_rhs_code (_a4))
27012 : : {
27013 : 0 : case GT_EXPR:
27014 : 0 : {
27015 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
27016 : 0 : _q80 = do_valueize (valueize, _q80);
27017 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
27018 : 0 : _q81 = do_valueize (valueize, _q81);
27019 : 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
27020 : : {
27021 : 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
27022 : : {
27023 : 0 : {
27024 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
27025 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
27026 : 0 : return true;
27027 : : }
27028 : : }
27029 : : }
27030 : : break;
27031 : : }
27032 : : default:;
27033 : : }
27034 : : }
27035 : : break;
27036 : 0 : default:;
27037 : : }
27038 : 0 : switch (TREE_CODE (_q71))
27039 : : {
27040 : 0 : case SSA_NAME:
27041 : 0 : if (gimple *_d4 = get_def (valueize, _q71))
27042 : : {
27043 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
27044 : 0 : switch (gimple_assign_rhs_code (_a4))
27045 : : {
27046 : 0 : case GT_EXPR:
27047 : 0 : {
27048 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
27049 : 0 : _q90 = do_valueize (valueize, _q90);
27050 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
27051 : 0 : _q91 = do_valueize (valueize, _q91);
27052 : 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
27053 : : {
27054 : 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
27055 : : {
27056 : 0 : {
27057 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
27058 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
27059 : 0 : return true;
27060 : : }
27061 : : }
27062 : : }
27063 : : break;
27064 : : }
27065 : : default:;
27066 : : }
27067 : : }
27068 : : break;
27069 : : default:;
27070 : : }
27071 : 317021 : break;
27072 : : }
27073 : : default:;
27074 : : }
27075 : : }
27076 : : break;
27077 : : default:;
27078 : : }
27079 : : break;
27080 : : }
27081 : 0 : case UNGT_EXPR:
27082 : 0 : {
27083 : 0 : tree _q40 = gimple_assign_rhs1 (_a2);
27084 : 0 : _q40 = do_valueize (valueize, _q40);
27085 : 0 : tree _q41 = gimple_assign_rhs2 (_a2);
27086 : 0 : _q41 = do_valueize (valueize, _q41);
27087 : 0 : switch (TREE_CODE (_p1))
27088 : : {
27089 : 0 : case SSA_NAME:
27090 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
27091 : : {
27092 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
27093 : 0 : switch (gimple_assign_rhs_code (_a3))
27094 : : {
27095 : 0 : case BIT_AND_EXPR:
27096 : 0 : {
27097 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
27098 : 0 : _q70 = do_valueize (valueize, _q70);
27099 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
27100 : 0 : _q71 = do_valueize (valueize, _q71);
27101 : 0 : if (tree_swap_operands_p (_q70, _q71))
27102 : 0 : std::swap (_q70, _q71);
27103 : 0 : switch (TREE_CODE (_q70))
27104 : : {
27105 : 0 : case SSA_NAME:
27106 : 0 : if (gimple *_d4 = get_def (valueize, _q70))
27107 : : {
27108 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
27109 : 0 : switch (gimple_assign_rhs_code (_a4))
27110 : : {
27111 : 0 : case LE_EXPR:
27112 : 0 : {
27113 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
27114 : 0 : _q80 = do_valueize (valueize, _q80);
27115 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
27116 : 0 : _q81 = do_valueize (valueize, _q81);
27117 : 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
27118 : : {
27119 : 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
27120 : : {
27121 : 0 : {
27122 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
27123 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
27124 : 0 : return true;
27125 : : }
27126 : : }
27127 : : }
27128 : : break;
27129 : : }
27130 : : default:;
27131 : : }
27132 : : }
27133 : : break;
27134 : 0 : default:;
27135 : : }
27136 : 0 : switch (TREE_CODE (_q71))
27137 : : {
27138 : 0 : case SSA_NAME:
27139 : 0 : if (gimple *_d4 = get_def (valueize, _q71))
27140 : : {
27141 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
27142 : 0 : switch (gimple_assign_rhs_code (_a4))
27143 : : {
27144 : 0 : case LE_EXPR:
27145 : 0 : {
27146 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
27147 : 0 : _q90 = do_valueize (valueize, _q90);
27148 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
27149 : 0 : _q91 = do_valueize (valueize, _q91);
27150 : 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
27151 : : {
27152 : 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
27153 : : {
27154 : 0 : {
27155 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
27156 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
27157 : 0 : return true;
27158 : : }
27159 : : }
27160 : : }
27161 : : break;
27162 : : }
27163 : : default:;
27164 : : }
27165 : : }
27166 : : break;
27167 : : default:;
27168 : : }
27169 : 317021 : break;
27170 : : }
27171 : : default:;
27172 : : }
27173 : : }
27174 : : break;
27175 : : default:;
27176 : : }
27177 : : break;
27178 : : }
27179 : 0 : case UNGE_EXPR:
27180 : 0 : {
27181 : 0 : tree _q40 = gimple_assign_rhs1 (_a2);
27182 : 0 : _q40 = do_valueize (valueize, _q40);
27183 : 0 : tree _q41 = gimple_assign_rhs2 (_a2);
27184 : 0 : _q41 = do_valueize (valueize, _q41);
27185 : 0 : switch (TREE_CODE (_p1))
27186 : : {
27187 : 0 : case SSA_NAME:
27188 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
27189 : : {
27190 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
27191 : 0 : switch (gimple_assign_rhs_code (_a3))
27192 : : {
27193 : 0 : case BIT_AND_EXPR:
27194 : 0 : {
27195 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
27196 : 0 : _q70 = do_valueize (valueize, _q70);
27197 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
27198 : 0 : _q71 = do_valueize (valueize, _q71);
27199 : 0 : if (tree_swap_operands_p (_q70, _q71))
27200 : 0 : std::swap (_q70, _q71);
27201 : 0 : switch (TREE_CODE (_q70))
27202 : : {
27203 : 0 : case SSA_NAME:
27204 : 0 : if (gimple *_d4 = get_def (valueize, _q70))
27205 : : {
27206 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
27207 : 0 : switch (gimple_assign_rhs_code (_a4))
27208 : : {
27209 : 0 : case LT_EXPR:
27210 : 0 : {
27211 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
27212 : 0 : _q80 = do_valueize (valueize, _q80);
27213 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
27214 : 0 : _q81 = do_valueize (valueize, _q81);
27215 : 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
27216 : : {
27217 : 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
27218 : : {
27219 : 0 : {
27220 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
27221 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
27222 : 0 : return true;
27223 : : }
27224 : : }
27225 : : }
27226 : : break;
27227 : : }
27228 : : default:;
27229 : : }
27230 : : }
27231 : : break;
27232 : 0 : default:;
27233 : : }
27234 : 0 : switch (TREE_CODE (_q71))
27235 : : {
27236 : 0 : case SSA_NAME:
27237 : 0 : if (gimple *_d4 = get_def (valueize, _q71))
27238 : : {
27239 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
27240 : 0 : switch (gimple_assign_rhs_code (_a4))
27241 : : {
27242 : 0 : case LT_EXPR:
27243 : 0 : {
27244 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
27245 : 0 : _q90 = do_valueize (valueize, _q90);
27246 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
27247 : 0 : _q91 = do_valueize (valueize, _q91);
27248 : 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
27249 : : {
27250 : 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
27251 : : {
27252 : 0 : {
27253 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
27254 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
27255 : 0 : return true;
27256 : : }
27257 : : }
27258 : : }
27259 : : break;
27260 : : }
27261 : : default:;
27262 : : }
27263 : : }
27264 : : break;
27265 : : default:;
27266 : : }
27267 : 317021 : break;
27268 : : }
27269 : : default:;
27270 : : }
27271 : : }
27272 : : break;
27273 : : default:;
27274 : : }
27275 : : break;
27276 : : }
27277 : 0 : case UNEQ_EXPR:
27278 : 0 : {
27279 : 0 : tree _q40 = gimple_assign_rhs1 (_a2);
27280 : 0 : _q40 = do_valueize (valueize, _q40);
27281 : 0 : tree _q41 = gimple_assign_rhs2 (_a2);
27282 : 0 : _q41 = do_valueize (valueize, _q41);
27283 : 0 : if (tree_swap_operands_p (_q40, _q41))
27284 : 0 : std::swap (_q40, _q41);
27285 : 0 : switch (TREE_CODE (_p1))
27286 : : {
27287 : 0 : case SSA_NAME:
27288 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
27289 : : {
27290 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
27291 : 0 : switch (gimple_assign_rhs_code (_a3))
27292 : : {
27293 : 0 : case BIT_AND_EXPR:
27294 : 0 : {
27295 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
27296 : 0 : _q70 = do_valueize (valueize, _q70);
27297 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
27298 : 0 : _q71 = do_valueize (valueize, _q71);
27299 : 0 : if (tree_swap_operands_p (_q70, _q71))
27300 : 0 : std::swap (_q70, _q71);
27301 : 0 : switch (TREE_CODE (_q70))
27302 : : {
27303 : 0 : case SSA_NAME:
27304 : 0 : if (gimple *_d4 = get_def (valueize, _q70))
27305 : : {
27306 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
27307 : 0 : switch (gimple_assign_rhs_code (_a4))
27308 : : {
27309 : 0 : case LTGT_EXPR:
27310 : 0 : {
27311 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
27312 : 0 : _q80 = do_valueize (valueize, _q80);
27313 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
27314 : 0 : _q81 = do_valueize (valueize, _q81);
27315 : 0 : if (tree_swap_operands_p (_q80, _q81))
27316 : 0 : std::swap (_q80, _q81);
27317 : 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
27318 : : {
27319 : 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
27320 : : {
27321 : 0 : {
27322 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
27323 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
27324 : 0 : return true;
27325 : : }
27326 : : }
27327 : : }
27328 : 0 : break;
27329 : : }
27330 : : default:;
27331 : : }
27332 : : }
27333 : : break;
27334 : 0 : default:;
27335 : : }
27336 : 0 : switch (TREE_CODE (_q71))
27337 : : {
27338 : 0 : case SSA_NAME:
27339 : 0 : if (gimple *_d4 = get_def (valueize, _q71))
27340 : : {
27341 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
27342 : 0 : switch (gimple_assign_rhs_code (_a4))
27343 : : {
27344 : 0 : case LTGT_EXPR:
27345 : 0 : {
27346 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
27347 : 0 : _q90 = do_valueize (valueize, _q90);
27348 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
27349 : 0 : _q91 = do_valueize (valueize, _q91);
27350 : 0 : if (tree_swap_operands_p (_q90, _q91))
27351 : 0 : std::swap (_q90, _q91);
27352 : 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
27353 : : {
27354 : 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
27355 : : {
27356 : 0 : {
27357 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
27358 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
27359 : 0 : return true;
27360 : : }
27361 : : }
27362 : : }
27363 : 317021 : break;
27364 : : }
27365 : : default:;
27366 : : }
27367 : : }
27368 : : break;
27369 : : default:;
27370 : : }
27371 : 317021 : break;
27372 : : }
27373 : : default:;
27374 : : }
27375 : : }
27376 : : break;
27377 : : default:;
27378 : : }
27379 : 317021 : break;
27380 : : }
27381 : 0 : case LTGT_EXPR:
27382 : 0 : {
27383 : 0 : tree _q40 = gimple_assign_rhs1 (_a2);
27384 : 0 : _q40 = do_valueize (valueize, _q40);
27385 : 0 : tree _q41 = gimple_assign_rhs2 (_a2);
27386 : 0 : _q41 = do_valueize (valueize, _q41);
27387 : 0 : if (tree_swap_operands_p (_q40, _q41))
27388 : 0 : std::swap (_q40, _q41);
27389 : 0 : switch (TREE_CODE (_p1))
27390 : : {
27391 : 0 : case SSA_NAME:
27392 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
27393 : : {
27394 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
27395 : 0 : switch (gimple_assign_rhs_code (_a3))
27396 : : {
27397 : 0 : case BIT_AND_EXPR:
27398 : 0 : {
27399 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
27400 : 0 : _q70 = do_valueize (valueize, _q70);
27401 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
27402 : 0 : _q71 = do_valueize (valueize, _q71);
27403 : 0 : if (tree_swap_operands_p (_q70, _q71))
27404 : 0 : std::swap (_q70, _q71);
27405 : 0 : switch (TREE_CODE (_q70))
27406 : : {
27407 : 0 : case SSA_NAME:
27408 : 0 : if (gimple *_d4 = get_def (valueize, _q70))
27409 : : {
27410 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
27411 : 0 : switch (gimple_assign_rhs_code (_a4))
27412 : : {
27413 : 0 : case UNEQ_EXPR:
27414 : 0 : {
27415 : 0 : tree _q80 = gimple_assign_rhs1 (_a4);
27416 : 0 : _q80 = do_valueize (valueize, _q80);
27417 : 0 : tree _q81 = gimple_assign_rhs2 (_a4);
27418 : 0 : _q81 = do_valueize (valueize, _q81);
27419 : 0 : if (tree_swap_operands_p (_q80, _q81))
27420 : 0 : std::swap (_q80, _q81);
27421 : 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
27422 : : {
27423 : 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
27424 : : {
27425 : 0 : {
27426 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
27427 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
27428 : 0 : return true;
27429 : : }
27430 : : }
27431 : : }
27432 : 0 : break;
27433 : : }
27434 : : default:;
27435 : : }
27436 : : }
27437 : : break;
27438 : 0 : default:;
27439 : : }
27440 : 0 : switch (TREE_CODE (_q71))
27441 : : {
27442 : 0 : case SSA_NAME:
27443 : 0 : if (gimple *_d4 = get_def (valueize, _q71))
27444 : : {
27445 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
27446 : 0 : switch (gimple_assign_rhs_code (_a4))
27447 : : {
27448 : 0 : case UNEQ_EXPR:
27449 : 0 : {
27450 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
27451 : 0 : _q90 = do_valueize (valueize, _q90);
27452 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
27453 : 0 : _q91 = do_valueize (valueize, _q91);
27454 : 0 : if (tree_swap_operands_p (_q90, _q91))
27455 : 0 : std::swap (_q90, _q91);
27456 : 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
27457 : : {
27458 : 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
27459 : : {
27460 : 0 : {
27461 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
27462 : 0 : if (gimple_simplify_156 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
27463 : 0 : return true;
27464 : : }
27465 : : }
27466 : : }
27467 : 317021 : break;
27468 : : }
27469 : : default:;
27470 : : }
27471 : : }
27472 : : break;
27473 : : default:;
27474 : : }
27475 : 317021 : break;
27476 : : }
27477 : : default:;
27478 : : }
27479 : : }
27480 : : break;
27481 : : default:;
27482 : : }
27483 : 317021 : break;
27484 : : }
27485 : : default:;
27486 : : }
27487 : : }
27488 : : break;
27489 : 317021 : default:;
27490 : : }
27491 : 317021 : switch (TREE_CODE (_q20))
27492 : : {
27493 : 317021 : case SSA_NAME:
27494 : 317021 : if (gimple *_d2 = get_def (valueize, _q20))
27495 : : {
27496 : 279124 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
27497 : 258969 : switch (gimple_assign_rhs_code (_a2))
27498 : : {
27499 : 7 : case VEC_COND_EXPR:
27500 : 7 : {
27501 : 7 : tree _q30 = gimple_assign_rhs1 (_a2);
27502 : 7 : _q30 = do_valueize (valueize, _q30);
27503 : 7 : tree _q31 = gimple_assign_rhs2 (_a2);
27504 : 7 : _q31 = do_valueize (valueize, _q31);
27505 : 7 : tree _q32 = gimple_assign_rhs3 (_a2);
27506 : 7 : _q32 = do_valueize (valueize, _q32);
27507 : 7 : switch (TREE_CODE (_q30))
27508 : : {
27509 : 7 : case SSA_NAME:
27510 : 7 : if (gimple *_d3 = get_def (valueize, _q30))
27511 : : {
27512 : 7 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
27513 : 7 : switch (gimple_assign_rhs_code (_a3))
27514 : : {
27515 : 7 : case LT_EXPR:
27516 : 7 : {
27517 : 7 : tree _q40 = gimple_assign_rhs1 (_a3);
27518 : 7 : _q40 = do_valueize (valueize, _q40);
27519 : 7 : tree _q41 = gimple_assign_rhs2 (_a3);
27520 : 7 : _q41 = do_valueize (valueize, _q41);
27521 : 7 : switch (TREE_CODE (_p1))
27522 : : {
27523 : 7 : case SSA_NAME:
27524 : 7 : if (gimple *_d4 = get_def (valueize, _p1))
27525 : : {
27526 : 7 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
27527 : 7 : switch (gimple_assign_rhs_code (_a4))
27528 : : {
27529 : 7 : case BIT_AND_EXPR:
27530 : 7 : {
27531 : 7 : tree _q100 = gimple_assign_rhs1 (_a4);
27532 : 7 : _q100 = do_valueize (valueize, _q100);
27533 : 7 : tree _q101 = gimple_assign_rhs2 (_a4);
27534 : 7 : _q101 = do_valueize (valueize, _q101);
27535 : 7 : if (tree_swap_operands_p (_q100, _q101))
27536 : 0 : std::swap (_q100, _q101);
27537 : 7 : switch (TREE_CODE (_q100))
27538 : : {
27539 : 7 : case SSA_NAME:
27540 : 7 : if (gimple *_d5 = get_def (valueize, _q100))
27541 : : {
27542 : 7 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
27543 : 7 : switch (gimple_assign_rhs_code (_a5))
27544 : : {
27545 : 7 : case VEC_COND_EXPR:
27546 : 7 : {
27547 : 7 : tree _q110 = gimple_assign_rhs1 (_a5);
27548 : 7 : _q110 = do_valueize (valueize, _q110);
27549 : 7 : tree _q111 = gimple_assign_rhs2 (_a5);
27550 : 7 : _q111 = do_valueize (valueize, _q111);
27551 : 7 : tree _q112 = gimple_assign_rhs3 (_a5);
27552 : 7 : _q112 = do_valueize (valueize, _q112);
27553 : 7 : switch (TREE_CODE (_q110))
27554 : : {
27555 : 7 : case SSA_NAME:
27556 : 7 : if (gimple *_d6 = get_def (valueize, _q110))
27557 : : {
27558 : 7 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
27559 : 7 : switch (gimple_assign_rhs_code (_a6))
27560 : : {
27561 : 7 : case GE_EXPR:
27562 : 7 : {
27563 : 7 : tree _q120 = gimple_assign_rhs1 (_a6);
27564 : 7 : _q120 = do_valueize (valueize, _q120);
27565 : 7 : tree _q121 = gimple_assign_rhs2 (_a6);
27566 : 7 : _q121 = do_valueize (valueize, _q121);
27567 : 7 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
27568 : : {
27569 : 7 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
27570 : : {
27571 : 7 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
27572 : : {
27573 : 7 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
27574 : : {
27575 : 7 : {
27576 : 7 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
27577 : 7 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
27578 : 0 : return true;
27579 : : }
27580 : : }
27581 : : }
27582 : : }
27583 : : }
27584 : : break;
27585 : : }
27586 : : default:;
27587 : : }
27588 : : }
27589 : : break;
27590 : : default:;
27591 : : }
27592 : : break;
27593 : : }
27594 : : default:;
27595 : : }
27596 : : }
27597 : : break;
27598 : 7 : default:;
27599 : : }
27600 : 7 : switch (TREE_CODE (_q101))
27601 : : {
27602 : 7 : case SSA_NAME:
27603 : 7 : if (gimple *_d5 = get_def (valueize, _q101))
27604 : : {
27605 : 7 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
27606 : 0 : switch (gimple_assign_rhs_code (_a5))
27607 : : {
27608 : 0 : case VEC_COND_EXPR:
27609 : 0 : {
27610 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
27611 : 0 : _q120 = do_valueize (valueize, _q120);
27612 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
27613 : 0 : _q121 = do_valueize (valueize, _q121);
27614 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
27615 : 0 : _q122 = do_valueize (valueize, _q122);
27616 : 0 : switch (TREE_CODE (_q120))
27617 : : {
27618 : 0 : case SSA_NAME:
27619 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
27620 : : {
27621 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
27622 : 0 : switch (gimple_assign_rhs_code (_a6))
27623 : : {
27624 : 0 : case GE_EXPR:
27625 : 0 : {
27626 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
27627 : 0 : _q130 = do_valueize (valueize, _q130);
27628 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
27629 : 0 : _q131 = do_valueize (valueize, _q131);
27630 : 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
27631 : : {
27632 : 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
27633 : : {
27634 : 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
27635 : : {
27636 : 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
27637 : : {
27638 : 0 : {
27639 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
27640 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
27641 : 0 : return true;
27642 : : }
27643 : : }
27644 : : }
27645 : : }
27646 : : }
27647 : : break;
27648 : : }
27649 : : default:;
27650 : : }
27651 : : }
27652 : : break;
27653 : : default:;
27654 : : }
27655 : : break;
27656 : : }
27657 : : default:;
27658 : : }
27659 : : }
27660 : : break;
27661 : : default:;
27662 : : }
27663 : 317021 : break;
27664 : : }
27665 : : default:;
27666 : : }
27667 : : }
27668 : : break;
27669 : : default:;
27670 : : }
27671 : : break;
27672 : : }
27673 : 0 : case LE_EXPR:
27674 : 0 : {
27675 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
27676 : 0 : _q40 = do_valueize (valueize, _q40);
27677 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
27678 : 0 : _q41 = do_valueize (valueize, _q41);
27679 : 0 : switch (TREE_CODE (_p1))
27680 : : {
27681 : 0 : case SSA_NAME:
27682 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
27683 : : {
27684 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
27685 : 0 : switch (gimple_assign_rhs_code (_a4))
27686 : : {
27687 : 0 : case BIT_AND_EXPR:
27688 : 0 : {
27689 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
27690 : 0 : _q100 = do_valueize (valueize, _q100);
27691 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
27692 : 0 : _q101 = do_valueize (valueize, _q101);
27693 : 0 : if (tree_swap_operands_p (_q100, _q101))
27694 : 0 : std::swap (_q100, _q101);
27695 : 0 : switch (TREE_CODE (_q100))
27696 : : {
27697 : 0 : case SSA_NAME:
27698 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
27699 : : {
27700 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
27701 : 0 : switch (gimple_assign_rhs_code (_a5))
27702 : : {
27703 : 0 : case VEC_COND_EXPR:
27704 : 0 : {
27705 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
27706 : 0 : _q110 = do_valueize (valueize, _q110);
27707 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
27708 : 0 : _q111 = do_valueize (valueize, _q111);
27709 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
27710 : 0 : _q112 = do_valueize (valueize, _q112);
27711 : 0 : switch (TREE_CODE (_q110))
27712 : : {
27713 : 0 : case SSA_NAME:
27714 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
27715 : : {
27716 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
27717 : 0 : switch (gimple_assign_rhs_code (_a6))
27718 : : {
27719 : 0 : case GT_EXPR:
27720 : 0 : {
27721 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
27722 : 0 : _q120 = do_valueize (valueize, _q120);
27723 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
27724 : 0 : _q121 = do_valueize (valueize, _q121);
27725 : 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
27726 : : {
27727 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
27728 : : {
27729 : 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
27730 : : {
27731 : 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
27732 : : {
27733 : 0 : {
27734 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
27735 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
27736 : 0 : return true;
27737 : : }
27738 : : }
27739 : : }
27740 : : }
27741 : : }
27742 : : break;
27743 : : }
27744 : : default:;
27745 : : }
27746 : : }
27747 : : break;
27748 : : default:;
27749 : : }
27750 : : break;
27751 : : }
27752 : : default:;
27753 : : }
27754 : : }
27755 : : break;
27756 : 0 : default:;
27757 : : }
27758 : 0 : switch (TREE_CODE (_q101))
27759 : : {
27760 : 0 : case SSA_NAME:
27761 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
27762 : : {
27763 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
27764 : 0 : switch (gimple_assign_rhs_code (_a5))
27765 : : {
27766 : 0 : case VEC_COND_EXPR:
27767 : 0 : {
27768 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
27769 : 0 : _q120 = do_valueize (valueize, _q120);
27770 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
27771 : 0 : _q121 = do_valueize (valueize, _q121);
27772 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
27773 : 0 : _q122 = do_valueize (valueize, _q122);
27774 : 0 : switch (TREE_CODE (_q120))
27775 : : {
27776 : 0 : case SSA_NAME:
27777 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
27778 : : {
27779 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
27780 : 0 : switch (gimple_assign_rhs_code (_a6))
27781 : : {
27782 : 0 : case GT_EXPR:
27783 : 0 : {
27784 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
27785 : 0 : _q130 = do_valueize (valueize, _q130);
27786 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
27787 : 0 : _q131 = do_valueize (valueize, _q131);
27788 : 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
27789 : : {
27790 : 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
27791 : : {
27792 : 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
27793 : : {
27794 : 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
27795 : : {
27796 : 0 : {
27797 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
27798 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
27799 : 0 : return true;
27800 : : }
27801 : : }
27802 : : }
27803 : : }
27804 : : }
27805 : : break;
27806 : : }
27807 : : default:;
27808 : : }
27809 : : }
27810 : : break;
27811 : : default:;
27812 : : }
27813 : : break;
27814 : : }
27815 : : default:;
27816 : : }
27817 : : }
27818 : : break;
27819 : : default:;
27820 : : }
27821 : 317021 : break;
27822 : : }
27823 : : default:;
27824 : : }
27825 : : }
27826 : : break;
27827 : : default:;
27828 : : }
27829 : : break;
27830 : : }
27831 : 0 : case EQ_EXPR:
27832 : 0 : {
27833 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
27834 : 0 : _q40 = do_valueize (valueize, _q40);
27835 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
27836 : 0 : _q41 = do_valueize (valueize, _q41);
27837 : 0 : if (tree_swap_operands_p (_q40, _q41))
27838 : 0 : std::swap (_q40, _q41);
27839 : 0 : switch (TREE_CODE (_p1))
27840 : : {
27841 : 0 : case SSA_NAME:
27842 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
27843 : : {
27844 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
27845 : 0 : switch (gimple_assign_rhs_code (_a4))
27846 : : {
27847 : 0 : case BIT_AND_EXPR:
27848 : 0 : {
27849 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
27850 : 0 : _q100 = do_valueize (valueize, _q100);
27851 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
27852 : 0 : _q101 = do_valueize (valueize, _q101);
27853 : 0 : if (tree_swap_operands_p (_q100, _q101))
27854 : 0 : std::swap (_q100, _q101);
27855 : 0 : switch (TREE_CODE (_q100))
27856 : : {
27857 : 0 : case SSA_NAME:
27858 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
27859 : : {
27860 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
27861 : 0 : switch (gimple_assign_rhs_code (_a5))
27862 : : {
27863 : 0 : case VEC_COND_EXPR:
27864 : 0 : {
27865 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
27866 : 0 : _q110 = do_valueize (valueize, _q110);
27867 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
27868 : 0 : _q111 = do_valueize (valueize, _q111);
27869 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
27870 : 0 : _q112 = do_valueize (valueize, _q112);
27871 : 0 : switch (TREE_CODE (_q110))
27872 : : {
27873 : 0 : case SSA_NAME:
27874 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
27875 : : {
27876 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
27877 : 0 : switch (gimple_assign_rhs_code (_a6))
27878 : : {
27879 : 0 : case NE_EXPR:
27880 : 0 : {
27881 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
27882 : 0 : _q120 = do_valueize (valueize, _q120);
27883 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
27884 : 0 : _q121 = do_valueize (valueize, _q121);
27885 : 0 : if (tree_swap_operands_p (_q120, _q121))
27886 : 0 : std::swap (_q120, _q121);
27887 : 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
27888 : : {
27889 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
27890 : : {
27891 : 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
27892 : : {
27893 : 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
27894 : : {
27895 : 0 : {
27896 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
27897 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
27898 : 0 : return true;
27899 : : }
27900 : : }
27901 : : }
27902 : : }
27903 : : }
27904 : 0 : break;
27905 : : }
27906 : : default:;
27907 : : }
27908 : : }
27909 : : break;
27910 : : default:;
27911 : : }
27912 : : break;
27913 : : }
27914 : : default:;
27915 : : }
27916 : : }
27917 : : break;
27918 : 0 : default:;
27919 : : }
27920 : 0 : switch (TREE_CODE (_q101))
27921 : : {
27922 : 0 : case SSA_NAME:
27923 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
27924 : : {
27925 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
27926 : 0 : switch (gimple_assign_rhs_code (_a5))
27927 : : {
27928 : 0 : case VEC_COND_EXPR:
27929 : 0 : {
27930 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
27931 : 0 : _q120 = do_valueize (valueize, _q120);
27932 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
27933 : 0 : _q121 = do_valueize (valueize, _q121);
27934 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
27935 : 0 : _q122 = do_valueize (valueize, _q122);
27936 : 0 : switch (TREE_CODE (_q120))
27937 : : {
27938 : 0 : case SSA_NAME:
27939 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
27940 : : {
27941 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
27942 : 0 : switch (gimple_assign_rhs_code (_a6))
27943 : : {
27944 : 0 : case NE_EXPR:
27945 : 0 : {
27946 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
27947 : 0 : _q130 = do_valueize (valueize, _q130);
27948 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
27949 : 0 : _q131 = do_valueize (valueize, _q131);
27950 : 0 : if (tree_swap_operands_p (_q130, _q131))
27951 : 0 : std::swap (_q130, _q131);
27952 : 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
27953 : : {
27954 : 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
27955 : : {
27956 : 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
27957 : : {
27958 : 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
27959 : : {
27960 : 0 : {
27961 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
27962 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
27963 : 0 : return true;
27964 : : }
27965 : : }
27966 : : }
27967 : : }
27968 : : }
27969 : 317021 : break;
27970 : : }
27971 : : default:;
27972 : : }
27973 : : }
27974 : : break;
27975 : : default:;
27976 : : }
27977 : : break;
27978 : : }
27979 : : default:;
27980 : : }
27981 : : }
27982 : : break;
27983 : : default:;
27984 : : }
27985 : 317021 : break;
27986 : : }
27987 : : default:;
27988 : : }
27989 : : }
27990 : : break;
27991 : : default:;
27992 : : }
27993 : 317021 : break;
27994 : : }
27995 : 0 : case NE_EXPR:
27996 : 0 : {
27997 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
27998 : 0 : _q40 = do_valueize (valueize, _q40);
27999 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
28000 : 0 : _q41 = do_valueize (valueize, _q41);
28001 : 0 : if (tree_swap_operands_p (_q40, _q41))
28002 : 0 : std::swap (_q40, _q41);
28003 : 0 : switch (TREE_CODE (_p1))
28004 : : {
28005 : 0 : case SSA_NAME:
28006 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
28007 : : {
28008 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
28009 : 0 : switch (gimple_assign_rhs_code (_a4))
28010 : : {
28011 : 0 : case BIT_AND_EXPR:
28012 : 0 : {
28013 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
28014 : 0 : _q100 = do_valueize (valueize, _q100);
28015 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
28016 : 0 : _q101 = do_valueize (valueize, _q101);
28017 : 0 : if (tree_swap_operands_p (_q100, _q101))
28018 : 0 : std::swap (_q100, _q101);
28019 : 0 : switch (TREE_CODE (_q100))
28020 : : {
28021 : 0 : case SSA_NAME:
28022 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
28023 : : {
28024 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
28025 : 0 : switch (gimple_assign_rhs_code (_a5))
28026 : : {
28027 : 0 : case VEC_COND_EXPR:
28028 : 0 : {
28029 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
28030 : 0 : _q110 = do_valueize (valueize, _q110);
28031 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
28032 : 0 : _q111 = do_valueize (valueize, _q111);
28033 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
28034 : 0 : _q112 = do_valueize (valueize, _q112);
28035 : 0 : switch (TREE_CODE (_q110))
28036 : : {
28037 : 0 : case SSA_NAME:
28038 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
28039 : : {
28040 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
28041 : 0 : switch (gimple_assign_rhs_code (_a6))
28042 : : {
28043 : 0 : case EQ_EXPR:
28044 : 0 : {
28045 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
28046 : 0 : _q120 = do_valueize (valueize, _q120);
28047 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
28048 : 0 : _q121 = do_valueize (valueize, _q121);
28049 : 0 : if (tree_swap_operands_p (_q120, _q121))
28050 : 0 : std::swap (_q120, _q121);
28051 : 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
28052 : : {
28053 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
28054 : : {
28055 : 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
28056 : : {
28057 : 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
28058 : : {
28059 : 0 : {
28060 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
28061 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
28062 : 0 : return true;
28063 : : }
28064 : : }
28065 : : }
28066 : : }
28067 : : }
28068 : 0 : break;
28069 : : }
28070 : : default:;
28071 : : }
28072 : : }
28073 : : break;
28074 : : default:;
28075 : : }
28076 : : break;
28077 : : }
28078 : : default:;
28079 : : }
28080 : : }
28081 : : break;
28082 : 0 : default:;
28083 : : }
28084 : 0 : switch (TREE_CODE (_q101))
28085 : : {
28086 : 0 : case SSA_NAME:
28087 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
28088 : : {
28089 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
28090 : 0 : switch (gimple_assign_rhs_code (_a5))
28091 : : {
28092 : 0 : case VEC_COND_EXPR:
28093 : 0 : {
28094 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
28095 : 0 : _q120 = do_valueize (valueize, _q120);
28096 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
28097 : 0 : _q121 = do_valueize (valueize, _q121);
28098 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
28099 : 0 : _q122 = do_valueize (valueize, _q122);
28100 : 0 : switch (TREE_CODE (_q120))
28101 : : {
28102 : 0 : case SSA_NAME:
28103 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
28104 : : {
28105 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
28106 : 0 : switch (gimple_assign_rhs_code (_a6))
28107 : : {
28108 : 0 : case EQ_EXPR:
28109 : 0 : {
28110 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
28111 : 0 : _q130 = do_valueize (valueize, _q130);
28112 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
28113 : 0 : _q131 = do_valueize (valueize, _q131);
28114 : 0 : if (tree_swap_operands_p (_q130, _q131))
28115 : 0 : std::swap (_q130, _q131);
28116 : 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
28117 : : {
28118 : 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
28119 : : {
28120 : 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
28121 : : {
28122 : 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
28123 : : {
28124 : 0 : {
28125 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
28126 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
28127 : 0 : return true;
28128 : : }
28129 : : }
28130 : : }
28131 : : }
28132 : : }
28133 : 317021 : break;
28134 : : }
28135 : : default:;
28136 : : }
28137 : : }
28138 : : break;
28139 : : default:;
28140 : : }
28141 : : break;
28142 : : }
28143 : : default:;
28144 : : }
28145 : : }
28146 : : break;
28147 : : default:;
28148 : : }
28149 : 317021 : break;
28150 : : }
28151 : : default:;
28152 : : }
28153 : : }
28154 : : break;
28155 : : default:;
28156 : : }
28157 : 317021 : break;
28158 : : }
28159 : 0 : case GE_EXPR:
28160 : 0 : {
28161 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
28162 : 0 : _q40 = do_valueize (valueize, _q40);
28163 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
28164 : 0 : _q41 = do_valueize (valueize, _q41);
28165 : 0 : switch (TREE_CODE (_p1))
28166 : : {
28167 : 0 : case SSA_NAME:
28168 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
28169 : : {
28170 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
28171 : 0 : switch (gimple_assign_rhs_code (_a4))
28172 : : {
28173 : 0 : case BIT_AND_EXPR:
28174 : 0 : {
28175 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
28176 : 0 : _q100 = do_valueize (valueize, _q100);
28177 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
28178 : 0 : _q101 = do_valueize (valueize, _q101);
28179 : 0 : if (tree_swap_operands_p (_q100, _q101))
28180 : 0 : std::swap (_q100, _q101);
28181 : 0 : switch (TREE_CODE (_q100))
28182 : : {
28183 : 0 : case SSA_NAME:
28184 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
28185 : : {
28186 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
28187 : 0 : switch (gimple_assign_rhs_code (_a5))
28188 : : {
28189 : 0 : case VEC_COND_EXPR:
28190 : 0 : {
28191 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
28192 : 0 : _q110 = do_valueize (valueize, _q110);
28193 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
28194 : 0 : _q111 = do_valueize (valueize, _q111);
28195 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
28196 : 0 : _q112 = do_valueize (valueize, _q112);
28197 : 0 : switch (TREE_CODE (_q110))
28198 : : {
28199 : 0 : case SSA_NAME:
28200 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
28201 : : {
28202 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
28203 : 0 : switch (gimple_assign_rhs_code (_a6))
28204 : : {
28205 : 0 : case LT_EXPR:
28206 : 0 : {
28207 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
28208 : 0 : _q120 = do_valueize (valueize, _q120);
28209 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
28210 : 0 : _q121 = do_valueize (valueize, _q121);
28211 : 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
28212 : : {
28213 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
28214 : : {
28215 : 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
28216 : : {
28217 : 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
28218 : : {
28219 : 0 : {
28220 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
28221 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
28222 : 0 : return true;
28223 : : }
28224 : : }
28225 : : }
28226 : : }
28227 : : }
28228 : : break;
28229 : : }
28230 : : default:;
28231 : : }
28232 : : }
28233 : : break;
28234 : : default:;
28235 : : }
28236 : : break;
28237 : : }
28238 : : default:;
28239 : : }
28240 : : }
28241 : : break;
28242 : 0 : default:;
28243 : : }
28244 : 0 : switch (TREE_CODE (_q101))
28245 : : {
28246 : 0 : case SSA_NAME:
28247 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
28248 : : {
28249 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
28250 : 0 : switch (gimple_assign_rhs_code (_a5))
28251 : : {
28252 : 0 : case VEC_COND_EXPR:
28253 : 0 : {
28254 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
28255 : 0 : _q120 = do_valueize (valueize, _q120);
28256 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
28257 : 0 : _q121 = do_valueize (valueize, _q121);
28258 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
28259 : 0 : _q122 = do_valueize (valueize, _q122);
28260 : 0 : switch (TREE_CODE (_q120))
28261 : : {
28262 : 0 : case SSA_NAME:
28263 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
28264 : : {
28265 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
28266 : 0 : switch (gimple_assign_rhs_code (_a6))
28267 : : {
28268 : 0 : case LT_EXPR:
28269 : 0 : {
28270 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
28271 : 0 : _q130 = do_valueize (valueize, _q130);
28272 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
28273 : 0 : _q131 = do_valueize (valueize, _q131);
28274 : 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
28275 : : {
28276 : 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
28277 : : {
28278 : 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
28279 : : {
28280 : 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
28281 : : {
28282 : 0 : {
28283 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
28284 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
28285 : 0 : return true;
28286 : : }
28287 : : }
28288 : : }
28289 : : }
28290 : : }
28291 : : break;
28292 : : }
28293 : : default:;
28294 : : }
28295 : : }
28296 : : break;
28297 : : default:;
28298 : : }
28299 : : break;
28300 : : }
28301 : : default:;
28302 : : }
28303 : : }
28304 : : break;
28305 : : default:;
28306 : : }
28307 : 317021 : break;
28308 : : }
28309 : : default:;
28310 : : }
28311 : : }
28312 : : break;
28313 : : default:;
28314 : : }
28315 : : break;
28316 : : }
28317 : 0 : case GT_EXPR:
28318 : 0 : {
28319 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
28320 : 0 : _q40 = do_valueize (valueize, _q40);
28321 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
28322 : 0 : _q41 = do_valueize (valueize, _q41);
28323 : 0 : switch (TREE_CODE (_p1))
28324 : : {
28325 : 0 : case SSA_NAME:
28326 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
28327 : : {
28328 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
28329 : 0 : switch (gimple_assign_rhs_code (_a4))
28330 : : {
28331 : 0 : case BIT_AND_EXPR:
28332 : 0 : {
28333 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
28334 : 0 : _q100 = do_valueize (valueize, _q100);
28335 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
28336 : 0 : _q101 = do_valueize (valueize, _q101);
28337 : 0 : if (tree_swap_operands_p (_q100, _q101))
28338 : 0 : std::swap (_q100, _q101);
28339 : 0 : switch (TREE_CODE (_q100))
28340 : : {
28341 : 0 : case SSA_NAME:
28342 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
28343 : : {
28344 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
28345 : 0 : switch (gimple_assign_rhs_code (_a5))
28346 : : {
28347 : 0 : case VEC_COND_EXPR:
28348 : 0 : {
28349 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
28350 : 0 : _q110 = do_valueize (valueize, _q110);
28351 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
28352 : 0 : _q111 = do_valueize (valueize, _q111);
28353 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
28354 : 0 : _q112 = do_valueize (valueize, _q112);
28355 : 0 : switch (TREE_CODE (_q110))
28356 : : {
28357 : 0 : case SSA_NAME:
28358 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
28359 : : {
28360 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
28361 : 0 : switch (gimple_assign_rhs_code (_a6))
28362 : : {
28363 : 0 : case LE_EXPR:
28364 : 0 : {
28365 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
28366 : 0 : _q120 = do_valueize (valueize, _q120);
28367 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
28368 : 0 : _q121 = do_valueize (valueize, _q121);
28369 : 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
28370 : : {
28371 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
28372 : : {
28373 : 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
28374 : : {
28375 : 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
28376 : : {
28377 : 0 : {
28378 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
28379 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
28380 : 0 : return true;
28381 : : }
28382 : : }
28383 : : }
28384 : : }
28385 : : }
28386 : : break;
28387 : : }
28388 : : default:;
28389 : : }
28390 : : }
28391 : : break;
28392 : : default:;
28393 : : }
28394 : : break;
28395 : : }
28396 : : default:;
28397 : : }
28398 : : }
28399 : : break;
28400 : 0 : default:;
28401 : : }
28402 : 0 : switch (TREE_CODE (_q101))
28403 : : {
28404 : 0 : case SSA_NAME:
28405 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
28406 : : {
28407 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
28408 : 0 : switch (gimple_assign_rhs_code (_a5))
28409 : : {
28410 : 0 : case VEC_COND_EXPR:
28411 : 0 : {
28412 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
28413 : 0 : _q120 = do_valueize (valueize, _q120);
28414 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
28415 : 0 : _q121 = do_valueize (valueize, _q121);
28416 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
28417 : 0 : _q122 = do_valueize (valueize, _q122);
28418 : 0 : switch (TREE_CODE (_q120))
28419 : : {
28420 : 0 : case SSA_NAME:
28421 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
28422 : : {
28423 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
28424 : 0 : switch (gimple_assign_rhs_code (_a6))
28425 : : {
28426 : 0 : case LE_EXPR:
28427 : 0 : {
28428 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
28429 : 0 : _q130 = do_valueize (valueize, _q130);
28430 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
28431 : 0 : _q131 = do_valueize (valueize, _q131);
28432 : 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
28433 : : {
28434 : 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
28435 : : {
28436 : 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
28437 : : {
28438 : 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
28439 : : {
28440 : 0 : {
28441 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
28442 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
28443 : 0 : return true;
28444 : : }
28445 : : }
28446 : : }
28447 : : }
28448 : : }
28449 : : break;
28450 : : }
28451 : : default:;
28452 : : }
28453 : : }
28454 : : break;
28455 : : default:;
28456 : : }
28457 : : break;
28458 : : }
28459 : : default:;
28460 : : }
28461 : : }
28462 : : break;
28463 : : default:;
28464 : : }
28465 : 317021 : break;
28466 : : }
28467 : : default:;
28468 : : }
28469 : : }
28470 : : break;
28471 : : default:;
28472 : : }
28473 : : break;
28474 : : }
28475 : 0 : case UNORDERED_EXPR:
28476 : 0 : {
28477 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
28478 : 0 : _q40 = do_valueize (valueize, _q40);
28479 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
28480 : 0 : _q41 = do_valueize (valueize, _q41);
28481 : 0 : if (tree_swap_operands_p (_q40, _q41))
28482 : 0 : std::swap (_q40, _q41);
28483 : 0 : switch (TREE_CODE (_p1))
28484 : : {
28485 : 0 : case SSA_NAME:
28486 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
28487 : : {
28488 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
28489 : 0 : switch (gimple_assign_rhs_code (_a4))
28490 : : {
28491 : 0 : case BIT_AND_EXPR:
28492 : 0 : {
28493 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
28494 : 0 : _q100 = do_valueize (valueize, _q100);
28495 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
28496 : 0 : _q101 = do_valueize (valueize, _q101);
28497 : 0 : if (tree_swap_operands_p (_q100, _q101))
28498 : 0 : std::swap (_q100, _q101);
28499 : 0 : switch (TREE_CODE (_q100))
28500 : : {
28501 : 0 : case SSA_NAME:
28502 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
28503 : : {
28504 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
28505 : 0 : switch (gimple_assign_rhs_code (_a5))
28506 : : {
28507 : 0 : case VEC_COND_EXPR:
28508 : 0 : {
28509 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
28510 : 0 : _q110 = do_valueize (valueize, _q110);
28511 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
28512 : 0 : _q111 = do_valueize (valueize, _q111);
28513 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
28514 : 0 : _q112 = do_valueize (valueize, _q112);
28515 : 0 : switch (TREE_CODE (_q110))
28516 : : {
28517 : 0 : case SSA_NAME:
28518 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
28519 : : {
28520 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
28521 : 0 : switch (gimple_assign_rhs_code (_a6))
28522 : : {
28523 : 0 : case ORDERED_EXPR:
28524 : 0 : {
28525 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
28526 : 0 : _q120 = do_valueize (valueize, _q120);
28527 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
28528 : 0 : _q121 = do_valueize (valueize, _q121);
28529 : 0 : if (tree_swap_operands_p (_q120, _q121))
28530 : 0 : std::swap (_q120, _q121);
28531 : 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
28532 : : {
28533 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
28534 : : {
28535 : 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
28536 : : {
28537 : 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
28538 : : {
28539 : 0 : {
28540 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
28541 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
28542 : 0 : return true;
28543 : : }
28544 : : }
28545 : : }
28546 : : }
28547 : : }
28548 : 0 : break;
28549 : : }
28550 : : default:;
28551 : : }
28552 : : }
28553 : : break;
28554 : : default:;
28555 : : }
28556 : : break;
28557 : : }
28558 : : default:;
28559 : : }
28560 : : }
28561 : : break;
28562 : 0 : default:;
28563 : : }
28564 : 0 : switch (TREE_CODE (_q101))
28565 : : {
28566 : 0 : case SSA_NAME:
28567 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
28568 : : {
28569 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
28570 : 0 : switch (gimple_assign_rhs_code (_a5))
28571 : : {
28572 : 0 : case VEC_COND_EXPR:
28573 : 0 : {
28574 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
28575 : 0 : _q120 = do_valueize (valueize, _q120);
28576 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
28577 : 0 : _q121 = do_valueize (valueize, _q121);
28578 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
28579 : 0 : _q122 = do_valueize (valueize, _q122);
28580 : 0 : switch (TREE_CODE (_q120))
28581 : : {
28582 : 0 : case SSA_NAME:
28583 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
28584 : : {
28585 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
28586 : 0 : switch (gimple_assign_rhs_code (_a6))
28587 : : {
28588 : 0 : case ORDERED_EXPR:
28589 : 0 : {
28590 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
28591 : 0 : _q130 = do_valueize (valueize, _q130);
28592 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
28593 : 0 : _q131 = do_valueize (valueize, _q131);
28594 : 0 : if (tree_swap_operands_p (_q130, _q131))
28595 : 0 : std::swap (_q130, _q131);
28596 : 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
28597 : : {
28598 : 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
28599 : : {
28600 : 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
28601 : : {
28602 : 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
28603 : : {
28604 : 0 : {
28605 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
28606 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
28607 : 0 : return true;
28608 : : }
28609 : : }
28610 : : }
28611 : : }
28612 : : }
28613 : 317021 : break;
28614 : : }
28615 : : default:;
28616 : : }
28617 : : }
28618 : : break;
28619 : : default:;
28620 : : }
28621 : : break;
28622 : : }
28623 : : default:;
28624 : : }
28625 : : }
28626 : : break;
28627 : : default:;
28628 : : }
28629 : 317021 : break;
28630 : : }
28631 : : default:;
28632 : : }
28633 : : }
28634 : : break;
28635 : : default:;
28636 : : }
28637 : 317021 : break;
28638 : : }
28639 : 0 : case ORDERED_EXPR:
28640 : 0 : {
28641 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
28642 : 0 : _q40 = do_valueize (valueize, _q40);
28643 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
28644 : 0 : _q41 = do_valueize (valueize, _q41);
28645 : 0 : if (tree_swap_operands_p (_q40, _q41))
28646 : 0 : std::swap (_q40, _q41);
28647 : 0 : switch (TREE_CODE (_p1))
28648 : : {
28649 : 0 : case SSA_NAME:
28650 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
28651 : : {
28652 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
28653 : 0 : switch (gimple_assign_rhs_code (_a4))
28654 : : {
28655 : 0 : case BIT_AND_EXPR:
28656 : 0 : {
28657 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
28658 : 0 : _q100 = do_valueize (valueize, _q100);
28659 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
28660 : 0 : _q101 = do_valueize (valueize, _q101);
28661 : 0 : if (tree_swap_operands_p (_q100, _q101))
28662 : 0 : std::swap (_q100, _q101);
28663 : 0 : switch (TREE_CODE (_q100))
28664 : : {
28665 : 0 : case SSA_NAME:
28666 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
28667 : : {
28668 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
28669 : 0 : switch (gimple_assign_rhs_code (_a5))
28670 : : {
28671 : 0 : case VEC_COND_EXPR:
28672 : 0 : {
28673 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
28674 : 0 : _q110 = do_valueize (valueize, _q110);
28675 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
28676 : 0 : _q111 = do_valueize (valueize, _q111);
28677 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
28678 : 0 : _q112 = do_valueize (valueize, _q112);
28679 : 0 : switch (TREE_CODE (_q110))
28680 : : {
28681 : 0 : case SSA_NAME:
28682 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
28683 : : {
28684 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
28685 : 0 : switch (gimple_assign_rhs_code (_a6))
28686 : : {
28687 : 0 : case UNORDERED_EXPR:
28688 : 0 : {
28689 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
28690 : 0 : _q120 = do_valueize (valueize, _q120);
28691 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
28692 : 0 : _q121 = do_valueize (valueize, _q121);
28693 : 0 : if (tree_swap_operands_p (_q120, _q121))
28694 : 0 : std::swap (_q120, _q121);
28695 : 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
28696 : : {
28697 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
28698 : : {
28699 : 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
28700 : : {
28701 : 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
28702 : : {
28703 : 0 : {
28704 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
28705 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
28706 : 0 : return true;
28707 : : }
28708 : : }
28709 : : }
28710 : : }
28711 : : }
28712 : 0 : break;
28713 : : }
28714 : : default:;
28715 : : }
28716 : : }
28717 : : break;
28718 : : default:;
28719 : : }
28720 : : break;
28721 : : }
28722 : : default:;
28723 : : }
28724 : : }
28725 : : break;
28726 : 0 : default:;
28727 : : }
28728 : 0 : switch (TREE_CODE (_q101))
28729 : : {
28730 : 0 : case SSA_NAME:
28731 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
28732 : : {
28733 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
28734 : 0 : switch (gimple_assign_rhs_code (_a5))
28735 : : {
28736 : 0 : case VEC_COND_EXPR:
28737 : 0 : {
28738 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
28739 : 0 : _q120 = do_valueize (valueize, _q120);
28740 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
28741 : 0 : _q121 = do_valueize (valueize, _q121);
28742 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
28743 : 0 : _q122 = do_valueize (valueize, _q122);
28744 : 0 : switch (TREE_CODE (_q120))
28745 : : {
28746 : 0 : case SSA_NAME:
28747 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
28748 : : {
28749 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
28750 : 0 : switch (gimple_assign_rhs_code (_a6))
28751 : : {
28752 : 0 : case UNORDERED_EXPR:
28753 : 0 : {
28754 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
28755 : 0 : _q130 = do_valueize (valueize, _q130);
28756 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
28757 : 0 : _q131 = do_valueize (valueize, _q131);
28758 : 0 : if (tree_swap_operands_p (_q130, _q131))
28759 : 0 : std::swap (_q130, _q131);
28760 : 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
28761 : : {
28762 : 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
28763 : : {
28764 : 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
28765 : : {
28766 : 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
28767 : : {
28768 : 0 : {
28769 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
28770 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
28771 : 0 : return true;
28772 : : }
28773 : : }
28774 : : }
28775 : : }
28776 : : }
28777 : 317021 : break;
28778 : : }
28779 : : default:;
28780 : : }
28781 : : }
28782 : : break;
28783 : : default:;
28784 : : }
28785 : : break;
28786 : : }
28787 : : default:;
28788 : : }
28789 : : }
28790 : : break;
28791 : : default:;
28792 : : }
28793 : 317021 : break;
28794 : : }
28795 : : default:;
28796 : : }
28797 : : }
28798 : : break;
28799 : : default:;
28800 : : }
28801 : 317021 : break;
28802 : : }
28803 : 0 : case UNLT_EXPR:
28804 : 0 : {
28805 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
28806 : 0 : _q40 = do_valueize (valueize, _q40);
28807 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
28808 : 0 : _q41 = do_valueize (valueize, _q41);
28809 : 0 : switch (TREE_CODE (_p1))
28810 : : {
28811 : 0 : case SSA_NAME:
28812 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
28813 : : {
28814 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
28815 : 0 : switch (gimple_assign_rhs_code (_a4))
28816 : : {
28817 : 0 : case BIT_AND_EXPR:
28818 : 0 : {
28819 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
28820 : 0 : _q100 = do_valueize (valueize, _q100);
28821 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
28822 : 0 : _q101 = do_valueize (valueize, _q101);
28823 : 0 : if (tree_swap_operands_p (_q100, _q101))
28824 : 0 : std::swap (_q100, _q101);
28825 : 0 : switch (TREE_CODE (_q100))
28826 : : {
28827 : 0 : case SSA_NAME:
28828 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
28829 : : {
28830 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
28831 : 0 : switch (gimple_assign_rhs_code (_a5))
28832 : : {
28833 : 0 : case VEC_COND_EXPR:
28834 : 0 : {
28835 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
28836 : 0 : _q110 = do_valueize (valueize, _q110);
28837 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
28838 : 0 : _q111 = do_valueize (valueize, _q111);
28839 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
28840 : 0 : _q112 = do_valueize (valueize, _q112);
28841 : 0 : switch (TREE_CODE (_q110))
28842 : : {
28843 : 0 : case SSA_NAME:
28844 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
28845 : : {
28846 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
28847 : 0 : switch (gimple_assign_rhs_code (_a6))
28848 : : {
28849 : 0 : case GE_EXPR:
28850 : 0 : {
28851 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
28852 : 0 : _q120 = do_valueize (valueize, _q120);
28853 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
28854 : 0 : _q121 = do_valueize (valueize, _q121);
28855 : 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
28856 : : {
28857 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
28858 : : {
28859 : 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
28860 : : {
28861 : 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
28862 : : {
28863 : 0 : {
28864 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
28865 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR))
28866 : 0 : return true;
28867 : : }
28868 : : }
28869 : : }
28870 : : }
28871 : : }
28872 : : break;
28873 : : }
28874 : : default:;
28875 : : }
28876 : : }
28877 : : break;
28878 : : default:;
28879 : : }
28880 : : break;
28881 : : }
28882 : : default:;
28883 : : }
28884 : : }
28885 : : break;
28886 : 0 : default:;
28887 : : }
28888 : 0 : switch (TREE_CODE (_q101))
28889 : : {
28890 : 0 : case SSA_NAME:
28891 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
28892 : : {
28893 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
28894 : 0 : switch (gimple_assign_rhs_code (_a5))
28895 : : {
28896 : 0 : case VEC_COND_EXPR:
28897 : 0 : {
28898 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
28899 : 0 : _q120 = do_valueize (valueize, _q120);
28900 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
28901 : 0 : _q121 = do_valueize (valueize, _q121);
28902 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
28903 : 0 : _q122 = do_valueize (valueize, _q122);
28904 : 0 : switch (TREE_CODE (_q120))
28905 : : {
28906 : 0 : case SSA_NAME:
28907 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
28908 : : {
28909 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
28910 : 0 : switch (gimple_assign_rhs_code (_a6))
28911 : : {
28912 : 0 : case GE_EXPR:
28913 : 0 : {
28914 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
28915 : 0 : _q130 = do_valueize (valueize, _q130);
28916 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
28917 : 0 : _q131 = do_valueize (valueize, _q131);
28918 : 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
28919 : : {
28920 : 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
28921 : : {
28922 : 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
28923 : : {
28924 : 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
28925 : : {
28926 : 0 : {
28927 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
28928 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR))
28929 : 0 : return true;
28930 : : }
28931 : : }
28932 : : }
28933 : : }
28934 : : }
28935 : : break;
28936 : : }
28937 : : default:;
28938 : : }
28939 : : }
28940 : : break;
28941 : : default:;
28942 : : }
28943 : : break;
28944 : : }
28945 : : default:;
28946 : : }
28947 : : }
28948 : : break;
28949 : : default:;
28950 : : }
28951 : 317021 : break;
28952 : : }
28953 : : default:;
28954 : : }
28955 : : }
28956 : : break;
28957 : : default:;
28958 : : }
28959 : : break;
28960 : : }
28961 : 0 : case UNLE_EXPR:
28962 : 0 : {
28963 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
28964 : 0 : _q40 = do_valueize (valueize, _q40);
28965 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
28966 : 0 : _q41 = do_valueize (valueize, _q41);
28967 : 0 : switch (TREE_CODE (_p1))
28968 : : {
28969 : 0 : case SSA_NAME:
28970 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
28971 : : {
28972 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
28973 : 0 : switch (gimple_assign_rhs_code (_a4))
28974 : : {
28975 : 0 : case BIT_AND_EXPR:
28976 : 0 : {
28977 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
28978 : 0 : _q100 = do_valueize (valueize, _q100);
28979 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
28980 : 0 : _q101 = do_valueize (valueize, _q101);
28981 : 0 : if (tree_swap_operands_p (_q100, _q101))
28982 : 0 : std::swap (_q100, _q101);
28983 : 0 : switch (TREE_CODE (_q100))
28984 : : {
28985 : 0 : case SSA_NAME:
28986 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
28987 : : {
28988 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
28989 : 0 : switch (gimple_assign_rhs_code (_a5))
28990 : : {
28991 : 0 : case VEC_COND_EXPR:
28992 : 0 : {
28993 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
28994 : 0 : _q110 = do_valueize (valueize, _q110);
28995 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
28996 : 0 : _q111 = do_valueize (valueize, _q111);
28997 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
28998 : 0 : _q112 = do_valueize (valueize, _q112);
28999 : 0 : switch (TREE_CODE (_q110))
29000 : : {
29001 : 0 : case SSA_NAME:
29002 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
29003 : : {
29004 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
29005 : 0 : switch (gimple_assign_rhs_code (_a6))
29006 : : {
29007 : 0 : case GT_EXPR:
29008 : 0 : {
29009 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
29010 : 0 : _q120 = do_valueize (valueize, _q120);
29011 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
29012 : 0 : _q121 = do_valueize (valueize, _q121);
29013 : 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
29014 : : {
29015 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
29016 : : {
29017 : 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
29018 : : {
29019 : 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
29020 : : {
29021 : 0 : {
29022 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
29023 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
29024 : 0 : return true;
29025 : : }
29026 : : }
29027 : : }
29028 : : }
29029 : : }
29030 : : break;
29031 : : }
29032 : : default:;
29033 : : }
29034 : : }
29035 : : break;
29036 : : default:;
29037 : : }
29038 : : break;
29039 : : }
29040 : : default:;
29041 : : }
29042 : : }
29043 : : break;
29044 : 0 : default:;
29045 : : }
29046 : 0 : switch (TREE_CODE (_q101))
29047 : : {
29048 : 0 : case SSA_NAME:
29049 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
29050 : : {
29051 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
29052 : 0 : switch (gimple_assign_rhs_code (_a5))
29053 : : {
29054 : 0 : case VEC_COND_EXPR:
29055 : 0 : {
29056 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
29057 : 0 : _q120 = do_valueize (valueize, _q120);
29058 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
29059 : 0 : _q121 = do_valueize (valueize, _q121);
29060 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
29061 : 0 : _q122 = do_valueize (valueize, _q122);
29062 : 0 : switch (TREE_CODE (_q120))
29063 : : {
29064 : 0 : case SSA_NAME:
29065 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
29066 : : {
29067 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
29068 : 0 : switch (gimple_assign_rhs_code (_a6))
29069 : : {
29070 : 0 : case GT_EXPR:
29071 : 0 : {
29072 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
29073 : 0 : _q130 = do_valueize (valueize, _q130);
29074 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
29075 : 0 : _q131 = do_valueize (valueize, _q131);
29076 : 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
29077 : : {
29078 : 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
29079 : : {
29080 : 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
29081 : : {
29082 : 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
29083 : : {
29084 : 0 : {
29085 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
29086 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
29087 : 0 : return true;
29088 : : }
29089 : : }
29090 : : }
29091 : : }
29092 : : }
29093 : : break;
29094 : : }
29095 : : default:;
29096 : : }
29097 : : }
29098 : : break;
29099 : : default:;
29100 : : }
29101 : : break;
29102 : : }
29103 : : default:;
29104 : : }
29105 : : }
29106 : : break;
29107 : : default:;
29108 : : }
29109 : 317021 : break;
29110 : : }
29111 : : default:;
29112 : : }
29113 : : }
29114 : : break;
29115 : : default:;
29116 : : }
29117 : : break;
29118 : : }
29119 : 0 : case UNGT_EXPR:
29120 : 0 : {
29121 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
29122 : 0 : _q40 = do_valueize (valueize, _q40);
29123 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
29124 : 0 : _q41 = do_valueize (valueize, _q41);
29125 : 0 : switch (TREE_CODE (_p1))
29126 : : {
29127 : 0 : case SSA_NAME:
29128 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
29129 : : {
29130 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
29131 : 0 : switch (gimple_assign_rhs_code (_a4))
29132 : : {
29133 : 0 : case BIT_AND_EXPR:
29134 : 0 : {
29135 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
29136 : 0 : _q100 = do_valueize (valueize, _q100);
29137 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
29138 : 0 : _q101 = do_valueize (valueize, _q101);
29139 : 0 : if (tree_swap_operands_p (_q100, _q101))
29140 : 0 : std::swap (_q100, _q101);
29141 : 0 : switch (TREE_CODE (_q100))
29142 : : {
29143 : 0 : case SSA_NAME:
29144 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
29145 : : {
29146 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
29147 : 0 : switch (gimple_assign_rhs_code (_a5))
29148 : : {
29149 : 0 : case VEC_COND_EXPR:
29150 : 0 : {
29151 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
29152 : 0 : _q110 = do_valueize (valueize, _q110);
29153 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
29154 : 0 : _q111 = do_valueize (valueize, _q111);
29155 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
29156 : 0 : _q112 = do_valueize (valueize, _q112);
29157 : 0 : switch (TREE_CODE (_q110))
29158 : : {
29159 : 0 : case SSA_NAME:
29160 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
29161 : : {
29162 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
29163 : 0 : switch (gimple_assign_rhs_code (_a6))
29164 : : {
29165 : 0 : case LE_EXPR:
29166 : 0 : {
29167 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
29168 : 0 : _q120 = do_valueize (valueize, _q120);
29169 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
29170 : 0 : _q121 = do_valueize (valueize, _q121);
29171 : 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
29172 : : {
29173 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
29174 : : {
29175 : 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
29176 : : {
29177 : 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
29178 : : {
29179 : 0 : {
29180 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
29181 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
29182 : 0 : return true;
29183 : : }
29184 : : }
29185 : : }
29186 : : }
29187 : : }
29188 : : break;
29189 : : }
29190 : : default:;
29191 : : }
29192 : : }
29193 : : break;
29194 : : default:;
29195 : : }
29196 : : break;
29197 : : }
29198 : : default:;
29199 : : }
29200 : : }
29201 : : break;
29202 : 0 : default:;
29203 : : }
29204 : 0 : switch (TREE_CODE (_q101))
29205 : : {
29206 : 0 : case SSA_NAME:
29207 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
29208 : : {
29209 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
29210 : 0 : switch (gimple_assign_rhs_code (_a5))
29211 : : {
29212 : 0 : case VEC_COND_EXPR:
29213 : 0 : {
29214 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
29215 : 0 : _q120 = do_valueize (valueize, _q120);
29216 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
29217 : 0 : _q121 = do_valueize (valueize, _q121);
29218 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
29219 : 0 : _q122 = do_valueize (valueize, _q122);
29220 : 0 : switch (TREE_CODE (_q120))
29221 : : {
29222 : 0 : case SSA_NAME:
29223 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
29224 : : {
29225 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
29226 : 0 : switch (gimple_assign_rhs_code (_a6))
29227 : : {
29228 : 0 : case LE_EXPR:
29229 : 0 : {
29230 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
29231 : 0 : _q130 = do_valueize (valueize, _q130);
29232 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
29233 : 0 : _q131 = do_valueize (valueize, _q131);
29234 : 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
29235 : : {
29236 : 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
29237 : : {
29238 : 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
29239 : : {
29240 : 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
29241 : : {
29242 : 0 : {
29243 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
29244 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
29245 : 0 : return true;
29246 : : }
29247 : : }
29248 : : }
29249 : : }
29250 : : }
29251 : : break;
29252 : : }
29253 : : default:;
29254 : : }
29255 : : }
29256 : : break;
29257 : : default:;
29258 : : }
29259 : : break;
29260 : : }
29261 : : default:;
29262 : : }
29263 : : }
29264 : : break;
29265 : : default:;
29266 : : }
29267 : 317021 : break;
29268 : : }
29269 : : default:;
29270 : : }
29271 : : }
29272 : : break;
29273 : : default:;
29274 : : }
29275 : : break;
29276 : : }
29277 : 0 : case UNGE_EXPR:
29278 : 0 : {
29279 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
29280 : 0 : _q40 = do_valueize (valueize, _q40);
29281 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
29282 : 0 : _q41 = do_valueize (valueize, _q41);
29283 : 0 : switch (TREE_CODE (_p1))
29284 : : {
29285 : 0 : case SSA_NAME:
29286 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
29287 : : {
29288 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
29289 : 0 : switch (gimple_assign_rhs_code (_a4))
29290 : : {
29291 : 0 : case BIT_AND_EXPR:
29292 : 0 : {
29293 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
29294 : 0 : _q100 = do_valueize (valueize, _q100);
29295 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
29296 : 0 : _q101 = do_valueize (valueize, _q101);
29297 : 0 : if (tree_swap_operands_p (_q100, _q101))
29298 : 0 : std::swap (_q100, _q101);
29299 : 0 : switch (TREE_CODE (_q100))
29300 : : {
29301 : 0 : case SSA_NAME:
29302 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
29303 : : {
29304 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
29305 : 0 : switch (gimple_assign_rhs_code (_a5))
29306 : : {
29307 : 0 : case VEC_COND_EXPR:
29308 : 0 : {
29309 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
29310 : 0 : _q110 = do_valueize (valueize, _q110);
29311 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
29312 : 0 : _q111 = do_valueize (valueize, _q111);
29313 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
29314 : 0 : _q112 = do_valueize (valueize, _q112);
29315 : 0 : switch (TREE_CODE (_q110))
29316 : : {
29317 : 0 : case SSA_NAME:
29318 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
29319 : : {
29320 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
29321 : 0 : switch (gimple_assign_rhs_code (_a6))
29322 : : {
29323 : 0 : case LT_EXPR:
29324 : 0 : {
29325 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
29326 : 0 : _q120 = do_valueize (valueize, _q120);
29327 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
29328 : 0 : _q121 = do_valueize (valueize, _q121);
29329 : 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
29330 : : {
29331 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
29332 : : {
29333 : 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
29334 : : {
29335 : 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
29336 : : {
29337 : 0 : {
29338 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
29339 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
29340 : 0 : return true;
29341 : : }
29342 : : }
29343 : : }
29344 : : }
29345 : : }
29346 : : break;
29347 : : }
29348 : : default:;
29349 : : }
29350 : : }
29351 : : break;
29352 : : default:;
29353 : : }
29354 : : break;
29355 : : }
29356 : : default:;
29357 : : }
29358 : : }
29359 : : break;
29360 : 0 : default:;
29361 : : }
29362 : 0 : switch (TREE_CODE (_q101))
29363 : : {
29364 : 0 : case SSA_NAME:
29365 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
29366 : : {
29367 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
29368 : 0 : switch (gimple_assign_rhs_code (_a5))
29369 : : {
29370 : 0 : case VEC_COND_EXPR:
29371 : 0 : {
29372 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
29373 : 0 : _q120 = do_valueize (valueize, _q120);
29374 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
29375 : 0 : _q121 = do_valueize (valueize, _q121);
29376 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
29377 : 0 : _q122 = do_valueize (valueize, _q122);
29378 : 0 : switch (TREE_CODE (_q120))
29379 : : {
29380 : 0 : case SSA_NAME:
29381 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
29382 : : {
29383 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
29384 : 0 : switch (gimple_assign_rhs_code (_a6))
29385 : : {
29386 : 0 : case LT_EXPR:
29387 : 0 : {
29388 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
29389 : 0 : _q130 = do_valueize (valueize, _q130);
29390 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
29391 : 0 : _q131 = do_valueize (valueize, _q131);
29392 : 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
29393 : : {
29394 : 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
29395 : : {
29396 : 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
29397 : : {
29398 : 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
29399 : : {
29400 : 0 : {
29401 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
29402 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
29403 : 0 : return true;
29404 : : }
29405 : : }
29406 : : }
29407 : : }
29408 : : }
29409 : : break;
29410 : : }
29411 : : default:;
29412 : : }
29413 : : }
29414 : : break;
29415 : : default:;
29416 : : }
29417 : : break;
29418 : : }
29419 : : default:;
29420 : : }
29421 : : }
29422 : : break;
29423 : : default:;
29424 : : }
29425 : 317021 : break;
29426 : : }
29427 : : default:;
29428 : : }
29429 : : }
29430 : : break;
29431 : : default:;
29432 : : }
29433 : : break;
29434 : : }
29435 : 0 : case UNEQ_EXPR:
29436 : 0 : {
29437 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
29438 : 0 : _q40 = do_valueize (valueize, _q40);
29439 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
29440 : 0 : _q41 = do_valueize (valueize, _q41);
29441 : 0 : if (tree_swap_operands_p (_q40, _q41))
29442 : 0 : std::swap (_q40, _q41);
29443 : 0 : switch (TREE_CODE (_p1))
29444 : : {
29445 : 0 : case SSA_NAME:
29446 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
29447 : : {
29448 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
29449 : 0 : switch (gimple_assign_rhs_code (_a4))
29450 : : {
29451 : 0 : case BIT_AND_EXPR:
29452 : 0 : {
29453 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
29454 : 0 : _q100 = do_valueize (valueize, _q100);
29455 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
29456 : 0 : _q101 = do_valueize (valueize, _q101);
29457 : 0 : if (tree_swap_operands_p (_q100, _q101))
29458 : 0 : std::swap (_q100, _q101);
29459 : 0 : switch (TREE_CODE (_q100))
29460 : : {
29461 : 0 : case SSA_NAME:
29462 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
29463 : : {
29464 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
29465 : 0 : switch (gimple_assign_rhs_code (_a5))
29466 : : {
29467 : 0 : case VEC_COND_EXPR:
29468 : 0 : {
29469 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
29470 : 0 : _q110 = do_valueize (valueize, _q110);
29471 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
29472 : 0 : _q111 = do_valueize (valueize, _q111);
29473 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
29474 : 0 : _q112 = do_valueize (valueize, _q112);
29475 : 0 : switch (TREE_CODE (_q110))
29476 : : {
29477 : 0 : case SSA_NAME:
29478 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
29479 : : {
29480 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
29481 : 0 : switch (gimple_assign_rhs_code (_a6))
29482 : : {
29483 : 0 : case LTGT_EXPR:
29484 : 0 : {
29485 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
29486 : 0 : _q120 = do_valueize (valueize, _q120);
29487 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
29488 : 0 : _q121 = do_valueize (valueize, _q121);
29489 : 0 : if (tree_swap_operands_p (_q120, _q121))
29490 : 0 : std::swap (_q120, _q121);
29491 : 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
29492 : : {
29493 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
29494 : : {
29495 : 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
29496 : : {
29497 : 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
29498 : : {
29499 : 0 : {
29500 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
29501 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
29502 : 0 : return true;
29503 : : }
29504 : : }
29505 : : }
29506 : : }
29507 : : }
29508 : 0 : break;
29509 : : }
29510 : : default:;
29511 : : }
29512 : : }
29513 : : break;
29514 : : default:;
29515 : : }
29516 : : break;
29517 : : }
29518 : : default:;
29519 : : }
29520 : : }
29521 : : break;
29522 : 0 : default:;
29523 : : }
29524 : 0 : switch (TREE_CODE (_q101))
29525 : : {
29526 : 0 : case SSA_NAME:
29527 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
29528 : : {
29529 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
29530 : 0 : switch (gimple_assign_rhs_code (_a5))
29531 : : {
29532 : 0 : case VEC_COND_EXPR:
29533 : 0 : {
29534 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
29535 : 0 : _q120 = do_valueize (valueize, _q120);
29536 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
29537 : 0 : _q121 = do_valueize (valueize, _q121);
29538 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
29539 : 0 : _q122 = do_valueize (valueize, _q122);
29540 : 0 : switch (TREE_CODE (_q120))
29541 : : {
29542 : 0 : case SSA_NAME:
29543 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
29544 : : {
29545 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
29546 : 0 : switch (gimple_assign_rhs_code (_a6))
29547 : : {
29548 : 0 : case LTGT_EXPR:
29549 : 0 : {
29550 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
29551 : 0 : _q130 = do_valueize (valueize, _q130);
29552 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
29553 : 0 : _q131 = do_valueize (valueize, _q131);
29554 : 0 : if (tree_swap_operands_p (_q130, _q131))
29555 : 0 : std::swap (_q130, _q131);
29556 : 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
29557 : : {
29558 : 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
29559 : : {
29560 : 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
29561 : : {
29562 : 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
29563 : : {
29564 : 0 : {
29565 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
29566 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
29567 : 0 : return true;
29568 : : }
29569 : : }
29570 : : }
29571 : : }
29572 : : }
29573 : 317021 : break;
29574 : : }
29575 : : default:;
29576 : : }
29577 : : }
29578 : : break;
29579 : : default:;
29580 : : }
29581 : : break;
29582 : : }
29583 : : default:;
29584 : : }
29585 : : }
29586 : : break;
29587 : : default:;
29588 : : }
29589 : 317021 : break;
29590 : : }
29591 : : default:;
29592 : : }
29593 : : }
29594 : : break;
29595 : : default:;
29596 : : }
29597 : 317021 : break;
29598 : : }
29599 : 0 : case LTGT_EXPR:
29600 : 0 : {
29601 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
29602 : 0 : _q40 = do_valueize (valueize, _q40);
29603 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
29604 : 0 : _q41 = do_valueize (valueize, _q41);
29605 : 0 : if (tree_swap_operands_p (_q40, _q41))
29606 : 0 : std::swap (_q40, _q41);
29607 : 0 : switch (TREE_CODE (_p1))
29608 : : {
29609 : 0 : case SSA_NAME:
29610 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
29611 : : {
29612 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
29613 : 0 : switch (gimple_assign_rhs_code (_a4))
29614 : : {
29615 : 0 : case BIT_AND_EXPR:
29616 : 0 : {
29617 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
29618 : 0 : _q100 = do_valueize (valueize, _q100);
29619 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
29620 : 0 : _q101 = do_valueize (valueize, _q101);
29621 : 0 : if (tree_swap_operands_p (_q100, _q101))
29622 : 0 : std::swap (_q100, _q101);
29623 : 0 : switch (TREE_CODE (_q100))
29624 : : {
29625 : 0 : case SSA_NAME:
29626 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
29627 : : {
29628 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
29629 : 0 : switch (gimple_assign_rhs_code (_a5))
29630 : : {
29631 : 0 : case VEC_COND_EXPR:
29632 : 0 : {
29633 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
29634 : 0 : _q110 = do_valueize (valueize, _q110);
29635 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
29636 : 0 : _q111 = do_valueize (valueize, _q111);
29637 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
29638 : 0 : _q112 = do_valueize (valueize, _q112);
29639 : 0 : switch (TREE_CODE (_q110))
29640 : : {
29641 : 0 : case SSA_NAME:
29642 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
29643 : : {
29644 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
29645 : 0 : switch (gimple_assign_rhs_code (_a6))
29646 : : {
29647 : 0 : case UNEQ_EXPR:
29648 : 0 : {
29649 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
29650 : 0 : _q120 = do_valueize (valueize, _q120);
29651 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
29652 : 0 : _q121 = do_valueize (valueize, _q121);
29653 : 0 : if (tree_swap_operands_p (_q120, _q121))
29654 : 0 : std::swap (_q120, _q121);
29655 : 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
29656 : : {
29657 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
29658 : : {
29659 : 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
29660 : : {
29661 : 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
29662 : : {
29663 : 0 : {
29664 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
29665 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
29666 : 0 : return true;
29667 : : }
29668 : : }
29669 : : }
29670 : : }
29671 : : }
29672 : 0 : break;
29673 : : }
29674 : : default:;
29675 : : }
29676 : : }
29677 : : break;
29678 : : default:;
29679 : : }
29680 : : break;
29681 : : }
29682 : : default:;
29683 : : }
29684 : : }
29685 : : break;
29686 : 0 : default:;
29687 : : }
29688 : 0 : switch (TREE_CODE (_q101))
29689 : : {
29690 : 0 : case SSA_NAME:
29691 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
29692 : : {
29693 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
29694 : 0 : switch (gimple_assign_rhs_code (_a5))
29695 : : {
29696 : 0 : case VEC_COND_EXPR:
29697 : 0 : {
29698 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
29699 : 0 : _q120 = do_valueize (valueize, _q120);
29700 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
29701 : 0 : _q121 = do_valueize (valueize, _q121);
29702 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
29703 : 0 : _q122 = do_valueize (valueize, _q122);
29704 : 0 : switch (TREE_CODE (_q120))
29705 : : {
29706 : 0 : case SSA_NAME:
29707 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
29708 : : {
29709 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
29710 : 0 : switch (gimple_assign_rhs_code (_a6))
29711 : : {
29712 : 0 : case UNEQ_EXPR:
29713 : 0 : {
29714 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
29715 : 0 : _q130 = do_valueize (valueize, _q130);
29716 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
29717 : 0 : _q131 = do_valueize (valueize, _q131);
29718 : 0 : if (tree_swap_operands_p (_q130, _q131))
29719 : 0 : std::swap (_q130, _q131);
29720 : 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
29721 : : {
29722 : 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
29723 : : {
29724 : 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
29725 : : {
29726 : 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
29727 : : {
29728 : 0 : {
29729 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
29730 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
29731 : 0 : return true;
29732 : : }
29733 : : }
29734 : : }
29735 : : }
29736 : : }
29737 : 317021 : break;
29738 : : }
29739 : : default:;
29740 : : }
29741 : : }
29742 : : break;
29743 : : default:;
29744 : : }
29745 : : break;
29746 : : }
29747 : : default:;
29748 : : }
29749 : : }
29750 : : break;
29751 : : default:;
29752 : : }
29753 : 317021 : break;
29754 : : }
29755 : : default:;
29756 : : }
29757 : : }
29758 : : break;
29759 : : default:;
29760 : : }
29761 : 317021 : break;
29762 : : }
29763 : : default:;
29764 : : }
29765 : : }
29766 : : break;
29767 : : default:;
29768 : : }
29769 : : break;
29770 : : }
29771 : : default:;
29772 : : }
29773 : : }
29774 : : break;
29775 : 317021 : default:;
29776 : : }
29777 : 317021 : switch (TREE_CODE (_q21))
29778 : : {
29779 : 134804 : case SSA_NAME:
29780 : 134804 : if (gimple *_d2 = get_def (valueize, _q21))
29781 : : {
29782 : 114799 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
29783 : 133845 : switch (gimple_assign_rhs_code (_a2))
29784 : : {
29785 : 1 : case VEC_COND_EXPR:
29786 : 1 : {
29787 : 1 : tree _q40 = gimple_assign_rhs1 (_a2);
29788 : 1 : _q40 = do_valueize (valueize, _q40);
29789 : 1 : tree _q41 = gimple_assign_rhs2 (_a2);
29790 : 1 : _q41 = do_valueize (valueize, _q41);
29791 : 1 : tree _q42 = gimple_assign_rhs3 (_a2);
29792 : 1 : _q42 = do_valueize (valueize, _q42);
29793 : 1 : switch (TREE_CODE (_q40))
29794 : : {
29795 : 1 : case SSA_NAME:
29796 : 1 : if (gimple *_d3 = get_def (valueize, _q40))
29797 : : {
29798 : 1 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
29799 : 1 : switch (gimple_assign_rhs_code (_a3))
29800 : : {
29801 : 0 : case LT_EXPR:
29802 : 0 : {
29803 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
29804 : 0 : _q50 = do_valueize (valueize, _q50);
29805 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
29806 : 0 : _q51 = do_valueize (valueize, _q51);
29807 : 0 : switch (TREE_CODE (_p1))
29808 : : {
29809 : 0 : case SSA_NAME:
29810 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
29811 : : {
29812 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
29813 : 0 : switch (gimple_assign_rhs_code (_a4))
29814 : : {
29815 : 0 : case BIT_AND_EXPR:
29816 : 0 : {
29817 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
29818 : 0 : _q100 = do_valueize (valueize, _q100);
29819 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
29820 : 0 : _q101 = do_valueize (valueize, _q101);
29821 : 0 : if (tree_swap_operands_p (_q100, _q101))
29822 : 0 : std::swap (_q100, _q101);
29823 : 0 : switch (TREE_CODE (_q100))
29824 : : {
29825 : 0 : case SSA_NAME:
29826 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
29827 : : {
29828 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
29829 : 0 : switch (gimple_assign_rhs_code (_a5))
29830 : : {
29831 : 0 : case VEC_COND_EXPR:
29832 : 0 : {
29833 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
29834 : 0 : _q110 = do_valueize (valueize, _q110);
29835 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
29836 : 0 : _q111 = do_valueize (valueize, _q111);
29837 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
29838 : 0 : _q112 = do_valueize (valueize, _q112);
29839 : 0 : switch (TREE_CODE (_q110))
29840 : : {
29841 : 0 : case SSA_NAME:
29842 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
29843 : : {
29844 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
29845 : 0 : switch (gimple_assign_rhs_code (_a6))
29846 : : {
29847 : 0 : case GE_EXPR:
29848 : 0 : {
29849 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
29850 : 0 : _q120 = do_valueize (valueize, _q120);
29851 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
29852 : 0 : _q121 = do_valueize (valueize, _q121);
29853 : 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
29854 : : {
29855 : 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
29856 : : {
29857 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
29858 : : {
29859 : 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
29860 : : {
29861 : 0 : {
29862 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
29863 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
29864 : 0 : return true;
29865 : : }
29866 : : }
29867 : : }
29868 : : }
29869 : : }
29870 : : break;
29871 : : }
29872 : : default:;
29873 : : }
29874 : : }
29875 : : break;
29876 : : default:;
29877 : : }
29878 : : break;
29879 : : }
29880 : : default:;
29881 : : }
29882 : : }
29883 : : break;
29884 : 0 : default:;
29885 : : }
29886 : 0 : switch (TREE_CODE (_q101))
29887 : : {
29888 : 0 : case SSA_NAME:
29889 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
29890 : : {
29891 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
29892 : 0 : switch (gimple_assign_rhs_code (_a5))
29893 : : {
29894 : 0 : case VEC_COND_EXPR:
29895 : 0 : {
29896 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
29897 : 0 : _q120 = do_valueize (valueize, _q120);
29898 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
29899 : 0 : _q121 = do_valueize (valueize, _q121);
29900 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
29901 : 0 : _q122 = do_valueize (valueize, _q122);
29902 : 0 : switch (TREE_CODE (_q120))
29903 : : {
29904 : 0 : case SSA_NAME:
29905 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
29906 : : {
29907 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
29908 : 0 : switch (gimple_assign_rhs_code (_a6))
29909 : : {
29910 : 0 : case GE_EXPR:
29911 : 0 : {
29912 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
29913 : 0 : _q130 = do_valueize (valueize, _q130);
29914 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
29915 : 0 : _q131 = do_valueize (valueize, _q131);
29916 : 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
29917 : : {
29918 : 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
29919 : : {
29920 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
29921 : : {
29922 : 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
29923 : : {
29924 : 0 : {
29925 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
29926 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
29927 : 0 : return true;
29928 : : }
29929 : : }
29930 : : }
29931 : : }
29932 : : }
29933 : : break;
29934 : : }
29935 : : default:;
29936 : : }
29937 : : }
29938 : : break;
29939 : : default:;
29940 : : }
29941 : : break;
29942 : : }
29943 : : default:;
29944 : : }
29945 : : }
29946 : : break;
29947 : : default:;
29948 : : }
29949 : 317001 : break;
29950 : : }
29951 : : default:;
29952 : : }
29953 : : }
29954 : : break;
29955 : : default:;
29956 : : }
29957 : : break;
29958 : : }
29959 : 0 : case LE_EXPR:
29960 : 0 : {
29961 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
29962 : 0 : _q50 = do_valueize (valueize, _q50);
29963 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
29964 : 0 : _q51 = do_valueize (valueize, _q51);
29965 : 0 : switch (TREE_CODE (_p1))
29966 : : {
29967 : 0 : case SSA_NAME:
29968 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
29969 : : {
29970 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
29971 : 0 : switch (gimple_assign_rhs_code (_a4))
29972 : : {
29973 : 0 : case BIT_AND_EXPR:
29974 : 0 : {
29975 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
29976 : 0 : _q100 = do_valueize (valueize, _q100);
29977 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
29978 : 0 : _q101 = do_valueize (valueize, _q101);
29979 : 0 : if (tree_swap_operands_p (_q100, _q101))
29980 : 0 : std::swap (_q100, _q101);
29981 : 0 : switch (TREE_CODE (_q100))
29982 : : {
29983 : 0 : case SSA_NAME:
29984 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
29985 : : {
29986 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
29987 : 0 : switch (gimple_assign_rhs_code (_a5))
29988 : : {
29989 : 0 : case VEC_COND_EXPR:
29990 : 0 : {
29991 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
29992 : 0 : _q110 = do_valueize (valueize, _q110);
29993 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
29994 : 0 : _q111 = do_valueize (valueize, _q111);
29995 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
29996 : 0 : _q112 = do_valueize (valueize, _q112);
29997 : 0 : switch (TREE_CODE (_q110))
29998 : : {
29999 : 0 : case SSA_NAME:
30000 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
30001 : : {
30002 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
30003 : 0 : switch (gimple_assign_rhs_code (_a6))
30004 : : {
30005 : 0 : case GT_EXPR:
30006 : 0 : {
30007 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
30008 : 0 : _q120 = do_valueize (valueize, _q120);
30009 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
30010 : 0 : _q121 = do_valueize (valueize, _q121);
30011 : 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
30012 : : {
30013 : 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
30014 : : {
30015 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
30016 : : {
30017 : 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
30018 : : {
30019 : 0 : {
30020 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
30021 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
30022 : 0 : return true;
30023 : : }
30024 : : }
30025 : : }
30026 : : }
30027 : : }
30028 : : break;
30029 : : }
30030 : : default:;
30031 : : }
30032 : : }
30033 : : break;
30034 : : default:;
30035 : : }
30036 : : break;
30037 : : }
30038 : : default:;
30039 : : }
30040 : : }
30041 : : break;
30042 : 0 : default:;
30043 : : }
30044 : 0 : switch (TREE_CODE (_q101))
30045 : : {
30046 : 0 : case SSA_NAME:
30047 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
30048 : : {
30049 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
30050 : 0 : switch (gimple_assign_rhs_code (_a5))
30051 : : {
30052 : 0 : case VEC_COND_EXPR:
30053 : 0 : {
30054 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
30055 : 0 : _q120 = do_valueize (valueize, _q120);
30056 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
30057 : 0 : _q121 = do_valueize (valueize, _q121);
30058 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
30059 : 0 : _q122 = do_valueize (valueize, _q122);
30060 : 0 : switch (TREE_CODE (_q120))
30061 : : {
30062 : 0 : case SSA_NAME:
30063 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
30064 : : {
30065 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
30066 : 0 : switch (gimple_assign_rhs_code (_a6))
30067 : : {
30068 : 0 : case GT_EXPR:
30069 : 0 : {
30070 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
30071 : 0 : _q130 = do_valueize (valueize, _q130);
30072 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
30073 : 0 : _q131 = do_valueize (valueize, _q131);
30074 : 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
30075 : : {
30076 : 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
30077 : : {
30078 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
30079 : : {
30080 : 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
30081 : : {
30082 : 0 : {
30083 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
30084 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
30085 : 0 : return true;
30086 : : }
30087 : : }
30088 : : }
30089 : : }
30090 : : }
30091 : : break;
30092 : : }
30093 : : default:;
30094 : : }
30095 : : }
30096 : : break;
30097 : : default:;
30098 : : }
30099 : : break;
30100 : : }
30101 : : default:;
30102 : : }
30103 : : }
30104 : : break;
30105 : : default:;
30106 : : }
30107 : 317001 : break;
30108 : : }
30109 : : default:;
30110 : : }
30111 : : }
30112 : : break;
30113 : : default:;
30114 : : }
30115 : : break;
30116 : : }
30117 : 0 : case EQ_EXPR:
30118 : 0 : {
30119 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
30120 : 0 : _q50 = do_valueize (valueize, _q50);
30121 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
30122 : 0 : _q51 = do_valueize (valueize, _q51);
30123 : 0 : if (tree_swap_operands_p (_q50, _q51))
30124 : 0 : std::swap (_q50, _q51);
30125 : 0 : switch (TREE_CODE (_p1))
30126 : : {
30127 : 0 : case SSA_NAME:
30128 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
30129 : : {
30130 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
30131 : 0 : switch (gimple_assign_rhs_code (_a4))
30132 : : {
30133 : 0 : case BIT_AND_EXPR:
30134 : 0 : {
30135 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
30136 : 0 : _q100 = do_valueize (valueize, _q100);
30137 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
30138 : 0 : _q101 = do_valueize (valueize, _q101);
30139 : 0 : if (tree_swap_operands_p (_q100, _q101))
30140 : 0 : std::swap (_q100, _q101);
30141 : 0 : switch (TREE_CODE (_q100))
30142 : : {
30143 : 0 : case SSA_NAME:
30144 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
30145 : : {
30146 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
30147 : 0 : switch (gimple_assign_rhs_code (_a5))
30148 : : {
30149 : 0 : case VEC_COND_EXPR:
30150 : 0 : {
30151 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
30152 : 0 : _q110 = do_valueize (valueize, _q110);
30153 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
30154 : 0 : _q111 = do_valueize (valueize, _q111);
30155 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
30156 : 0 : _q112 = do_valueize (valueize, _q112);
30157 : 0 : switch (TREE_CODE (_q110))
30158 : : {
30159 : 0 : case SSA_NAME:
30160 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
30161 : : {
30162 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
30163 : 0 : switch (gimple_assign_rhs_code (_a6))
30164 : : {
30165 : 0 : case NE_EXPR:
30166 : 0 : {
30167 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
30168 : 0 : _q120 = do_valueize (valueize, _q120);
30169 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
30170 : 0 : _q121 = do_valueize (valueize, _q121);
30171 : 0 : if (tree_swap_operands_p (_q120, _q121))
30172 : 0 : std::swap (_q120, _q121);
30173 : 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
30174 : : {
30175 : 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
30176 : : {
30177 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
30178 : : {
30179 : 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
30180 : : {
30181 : 0 : {
30182 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
30183 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
30184 : 0 : return true;
30185 : : }
30186 : : }
30187 : : }
30188 : : }
30189 : : }
30190 : 0 : break;
30191 : : }
30192 : : default:;
30193 : : }
30194 : : }
30195 : : break;
30196 : : default:;
30197 : : }
30198 : : break;
30199 : : }
30200 : : default:;
30201 : : }
30202 : : }
30203 : : break;
30204 : 0 : default:;
30205 : : }
30206 : 0 : switch (TREE_CODE (_q101))
30207 : : {
30208 : 0 : case SSA_NAME:
30209 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
30210 : : {
30211 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
30212 : 0 : switch (gimple_assign_rhs_code (_a5))
30213 : : {
30214 : 0 : case VEC_COND_EXPR:
30215 : 0 : {
30216 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
30217 : 0 : _q120 = do_valueize (valueize, _q120);
30218 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
30219 : 0 : _q121 = do_valueize (valueize, _q121);
30220 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
30221 : 0 : _q122 = do_valueize (valueize, _q122);
30222 : 0 : switch (TREE_CODE (_q120))
30223 : : {
30224 : 0 : case SSA_NAME:
30225 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
30226 : : {
30227 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
30228 : 0 : switch (gimple_assign_rhs_code (_a6))
30229 : : {
30230 : 0 : case NE_EXPR:
30231 : 0 : {
30232 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
30233 : 0 : _q130 = do_valueize (valueize, _q130);
30234 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
30235 : 0 : _q131 = do_valueize (valueize, _q131);
30236 : 0 : if (tree_swap_operands_p (_q130, _q131))
30237 : 0 : std::swap (_q130, _q131);
30238 : 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
30239 : : {
30240 : 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
30241 : : {
30242 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
30243 : : {
30244 : 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
30245 : : {
30246 : 0 : {
30247 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
30248 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
30249 : 0 : return true;
30250 : : }
30251 : : }
30252 : : }
30253 : : }
30254 : : }
30255 : 317001 : break;
30256 : : }
30257 : : default:;
30258 : : }
30259 : : }
30260 : : break;
30261 : : default:;
30262 : : }
30263 : : break;
30264 : : }
30265 : : default:;
30266 : : }
30267 : : }
30268 : : break;
30269 : : default:;
30270 : : }
30271 : 317001 : break;
30272 : : }
30273 : : default:;
30274 : : }
30275 : : }
30276 : : break;
30277 : : default:;
30278 : : }
30279 : 317001 : break;
30280 : : }
30281 : 0 : case NE_EXPR:
30282 : 0 : {
30283 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
30284 : 0 : _q50 = do_valueize (valueize, _q50);
30285 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
30286 : 0 : _q51 = do_valueize (valueize, _q51);
30287 : 0 : if (tree_swap_operands_p (_q50, _q51))
30288 : 0 : std::swap (_q50, _q51);
30289 : 0 : switch (TREE_CODE (_p1))
30290 : : {
30291 : 0 : case SSA_NAME:
30292 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
30293 : : {
30294 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
30295 : 0 : switch (gimple_assign_rhs_code (_a4))
30296 : : {
30297 : 0 : case BIT_AND_EXPR:
30298 : 0 : {
30299 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
30300 : 0 : _q100 = do_valueize (valueize, _q100);
30301 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
30302 : 0 : _q101 = do_valueize (valueize, _q101);
30303 : 0 : if (tree_swap_operands_p (_q100, _q101))
30304 : 0 : std::swap (_q100, _q101);
30305 : 0 : switch (TREE_CODE (_q100))
30306 : : {
30307 : 0 : case SSA_NAME:
30308 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
30309 : : {
30310 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
30311 : 0 : switch (gimple_assign_rhs_code (_a5))
30312 : : {
30313 : 0 : case VEC_COND_EXPR:
30314 : 0 : {
30315 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
30316 : 0 : _q110 = do_valueize (valueize, _q110);
30317 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
30318 : 0 : _q111 = do_valueize (valueize, _q111);
30319 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
30320 : 0 : _q112 = do_valueize (valueize, _q112);
30321 : 0 : switch (TREE_CODE (_q110))
30322 : : {
30323 : 0 : case SSA_NAME:
30324 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
30325 : : {
30326 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
30327 : 0 : switch (gimple_assign_rhs_code (_a6))
30328 : : {
30329 : 0 : case EQ_EXPR:
30330 : 0 : {
30331 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
30332 : 0 : _q120 = do_valueize (valueize, _q120);
30333 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
30334 : 0 : _q121 = do_valueize (valueize, _q121);
30335 : 0 : if (tree_swap_operands_p (_q120, _q121))
30336 : 0 : std::swap (_q120, _q121);
30337 : 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
30338 : : {
30339 : 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
30340 : : {
30341 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
30342 : : {
30343 : 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
30344 : : {
30345 : 0 : {
30346 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
30347 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
30348 : 0 : return true;
30349 : : }
30350 : : }
30351 : : }
30352 : : }
30353 : : }
30354 : 0 : break;
30355 : : }
30356 : : default:;
30357 : : }
30358 : : }
30359 : : break;
30360 : : default:;
30361 : : }
30362 : : break;
30363 : : }
30364 : : default:;
30365 : : }
30366 : : }
30367 : : break;
30368 : 0 : default:;
30369 : : }
30370 : 0 : switch (TREE_CODE (_q101))
30371 : : {
30372 : 0 : case SSA_NAME:
30373 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
30374 : : {
30375 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
30376 : 0 : switch (gimple_assign_rhs_code (_a5))
30377 : : {
30378 : 0 : case VEC_COND_EXPR:
30379 : 0 : {
30380 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
30381 : 0 : _q120 = do_valueize (valueize, _q120);
30382 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
30383 : 0 : _q121 = do_valueize (valueize, _q121);
30384 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
30385 : 0 : _q122 = do_valueize (valueize, _q122);
30386 : 0 : switch (TREE_CODE (_q120))
30387 : : {
30388 : 0 : case SSA_NAME:
30389 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
30390 : : {
30391 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
30392 : 0 : switch (gimple_assign_rhs_code (_a6))
30393 : : {
30394 : 0 : case EQ_EXPR:
30395 : 0 : {
30396 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
30397 : 0 : _q130 = do_valueize (valueize, _q130);
30398 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
30399 : 0 : _q131 = do_valueize (valueize, _q131);
30400 : 0 : if (tree_swap_operands_p (_q130, _q131))
30401 : 0 : std::swap (_q130, _q131);
30402 : 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
30403 : : {
30404 : 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
30405 : : {
30406 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
30407 : : {
30408 : 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
30409 : : {
30410 : 0 : {
30411 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
30412 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
30413 : 0 : return true;
30414 : : }
30415 : : }
30416 : : }
30417 : : }
30418 : : }
30419 : 317001 : break;
30420 : : }
30421 : : default:;
30422 : : }
30423 : : }
30424 : : break;
30425 : : default:;
30426 : : }
30427 : : break;
30428 : : }
30429 : : default:;
30430 : : }
30431 : : }
30432 : : break;
30433 : : default:;
30434 : : }
30435 : 317001 : break;
30436 : : }
30437 : : default:;
30438 : : }
30439 : : }
30440 : : break;
30441 : : default:;
30442 : : }
30443 : 317001 : break;
30444 : : }
30445 : 0 : case GE_EXPR:
30446 : 0 : {
30447 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
30448 : 0 : _q50 = do_valueize (valueize, _q50);
30449 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
30450 : 0 : _q51 = do_valueize (valueize, _q51);
30451 : 0 : switch (TREE_CODE (_p1))
30452 : : {
30453 : 0 : case SSA_NAME:
30454 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
30455 : : {
30456 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
30457 : 0 : switch (gimple_assign_rhs_code (_a4))
30458 : : {
30459 : 0 : case BIT_AND_EXPR:
30460 : 0 : {
30461 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
30462 : 0 : _q100 = do_valueize (valueize, _q100);
30463 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
30464 : 0 : _q101 = do_valueize (valueize, _q101);
30465 : 0 : if (tree_swap_operands_p (_q100, _q101))
30466 : 0 : std::swap (_q100, _q101);
30467 : 0 : switch (TREE_CODE (_q100))
30468 : : {
30469 : 0 : case SSA_NAME:
30470 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
30471 : : {
30472 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
30473 : 0 : switch (gimple_assign_rhs_code (_a5))
30474 : : {
30475 : 0 : case VEC_COND_EXPR:
30476 : 0 : {
30477 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
30478 : 0 : _q110 = do_valueize (valueize, _q110);
30479 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
30480 : 0 : _q111 = do_valueize (valueize, _q111);
30481 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
30482 : 0 : _q112 = do_valueize (valueize, _q112);
30483 : 0 : switch (TREE_CODE (_q110))
30484 : : {
30485 : 0 : case SSA_NAME:
30486 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
30487 : : {
30488 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
30489 : 0 : switch (gimple_assign_rhs_code (_a6))
30490 : : {
30491 : 0 : case LT_EXPR:
30492 : 0 : {
30493 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
30494 : 0 : _q120 = do_valueize (valueize, _q120);
30495 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
30496 : 0 : _q121 = do_valueize (valueize, _q121);
30497 : 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
30498 : : {
30499 : 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
30500 : : {
30501 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
30502 : : {
30503 : 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
30504 : : {
30505 : 0 : {
30506 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
30507 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
30508 : 0 : return true;
30509 : : }
30510 : : }
30511 : : }
30512 : : }
30513 : : }
30514 : : break;
30515 : : }
30516 : : default:;
30517 : : }
30518 : : }
30519 : : break;
30520 : : default:;
30521 : : }
30522 : : break;
30523 : : }
30524 : : default:;
30525 : : }
30526 : : }
30527 : : break;
30528 : 0 : default:;
30529 : : }
30530 : 0 : switch (TREE_CODE (_q101))
30531 : : {
30532 : 0 : case SSA_NAME:
30533 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
30534 : : {
30535 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
30536 : 0 : switch (gimple_assign_rhs_code (_a5))
30537 : : {
30538 : 0 : case VEC_COND_EXPR:
30539 : 0 : {
30540 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
30541 : 0 : _q120 = do_valueize (valueize, _q120);
30542 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
30543 : 0 : _q121 = do_valueize (valueize, _q121);
30544 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
30545 : 0 : _q122 = do_valueize (valueize, _q122);
30546 : 0 : switch (TREE_CODE (_q120))
30547 : : {
30548 : 0 : case SSA_NAME:
30549 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
30550 : : {
30551 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
30552 : 0 : switch (gimple_assign_rhs_code (_a6))
30553 : : {
30554 : 0 : case LT_EXPR:
30555 : 0 : {
30556 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
30557 : 0 : _q130 = do_valueize (valueize, _q130);
30558 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
30559 : 0 : _q131 = do_valueize (valueize, _q131);
30560 : 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
30561 : : {
30562 : 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
30563 : : {
30564 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
30565 : : {
30566 : 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
30567 : : {
30568 : 0 : {
30569 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
30570 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
30571 : 0 : return true;
30572 : : }
30573 : : }
30574 : : }
30575 : : }
30576 : : }
30577 : : break;
30578 : : }
30579 : : default:;
30580 : : }
30581 : : }
30582 : : break;
30583 : : default:;
30584 : : }
30585 : : break;
30586 : : }
30587 : : default:;
30588 : : }
30589 : : }
30590 : : break;
30591 : : default:;
30592 : : }
30593 : 317001 : break;
30594 : : }
30595 : : default:;
30596 : : }
30597 : : }
30598 : : break;
30599 : : default:;
30600 : : }
30601 : : break;
30602 : : }
30603 : 1 : case GT_EXPR:
30604 : 1 : {
30605 : 1 : tree _q50 = gimple_assign_rhs1 (_a3);
30606 : 1 : _q50 = do_valueize (valueize, _q50);
30607 : 1 : tree _q51 = gimple_assign_rhs2 (_a3);
30608 : 1 : _q51 = do_valueize (valueize, _q51);
30609 : 1 : switch (TREE_CODE (_p1))
30610 : : {
30611 : 1 : case SSA_NAME:
30612 : 1 : if (gimple *_d4 = get_def (valueize, _p1))
30613 : : {
30614 : 1 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
30615 : 1 : switch (gimple_assign_rhs_code (_a4))
30616 : : {
30617 : 1 : case BIT_AND_EXPR:
30618 : 1 : {
30619 : 1 : tree _q100 = gimple_assign_rhs1 (_a4);
30620 : 1 : _q100 = do_valueize (valueize, _q100);
30621 : 1 : tree _q101 = gimple_assign_rhs2 (_a4);
30622 : 1 : _q101 = do_valueize (valueize, _q101);
30623 : 1 : if (tree_swap_operands_p (_q100, _q101))
30624 : 1 : std::swap (_q100, _q101);
30625 : 1 : switch (TREE_CODE (_q100))
30626 : : {
30627 : 1 : case SSA_NAME:
30628 : 1 : if (gimple *_d5 = get_def (valueize, _q100))
30629 : : {
30630 : 1 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
30631 : 1 : switch (gimple_assign_rhs_code (_a5))
30632 : : {
30633 : 0 : case VEC_COND_EXPR:
30634 : 0 : {
30635 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
30636 : 0 : _q110 = do_valueize (valueize, _q110);
30637 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
30638 : 0 : _q111 = do_valueize (valueize, _q111);
30639 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
30640 : 0 : _q112 = do_valueize (valueize, _q112);
30641 : 0 : switch (TREE_CODE (_q110))
30642 : : {
30643 : 0 : case SSA_NAME:
30644 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
30645 : : {
30646 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
30647 : 0 : switch (gimple_assign_rhs_code (_a6))
30648 : : {
30649 : 0 : case LE_EXPR:
30650 : 0 : {
30651 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
30652 : 0 : _q120 = do_valueize (valueize, _q120);
30653 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
30654 : 0 : _q121 = do_valueize (valueize, _q121);
30655 : 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
30656 : : {
30657 : 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
30658 : : {
30659 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
30660 : : {
30661 : 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
30662 : : {
30663 : 0 : {
30664 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
30665 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
30666 : 0 : return true;
30667 : : }
30668 : : }
30669 : : }
30670 : : }
30671 : : }
30672 : : break;
30673 : : }
30674 : : default:;
30675 : : }
30676 : : }
30677 : : break;
30678 : : default:;
30679 : : }
30680 : : break;
30681 : : }
30682 : : default:;
30683 : : }
30684 : : }
30685 : : break;
30686 : 1 : default:;
30687 : : }
30688 : 1 : switch (TREE_CODE (_q101))
30689 : : {
30690 : 1 : case SSA_NAME:
30691 : 1 : if (gimple *_d5 = get_def (valueize, _q101))
30692 : : {
30693 : 1 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
30694 : 0 : switch (gimple_assign_rhs_code (_a5))
30695 : : {
30696 : 0 : case VEC_COND_EXPR:
30697 : 0 : {
30698 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
30699 : 0 : _q120 = do_valueize (valueize, _q120);
30700 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
30701 : 0 : _q121 = do_valueize (valueize, _q121);
30702 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
30703 : 0 : _q122 = do_valueize (valueize, _q122);
30704 : 0 : switch (TREE_CODE (_q120))
30705 : : {
30706 : 0 : case SSA_NAME:
30707 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
30708 : : {
30709 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
30710 : 0 : switch (gimple_assign_rhs_code (_a6))
30711 : : {
30712 : 0 : case LE_EXPR:
30713 : 0 : {
30714 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
30715 : 0 : _q130 = do_valueize (valueize, _q130);
30716 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
30717 : 0 : _q131 = do_valueize (valueize, _q131);
30718 : 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
30719 : : {
30720 : 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
30721 : : {
30722 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
30723 : : {
30724 : 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
30725 : : {
30726 : 0 : {
30727 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
30728 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
30729 : 0 : return true;
30730 : : }
30731 : : }
30732 : : }
30733 : : }
30734 : : }
30735 : : break;
30736 : : }
30737 : : default:;
30738 : : }
30739 : : }
30740 : : break;
30741 : : default:;
30742 : : }
30743 : : break;
30744 : : }
30745 : : default:;
30746 : : }
30747 : : }
30748 : : break;
30749 : : default:;
30750 : : }
30751 : 317001 : break;
30752 : : }
30753 : : default:;
30754 : : }
30755 : : }
30756 : : break;
30757 : : default:;
30758 : : }
30759 : : break;
30760 : : }
30761 : 0 : case UNORDERED_EXPR:
30762 : 0 : {
30763 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
30764 : 0 : _q50 = do_valueize (valueize, _q50);
30765 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
30766 : 0 : _q51 = do_valueize (valueize, _q51);
30767 : 0 : if (tree_swap_operands_p (_q50, _q51))
30768 : 0 : std::swap (_q50, _q51);
30769 : 0 : switch (TREE_CODE (_p1))
30770 : : {
30771 : 0 : case SSA_NAME:
30772 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
30773 : : {
30774 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
30775 : 0 : switch (gimple_assign_rhs_code (_a4))
30776 : : {
30777 : 0 : case BIT_AND_EXPR:
30778 : 0 : {
30779 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
30780 : 0 : _q100 = do_valueize (valueize, _q100);
30781 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
30782 : 0 : _q101 = do_valueize (valueize, _q101);
30783 : 0 : if (tree_swap_operands_p (_q100, _q101))
30784 : 0 : std::swap (_q100, _q101);
30785 : 0 : switch (TREE_CODE (_q100))
30786 : : {
30787 : 0 : case SSA_NAME:
30788 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
30789 : : {
30790 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
30791 : 0 : switch (gimple_assign_rhs_code (_a5))
30792 : : {
30793 : 0 : case VEC_COND_EXPR:
30794 : 0 : {
30795 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
30796 : 0 : _q110 = do_valueize (valueize, _q110);
30797 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
30798 : 0 : _q111 = do_valueize (valueize, _q111);
30799 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
30800 : 0 : _q112 = do_valueize (valueize, _q112);
30801 : 0 : switch (TREE_CODE (_q110))
30802 : : {
30803 : 0 : case SSA_NAME:
30804 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
30805 : : {
30806 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
30807 : 0 : switch (gimple_assign_rhs_code (_a6))
30808 : : {
30809 : 0 : case ORDERED_EXPR:
30810 : 0 : {
30811 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
30812 : 0 : _q120 = do_valueize (valueize, _q120);
30813 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
30814 : 0 : _q121 = do_valueize (valueize, _q121);
30815 : 0 : if (tree_swap_operands_p (_q120, _q121))
30816 : 0 : std::swap (_q120, _q121);
30817 : 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
30818 : : {
30819 : 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
30820 : : {
30821 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
30822 : : {
30823 : 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
30824 : : {
30825 : 0 : {
30826 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
30827 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
30828 : 0 : return true;
30829 : : }
30830 : : }
30831 : : }
30832 : : }
30833 : : }
30834 : 0 : break;
30835 : : }
30836 : : default:;
30837 : : }
30838 : : }
30839 : : break;
30840 : : default:;
30841 : : }
30842 : : break;
30843 : : }
30844 : : default:;
30845 : : }
30846 : : }
30847 : : break;
30848 : 0 : default:;
30849 : : }
30850 : 0 : switch (TREE_CODE (_q101))
30851 : : {
30852 : 0 : case SSA_NAME:
30853 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
30854 : : {
30855 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
30856 : 0 : switch (gimple_assign_rhs_code (_a5))
30857 : : {
30858 : 0 : case VEC_COND_EXPR:
30859 : 0 : {
30860 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
30861 : 0 : _q120 = do_valueize (valueize, _q120);
30862 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
30863 : 0 : _q121 = do_valueize (valueize, _q121);
30864 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
30865 : 0 : _q122 = do_valueize (valueize, _q122);
30866 : 0 : switch (TREE_CODE (_q120))
30867 : : {
30868 : 0 : case SSA_NAME:
30869 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
30870 : : {
30871 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
30872 : 0 : switch (gimple_assign_rhs_code (_a6))
30873 : : {
30874 : 0 : case ORDERED_EXPR:
30875 : 0 : {
30876 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
30877 : 0 : _q130 = do_valueize (valueize, _q130);
30878 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
30879 : 0 : _q131 = do_valueize (valueize, _q131);
30880 : 0 : if (tree_swap_operands_p (_q130, _q131))
30881 : 0 : std::swap (_q130, _q131);
30882 : 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
30883 : : {
30884 : 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
30885 : : {
30886 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
30887 : : {
30888 : 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
30889 : : {
30890 : 0 : {
30891 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
30892 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, UNORDERED_EXPR, ORDERED_EXPR))
30893 : 0 : return true;
30894 : : }
30895 : : }
30896 : : }
30897 : : }
30898 : : }
30899 : 317001 : break;
30900 : : }
30901 : : default:;
30902 : : }
30903 : : }
30904 : : break;
30905 : : default:;
30906 : : }
30907 : : break;
30908 : : }
30909 : : default:;
30910 : : }
30911 : : }
30912 : : break;
30913 : : default:;
30914 : : }
30915 : 317001 : break;
30916 : : }
30917 : : default:;
30918 : : }
30919 : : }
30920 : : break;
30921 : : default:;
30922 : : }
30923 : 317001 : break;
30924 : : }
30925 : 0 : case ORDERED_EXPR:
30926 : 0 : {
30927 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
30928 : 0 : _q50 = do_valueize (valueize, _q50);
30929 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
30930 : 0 : _q51 = do_valueize (valueize, _q51);
30931 : 0 : if (tree_swap_operands_p (_q50, _q51))
30932 : 0 : std::swap (_q50, _q51);
30933 : 0 : switch (TREE_CODE (_p1))
30934 : : {
30935 : 0 : case SSA_NAME:
30936 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
30937 : : {
30938 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
30939 : 0 : switch (gimple_assign_rhs_code (_a4))
30940 : : {
30941 : 0 : case BIT_AND_EXPR:
30942 : 0 : {
30943 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
30944 : 0 : _q100 = do_valueize (valueize, _q100);
30945 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
30946 : 0 : _q101 = do_valueize (valueize, _q101);
30947 : 0 : if (tree_swap_operands_p (_q100, _q101))
30948 : 0 : std::swap (_q100, _q101);
30949 : 0 : switch (TREE_CODE (_q100))
30950 : : {
30951 : 0 : case SSA_NAME:
30952 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
30953 : : {
30954 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
30955 : 0 : switch (gimple_assign_rhs_code (_a5))
30956 : : {
30957 : 0 : case VEC_COND_EXPR:
30958 : 0 : {
30959 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
30960 : 0 : _q110 = do_valueize (valueize, _q110);
30961 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
30962 : 0 : _q111 = do_valueize (valueize, _q111);
30963 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
30964 : 0 : _q112 = do_valueize (valueize, _q112);
30965 : 0 : switch (TREE_CODE (_q110))
30966 : : {
30967 : 0 : case SSA_NAME:
30968 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
30969 : : {
30970 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
30971 : 0 : switch (gimple_assign_rhs_code (_a6))
30972 : : {
30973 : 0 : case UNORDERED_EXPR:
30974 : 0 : {
30975 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
30976 : 0 : _q120 = do_valueize (valueize, _q120);
30977 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
30978 : 0 : _q121 = do_valueize (valueize, _q121);
30979 : 0 : if (tree_swap_operands_p (_q120, _q121))
30980 : 0 : std::swap (_q120, _q121);
30981 : 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
30982 : : {
30983 : 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
30984 : : {
30985 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
30986 : : {
30987 : 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
30988 : : {
30989 : 0 : {
30990 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
30991 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
30992 : 0 : return true;
30993 : : }
30994 : : }
30995 : : }
30996 : : }
30997 : : }
30998 : 0 : break;
30999 : : }
31000 : : default:;
31001 : : }
31002 : : }
31003 : : break;
31004 : : default:;
31005 : : }
31006 : : break;
31007 : : }
31008 : : default:;
31009 : : }
31010 : : }
31011 : : break;
31012 : 0 : default:;
31013 : : }
31014 : 0 : switch (TREE_CODE (_q101))
31015 : : {
31016 : 0 : case SSA_NAME:
31017 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
31018 : : {
31019 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
31020 : 0 : switch (gimple_assign_rhs_code (_a5))
31021 : : {
31022 : 0 : case VEC_COND_EXPR:
31023 : 0 : {
31024 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
31025 : 0 : _q120 = do_valueize (valueize, _q120);
31026 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
31027 : 0 : _q121 = do_valueize (valueize, _q121);
31028 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
31029 : 0 : _q122 = do_valueize (valueize, _q122);
31030 : 0 : switch (TREE_CODE (_q120))
31031 : : {
31032 : 0 : case SSA_NAME:
31033 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
31034 : : {
31035 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
31036 : 0 : switch (gimple_assign_rhs_code (_a6))
31037 : : {
31038 : 0 : case UNORDERED_EXPR:
31039 : 0 : {
31040 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
31041 : 0 : _q130 = do_valueize (valueize, _q130);
31042 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
31043 : 0 : _q131 = do_valueize (valueize, _q131);
31044 : 0 : if (tree_swap_operands_p (_q130, _q131))
31045 : 0 : std::swap (_q130, _q131);
31046 : 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
31047 : : {
31048 : 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
31049 : : {
31050 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
31051 : : {
31052 : 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
31053 : : {
31054 : 0 : {
31055 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
31056 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, ORDERED_EXPR, UNORDERED_EXPR))
31057 : 0 : return true;
31058 : : }
31059 : : }
31060 : : }
31061 : : }
31062 : : }
31063 : 317001 : break;
31064 : : }
31065 : : default:;
31066 : : }
31067 : : }
31068 : : break;
31069 : : default:;
31070 : : }
31071 : : break;
31072 : : }
31073 : : default:;
31074 : : }
31075 : : }
31076 : : break;
31077 : : default:;
31078 : : }
31079 : 317001 : break;
31080 : : }
31081 : : default:;
31082 : : }
31083 : : }
31084 : : break;
31085 : : default:;
31086 : : }
31087 : 317001 : break;
31088 : : }
31089 : 0 : case UNLT_EXPR:
31090 : 0 : {
31091 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
31092 : 0 : _q50 = do_valueize (valueize, _q50);
31093 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
31094 : 0 : _q51 = do_valueize (valueize, _q51);
31095 : 0 : switch (TREE_CODE (_p1))
31096 : : {
31097 : 0 : case SSA_NAME:
31098 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
31099 : : {
31100 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
31101 : 0 : switch (gimple_assign_rhs_code (_a4))
31102 : : {
31103 : 0 : case BIT_AND_EXPR:
31104 : 0 : {
31105 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
31106 : 0 : _q100 = do_valueize (valueize, _q100);
31107 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
31108 : 0 : _q101 = do_valueize (valueize, _q101);
31109 : 0 : if (tree_swap_operands_p (_q100, _q101))
31110 : 0 : std::swap (_q100, _q101);
31111 : 0 : switch (TREE_CODE (_q100))
31112 : : {
31113 : 0 : case SSA_NAME:
31114 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
31115 : : {
31116 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
31117 : 0 : switch (gimple_assign_rhs_code (_a5))
31118 : : {
31119 : 0 : case VEC_COND_EXPR:
31120 : 0 : {
31121 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
31122 : 0 : _q110 = do_valueize (valueize, _q110);
31123 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
31124 : 0 : _q111 = do_valueize (valueize, _q111);
31125 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
31126 : 0 : _q112 = do_valueize (valueize, _q112);
31127 : 0 : switch (TREE_CODE (_q110))
31128 : : {
31129 : 0 : case SSA_NAME:
31130 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
31131 : : {
31132 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
31133 : 0 : switch (gimple_assign_rhs_code (_a6))
31134 : : {
31135 : 0 : case GE_EXPR:
31136 : 0 : {
31137 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
31138 : 0 : _q120 = do_valueize (valueize, _q120);
31139 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
31140 : 0 : _q121 = do_valueize (valueize, _q121);
31141 : 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
31142 : : {
31143 : 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
31144 : : {
31145 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
31146 : : {
31147 : 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
31148 : : {
31149 : 0 : {
31150 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
31151 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR))
31152 : 0 : return true;
31153 : : }
31154 : : }
31155 : : }
31156 : : }
31157 : : }
31158 : : break;
31159 : : }
31160 : : default:;
31161 : : }
31162 : : }
31163 : : break;
31164 : : default:;
31165 : : }
31166 : : break;
31167 : : }
31168 : : default:;
31169 : : }
31170 : : }
31171 : : break;
31172 : 0 : default:;
31173 : : }
31174 : 0 : switch (TREE_CODE (_q101))
31175 : : {
31176 : 0 : case SSA_NAME:
31177 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
31178 : : {
31179 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
31180 : 0 : switch (gimple_assign_rhs_code (_a5))
31181 : : {
31182 : 0 : case VEC_COND_EXPR:
31183 : 0 : {
31184 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
31185 : 0 : _q120 = do_valueize (valueize, _q120);
31186 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
31187 : 0 : _q121 = do_valueize (valueize, _q121);
31188 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
31189 : 0 : _q122 = do_valueize (valueize, _q122);
31190 : 0 : switch (TREE_CODE (_q120))
31191 : : {
31192 : 0 : case SSA_NAME:
31193 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
31194 : : {
31195 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
31196 : 0 : switch (gimple_assign_rhs_code (_a6))
31197 : : {
31198 : 0 : case GE_EXPR:
31199 : 0 : {
31200 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
31201 : 0 : _q130 = do_valueize (valueize, _q130);
31202 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
31203 : 0 : _q131 = do_valueize (valueize, _q131);
31204 : 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
31205 : : {
31206 : 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
31207 : : {
31208 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
31209 : : {
31210 : 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
31211 : : {
31212 : 0 : {
31213 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
31214 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, UNLT_EXPR, GE_EXPR))
31215 : 0 : return true;
31216 : : }
31217 : : }
31218 : : }
31219 : : }
31220 : : }
31221 : : break;
31222 : : }
31223 : : default:;
31224 : : }
31225 : : }
31226 : : break;
31227 : : default:;
31228 : : }
31229 : : break;
31230 : : }
31231 : : default:;
31232 : : }
31233 : : }
31234 : : break;
31235 : : default:;
31236 : : }
31237 : 317001 : break;
31238 : : }
31239 : : default:;
31240 : : }
31241 : : }
31242 : : break;
31243 : : default:;
31244 : : }
31245 : : break;
31246 : : }
31247 : 0 : case UNLE_EXPR:
31248 : 0 : {
31249 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
31250 : 0 : _q50 = do_valueize (valueize, _q50);
31251 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
31252 : 0 : _q51 = do_valueize (valueize, _q51);
31253 : 0 : switch (TREE_CODE (_p1))
31254 : : {
31255 : 0 : case SSA_NAME:
31256 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
31257 : : {
31258 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
31259 : 0 : switch (gimple_assign_rhs_code (_a4))
31260 : : {
31261 : 0 : case BIT_AND_EXPR:
31262 : 0 : {
31263 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
31264 : 0 : _q100 = do_valueize (valueize, _q100);
31265 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
31266 : 0 : _q101 = do_valueize (valueize, _q101);
31267 : 0 : if (tree_swap_operands_p (_q100, _q101))
31268 : 0 : std::swap (_q100, _q101);
31269 : 0 : switch (TREE_CODE (_q100))
31270 : : {
31271 : 0 : case SSA_NAME:
31272 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
31273 : : {
31274 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
31275 : 0 : switch (gimple_assign_rhs_code (_a5))
31276 : : {
31277 : 0 : case VEC_COND_EXPR:
31278 : 0 : {
31279 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
31280 : 0 : _q110 = do_valueize (valueize, _q110);
31281 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
31282 : 0 : _q111 = do_valueize (valueize, _q111);
31283 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
31284 : 0 : _q112 = do_valueize (valueize, _q112);
31285 : 0 : switch (TREE_CODE (_q110))
31286 : : {
31287 : 0 : case SSA_NAME:
31288 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
31289 : : {
31290 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
31291 : 0 : switch (gimple_assign_rhs_code (_a6))
31292 : : {
31293 : 0 : case GT_EXPR:
31294 : 0 : {
31295 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
31296 : 0 : _q120 = do_valueize (valueize, _q120);
31297 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
31298 : 0 : _q121 = do_valueize (valueize, _q121);
31299 : 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
31300 : : {
31301 : 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
31302 : : {
31303 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
31304 : : {
31305 : 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
31306 : : {
31307 : 0 : {
31308 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
31309 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
31310 : 0 : return true;
31311 : : }
31312 : : }
31313 : : }
31314 : : }
31315 : : }
31316 : : break;
31317 : : }
31318 : : default:;
31319 : : }
31320 : : }
31321 : : break;
31322 : : default:;
31323 : : }
31324 : : break;
31325 : : }
31326 : : default:;
31327 : : }
31328 : : }
31329 : : break;
31330 : 0 : default:;
31331 : : }
31332 : 0 : switch (TREE_CODE (_q101))
31333 : : {
31334 : 0 : case SSA_NAME:
31335 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
31336 : : {
31337 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
31338 : 0 : switch (gimple_assign_rhs_code (_a5))
31339 : : {
31340 : 0 : case VEC_COND_EXPR:
31341 : 0 : {
31342 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
31343 : 0 : _q120 = do_valueize (valueize, _q120);
31344 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
31345 : 0 : _q121 = do_valueize (valueize, _q121);
31346 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
31347 : 0 : _q122 = do_valueize (valueize, _q122);
31348 : 0 : switch (TREE_CODE (_q120))
31349 : : {
31350 : 0 : case SSA_NAME:
31351 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
31352 : : {
31353 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
31354 : 0 : switch (gimple_assign_rhs_code (_a6))
31355 : : {
31356 : 0 : case GT_EXPR:
31357 : 0 : {
31358 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
31359 : 0 : _q130 = do_valueize (valueize, _q130);
31360 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
31361 : 0 : _q131 = do_valueize (valueize, _q131);
31362 : 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
31363 : : {
31364 : 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
31365 : : {
31366 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
31367 : : {
31368 : 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
31369 : : {
31370 : 0 : {
31371 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
31372 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, UNLE_EXPR, GT_EXPR))
31373 : 0 : return true;
31374 : : }
31375 : : }
31376 : : }
31377 : : }
31378 : : }
31379 : : break;
31380 : : }
31381 : : default:;
31382 : : }
31383 : : }
31384 : : break;
31385 : : default:;
31386 : : }
31387 : : break;
31388 : : }
31389 : : default:;
31390 : : }
31391 : : }
31392 : : break;
31393 : : default:;
31394 : : }
31395 : 317001 : break;
31396 : : }
31397 : : default:;
31398 : : }
31399 : : }
31400 : : break;
31401 : : default:;
31402 : : }
31403 : : break;
31404 : : }
31405 : 0 : case UNGT_EXPR:
31406 : 0 : {
31407 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
31408 : 0 : _q50 = do_valueize (valueize, _q50);
31409 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
31410 : 0 : _q51 = do_valueize (valueize, _q51);
31411 : 0 : switch (TREE_CODE (_p1))
31412 : : {
31413 : 0 : case SSA_NAME:
31414 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
31415 : : {
31416 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
31417 : 0 : switch (gimple_assign_rhs_code (_a4))
31418 : : {
31419 : 0 : case BIT_AND_EXPR:
31420 : 0 : {
31421 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
31422 : 0 : _q100 = do_valueize (valueize, _q100);
31423 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
31424 : 0 : _q101 = do_valueize (valueize, _q101);
31425 : 0 : if (tree_swap_operands_p (_q100, _q101))
31426 : 0 : std::swap (_q100, _q101);
31427 : 0 : switch (TREE_CODE (_q100))
31428 : : {
31429 : 0 : case SSA_NAME:
31430 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
31431 : : {
31432 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
31433 : 0 : switch (gimple_assign_rhs_code (_a5))
31434 : : {
31435 : 0 : case VEC_COND_EXPR:
31436 : 0 : {
31437 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
31438 : 0 : _q110 = do_valueize (valueize, _q110);
31439 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
31440 : 0 : _q111 = do_valueize (valueize, _q111);
31441 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
31442 : 0 : _q112 = do_valueize (valueize, _q112);
31443 : 0 : switch (TREE_CODE (_q110))
31444 : : {
31445 : 0 : case SSA_NAME:
31446 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
31447 : : {
31448 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
31449 : 0 : switch (gimple_assign_rhs_code (_a6))
31450 : : {
31451 : 0 : case LE_EXPR:
31452 : 0 : {
31453 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
31454 : 0 : _q120 = do_valueize (valueize, _q120);
31455 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
31456 : 0 : _q121 = do_valueize (valueize, _q121);
31457 : 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
31458 : : {
31459 : 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
31460 : : {
31461 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
31462 : : {
31463 : 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
31464 : : {
31465 : 0 : {
31466 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
31467 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
31468 : 0 : return true;
31469 : : }
31470 : : }
31471 : : }
31472 : : }
31473 : : }
31474 : : break;
31475 : : }
31476 : : default:;
31477 : : }
31478 : : }
31479 : : break;
31480 : : default:;
31481 : : }
31482 : : break;
31483 : : }
31484 : : default:;
31485 : : }
31486 : : }
31487 : : break;
31488 : 0 : default:;
31489 : : }
31490 : 0 : switch (TREE_CODE (_q101))
31491 : : {
31492 : 0 : case SSA_NAME:
31493 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
31494 : : {
31495 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
31496 : 0 : switch (gimple_assign_rhs_code (_a5))
31497 : : {
31498 : 0 : case VEC_COND_EXPR:
31499 : 0 : {
31500 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
31501 : 0 : _q120 = do_valueize (valueize, _q120);
31502 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
31503 : 0 : _q121 = do_valueize (valueize, _q121);
31504 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
31505 : 0 : _q122 = do_valueize (valueize, _q122);
31506 : 0 : switch (TREE_CODE (_q120))
31507 : : {
31508 : 0 : case SSA_NAME:
31509 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
31510 : : {
31511 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
31512 : 0 : switch (gimple_assign_rhs_code (_a6))
31513 : : {
31514 : 0 : case LE_EXPR:
31515 : 0 : {
31516 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
31517 : 0 : _q130 = do_valueize (valueize, _q130);
31518 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
31519 : 0 : _q131 = do_valueize (valueize, _q131);
31520 : 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
31521 : : {
31522 : 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
31523 : : {
31524 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
31525 : : {
31526 : 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
31527 : : {
31528 : 0 : {
31529 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
31530 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, UNGT_EXPR, LE_EXPR))
31531 : 0 : return true;
31532 : : }
31533 : : }
31534 : : }
31535 : : }
31536 : : }
31537 : : break;
31538 : : }
31539 : : default:;
31540 : : }
31541 : : }
31542 : : break;
31543 : : default:;
31544 : : }
31545 : : break;
31546 : : }
31547 : : default:;
31548 : : }
31549 : : }
31550 : : break;
31551 : : default:;
31552 : : }
31553 : 317001 : break;
31554 : : }
31555 : : default:;
31556 : : }
31557 : : }
31558 : : break;
31559 : : default:;
31560 : : }
31561 : : break;
31562 : : }
31563 : 0 : case UNGE_EXPR:
31564 : 0 : {
31565 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
31566 : 0 : _q50 = do_valueize (valueize, _q50);
31567 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
31568 : 0 : _q51 = do_valueize (valueize, _q51);
31569 : 0 : switch (TREE_CODE (_p1))
31570 : : {
31571 : 0 : case SSA_NAME:
31572 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
31573 : : {
31574 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
31575 : 0 : switch (gimple_assign_rhs_code (_a4))
31576 : : {
31577 : 0 : case BIT_AND_EXPR:
31578 : 0 : {
31579 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
31580 : 0 : _q100 = do_valueize (valueize, _q100);
31581 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
31582 : 0 : _q101 = do_valueize (valueize, _q101);
31583 : 0 : if (tree_swap_operands_p (_q100, _q101))
31584 : 0 : std::swap (_q100, _q101);
31585 : 0 : switch (TREE_CODE (_q100))
31586 : : {
31587 : 0 : case SSA_NAME:
31588 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
31589 : : {
31590 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
31591 : 0 : switch (gimple_assign_rhs_code (_a5))
31592 : : {
31593 : 0 : case VEC_COND_EXPR:
31594 : 0 : {
31595 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
31596 : 0 : _q110 = do_valueize (valueize, _q110);
31597 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
31598 : 0 : _q111 = do_valueize (valueize, _q111);
31599 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
31600 : 0 : _q112 = do_valueize (valueize, _q112);
31601 : 0 : switch (TREE_CODE (_q110))
31602 : : {
31603 : 0 : case SSA_NAME:
31604 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
31605 : : {
31606 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
31607 : 0 : switch (gimple_assign_rhs_code (_a6))
31608 : : {
31609 : 0 : case LT_EXPR:
31610 : 0 : {
31611 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
31612 : 0 : _q120 = do_valueize (valueize, _q120);
31613 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
31614 : 0 : _q121 = do_valueize (valueize, _q121);
31615 : 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
31616 : : {
31617 : 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
31618 : : {
31619 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
31620 : : {
31621 : 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
31622 : : {
31623 : 0 : {
31624 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
31625 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
31626 : 0 : return true;
31627 : : }
31628 : : }
31629 : : }
31630 : : }
31631 : : }
31632 : : break;
31633 : : }
31634 : : default:;
31635 : : }
31636 : : }
31637 : : break;
31638 : : default:;
31639 : : }
31640 : : break;
31641 : : }
31642 : : default:;
31643 : : }
31644 : : }
31645 : : break;
31646 : 0 : default:;
31647 : : }
31648 : 0 : switch (TREE_CODE (_q101))
31649 : : {
31650 : 0 : case SSA_NAME:
31651 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
31652 : : {
31653 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
31654 : 0 : switch (gimple_assign_rhs_code (_a5))
31655 : : {
31656 : 0 : case VEC_COND_EXPR:
31657 : 0 : {
31658 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
31659 : 0 : _q120 = do_valueize (valueize, _q120);
31660 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
31661 : 0 : _q121 = do_valueize (valueize, _q121);
31662 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
31663 : 0 : _q122 = do_valueize (valueize, _q122);
31664 : 0 : switch (TREE_CODE (_q120))
31665 : : {
31666 : 0 : case SSA_NAME:
31667 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
31668 : : {
31669 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
31670 : 0 : switch (gimple_assign_rhs_code (_a6))
31671 : : {
31672 : 0 : case LT_EXPR:
31673 : 0 : {
31674 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
31675 : 0 : _q130 = do_valueize (valueize, _q130);
31676 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
31677 : 0 : _q131 = do_valueize (valueize, _q131);
31678 : 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
31679 : : {
31680 : 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
31681 : : {
31682 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
31683 : : {
31684 : 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
31685 : : {
31686 : 0 : {
31687 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
31688 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, UNGE_EXPR, LT_EXPR))
31689 : 0 : return true;
31690 : : }
31691 : : }
31692 : : }
31693 : : }
31694 : : }
31695 : : break;
31696 : : }
31697 : : default:;
31698 : : }
31699 : : }
31700 : : break;
31701 : : default:;
31702 : : }
31703 : : break;
31704 : : }
31705 : : default:;
31706 : : }
31707 : : }
31708 : : break;
31709 : : default:;
31710 : : }
31711 : 317001 : break;
31712 : : }
31713 : : default:;
31714 : : }
31715 : : }
31716 : : break;
31717 : : default:;
31718 : : }
31719 : : break;
31720 : : }
31721 : 0 : case UNEQ_EXPR:
31722 : 0 : {
31723 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
31724 : 0 : _q50 = do_valueize (valueize, _q50);
31725 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
31726 : 0 : _q51 = do_valueize (valueize, _q51);
31727 : 0 : if (tree_swap_operands_p (_q50, _q51))
31728 : 0 : std::swap (_q50, _q51);
31729 : 0 : switch (TREE_CODE (_p1))
31730 : : {
31731 : 0 : case SSA_NAME:
31732 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
31733 : : {
31734 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
31735 : 0 : switch (gimple_assign_rhs_code (_a4))
31736 : : {
31737 : 0 : case BIT_AND_EXPR:
31738 : 0 : {
31739 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
31740 : 0 : _q100 = do_valueize (valueize, _q100);
31741 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
31742 : 0 : _q101 = do_valueize (valueize, _q101);
31743 : 0 : if (tree_swap_operands_p (_q100, _q101))
31744 : 0 : std::swap (_q100, _q101);
31745 : 0 : switch (TREE_CODE (_q100))
31746 : : {
31747 : 0 : case SSA_NAME:
31748 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
31749 : : {
31750 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
31751 : 0 : switch (gimple_assign_rhs_code (_a5))
31752 : : {
31753 : 0 : case VEC_COND_EXPR:
31754 : 0 : {
31755 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
31756 : 0 : _q110 = do_valueize (valueize, _q110);
31757 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
31758 : 0 : _q111 = do_valueize (valueize, _q111);
31759 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
31760 : 0 : _q112 = do_valueize (valueize, _q112);
31761 : 0 : switch (TREE_CODE (_q110))
31762 : : {
31763 : 0 : case SSA_NAME:
31764 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
31765 : : {
31766 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
31767 : 0 : switch (gimple_assign_rhs_code (_a6))
31768 : : {
31769 : 0 : case LTGT_EXPR:
31770 : 0 : {
31771 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
31772 : 0 : _q120 = do_valueize (valueize, _q120);
31773 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
31774 : 0 : _q121 = do_valueize (valueize, _q121);
31775 : 0 : if (tree_swap_operands_p (_q120, _q121))
31776 : 0 : std::swap (_q120, _q121);
31777 : 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
31778 : : {
31779 : 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
31780 : : {
31781 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
31782 : : {
31783 : 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
31784 : : {
31785 : 0 : {
31786 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
31787 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
31788 : 0 : return true;
31789 : : }
31790 : : }
31791 : : }
31792 : : }
31793 : : }
31794 : 0 : break;
31795 : : }
31796 : : default:;
31797 : : }
31798 : : }
31799 : : break;
31800 : : default:;
31801 : : }
31802 : : break;
31803 : : }
31804 : : default:;
31805 : : }
31806 : : }
31807 : : break;
31808 : 0 : default:;
31809 : : }
31810 : 0 : switch (TREE_CODE (_q101))
31811 : : {
31812 : 0 : case SSA_NAME:
31813 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
31814 : : {
31815 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
31816 : 0 : switch (gimple_assign_rhs_code (_a5))
31817 : : {
31818 : 0 : case VEC_COND_EXPR:
31819 : 0 : {
31820 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
31821 : 0 : _q120 = do_valueize (valueize, _q120);
31822 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
31823 : 0 : _q121 = do_valueize (valueize, _q121);
31824 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
31825 : 0 : _q122 = do_valueize (valueize, _q122);
31826 : 0 : switch (TREE_CODE (_q120))
31827 : : {
31828 : 0 : case SSA_NAME:
31829 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
31830 : : {
31831 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
31832 : 0 : switch (gimple_assign_rhs_code (_a6))
31833 : : {
31834 : 0 : case LTGT_EXPR:
31835 : 0 : {
31836 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
31837 : 0 : _q130 = do_valueize (valueize, _q130);
31838 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
31839 : 0 : _q131 = do_valueize (valueize, _q131);
31840 : 0 : if (tree_swap_operands_p (_q130, _q131))
31841 : 0 : std::swap (_q130, _q131);
31842 : 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
31843 : : {
31844 : 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
31845 : : {
31846 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
31847 : : {
31848 : 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
31849 : : {
31850 : 0 : {
31851 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
31852 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, UNEQ_EXPR, LTGT_EXPR))
31853 : 0 : return true;
31854 : : }
31855 : : }
31856 : : }
31857 : : }
31858 : : }
31859 : 317001 : break;
31860 : : }
31861 : : default:;
31862 : : }
31863 : : }
31864 : : break;
31865 : : default:;
31866 : : }
31867 : : break;
31868 : : }
31869 : : default:;
31870 : : }
31871 : : }
31872 : : break;
31873 : : default:;
31874 : : }
31875 : 317001 : break;
31876 : : }
31877 : : default:;
31878 : : }
31879 : : }
31880 : : break;
31881 : : default:;
31882 : : }
31883 : 317001 : break;
31884 : : }
31885 : 0 : case LTGT_EXPR:
31886 : 0 : {
31887 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
31888 : 0 : _q50 = do_valueize (valueize, _q50);
31889 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
31890 : 0 : _q51 = do_valueize (valueize, _q51);
31891 : 0 : if (tree_swap_operands_p (_q50, _q51))
31892 : 0 : std::swap (_q50, _q51);
31893 : 0 : switch (TREE_CODE (_p1))
31894 : : {
31895 : 0 : case SSA_NAME:
31896 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
31897 : : {
31898 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
31899 : 0 : switch (gimple_assign_rhs_code (_a4))
31900 : : {
31901 : 0 : case BIT_AND_EXPR:
31902 : 0 : {
31903 : 0 : tree _q100 = gimple_assign_rhs1 (_a4);
31904 : 0 : _q100 = do_valueize (valueize, _q100);
31905 : 0 : tree _q101 = gimple_assign_rhs2 (_a4);
31906 : 0 : _q101 = do_valueize (valueize, _q101);
31907 : 0 : if (tree_swap_operands_p (_q100, _q101))
31908 : 0 : std::swap (_q100, _q101);
31909 : 0 : switch (TREE_CODE (_q100))
31910 : : {
31911 : 0 : case SSA_NAME:
31912 : 0 : if (gimple *_d5 = get_def (valueize, _q100))
31913 : : {
31914 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
31915 : 0 : switch (gimple_assign_rhs_code (_a5))
31916 : : {
31917 : 0 : case VEC_COND_EXPR:
31918 : 0 : {
31919 : 0 : tree _q110 = gimple_assign_rhs1 (_a5);
31920 : 0 : _q110 = do_valueize (valueize, _q110);
31921 : 0 : tree _q111 = gimple_assign_rhs2 (_a5);
31922 : 0 : _q111 = do_valueize (valueize, _q111);
31923 : 0 : tree _q112 = gimple_assign_rhs3 (_a5);
31924 : 0 : _q112 = do_valueize (valueize, _q112);
31925 : 0 : switch (TREE_CODE (_q110))
31926 : : {
31927 : 0 : case SSA_NAME:
31928 : 0 : if (gimple *_d6 = get_def (valueize, _q110))
31929 : : {
31930 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
31931 : 0 : switch (gimple_assign_rhs_code (_a6))
31932 : : {
31933 : 0 : case UNEQ_EXPR:
31934 : 0 : {
31935 : 0 : tree _q120 = gimple_assign_rhs1 (_a6);
31936 : 0 : _q120 = do_valueize (valueize, _q120);
31937 : 0 : tree _q121 = gimple_assign_rhs2 (_a6);
31938 : 0 : _q121 = do_valueize (valueize, _q121);
31939 : 0 : if (tree_swap_operands_p (_q120, _q121))
31940 : 0 : std::swap (_q120, _q121);
31941 : 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
31942 : : {
31943 : 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
31944 : : {
31945 : 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
31946 : : {
31947 : 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
31948 : : {
31949 : 0 : {
31950 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
31951 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
31952 : 0 : return true;
31953 : : }
31954 : : }
31955 : : }
31956 : : }
31957 : : }
31958 : 0 : break;
31959 : : }
31960 : : default:;
31961 : : }
31962 : : }
31963 : : break;
31964 : : default:;
31965 : : }
31966 : : break;
31967 : : }
31968 : : default:;
31969 : : }
31970 : : }
31971 : : break;
31972 : 0 : default:;
31973 : : }
31974 : 0 : switch (TREE_CODE (_q101))
31975 : : {
31976 : 0 : case SSA_NAME:
31977 : 0 : if (gimple *_d5 = get_def (valueize, _q101))
31978 : : {
31979 : 0 : if (gassign *_a5 = dyn_cast <gassign *> (_d5))
31980 : 0 : switch (gimple_assign_rhs_code (_a5))
31981 : : {
31982 : 0 : case VEC_COND_EXPR:
31983 : 0 : {
31984 : 0 : tree _q120 = gimple_assign_rhs1 (_a5);
31985 : 0 : _q120 = do_valueize (valueize, _q120);
31986 : 0 : tree _q121 = gimple_assign_rhs2 (_a5);
31987 : 0 : _q121 = do_valueize (valueize, _q121);
31988 : 0 : tree _q122 = gimple_assign_rhs3 (_a5);
31989 : 0 : _q122 = do_valueize (valueize, _q122);
31990 : 0 : switch (TREE_CODE (_q120))
31991 : : {
31992 : 0 : case SSA_NAME:
31993 : 0 : if (gimple *_d6 = get_def (valueize, _q120))
31994 : : {
31995 : 0 : if (gassign *_a6 = dyn_cast <gassign *> (_d6))
31996 : 0 : switch (gimple_assign_rhs_code (_a6))
31997 : : {
31998 : 0 : case UNEQ_EXPR:
31999 : 0 : {
32000 : 0 : tree _q130 = gimple_assign_rhs1 (_a6);
32001 : 0 : _q130 = do_valueize (valueize, _q130);
32002 : 0 : tree _q131 = gimple_assign_rhs2 (_a6);
32003 : 0 : _q131 = do_valueize (valueize, _q131);
32004 : 0 : if (tree_swap_operands_p (_q130, _q131))
32005 : 0 : std::swap (_q130, _q131);
32006 : 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
32007 : : {
32008 : 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
32009 : : {
32010 : 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
32011 : : {
32012 : 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
32013 : : {
32014 : 0 : {
32015 : 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
32016 : 0 : if (gimple_simplify_157 (res_op, seq, valueize, type, captures, LTGT_EXPR, UNEQ_EXPR))
32017 : 0 : return true;
32018 : : }
32019 : : }
32020 : : }
32021 : : }
32022 : : }
32023 : 317001 : break;
32024 : : }
32025 : : default:;
32026 : : }
32027 : : }
32028 : : break;
32029 : : default:;
32030 : : }
32031 : : break;
32032 : : }
32033 : : default:;
32034 : : }
32035 : : }
32036 : : break;
32037 : : default:;
32038 : : }
32039 : 317001 : break;
32040 : : }
32041 : : default:;
32042 : : }
32043 : : }
32044 : : break;
32045 : : default:;
32046 : : }
32047 : 317001 : break;
32048 : : }
32049 : : default:;
32050 : : }
32051 : : }
32052 : : break;
32053 : : default:;
32054 : : }
32055 : : break;
32056 : : }
32057 : 2455 : case BIT_NOT_EXPR:
32058 : 2455 : {
32059 : 2455 : tree _q40 = gimple_assign_rhs1 (_a2);
32060 : 2455 : _q40 = do_valueize (valueize, _q40);
32061 : 2455 : switch (TREE_CODE (_p1))
32062 : : {
32063 : 2455 : case SSA_NAME:
32064 : 2455 : if (gimple *_d3 = get_def (valueize, _p1))
32065 : : {
32066 : 2415 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
32067 : 2170 : switch (gimple_assign_rhs_code (_a3))
32068 : : {
32069 : 1949 : case BIT_AND_EXPR:
32070 : 1949 : {
32071 : 1949 : tree _q60 = gimple_assign_rhs1 (_a3);
32072 : 1949 : _q60 = do_valueize (valueize, _q60);
32073 : 1949 : tree _q61 = gimple_assign_rhs2 (_a3);
32074 : 1949 : _q61 = do_valueize (valueize, _q61);
32075 : 1949 : if (tree_swap_operands_p (_q60, _q61))
32076 : 56 : std::swap (_q60, _q61);
32077 : 1949 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
32078 : : {
32079 : 0 : {
32080 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _p1, _q60 };
32081 : 0 : if (gimple_simplify_158 (res_op, seq, valueize, type, captures))
32082 : 0 : return true;
32083 : : }
32084 : : }
32085 : 1949 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
32086 : : {
32087 : 48 : {
32088 : 48 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _p1, _q61 };
32089 : 48 : if (gimple_simplify_158 (res_op, seq, valueize, type, captures))
32090 : 20 : return true;
32091 : : }
32092 : : }
32093 : 317001 : break;
32094 : : }
32095 : : default:;
32096 : : }
32097 : : }
32098 : : break;
32099 : : default:;
32100 : : }
32101 : : break;
32102 : : }
32103 : : default:;
32104 : : }
32105 : : }
32106 : : break;
32107 : 317001 : default:;
32108 : : }
32109 : 317001 : switch (TREE_CODE (_q20))
32110 : : {
32111 : 317001 : case SSA_NAME:
32112 : 317001 : if (gimple *_d2 = get_def (valueize, _q20))
32113 : : {
32114 : 279104 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
32115 : 258941 : switch (gimple_assign_rhs_code (_a2))
32116 : : {
32117 : 6440 : case BIT_NOT_EXPR:
32118 : 6440 : {
32119 : 6440 : tree _q30 = gimple_assign_rhs1 (_a2);
32120 : 6440 : _q30 = do_valueize (valueize, _q30);
32121 : 6440 : switch (TREE_CODE (_p1))
32122 : : {
32123 : 6296 : case SSA_NAME:
32124 : 6296 : if (gimple *_d3 = get_def (valueize, _p1))
32125 : : {
32126 : 6268 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
32127 : 5393 : switch (gimple_assign_rhs_code (_a3))
32128 : : {
32129 : 3080 : case BIT_AND_EXPR:
32130 : 3080 : {
32131 : 3080 : tree _q60 = gimple_assign_rhs1 (_a3);
32132 : 3080 : _q60 = do_valueize (valueize, _q60);
32133 : 3080 : tree _q61 = gimple_assign_rhs2 (_a3);
32134 : 3080 : _q61 = do_valueize (valueize, _q61);
32135 : 3080 : if (tree_swap_operands_p (_q60, _q61))
32136 : 146 : std::swap (_q60, _q61);
32137 : 3080 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
32138 : : {
32139 : 22 : {
32140 : 22 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q30, _p1, _q60 };
32141 : 22 : if (gimple_simplify_158 (res_op, seq, valueize, type, captures))
32142 : 11 : return true;
32143 : : }
32144 : : }
32145 : 3069 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
32146 : : {
32147 : 30 : {
32148 : 30 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q30, _p1, _q61 };
32149 : 30 : if (gimple_simplify_158 (res_op, seq, valueize, type, captures))
32150 : 16 : return true;
32151 : : }
32152 : : }
32153 : 316974 : break;
32154 : : }
32155 : : default:;
32156 : : }
32157 : : }
32158 : : break;
32159 : : default:;
32160 : : }
32161 : : break;
32162 : : }
32163 : : default:;
32164 : : }
32165 : : }
32166 : : break;
32167 : 316974 : default:;
32168 : : }
32169 : 316974 : switch (TREE_CODE (_p1))
32170 : : {
32171 : 177243 : case SSA_NAME:
32172 : 177243 : if (gimple *_d2 = get_def (valueize, _p1))
32173 : : {
32174 : 176117 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
32175 : 172668 : switch (gimple_assign_rhs_code (_a2))
32176 : : {
32177 : 138822 : case BIT_AND_EXPR:
32178 : 138822 : {
32179 : 138822 : tree _q50 = gimple_assign_rhs1 (_a2);
32180 : 138822 : _q50 = do_valueize (valueize, _q50);
32181 : 138822 : tree _q51 = gimple_assign_rhs2 (_a2);
32182 : 138822 : _q51 = do_valueize (valueize, _q51);
32183 : 138822 : if (tree_swap_operands_p (_q50, _q51))
32184 : 7585 : std::swap (_q50, _q51);
32185 : 138822 : switch (TREE_CODE (_q51))
32186 : : {
32187 : 123085 : case SSA_NAME:
32188 : 123085 : if (gimple *_d3 = get_def (valueize, _q51))
32189 : : {
32190 : 119858 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
32191 : 121207 : switch (gimple_assign_rhs_code (_a3))
32192 : : {
32193 : 102605 : case BIT_NOT_EXPR:
32194 : 102605 : {
32195 : 102605 : tree _q70 = gimple_assign_rhs1 (_a3);
32196 : 102605 : _q70 = do_valueize (valueize, _q70);
32197 : 102605 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
32198 : : {
32199 : 55 : {
32200 : 55 : tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q50, _q21, _p0, _q20 };
32201 : 55 : if (gimple_simplify_158 (res_op, seq, valueize, type, captures))
32202 : 29 : return true;
32203 : : }
32204 : : }
32205 : 102576 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
32206 : : {
32207 : 158 : {
32208 : 158 : tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q50, _q20, _p0, _q21 };
32209 : 158 : if (gimple_simplify_158 (res_op, seq, valueize, type, captures))
32210 : 1 : return true;
32211 : : }
32212 : : }
32213 : : break;
32214 : : }
32215 : : default:;
32216 : : }
32217 : : }
32218 : : break;
32219 : 138792 : default:;
32220 : : }
32221 : 138792 : switch (TREE_CODE (_q50))
32222 : : {
32223 : 138792 : case SSA_NAME:
32224 : 138792 : if (gimple *_d3 = get_def (valueize, _q50))
32225 : : {
32226 : 135707 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
32227 : 143159 : switch (gimple_assign_rhs_code (_a3))
32228 : : {
32229 : 579 : case BIT_NOT_EXPR:
32230 : 579 : {
32231 : 579 : tree _q60 = gimple_assign_rhs1 (_a3);
32232 : 579 : _q60 = do_valueize (valueize, _q60);
32233 : 579 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
32234 : : {
32235 : 64 : {
32236 : 64 : tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q51, _q21, _p0, _q20 };
32237 : 64 : if (gimple_simplify_158 (res_op, seq, valueize, type, captures))
32238 : 7 : return true;
32239 : : }
32240 : : }
32241 : 572 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
32242 : : {
32243 : 61 : {
32244 : 61 : tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q51, _q20, _p0, _q21 };
32245 : 61 : if (gimple_simplify_158 (res_op, seq, valueize, type, captures))
32246 : 17 : return true;
32247 : : }
32248 : : }
32249 : : break;
32250 : : }
32251 : : default:;
32252 : : }
32253 : : }
32254 : : break;
32255 : : default:;
32256 : : }
32257 : 4236567 : break;
32258 : : }
32259 : : default:;
32260 : : }
32261 : : }
32262 : : break;
32263 : : default:;
32264 : : }
32265 : 4236567 : break;
32266 : : }
32267 : 14228 : case BIT_XOR_EXPR:
32268 : 14228 : {
32269 : 14228 : tree _q20 = gimple_assign_rhs1 (_a1);
32270 : 14228 : _q20 = do_valueize (valueize, _q20);
32271 : 14228 : tree _q21 = gimple_assign_rhs2 (_a1);
32272 : 14228 : _q21 = do_valueize (valueize, _q21);
32273 : 14228 : if (tree_swap_operands_p (_q20, _q21))
32274 : 709 : std::swap (_q20, _q21);
32275 : 14228 : switch (TREE_CODE (_q21))
32276 : : {
32277 : 1010 : case INTEGER_CST:
32278 : 1010 : {
32279 : 1010 : switch (TREE_CODE (_p1))
32280 : : {
32281 : 477 : case INTEGER_CST:
32282 : 477 : {
32283 : 477 : {
32284 : 477 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
32285 : 477 : if (gimple_simplify_42 (res_op, seq, valueize, type, captures, BIT_XOR_EXPR, BIT_IOR_EXPR))
32286 : 117 : return true;
32287 : : }
32288 : 360 : break;
32289 : : }
32290 : : default:;
32291 : : }
32292 : : break;
32293 : : }
32294 : : default:;
32295 : : }
32296 : 4236567 : break;
32297 : : }
32298 : 116725 : case GT_EXPR:
32299 : 116725 : {
32300 : 116725 : tree _q20 = gimple_assign_rhs1 (_a1);
32301 : 116725 : _q20 = do_valueize (valueize, _q20);
32302 : 116725 : tree _q21 = gimple_assign_rhs2 (_a1);
32303 : 116725 : _q21 = do_valueize (valueize, _q21);
32304 : 116725 : switch (TREE_CODE (_p1))
32305 : : {
32306 : 116725 : case SSA_NAME:
32307 : 116725 : if (gimple *_d2 = get_def (valueize, _p1))
32308 : : {
32309 : 116242 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
32310 : 112971 : switch (gimple_assign_rhs_code (_a2))
32311 : : {
32312 : 5622 : case NE_EXPR:
32313 : 5622 : {
32314 : 5622 : tree _q50 = gimple_assign_rhs1 (_a2);
32315 : 5622 : _q50 = do_valueize (valueize, _q50);
32316 : 5622 : tree _q51 = gimple_assign_rhs2 (_a2);
32317 : 5622 : _q51 = do_valueize (valueize, _q51);
32318 : 5622 : if (tree_swap_operands_p (_q50, _q51))
32319 : 7 : std::swap (_q50, _q51);
32320 : 5622 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
32321 : : {
32322 : 120 : if (gimple_min_value (_q51, valueize))
32323 : : {
32324 : 22 : {
32325 : 22 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
32326 : 22 : if (gimple_simplify_159 (res_op, seq, valueize, type, captures))
32327 : 22 : return true;
32328 : : }
32329 : : }
32330 : : }
32331 : 5600 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
32332 : : {
32333 : 2 : if (gimple_max_value (_q51, valueize))
32334 : : {
32335 : 0 : {
32336 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
32337 : 0 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures))
32338 : 0 : return true;
32339 : : }
32340 : : }
32341 : : }
32342 : 116656 : break;
32343 : : }
32344 : 9311 : case EQ_EXPR:
32345 : 9311 : {
32346 : 9311 : tree _q50 = gimple_assign_rhs1 (_a2);
32347 : 9311 : _q50 = do_valueize (valueize, _q50);
32348 : 9311 : tree _q51 = gimple_assign_rhs2 (_a2);
32349 : 9311 : _q51 = do_valueize (valueize, _q51);
32350 : 9311 : if (tree_swap_operands_p (_q50, _q51))
32351 : 4 : std::swap (_q50, _q51);
32352 : 9311 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
32353 : : {
32354 : 991 : if (gimple_min_value (_q51, valueize))
32355 : : {
32356 : 66 : {
32357 : 66 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _p0, _q21 };
32358 : 66 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures))
32359 : 47 : return true;
32360 : : }
32361 : : }
32362 : : }
32363 : 116656 : break;
32364 : : }
32365 : : default:;
32366 : : }
32367 : : }
32368 : : break;
32369 : 116656 : default:;
32370 : : }
32371 : 116656 : switch (TREE_CODE (_q20))
32372 : : {
32373 : 116614 : case SSA_NAME:
32374 : 116614 : if (gimple *_d2 = get_def (valueize, _q20))
32375 : : {
32376 : 108873 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
32377 : 161374 : switch (gimple_assign_rhs_code (_a2))
32378 : : {
32379 : 8647 : CASE_CONVERT:
32380 : 8647 : {
32381 : 8647 : tree _q30 = gimple_assign_rhs1 (_a2);
32382 : 8647 : _q30 = do_valueize (valueize, _q30);
32383 : 8647 : switch (TREE_CODE (_p1))
32384 : : {
32385 : 8647 : case SSA_NAME:
32386 : 8647 : if (gimple *_d3 = get_def (valueize, _p1))
32387 : : {
32388 : 8530 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
32389 : 8095 : switch (gimple_assign_rhs_code (_a3))
32390 : : {
32391 : 416 : case EQ_EXPR:
32392 : 416 : {
32393 : 416 : tree _q60 = gimple_assign_rhs1 (_a3);
32394 : 416 : _q60 = do_valueize (valueize, _q60);
32395 : 416 : tree _q61 = gimple_assign_rhs2 (_a3);
32396 : 416 : _q61 = do_valueize (valueize, _q61);
32397 : 416 : if (tree_swap_operands_p (_q60, _q61))
32398 : 0 : std::swap (_q60, _q61);
32399 : 416 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
32400 : : {
32401 : 187 : {
32402 : 187 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
32403 : 187 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR))
32404 : 64 : return true;
32405 : : }
32406 : : }
32407 : 352 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
32408 : : {
32409 : 0 : {
32410 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
32411 : 0 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR))
32412 : 0 : return true;
32413 : : }
32414 : : }
32415 : 116592 : break;
32416 : : }
32417 : 1147 : case NE_EXPR:
32418 : 1147 : {
32419 : 1147 : tree _q60 = gimple_assign_rhs1 (_a3);
32420 : 1147 : _q60 = do_valueize (valueize, _q60);
32421 : 1147 : tree _q61 = gimple_assign_rhs2 (_a3);
32422 : 1147 : _q61 = do_valueize (valueize, _q61);
32423 : 1147 : if (tree_swap_operands_p (_q60, _q61))
32424 : 0 : std::swap (_q60, _q61);
32425 : 1147 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
32426 : : {
32427 : 0 : {
32428 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
32429 : 0 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
32430 : 0 : return true;
32431 : : }
32432 : : }
32433 : 1147 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
32434 : : {
32435 : 0 : {
32436 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
32437 : 0 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
32438 : 0 : return true;
32439 : : }
32440 : : }
32441 : 116592 : break;
32442 : : }
32443 : : default:;
32444 : : }
32445 : : }
32446 : : break;
32447 : : default:;
32448 : : }
32449 : : break;
32450 : : }
32451 : : default:;
32452 : : }
32453 : : }
32454 : : break;
32455 : 116592 : default:;
32456 : : }
32457 : 116592 : switch (TREE_CODE (_q21))
32458 : : {
32459 : 83374 : case SSA_NAME:
32460 : 83374 : if (gimple *_d2 = get_def (valueize, _q21))
32461 : : {
32462 : 80481 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
32463 : 133549 : switch (gimple_assign_rhs_code (_a2))
32464 : : {
32465 : 5752 : CASE_CONVERT:
32466 : 5752 : {
32467 : 5752 : tree _q40 = gimple_assign_rhs1 (_a2);
32468 : 5752 : _q40 = do_valueize (valueize, _q40);
32469 : 5752 : switch (TREE_CODE (_p1))
32470 : : {
32471 : 5752 : case SSA_NAME:
32472 : 5752 : if (gimple *_d3 = get_def (valueize, _p1))
32473 : : {
32474 : 5752 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
32475 : 5752 : switch (gimple_assign_rhs_code (_a3))
32476 : : {
32477 : 10 : case EQ_EXPR:
32478 : 10 : {
32479 : 10 : tree _q60 = gimple_assign_rhs1 (_a3);
32480 : 10 : _q60 = do_valueize (valueize, _q60);
32481 : 10 : tree _q61 = gimple_assign_rhs2 (_a3);
32482 : 10 : _q61 = do_valueize (valueize, _q61);
32483 : 10 : if (tree_swap_operands_p (_q60, _q61))
32484 : 0 : std::swap (_q60, _q61);
32485 : 10 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
32486 : : {
32487 : 0 : {
32488 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
32489 : 0 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
32490 : 0 : return true;
32491 : : }
32492 : : }
32493 : 10 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
32494 : : {
32495 : 0 : {
32496 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
32497 : 0 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
32498 : 0 : return true;
32499 : : }
32500 : : }
32501 : 116592 : break;
32502 : : }
32503 : 15 : case NE_EXPR:
32504 : 15 : {
32505 : 15 : tree _q60 = gimple_assign_rhs1 (_a3);
32506 : 15 : _q60 = do_valueize (valueize, _q60);
32507 : 15 : tree _q61 = gimple_assign_rhs2 (_a3);
32508 : 15 : _q61 = do_valueize (valueize, _q61);
32509 : 15 : if (tree_swap_operands_p (_q60, _q61))
32510 : 0 : std::swap (_q60, _q61);
32511 : 15 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
32512 : : {
32513 : 0 : {
32514 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
32515 : 0 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
32516 : 0 : return true;
32517 : : }
32518 : : }
32519 : 15 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
32520 : : {
32521 : 0 : {
32522 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
32523 : 0 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
32524 : 0 : return true;
32525 : : }
32526 : : }
32527 : 116592 : break;
32528 : : }
32529 : : default:;
32530 : : }
32531 : : }
32532 : : break;
32533 : : default:;
32534 : : }
32535 : : break;
32536 : : }
32537 : : default:;
32538 : : }
32539 : : }
32540 : : break;
32541 : 116592 : default:;
32542 : : }
32543 : 116592 : switch (TREE_CODE (_p1))
32544 : : {
32545 : 116592 : case SSA_NAME:
32546 : 116592 : if (gimple *_d2 = get_def (valueize, _p1))
32547 : : {
32548 : 116109 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
32549 : 112838 : switch (gimple_assign_rhs_code (_a2))
32550 : : {
32551 : 9200 : case EQ_EXPR:
32552 : 9200 : {
32553 : 9200 : tree _q50 = gimple_assign_rhs1 (_a2);
32554 : 9200 : _q50 = do_valueize (valueize, _q50);
32555 : 9200 : tree _q51 = gimple_assign_rhs2 (_a2);
32556 : 9200 : _q51 = do_valueize (valueize, _q51);
32557 : 9200 : if (tree_swap_operands_p (_q50, _q51))
32558 : 4 : std::swap (_q50, _q51);
32559 : 9200 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
32560 : : {
32561 : 944 : {
32562 : 944 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
32563 : 944 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR))
32564 : 20 : return true;
32565 : : }
32566 : : }
32567 : 9180 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
32568 : : {
32569 : 5237 : {
32570 : 5237 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
32571 : 5237 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
32572 : 0 : return true;
32573 : : }
32574 : : }
32575 : 9180 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
32576 : : {
32577 : 0 : {
32578 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
32579 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR))
32580 : 0 : return true;
32581 : : }
32582 : : }
32583 : 9180 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
32584 : : {
32585 : 88 : {
32586 : 88 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
32587 : 88 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
32588 : 0 : return true;
32589 : : }
32590 : : }
32591 : 116519 : break;
32592 : : }
32593 : 5600 : case NE_EXPR:
32594 : 5600 : {
32595 : 5600 : tree _q50 = gimple_assign_rhs1 (_a2);
32596 : 5600 : _q50 = do_valueize (valueize, _q50);
32597 : 5600 : tree _q51 = gimple_assign_rhs2 (_a2);
32598 : 5600 : _q51 = do_valueize (valueize, _q51);
32599 : 5600 : if (tree_swap_operands_p (_q50, _q51))
32600 : 7 : std::swap (_q50, _q51);
32601 : 5600 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
32602 : : {
32603 : 98 : {
32604 : 98 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
32605 : 98 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
32606 : 17 : return true;
32607 : : }
32608 : : }
32609 : 5583 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
32610 : : {
32611 : 2 : {
32612 : 2 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
32613 : 2 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
32614 : 0 : return true;
32615 : : }
32616 : : }
32617 : 5583 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
32618 : : {
32619 : 69 : {
32620 : 69 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
32621 : 69 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
32622 : 0 : return true;
32623 : : }
32624 : : }
32625 : 5583 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
32626 : : {
32627 : 17 : {
32628 : 17 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
32629 : 17 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
32630 : 0 : return true;
32631 : : }
32632 : : }
32633 : 116519 : break;
32634 : : }
32635 : 19775 : case LT_EXPR:
32636 : 19775 : {
32637 : 19775 : tree _q50 = gimple_assign_rhs1 (_a2);
32638 : 19775 : _q50 = do_valueize (valueize, _q50);
32639 : 19775 : tree _q51 = gimple_assign_rhs2 (_a2);
32640 : 19775 : _q51 = do_valueize (valueize, _q51);
32641 : 19775 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
32642 : : {
32643 : 4868 : {
32644 : 4868 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
32645 : 4868 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, LT_EXPR, GT_EXPR))
32646 : 8 : return true;
32647 : : }
32648 : : }
32649 : : break;
32650 : : }
32651 : 7646 : case LE_EXPR:
32652 : 7646 : {
32653 : 7646 : tree _q50 = gimple_assign_rhs1 (_a2);
32654 : 7646 : _q50 = do_valueize (valueize, _q50);
32655 : 7646 : tree _q51 = gimple_assign_rhs2 (_a2);
32656 : 7646 : _q51 = do_valueize (valueize, _q51);
32657 : 7646 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
32658 : : {
32659 : 1693 : {
32660 : 1693 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
32661 : 1693 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, LE_EXPR, GT_EXPR))
32662 : 0 : return true;
32663 : : }
32664 : : }
32665 : : break;
32666 : : }
32667 : 62530 : case GT_EXPR:
32668 : 62530 : {
32669 : 62530 : tree _q50 = gimple_assign_rhs1 (_a2);
32670 : 62530 : _q50 = do_valueize (valueize, _q50);
32671 : 62530 : tree _q51 = gimple_assign_rhs2 (_a2);
32672 : 62530 : _q51 = do_valueize (valueize, _q51);
32673 : 62530 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
32674 : : {
32675 : 13874 : {
32676 : 13874 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
32677 : 13874 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, GT_EXPR, GT_EXPR))
32678 : 20 : return true;
32679 : : }
32680 : : }
32681 : : break;
32682 : : }
32683 : 968 : case GE_EXPR:
32684 : 968 : {
32685 : 968 : tree _q50 = gimple_assign_rhs1 (_a2);
32686 : 968 : _q50 = do_valueize (valueize, _q50);
32687 : 968 : tree _q51 = gimple_assign_rhs2 (_a2);
32688 : 968 : _q51 = do_valueize (valueize, _q51);
32689 : 968 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
32690 : : {
32691 : 67 : {
32692 : 67 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
32693 : 67 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, GE_EXPR, GT_EXPR))
32694 : 8 : return true;
32695 : : }
32696 : : }
32697 : : break;
32698 : : }
32699 : : default:;
32700 : : }
32701 : : }
32702 : : break;
32703 : 116519 : default:;
32704 : : }
32705 : 116519 : switch (TREE_CODE (_q20))
32706 : : {
32707 : 116477 : case SSA_NAME:
32708 : 116477 : if (gimple *_d2 = get_def (valueize, _q20))
32709 : : {
32710 : 108736 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
32711 : 161278 : switch (gimple_assign_rhs_code (_a2))
32712 : : {
32713 : 2954 : case BIT_AND_EXPR:
32714 : 2954 : {
32715 : 2954 : tree _q30 = gimple_assign_rhs1 (_a2);
32716 : 2954 : _q30 = do_valueize (valueize, _q30);
32717 : 2954 : tree _q31 = gimple_assign_rhs2 (_a2);
32718 : 2954 : _q31 = do_valueize (valueize, _q31);
32719 : 2954 : if (tree_swap_operands_p (_q30, _q31))
32720 : 0 : std::swap (_q30, _q31);
32721 : 2954 : switch (TREE_CODE (_q30))
32722 : : {
32723 : 2954 : case SSA_NAME:
32724 : 2954 : if (gimple *_d3 = get_def (valueize, _q30))
32725 : : {
32726 : 2950 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
32727 : 3188 : switch (gimple_assign_rhs_code (_a3))
32728 : : {
32729 : 0 : case BIT_XOR_EXPR:
32730 : 0 : {
32731 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
32732 : 0 : _q40 = do_valueize (valueize, _q40);
32733 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
32734 : 0 : _q41 = do_valueize (valueize, _q41);
32735 : 0 : if (tree_swap_operands_p (_q40, _q41))
32736 : 0 : std::swap (_q40, _q41);
32737 : 0 : if (tree_expr_nonzero_p (_q31))
32738 : : {
32739 : 0 : switch (TREE_CODE (_p1))
32740 : : {
32741 : 0 : case SSA_NAME:
32742 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
32743 : : {
32744 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
32745 : 0 : switch (gimple_assign_rhs_code (_a4))
32746 : : {
32747 : 0 : case NE_EXPR:
32748 : 0 : {
32749 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
32750 : 0 : _q90 = do_valueize (valueize, _q90);
32751 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
32752 : 0 : _q91 = do_valueize (valueize, _q91);
32753 : 0 : if (tree_swap_operands_p (_q90, _q91))
32754 : 0 : std::swap (_q90, _q91);
32755 : 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
32756 : : {
32757 : 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
32758 : : {
32759 : 0 : {
32760 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _q21, _p1 };
32761 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, GT_EXPR))
32762 : 0 : return true;
32763 : : }
32764 : : }
32765 : : }
32766 : 0 : if ((_q90 == _q41 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q41, 0) && types_match (_q90, _q41)))
32767 : : {
32768 : 0 : if ((_q91 == _q40 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q40, 0) && types_match (_q91, _q40)))
32769 : : {
32770 : 0 : {
32771 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q41, _q40, _q31, _q21, _p1 };
32772 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, GT_EXPR))
32773 : 0 : return true;
32774 : : }
32775 : : }
32776 : : }
32777 : 2954 : break;
32778 : : }
32779 : : default:;
32780 : : }
32781 : : }
32782 : : break;
32783 : : default:;
32784 : : }
32785 : : }
32786 : 2954 : break;
32787 : : }
32788 : : default:;
32789 : : }
32790 : : }
32791 : : break;
32792 : 2954 : default:;
32793 : : }
32794 : 2954 : if (tree_expr_nonzero_p (_q30))
32795 : : {
32796 : 18 : switch (TREE_CODE (_q31))
32797 : : {
32798 : 0 : case SSA_NAME:
32799 : 0 : if (gimple *_d3 = get_def (valueize, _q31))
32800 : : {
32801 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
32802 : 0 : switch (gimple_assign_rhs_code (_a3))
32803 : : {
32804 : 0 : case BIT_XOR_EXPR:
32805 : 0 : {
32806 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
32807 : 0 : _q50 = do_valueize (valueize, _q50);
32808 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
32809 : 0 : _q51 = do_valueize (valueize, _q51);
32810 : 0 : if (tree_swap_operands_p (_q50, _q51))
32811 : 0 : std::swap (_q50, _q51);
32812 : 0 : switch (TREE_CODE (_p1))
32813 : : {
32814 : 0 : case SSA_NAME:
32815 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
32816 : : {
32817 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
32818 : 0 : switch (gimple_assign_rhs_code (_a4))
32819 : : {
32820 : 0 : case NE_EXPR:
32821 : 0 : {
32822 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
32823 : 0 : _q90 = do_valueize (valueize, _q90);
32824 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
32825 : 0 : _q91 = do_valueize (valueize, _q91);
32826 : 0 : if (tree_swap_operands_p (_q90, _q91))
32827 : 0 : std::swap (_q90, _q91);
32828 : 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
32829 : : {
32830 : 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
32831 : : {
32832 : 0 : {
32833 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q30, _q21, _p1 };
32834 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, GT_EXPR))
32835 : 0 : return true;
32836 : : }
32837 : : }
32838 : : }
32839 : 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
32840 : : {
32841 : 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
32842 : : {
32843 : 0 : {
32844 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q30, _q21, _p1 };
32845 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, GT_EXPR))
32846 : 0 : return true;
32847 : : }
32848 : : }
32849 : : }
32850 : 116519 : break;
32851 : : }
32852 : : default:;
32853 : : }
32854 : : }
32855 : : break;
32856 : : default:;
32857 : : }
32858 : 116519 : break;
32859 : : }
32860 : : default:;
32861 : : }
32862 : : }
32863 : : break;
32864 : : default:;
32865 : : }
32866 : : }
32867 : 116519 : break;
32868 : : }
32869 : : default:;
32870 : : }
32871 : : }
32872 : : break;
32873 : 116519 : default:;
32874 : : }
32875 : 116519 : switch (TREE_CODE (_q21))
32876 : : {
32877 : 83360 : case SSA_NAME:
32878 : 83360 : if (gimple *_d2 = get_def (valueize, _q21))
32879 : : {
32880 : 80467 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
32881 : 133528 : switch (gimple_assign_rhs_code (_a2))
32882 : : {
32883 : 47 : case BIT_AND_EXPR:
32884 : 47 : {
32885 : 47 : tree _q40 = gimple_assign_rhs1 (_a2);
32886 : 47 : _q40 = do_valueize (valueize, _q40);
32887 : 47 : tree _q41 = gimple_assign_rhs2 (_a2);
32888 : 47 : _q41 = do_valueize (valueize, _q41);
32889 : 47 : if (tree_swap_operands_p (_q40, _q41))
32890 : 0 : std::swap (_q40, _q41);
32891 : 47 : switch (TREE_CODE (_q40))
32892 : : {
32893 : 47 : case SSA_NAME:
32894 : 47 : if (gimple *_d3 = get_def (valueize, _q40))
32895 : : {
32896 : 47 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
32897 : 0 : switch (gimple_assign_rhs_code (_a3))
32898 : : {
32899 : 0 : case BIT_XOR_EXPR:
32900 : 0 : {
32901 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
32902 : 0 : _q50 = do_valueize (valueize, _q50);
32903 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
32904 : 0 : _q51 = do_valueize (valueize, _q51);
32905 : 0 : if (tree_swap_operands_p (_q50, _q51))
32906 : 0 : std::swap (_q50, _q51);
32907 : 0 : if (tree_expr_nonzero_p (_q41))
32908 : : {
32909 : 0 : switch (TREE_CODE (_p1))
32910 : : {
32911 : 0 : case SSA_NAME:
32912 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
32913 : : {
32914 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
32915 : 0 : switch (gimple_assign_rhs_code (_a4))
32916 : : {
32917 : 0 : case NE_EXPR:
32918 : 0 : {
32919 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
32920 : 0 : _q90 = do_valueize (valueize, _q90);
32921 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
32922 : 0 : _q91 = do_valueize (valueize, _q91);
32923 : 0 : if (tree_swap_operands_p (_q90, _q91))
32924 : 0 : std::swap (_q90, _q91);
32925 : 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
32926 : : {
32927 : 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
32928 : : {
32929 : 0 : {
32930 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q41, _q20, _p1 };
32931 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, LT_EXPR))
32932 : 0 : return true;
32933 : : }
32934 : : }
32935 : : }
32936 : 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
32937 : : {
32938 : 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
32939 : : {
32940 : 0 : {
32941 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q41, _q20, _p1 };
32942 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, LT_EXPR))
32943 : 0 : return true;
32944 : : }
32945 : : }
32946 : : }
32947 : 47 : break;
32948 : : }
32949 : : default:;
32950 : : }
32951 : : }
32952 : : break;
32953 : : default:;
32954 : : }
32955 : : }
32956 : 47 : break;
32957 : : }
32958 : : default:;
32959 : : }
32960 : : }
32961 : : break;
32962 : 47 : default:;
32963 : : }
32964 : 47 : if (tree_expr_nonzero_p (_q40))
32965 : : {
32966 : 0 : switch (TREE_CODE (_q41))
32967 : : {
32968 : 0 : case SSA_NAME:
32969 : 0 : if (gimple *_d3 = get_def (valueize, _q41))
32970 : : {
32971 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
32972 : 0 : switch (gimple_assign_rhs_code (_a3))
32973 : : {
32974 : 0 : case BIT_XOR_EXPR:
32975 : 0 : {
32976 : 0 : tree _q60 = gimple_assign_rhs1 (_a3);
32977 : 0 : _q60 = do_valueize (valueize, _q60);
32978 : 0 : tree _q61 = gimple_assign_rhs2 (_a3);
32979 : 0 : _q61 = do_valueize (valueize, _q61);
32980 : 0 : if (tree_swap_operands_p (_q60, _q61))
32981 : 0 : std::swap (_q60, _q61);
32982 : 0 : switch (TREE_CODE (_p1))
32983 : : {
32984 : 0 : case SSA_NAME:
32985 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
32986 : : {
32987 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
32988 : 0 : switch (gimple_assign_rhs_code (_a4))
32989 : : {
32990 : 0 : case NE_EXPR:
32991 : 0 : {
32992 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
32993 : 0 : _q90 = do_valueize (valueize, _q90);
32994 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
32995 : 0 : _q91 = do_valueize (valueize, _q91);
32996 : 0 : if (tree_swap_operands_p (_q90, _q91))
32997 : 0 : std::swap (_q90, _q91);
32998 : 0 : if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
32999 : : {
33000 : 0 : if ((_q91 == _q61 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q61, 0) && types_match (_q91, _q61)))
33001 : : {
33002 : 0 : {
33003 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q60, _q61, _q40, _q20, _p1 };
33004 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, LT_EXPR))
33005 : 0 : return true;
33006 : : }
33007 : : }
33008 : : }
33009 : 0 : if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
33010 : : {
33011 : 0 : if ((_q91 == _q60 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q60, 0) && types_match (_q91, _q60)))
33012 : : {
33013 : 0 : {
33014 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q61, _q60, _q40, _q20, _p1 };
33015 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, LT_EXPR))
33016 : 0 : return true;
33017 : : }
33018 : : }
33019 : : }
33020 : 116519 : break;
33021 : : }
33022 : : default:;
33023 : : }
33024 : : }
33025 : : break;
33026 : : default:;
33027 : : }
33028 : 116519 : break;
33029 : : }
33030 : : default:;
33031 : : }
33032 : : }
33033 : : break;
33034 : : default:;
33035 : : }
33036 : : }
33037 : 116519 : break;
33038 : : }
33039 : : default:;
33040 : : }
33041 : : }
33042 : : break;
33043 : 116519 : default:;
33044 : : }
33045 : 116519 : switch (TREE_CODE (_q20))
33046 : : {
33047 : 116477 : case SSA_NAME:
33048 : 116477 : if (gimple *_d2 = get_def (valueize, _q20))
33049 : : {
33050 : 108736 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
33051 : 161278 : switch (gimple_assign_rhs_code (_a2))
33052 : : {
33053 : 0 : case BIT_XOR_EXPR:
33054 : 0 : {
33055 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
33056 : 0 : _q30 = do_valueize (valueize, _q30);
33057 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
33058 : 0 : _q31 = do_valueize (valueize, _q31);
33059 : 0 : if (tree_swap_operands_p (_q30, _q31))
33060 : 0 : std::swap (_q30, _q31);
33061 : 0 : switch (TREE_CODE (_p1))
33062 : : {
33063 : 0 : case SSA_NAME:
33064 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
33065 : : {
33066 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
33067 : 0 : switch (gimple_assign_rhs_code (_a3))
33068 : : {
33069 : 0 : case NE_EXPR:
33070 : 0 : {
33071 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
33072 : 0 : _q70 = do_valueize (valueize, _q70);
33073 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
33074 : 0 : _q71 = do_valueize (valueize, _q71);
33075 : 0 : if (tree_swap_operands_p (_q70, _q71))
33076 : 0 : std::swap (_q70, _q71);
33077 : 0 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
33078 : : {
33079 : 0 : if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
33080 : : {
33081 : 0 : {
33082 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
33083 : 0 : if (gimple_simplify_166 (res_op, seq, valueize, type, captures, GT_EXPR))
33084 : 0 : return true;
33085 : : }
33086 : : }
33087 : : }
33088 : 0 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
33089 : : {
33090 : 0 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
33091 : : {
33092 : 0 : {
33093 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q21, _p1 };
33094 : 0 : if (gimple_simplify_166 (res_op, seq, valueize, type, captures, GT_EXPR))
33095 : 0 : return true;
33096 : : }
33097 : : }
33098 : : }
33099 : 116519 : break;
33100 : : }
33101 : : default:;
33102 : : }
33103 : : }
33104 : : break;
33105 : : default:;
33106 : : }
33107 : 116519 : break;
33108 : : }
33109 : : default:;
33110 : : }
33111 : : }
33112 : : break;
33113 : 116519 : default:;
33114 : : }
33115 : 116519 : switch (TREE_CODE (_q21))
33116 : : {
33117 : 83360 : case SSA_NAME:
33118 : 83360 : if (gimple *_d2 = get_def (valueize, _q21))
33119 : : {
33120 : 80467 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
33121 : 133528 : switch (gimple_assign_rhs_code (_a2))
33122 : : {
33123 : 0 : case BIT_XOR_EXPR:
33124 : 0 : {
33125 : 0 : tree _q40 = gimple_assign_rhs1 (_a2);
33126 : 0 : _q40 = do_valueize (valueize, _q40);
33127 : 0 : tree _q41 = gimple_assign_rhs2 (_a2);
33128 : 0 : _q41 = do_valueize (valueize, _q41);
33129 : 0 : if (tree_swap_operands_p (_q40, _q41))
33130 : 0 : std::swap (_q40, _q41);
33131 : 0 : switch (TREE_CODE (_p1))
33132 : : {
33133 : 0 : case SSA_NAME:
33134 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
33135 : : {
33136 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
33137 : 0 : switch (gimple_assign_rhs_code (_a3))
33138 : : {
33139 : 0 : case NE_EXPR:
33140 : 0 : {
33141 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
33142 : 0 : _q70 = do_valueize (valueize, _q70);
33143 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
33144 : 0 : _q71 = do_valueize (valueize, _q71);
33145 : 0 : if (tree_swap_operands_p (_q70, _q71))
33146 : 0 : std::swap (_q70, _q71);
33147 : 0 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
33148 : : {
33149 : 0 : if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
33150 : : {
33151 : 0 : {
33152 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q20, _p1 };
33153 : 0 : if (gimple_simplify_166 (res_op, seq, valueize, type, captures, LT_EXPR))
33154 : 0 : return true;
33155 : : }
33156 : : }
33157 : : }
33158 : 0 : if ((_q70 == _q41 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q41, 0) && types_match (_q70, _q41)))
33159 : : {
33160 : 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
33161 : : {
33162 : 0 : {
33163 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q41, _q40, _q20, _p1 };
33164 : 0 : if (gimple_simplify_166 (res_op, seq, valueize, type, captures, LT_EXPR))
33165 : 0 : return true;
33166 : : }
33167 : : }
33168 : : }
33169 : 4236567 : break;
33170 : : }
33171 : : default:;
33172 : : }
33173 : : }
33174 : : break;
33175 : : default:;
33176 : : }
33177 : 4236567 : break;
33178 : : }
33179 : : default:;
33180 : : }
33181 : : }
33182 : : break;
33183 : : default:;
33184 : : }
33185 : : break;
33186 : : }
33187 : 356282 : case LT_EXPR:
33188 : 356282 : {
33189 : 356282 : tree _q20 = gimple_assign_rhs1 (_a1);
33190 : 356282 : _q20 = do_valueize (valueize, _q20);
33191 : 356282 : tree _q21 = gimple_assign_rhs2 (_a1);
33192 : 356282 : _q21 = do_valueize (valueize, _q21);
33193 : 356282 : switch (TREE_CODE (_p1))
33194 : : {
33195 : 356282 : case SSA_NAME:
33196 : 356282 : if (gimple *_d2 = get_def (valueize, _p1))
33197 : : {
33198 : 355880 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
33199 : 354574 : switch (gimple_assign_rhs_code (_a2))
33200 : : {
33201 : 12205 : case NE_EXPR:
33202 : 12205 : {
33203 : 12205 : tree _q50 = gimple_assign_rhs1 (_a2);
33204 : 12205 : _q50 = do_valueize (valueize, _q50);
33205 : 12205 : tree _q51 = gimple_assign_rhs2 (_a2);
33206 : 12205 : _q51 = do_valueize (valueize, _q51);
33207 : 12205 : if (tree_swap_operands_p (_q50, _q51))
33208 : 8 : std::swap (_q50, _q51);
33209 : 12205 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
33210 : : {
33211 : 0 : if (gimple_min_value (_q51, valueize))
33212 : : {
33213 : 0 : {
33214 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
33215 : 0 : if (gimple_simplify_159 (res_op, seq, valueize, type, captures))
33216 : 0 : return true;
33217 : : }
33218 : : }
33219 : : }
33220 : 12205 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
33221 : : {
33222 : 541 : if (gimple_max_value (_q51, valueize))
33223 : : {
33224 : 6 : {
33225 : 6 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
33226 : 6 : if (gimple_simplify_160 (res_op, seq, valueize, type, captures))
33227 : 6 : return true;
33228 : : }
33229 : : }
33230 : : }
33231 : 356198 : break;
33232 : : }
33233 : 7700 : case EQ_EXPR:
33234 : 7700 : {
33235 : 7700 : tree _q50 = gimple_assign_rhs1 (_a2);
33236 : 7700 : _q50 = do_valueize (valueize, _q50);
33237 : 7700 : tree _q51 = gimple_assign_rhs2 (_a2);
33238 : 7700 : _q51 = do_valueize (valueize, _q51);
33239 : 7700 : if (tree_swap_operands_p (_q50, _q51))
33240 : 1 : std::swap (_q50, _q51);
33241 : 7700 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
33242 : : {
33243 : 256 : if (gimple_min_value (_q51, valueize))
33244 : : {
33245 : 86 : {
33246 : 86 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _p0, _q20 };
33247 : 86 : if (gimple_simplify_161 (res_op, seq, valueize, type, captures))
33248 : 78 : return true;
33249 : : }
33250 : : }
33251 : : }
33252 : 356198 : break;
33253 : : }
33254 : : default:;
33255 : : }
33256 : : }
33257 : : break;
33258 : 356198 : default:;
33259 : : }
33260 : 356198 : switch (TREE_CODE (_q20))
33261 : : {
33262 : 356157 : case SSA_NAME:
33263 : 356157 : if (gimple *_d2 = get_def (valueize, _q20))
33264 : : {
33265 : 337272 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
33266 : 587364 : switch (gimple_assign_rhs_code (_a2))
33267 : : {
33268 : 7629 : CASE_CONVERT:
33269 : 7629 : {
33270 : 7629 : tree _q30 = gimple_assign_rhs1 (_a2);
33271 : 7629 : _q30 = do_valueize (valueize, _q30);
33272 : 7629 : switch (TREE_CODE (_p1))
33273 : : {
33274 : 7629 : case SSA_NAME:
33275 : 7629 : if (gimple *_d3 = get_def (valueize, _p1))
33276 : : {
33277 : 7629 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
33278 : 7626 : switch (gimple_assign_rhs_code (_a3))
33279 : : {
33280 : 14 : case EQ_EXPR:
33281 : 14 : {
33282 : 14 : tree _q60 = gimple_assign_rhs1 (_a3);
33283 : 14 : _q60 = do_valueize (valueize, _q60);
33284 : 14 : tree _q61 = gimple_assign_rhs2 (_a3);
33285 : 14 : _q61 = do_valueize (valueize, _q61);
33286 : 14 : if (tree_swap_operands_p (_q60, _q61))
33287 : 0 : std::swap (_q60, _q61);
33288 : 14 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
33289 : : {
33290 : 4 : {
33291 : 4 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
33292 : 4 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
33293 : 4 : return true;
33294 : : }
33295 : : }
33296 : 10 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
33297 : : {
33298 : 0 : {
33299 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
33300 : 0 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
33301 : 0 : return true;
33302 : : }
33303 : : }
33304 : 356194 : break;
33305 : : }
33306 : 151 : case NE_EXPR:
33307 : 151 : {
33308 : 151 : tree _q60 = gimple_assign_rhs1 (_a3);
33309 : 151 : _q60 = do_valueize (valueize, _q60);
33310 : 151 : tree _q61 = gimple_assign_rhs2 (_a3);
33311 : 151 : _q61 = do_valueize (valueize, _q61);
33312 : 151 : if (tree_swap_operands_p (_q60, _q61))
33313 : 8 : std::swap (_q60, _q61);
33314 : 151 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
33315 : : {
33316 : 0 : {
33317 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
33318 : 0 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
33319 : 0 : return true;
33320 : : }
33321 : : }
33322 : 151 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
33323 : : {
33324 : 24 : {
33325 : 24 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
33326 : 24 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
33327 : 0 : return true;
33328 : : }
33329 : : }
33330 : 356194 : break;
33331 : : }
33332 : : default:;
33333 : : }
33334 : : }
33335 : : break;
33336 : : default:;
33337 : : }
33338 : : break;
33339 : : }
33340 : : default:;
33341 : : }
33342 : : }
33343 : : break;
33344 : 356194 : default:;
33345 : : }
33346 : 356194 : switch (TREE_CODE (_q21))
33347 : : {
33348 : 293546 : case SSA_NAME:
33349 : 293546 : if (gimple *_d2 = get_def (valueize, _q21))
33350 : : {
33351 : 283626 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
33352 : 535839 : switch (gimple_assign_rhs_code (_a2))
33353 : : {
33354 : 1442 : CASE_CONVERT:
33355 : 1442 : {
33356 : 1442 : tree _q40 = gimple_assign_rhs1 (_a2);
33357 : 1442 : _q40 = do_valueize (valueize, _q40);
33358 : 1442 : switch (TREE_CODE (_p1))
33359 : : {
33360 : 1442 : case SSA_NAME:
33361 : 1442 : if (gimple *_d3 = get_def (valueize, _p1))
33362 : : {
33363 : 1442 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
33364 : 1442 : switch (gimple_assign_rhs_code (_a3))
33365 : : {
33366 : 67 : case EQ_EXPR:
33367 : 67 : {
33368 : 67 : tree _q60 = gimple_assign_rhs1 (_a3);
33369 : 67 : _q60 = do_valueize (valueize, _q60);
33370 : 67 : tree _q61 = gimple_assign_rhs2 (_a3);
33371 : 67 : _q61 = do_valueize (valueize, _q61);
33372 : 67 : if (tree_swap_operands_p (_q60, _q61))
33373 : 0 : std::swap (_q60, _q61);
33374 : 67 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
33375 : : {
33376 : 14 : {
33377 : 14 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
33378 : 14 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR))
33379 : 0 : return true;
33380 : : }
33381 : : }
33382 : 67 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
33383 : : {
33384 : 2 : {
33385 : 2 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
33386 : 2 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR))
33387 : 0 : return true;
33388 : : }
33389 : : }
33390 : 356194 : break;
33391 : : }
33392 : 32 : case NE_EXPR:
33393 : 32 : {
33394 : 32 : tree _q60 = gimple_assign_rhs1 (_a3);
33395 : 32 : _q60 = do_valueize (valueize, _q60);
33396 : 32 : tree _q61 = gimple_assign_rhs2 (_a3);
33397 : 32 : _q61 = do_valueize (valueize, _q61);
33398 : 32 : if (tree_swap_operands_p (_q60, _q61))
33399 : 0 : std::swap (_q60, _q61);
33400 : 32 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
33401 : : {
33402 : 0 : {
33403 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
33404 : 0 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
33405 : 0 : return true;
33406 : : }
33407 : : }
33408 : 32 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
33409 : : {
33410 : 0 : {
33411 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
33412 : 0 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
33413 : 0 : return true;
33414 : : }
33415 : : }
33416 : 356194 : break;
33417 : : }
33418 : : default:;
33419 : : }
33420 : : }
33421 : : break;
33422 : : default:;
33423 : : }
33424 : : break;
33425 : : }
33426 : : default:;
33427 : : }
33428 : : }
33429 : : break;
33430 : 356194 : default:;
33431 : : }
33432 : 356194 : switch (TREE_CODE (_p1))
33433 : : {
33434 : 356194 : case SSA_NAME:
33435 : 356194 : if (gimple *_d2 = get_def (valueize, _p1))
33436 : : {
33437 : 355792 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
33438 : 354486 : switch (gimple_assign_rhs_code (_a2))
33439 : : {
33440 : 7618 : case EQ_EXPR:
33441 : 7618 : {
33442 : 7618 : tree _q50 = gimple_assign_rhs1 (_a2);
33443 : 7618 : _q50 = do_valueize (valueize, _q50);
33444 : 7618 : tree _q51 = gimple_assign_rhs2 (_a2);
33445 : 7618 : _q51 = do_valueize (valueize, _q51);
33446 : 7618 : if (tree_swap_operands_p (_q50, _q51))
33447 : 1 : std::swap (_q50, _q51);
33448 : 7618 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
33449 : : {
33450 : 1531 : {
33451 : 1531 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
33452 : 1531 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
33453 : 4 : return true;
33454 : : }
33455 : : }
33456 : 7614 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
33457 : : {
33458 : 178 : {
33459 : 178 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
33460 : 178 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR))
33461 : 0 : return true;
33462 : : }
33463 : : }
33464 : 7614 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
33465 : : {
33466 : 32 : {
33467 : 32 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
33468 : 32 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
33469 : 0 : return true;
33470 : : }
33471 : : }
33472 : 7614 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
33473 : : {
33474 : 51 : {
33475 : 51 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
33476 : 51 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR))
33477 : 0 : return true;
33478 : : }
33479 : : }
33480 : 356185 : break;
33481 : : }
33482 : 12199 : case NE_EXPR:
33483 : 12199 : {
33484 : 12199 : tree _q50 = gimple_assign_rhs1 (_a2);
33485 : 12199 : _q50 = do_valueize (valueize, _q50);
33486 : 12199 : tree _q51 = gimple_assign_rhs2 (_a2);
33487 : 12199 : _q51 = do_valueize (valueize, _q51);
33488 : 12199 : if (tree_swap_operands_p (_q50, _q51))
33489 : 8 : std::swap (_q50, _q51);
33490 : 12199 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
33491 : : {
33492 : 535 : {
33493 : 535 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
33494 : 535 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
33495 : 0 : return true;
33496 : : }
33497 : : }
33498 : 12199 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
33499 : : {
33500 : 0 : {
33501 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
33502 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
33503 : 0 : return true;
33504 : : }
33505 : : }
33506 : 12199 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
33507 : : {
33508 : 637 : {
33509 : 637 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
33510 : 637 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
33511 : 0 : return true;
33512 : : }
33513 : : }
33514 : 12199 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
33515 : : {
33516 : 60 : {
33517 : 60 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
33518 : 60 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
33519 : 0 : return true;
33520 : : }
33521 : : }
33522 : 356185 : break;
33523 : : }
33524 : 263486 : case LT_EXPR:
33525 : 263486 : {
33526 : 263486 : tree _q50 = gimple_assign_rhs1 (_a2);
33527 : 263486 : _q50 = do_valueize (valueize, _q50);
33528 : 263486 : tree _q51 = gimple_assign_rhs2 (_a2);
33529 : 263486 : _q51 = do_valueize (valueize, _q51);
33530 : 263486 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
33531 : : {
33532 : 17184 : {
33533 : 17184 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
33534 : 17184 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, LT_EXPR, LT_EXPR))
33535 : 0 : return true;
33536 : : }
33537 : : }
33538 : : break;
33539 : : }
33540 : 11586 : case LE_EXPR:
33541 : 11586 : {
33542 : 11586 : tree _q50 = gimple_assign_rhs1 (_a2);
33543 : 11586 : _q50 = do_valueize (valueize, _q50);
33544 : 11586 : tree _q51 = gimple_assign_rhs2 (_a2);
33545 : 11586 : _q51 = do_valueize (valueize, _q51);
33546 : 11586 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
33547 : : {
33548 : 54 : {
33549 : 54 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
33550 : 54 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, LE_EXPR, LT_EXPR))
33551 : 1 : return true;
33552 : : }
33553 : : }
33554 : : break;
33555 : : }
33556 : 42449 : case GT_EXPR:
33557 : 42449 : {
33558 : 42449 : tree _q50 = gimple_assign_rhs1 (_a2);
33559 : 42449 : _q50 = do_valueize (valueize, _q50);
33560 : 42449 : tree _q51 = gimple_assign_rhs2 (_a2);
33561 : 42449 : _q51 = do_valueize (valueize, _q51);
33562 : 42449 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
33563 : : {
33564 : 28145 : {
33565 : 28145 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
33566 : 28145 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, GT_EXPR, LT_EXPR))
33567 : 4 : return true;
33568 : : }
33569 : : }
33570 : : break;
33571 : : }
33572 : 3171 : case GE_EXPR:
33573 : 3171 : {
33574 : 3171 : tree _q50 = gimple_assign_rhs1 (_a2);
33575 : 3171 : _q50 = do_valueize (valueize, _q50);
33576 : 3171 : tree _q51 = gimple_assign_rhs2 (_a2);
33577 : 3171 : _q51 = do_valueize (valueize, _q51);
33578 : 3171 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
33579 : : {
33580 : 2790 : {
33581 : 2790 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
33582 : 2790 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, GE_EXPR, LT_EXPR))
33583 : 0 : return true;
33584 : : }
33585 : : }
33586 : : break;
33587 : : }
33588 : : default:;
33589 : : }
33590 : : }
33591 : : break;
33592 : 356185 : default:;
33593 : : }
33594 : 356185 : switch (TREE_CODE (_q20))
33595 : : {
33596 : 356144 : case SSA_NAME:
33597 : 356144 : if (gimple *_d2 = get_def (valueize, _q20))
33598 : : {
33599 : 337259 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
33600 : 587360 : switch (gimple_assign_rhs_code (_a2))
33601 : : {
33602 : 0 : case BIT_AND_EXPR:
33603 : 0 : {
33604 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
33605 : 0 : _q30 = do_valueize (valueize, _q30);
33606 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
33607 : 0 : _q31 = do_valueize (valueize, _q31);
33608 : 0 : if (tree_swap_operands_p (_q30, _q31))
33609 : 0 : std::swap (_q30, _q31);
33610 : 0 : switch (TREE_CODE (_q30))
33611 : : {
33612 : 0 : case SSA_NAME:
33613 : 0 : if (gimple *_d3 = get_def (valueize, _q30))
33614 : : {
33615 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
33616 : 0 : switch (gimple_assign_rhs_code (_a3))
33617 : : {
33618 : 0 : case BIT_XOR_EXPR:
33619 : 0 : {
33620 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
33621 : 0 : _q40 = do_valueize (valueize, _q40);
33622 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
33623 : 0 : _q41 = do_valueize (valueize, _q41);
33624 : 0 : if (tree_swap_operands_p (_q40, _q41))
33625 : 0 : std::swap (_q40, _q41);
33626 : 0 : if (tree_expr_nonzero_p (_q31))
33627 : : {
33628 : 0 : switch (TREE_CODE (_p1))
33629 : : {
33630 : 0 : case SSA_NAME:
33631 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
33632 : : {
33633 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
33634 : 0 : switch (gimple_assign_rhs_code (_a4))
33635 : : {
33636 : 0 : case NE_EXPR:
33637 : 0 : {
33638 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
33639 : 0 : _q90 = do_valueize (valueize, _q90);
33640 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
33641 : 0 : _q91 = do_valueize (valueize, _q91);
33642 : 0 : if (tree_swap_operands_p (_q90, _q91))
33643 : 0 : std::swap (_q90, _q91);
33644 : 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
33645 : : {
33646 : 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
33647 : : {
33648 : 0 : {
33649 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _q21, _p1 };
33650 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, LT_EXPR))
33651 : 0 : return true;
33652 : : }
33653 : : }
33654 : : }
33655 : 0 : if ((_q90 == _q41 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q41, 0) && types_match (_q90, _q41)))
33656 : : {
33657 : 0 : if ((_q91 == _q40 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q40, 0) && types_match (_q91, _q40)))
33658 : : {
33659 : 0 : {
33660 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q41, _q40, _q31, _q21, _p1 };
33661 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, LT_EXPR))
33662 : 0 : return true;
33663 : : }
33664 : : }
33665 : : }
33666 : 0 : break;
33667 : : }
33668 : : default:;
33669 : : }
33670 : : }
33671 : : break;
33672 : : default:;
33673 : : }
33674 : : }
33675 : 0 : break;
33676 : : }
33677 : : default:;
33678 : : }
33679 : : }
33680 : : break;
33681 : 0 : default:;
33682 : : }
33683 : 0 : if (tree_expr_nonzero_p (_q30))
33684 : : {
33685 : 0 : switch (TREE_CODE (_q31))
33686 : : {
33687 : 0 : case SSA_NAME:
33688 : 0 : if (gimple *_d3 = get_def (valueize, _q31))
33689 : : {
33690 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
33691 : 0 : switch (gimple_assign_rhs_code (_a3))
33692 : : {
33693 : 0 : case BIT_XOR_EXPR:
33694 : 0 : {
33695 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
33696 : 0 : _q50 = do_valueize (valueize, _q50);
33697 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
33698 : 0 : _q51 = do_valueize (valueize, _q51);
33699 : 0 : if (tree_swap_operands_p (_q50, _q51))
33700 : 0 : std::swap (_q50, _q51);
33701 : 0 : switch (TREE_CODE (_p1))
33702 : : {
33703 : 0 : case SSA_NAME:
33704 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
33705 : : {
33706 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
33707 : 0 : switch (gimple_assign_rhs_code (_a4))
33708 : : {
33709 : 0 : case NE_EXPR:
33710 : 0 : {
33711 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
33712 : 0 : _q90 = do_valueize (valueize, _q90);
33713 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
33714 : 0 : _q91 = do_valueize (valueize, _q91);
33715 : 0 : if (tree_swap_operands_p (_q90, _q91))
33716 : 0 : std::swap (_q90, _q91);
33717 : 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
33718 : : {
33719 : 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
33720 : : {
33721 : 0 : {
33722 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q30, _q21, _p1 };
33723 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, LT_EXPR))
33724 : 0 : return true;
33725 : : }
33726 : : }
33727 : : }
33728 : 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
33729 : : {
33730 : 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
33731 : : {
33732 : 0 : {
33733 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q30, _q21, _p1 };
33734 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, LT_EXPR))
33735 : 0 : return true;
33736 : : }
33737 : : }
33738 : : }
33739 : 356185 : break;
33740 : : }
33741 : : default:;
33742 : : }
33743 : : }
33744 : : break;
33745 : : default:;
33746 : : }
33747 : 356185 : break;
33748 : : }
33749 : : default:;
33750 : : }
33751 : : }
33752 : : break;
33753 : : default:;
33754 : : }
33755 : : }
33756 : 356185 : break;
33757 : : }
33758 : : default:;
33759 : : }
33760 : : }
33761 : : break;
33762 : 356185 : default:;
33763 : : }
33764 : 356185 : switch (TREE_CODE (_q21))
33765 : : {
33766 : 293541 : case SSA_NAME:
33767 : 293541 : if (gimple *_d2 = get_def (valueize, _q21))
33768 : : {
33769 : 283621 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
33770 : 535839 : switch (gimple_assign_rhs_code (_a2))
33771 : : {
33772 : 44 : case BIT_AND_EXPR:
33773 : 44 : {
33774 : 44 : tree _q40 = gimple_assign_rhs1 (_a2);
33775 : 44 : _q40 = do_valueize (valueize, _q40);
33776 : 44 : tree _q41 = gimple_assign_rhs2 (_a2);
33777 : 44 : _q41 = do_valueize (valueize, _q41);
33778 : 44 : if (tree_swap_operands_p (_q40, _q41))
33779 : 0 : std::swap (_q40, _q41);
33780 : 44 : switch (TREE_CODE (_q40))
33781 : : {
33782 : 44 : case SSA_NAME:
33783 : 44 : if (gimple *_d3 = get_def (valueize, _q40))
33784 : : {
33785 : 44 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
33786 : 44 : switch (gimple_assign_rhs_code (_a3))
33787 : : {
33788 : 0 : case BIT_XOR_EXPR:
33789 : 0 : {
33790 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
33791 : 0 : _q50 = do_valueize (valueize, _q50);
33792 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
33793 : 0 : _q51 = do_valueize (valueize, _q51);
33794 : 0 : if (tree_swap_operands_p (_q50, _q51))
33795 : 0 : std::swap (_q50, _q51);
33796 : 0 : if (tree_expr_nonzero_p (_q41))
33797 : : {
33798 : 0 : switch (TREE_CODE (_p1))
33799 : : {
33800 : 0 : case SSA_NAME:
33801 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
33802 : : {
33803 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
33804 : 0 : switch (gimple_assign_rhs_code (_a4))
33805 : : {
33806 : 0 : case NE_EXPR:
33807 : 0 : {
33808 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
33809 : 0 : _q90 = do_valueize (valueize, _q90);
33810 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
33811 : 0 : _q91 = do_valueize (valueize, _q91);
33812 : 0 : if (tree_swap_operands_p (_q90, _q91))
33813 : 0 : std::swap (_q90, _q91);
33814 : 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
33815 : : {
33816 : 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
33817 : : {
33818 : 0 : {
33819 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q41, _q20, _p1 };
33820 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, GT_EXPR))
33821 : 0 : return true;
33822 : : }
33823 : : }
33824 : : }
33825 : 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
33826 : : {
33827 : 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
33828 : : {
33829 : 0 : {
33830 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q41, _q20, _p1 };
33831 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, GT_EXPR))
33832 : 0 : return true;
33833 : : }
33834 : : }
33835 : : }
33836 : 44 : break;
33837 : : }
33838 : : default:;
33839 : : }
33840 : : }
33841 : : break;
33842 : : default:;
33843 : : }
33844 : : }
33845 : 44 : break;
33846 : : }
33847 : : default:;
33848 : : }
33849 : : }
33850 : : break;
33851 : 44 : default:;
33852 : : }
33853 : 44 : if (tree_expr_nonzero_p (_q40))
33854 : : {
33855 : 13 : switch (TREE_CODE (_q41))
33856 : : {
33857 : 0 : case SSA_NAME:
33858 : 0 : if (gimple *_d3 = get_def (valueize, _q41))
33859 : : {
33860 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
33861 : 0 : switch (gimple_assign_rhs_code (_a3))
33862 : : {
33863 : 0 : case BIT_XOR_EXPR:
33864 : 0 : {
33865 : 0 : tree _q60 = gimple_assign_rhs1 (_a3);
33866 : 0 : _q60 = do_valueize (valueize, _q60);
33867 : 0 : tree _q61 = gimple_assign_rhs2 (_a3);
33868 : 0 : _q61 = do_valueize (valueize, _q61);
33869 : 0 : if (tree_swap_operands_p (_q60, _q61))
33870 : 0 : std::swap (_q60, _q61);
33871 : 0 : switch (TREE_CODE (_p1))
33872 : : {
33873 : 0 : case SSA_NAME:
33874 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
33875 : : {
33876 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
33877 : 0 : switch (gimple_assign_rhs_code (_a4))
33878 : : {
33879 : 0 : case NE_EXPR:
33880 : 0 : {
33881 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
33882 : 0 : _q90 = do_valueize (valueize, _q90);
33883 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
33884 : 0 : _q91 = do_valueize (valueize, _q91);
33885 : 0 : if (tree_swap_operands_p (_q90, _q91))
33886 : 0 : std::swap (_q90, _q91);
33887 : 0 : if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
33888 : : {
33889 : 0 : if ((_q91 == _q61 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q61, 0) && types_match (_q91, _q61)))
33890 : : {
33891 : 0 : {
33892 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q60, _q61, _q40, _q20, _p1 };
33893 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, GT_EXPR))
33894 : 0 : return true;
33895 : : }
33896 : : }
33897 : : }
33898 : 0 : if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
33899 : : {
33900 : 0 : if ((_q91 == _q60 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q60, 0) && types_match (_q91, _q60)))
33901 : : {
33902 : 0 : {
33903 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q61, _q60, _q40, _q20, _p1 };
33904 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, GT_EXPR))
33905 : 0 : return true;
33906 : : }
33907 : : }
33908 : : }
33909 : 356185 : break;
33910 : : }
33911 : : default:;
33912 : : }
33913 : : }
33914 : : break;
33915 : : default:;
33916 : : }
33917 : 356185 : break;
33918 : : }
33919 : : default:;
33920 : : }
33921 : : }
33922 : : break;
33923 : : default:;
33924 : : }
33925 : : }
33926 : 356185 : break;
33927 : : }
33928 : : default:;
33929 : : }
33930 : : }
33931 : : break;
33932 : 356185 : default:;
33933 : : }
33934 : 356185 : switch (TREE_CODE (_q20))
33935 : : {
33936 : 356144 : case SSA_NAME:
33937 : 356144 : if (gimple *_d2 = get_def (valueize, _q20))
33938 : : {
33939 : 337259 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
33940 : 587360 : switch (gimple_assign_rhs_code (_a2))
33941 : : {
33942 : 4 : case BIT_XOR_EXPR:
33943 : 4 : {
33944 : 4 : tree _q30 = gimple_assign_rhs1 (_a2);
33945 : 4 : _q30 = do_valueize (valueize, _q30);
33946 : 4 : tree _q31 = gimple_assign_rhs2 (_a2);
33947 : 4 : _q31 = do_valueize (valueize, _q31);
33948 : 4 : if (tree_swap_operands_p (_q30, _q31))
33949 : 0 : std::swap (_q30, _q31);
33950 : 4 : switch (TREE_CODE (_p1))
33951 : : {
33952 : 4 : case SSA_NAME:
33953 : 4 : if (gimple *_d3 = get_def (valueize, _p1))
33954 : : {
33955 : 4 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
33956 : 4 : switch (gimple_assign_rhs_code (_a3))
33957 : : {
33958 : 0 : case NE_EXPR:
33959 : 0 : {
33960 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
33961 : 0 : _q70 = do_valueize (valueize, _q70);
33962 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
33963 : 0 : _q71 = do_valueize (valueize, _q71);
33964 : 0 : if (tree_swap_operands_p (_q70, _q71))
33965 : 0 : std::swap (_q70, _q71);
33966 : 0 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
33967 : : {
33968 : 0 : if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
33969 : : {
33970 : 0 : {
33971 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
33972 : 0 : if (gimple_simplify_166 (res_op, seq, valueize, type, captures, LT_EXPR))
33973 : 0 : return true;
33974 : : }
33975 : : }
33976 : : }
33977 : 0 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
33978 : : {
33979 : 0 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
33980 : : {
33981 : 0 : {
33982 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q21, _p1 };
33983 : 0 : if (gimple_simplify_166 (res_op, seq, valueize, type, captures, LT_EXPR))
33984 : 0 : return true;
33985 : : }
33986 : : }
33987 : : }
33988 : 356185 : break;
33989 : : }
33990 : : default:;
33991 : : }
33992 : : }
33993 : : break;
33994 : : default:;
33995 : : }
33996 : 356185 : break;
33997 : : }
33998 : : default:;
33999 : : }
34000 : : }
34001 : : break;
34002 : 356185 : default:;
34003 : : }
34004 : 356185 : switch (TREE_CODE (_q21))
34005 : : {
34006 : 293541 : case SSA_NAME:
34007 : 293541 : if (gimple *_d2 = get_def (valueize, _q21))
34008 : : {
34009 : 283621 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
34010 : 535839 : switch (gimple_assign_rhs_code (_a2))
34011 : : {
34012 : 0 : case BIT_XOR_EXPR:
34013 : 0 : {
34014 : 0 : tree _q40 = gimple_assign_rhs1 (_a2);
34015 : 0 : _q40 = do_valueize (valueize, _q40);
34016 : 0 : tree _q41 = gimple_assign_rhs2 (_a2);
34017 : 0 : _q41 = do_valueize (valueize, _q41);
34018 : 0 : if (tree_swap_operands_p (_q40, _q41))
34019 : 0 : std::swap (_q40, _q41);
34020 : 0 : switch (TREE_CODE (_p1))
34021 : : {
34022 : 0 : case SSA_NAME:
34023 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
34024 : : {
34025 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
34026 : 0 : switch (gimple_assign_rhs_code (_a3))
34027 : : {
34028 : 0 : case NE_EXPR:
34029 : 0 : {
34030 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
34031 : 0 : _q70 = do_valueize (valueize, _q70);
34032 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
34033 : 0 : _q71 = do_valueize (valueize, _q71);
34034 : 0 : if (tree_swap_operands_p (_q70, _q71))
34035 : 0 : std::swap (_q70, _q71);
34036 : 0 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
34037 : : {
34038 : 0 : if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
34039 : : {
34040 : 0 : {
34041 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q20, _p1 };
34042 : 0 : if (gimple_simplify_166 (res_op, seq, valueize, type, captures, GT_EXPR))
34043 : 0 : return true;
34044 : : }
34045 : : }
34046 : : }
34047 : 0 : if ((_q70 == _q41 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q41, 0) && types_match (_q70, _q41)))
34048 : : {
34049 : 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
34050 : : {
34051 : 0 : {
34052 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q41, _q40, _q20, _p1 };
34053 : 0 : if (gimple_simplify_166 (res_op, seq, valueize, type, captures, GT_EXPR))
34054 : 0 : return true;
34055 : : }
34056 : : }
34057 : : }
34058 : 4236567 : break;
34059 : : }
34060 : : default:;
34061 : : }
34062 : : }
34063 : : break;
34064 : : default:;
34065 : : }
34066 : 4236567 : break;
34067 : : }
34068 : : default:;
34069 : : }
34070 : : }
34071 : : break;
34072 : : default:;
34073 : : }
34074 : : break;
34075 : : }
34076 : 401797 : case NE_EXPR:
34077 : 401797 : {
34078 : 401797 : tree _q20 = gimple_assign_rhs1 (_a1);
34079 : 401797 : _q20 = do_valueize (valueize, _q20);
34080 : 401797 : tree _q21 = gimple_assign_rhs2 (_a1);
34081 : 401797 : _q21 = do_valueize (valueize, _q21);
34082 : 401797 : if (tree_swap_operands_p (_q20, _q21))
34083 : 6234 : std::swap (_q20, _q21);
34084 : 401797 : if (gimple_min_value (_q21, valueize))
34085 : : {
34086 : 18980 : switch (TREE_CODE (_p1))
34087 : : {
34088 : 18980 : case SSA_NAME:
34089 : 18980 : if (gimple *_d2 = get_def (valueize, _p1))
34090 : : {
34091 : 18752 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
34092 : 17268 : switch (gimple_assign_rhs_code (_a2))
34093 : : {
34094 : 754 : case GT_EXPR:
34095 : 754 : {
34096 : 754 : tree _q50 = gimple_assign_rhs1 (_a2);
34097 : 754 : _q50 = do_valueize (valueize, _q50);
34098 : 754 : tree _q51 = gimple_assign_rhs2 (_a2);
34099 : 754 : _q51 = do_valueize (valueize, _q51);
34100 : 754 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
34101 : : {
34102 : 0 : {
34103 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _p0 };
34104 : 0 : if (gimple_simplify_167 (res_op, seq, valueize, type, captures))
34105 : 0 : return true;
34106 : : }
34107 : : }
34108 : : break;
34109 : : }
34110 : 540 : case LT_EXPR:
34111 : 540 : {
34112 : 540 : tree _q50 = gimple_assign_rhs1 (_a2);
34113 : 540 : _q50 = do_valueize (valueize, _q50);
34114 : 540 : tree _q51 = gimple_assign_rhs2 (_a2);
34115 : 540 : _q51 = do_valueize (valueize, _q51);
34116 : 540 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
34117 : : {
34118 : 0 : {
34119 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _p0 };
34120 : 0 : if (gimple_simplify_167 (res_op, seq, valueize, type, captures))
34121 : 0 : return true;
34122 : : }
34123 : : }
34124 : : break;
34125 : : }
34126 : 661 : case LE_EXPR:
34127 : 661 : {
34128 : 661 : tree _q50 = gimple_assign_rhs1 (_a2);
34129 : 661 : _q50 = do_valueize (valueize, _q50);
34130 : 661 : tree _q51 = gimple_assign_rhs2 (_a2);
34131 : 661 : _q51 = do_valueize (valueize, _q51);
34132 : 661 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
34133 : : {
34134 : 0 : {
34135 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q51 };
34136 : 0 : if (gimple_simplify_168 (res_op, seq, valueize, type, captures))
34137 : 0 : return true;
34138 : : }
34139 : : }
34140 : : break;
34141 : : }
34142 : 74 : case GE_EXPR:
34143 : 74 : {
34144 : 74 : tree _q50 = gimple_assign_rhs1 (_a2);
34145 : 74 : _q50 = do_valueize (valueize, _q50);
34146 : 74 : tree _q51 = gimple_assign_rhs2 (_a2);
34147 : 74 : _q51 = do_valueize (valueize, _q51);
34148 : 74 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
34149 : : {
34150 : 0 : {
34151 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
34152 : 0 : if (gimple_simplify_168 (res_op, seq, valueize, type, captures))
34153 : 0 : return true;
34154 : : }
34155 : : }
34156 : : break;
34157 : : }
34158 : : default:;
34159 : : }
34160 : : }
34161 : : break;
34162 : : default:;
34163 : : }
34164 : : }
34165 : 401797 : if (gimple_max_value (_q21, valueize))
34166 : : {
34167 : 3973 : switch (TREE_CODE (_p1))
34168 : : {
34169 : 3973 : case SSA_NAME:
34170 : 3973 : if (gimple *_d2 = get_def (valueize, _p1))
34171 : : {
34172 : 3973 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
34173 : 3938 : switch (gimple_assign_rhs_code (_a2))
34174 : : {
34175 : 3385 : case LT_EXPR:
34176 : 3385 : {
34177 : 3385 : tree _q50 = gimple_assign_rhs1 (_a2);
34178 : 3385 : _q50 = do_valueize (valueize, _q50);
34179 : 3385 : tree _q51 = gimple_assign_rhs2 (_a2);
34180 : 3385 : _q51 = do_valueize (valueize, _q51);
34181 : 3385 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
34182 : : {
34183 : 7 : {
34184 : 7 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _p0 };
34185 : 7 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures))
34186 : 7 : return true;
34187 : : }
34188 : : }
34189 : : break;
34190 : : }
34191 : 64 : case GT_EXPR:
34192 : 64 : {
34193 : 64 : tree _q50 = gimple_assign_rhs1 (_a2);
34194 : 64 : _q50 = do_valueize (valueize, _q50);
34195 : 64 : tree _q51 = gimple_assign_rhs2 (_a2);
34196 : 64 : _q51 = do_valueize (valueize, _q51);
34197 : 64 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
34198 : : {
34199 : 0 : {
34200 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _p0 };
34201 : 0 : if (gimple_simplify_169 (res_op, seq, valueize, type, captures))
34202 : 0 : return true;
34203 : : }
34204 : : }
34205 : : break;
34206 : : }
34207 : 0 : case GE_EXPR:
34208 : 0 : {
34209 : 0 : tree _q50 = gimple_assign_rhs1 (_a2);
34210 : 0 : _q50 = do_valueize (valueize, _q50);
34211 : 0 : tree _q51 = gimple_assign_rhs2 (_a2);
34212 : 0 : _q51 = do_valueize (valueize, _q51);
34213 : 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
34214 : : {
34215 : 0 : {
34216 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
34217 : 0 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, NE_EXPR))
34218 : 0 : return true;
34219 : : }
34220 : : }
34221 : : break;
34222 : : }
34223 : 48 : case LE_EXPR:
34224 : 48 : {
34225 : 48 : tree _q50 = gimple_assign_rhs1 (_a2);
34226 : 48 : _q50 = do_valueize (valueize, _q50);
34227 : 48 : tree _q51 = gimple_assign_rhs2 (_a2);
34228 : 48 : _q51 = do_valueize (valueize, _q51);
34229 : 48 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
34230 : : {
34231 : 0 : {
34232 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
34233 : 0 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, NE_EXPR))
34234 : 0 : return true;
34235 : : }
34236 : : }
34237 : : break;
34238 : : }
34239 : : default:;
34240 : : }
34241 : : }
34242 : : break;
34243 : : default:;
34244 : : }
34245 : : }
34246 : 401790 : switch (TREE_CODE (_p1))
34247 : : {
34248 : 401790 : case SSA_NAME:
34249 : 401790 : if (gimple *_d2 = get_def (valueize, _p1))
34250 : : {
34251 : 400317 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
34252 : 390106 : switch (gimple_assign_rhs_code (_a2))
34253 : : {
34254 : 22514 : case EQ_EXPR:
34255 : 22514 : {
34256 : 22514 : tree _q50 = gimple_assign_rhs1 (_a2);
34257 : 22514 : _q50 = do_valueize (valueize, _q50);
34258 : 22514 : tree _q51 = gimple_assign_rhs2 (_a2);
34259 : 22514 : _q51 = do_valueize (valueize, _q51);
34260 : 22514 : if (tree_swap_operands_p (_q50, _q51))
34261 : 378 : std::swap (_q50, _q51);
34262 : 22514 : switch (TREE_CODE (_q50))
34263 : : {
34264 : 22514 : case SSA_NAME:
34265 : 22514 : if (gimple *_d3 = get_def (valueize, _q50))
34266 : : {
34267 : 21113 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
34268 : 27244 : switch (gimple_assign_rhs_code (_a3))
34269 : : {
34270 : 293 : CASE_CONVERT:
34271 : 293 : {
34272 : 293 : tree _q60 = gimple_assign_rhs1 (_a3);
34273 : 293 : _q60 = do_valueize (valueize, _q60);
34274 : 293 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
34275 : : {
34276 : 0 : {
34277 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
34278 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
34279 : 0 : return true;
34280 : : }
34281 : : }
34282 : 293 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
34283 : : {
34284 : 0 : {
34285 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
34286 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
34287 : 0 : return true;
34288 : : }
34289 : : }
34290 : : break;
34291 : : }
34292 : : default:;
34293 : : }
34294 : : }
34295 : : break;
34296 : 22514 : default:;
34297 : : }
34298 : 22514 : switch (TREE_CODE (_q51))
34299 : : {
34300 : 2481 : case SSA_NAME:
34301 : 2481 : if (gimple *_d3 = get_def (valueize, _q51))
34302 : : {
34303 : 2381 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
34304 : 2303 : switch (gimple_assign_rhs_code (_a3))
34305 : : {
34306 : 202 : CASE_CONVERT:
34307 : 202 : {
34308 : 202 : tree _q70 = gimple_assign_rhs1 (_a3);
34309 : 202 : _q70 = do_valueize (valueize, _q70);
34310 : 202 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
34311 : : {
34312 : 0 : {
34313 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
34314 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
34315 : 0 : return true;
34316 : : }
34317 : : }
34318 : 202 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
34319 : : {
34320 : 0 : {
34321 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
34322 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
34323 : 0 : return true;
34324 : : }
34325 : : }
34326 : : break;
34327 : : }
34328 : : default:;
34329 : : }
34330 : : }
34331 : : break;
34332 : : default:;
34333 : : }
34334 : 401790 : break;
34335 : : }
34336 : 336495 : case NE_EXPR:
34337 : 336495 : {
34338 : 336495 : tree _q50 = gimple_assign_rhs1 (_a2);
34339 : 336495 : _q50 = do_valueize (valueize, _q50);
34340 : 336495 : tree _q51 = gimple_assign_rhs2 (_a2);
34341 : 336495 : _q51 = do_valueize (valueize, _q51);
34342 : 336495 : if (tree_swap_operands_p (_q50, _q51))
34343 : 2828 : std::swap (_q50, _q51);
34344 : 336495 : switch (TREE_CODE (_q50))
34345 : : {
34346 : 336495 : case SSA_NAME:
34347 : 336495 : if (gimple *_d3 = get_def (valueize, _q50))
34348 : : {
34349 : 305694 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
34350 : 489288 : switch (gimple_assign_rhs_code (_a3))
34351 : : {
34352 : 8576 : CASE_CONVERT:
34353 : 8576 : {
34354 : 8576 : tree _q60 = gimple_assign_rhs1 (_a3);
34355 : 8576 : _q60 = do_valueize (valueize, _q60);
34356 : 8576 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
34357 : : {
34358 : 6 : {
34359 : 6 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
34360 : 6 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
34361 : 0 : return true;
34362 : : }
34363 : : }
34364 : 8576 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
34365 : : {
34366 : 0 : {
34367 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
34368 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
34369 : 0 : return true;
34370 : : }
34371 : : }
34372 : : break;
34373 : : }
34374 : : default:;
34375 : : }
34376 : : }
34377 : : break;
34378 : 336495 : default:;
34379 : : }
34380 : 336495 : switch (TREE_CODE (_q51))
34381 : : {
34382 : 27518 : case SSA_NAME:
34383 : 27518 : if (gimple *_d3 = get_def (valueize, _q51))
34384 : : {
34385 : 23453 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
34386 : 35357 : switch (gimple_assign_rhs_code (_a3))
34387 : : {
34388 : 2427 : CASE_CONVERT:
34389 : 2427 : {
34390 : 2427 : tree _q70 = gimple_assign_rhs1 (_a3);
34391 : 2427 : _q70 = do_valueize (valueize, _q70);
34392 : 2427 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
34393 : : {
34394 : 0 : {
34395 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
34396 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
34397 : 0 : return true;
34398 : : }
34399 : : }
34400 : 2427 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
34401 : : {
34402 : 0 : {
34403 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
34404 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
34405 : 0 : return true;
34406 : : }
34407 : : }
34408 : : break;
34409 : : }
34410 : : default:;
34411 : : }
34412 : : }
34413 : : break;
34414 : : default:;
34415 : : }
34416 : 401790 : break;
34417 : : }
34418 : 10159 : case LT_EXPR:
34419 : 10159 : {
34420 : 10159 : tree _q50 = gimple_assign_rhs1 (_a2);
34421 : 10159 : _q50 = do_valueize (valueize, _q50);
34422 : 10159 : tree _q51 = gimple_assign_rhs2 (_a2);
34423 : 10159 : _q51 = do_valueize (valueize, _q51);
34424 : 10159 : switch (TREE_CODE (_q50))
34425 : : {
34426 : 10159 : case SSA_NAME:
34427 : 10159 : if (gimple *_d3 = get_def (valueize, _q50))
34428 : : {
34429 : 9405 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
34430 : 13151 : switch (gimple_assign_rhs_code (_a3))
34431 : : {
34432 : 113 : CASE_CONVERT:
34433 : 113 : {
34434 : 113 : tree _q60 = gimple_assign_rhs1 (_a3);
34435 : 113 : _q60 = do_valueize (valueize, _q60);
34436 : 113 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
34437 : : {
34438 : 0 : {
34439 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
34440 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
34441 : 0 : return true;
34442 : : }
34443 : : }
34444 : 113 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
34445 : : {
34446 : 30 : {
34447 : 30 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
34448 : 30 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
34449 : 0 : return true;
34450 : : }
34451 : : }
34452 : : break;
34453 : : }
34454 : : default:;
34455 : : }
34456 : : }
34457 : : break;
34458 : 10159 : default:;
34459 : : }
34460 : 10159 : switch (TREE_CODE (_q51))
34461 : : {
34462 : 3479 : case SSA_NAME:
34463 : 3479 : if (gimple *_d3 = get_def (valueize, _q51))
34464 : : {
34465 : 3251 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
34466 : 6413 : switch (gimple_assign_rhs_code (_a3))
34467 : : {
34468 : 12 : CASE_CONVERT:
34469 : 12 : {
34470 : 12 : tree _q70 = gimple_assign_rhs1 (_a3);
34471 : 12 : _q70 = do_valueize (valueize, _q70);
34472 : 12 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
34473 : : {
34474 : 0 : {
34475 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
34476 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
34477 : 0 : return true;
34478 : : }
34479 : : }
34480 : 12 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
34481 : : {
34482 : 0 : {
34483 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
34484 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
34485 : 0 : return true;
34486 : : }
34487 : : }
34488 : : break;
34489 : : }
34490 : : default:;
34491 : : }
34492 : : }
34493 : : break;
34494 : : default:;
34495 : : }
34496 : : break;
34497 : : }
34498 : 1753 : case GT_EXPR:
34499 : 1753 : {
34500 : 1753 : tree _q50 = gimple_assign_rhs1 (_a2);
34501 : 1753 : _q50 = do_valueize (valueize, _q50);
34502 : 1753 : tree _q51 = gimple_assign_rhs2 (_a2);
34503 : 1753 : _q51 = do_valueize (valueize, _q51);
34504 : 1753 : switch (TREE_CODE (_q50))
34505 : : {
34506 : 1753 : case SSA_NAME:
34507 : 1753 : if (gimple *_d3 = get_def (valueize, _q50))
34508 : : {
34509 : 1670 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
34510 : 1764 : switch (gimple_assign_rhs_code (_a3))
34511 : : {
34512 : 326 : CASE_CONVERT:
34513 : 326 : {
34514 : 326 : tree _q60 = gimple_assign_rhs1 (_a3);
34515 : 326 : _q60 = do_valueize (valueize, _q60);
34516 : 326 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
34517 : : {
34518 : 0 : {
34519 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
34520 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
34521 : 0 : return true;
34522 : : }
34523 : : }
34524 : 326 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
34525 : : {
34526 : 0 : {
34527 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
34528 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
34529 : 0 : return true;
34530 : : }
34531 : : }
34532 : : break;
34533 : : }
34534 : : default:;
34535 : : }
34536 : : }
34537 : : break;
34538 : 1753 : default:;
34539 : : }
34540 : 1753 : switch (TREE_CODE (_q51))
34541 : : {
34542 : 220 : case SSA_NAME:
34543 : 220 : if (gimple *_d3 = get_def (valueize, _q51))
34544 : : {
34545 : 195 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
34546 : 325 : switch (gimple_assign_rhs_code (_a3))
34547 : : {
34548 : 12 : CASE_CONVERT:
34549 : 12 : {
34550 : 12 : tree _q70 = gimple_assign_rhs1 (_a3);
34551 : 12 : _q70 = do_valueize (valueize, _q70);
34552 : 12 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
34553 : : {
34554 : 0 : {
34555 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
34556 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
34557 : 0 : return true;
34558 : : }
34559 : : }
34560 : 12 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
34561 : : {
34562 : 0 : {
34563 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
34564 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
34565 : 0 : return true;
34566 : : }
34567 : : }
34568 : : break;
34569 : : }
34570 : : default:;
34571 : : }
34572 : : }
34573 : : break;
34574 : : default:;
34575 : : }
34576 : : break;
34577 : : }
34578 : 3090 : case LE_EXPR:
34579 : 3090 : {
34580 : 3090 : tree _q50 = gimple_assign_rhs1 (_a2);
34581 : 3090 : _q50 = do_valueize (valueize, _q50);
34582 : 3090 : tree _q51 = gimple_assign_rhs2 (_a2);
34583 : 3090 : _q51 = do_valueize (valueize, _q51);
34584 : 3090 : switch (TREE_CODE (_q50))
34585 : : {
34586 : 3090 : case SSA_NAME:
34587 : 3090 : if (gimple *_d3 = get_def (valueize, _q50))
34588 : : {
34589 : 2958 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
34590 : 3834 : switch (gimple_assign_rhs_code (_a3))
34591 : : {
34592 : 230 : CASE_CONVERT:
34593 : 230 : {
34594 : 230 : tree _q60 = gimple_assign_rhs1 (_a3);
34595 : 230 : _q60 = do_valueize (valueize, _q60);
34596 : 230 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
34597 : : {
34598 : 0 : {
34599 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
34600 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
34601 : 0 : return true;
34602 : : }
34603 : : }
34604 : 230 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
34605 : : {
34606 : 0 : {
34607 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
34608 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
34609 : 0 : return true;
34610 : : }
34611 : : }
34612 : : break;
34613 : : }
34614 : : default:;
34615 : : }
34616 : : }
34617 : : break;
34618 : 3090 : default:;
34619 : : }
34620 : 3090 : switch (TREE_CODE (_q51))
34621 : : {
34622 : 300 : case SSA_NAME:
34623 : 300 : if (gimple *_d3 = get_def (valueize, _q51))
34624 : : {
34625 : 274 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
34626 : 407 : switch (gimple_assign_rhs_code (_a3))
34627 : : {
34628 : 3 : CASE_CONVERT:
34629 : 3 : {
34630 : 3 : tree _q70 = gimple_assign_rhs1 (_a3);
34631 : 3 : _q70 = do_valueize (valueize, _q70);
34632 : 3 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
34633 : : {
34634 : 0 : {
34635 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
34636 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
34637 : 0 : return true;
34638 : : }
34639 : : }
34640 : 3 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
34641 : : {
34642 : 0 : {
34643 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
34644 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
34645 : 0 : return true;
34646 : : }
34647 : : }
34648 : : break;
34649 : : }
34650 : : default:;
34651 : : }
34652 : : }
34653 : : break;
34654 : : default:;
34655 : : }
34656 : : break;
34657 : : }
34658 : 235 : case GE_EXPR:
34659 : 235 : {
34660 : 235 : tree _q50 = gimple_assign_rhs1 (_a2);
34661 : 235 : _q50 = do_valueize (valueize, _q50);
34662 : 235 : tree _q51 = gimple_assign_rhs2 (_a2);
34663 : 235 : _q51 = do_valueize (valueize, _q51);
34664 : 235 : switch (TREE_CODE (_q50))
34665 : : {
34666 : 235 : case SSA_NAME:
34667 : 235 : if (gimple *_d3 = get_def (valueize, _q50))
34668 : : {
34669 : 218 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
34670 : 282 : switch (gimple_assign_rhs_code (_a3))
34671 : : {
34672 : 99 : CASE_CONVERT:
34673 : 99 : {
34674 : 99 : tree _q60 = gimple_assign_rhs1 (_a3);
34675 : 99 : _q60 = do_valueize (valueize, _q60);
34676 : 99 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
34677 : : {
34678 : 0 : {
34679 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
34680 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
34681 : 0 : return true;
34682 : : }
34683 : : }
34684 : 99 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
34685 : : {
34686 : 0 : {
34687 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
34688 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
34689 : 0 : return true;
34690 : : }
34691 : : }
34692 : : break;
34693 : : }
34694 : : default:;
34695 : : }
34696 : : }
34697 : : break;
34698 : 235 : default:;
34699 : : }
34700 : 235 : switch (TREE_CODE (_q51))
34701 : : {
34702 : 152 : case SSA_NAME:
34703 : 152 : if (gimple *_d3 = get_def (valueize, _q51))
34704 : : {
34705 : 141 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
34706 : 102 : switch (gimple_assign_rhs_code (_a3))
34707 : : {
34708 : 72 : CASE_CONVERT:
34709 : 72 : {
34710 : 72 : tree _q70 = gimple_assign_rhs1 (_a3);
34711 : 72 : _q70 = do_valueize (valueize, _q70);
34712 : 72 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
34713 : : {
34714 : 0 : {
34715 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
34716 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
34717 : 0 : return true;
34718 : : }
34719 : : }
34720 : 72 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
34721 : : {
34722 : 0 : {
34723 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
34724 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
34725 : 0 : return true;
34726 : : }
34727 : : }
34728 : : break;
34729 : : }
34730 : : default:;
34731 : : }
34732 : : }
34733 : : break;
34734 : : default:;
34735 : : }
34736 : : break;
34737 : : }
34738 : : default:;
34739 : : }
34740 : : }
34741 : : break;
34742 : 401790 : default:;
34743 : : }
34744 : 401790 : switch (TREE_CODE (_q20))
34745 : : {
34746 : 401790 : case SSA_NAME:
34747 : 401790 : if (gimple *_d2 = get_def (valueize, _q20))
34748 : : {
34749 : 365593 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
34750 : 550981 : switch (gimple_assign_rhs_code (_a2))
34751 : : {
34752 : 21004 : CASE_CONVERT:
34753 : 21004 : {
34754 : 21004 : tree _q30 = gimple_assign_rhs1 (_a2);
34755 : 21004 : _q30 = do_valueize (valueize, _q30);
34756 : 21004 : switch (TREE_CODE (_p1))
34757 : : {
34758 : 21004 : case SSA_NAME:
34759 : 21004 : if (gimple *_d3 = get_def (valueize, _p1))
34760 : : {
34761 : 20958 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
34762 : 20550 : switch (gimple_assign_rhs_code (_a3))
34763 : : {
34764 : 1653 : case EQ_EXPR:
34765 : 1653 : {
34766 : 1653 : tree _q60 = gimple_assign_rhs1 (_a3);
34767 : 1653 : _q60 = do_valueize (valueize, _q60);
34768 : 1653 : tree _q61 = gimple_assign_rhs2 (_a3);
34769 : 1653 : _q61 = do_valueize (valueize, _q61);
34770 : 1653 : if (tree_swap_operands_p (_q60, _q61))
34771 : 0 : std::swap (_q60, _q61);
34772 : 1653 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
34773 : : {
34774 : 55 : {
34775 : 55 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
34776 : 55 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
34777 : 0 : return true;
34778 : : }
34779 : : }
34780 : 1653 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
34781 : : {
34782 : 0 : {
34783 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
34784 : 0 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
34785 : 0 : return true;
34786 : : }
34787 : : }
34788 : 401790 : break;
34789 : : }
34790 : 9787 : case NE_EXPR:
34791 : 9787 : {
34792 : 9787 : tree _q60 = gimple_assign_rhs1 (_a3);
34793 : 9787 : _q60 = do_valueize (valueize, _q60);
34794 : 9787 : tree _q61 = gimple_assign_rhs2 (_a3);
34795 : 9787 : _q61 = do_valueize (valueize, _q61);
34796 : 9787 : if (tree_swap_operands_p (_q60, _q61))
34797 : 45 : std::swap (_q60, _q61);
34798 : 9787 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
34799 : : {
34800 : 1 : {
34801 : 1 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
34802 : 1 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
34803 : 0 : return true;
34804 : : }
34805 : : }
34806 : 9787 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
34807 : : {
34808 : 0 : {
34809 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
34810 : 0 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
34811 : 0 : return true;
34812 : : }
34813 : : }
34814 : 401790 : break;
34815 : : }
34816 : : default:;
34817 : : }
34818 : : }
34819 : : break;
34820 : : default:;
34821 : : }
34822 : : break;
34823 : : }
34824 : : default:;
34825 : : }
34826 : : }
34827 : : break;
34828 : 401790 : default:;
34829 : : }
34830 : 401790 : switch (TREE_CODE (_q21))
34831 : : {
34832 : 49514 : case SSA_NAME:
34833 : 49514 : if (gimple *_d2 = get_def (valueize, _q21))
34834 : : {
34835 : 43043 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
34836 : 50241 : switch (gimple_assign_rhs_code (_a2))
34837 : : {
34838 : 2334 : CASE_CONVERT:
34839 : 2334 : {
34840 : 2334 : tree _q40 = gimple_assign_rhs1 (_a2);
34841 : 2334 : _q40 = do_valueize (valueize, _q40);
34842 : 2334 : switch (TREE_CODE (_p1))
34843 : : {
34844 : 2334 : case SSA_NAME:
34845 : 2334 : if (gimple *_d3 = get_def (valueize, _p1))
34846 : : {
34847 : 2331 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
34848 : 2176 : switch (gimple_assign_rhs_code (_a3))
34849 : : {
34850 : 254 : case EQ_EXPR:
34851 : 254 : {
34852 : 254 : tree _q60 = gimple_assign_rhs1 (_a3);
34853 : 254 : _q60 = do_valueize (valueize, _q60);
34854 : 254 : tree _q61 = gimple_assign_rhs2 (_a3);
34855 : 254 : _q61 = do_valueize (valueize, _q61);
34856 : 254 : if (tree_swap_operands_p (_q60, _q61))
34857 : 24 : std::swap (_q60, _q61);
34858 : 254 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
34859 : : {
34860 : 2 : {
34861 : 2 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
34862 : 2 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
34863 : 0 : return true;
34864 : : }
34865 : : }
34866 : 254 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
34867 : : {
34868 : 0 : {
34869 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
34870 : 0 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
34871 : 0 : return true;
34872 : : }
34873 : : }
34874 : 401790 : break;
34875 : : }
34876 : 1484 : case NE_EXPR:
34877 : 1484 : {
34878 : 1484 : tree _q60 = gimple_assign_rhs1 (_a3);
34879 : 1484 : _q60 = do_valueize (valueize, _q60);
34880 : 1484 : tree _q61 = gimple_assign_rhs2 (_a3);
34881 : 1484 : _q61 = do_valueize (valueize, _q61);
34882 : 1484 : if (tree_swap_operands_p (_q60, _q61))
34883 : 33 : std::swap (_q60, _q61);
34884 : 1484 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
34885 : : {
34886 : 0 : {
34887 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
34888 : 0 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
34889 : 0 : return true;
34890 : : }
34891 : : }
34892 : 1484 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
34893 : : {
34894 : 0 : {
34895 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
34896 : 0 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
34897 : 0 : return true;
34898 : : }
34899 : : }
34900 : 401790 : break;
34901 : : }
34902 : : default:;
34903 : : }
34904 : : }
34905 : : break;
34906 : : default:;
34907 : : }
34908 : : break;
34909 : : }
34910 : : default:;
34911 : : }
34912 : : }
34913 : : break;
34914 : 401790 : default:;
34915 : : }
34916 : 401790 : switch (TREE_CODE (_p1))
34917 : : {
34918 : 401790 : case SSA_NAME:
34919 : 401790 : if (gimple *_d2 = get_def (valueize, _p1))
34920 : : {
34921 : 400317 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
34922 : 390106 : switch (gimple_assign_rhs_code (_a2))
34923 : : {
34924 : 22514 : case EQ_EXPR:
34925 : 22514 : {
34926 : 22514 : tree _q50 = gimple_assign_rhs1 (_a2);
34927 : 22514 : _q50 = do_valueize (valueize, _q50);
34928 : 22514 : tree _q51 = gimple_assign_rhs2 (_a2);
34929 : 22514 : _q51 = do_valueize (valueize, _q51);
34930 : 22514 : if (tree_swap_operands_p (_q50, _q51))
34931 : 378 : std::swap (_q50, _q51);
34932 : 22514 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
34933 : : {
34934 : 3426 : {
34935 : 3426 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
34936 : 3426 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
34937 : 45 : return true;
34938 : : }
34939 : 3381 : {
34940 : 3381 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
34941 : 3381 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
34942 : 0 : return true;
34943 : : }
34944 : : }
34945 : 22469 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
34946 : : {
34947 : 16 : {
34948 : 16 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
34949 : 16 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
34950 : 0 : return true;
34951 : : }
34952 : : }
34953 : 22469 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
34954 : : {
34955 : 345 : {
34956 : 345 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
34957 : 345 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
34958 : 0 : return true;
34959 : : }
34960 : 345 : {
34961 : 345 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
34962 : 345 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
34963 : 0 : return true;
34964 : : }
34965 : : }
34966 : 22469 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
34967 : : {
34968 : 954 : {
34969 : 954 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
34970 : 954 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
34971 : 0 : return true;
34972 : : }
34973 : 954 : {
34974 : 954 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
34975 : 954 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
34976 : 0 : return true;
34977 : : }
34978 : : }
34979 : 22469 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
34980 : : {
34981 : 16 : {
34982 : 16 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
34983 : 16 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
34984 : 0 : return true;
34985 : : }
34986 : : }
34987 : 401658 : break;
34988 : : }
34989 : 336495 : case NE_EXPR:
34990 : 336495 : {
34991 : 336495 : tree _q50 = gimple_assign_rhs1 (_a2);
34992 : 336495 : _q50 = do_valueize (valueize, _q50);
34993 : 336495 : tree _q51 = gimple_assign_rhs2 (_a2);
34994 : 336495 : _q51 = do_valueize (valueize, _q51);
34995 : 336495 : if (tree_swap_operands_p (_q50, _q51))
34996 : 2828 : std::swap (_q50, _q51);
34997 : 336495 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
34998 : : {
34999 : 1777 : {
35000 : 1777 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
35001 : 1777 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
35002 : 29 : return true;
35003 : : }
35004 : 1748 : {
35005 : 1748 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
35006 : 1748 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
35007 : 0 : return true;
35008 : : }
35009 : : }
35010 : 336466 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
35011 : : {
35012 : 272 : {
35013 : 272 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
35014 : 272 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
35015 : 0 : return true;
35016 : : }
35017 : : }
35018 : 336466 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
35019 : : {
35020 : 1245 : {
35021 : 1245 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
35022 : 1245 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
35023 : 0 : return true;
35024 : : }
35025 : 1245 : {
35026 : 1245 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
35027 : 1245 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
35028 : 0 : return true;
35029 : : }
35030 : : }
35031 : 336466 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
35032 : : {
35033 : 187091 : {
35034 : 187091 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
35035 : 187091 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
35036 : 0 : return true;
35037 : : }
35038 : 187091 : {
35039 : 187091 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
35040 : 187091 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
35041 : 0 : return true;
35042 : : }
35043 : : }
35044 : 336466 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
35045 : : {
35046 : 272 : {
35047 : 272 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
35048 : 272 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, NE_EXPR, NE_EXPR))
35049 : 0 : return true;
35050 : : }
35051 : : }
35052 : 401658 : break;
35053 : : }
35054 : 10159 : case LT_EXPR:
35055 : 10159 : {
35056 : 10159 : tree _q50 = gimple_assign_rhs1 (_a2);
35057 : 10159 : _q50 = do_valueize (valueize, _q50);
35058 : 10159 : tree _q51 = gimple_assign_rhs2 (_a2);
35059 : 10159 : _q51 = do_valueize (valueize, _q51);
35060 : 10159 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
35061 : : {
35062 : 440 : {
35063 : 440 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
35064 : 440 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
35065 : 0 : return true;
35066 : : }
35067 : : }
35068 : 10159 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
35069 : : {
35070 : 2 : {
35071 : 2 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
35072 : 2 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
35073 : 0 : return true;
35074 : : }
35075 : : }
35076 : 10159 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
35077 : : {
35078 : 586 : {
35079 : 586 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
35080 : 586 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
35081 : 0 : return true;
35082 : : }
35083 : : }
35084 : 10159 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
35085 : : {
35086 : 58 : {
35087 : 58 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
35088 : 58 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
35089 : 0 : return true;
35090 : : }
35091 : : }
35092 : : break;
35093 : : }
35094 : 1753 : case GT_EXPR:
35095 : 1753 : {
35096 : 1753 : tree _q50 = gimple_assign_rhs1 (_a2);
35097 : 1753 : _q50 = do_valueize (valueize, _q50);
35098 : 1753 : tree _q51 = gimple_assign_rhs2 (_a2);
35099 : 1753 : _q51 = do_valueize (valueize, _q51);
35100 : 1753 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
35101 : : {
35102 : 91 : {
35103 : 91 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
35104 : 91 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
35105 : 26 : return true;
35106 : : }
35107 : : }
35108 : 1727 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
35109 : : {
35110 : 4 : {
35111 : 4 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
35112 : 4 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
35113 : 0 : return true;
35114 : : }
35115 : : }
35116 : 1727 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
35117 : : {
35118 : 67 : {
35119 : 67 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
35120 : 67 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GT_EXPR, NE_EXPR))
35121 : 0 : return true;
35122 : : }
35123 : : }
35124 : 1727 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
35125 : : {
35126 : 37 : {
35127 : 37 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
35128 : 37 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LT_EXPR, NE_EXPR))
35129 : 0 : return true;
35130 : : }
35131 : : }
35132 : : break;
35133 : : }
35134 : 3090 : case LE_EXPR:
35135 : 3090 : {
35136 : 3090 : tree _q50 = gimple_assign_rhs1 (_a2);
35137 : 3090 : _q50 = do_valueize (valueize, _q50);
35138 : 3090 : tree _q51 = gimple_assign_rhs2 (_a2);
35139 : 3090 : _q51 = do_valueize (valueize, _q51);
35140 : 3090 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
35141 : : {
35142 : 54 : {
35143 : 54 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
35144 : 54 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
35145 : 32 : return true;
35146 : : }
35147 : : }
35148 : 3058 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
35149 : : {
35150 : 0 : {
35151 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
35152 : 0 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
35153 : 0 : return true;
35154 : : }
35155 : : }
35156 : 3058 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
35157 : : {
35158 : 16 : {
35159 : 16 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
35160 : 16 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
35161 : 0 : return true;
35162 : : }
35163 : : }
35164 : 3058 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
35165 : : {
35166 : 584 : {
35167 : 584 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
35168 : 584 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
35169 : 0 : return true;
35170 : : }
35171 : : }
35172 : : break;
35173 : : }
35174 : 235 : case GE_EXPR:
35175 : 235 : {
35176 : 235 : tree _q50 = gimple_assign_rhs1 (_a2);
35177 : 235 : _q50 = do_valueize (valueize, _q50);
35178 : 235 : tree _q51 = gimple_assign_rhs2 (_a2);
35179 : 235 : _q51 = do_valueize (valueize, _q51);
35180 : 235 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
35181 : : {
35182 : 20 : {
35183 : 20 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
35184 : 20 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
35185 : 0 : return true;
35186 : : }
35187 : : }
35188 : 235 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
35189 : : {
35190 : 7 : {
35191 : 7 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
35192 : 7 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
35193 : 0 : return true;
35194 : : }
35195 : : }
35196 : 235 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
35197 : : {
35198 : 0 : {
35199 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
35200 : 0 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
35201 : 0 : return true;
35202 : : }
35203 : : }
35204 : 235 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
35205 : : {
35206 : 24 : {
35207 : 24 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
35208 : 24 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
35209 : 0 : return true;
35210 : : }
35211 : : }
35212 : : break;
35213 : : }
35214 : : default:;
35215 : : }
35216 : : }
35217 : : break;
35218 : 401658 : default:;
35219 : : }
35220 : 401658 : switch (TREE_CODE (_q20))
35221 : : {
35222 : 401658 : case SSA_NAME:
35223 : 401658 : if (gimple *_d2 = get_def (valueize, _q20))
35224 : : {
35225 : 365463 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
35226 : 550881 : switch (gimple_assign_rhs_code (_a2))
35227 : : {
35228 : 3326 : case BIT_AND_EXPR:
35229 : 3326 : {
35230 : 3326 : tree _q30 = gimple_assign_rhs1 (_a2);
35231 : 3326 : _q30 = do_valueize (valueize, _q30);
35232 : 3326 : tree _q31 = gimple_assign_rhs2 (_a2);
35233 : 3326 : _q31 = do_valueize (valueize, _q31);
35234 : 3326 : if (tree_swap_operands_p (_q30, _q31))
35235 : 54 : std::swap (_q30, _q31);
35236 : 3326 : switch (TREE_CODE (_q30))
35237 : : {
35238 : 3326 : case SSA_NAME:
35239 : 3326 : if (gimple *_d3 = get_def (valueize, _q30))
35240 : : {
35241 : 3270 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
35242 : 4927 : switch (gimple_assign_rhs_code (_a3))
35243 : : {
35244 : 18 : case BIT_XOR_EXPR:
35245 : 18 : {
35246 : 18 : tree _q40 = gimple_assign_rhs1 (_a3);
35247 : 18 : _q40 = do_valueize (valueize, _q40);
35248 : 18 : tree _q41 = gimple_assign_rhs2 (_a3);
35249 : 18 : _q41 = do_valueize (valueize, _q41);
35250 : 18 : if (tree_swap_operands_p (_q40, _q41))
35251 : 2 : std::swap (_q40, _q41);
35252 : 18 : if (tree_expr_nonzero_p (_q31))
35253 : : {
35254 : 18 : switch (TREE_CODE (_p1))
35255 : : {
35256 : 18 : case SSA_NAME:
35257 : 18 : if (gimple *_d4 = get_def (valueize, _p1))
35258 : : {
35259 : 18 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
35260 : 18 : switch (gimple_assign_rhs_code (_a4))
35261 : : {
35262 : 18 : case NE_EXPR:
35263 : 18 : {
35264 : 18 : tree _q90 = gimple_assign_rhs1 (_a4);
35265 : 18 : _q90 = do_valueize (valueize, _q90);
35266 : 18 : tree _q91 = gimple_assign_rhs2 (_a4);
35267 : 18 : _q91 = do_valueize (valueize, _q91);
35268 : 18 : if (tree_swap_operands_p (_q90, _q91))
35269 : 0 : std::swap (_q90, _q91);
35270 : 18 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
35271 : : {
35272 : 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
35273 : : {
35274 : 0 : {
35275 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _q21, _p1 };
35276 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, NE_EXPR))
35277 : 0 : return true;
35278 : : }
35279 : : }
35280 : : }
35281 : 18 : if ((_q90 == _q41 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q41, 0) && types_match (_q90, _q41)))
35282 : : {
35283 : 0 : if ((_q91 == _q40 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q40, 0) && types_match (_q91, _q40)))
35284 : : {
35285 : 0 : {
35286 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q41, _q40, _q31, _q21, _p1 };
35287 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, NE_EXPR))
35288 : 0 : return true;
35289 : : }
35290 : : }
35291 : : }
35292 : 3326 : break;
35293 : : }
35294 : : default:;
35295 : : }
35296 : : }
35297 : : break;
35298 : : default:;
35299 : : }
35300 : : }
35301 : 3326 : break;
35302 : : }
35303 : : default:;
35304 : : }
35305 : : }
35306 : : break;
35307 : 3326 : default:;
35308 : : }
35309 : 3326 : if (tree_expr_nonzero_p (_q30))
35310 : : {
35311 : 6 : switch (TREE_CODE (_q31))
35312 : : {
35313 : 2 : case SSA_NAME:
35314 : 2 : if (gimple *_d3 = get_def (valueize, _q31))
35315 : : {
35316 : 2 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
35317 : 2 : switch (gimple_assign_rhs_code (_a3))
35318 : : {
35319 : 0 : case BIT_XOR_EXPR:
35320 : 0 : {
35321 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
35322 : 0 : _q50 = do_valueize (valueize, _q50);
35323 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
35324 : 0 : _q51 = do_valueize (valueize, _q51);
35325 : 0 : if (tree_swap_operands_p (_q50, _q51))
35326 : 0 : std::swap (_q50, _q51);
35327 : 0 : switch (TREE_CODE (_p1))
35328 : : {
35329 : 0 : case SSA_NAME:
35330 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
35331 : : {
35332 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
35333 : 0 : switch (gimple_assign_rhs_code (_a4))
35334 : : {
35335 : 0 : case NE_EXPR:
35336 : 0 : {
35337 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
35338 : 0 : _q90 = do_valueize (valueize, _q90);
35339 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
35340 : 0 : _q91 = do_valueize (valueize, _q91);
35341 : 0 : if (tree_swap_operands_p (_q90, _q91))
35342 : 0 : std::swap (_q90, _q91);
35343 : 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
35344 : : {
35345 : 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
35346 : : {
35347 : 0 : {
35348 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q30, _q21, _p1 };
35349 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, NE_EXPR))
35350 : 0 : return true;
35351 : : }
35352 : : }
35353 : : }
35354 : 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
35355 : : {
35356 : 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
35357 : : {
35358 : 0 : {
35359 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q30, _q21, _p1 };
35360 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, NE_EXPR))
35361 : 0 : return true;
35362 : : }
35363 : : }
35364 : : }
35365 : 401658 : break;
35366 : : }
35367 : : default:;
35368 : : }
35369 : : }
35370 : : break;
35371 : : default:;
35372 : : }
35373 : 401658 : break;
35374 : : }
35375 : : default:;
35376 : : }
35377 : : }
35378 : : break;
35379 : : default:;
35380 : : }
35381 : : }
35382 : 401658 : break;
35383 : : }
35384 : : default:;
35385 : : }
35386 : : }
35387 : : break;
35388 : 401658 : default:;
35389 : : }
35390 : 401658 : switch (TREE_CODE (_q21))
35391 : : {
35392 : 49510 : case SSA_NAME:
35393 : 49510 : if (gimple *_d2 = get_def (valueize, _q21))
35394 : : {
35395 : 43039 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
35396 : 50241 : switch (gimple_assign_rhs_code (_a2))
35397 : : {
35398 : 12 : case BIT_AND_EXPR:
35399 : 12 : {
35400 : 12 : tree _q40 = gimple_assign_rhs1 (_a2);
35401 : 12 : _q40 = do_valueize (valueize, _q40);
35402 : 12 : tree _q41 = gimple_assign_rhs2 (_a2);
35403 : 12 : _q41 = do_valueize (valueize, _q41);
35404 : 12 : if (tree_swap_operands_p (_q40, _q41))
35405 : 0 : std::swap (_q40, _q41);
35406 : 12 : switch (TREE_CODE (_q40))
35407 : : {
35408 : 12 : case SSA_NAME:
35409 : 12 : if (gimple *_d3 = get_def (valueize, _q40))
35410 : : {
35411 : 12 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
35412 : 24 : switch (gimple_assign_rhs_code (_a3))
35413 : : {
35414 : 0 : case BIT_XOR_EXPR:
35415 : 0 : {
35416 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
35417 : 0 : _q50 = do_valueize (valueize, _q50);
35418 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
35419 : 0 : _q51 = do_valueize (valueize, _q51);
35420 : 0 : if (tree_swap_operands_p (_q50, _q51))
35421 : 0 : std::swap (_q50, _q51);
35422 : 0 : if (tree_expr_nonzero_p (_q41))
35423 : : {
35424 : 0 : switch (TREE_CODE (_p1))
35425 : : {
35426 : 0 : case SSA_NAME:
35427 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
35428 : : {
35429 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
35430 : 0 : switch (gimple_assign_rhs_code (_a4))
35431 : : {
35432 : 0 : case NE_EXPR:
35433 : 0 : {
35434 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
35435 : 0 : _q90 = do_valueize (valueize, _q90);
35436 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
35437 : 0 : _q91 = do_valueize (valueize, _q91);
35438 : 0 : if (tree_swap_operands_p (_q90, _q91))
35439 : 0 : std::swap (_q90, _q91);
35440 : 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
35441 : : {
35442 : 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
35443 : : {
35444 : 0 : {
35445 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q41, _q20, _p1 };
35446 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, NE_EXPR))
35447 : 0 : return true;
35448 : : }
35449 : : }
35450 : : }
35451 : 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
35452 : : {
35453 : 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
35454 : : {
35455 : 0 : {
35456 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q41, _q20, _p1 };
35457 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, NE_EXPR))
35458 : 0 : return true;
35459 : : }
35460 : : }
35461 : : }
35462 : 12 : break;
35463 : : }
35464 : : default:;
35465 : : }
35466 : : }
35467 : : break;
35468 : : default:;
35469 : : }
35470 : : }
35471 : 12 : break;
35472 : : }
35473 : : default:;
35474 : : }
35475 : : }
35476 : : break;
35477 : 12 : default:;
35478 : : }
35479 : 12 : if (tree_expr_nonzero_p (_q40))
35480 : : {
35481 : 0 : switch (TREE_CODE (_q41))
35482 : : {
35483 : 0 : case SSA_NAME:
35484 : 0 : if (gimple *_d3 = get_def (valueize, _q41))
35485 : : {
35486 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
35487 : 0 : switch (gimple_assign_rhs_code (_a3))
35488 : : {
35489 : 0 : case BIT_XOR_EXPR:
35490 : 0 : {
35491 : 0 : tree _q60 = gimple_assign_rhs1 (_a3);
35492 : 0 : _q60 = do_valueize (valueize, _q60);
35493 : 0 : tree _q61 = gimple_assign_rhs2 (_a3);
35494 : 0 : _q61 = do_valueize (valueize, _q61);
35495 : 0 : if (tree_swap_operands_p (_q60, _q61))
35496 : 0 : std::swap (_q60, _q61);
35497 : 0 : switch (TREE_CODE (_p1))
35498 : : {
35499 : 0 : case SSA_NAME:
35500 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
35501 : : {
35502 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
35503 : 0 : switch (gimple_assign_rhs_code (_a4))
35504 : : {
35505 : 0 : case NE_EXPR:
35506 : 0 : {
35507 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
35508 : 0 : _q90 = do_valueize (valueize, _q90);
35509 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
35510 : 0 : _q91 = do_valueize (valueize, _q91);
35511 : 0 : if (tree_swap_operands_p (_q90, _q91))
35512 : 0 : std::swap (_q90, _q91);
35513 : 0 : if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
35514 : : {
35515 : 0 : if ((_q91 == _q61 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q61, 0) && types_match (_q91, _q61)))
35516 : : {
35517 : 0 : {
35518 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q60, _q61, _q40, _q20, _p1 };
35519 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, NE_EXPR))
35520 : 0 : return true;
35521 : : }
35522 : : }
35523 : : }
35524 : 0 : if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
35525 : : {
35526 : 0 : if ((_q91 == _q60 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q60, 0) && types_match (_q91, _q60)))
35527 : : {
35528 : 0 : {
35529 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q61, _q60, _q40, _q20, _p1 };
35530 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, NE_EXPR))
35531 : 0 : return true;
35532 : : }
35533 : : }
35534 : : }
35535 : 401658 : break;
35536 : : }
35537 : : default:;
35538 : : }
35539 : : }
35540 : : break;
35541 : : default:;
35542 : : }
35543 : 401658 : break;
35544 : : }
35545 : : default:;
35546 : : }
35547 : : }
35548 : : break;
35549 : : default:;
35550 : : }
35551 : : }
35552 : 401658 : break;
35553 : : }
35554 : : default:;
35555 : : }
35556 : : }
35557 : : break;
35558 : 401658 : default:;
35559 : : }
35560 : 401658 : switch (TREE_CODE (_q20))
35561 : : {
35562 : 401658 : case SSA_NAME:
35563 : 401658 : if (gimple *_d2 = get_def (valueize, _q20))
35564 : : {
35565 : 365463 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
35566 : 550881 : switch (gimple_assign_rhs_code (_a2))
35567 : : {
35568 : 0 : case BIT_XOR_EXPR:
35569 : 0 : {
35570 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
35571 : 0 : _q30 = do_valueize (valueize, _q30);
35572 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
35573 : 0 : _q31 = do_valueize (valueize, _q31);
35574 : 0 : if (tree_swap_operands_p (_q30, _q31))
35575 : 0 : std::swap (_q30, _q31);
35576 : 0 : switch (TREE_CODE (_p1))
35577 : : {
35578 : 0 : case SSA_NAME:
35579 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
35580 : : {
35581 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
35582 : 0 : switch (gimple_assign_rhs_code (_a3))
35583 : : {
35584 : 0 : case NE_EXPR:
35585 : 0 : {
35586 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
35587 : 0 : _q70 = do_valueize (valueize, _q70);
35588 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
35589 : 0 : _q71 = do_valueize (valueize, _q71);
35590 : 0 : if (tree_swap_operands_p (_q70, _q71))
35591 : 0 : std::swap (_q70, _q71);
35592 : 0 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
35593 : : {
35594 : 0 : if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
35595 : : {
35596 : 0 : {
35597 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
35598 : 0 : if (gimple_simplify_166 (res_op, seq, valueize, type, captures, NE_EXPR))
35599 : 0 : return true;
35600 : : }
35601 : : }
35602 : : }
35603 : 0 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
35604 : : {
35605 : 0 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
35606 : : {
35607 : 0 : {
35608 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q21, _p1 };
35609 : 0 : if (gimple_simplify_166 (res_op, seq, valueize, type, captures, NE_EXPR))
35610 : 0 : return true;
35611 : : }
35612 : : }
35613 : : }
35614 : 401658 : break;
35615 : : }
35616 : : default:;
35617 : : }
35618 : : }
35619 : : break;
35620 : : default:;
35621 : : }
35622 : 401658 : break;
35623 : : }
35624 : : default:;
35625 : : }
35626 : : }
35627 : : break;
35628 : 401658 : default:;
35629 : : }
35630 : 401658 : switch (TREE_CODE (_q21))
35631 : : {
35632 : 49510 : case SSA_NAME:
35633 : 49510 : if (gimple *_d2 = get_def (valueize, _q21))
35634 : : {
35635 : 43039 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
35636 : 50241 : switch (gimple_assign_rhs_code (_a2))
35637 : : {
35638 : 0 : case BIT_XOR_EXPR:
35639 : 0 : {
35640 : 0 : tree _q40 = gimple_assign_rhs1 (_a2);
35641 : 0 : _q40 = do_valueize (valueize, _q40);
35642 : 0 : tree _q41 = gimple_assign_rhs2 (_a2);
35643 : 0 : _q41 = do_valueize (valueize, _q41);
35644 : 0 : if (tree_swap_operands_p (_q40, _q41))
35645 : 0 : std::swap (_q40, _q41);
35646 : 0 : switch (TREE_CODE (_p1))
35647 : : {
35648 : 0 : case SSA_NAME:
35649 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
35650 : : {
35651 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
35652 : 0 : switch (gimple_assign_rhs_code (_a3))
35653 : : {
35654 : 0 : case NE_EXPR:
35655 : 0 : {
35656 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
35657 : 0 : _q70 = do_valueize (valueize, _q70);
35658 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
35659 : 0 : _q71 = do_valueize (valueize, _q71);
35660 : 0 : if (tree_swap_operands_p (_q70, _q71))
35661 : 0 : std::swap (_q70, _q71);
35662 : 0 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
35663 : : {
35664 : 0 : if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
35665 : : {
35666 : 0 : {
35667 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q20, _p1 };
35668 : 0 : if (gimple_simplify_166 (res_op, seq, valueize, type, captures, NE_EXPR))
35669 : 0 : return true;
35670 : : }
35671 : : }
35672 : : }
35673 : 0 : if ((_q70 == _q41 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q41, 0) && types_match (_q70, _q41)))
35674 : : {
35675 : 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
35676 : : {
35677 : 0 : {
35678 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q41, _q40, _q20, _p1 };
35679 : 0 : if (gimple_simplify_166 (res_op, seq, valueize, type, captures, NE_EXPR))
35680 : 0 : return true;
35681 : : }
35682 : : }
35683 : : }
35684 : 4236567 : break;
35685 : : }
35686 : : default:;
35687 : : }
35688 : : }
35689 : : break;
35690 : : default:;
35691 : : }
35692 : 4236567 : break;
35693 : : }
35694 : : default:;
35695 : : }
35696 : : }
35697 : : break;
35698 : : default:;
35699 : : }
35700 : 4236567 : break;
35701 : : }
35702 : 82496 : case LE_EXPR:
35703 : 82496 : {
35704 : 82496 : tree _q20 = gimple_assign_rhs1 (_a1);
35705 : 82496 : _q20 = do_valueize (valueize, _q20);
35706 : 82496 : tree _q21 = gimple_assign_rhs2 (_a1);
35707 : 82496 : _q21 = do_valueize (valueize, _q21);
35708 : 82496 : switch (TREE_CODE (_p1))
35709 : : {
35710 : 82496 : case SSA_NAME:
35711 : 82496 : if (gimple *_d2 = get_def (valueize, _p1))
35712 : : {
35713 : 82262 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
35714 : 79941 : switch (gimple_assign_rhs_code (_a2))
35715 : : {
35716 : 3759 : case NE_EXPR:
35717 : 3759 : {
35718 : 3759 : tree _q50 = gimple_assign_rhs1 (_a2);
35719 : 3759 : _q50 = do_valueize (valueize, _q50);
35720 : 3759 : tree _q51 = gimple_assign_rhs2 (_a2);
35721 : 3759 : _q51 = do_valueize (valueize, _q51);
35722 : 3759 : if (tree_swap_operands_p (_q50, _q51))
35723 : 4 : std::swap (_q50, _q51);
35724 : 3759 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
35725 : : {
35726 : 49 : if (gimple_min_value (_q51, valueize))
35727 : : {
35728 : 14 : {
35729 : 14 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
35730 : 14 : if (gimple_simplify_173 (res_op, seq, valueize, type, captures))
35731 : 14 : return true;
35732 : : }
35733 : : }
35734 : : }
35735 : 3745 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
35736 : : {
35737 : 0 : if (gimple_max_value (_q51, valueize))
35738 : : {
35739 : 0 : {
35740 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
35741 : 0 : if (gimple_simplify_174 (res_op, seq, valueize, type, captures, NE_EXPR))
35742 : 0 : return true;
35743 : : }
35744 : : }
35745 : : }
35746 : 82476 : break;
35747 : : }
35748 : 36678 : case EQ_EXPR:
35749 : 36678 : {
35750 : 36678 : tree _q50 = gimple_assign_rhs1 (_a2);
35751 : 36678 : _q50 = do_valueize (valueize, _q50);
35752 : 36678 : tree _q51 = gimple_assign_rhs2 (_a2);
35753 : 36678 : _q51 = do_valueize (valueize, _q51);
35754 : 36678 : if (tree_swap_operands_p (_q50, _q51))
35755 : 2 : std::swap (_q50, _q51);
35756 : 36678 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
35757 : : {
35758 : 2050 : if (gimple_min_value (_q51, valueize))
35759 : : {
35760 : 6 : {
35761 : 6 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
35762 : 6 : if (gimple_simplify_175 (res_op, seq, valueize, type, captures))
35763 : 6 : return true;
35764 : : }
35765 : : }
35766 : : }
35767 : 36672 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
35768 : : {
35769 : 26 : if (gimple_max_value (_q51, valueize))
35770 : : {
35771 : 0 : {
35772 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
35773 : 0 : if (gimple_simplify_174 (res_op, seq, valueize, type, captures, EQ_EXPR))
35774 : 0 : return true;
35775 : : }
35776 : : }
35777 : : }
35778 : 82476 : break;
35779 : : }
35780 : : default:;
35781 : : }
35782 : : }
35783 : : break;
35784 : 82476 : default:;
35785 : : }
35786 : 82476 : switch (TREE_CODE (_q20))
35787 : : {
35788 : 82476 : case SSA_NAME:
35789 : 82476 : if (gimple *_d2 = get_def (valueize, _q20))
35790 : : {
35791 : 78016 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
35792 : 83049 : switch (gimple_assign_rhs_code (_a2))
35793 : : {
35794 : 8605 : CASE_CONVERT:
35795 : 8605 : {
35796 : 8605 : tree _q30 = gimple_assign_rhs1 (_a2);
35797 : 8605 : _q30 = do_valueize (valueize, _q30);
35798 : 8605 : switch (TREE_CODE (_p1))
35799 : : {
35800 : 8605 : case SSA_NAME:
35801 : 8605 : if (gimple *_d3 = get_def (valueize, _p1))
35802 : : {
35803 : 8605 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
35804 : 8493 : switch (gimple_assign_rhs_code (_a3))
35805 : : {
35806 : 4321 : case EQ_EXPR:
35807 : 4321 : {
35808 : 4321 : tree _q60 = gimple_assign_rhs1 (_a3);
35809 : 4321 : _q60 = do_valueize (valueize, _q60);
35810 : 4321 : tree _q61 = gimple_assign_rhs2 (_a3);
35811 : 4321 : _q61 = do_valueize (valueize, _q61);
35812 : 4321 : if (tree_swap_operands_p (_q60, _q61))
35813 : 0 : std::swap (_q60, _q61);
35814 : 4321 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
35815 : : {
35816 : 4257 : {
35817 : 4257 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
35818 : 4257 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
35819 : 0 : return true;
35820 : : }
35821 : : }
35822 : 4321 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
35823 : : {
35824 : 0 : {
35825 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
35826 : 0 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
35827 : 0 : return true;
35828 : : }
35829 : : }
35830 : 82476 : break;
35831 : : }
35832 : 57 : case NE_EXPR:
35833 : 57 : {
35834 : 57 : tree _q60 = gimple_assign_rhs1 (_a3);
35835 : 57 : _q60 = do_valueize (valueize, _q60);
35836 : 57 : tree _q61 = gimple_assign_rhs2 (_a3);
35837 : 57 : _q61 = do_valueize (valueize, _q61);
35838 : 57 : if (tree_swap_operands_p (_q60, _q61))
35839 : 2 : std::swap (_q60, _q61);
35840 : 57 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
35841 : : {
35842 : 0 : {
35843 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
35844 : 0 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
35845 : 0 : return true;
35846 : : }
35847 : : }
35848 : 57 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
35849 : : {
35850 : 0 : {
35851 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
35852 : 0 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
35853 : 0 : return true;
35854 : : }
35855 : : }
35856 : 82476 : break;
35857 : : }
35858 : : default:;
35859 : : }
35860 : : }
35861 : : break;
35862 : : default:;
35863 : : }
35864 : : break;
35865 : : }
35866 : : default:;
35867 : : }
35868 : : }
35869 : : break;
35870 : 82476 : default:;
35871 : : }
35872 : 82476 : switch (TREE_CODE (_q21))
35873 : : {
35874 : 12445 : case SSA_NAME:
35875 : 12445 : if (gimple *_d2 = get_def (valueize, _q21))
35876 : : {
35877 : 11354 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
35878 : 9125 : switch (gimple_assign_rhs_code (_a2))
35879 : : {
35880 : 3038 : CASE_CONVERT:
35881 : 3038 : {
35882 : 3038 : tree _q40 = gimple_assign_rhs1 (_a2);
35883 : 3038 : _q40 = do_valueize (valueize, _q40);
35884 : 3038 : switch (TREE_CODE (_p1))
35885 : : {
35886 : 3038 : case SSA_NAME:
35887 : 3038 : if (gimple *_d3 = get_def (valueize, _p1))
35888 : : {
35889 : 3038 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
35890 : 3038 : switch (gimple_assign_rhs_code (_a3))
35891 : : {
35892 : 6 : case EQ_EXPR:
35893 : 6 : {
35894 : 6 : tree _q60 = gimple_assign_rhs1 (_a3);
35895 : 6 : _q60 = do_valueize (valueize, _q60);
35896 : 6 : tree _q61 = gimple_assign_rhs2 (_a3);
35897 : 6 : _q61 = do_valueize (valueize, _q61);
35898 : 6 : if (tree_swap_operands_p (_q60, _q61))
35899 : 0 : std::swap (_q60, _q61);
35900 : 6 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
35901 : : {
35902 : 0 : {
35903 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
35904 : 0 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
35905 : 0 : return true;
35906 : : }
35907 : : }
35908 : 6 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
35909 : : {
35910 : 0 : {
35911 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
35912 : 0 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
35913 : 0 : return true;
35914 : : }
35915 : : }
35916 : 82476 : break;
35917 : : }
35918 : 0 : case NE_EXPR:
35919 : 0 : {
35920 : 0 : tree _q60 = gimple_assign_rhs1 (_a3);
35921 : 0 : _q60 = do_valueize (valueize, _q60);
35922 : 0 : tree _q61 = gimple_assign_rhs2 (_a3);
35923 : 0 : _q61 = do_valueize (valueize, _q61);
35924 : 0 : if (tree_swap_operands_p (_q60, _q61))
35925 : 0 : std::swap (_q60, _q61);
35926 : 0 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
35927 : : {
35928 : 0 : {
35929 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
35930 : 0 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
35931 : 0 : return true;
35932 : : }
35933 : : }
35934 : 0 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
35935 : : {
35936 : 0 : {
35937 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
35938 : 0 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
35939 : 0 : return true;
35940 : : }
35941 : : }
35942 : 82476 : break;
35943 : : }
35944 : : default:;
35945 : : }
35946 : : }
35947 : : break;
35948 : : default:;
35949 : : }
35950 : : break;
35951 : : }
35952 : : default:;
35953 : : }
35954 : : }
35955 : : break;
35956 : 82476 : default:;
35957 : : }
35958 : 82476 : switch (TREE_CODE (_p1))
35959 : : {
35960 : 82476 : case SSA_NAME:
35961 : 82476 : if (gimple *_d2 = get_def (valueize, _p1))
35962 : : {
35963 : 82242 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
35964 : 79921 : switch (gimple_assign_rhs_code (_a2))
35965 : : {
35966 : 36672 : case EQ_EXPR:
35967 : 36672 : {
35968 : 36672 : tree _q50 = gimple_assign_rhs1 (_a2);
35969 : 36672 : _q50 = do_valueize (valueize, _q50);
35970 : 36672 : tree _q51 = gimple_assign_rhs2 (_a2);
35971 : 36672 : _q51 = do_valueize (valueize, _q51);
35972 : 36672 : if (tree_swap_operands_p (_q50, _q51))
35973 : 2 : std::swap (_q50, _q51);
35974 : 36672 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
35975 : : {
35976 : 2044 : {
35977 : 2044 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
35978 : 2044 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
35979 : 27 : return true;
35980 : : }
35981 : : }
35982 : 36645 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
35983 : : {
35984 : 26 : {
35985 : 26 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
35986 : 26 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
35987 : 0 : return true;
35988 : : }
35989 : : }
35990 : 36645 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
35991 : : {
35992 : 77 : {
35993 : 77 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
35994 : 77 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
35995 : 0 : return true;
35996 : : }
35997 : : }
35998 : 36645 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
35999 : : {
36000 : 117 : {
36001 : 117 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
36002 : 117 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
36003 : 0 : return true;
36004 : : }
36005 : : }
36006 : 82311 : break;
36007 : : }
36008 : 3745 : case NE_EXPR:
36009 : 3745 : {
36010 : 3745 : tree _q50 = gimple_assign_rhs1 (_a2);
36011 : 3745 : _q50 = do_valueize (valueize, _q50);
36012 : 3745 : tree _q51 = gimple_assign_rhs2 (_a2);
36013 : 3745 : _q51 = do_valueize (valueize, _q51);
36014 : 3745 : if (tree_swap_operands_p (_q50, _q51))
36015 : 4 : std::swap (_q50, _q51);
36016 : 3745 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
36017 : : {
36018 : 35 : {
36019 : 35 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
36020 : 35 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
36021 : 1 : return true;
36022 : : }
36023 : : }
36024 : 3744 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
36025 : : {
36026 : 0 : {
36027 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
36028 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
36029 : 0 : return true;
36030 : : }
36031 : : }
36032 : 3744 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
36033 : : {
36034 : 32 : {
36035 : 32 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
36036 : 32 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
36037 : 0 : return true;
36038 : : }
36039 : : }
36040 : 3744 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
36041 : : {
36042 : 234 : {
36043 : 234 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
36044 : 234 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
36045 : 0 : return true;
36046 : : }
36047 : : }
36048 : 82311 : break;
36049 : : }
36050 : 8495 : case LT_EXPR:
36051 : 8495 : {
36052 : 8495 : tree _q50 = gimple_assign_rhs1 (_a2);
36053 : 8495 : _q50 = do_valueize (valueize, _q50);
36054 : 8495 : tree _q51 = gimple_assign_rhs2 (_a2);
36055 : 8495 : _q51 = do_valueize (valueize, _q51);
36056 : 8495 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
36057 : : {
36058 : 112 : {
36059 : 112 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
36060 : 112 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, LT_EXPR, LE_EXPR))
36061 : 0 : return true;
36062 : : }
36063 : : }
36064 : : break;
36065 : : }
36066 : 11953 : case LE_EXPR:
36067 : 11953 : {
36068 : 11953 : tree _q50 = gimple_assign_rhs1 (_a2);
36069 : 11953 : _q50 = do_valueize (valueize, _q50);
36070 : 11953 : tree _q51 = gimple_assign_rhs2 (_a2);
36071 : 11953 : _q51 = do_valueize (valueize, _q51);
36072 : 11953 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
36073 : : {
36074 : 639 : {
36075 : 639 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
36076 : 639 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, LE_EXPR, LE_EXPR))
36077 : 129 : return true;
36078 : : }
36079 : : }
36080 : : break;
36081 : : }
36082 : 14954 : case GT_EXPR:
36083 : 14954 : {
36084 : 14954 : tree _q50 = gimple_assign_rhs1 (_a2);
36085 : 14954 : _q50 = do_valueize (valueize, _q50);
36086 : 14954 : tree _q51 = gimple_assign_rhs2 (_a2);
36087 : 14954 : _q51 = do_valueize (valueize, _q51);
36088 : 14954 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
36089 : : {
36090 : 8979 : {
36091 : 8979 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
36092 : 8979 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, GT_EXPR, LE_EXPR))
36093 : 8 : return true;
36094 : : }
36095 : : }
36096 : : break;
36097 : : }
36098 : 2653 : case GE_EXPR:
36099 : 2653 : {
36100 : 2653 : tree _q50 = gimple_assign_rhs1 (_a2);
36101 : 2653 : _q50 = do_valueize (valueize, _q50);
36102 : 2653 : tree _q51 = gimple_assign_rhs2 (_a2);
36103 : 2653 : _q51 = do_valueize (valueize, _q51);
36104 : 2653 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
36105 : : {
36106 : 180 : {
36107 : 180 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
36108 : 180 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, GE_EXPR, LE_EXPR))
36109 : 0 : return true;
36110 : : }
36111 : : }
36112 : : break;
36113 : : }
36114 : : default:;
36115 : : }
36116 : : }
36117 : : break;
36118 : 82311 : default:;
36119 : : }
36120 : 82311 : switch (TREE_CODE (_q20))
36121 : : {
36122 : 82311 : case SSA_NAME:
36123 : 82311 : if (gimple *_d2 = get_def (valueize, _q20))
36124 : : {
36125 : 77851 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
36126 : 83019 : switch (gimple_assign_rhs_code (_a2))
36127 : : {
36128 : 88 : case BIT_AND_EXPR:
36129 : 88 : {
36130 : 88 : tree _q30 = gimple_assign_rhs1 (_a2);
36131 : 88 : _q30 = do_valueize (valueize, _q30);
36132 : 88 : tree _q31 = gimple_assign_rhs2 (_a2);
36133 : 88 : _q31 = do_valueize (valueize, _q31);
36134 : 88 : if (tree_swap_operands_p (_q30, _q31))
36135 : 0 : std::swap (_q30, _q31);
36136 : 88 : switch (TREE_CODE (_q30))
36137 : : {
36138 : 88 : case SSA_NAME:
36139 : 88 : if (gimple *_d3 = get_def (valueize, _q30))
36140 : : {
36141 : 88 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
36142 : 56 : switch (gimple_assign_rhs_code (_a3))
36143 : : {
36144 : 2 : case BIT_XOR_EXPR:
36145 : 2 : {
36146 : 2 : tree _q40 = gimple_assign_rhs1 (_a3);
36147 : 2 : _q40 = do_valueize (valueize, _q40);
36148 : 2 : tree _q41 = gimple_assign_rhs2 (_a3);
36149 : 2 : _q41 = do_valueize (valueize, _q41);
36150 : 2 : if (tree_swap_operands_p (_q40, _q41))
36151 : 0 : std::swap (_q40, _q41);
36152 : 2 : if (tree_expr_nonzero_p (_q31))
36153 : : {
36154 : 2 : switch (TREE_CODE (_p1))
36155 : : {
36156 : 2 : case SSA_NAME:
36157 : 2 : if (gimple *_d4 = get_def (valueize, _p1))
36158 : : {
36159 : 2 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
36160 : 2 : switch (gimple_assign_rhs_code (_a4))
36161 : : {
36162 : 2 : case NE_EXPR:
36163 : 2 : {
36164 : 2 : tree _q90 = gimple_assign_rhs1 (_a4);
36165 : 2 : _q90 = do_valueize (valueize, _q90);
36166 : 2 : tree _q91 = gimple_assign_rhs2 (_a4);
36167 : 2 : _q91 = do_valueize (valueize, _q91);
36168 : 2 : if (tree_swap_operands_p (_q90, _q91))
36169 : 0 : std::swap (_q90, _q91);
36170 : 2 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
36171 : : {
36172 : 2 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
36173 : : {
36174 : 2 : {
36175 : 2 : tree captures[5] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _q21, _p1 };
36176 : 2 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, LE_EXPR))
36177 : 2 : return true;
36178 : : }
36179 : : }
36180 : : }
36181 : 0 : if ((_q90 == _q41 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q41, 0) && types_match (_q90, _q41)))
36182 : : {
36183 : 0 : if ((_q91 == _q40 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q40, 0) && types_match (_q91, _q40)))
36184 : : {
36185 : 0 : {
36186 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q41, _q40, _q31, _q21, _p1 };
36187 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, LE_EXPR))
36188 : 0 : return true;
36189 : : }
36190 : : }
36191 : : }
36192 : 86 : break;
36193 : : }
36194 : : default:;
36195 : : }
36196 : : }
36197 : : break;
36198 : : default:;
36199 : : }
36200 : : }
36201 : 86 : break;
36202 : : }
36203 : : default:;
36204 : : }
36205 : : }
36206 : : break;
36207 : 86 : default:;
36208 : : }
36209 : 86 : if (tree_expr_nonzero_p (_q30))
36210 : : {
36211 : 0 : switch (TREE_CODE (_q31))
36212 : : {
36213 : 0 : case SSA_NAME:
36214 : 0 : if (gimple *_d3 = get_def (valueize, _q31))
36215 : : {
36216 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
36217 : 0 : switch (gimple_assign_rhs_code (_a3))
36218 : : {
36219 : 0 : case BIT_XOR_EXPR:
36220 : 0 : {
36221 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
36222 : 0 : _q50 = do_valueize (valueize, _q50);
36223 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
36224 : 0 : _q51 = do_valueize (valueize, _q51);
36225 : 0 : if (tree_swap_operands_p (_q50, _q51))
36226 : 0 : std::swap (_q50, _q51);
36227 : 0 : switch (TREE_CODE (_p1))
36228 : : {
36229 : 0 : case SSA_NAME:
36230 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
36231 : : {
36232 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
36233 : 0 : switch (gimple_assign_rhs_code (_a4))
36234 : : {
36235 : 0 : case NE_EXPR:
36236 : 0 : {
36237 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
36238 : 0 : _q90 = do_valueize (valueize, _q90);
36239 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
36240 : 0 : _q91 = do_valueize (valueize, _q91);
36241 : 0 : if (tree_swap_operands_p (_q90, _q91))
36242 : 0 : std::swap (_q90, _q91);
36243 : 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
36244 : : {
36245 : 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
36246 : : {
36247 : 0 : {
36248 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q30, _q21, _p1 };
36249 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, LE_EXPR))
36250 : 0 : return true;
36251 : : }
36252 : : }
36253 : : }
36254 : 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
36255 : : {
36256 : 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
36257 : : {
36258 : 0 : {
36259 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q30, _q21, _p1 };
36260 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, LE_EXPR))
36261 : 0 : return true;
36262 : : }
36263 : : }
36264 : : }
36265 : 82309 : break;
36266 : : }
36267 : : default:;
36268 : : }
36269 : : }
36270 : : break;
36271 : : default:;
36272 : : }
36273 : 82309 : break;
36274 : : }
36275 : : default:;
36276 : : }
36277 : : }
36278 : : break;
36279 : : default:;
36280 : : }
36281 : : }
36282 : 82309 : break;
36283 : : }
36284 : : default:;
36285 : : }
36286 : : }
36287 : : break;
36288 : 82309 : default:;
36289 : : }
36290 : 82309 : switch (TREE_CODE (_q21))
36291 : : {
36292 : 12442 : case SSA_NAME:
36293 : 12442 : if (gimple *_d2 = get_def (valueize, _q21))
36294 : : {
36295 : 11351 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
36296 : 9125 : switch (gimple_assign_rhs_code (_a2))
36297 : : {
36298 : 66 : case BIT_AND_EXPR:
36299 : 66 : {
36300 : 66 : tree _q40 = gimple_assign_rhs1 (_a2);
36301 : 66 : _q40 = do_valueize (valueize, _q40);
36302 : 66 : tree _q41 = gimple_assign_rhs2 (_a2);
36303 : 66 : _q41 = do_valueize (valueize, _q41);
36304 : 66 : if (tree_swap_operands_p (_q40, _q41))
36305 : 0 : std::swap (_q40, _q41);
36306 : 66 : switch (TREE_CODE (_q40))
36307 : : {
36308 : 66 : case SSA_NAME:
36309 : 66 : if (gimple *_d3 = get_def (valueize, _q40))
36310 : : {
36311 : 66 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
36312 : 72 : switch (gimple_assign_rhs_code (_a3))
36313 : : {
36314 : 0 : case BIT_XOR_EXPR:
36315 : 0 : {
36316 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
36317 : 0 : _q50 = do_valueize (valueize, _q50);
36318 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
36319 : 0 : _q51 = do_valueize (valueize, _q51);
36320 : 0 : if (tree_swap_operands_p (_q50, _q51))
36321 : 0 : std::swap (_q50, _q51);
36322 : 0 : if (tree_expr_nonzero_p (_q41))
36323 : : {
36324 : 0 : switch (TREE_CODE (_p1))
36325 : : {
36326 : 0 : case SSA_NAME:
36327 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
36328 : : {
36329 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
36330 : 0 : switch (gimple_assign_rhs_code (_a4))
36331 : : {
36332 : 0 : case NE_EXPR:
36333 : 0 : {
36334 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
36335 : 0 : _q90 = do_valueize (valueize, _q90);
36336 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
36337 : 0 : _q91 = do_valueize (valueize, _q91);
36338 : 0 : if (tree_swap_operands_p (_q90, _q91))
36339 : 0 : std::swap (_q90, _q91);
36340 : 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
36341 : : {
36342 : 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
36343 : : {
36344 : 0 : {
36345 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q41, _q20, _p1 };
36346 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, GE_EXPR))
36347 : 0 : return true;
36348 : : }
36349 : : }
36350 : : }
36351 : 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
36352 : : {
36353 : 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
36354 : : {
36355 : 0 : {
36356 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q41, _q20, _p1 };
36357 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, GE_EXPR))
36358 : 0 : return true;
36359 : : }
36360 : : }
36361 : : }
36362 : 66 : break;
36363 : : }
36364 : : default:;
36365 : : }
36366 : : }
36367 : : break;
36368 : : default:;
36369 : : }
36370 : : }
36371 : 66 : break;
36372 : : }
36373 : : default:;
36374 : : }
36375 : : }
36376 : : break;
36377 : 66 : default:;
36378 : : }
36379 : 66 : if (tree_expr_nonzero_p (_q40))
36380 : : {
36381 : 0 : switch (TREE_CODE (_q41))
36382 : : {
36383 : 0 : case SSA_NAME:
36384 : 0 : if (gimple *_d3 = get_def (valueize, _q41))
36385 : : {
36386 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
36387 : 0 : switch (gimple_assign_rhs_code (_a3))
36388 : : {
36389 : 0 : case BIT_XOR_EXPR:
36390 : 0 : {
36391 : 0 : tree _q60 = gimple_assign_rhs1 (_a3);
36392 : 0 : _q60 = do_valueize (valueize, _q60);
36393 : 0 : tree _q61 = gimple_assign_rhs2 (_a3);
36394 : 0 : _q61 = do_valueize (valueize, _q61);
36395 : 0 : if (tree_swap_operands_p (_q60, _q61))
36396 : 0 : std::swap (_q60, _q61);
36397 : 0 : switch (TREE_CODE (_p1))
36398 : : {
36399 : 0 : case SSA_NAME:
36400 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
36401 : : {
36402 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
36403 : 0 : switch (gimple_assign_rhs_code (_a4))
36404 : : {
36405 : 0 : case NE_EXPR:
36406 : 0 : {
36407 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
36408 : 0 : _q90 = do_valueize (valueize, _q90);
36409 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
36410 : 0 : _q91 = do_valueize (valueize, _q91);
36411 : 0 : if (tree_swap_operands_p (_q90, _q91))
36412 : 0 : std::swap (_q90, _q91);
36413 : 0 : if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
36414 : : {
36415 : 0 : if ((_q91 == _q61 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q61, 0) && types_match (_q91, _q61)))
36416 : : {
36417 : 0 : {
36418 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q60, _q61, _q40, _q20, _p1 };
36419 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, GE_EXPR))
36420 : 0 : return true;
36421 : : }
36422 : : }
36423 : : }
36424 : 0 : if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
36425 : : {
36426 : 0 : if ((_q91 == _q60 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q60, 0) && types_match (_q91, _q60)))
36427 : : {
36428 : 0 : {
36429 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q61, _q60, _q40, _q20, _p1 };
36430 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, GE_EXPR))
36431 : 0 : return true;
36432 : : }
36433 : : }
36434 : : }
36435 : 82309 : break;
36436 : : }
36437 : : default:;
36438 : : }
36439 : : }
36440 : : break;
36441 : : default:;
36442 : : }
36443 : 82309 : break;
36444 : : }
36445 : : default:;
36446 : : }
36447 : : }
36448 : : break;
36449 : : default:;
36450 : : }
36451 : : }
36452 : 82309 : break;
36453 : : }
36454 : : default:;
36455 : : }
36456 : : }
36457 : : break;
36458 : 82309 : default:;
36459 : : }
36460 : 82309 : switch (TREE_CODE (_q20))
36461 : : {
36462 : 82309 : case SSA_NAME:
36463 : 82309 : if (gimple *_d2 = get_def (valueize, _q20))
36464 : : {
36465 : 77849 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
36466 : 83017 : switch (gimple_assign_rhs_code (_a2))
36467 : : {
36468 : 2 : case BIT_XOR_EXPR:
36469 : 2 : {
36470 : 2 : tree _q30 = gimple_assign_rhs1 (_a2);
36471 : 2 : _q30 = do_valueize (valueize, _q30);
36472 : 2 : tree _q31 = gimple_assign_rhs2 (_a2);
36473 : 2 : _q31 = do_valueize (valueize, _q31);
36474 : 2 : if (tree_swap_operands_p (_q30, _q31))
36475 : 0 : std::swap (_q30, _q31);
36476 : 2 : switch (TREE_CODE (_p1))
36477 : : {
36478 : 2 : case SSA_NAME:
36479 : 2 : if (gimple *_d3 = get_def (valueize, _p1))
36480 : : {
36481 : 2 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
36482 : 2 : switch (gimple_assign_rhs_code (_a3))
36483 : : {
36484 : 2 : case NE_EXPR:
36485 : 2 : {
36486 : 2 : tree _q70 = gimple_assign_rhs1 (_a3);
36487 : 2 : _q70 = do_valueize (valueize, _q70);
36488 : 2 : tree _q71 = gimple_assign_rhs2 (_a3);
36489 : 2 : _q71 = do_valueize (valueize, _q71);
36490 : 2 : if (tree_swap_operands_p (_q70, _q71))
36491 : 0 : std::swap (_q70, _q71);
36492 : 2 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
36493 : : {
36494 : 2 : if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
36495 : : {
36496 : 2 : {
36497 : 2 : tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
36498 : 2 : if (gimple_simplify_166 (res_op, seq, valueize, type, captures, LE_EXPR))
36499 : 2 : return true;
36500 : : }
36501 : : }
36502 : : }
36503 : 0 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
36504 : : {
36505 : 0 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
36506 : : {
36507 : 0 : {
36508 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q21, _p1 };
36509 : 0 : if (gimple_simplify_166 (res_op, seq, valueize, type, captures, LE_EXPR))
36510 : 0 : return true;
36511 : : }
36512 : : }
36513 : : }
36514 : 82307 : break;
36515 : : }
36516 : : default:;
36517 : : }
36518 : : }
36519 : : break;
36520 : : default:;
36521 : : }
36522 : 82307 : break;
36523 : : }
36524 : : default:;
36525 : : }
36526 : : }
36527 : : break;
36528 : 82307 : default:;
36529 : : }
36530 : 82307 : switch (TREE_CODE (_q21))
36531 : : {
36532 : 12442 : case SSA_NAME:
36533 : 12442 : if (gimple *_d2 = get_def (valueize, _q21))
36534 : : {
36535 : 11351 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
36536 : 9125 : switch (gimple_assign_rhs_code (_a2))
36537 : : {
36538 : 0 : case BIT_XOR_EXPR:
36539 : 0 : {
36540 : 0 : tree _q40 = gimple_assign_rhs1 (_a2);
36541 : 0 : _q40 = do_valueize (valueize, _q40);
36542 : 0 : tree _q41 = gimple_assign_rhs2 (_a2);
36543 : 0 : _q41 = do_valueize (valueize, _q41);
36544 : 0 : if (tree_swap_operands_p (_q40, _q41))
36545 : 0 : std::swap (_q40, _q41);
36546 : 0 : switch (TREE_CODE (_p1))
36547 : : {
36548 : 0 : case SSA_NAME:
36549 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
36550 : : {
36551 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
36552 : 0 : switch (gimple_assign_rhs_code (_a3))
36553 : : {
36554 : 0 : case NE_EXPR:
36555 : 0 : {
36556 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
36557 : 0 : _q70 = do_valueize (valueize, _q70);
36558 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
36559 : 0 : _q71 = do_valueize (valueize, _q71);
36560 : 0 : if (tree_swap_operands_p (_q70, _q71))
36561 : 0 : std::swap (_q70, _q71);
36562 : 0 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
36563 : : {
36564 : 0 : if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
36565 : : {
36566 : 0 : {
36567 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q20, _p1 };
36568 : 0 : if (gimple_simplify_166 (res_op, seq, valueize, type, captures, GE_EXPR))
36569 : 0 : return true;
36570 : : }
36571 : : }
36572 : : }
36573 : 0 : if ((_q70 == _q41 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q41, 0) && types_match (_q70, _q41)))
36574 : : {
36575 : 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
36576 : : {
36577 : 0 : {
36578 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q41, _q40, _q20, _p1 };
36579 : 0 : if (gimple_simplify_166 (res_op, seq, valueize, type, captures, GE_EXPR))
36580 : 0 : return true;
36581 : : }
36582 : : }
36583 : : }
36584 : 4236567 : break;
36585 : : }
36586 : : default:;
36587 : : }
36588 : : }
36589 : : break;
36590 : : default:;
36591 : : }
36592 : 4236567 : break;
36593 : : }
36594 : : default:;
36595 : : }
36596 : : }
36597 : : break;
36598 : : default:;
36599 : : }
36600 : : break;
36601 : : }
36602 : 13859 : case GE_EXPR:
36603 : 13859 : {
36604 : 13859 : tree _q20 = gimple_assign_rhs1 (_a1);
36605 : 13859 : _q20 = do_valueize (valueize, _q20);
36606 : 13859 : tree _q21 = gimple_assign_rhs2 (_a1);
36607 : 13859 : _q21 = do_valueize (valueize, _q21);
36608 : 13859 : switch (TREE_CODE (_p1))
36609 : : {
36610 : 13847 : case SSA_NAME:
36611 : 13847 : if (gimple *_d2 = get_def (valueize, _p1))
36612 : : {
36613 : 13823 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
36614 : 13545 : switch (gimple_assign_rhs_code (_a2))
36615 : : {
36616 : 903 : case NE_EXPR:
36617 : 903 : {
36618 : 903 : tree _q50 = gimple_assign_rhs1 (_a2);
36619 : 903 : _q50 = do_valueize (valueize, _q50);
36620 : 903 : tree _q51 = gimple_assign_rhs2 (_a2);
36621 : 903 : _q51 = do_valueize (valueize, _q51);
36622 : 903 : if (tree_swap_operands_p (_q50, _q51))
36623 : 0 : std::swap (_q50, _q51);
36624 : 903 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
36625 : : {
36626 : 0 : if (gimple_min_value (_q51, valueize))
36627 : : {
36628 : 0 : {
36629 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
36630 : 0 : if (gimple_simplify_173 (res_op, seq, valueize, type, captures))
36631 : 0 : return true;
36632 : : }
36633 : : }
36634 : : }
36635 : 903 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
36636 : : {
36637 : 48 : if (gimple_max_value (_q51, valueize))
36638 : : {
36639 : 6 : {
36640 : 6 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
36641 : 6 : if (gimple_simplify_174 (res_op, seq, valueize, type, captures, NE_EXPR))
36642 : 6 : return true;
36643 : : }
36644 : : }
36645 : : }
36646 : 13845 : break;
36647 : : }
36648 : 616 : case EQ_EXPR:
36649 : 616 : {
36650 : 616 : tree _q50 = gimple_assign_rhs1 (_a2);
36651 : 616 : _q50 = do_valueize (valueize, _q50);
36652 : 616 : tree _q51 = gimple_assign_rhs2 (_a2);
36653 : 616 : _q51 = do_valueize (valueize, _q51);
36654 : 616 : if (tree_swap_operands_p (_q50, _q51))
36655 : 9 : std::swap (_q50, _q51);
36656 : 616 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
36657 : : {
36658 : 10 : if (gimple_min_value (_q51, valueize))
36659 : : {
36660 : 2 : {
36661 : 2 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
36662 : 2 : if (gimple_simplify_175 (res_op, seq, valueize, type, captures))
36663 : 2 : return true;
36664 : : }
36665 : : }
36666 : : }
36667 : 614 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
36668 : : {
36669 : 79 : if (gimple_max_value (_q51, valueize))
36670 : : {
36671 : 6 : {
36672 : 6 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
36673 : 6 : if (gimple_simplify_174 (res_op, seq, valueize, type, captures, EQ_EXPR))
36674 : 6 : return true;
36675 : : }
36676 : : }
36677 : : }
36678 : 13845 : break;
36679 : : }
36680 : : default:;
36681 : : }
36682 : : }
36683 : : break;
36684 : 13845 : default:;
36685 : : }
36686 : 13845 : switch (TREE_CODE (_q20))
36687 : : {
36688 : 13841 : case SSA_NAME:
36689 : 13841 : if (gimple *_d2 = get_def (valueize, _q20))
36690 : : {
36691 : 12730 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
36692 : 12848 : switch (gimple_assign_rhs_code (_a2))
36693 : : {
36694 : 4999 : CASE_CONVERT:
36695 : 4999 : {
36696 : 4999 : tree _q30 = gimple_assign_rhs1 (_a2);
36697 : 4999 : _q30 = do_valueize (valueize, _q30);
36698 : 4999 : switch (TREE_CODE (_p1))
36699 : : {
36700 : 4999 : case SSA_NAME:
36701 : 4999 : if (gimple *_d3 = get_def (valueize, _p1))
36702 : : {
36703 : 4999 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
36704 : 4999 : switch (gimple_assign_rhs_code (_a3))
36705 : : {
36706 : 52 : case EQ_EXPR:
36707 : 52 : {
36708 : 52 : tree _q60 = gimple_assign_rhs1 (_a3);
36709 : 52 : _q60 = do_valueize (valueize, _q60);
36710 : 52 : tree _q61 = gimple_assign_rhs2 (_a3);
36711 : 52 : _q61 = do_valueize (valueize, _q61);
36712 : 52 : if (tree_swap_operands_p (_q60, _q61))
36713 : 0 : std::swap (_q60, _q61);
36714 : 52 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
36715 : : {
36716 : 0 : {
36717 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
36718 : 0 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
36719 : 0 : return true;
36720 : : }
36721 : : }
36722 : 52 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
36723 : : {
36724 : 0 : {
36725 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
36726 : 0 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
36727 : 0 : return true;
36728 : : }
36729 : : }
36730 : 13845 : break;
36731 : : }
36732 : 52 : case NE_EXPR:
36733 : 52 : {
36734 : 52 : tree _q60 = gimple_assign_rhs1 (_a3);
36735 : 52 : _q60 = do_valueize (valueize, _q60);
36736 : 52 : tree _q61 = gimple_assign_rhs2 (_a3);
36737 : 52 : _q61 = do_valueize (valueize, _q61);
36738 : 52 : if (tree_swap_operands_p (_q60, _q61))
36739 : 0 : std::swap (_q60, _q61);
36740 : 52 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
36741 : : {
36742 : 0 : {
36743 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
36744 : 0 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
36745 : 0 : return true;
36746 : : }
36747 : : }
36748 : 52 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
36749 : : {
36750 : 0 : {
36751 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
36752 : 0 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
36753 : 0 : return true;
36754 : : }
36755 : : }
36756 : 13845 : break;
36757 : : }
36758 : : default:;
36759 : : }
36760 : : }
36761 : : break;
36762 : : default:;
36763 : : }
36764 : : break;
36765 : : }
36766 : : default:;
36767 : : }
36768 : : }
36769 : : break;
36770 : 13845 : default:;
36771 : : }
36772 : 13845 : switch (TREE_CODE (_q21))
36773 : : {
36774 : 10792 : case SSA_NAME:
36775 : 10792 : if (gimple *_d2 = get_def (valueize, _q21))
36776 : : {
36777 : 9865 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
36778 : 8074 : switch (gimple_assign_rhs_code (_a2))
36779 : : {
36780 : 3404 : CASE_CONVERT:
36781 : 3404 : {
36782 : 3404 : tree _q40 = gimple_assign_rhs1 (_a2);
36783 : 3404 : _q40 = do_valueize (valueize, _q40);
36784 : 3404 : switch (TREE_CODE (_p1))
36785 : : {
36786 : 3404 : case SSA_NAME:
36787 : 3404 : if (gimple *_d3 = get_def (valueize, _p1))
36788 : : {
36789 : 3404 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
36790 : 3404 : switch (gimple_assign_rhs_code (_a3))
36791 : : {
36792 : 6 : case EQ_EXPR:
36793 : 6 : {
36794 : 6 : tree _q60 = gimple_assign_rhs1 (_a3);
36795 : 6 : _q60 = do_valueize (valueize, _q60);
36796 : 6 : tree _q61 = gimple_assign_rhs2 (_a3);
36797 : 6 : _q61 = do_valueize (valueize, _q61);
36798 : 6 : if (tree_swap_operands_p (_q60, _q61))
36799 : 0 : std::swap (_q60, _q61);
36800 : 6 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
36801 : : {
36802 : 5 : {
36803 : 5 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
36804 : 5 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
36805 : 0 : return true;
36806 : : }
36807 : : }
36808 : 6 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
36809 : : {
36810 : 0 : {
36811 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
36812 : 0 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
36813 : 0 : return true;
36814 : : }
36815 : : }
36816 : 13845 : break;
36817 : : }
36818 : 38 : case NE_EXPR:
36819 : 38 : {
36820 : 38 : tree _q60 = gimple_assign_rhs1 (_a3);
36821 : 38 : _q60 = do_valueize (valueize, _q60);
36822 : 38 : tree _q61 = gimple_assign_rhs2 (_a3);
36823 : 38 : _q61 = do_valueize (valueize, _q61);
36824 : 38 : if (tree_swap_operands_p (_q60, _q61))
36825 : 0 : std::swap (_q60, _q61);
36826 : 38 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
36827 : : {
36828 : 0 : {
36829 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
36830 : 0 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
36831 : 0 : return true;
36832 : : }
36833 : : }
36834 : 38 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
36835 : : {
36836 : 0 : {
36837 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
36838 : 0 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
36839 : 0 : return true;
36840 : : }
36841 : : }
36842 : 13845 : break;
36843 : : }
36844 : : default:;
36845 : : }
36846 : : }
36847 : : break;
36848 : : default:;
36849 : : }
36850 : : break;
36851 : : }
36852 : : default:;
36853 : : }
36854 : : }
36855 : : break;
36856 : 13845 : default:;
36857 : : }
36858 : 13845 : switch (TREE_CODE (_p1))
36859 : : {
36860 : 13833 : case SSA_NAME:
36861 : 13833 : if (gimple *_d2 = get_def (valueize, _p1))
36862 : : {
36863 : 13809 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
36864 : 13531 : switch (gimple_assign_rhs_code (_a2))
36865 : : {
36866 : 608 : case EQ_EXPR:
36867 : 608 : {
36868 : 608 : tree _q50 = gimple_assign_rhs1 (_a2);
36869 : 608 : _q50 = do_valueize (valueize, _q50);
36870 : 608 : tree _q51 = gimple_assign_rhs2 (_a2);
36871 : 608 : _q51 = do_valueize (valueize, _q51);
36872 : 608 : if (tree_swap_operands_p (_q50, _q51))
36873 : 9 : std::swap (_q50, _q51);
36874 : 608 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
36875 : : {
36876 : 73 : {
36877 : 73 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
36878 : 73 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
36879 : 1 : return true;
36880 : : }
36881 : : }
36882 : 607 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
36883 : : {
36884 : 8 : {
36885 : 8 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
36886 : 8 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
36887 : 0 : return true;
36888 : : }
36889 : : }
36890 : 607 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
36891 : : {
36892 : 10 : {
36893 : 10 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
36894 : 10 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
36895 : 0 : return true;
36896 : : }
36897 : : }
36898 : 607 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
36899 : : {
36900 : 102 : {
36901 : 102 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
36902 : 102 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
36903 : 0 : return true;
36904 : : }
36905 : : }
36906 : 13841 : break;
36907 : : }
36908 : 897 : case NE_EXPR:
36909 : 897 : {
36910 : 897 : tree _q50 = gimple_assign_rhs1 (_a2);
36911 : 897 : _q50 = do_valueize (valueize, _q50);
36912 : 897 : tree _q51 = gimple_assign_rhs2 (_a2);
36913 : 897 : _q51 = do_valueize (valueize, _q51);
36914 : 897 : if (tree_swap_operands_p (_q50, _q51))
36915 : 0 : std::swap (_q50, _q51);
36916 : 897 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
36917 : : {
36918 : 42 : {
36919 : 42 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
36920 : 42 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
36921 : 0 : return true;
36922 : : }
36923 : : }
36924 : 897 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
36925 : : {
36926 : 0 : {
36927 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
36928 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
36929 : 0 : return true;
36930 : : }
36931 : : }
36932 : 897 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
36933 : : {
36934 : 0 : {
36935 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
36936 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, GE_EXPR, NE_EXPR))
36937 : 0 : return true;
36938 : : }
36939 : : }
36940 : 897 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
36941 : : {
36942 : 0 : {
36943 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
36944 : 0 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, LE_EXPR, NE_EXPR))
36945 : 0 : return true;
36946 : : }
36947 : : }
36948 : 13841 : break;
36949 : : }
36950 : 2134 : case LT_EXPR:
36951 : 2134 : {
36952 : 2134 : tree _q50 = gimple_assign_rhs1 (_a2);
36953 : 2134 : _q50 = do_valueize (valueize, _q50);
36954 : 2134 : tree _q51 = gimple_assign_rhs2 (_a2);
36955 : 2134 : _q51 = do_valueize (valueize, _q51);
36956 : 2134 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
36957 : : {
36958 : 720 : {
36959 : 720 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
36960 : 720 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, LT_EXPR, GE_EXPR))
36961 : 0 : return true;
36962 : : }
36963 : : }
36964 : : break;
36965 : : }
36966 : 3494 : case LE_EXPR:
36967 : 3494 : {
36968 : 3494 : tree _q50 = gimple_assign_rhs1 (_a2);
36969 : 3494 : _q50 = do_valueize (valueize, _q50);
36970 : 3494 : tree _q51 = gimple_assign_rhs2 (_a2);
36971 : 3494 : _q51 = do_valueize (valueize, _q51);
36972 : 3494 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
36973 : : {
36974 : 31 : {
36975 : 31 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
36976 : 31 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, LE_EXPR, GE_EXPR))
36977 : 0 : return true;
36978 : : }
36979 : : }
36980 : : break;
36981 : : }
36982 : 1538 : case GT_EXPR:
36983 : 1538 : {
36984 : 1538 : tree _q50 = gimple_assign_rhs1 (_a2);
36985 : 1538 : _q50 = do_valueize (valueize, _q50);
36986 : 1538 : tree _q51 = gimple_assign_rhs2 (_a2);
36987 : 1538 : _q51 = do_valueize (valueize, _q51);
36988 : 1538 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
36989 : : {
36990 : 76 : {
36991 : 76 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
36992 : 76 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, GT_EXPR, GE_EXPR))
36993 : 3 : return true;
36994 : : }
36995 : : }
36996 : : break;
36997 : : }
36998 : 4555 : case GE_EXPR:
36999 : 4555 : {
37000 : 4555 : tree _q50 = gimple_assign_rhs1 (_a2);
37001 : 4555 : _q50 = do_valueize (valueize, _q50);
37002 : 4555 : tree _q51 = gimple_assign_rhs2 (_a2);
37003 : 4555 : _q51 = do_valueize (valueize, _q51);
37004 : 4555 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
37005 : : {
37006 : 522 : {
37007 : 522 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
37008 : 522 : if (gimple_simplify_164 (res_op, seq, valueize, type, captures, GE_EXPR, GE_EXPR))
37009 : 0 : return true;
37010 : : }
37011 : : }
37012 : : break;
37013 : : }
37014 : : default:;
37015 : : }
37016 : : }
37017 : : break;
37018 : 13841 : default:;
37019 : : }
37020 : 13841 : switch (TREE_CODE (_q20))
37021 : : {
37022 : 13837 : case SSA_NAME:
37023 : 13837 : if (gimple *_d2 = get_def (valueize, _q20))
37024 : : {
37025 : 12726 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
37026 : 12844 : switch (gimple_assign_rhs_code (_a2))
37027 : : {
37028 : 12 : case BIT_AND_EXPR:
37029 : 12 : {
37030 : 12 : tree _q30 = gimple_assign_rhs1 (_a2);
37031 : 12 : _q30 = do_valueize (valueize, _q30);
37032 : 12 : tree _q31 = gimple_assign_rhs2 (_a2);
37033 : 12 : _q31 = do_valueize (valueize, _q31);
37034 : 12 : if (tree_swap_operands_p (_q30, _q31))
37035 : 2 : std::swap (_q30, _q31);
37036 : 12 : switch (TREE_CODE (_q30))
37037 : : {
37038 : 12 : case SSA_NAME:
37039 : 12 : if (gimple *_d3 = get_def (valueize, _q30))
37040 : : {
37041 : 11 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
37042 : 6 : switch (gimple_assign_rhs_code (_a3))
37043 : : {
37044 : 0 : case BIT_XOR_EXPR:
37045 : 0 : {
37046 : 0 : tree _q40 = gimple_assign_rhs1 (_a3);
37047 : 0 : _q40 = do_valueize (valueize, _q40);
37048 : 0 : tree _q41 = gimple_assign_rhs2 (_a3);
37049 : 0 : _q41 = do_valueize (valueize, _q41);
37050 : 0 : if (tree_swap_operands_p (_q40, _q41))
37051 : 0 : std::swap (_q40, _q41);
37052 : 0 : if (tree_expr_nonzero_p (_q31))
37053 : : {
37054 : 0 : switch (TREE_CODE (_p1))
37055 : : {
37056 : 0 : case SSA_NAME:
37057 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
37058 : : {
37059 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
37060 : 0 : switch (gimple_assign_rhs_code (_a4))
37061 : : {
37062 : 0 : case NE_EXPR:
37063 : 0 : {
37064 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
37065 : 0 : _q90 = do_valueize (valueize, _q90);
37066 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
37067 : 0 : _q91 = do_valueize (valueize, _q91);
37068 : 0 : if (tree_swap_operands_p (_q90, _q91))
37069 : 0 : std::swap (_q90, _q91);
37070 : 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
37071 : : {
37072 : 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
37073 : : {
37074 : 0 : {
37075 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _q21, _p1 };
37076 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, GE_EXPR))
37077 : 0 : return true;
37078 : : }
37079 : : }
37080 : : }
37081 : 0 : if ((_q90 == _q41 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q41, 0) && types_match (_q90, _q41)))
37082 : : {
37083 : 0 : if ((_q91 == _q40 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q40, 0) && types_match (_q91, _q40)))
37084 : : {
37085 : 0 : {
37086 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q41, _q40, _q31, _q21, _p1 };
37087 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, GE_EXPR))
37088 : 0 : return true;
37089 : : }
37090 : : }
37091 : : }
37092 : 12 : break;
37093 : : }
37094 : : default:;
37095 : : }
37096 : : }
37097 : : break;
37098 : : default:;
37099 : : }
37100 : : }
37101 : 12 : break;
37102 : : }
37103 : : default:;
37104 : : }
37105 : : }
37106 : : break;
37107 : 12 : default:;
37108 : : }
37109 : 12 : if (tree_expr_nonzero_p (_q30))
37110 : : {
37111 : 0 : switch (TREE_CODE (_q31))
37112 : : {
37113 : 0 : case SSA_NAME:
37114 : 0 : if (gimple *_d3 = get_def (valueize, _q31))
37115 : : {
37116 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
37117 : 0 : switch (gimple_assign_rhs_code (_a3))
37118 : : {
37119 : 0 : case BIT_XOR_EXPR:
37120 : 0 : {
37121 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
37122 : 0 : _q50 = do_valueize (valueize, _q50);
37123 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
37124 : 0 : _q51 = do_valueize (valueize, _q51);
37125 : 0 : if (tree_swap_operands_p (_q50, _q51))
37126 : 0 : std::swap (_q50, _q51);
37127 : 0 : switch (TREE_CODE (_p1))
37128 : : {
37129 : 0 : case SSA_NAME:
37130 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
37131 : : {
37132 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
37133 : 0 : switch (gimple_assign_rhs_code (_a4))
37134 : : {
37135 : 0 : case NE_EXPR:
37136 : 0 : {
37137 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
37138 : 0 : _q90 = do_valueize (valueize, _q90);
37139 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
37140 : 0 : _q91 = do_valueize (valueize, _q91);
37141 : 0 : if (tree_swap_operands_p (_q90, _q91))
37142 : 0 : std::swap (_q90, _q91);
37143 : 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
37144 : : {
37145 : 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
37146 : : {
37147 : 0 : {
37148 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q30, _q21, _p1 };
37149 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, GE_EXPR))
37150 : 0 : return true;
37151 : : }
37152 : : }
37153 : : }
37154 : 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
37155 : : {
37156 : 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
37157 : : {
37158 : 0 : {
37159 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q30, _q21, _p1 };
37160 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, GE_EXPR))
37161 : 0 : return true;
37162 : : }
37163 : : }
37164 : : }
37165 : 13841 : break;
37166 : : }
37167 : : default:;
37168 : : }
37169 : : }
37170 : : break;
37171 : : default:;
37172 : : }
37173 : 13841 : break;
37174 : : }
37175 : : default:;
37176 : : }
37177 : : }
37178 : : break;
37179 : : default:;
37180 : : }
37181 : : }
37182 : 13841 : break;
37183 : : }
37184 : : default:;
37185 : : }
37186 : : }
37187 : : break;
37188 : 13841 : default:;
37189 : : }
37190 : 13841 : switch (TREE_CODE (_q21))
37191 : : {
37192 : 10791 : case SSA_NAME:
37193 : 10791 : if (gimple *_d2 = get_def (valueize, _q21))
37194 : : {
37195 : 9864 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
37196 : 8073 : switch (gimple_assign_rhs_code (_a2))
37197 : : {
37198 : 0 : case BIT_AND_EXPR:
37199 : 0 : {
37200 : 0 : tree _q40 = gimple_assign_rhs1 (_a2);
37201 : 0 : _q40 = do_valueize (valueize, _q40);
37202 : 0 : tree _q41 = gimple_assign_rhs2 (_a2);
37203 : 0 : _q41 = do_valueize (valueize, _q41);
37204 : 0 : if (tree_swap_operands_p (_q40, _q41))
37205 : 0 : std::swap (_q40, _q41);
37206 : 0 : switch (TREE_CODE (_q40))
37207 : : {
37208 : 0 : case SSA_NAME:
37209 : 0 : if (gimple *_d3 = get_def (valueize, _q40))
37210 : : {
37211 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
37212 : 0 : switch (gimple_assign_rhs_code (_a3))
37213 : : {
37214 : 0 : case BIT_XOR_EXPR:
37215 : 0 : {
37216 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
37217 : 0 : _q50 = do_valueize (valueize, _q50);
37218 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
37219 : 0 : _q51 = do_valueize (valueize, _q51);
37220 : 0 : if (tree_swap_operands_p (_q50, _q51))
37221 : 0 : std::swap (_q50, _q51);
37222 : 0 : if (tree_expr_nonzero_p (_q41))
37223 : : {
37224 : 0 : switch (TREE_CODE (_p1))
37225 : : {
37226 : 0 : case SSA_NAME:
37227 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
37228 : : {
37229 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
37230 : 0 : switch (gimple_assign_rhs_code (_a4))
37231 : : {
37232 : 0 : case NE_EXPR:
37233 : 0 : {
37234 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
37235 : 0 : _q90 = do_valueize (valueize, _q90);
37236 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
37237 : 0 : _q91 = do_valueize (valueize, _q91);
37238 : 0 : if (tree_swap_operands_p (_q90, _q91))
37239 : 0 : std::swap (_q90, _q91);
37240 : 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
37241 : : {
37242 : 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
37243 : : {
37244 : 0 : {
37245 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q41, _q20, _p1 };
37246 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, LE_EXPR))
37247 : 0 : return true;
37248 : : }
37249 : : }
37250 : : }
37251 : 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
37252 : : {
37253 : 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
37254 : : {
37255 : 0 : {
37256 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q41, _q20, _p1 };
37257 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, LE_EXPR))
37258 : 0 : return true;
37259 : : }
37260 : : }
37261 : : }
37262 : 0 : break;
37263 : : }
37264 : : default:;
37265 : : }
37266 : : }
37267 : : break;
37268 : : default:;
37269 : : }
37270 : : }
37271 : 0 : break;
37272 : : }
37273 : : default:;
37274 : : }
37275 : : }
37276 : : break;
37277 : 0 : default:;
37278 : : }
37279 : 0 : if (tree_expr_nonzero_p (_q40))
37280 : : {
37281 : 0 : switch (TREE_CODE (_q41))
37282 : : {
37283 : 0 : case SSA_NAME:
37284 : 0 : if (gimple *_d3 = get_def (valueize, _q41))
37285 : : {
37286 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
37287 : 0 : switch (gimple_assign_rhs_code (_a3))
37288 : : {
37289 : 0 : case BIT_XOR_EXPR:
37290 : 0 : {
37291 : 0 : tree _q60 = gimple_assign_rhs1 (_a3);
37292 : 0 : _q60 = do_valueize (valueize, _q60);
37293 : 0 : tree _q61 = gimple_assign_rhs2 (_a3);
37294 : 0 : _q61 = do_valueize (valueize, _q61);
37295 : 0 : if (tree_swap_operands_p (_q60, _q61))
37296 : 0 : std::swap (_q60, _q61);
37297 : 0 : switch (TREE_CODE (_p1))
37298 : : {
37299 : 0 : case SSA_NAME:
37300 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
37301 : : {
37302 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
37303 : 0 : switch (gimple_assign_rhs_code (_a4))
37304 : : {
37305 : 0 : case NE_EXPR:
37306 : 0 : {
37307 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
37308 : 0 : _q90 = do_valueize (valueize, _q90);
37309 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
37310 : 0 : _q91 = do_valueize (valueize, _q91);
37311 : 0 : if (tree_swap_operands_p (_q90, _q91))
37312 : 0 : std::swap (_q90, _q91);
37313 : 0 : if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
37314 : : {
37315 : 0 : if ((_q91 == _q61 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q61, 0) && types_match (_q91, _q61)))
37316 : : {
37317 : 0 : {
37318 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q60, _q61, _q40, _q20, _p1 };
37319 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, LE_EXPR))
37320 : 0 : return true;
37321 : : }
37322 : : }
37323 : : }
37324 : 0 : if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
37325 : : {
37326 : 0 : if ((_q91 == _q60 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q60, 0) && types_match (_q91, _q60)))
37327 : : {
37328 : 0 : {
37329 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q61, _q60, _q40, _q20, _p1 };
37330 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, LE_EXPR))
37331 : 0 : return true;
37332 : : }
37333 : : }
37334 : : }
37335 : 13841 : break;
37336 : : }
37337 : : default:;
37338 : : }
37339 : : }
37340 : : break;
37341 : : default:;
37342 : : }
37343 : 13841 : break;
37344 : : }
37345 : : default:;
37346 : : }
37347 : : }
37348 : : break;
37349 : : default:;
37350 : : }
37351 : : }
37352 : 13841 : break;
37353 : : }
37354 : : default:;
37355 : : }
37356 : : }
37357 : : break;
37358 : 13841 : default:;
37359 : : }
37360 : 13841 : switch (TREE_CODE (_q20))
37361 : : {
37362 : 13837 : case SSA_NAME:
37363 : 13837 : if (gimple *_d2 = get_def (valueize, _q20))
37364 : : {
37365 : 12726 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
37366 : 12844 : switch (gimple_assign_rhs_code (_a2))
37367 : : {
37368 : 0 : case BIT_XOR_EXPR:
37369 : 0 : {
37370 : 0 : tree _q30 = gimple_assign_rhs1 (_a2);
37371 : 0 : _q30 = do_valueize (valueize, _q30);
37372 : 0 : tree _q31 = gimple_assign_rhs2 (_a2);
37373 : 0 : _q31 = do_valueize (valueize, _q31);
37374 : 0 : if (tree_swap_operands_p (_q30, _q31))
37375 : 0 : std::swap (_q30, _q31);
37376 : 0 : switch (TREE_CODE (_p1))
37377 : : {
37378 : 0 : case SSA_NAME:
37379 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
37380 : : {
37381 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
37382 : 0 : switch (gimple_assign_rhs_code (_a3))
37383 : : {
37384 : 0 : case NE_EXPR:
37385 : 0 : {
37386 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
37387 : 0 : _q70 = do_valueize (valueize, _q70);
37388 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
37389 : 0 : _q71 = do_valueize (valueize, _q71);
37390 : 0 : if (tree_swap_operands_p (_q70, _q71))
37391 : 0 : std::swap (_q70, _q71);
37392 : 0 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
37393 : : {
37394 : 0 : if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
37395 : : {
37396 : 0 : {
37397 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
37398 : 0 : if (gimple_simplify_166 (res_op, seq, valueize, type, captures, GE_EXPR))
37399 : 0 : return true;
37400 : : }
37401 : : }
37402 : : }
37403 : 0 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
37404 : : {
37405 : 0 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
37406 : : {
37407 : 0 : {
37408 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q21, _p1 };
37409 : 0 : if (gimple_simplify_166 (res_op, seq, valueize, type, captures, GE_EXPR))
37410 : 0 : return true;
37411 : : }
37412 : : }
37413 : : }
37414 : 13841 : break;
37415 : : }
37416 : : default:;
37417 : : }
37418 : : }
37419 : : break;
37420 : : default:;
37421 : : }
37422 : 13841 : break;
37423 : : }
37424 : : default:;
37425 : : }
37426 : : }
37427 : : break;
37428 : 13841 : default:;
37429 : : }
37430 : 13841 : switch (TREE_CODE (_q21))
37431 : : {
37432 : 10791 : case SSA_NAME:
37433 : 10791 : if (gimple *_d2 = get_def (valueize, _q21))
37434 : : {
37435 : 9864 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
37436 : 8073 : switch (gimple_assign_rhs_code (_a2))
37437 : : {
37438 : 0 : case BIT_XOR_EXPR:
37439 : 0 : {
37440 : 0 : tree _q40 = gimple_assign_rhs1 (_a2);
37441 : 0 : _q40 = do_valueize (valueize, _q40);
37442 : 0 : tree _q41 = gimple_assign_rhs2 (_a2);
37443 : 0 : _q41 = do_valueize (valueize, _q41);
37444 : 0 : if (tree_swap_operands_p (_q40, _q41))
37445 : 0 : std::swap (_q40, _q41);
37446 : 0 : switch (TREE_CODE (_p1))
37447 : : {
37448 : 0 : case SSA_NAME:
37449 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
37450 : : {
37451 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
37452 : 0 : switch (gimple_assign_rhs_code (_a3))
37453 : : {
37454 : 0 : case NE_EXPR:
37455 : 0 : {
37456 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
37457 : 0 : _q70 = do_valueize (valueize, _q70);
37458 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
37459 : 0 : _q71 = do_valueize (valueize, _q71);
37460 : 0 : if (tree_swap_operands_p (_q70, _q71))
37461 : 0 : std::swap (_q70, _q71);
37462 : 0 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
37463 : : {
37464 : 0 : if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
37465 : : {
37466 : 0 : {
37467 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q20, _p1 };
37468 : 0 : if (gimple_simplify_166 (res_op, seq, valueize, type, captures, LE_EXPR))
37469 : 0 : return true;
37470 : : }
37471 : : }
37472 : : }
37473 : 0 : if ((_q70 == _q41 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q41, 0) && types_match (_q70, _q41)))
37474 : : {
37475 : 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
37476 : : {
37477 : 0 : {
37478 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q41, _q40, _q20, _p1 };
37479 : 0 : if (gimple_simplify_166 (res_op, seq, valueize, type, captures, LE_EXPR))
37480 : 0 : return true;
37481 : : }
37482 : : }
37483 : : }
37484 : 4236567 : break;
37485 : : }
37486 : : default:;
37487 : : }
37488 : : }
37489 : : break;
37490 : : default:;
37491 : : }
37492 : 4236567 : break;
37493 : : }
37494 : : default:;
37495 : : }
37496 : : }
37497 : : break;
37498 : : default:;
37499 : : }
37500 : : break;
37501 : : }
37502 : 264497 : case EQ_EXPR:
37503 : 264497 : {
37504 : 264497 : tree _q20 = gimple_assign_rhs1 (_a1);
37505 : 264497 : _q20 = do_valueize (valueize, _q20);
37506 : 264497 : tree _q21 = gimple_assign_rhs2 (_a1);
37507 : 264497 : _q21 = do_valueize (valueize, _q21);
37508 : 264497 : if (tree_swap_operands_p (_q20, _q21))
37509 : 317 : std::swap (_q20, _q21);
37510 : 264497 : if (gimple_min_value (_q21, valueize))
37511 : : {
37512 : 83820 : switch (TREE_CODE (_p1))
37513 : : {
37514 : 83818 : case SSA_NAME:
37515 : 83818 : if (gimple *_d2 = get_def (valueize, _p1))
37516 : : {
37517 : 83748 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
37518 : 83159 : switch (gimple_assign_rhs_code (_a2))
37519 : : {
37520 : 1034 : case LE_EXPR:
37521 : 1034 : {
37522 : 1034 : tree _q50 = gimple_assign_rhs1 (_a2);
37523 : 1034 : _q50 = do_valueize (valueize, _q50);
37524 : 1034 : tree _q51 = gimple_assign_rhs2 (_a2);
37525 : 1034 : _q51 = do_valueize (valueize, _q51);
37526 : 1034 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
37527 : : {
37528 : 35 : {
37529 : 35 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
37530 : 35 : if (gimple_simplify_175 (res_op, seq, valueize, type, captures))
37531 : 35 : return true;
37532 : : }
37533 : : }
37534 : : break;
37535 : : }
37536 : 132 : case GE_EXPR:
37537 : 132 : {
37538 : 132 : tree _q50 = gimple_assign_rhs1 (_a2);
37539 : 132 : _q50 = do_valueize (valueize, _q50);
37540 : 132 : tree _q51 = gimple_assign_rhs2 (_a2);
37541 : 132 : _q51 = do_valueize (valueize, _q51);
37542 : 132 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
37543 : : {
37544 : 2 : {
37545 : 2 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
37546 : 2 : if (gimple_simplify_175 (res_op, seq, valueize, type, captures))
37547 : 2 : return true;
37548 : : }
37549 : : }
37550 : : break;
37551 : : }
37552 : 10216 : case LT_EXPR:
37553 : 10216 : {
37554 : 10216 : tree _q50 = gimple_assign_rhs1 (_a2);
37555 : 10216 : _q50 = do_valueize (valueize, _q50);
37556 : 10216 : tree _q51 = gimple_assign_rhs2 (_a2);
37557 : 10216 : _q51 = do_valueize (valueize, _q51);
37558 : 10216 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
37559 : : {
37560 : 104 : {
37561 : 104 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q50 };
37562 : 104 : if (gimple_simplify_176 (res_op, seq, valueize, type, captures))
37563 : 7 : return true;
37564 : : }
37565 : : }
37566 : : break;
37567 : : }
37568 : 39137 : case GT_EXPR:
37569 : 39137 : {
37570 : 39137 : tree _q50 = gimple_assign_rhs1 (_a2);
37571 : 39137 : _q50 = do_valueize (valueize, _q50);
37572 : 39137 : tree _q51 = gimple_assign_rhs2 (_a2);
37573 : 39137 : _q51 = do_valueize (valueize, _q51);
37574 : 39137 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
37575 : : {
37576 : 484 : {
37577 : 484 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q51 };
37578 : 484 : if (gimple_simplify_176 (res_op, seq, valueize, type, captures))
37579 : 237 : return true;
37580 : : }
37581 : : }
37582 : : break;
37583 : : }
37584 : : default:;
37585 : : }
37586 : : }
37587 : : break;
37588 : : default:;
37589 : : }
37590 : : }
37591 : 264216 : if (gimple_max_value (_q21, valueize))
37592 : : {
37593 : 1131 : switch (TREE_CODE (_p1))
37594 : : {
37595 : 1131 : case SSA_NAME:
37596 : 1131 : if (gimple *_d2 = get_def (valueize, _p1))
37597 : : {
37598 : 1131 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
37599 : 1117 : switch (gimple_assign_rhs_code (_a2))
37600 : : {
37601 : 68 : case GE_EXPR:
37602 : 68 : {
37603 : 68 : tree _q50 = gimple_assign_rhs1 (_a2);
37604 : 68 : _q50 = do_valueize (valueize, _q50);
37605 : 68 : tree _q51 = gimple_assign_rhs2 (_a2);
37606 : 68 : _q51 = do_valueize (valueize, _q51);
37607 : 68 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
37608 : : {
37609 : 0 : {
37610 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
37611 : 0 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, EQ_EXPR))
37612 : 0 : return true;
37613 : : }
37614 : : }
37615 : : break;
37616 : : }
37617 : 230 : case LE_EXPR:
37618 : 230 : {
37619 : 230 : tree _q50 = gimple_assign_rhs1 (_a2);
37620 : 230 : _q50 = do_valueize (valueize, _q50);
37621 : 230 : tree _q51 = gimple_assign_rhs2 (_a2);
37622 : 230 : _q51 = do_valueize (valueize, _q51);
37623 : 230 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
37624 : : {
37625 : 0 : {
37626 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
37627 : 0 : if (gimple_simplify_170 (res_op, seq, valueize, type, captures, EQ_EXPR))
37628 : 0 : return true;
37629 : : }
37630 : : }
37631 : : break;
37632 : : }
37633 : : default:;
37634 : : }
37635 : : }
37636 : : break;
37637 : : default:;
37638 : : }
37639 : : }
37640 : 264216 : switch (TREE_CODE (_p1))
37641 : : {
37642 : 264214 : case SSA_NAME:
37643 : 264214 : if (gimple *_d2 = get_def (valueize, _p1))
37644 : : {
37645 : 263556 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
37646 : 260017 : switch (gimple_assign_rhs_code (_a2))
37647 : : {
37648 : 159098 : case EQ_EXPR:
37649 : 159098 : {
37650 : 159098 : tree _q50 = gimple_assign_rhs1 (_a2);
37651 : 159098 : _q50 = do_valueize (valueize, _q50);
37652 : 159098 : tree _q51 = gimple_assign_rhs2 (_a2);
37653 : 159098 : _q51 = do_valueize (valueize, _q51);
37654 : 159098 : if (tree_swap_operands_p (_q50, _q51))
37655 : 134 : std::swap (_q50, _q51);
37656 : 159098 : switch (TREE_CODE (_q50))
37657 : : {
37658 : 159098 : case SSA_NAME:
37659 : 159098 : if (gimple *_d3 = get_def (valueize, _q50))
37660 : : {
37661 : 140890 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
37662 : 135432 : switch (gimple_assign_rhs_code (_a3))
37663 : : {
37664 : 10399 : CASE_CONVERT:
37665 : 10399 : {
37666 : 10399 : tree _q60 = gimple_assign_rhs1 (_a3);
37667 : 10399 : _q60 = do_valueize (valueize, _q60);
37668 : 10399 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
37669 : : {
37670 : 114 : {
37671 : 114 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
37672 : 114 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
37673 : 0 : return true;
37674 : : }
37675 : : }
37676 : 10399 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
37677 : : {
37678 : 0 : {
37679 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
37680 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
37681 : 0 : return true;
37682 : : }
37683 : : }
37684 : : break;
37685 : : }
37686 : : default:;
37687 : : }
37688 : : }
37689 : : break;
37690 : 159098 : default:;
37691 : : }
37692 : 159098 : switch (TREE_CODE (_q51))
37693 : : {
37694 : 5609 : case SSA_NAME:
37695 : 5609 : if (gimple *_d3 = get_def (valueize, _q51))
37696 : : {
37697 : 4981 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
37698 : 3549 : switch (gimple_assign_rhs_code (_a3))
37699 : : {
37700 : 232 : CASE_CONVERT:
37701 : 232 : {
37702 : 232 : tree _q70 = gimple_assign_rhs1 (_a3);
37703 : 232 : _q70 = do_valueize (valueize, _q70);
37704 : 232 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
37705 : : {
37706 : 26 : {
37707 : 26 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
37708 : 26 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
37709 : 0 : return true;
37710 : : }
37711 : : }
37712 : 232 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
37713 : : {
37714 : 0 : {
37715 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
37716 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
37717 : 0 : return true;
37718 : : }
37719 : : }
37720 : : break;
37721 : : }
37722 : : default:;
37723 : : }
37724 : : }
37725 : : break;
37726 : : default:;
37727 : : }
37728 : 264211 : break;
37729 : : }
37730 : 26417 : case NE_EXPR:
37731 : 26417 : {
37732 : 26417 : tree _q50 = gimple_assign_rhs1 (_a2);
37733 : 26417 : _q50 = do_valueize (valueize, _q50);
37734 : 26417 : tree _q51 = gimple_assign_rhs2 (_a2);
37735 : 26417 : _q51 = do_valueize (valueize, _q51);
37736 : 26417 : if (tree_swap_operands_p (_q50, _q51))
37737 : 164 : std::swap (_q50, _q51);
37738 : 26417 : switch (TREE_CODE (_q50))
37739 : : {
37740 : 26417 : case SSA_NAME:
37741 : 26417 : if (gimple *_d3 = get_def (valueize, _q50))
37742 : : {
37743 : 23883 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
37744 : 28636 : switch (gimple_assign_rhs_code (_a3))
37745 : : {
37746 : 1583 : CASE_CONVERT:
37747 : 1583 : {
37748 : 1583 : tree _q60 = gimple_assign_rhs1 (_a3);
37749 : 1583 : _q60 = do_valueize (valueize, _q60);
37750 : 1583 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
37751 : : {
37752 : 6 : {
37753 : 6 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
37754 : 6 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
37755 : 0 : return true;
37756 : : }
37757 : : }
37758 : 1583 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
37759 : : {
37760 : 0 : {
37761 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
37762 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
37763 : 0 : return true;
37764 : : }
37765 : : }
37766 : : break;
37767 : : }
37768 : : default:;
37769 : : }
37770 : : }
37771 : : break;
37772 : 26417 : default:;
37773 : : }
37774 : 26417 : switch (TREE_CODE (_q51))
37775 : : {
37776 : 4440 : case SSA_NAME:
37777 : 4440 : if (gimple *_d3 = get_def (valueize, _q51))
37778 : : {
37779 : 4096 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
37780 : 4291 : switch (gimple_assign_rhs_code (_a3))
37781 : : {
37782 : 251 : CASE_CONVERT:
37783 : 251 : {
37784 : 251 : tree _q70 = gimple_assign_rhs1 (_a3);
37785 : 251 : _q70 = do_valueize (valueize, _q70);
37786 : 251 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
37787 : : {
37788 : 13 : {
37789 : 13 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
37790 : 13 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
37791 : 0 : return true;
37792 : : }
37793 : : }
37794 : 251 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
37795 : : {
37796 : 0 : {
37797 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
37798 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
37799 : 0 : return true;
37800 : : }
37801 : : }
37802 : : break;
37803 : : }
37804 : : default:;
37805 : : }
37806 : : }
37807 : : break;
37808 : : default:;
37809 : : }
37810 : 264211 : break;
37811 : : }
37812 : 11661 : case LT_EXPR:
37813 : 11661 : {
37814 : 11661 : tree _q50 = gimple_assign_rhs1 (_a2);
37815 : 11661 : _q50 = do_valueize (valueize, _q50);
37816 : 11661 : tree _q51 = gimple_assign_rhs2 (_a2);
37817 : 11661 : _q51 = do_valueize (valueize, _q51);
37818 : 11661 : switch (TREE_CODE (_q50))
37819 : : {
37820 : 11660 : case SSA_NAME:
37821 : 11660 : if (gimple *_d3 = get_def (valueize, _q50))
37822 : : {
37823 : 9497 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
37824 : 12973 : switch (gimple_assign_rhs_code (_a3))
37825 : : {
37826 : 108 : CASE_CONVERT:
37827 : 108 : {
37828 : 108 : tree _q60 = gimple_assign_rhs1 (_a3);
37829 : 108 : _q60 = do_valueize (valueize, _q60);
37830 : 108 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
37831 : : {
37832 : 0 : {
37833 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
37834 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
37835 : 0 : return true;
37836 : : }
37837 : : }
37838 : 108 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
37839 : : {
37840 : 0 : {
37841 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
37842 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
37843 : 0 : return true;
37844 : : }
37845 : : }
37846 : : break;
37847 : : }
37848 : : default:;
37849 : : }
37850 : : }
37851 : : break;
37852 : 11661 : default:;
37853 : : }
37854 : 11661 : switch (TREE_CODE (_q51))
37855 : : {
37856 : 10805 : case SSA_NAME:
37857 : 10805 : if (gimple *_d3 = get_def (valueize, _q51))
37858 : : {
37859 : 8697 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
37860 : 11745 : switch (gimple_assign_rhs_code (_a3))
37861 : : {
37862 : 194 : CASE_CONVERT:
37863 : 194 : {
37864 : 194 : tree _q70 = gimple_assign_rhs1 (_a3);
37865 : 194 : _q70 = do_valueize (valueize, _q70);
37866 : 194 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
37867 : : {
37868 : 60 : {
37869 : 60 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
37870 : 60 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR))
37871 : 0 : return true;
37872 : : }
37873 : : }
37874 : 194 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
37875 : : {
37876 : 0 : {
37877 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
37878 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR))
37879 : 0 : return true;
37880 : : }
37881 : : }
37882 : : break;
37883 : : }
37884 : : default:;
37885 : : }
37886 : : }
37887 : : break;
37888 : : default:;
37889 : : }
37890 : : break;
37891 : : }
37892 : 43347 : case GT_EXPR:
37893 : 43347 : {
37894 : 43347 : tree _q50 = gimple_assign_rhs1 (_a2);
37895 : 43347 : _q50 = do_valueize (valueize, _q50);
37896 : 43347 : tree _q51 = gimple_assign_rhs2 (_a2);
37897 : 43347 : _q51 = do_valueize (valueize, _q51);
37898 : 43347 : switch (TREE_CODE (_q50))
37899 : : {
37900 : 43347 : case SSA_NAME:
37901 : 43347 : if (gimple *_d3 = get_def (valueize, _q50))
37902 : : {
37903 : 36208 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
37904 : 59378 : switch (gimple_assign_rhs_code (_a3))
37905 : : {
37906 : 495 : CASE_CONVERT:
37907 : 495 : {
37908 : 495 : tree _q60 = gimple_assign_rhs1 (_a3);
37909 : 495 : _q60 = do_valueize (valueize, _q60);
37910 : 495 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
37911 : : {
37912 : 73 : {
37913 : 73 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
37914 : 73 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR))
37915 : 2 : return true;
37916 : : }
37917 : : }
37918 : 493 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
37919 : : {
37920 : 0 : {
37921 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
37922 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR))
37923 : 0 : return true;
37924 : : }
37925 : : }
37926 : : break;
37927 : : }
37928 : : default:;
37929 : : }
37930 : : }
37931 : : break;
37932 : 43345 : default:;
37933 : : }
37934 : 43345 : switch (TREE_CODE (_q51))
37935 : : {
37936 : 38177 : case SSA_NAME:
37937 : 38177 : if (gimple *_d3 = get_def (valueize, _q51))
37938 : : {
37939 : 31606 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
37940 : 56112 : switch (gimple_assign_rhs_code (_a3))
37941 : : {
37942 : 6 : CASE_CONVERT:
37943 : 6 : {
37944 : 6 : tree _q70 = gimple_assign_rhs1 (_a3);
37945 : 6 : _q70 = do_valueize (valueize, _q70);
37946 : 6 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
37947 : : {
37948 : 0 : {
37949 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
37950 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
37951 : 0 : return true;
37952 : : }
37953 : : }
37954 : 6 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
37955 : : {
37956 : 0 : {
37957 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
37958 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
37959 : 0 : return true;
37960 : : }
37961 : : }
37962 : : break;
37963 : : }
37964 : : default:;
37965 : : }
37966 : : }
37967 : : break;
37968 : : default:;
37969 : : }
37970 : : break;
37971 : : }
37972 : 6063 : case LE_EXPR:
37973 : 6063 : {
37974 : 6063 : tree _q50 = gimple_assign_rhs1 (_a2);
37975 : 6063 : _q50 = do_valueize (valueize, _q50);
37976 : 6063 : tree _q51 = gimple_assign_rhs2 (_a2);
37977 : 6063 : _q51 = do_valueize (valueize, _q51);
37978 : 6063 : switch (TREE_CODE (_q50))
37979 : : {
37980 : 6056 : case SSA_NAME:
37981 : 6056 : if (gimple *_d3 = get_def (valueize, _q50))
37982 : : {
37983 : 5859 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
37984 : 5577 : switch (gimple_assign_rhs_code (_a3))
37985 : : {
37986 : 126 : CASE_CONVERT:
37987 : 126 : {
37988 : 126 : tree _q60 = gimple_assign_rhs1 (_a3);
37989 : 126 : _q60 = do_valueize (valueize, _q60);
37990 : 126 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
37991 : : {
37992 : 3 : {
37993 : 3 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
37994 : 3 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
37995 : 3 : return true;
37996 : : }
37997 : : }
37998 : 123 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
37999 : : {
38000 : 0 : {
38001 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
38002 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
38003 : 0 : return true;
38004 : : }
38005 : : }
38006 : : break;
38007 : : }
38008 : : default:;
38009 : : }
38010 : : }
38011 : : break;
38012 : 6060 : default:;
38013 : : }
38014 : 6060 : switch (TREE_CODE (_q51))
38015 : : {
38016 : 457 : case SSA_NAME:
38017 : 457 : if (gimple *_d3 = get_def (valueize, _q51))
38018 : : {
38019 : 368 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
38020 : 269 : switch (gimple_assign_rhs_code (_a3))
38021 : : {
38022 : 66 : CASE_CONVERT:
38023 : 66 : {
38024 : 66 : tree _q70 = gimple_assign_rhs1 (_a3);
38025 : 66 : _q70 = do_valueize (valueize, _q70);
38026 : 66 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
38027 : : {
38028 : 0 : {
38029 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
38030 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
38031 : 0 : return true;
38032 : : }
38033 : : }
38034 : 66 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
38035 : : {
38036 : 0 : {
38037 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
38038 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
38039 : 0 : return true;
38040 : : }
38041 : : }
38042 : : break;
38043 : : }
38044 : : default:;
38045 : : }
38046 : : }
38047 : : break;
38048 : : default:;
38049 : : }
38050 : : break;
38051 : : }
38052 : 676 : case GE_EXPR:
38053 : 676 : {
38054 : 676 : tree _q50 = gimple_assign_rhs1 (_a2);
38055 : 676 : _q50 = do_valueize (valueize, _q50);
38056 : 676 : tree _q51 = gimple_assign_rhs2 (_a2);
38057 : 676 : _q51 = do_valueize (valueize, _q51);
38058 : 676 : switch (TREE_CODE (_q50))
38059 : : {
38060 : 676 : case SSA_NAME:
38061 : 676 : if (gimple *_d3 = get_def (valueize, _q50))
38062 : : {
38063 : 604 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
38064 : 825 : switch (gimple_assign_rhs_code (_a3))
38065 : : {
38066 : 2 : CASE_CONVERT:
38067 : 2 : {
38068 : 2 : tree _q60 = gimple_assign_rhs1 (_a3);
38069 : 2 : _q60 = do_valueize (valueize, _q60);
38070 : 2 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
38071 : : {
38072 : 0 : {
38073 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
38074 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
38075 : 0 : return true;
38076 : : }
38077 : : }
38078 : 2 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
38079 : : {
38080 : 0 : {
38081 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
38082 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
38083 : 0 : return true;
38084 : : }
38085 : : }
38086 : : break;
38087 : : }
38088 : : default:;
38089 : : }
38090 : : }
38091 : : break;
38092 : 676 : default:;
38093 : : }
38094 : 676 : switch (TREE_CODE (_q51))
38095 : : {
38096 : 452 : case SSA_NAME:
38097 : 452 : if (gimple *_d3 = get_def (valueize, _q51))
38098 : : {
38099 : 426 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
38100 : 489 : switch (gimple_assign_rhs_code (_a3))
38101 : : {
38102 : 24 : CASE_CONVERT:
38103 : 24 : {
38104 : 24 : tree _q70 = gimple_assign_rhs1 (_a3);
38105 : 24 : _q70 = do_valueize (valueize, _q70);
38106 : 24 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
38107 : : {
38108 : 0 : {
38109 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
38110 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
38111 : 0 : return true;
38112 : : }
38113 : : }
38114 : 24 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
38115 : : {
38116 : 0 : {
38117 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
38118 : 0 : if (gimple_simplify_171 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
38119 : 0 : return true;
38120 : : }
38121 : : }
38122 : : break;
38123 : : }
38124 : : default:;
38125 : : }
38126 : : }
38127 : : break;
38128 : : default:;
38129 : : }
38130 : : break;
38131 : : }
38132 : : default:;
38133 : : }
38134 : : }
38135 : : break;
38136 : 264211 : default:;
38137 : : }
38138 : 264211 : switch (TREE_CODE (_q20))
38139 : : {
38140 : 264211 : case SSA_NAME:
38141 : 264211 : if (gimple *_d2 = get_def (valueize, _q20))
38142 : : {
38143 : 231217 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
38144 : 233343 : switch (gimple_assign_rhs_code (_a2))
38145 : : {
38146 : 15004 : CASE_CONVERT:
38147 : 15004 : {
38148 : 15004 : tree _q30 = gimple_assign_rhs1 (_a2);
38149 : 15004 : _q30 = do_valueize (valueize, _q30);
38150 : 15004 : switch (TREE_CODE (_p1))
38151 : : {
38152 : 15004 : case SSA_NAME:
38153 : 15004 : if (gimple *_d3 = get_def (valueize, _p1))
38154 : : {
38155 : 14996 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
38156 : 14903 : switch (gimple_assign_rhs_code (_a3))
38157 : : {
38158 : 10202 : case EQ_EXPR:
38159 : 10202 : {
38160 : 10202 : tree _q60 = gimple_assign_rhs1 (_a3);
38161 : 10202 : _q60 = do_valueize (valueize, _q60);
38162 : 10202 : tree _q61 = gimple_assign_rhs2 (_a3);
38163 : 10202 : _q61 = do_valueize (valueize, _q61);
38164 : 10202 : if (tree_swap_operands_p (_q60, _q61))
38165 : 22 : std::swap (_q60, _q61);
38166 : 10202 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
38167 : : {
38168 : 32 : {
38169 : 32 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
38170 : 32 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
38171 : 0 : return true;
38172 : : }
38173 : : }
38174 : 10202 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
38175 : : {
38176 : 0 : {
38177 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
38178 : 0 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
38179 : 0 : return true;
38180 : : }
38181 : : }
38182 : 264211 : break;
38183 : : }
38184 : 2477 : case NE_EXPR:
38185 : 2477 : {
38186 : 2477 : tree _q60 = gimple_assign_rhs1 (_a3);
38187 : 2477 : _q60 = do_valueize (valueize, _q60);
38188 : 2477 : tree _q61 = gimple_assign_rhs2 (_a3);
38189 : 2477 : _q61 = do_valueize (valueize, _q61);
38190 : 2477 : if (tree_swap_operands_p (_q60, _q61))
38191 : 4 : std::swap (_q60, _q61);
38192 : 2477 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
38193 : : {
38194 : 0 : {
38195 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
38196 : 0 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
38197 : 0 : return true;
38198 : : }
38199 : : }
38200 : 2477 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
38201 : : {
38202 : 0 : {
38203 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
38204 : 0 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
38205 : 0 : return true;
38206 : : }
38207 : : }
38208 : 264211 : break;
38209 : : }
38210 : : default:;
38211 : : }
38212 : : }
38213 : : break;
38214 : : default:;
38215 : : }
38216 : : break;
38217 : : }
38218 : : default:;
38219 : : }
38220 : : }
38221 : : break;
38222 : 264211 : default:;
38223 : : }
38224 : 264211 : switch (TREE_CODE (_q21))
38225 : : {
38226 : 13349 : case SSA_NAME:
38227 : 13349 : if (gimple *_d2 = get_def (valueize, _q21))
38228 : : {
38229 : 11518 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
38230 : 8860 : switch (gimple_assign_rhs_code (_a2))
38231 : : {
38232 : 1205 : CASE_CONVERT:
38233 : 1205 : {
38234 : 1205 : tree _q40 = gimple_assign_rhs1 (_a2);
38235 : 1205 : _q40 = do_valueize (valueize, _q40);
38236 : 1205 : switch (TREE_CODE (_p1))
38237 : : {
38238 : 1205 : case SSA_NAME:
38239 : 1205 : if (gimple *_d3 = get_def (valueize, _p1))
38240 : : {
38241 : 1205 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
38242 : 1205 : switch (gimple_assign_rhs_code (_a3))
38243 : : {
38244 : 149 : case EQ_EXPR:
38245 : 149 : {
38246 : 149 : tree _q60 = gimple_assign_rhs1 (_a3);
38247 : 149 : _q60 = do_valueize (valueize, _q60);
38248 : 149 : tree _q61 = gimple_assign_rhs2 (_a3);
38249 : 149 : _q61 = do_valueize (valueize, _q61);
38250 : 149 : if (tree_swap_operands_p (_q60, _q61))
38251 : 8 : std::swap (_q60, _q61);
38252 : 149 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
38253 : : {
38254 : 0 : {
38255 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
38256 : 0 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
38257 : 0 : return true;
38258 : : }
38259 : : }
38260 : 149 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
38261 : : {
38262 : 0 : {
38263 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
38264 : 0 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
38265 : 0 : return true;
38266 : : }
38267 : : }
38268 : 264211 : break;
38269 : : }
38270 : 1047 : case NE_EXPR:
38271 : 1047 : {
38272 : 1047 : tree _q60 = gimple_assign_rhs1 (_a3);
38273 : 1047 : _q60 = do_valueize (valueize, _q60);
38274 : 1047 : tree _q61 = gimple_assign_rhs2 (_a3);
38275 : 1047 : _q61 = do_valueize (valueize, _q61);
38276 : 1047 : if (tree_swap_operands_p (_q60, _q61))
38277 : 0 : std::swap (_q60, _q61);
38278 : 1047 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
38279 : : {
38280 : 0 : {
38281 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
38282 : 0 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
38283 : 0 : return true;
38284 : : }
38285 : : }
38286 : 1047 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
38287 : : {
38288 : 0 : {
38289 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
38290 : 0 : if (gimple_simplify_162 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
38291 : 0 : return true;
38292 : : }
38293 : : }
38294 : 264211 : break;
38295 : : }
38296 : : default:;
38297 : : }
38298 : : }
38299 : : break;
38300 : : default:;
38301 : : }
38302 : : break;
38303 : : }
38304 : : default:;
38305 : : }
38306 : : }
38307 : : break;
38308 : 264211 : default:;
38309 : : }
38310 : 264211 : switch (TREE_CODE (_p1))
38311 : : {
38312 : 264209 : case SSA_NAME:
38313 : 264209 : if (gimple *_d2 = get_def (valueize, _p1))
38314 : : {
38315 : 263551 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
38316 : 260012 : switch (gimple_assign_rhs_code (_a2))
38317 : : {
38318 : 159098 : case EQ_EXPR:
38319 : 159098 : {
38320 : 159098 : tree _q50 = gimple_assign_rhs1 (_a2);
38321 : 159098 : _q50 = do_valueize (valueize, _q50);
38322 : 159098 : tree _q51 = gimple_assign_rhs2 (_a2);
38323 : 159098 : _q51 = do_valueize (valueize, _q51);
38324 : 159098 : if (tree_swap_operands_p (_q50, _q51))
38325 : 134 : std::swap (_q50, _q51);
38326 : 159098 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
38327 : : {
38328 : 82886 : {
38329 : 82886 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
38330 : 82886 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
38331 : 1447 : return true;
38332 : : }
38333 : 81439 : {
38334 : 81439 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
38335 : 81439 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
38336 : 0 : return true;
38337 : : }
38338 : : }
38339 : 157651 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
38340 : : {
38341 : 1549 : {
38342 : 1549 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
38343 : 1549 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
38344 : 0 : return true;
38345 : : }
38346 : : }
38347 : 157651 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
38348 : : {
38349 : 2049 : {
38350 : 2049 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
38351 : 2049 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
38352 : 0 : return true;
38353 : : }
38354 : 2049 : {
38355 : 2049 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
38356 : 2049 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
38357 : 0 : return true;
38358 : : }
38359 : : }
38360 : 157651 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
38361 : : {
38362 : 40258 : {
38363 : 40258 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
38364 : 40258 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
38365 : 0 : return true;
38366 : : }
38367 : 40258 : {
38368 : 40258 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
38369 : 40258 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
38370 : 0 : return true;
38371 : : }
38372 : : }
38373 : 157651 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
38374 : : {
38375 : 1549 : {
38376 : 1549 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
38377 : 1549 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, EQ_EXPR, EQ_EXPR))
38378 : 0 : return true;
38379 : : }
38380 : : }
38381 : 262631 : break;
38382 : : }
38383 : 26417 : case NE_EXPR:
38384 : 26417 : {
38385 : 26417 : tree _q50 = gimple_assign_rhs1 (_a2);
38386 : 26417 : _q50 = do_valueize (valueize, _q50);
38387 : 26417 : tree _q51 = gimple_assign_rhs2 (_a2);
38388 : 26417 : _q51 = do_valueize (valueize, _q51);
38389 : 26417 : if (tree_swap_operands_p (_q50, _q51))
38390 : 164 : std::swap (_q50, _q51);
38391 : 26417 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
38392 : : {
38393 : 7008 : {
38394 : 7008 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
38395 : 7008 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
38396 : 52 : return true;
38397 : : }
38398 : 6956 : {
38399 : 6956 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
38400 : 6956 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
38401 : 0 : return true;
38402 : : }
38403 : : }
38404 : 26365 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
38405 : : {
38406 : 291 : {
38407 : 291 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
38408 : 291 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
38409 : 0 : return true;
38410 : : }
38411 : : }
38412 : 26365 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
38413 : : {
38414 : 34 : {
38415 : 34 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
38416 : 34 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
38417 : 0 : return true;
38418 : : }
38419 : 34 : {
38420 : 34 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
38421 : 34 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
38422 : 0 : return true;
38423 : : }
38424 : : }
38425 : 26365 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
38426 : : {
38427 : 861 : {
38428 : 861 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
38429 : 861 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, NE_EXPR, EQ_EXPR))
38430 : 0 : return true;
38431 : : }
38432 : 861 : {
38433 : 861 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
38434 : 861 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
38435 : 0 : return true;
38436 : : }
38437 : : }
38438 : 26365 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
38439 : : {
38440 : 291 : {
38441 : 291 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
38442 : 291 : if (gimple_simplify_163 (res_op, seq, valueize, type, captures, EQ_EXPR, NE_EXPR))
38443 : 0 : return true;
38444 : : }
38445 : : }
38446 : 262631 : break;
38447 : : }
38448 : 11661 : case LT_EXPR:
38449 : 11661 : {
38450 : 11661 : tree _q50 = gimple_assign_rhs1 (_a2);
38451 : 11661 : _q50 = do_valueize (valueize, _q50);
38452 : 11661 : tree _q51 = gimple_assign_rhs2 (_a2);
38453 : 11661 : _q51 = do_valueize (valueize, _q51);
38454 : 11661 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
38455 : : {
38456 : 9324 : {
38457 : 9324 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
38458 : 9324 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
38459 : 2 : return true;
38460 : : }
38461 : : }
38462 : 11659 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
38463 : : {
38464 : 469 : {
38465 : 469 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
38466 : 469 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR))
38467 : 0 : return true;
38468 : : }
38469 : : }
38470 : 11659 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
38471 : : {
38472 : 8 : {
38473 : 8 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
38474 : 8 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
38475 : 0 : return true;
38476 : : }
38477 : : }
38478 : 11659 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
38479 : : {
38480 : 80 : {
38481 : 80 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
38482 : 80 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR))
38483 : 0 : return true;
38484 : : }
38485 : : }
38486 : : break;
38487 : : }
38488 : 43345 : case GT_EXPR:
38489 : 43345 : {
38490 : 43345 : tree _q50 = gimple_assign_rhs1 (_a2);
38491 : 43345 : _q50 = do_valueize (valueize, _q50);
38492 : 43345 : tree _q51 = gimple_assign_rhs2 (_a2);
38493 : 43345 : _q51 = do_valueize (valueize, _q51);
38494 : 43345 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
38495 : : {
38496 : 3390 : {
38497 : 3390 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
38498 : 3390 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR))
38499 : 42 : return true;
38500 : : }
38501 : : }
38502 : 43303 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
38503 : : {
38504 : 37553 : {
38505 : 37553 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
38506 : 37553 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
38507 : 0 : return true;
38508 : : }
38509 : : }
38510 : 43303 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
38511 : : {
38512 : 2 : {
38513 : 2 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
38514 : 2 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GT_EXPR, EQ_EXPR))
38515 : 0 : return true;
38516 : : }
38517 : : }
38518 : 43303 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
38519 : : {
38520 : 30 : {
38521 : 30 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
38522 : 30 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LT_EXPR, EQ_EXPR))
38523 : 0 : return true;
38524 : : }
38525 : : }
38526 : : break;
38527 : : }
38528 : 6060 : case LE_EXPR:
38529 : 6060 : {
38530 : 6060 : tree _q50 = gimple_assign_rhs1 (_a2);
38531 : 6060 : _q50 = do_valueize (valueize, _q50);
38532 : 6060 : tree _q51 = gimple_assign_rhs2 (_a2);
38533 : 6060 : _q51 = do_valueize (valueize, _q51);
38534 : 6060 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
38535 : : {
38536 : 996 : {
38537 : 996 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
38538 : 996 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
38539 : 33 : return true;
38540 : : }
38541 : : }
38542 : 6027 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
38543 : : {
38544 : 146 : {
38545 : 146 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
38546 : 146 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
38547 : 0 : return true;
38548 : : }
38549 : : }
38550 : 6027 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
38551 : : {
38552 : 73 : {
38553 : 73 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
38554 : 73 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
38555 : 0 : return true;
38556 : : }
38557 : : }
38558 : 6027 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
38559 : : {
38560 : 205 : {
38561 : 205 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
38562 : 205 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
38563 : 0 : return true;
38564 : : }
38565 : : }
38566 : : break;
38567 : : }
38568 : 676 : case GE_EXPR:
38569 : 676 : {
38570 : 676 : tree _q50 = gimple_assign_rhs1 (_a2);
38571 : 676 : _q50 = do_valueize (valueize, _q50);
38572 : 676 : tree _q51 = gimple_assign_rhs2 (_a2);
38573 : 676 : _q51 = do_valueize (valueize, _q51);
38574 : 676 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
38575 : : {
38576 : 226 : {
38577 : 226 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
38578 : 226 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
38579 : 4 : return true;
38580 : : }
38581 : : }
38582 : 672 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
38583 : : {
38584 : 107 : {
38585 : 107 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
38586 : 107 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
38587 : 0 : return true;
38588 : : }
38589 : : }
38590 : 672 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
38591 : : {
38592 : 38 : {
38593 : 38 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
38594 : 38 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, GE_EXPR, EQ_EXPR))
38595 : 0 : return true;
38596 : : }
38597 : : }
38598 : 672 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
38599 : : {
38600 : 42 : {
38601 : 42 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
38602 : 42 : if (gimple_simplify_172 (res_op, seq, valueize, type, captures, LE_EXPR, EQ_EXPR))
38603 : 0 : return true;
38604 : : }
38605 : : }
38606 : : break;
38607 : : }
38608 : : default:;
38609 : : }
38610 : : }
38611 : : break;
38612 : 262631 : default:;
38613 : : }
38614 : 262631 : switch (TREE_CODE (_q20))
38615 : : {
38616 : 262631 : case SSA_NAME:
38617 : 262631 : if (gimple *_d2 = get_def (valueize, _q20))
38618 : : {
38619 : 229646 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
38620 : 233273 : switch (gimple_assign_rhs_code (_a2))
38621 : : {
38622 : 6564 : case BIT_AND_EXPR:
38623 : 6564 : {
38624 : 6564 : tree _q30 = gimple_assign_rhs1 (_a2);
38625 : 6564 : _q30 = do_valueize (valueize, _q30);
38626 : 6564 : tree _q31 = gimple_assign_rhs2 (_a2);
38627 : 6564 : _q31 = do_valueize (valueize, _q31);
38628 : 6564 : if (tree_swap_operands_p (_q30, _q31))
38629 : 48 : std::swap (_q30, _q31);
38630 : 6564 : switch (TREE_CODE (_q30))
38631 : : {
38632 : 6564 : case SSA_NAME:
38633 : 6564 : if (gimple *_d3 = get_def (valueize, _q30))
38634 : : {
38635 : 6377 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
38636 : 7306 : switch (gimple_assign_rhs_code (_a3))
38637 : : {
38638 : 3 : case BIT_XOR_EXPR:
38639 : 3 : {
38640 : 3 : tree _q40 = gimple_assign_rhs1 (_a3);
38641 : 3 : _q40 = do_valueize (valueize, _q40);
38642 : 3 : tree _q41 = gimple_assign_rhs2 (_a3);
38643 : 3 : _q41 = do_valueize (valueize, _q41);
38644 : 3 : if (tree_swap_operands_p (_q40, _q41))
38645 : 0 : std::swap (_q40, _q41);
38646 : 3 : if (tree_expr_nonzero_p (_q31))
38647 : : {
38648 : 3 : switch (TREE_CODE (_p1))
38649 : : {
38650 : 3 : case SSA_NAME:
38651 : 3 : if (gimple *_d4 = get_def (valueize, _p1))
38652 : : {
38653 : 3 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
38654 : 3 : switch (gimple_assign_rhs_code (_a4))
38655 : : {
38656 : 2 : case NE_EXPR:
38657 : 2 : {
38658 : 2 : tree _q90 = gimple_assign_rhs1 (_a4);
38659 : 2 : _q90 = do_valueize (valueize, _q90);
38660 : 2 : tree _q91 = gimple_assign_rhs2 (_a4);
38661 : 2 : _q91 = do_valueize (valueize, _q91);
38662 : 2 : if (tree_swap_operands_p (_q90, _q91))
38663 : 0 : std::swap (_q90, _q91);
38664 : 2 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
38665 : : {
38666 : 2 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
38667 : : {
38668 : 2 : {
38669 : 2 : tree captures[5] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _q21, _p1 };
38670 : 2 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, EQ_EXPR))
38671 : 2 : return true;
38672 : : }
38673 : : }
38674 : : }
38675 : 0 : if ((_q90 == _q41 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q41, 0) && types_match (_q90, _q41)))
38676 : : {
38677 : 0 : if ((_q91 == _q40 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q40, 0) && types_match (_q91, _q40)))
38678 : : {
38679 : 0 : {
38680 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q41, _q40, _q31, _q21, _p1 };
38681 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, EQ_EXPR))
38682 : 0 : return true;
38683 : : }
38684 : : }
38685 : : }
38686 : 6562 : break;
38687 : : }
38688 : : default:;
38689 : : }
38690 : : }
38691 : : break;
38692 : : default:;
38693 : : }
38694 : : }
38695 : 6562 : break;
38696 : : }
38697 : : default:;
38698 : : }
38699 : : }
38700 : : break;
38701 : 6562 : default:;
38702 : : }
38703 : 6562 : if (tree_expr_nonzero_p (_q30))
38704 : : {
38705 : 128 : switch (TREE_CODE (_q31))
38706 : : {
38707 : 76 : case SSA_NAME:
38708 : 76 : if (gimple *_d3 = get_def (valueize, _q31))
38709 : : {
38710 : 76 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
38711 : 0 : switch (gimple_assign_rhs_code (_a3))
38712 : : {
38713 : 0 : case BIT_XOR_EXPR:
38714 : 0 : {
38715 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
38716 : 0 : _q50 = do_valueize (valueize, _q50);
38717 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
38718 : 0 : _q51 = do_valueize (valueize, _q51);
38719 : 0 : if (tree_swap_operands_p (_q50, _q51))
38720 : 0 : std::swap (_q50, _q51);
38721 : 0 : switch (TREE_CODE (_p1))
38722 : : {
38723 : 0 : case SSA_NAME:
38724 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
38725 : : {
38726 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
38727 : 0 : switch (gimple_assign_rhs_code (_a4))
38728 : : {
38729 : 0 : case NE_EXPR:
38730 : 0 : {
38731 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
38732 : 0 : _q90 = do_valueize (valueize, _q90);
38733 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
38734 : 0 : _q91 = do_valueize (valueize, _q91);
38735 : 0 : if (tree_swap_operands_p (_q90, _q91))
38736 : 0 : std::swap (_q90, _q91);
38737 : 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
38738 : : {
38739 : 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
38740 : : {
38741 : 0 : {
38742 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q30, _q21, _p1 };
38743 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, EQ_EXPR))
38744 : 0 : return true;
38745 : : }
38746 : : }
38747 : : }
38748 : 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
38749 : : {
38750 : 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
38751 : : {
38752 : 0 : {
38753 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q30, _q21, _p1 };
38754 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, EQ_EXPR))
38755 : 0 : return true;
38756 : : }
38757 : : }
38758 : : }
38759 : 262629 : break;
38760 : : }
38761 : : default:;
38762 : : }
38763 : : }
38764 : : break;
38765 : : default:;
38766 : : }
38767 : 262629 : break;
38768 : : }
38769 : : default:;
38770 : : }
38771 : : }
38772 : : break;
38773 : : default:;
38774 : : }
38775 : : }
38776 : 262629 : break;
38777 : : }
38778 : : default:;
38779 : : }
38780 : : }
38781 : : break;
38782 : 262629 : default:;
38783 : : }
38784 : 262629 : switch (TREE_CODE (_q21))
38785 : : {
38786 : 13341 : case SSA_NAME:
38787 : 13341 : if (gimple *_d2 = get_def (valueize, _q21))
38788 : : {
38789 : 11510 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
38790 : 8853 : switch (gimple_assign_rhs_code (_a2))
38791 : : {
38792 : 46 : case BIT_AND_EXPR:
38793 : 46 : {
38794 : 46 : tree _q40 = gimple_assign_rhs1 (_a2);
38795 : 46 : _q40 = do_valueize (valueize, _q40);
38796 : 46 : tree _q41 = gimple_assign_rhs2 (_a2);
38797 : 46 : _q41 = do_valueize (valueize, _q41);
38798 : 46 : if (tree_swap_operands_p (_q40, _q41))
38799 : 0 : std::swap (_q40, _q41);
38800 : 46 : switch (TREE_CODE (_q40))
38801 : : {
38802 : 46 : case SSA_NAME:
38803 : 46 : if (gimple *_d3 = get_def (valueize, _q40))
38804 : : {
38805 : 46 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
38806 : 48 : switch (gimple_assign_rhs_code (_a3))
38807 : : {
38808 : 0 : case BIT_XOR_EXPR:
38809 : 0 : {
38810 : 0 : tree _q50 = gimple_assign_rhs1 (_a3);
38811 : 0 : _q50 = do_valueize (valueize, _q50);
38812 : 0 : tree _q51 = gimple_assign_rhs2 (_a3);
38813 : 0 : _q51 = do_valueize (valueize, _q51);
38814 : 0 : if (tree_swap_operands_p (_q50, _q51))
38815 : 0 : std::swap (_q50, _q51);
38816 : 0 : if (tree_expr_nonzero_p (_q41))
38817 : : {
38818 : 0 : switch (TREE_CODE (_p1))
38819 : : {
38820 : 0 : case SSA_NAME:
38821 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
38822 : : {
38823 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
38824 : 0 : switch (gimple_assign_rhs_code (_a4))
38825 : : {
38826 : 0 : case NE_EXPR:
38827 : 0 : {
38828 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
38829 : 0 : _q90 = do_valueize (valueize, _q90);
38830 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
38831 : 0 : _q91 = do_valueize (valueize, _q91);
38832 : 0 : if (tree_swap_operands_p (_q90, _q91))
38833 : 0 : std::swap (_q90, _q91);
38834 : 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
38835 : : {
38836 : 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
38837 : : {
38838 : 0 : {
38839 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q41, _q20, _p1 };
38840 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, EQ_EXPR))
38841 : 0 : return true;
38842 : : }
38843 : : }
38844 : : }
38845 : 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
38846 : : {
38847 : 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
38848 : : {
38849 : 0 : {
38850 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q41, _q20, _p1 };
38851 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, EQ_EXPR))
38852 : 0 : return true;
38853 : : }
38854 : : }
38855 : : }
38856 : 46 : break;
38857 : : }
38858 : : default:;
38859 : : }
38860 : : }
38861 : : break;
38862 : : default:;
38863 : : }
38864 : : }
38865 : 46 : break;
38866 : : }
38867 : : default:;
38868 : : }
38869 : : }
38870 : : break;
38871 : 46 : default:;
38872 : : }
38873 : 46 : if (tree_expr_nonzero_p (_q40))
38874 : : {
38875 : 0 : switch (TREE_CODE (_q41))
38876 : : {
38877 : 0 : case SSA_NAME:
38878 : 0 : if (gimple *_d3 = get_def (valueize, _q41))
38879 : : {
38880 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
38881 : 0 : switch (gimple_assign_rhs_code (_a3))
38882 : : {
38883 : 0 : case BIT_XOR_EXPR:
38884 : 0 : {
38885 : 0 : tree _q60 = gimple_assign_rhs1 (_a3);
38886 : 0 : _q60 = do_valueize (valueize, _q60);
38887 : 0 : tree _q61 = gimple_assign_rhs2 (_a3);
38888 : 0 : _q61 = do_valueize (valueize, _q61);
38889 : 0 : if (tree_swap_operands_p (_q60, _q61))
38890 : 0 : std::swap (_q60, _q61);
38891 : 0 : switch (TREE_CODE (_p1))
38892 : : {
38893 : 0 : case SSA_NAME:
38894 : 0 : if (gimple *_d4 = get_def (valueize, _p1))
38895 : : {
38896 : 0 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
38897 : 0 : switch (gimple_assign_rhs_code (_a4))
38898 : : {
38899 : 0 : case NE_EXPR:
38900 : 0 : {
38901 : 0 : tree _q90 = gimple_assign_rhs1 (_a4);
38902 : 0 : _q90 = do_valueize (valueize, _q90);
38903 : 0 : tree _q91 = gimple_assign_rhs2 (_a4);
38904 : 0 : _q91 = do_valueize (valueize, _q91);
38905 : 0 : if (tree_swap_operands_p (_q90, _q91))
38906 : 0 : std::swap (_q90, _q91);
38907 : 0 : if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
38908 : : {
38909 : 0 : if ((_q91 == _q61 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q61, 0) && types_match (_q91, _q61)))
38910 : : {
38911 : 0 : {
38912 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q60, _q61, _q40, _q20, _p1 };
38913 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, EQ_EXPR))
38914 : 0 : return true;
38915 : : }
38916 : : }
38917 : : }
38918 : 0 : if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
38919 : : {
38920 : 0 : if ((_q91 == _q60 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q60, 0) && types_match (_q91, _q60)))
38921 : : {
38922 : 0 : {
38923 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q61, _q60, _q40, _q20, _p1 };
38924 : 0 : if (gimple_simplify_165 (res_op, seq, valueize, type, captures, EQ_EXPR))
38925 : 0 : return true;
38926 : : }
38927 : : }
38928 : : }
38929 : 262629 : break;
38930 : : }
38931 : : default:;
38932 : : }
38933 : : }
38934 : : break;
38935 : : default:;
38936 : : }
38937 : 262629 : break;
38938 : : }
38939 : : default:;
38940 : : }
38941 : : }
38942 : : break;
38943 : : default:;
38944 : : }
38945 : : }
38946 : 262629 : break;
38947 : : }
38948 : : default:;
38949 : : }
38950 : : }
38951 : : break;
38952 : 262629 : default:;
38953 : : }
38954 : 262629 : switch (TREE_CODE (_q20))
38955 : : {
38956 : 262629 : case SSA_NAME:
38957 : 262629 : if (gimple *_d2 = get_def (valueize, _q20))
38958 : : {
38959 : 229644 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
38960 : 233271 : switch (gimple_assign_rhs_code (_a2))
38961 : : {
38962 : 7 : case BIT_XOR_EXPR:
38963 : 7 : {
38964 : 7 : tree _q30 = gimple_assign_rhs1 (_a2);
38965 : 7 : _q30 = do_valueize (valueize, _q30);
38966 : 7 : tree _q31 = gimple_assign_rhs2 (_a2);
38967 : 7 : _q31 = do_valueize (valueize, _q31);
38968 : 7 : if (tree_swap_operands_p (_q30, _q31))
38969 : 0 : std::swap (_q30, _q31);
38970 : 7 : switch (TREE_CODE (_p1))
38971 : : {
38972 : 7 : case SSA_NAME:
38973 : 7 : if (gimple *_d3 = get_def (valueize, _p1))
38974 : : {
38975 : 7 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
38976 : 7 : switch (gimple_assign_rhs_code (_a3))
38977 : : {
38978 : 7 : case NE_EXPR:
38979 : 7 : {
38980 : 7 : tree _q70 = gimple_assign_rhs1 (_a3);
38981 : 7 : _q70 = do_valueize (valueize, _q70);
38982 : 7 : tree _q71 = gimple_assign_rhs2 (_a3);
38983 : 7 : _q71 = do_valueize (valueize, _q71);
38984 : 7 : if (tree_swap_operands_p (_q70, _q71))
38985 : 0 : std::swap (_q70, _q71);
38986 : 7 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
38987 : : {
38988 : 2 : if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
38989 : : {
38990 : 2 : {
38991 : 2 : tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
38992 : 2 : if (gimple_simplify_166 (res_op, seq, valueize, type, captures, EQ_EXPR))
38993 : 2 : return true;
38994 : : }
38995 : : }
38996 : : }
38997 : 5 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
38998 : : {
38999 : 0 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
39000 : : {
39001 : 0 : {
39002 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q21, _p1 };
39003 : 0 : if (gimple_simplify_166 (res_op, seq, valueize, type, captures, EQ_EXPR))
39004 : 0 : return true;
39005 : : }
39006 : : }
39007 : : }
39008 : 262627 : break;
39009 : : }
39010 : : default:;
39011 : : }
39012 : : }
39013 : : break;
39014 : : default:;
39015 : : }
39016 : 262627 : break;
39017 : : }
39018 : : default:;
39019 : : }
39020 : : }
39021 : : break;
39022 : 262627 : default:;
39023 : : }
39024 : 262627 : switch (TREE_CODE (_q21))
39025 : : {
39026 : 13341 : case SSA_NAME:
39027 : 13341 : if (gimple *_d2 = get_def (valueize, _q21))
39028 : : {
39029 : 11510 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
39030 : 8853 : switch (gimple_assign_rhs_code (_a2))
39031 : : {
39032 : 0 : case BIT_XOR_EXPR:
39033 : 0 : {
39034 : 0 : tree _q40 = gimple_assign_rhs1 (_a2);
39035 : 0 : _q40 = do_valueize (valueize, _q40);
39036 : 0 : tree _q41 = gimple_assign_rhs2 (_a2);
39037 : 0 : _q41 = do_valueize (valueize, _q41);
39038 : 0 : if (tree_swap_operands_p (_q40, _q41))
39039 : 0 : std::swap (_q40, _q41);
39040 : 0 : switch (TREE_CODE (_p1))
39041 : : {
39042 : 0 : case SSA_NAME:
39043 : 0 : if (gimple *_d3 = get_def (valueize, _p1))
39044 : : {
39045 : 0 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
39046 : 0 : switch (gimple_assign_rhs_code (_a3))
39047 : : {
39048 : 0 : case NE_EXPR:
39049 : 0 : {
39050 : 0 : tree _q70 = gimple_assign_rhs1 (_a3);
39051 : 0 : _q70 = do_valueize (valueize, _q70);
39052 : 0 : tree _q71 = gimple_assign_rhs2 (_a3);
39053 : 0 : _q71 = do_valueize (valueize, _q71);
39054 : 0 : if (tree_swap_operands_p (_q70, _q71))
39055 : 0 : std::swap (_q70, _q71);
39056 : 0 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
39057 : : {
39058 : 0 : if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
39059 : : {
39060 : 0 : {
39061 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q20, _p1 };
39062 : 0 : if (gimple_simplify_166 (res_op, seq, valueize, type, captures, EQ_EXPR))
39063 : 0 : return true;
39064 : : }
39065 : : }
39066 : : }
39067 : 0 : if ((_q70 == _q41 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q41, 0) && types_match (_q70, _q41)))
39068 : : {
39069 : 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
39070 : : {
39071 : 0 : {
39072 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q41, _q40, _q20, _p1 };
39073 : 0 : if (gimple_simplify_166 (res_op, seq, valueize, type, captures, EQ_EXPR))
39074 : 0 : return true;
39075 : : }
39076 : : }
39077 : : }
39078 : 4236567 : break;
39079 : : }
39080 : : default:;
39081 : : }
39082 : : }
39083 : : break;
39084 : : default:;
39085 : : }
39086 : 4236567 : break;
39087 : : }
39088 : : default:;
39089 : : }
39090 : : }
39091 : : break;
39092 : : default:;
39093 : : }
39094 : 4236567 : break;
39095 : : }
39096 : 8678 : case MULT_EXPR:
39097 : 8678 : {
39098 : 8678 : tree _q20 = gimple_assign_rhs1 (_a1);
39099 : 8678 : _q20 = do_valueize (valueize, _q20);
39100 : 8678 : tree _q21 = gimple_assign_rhs2 (_a1);
39101 : 8678 : _q21 = do_valueize (valueize, _q21);
39102 : 8678 : if (tree_swap_operands_p (_q20, _q21))
39103 : 55 : std::swap (_q20, _q21);
39104 : 8678 : switch (TREE_CODE (_q21))
39105 : : {
39106 : 7089 : case INTEGER_CST:
39107 : 7089 : {
39108 : 7089 : switch (TREE_CODE (_p1))
39109 : : {
39110 : 6078 : case SSA_NAME:
39111 : 6078 : if (gimple *_d2 = get_def (valueize, _p1))
39112 : : {
39113 : 5726 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
39114 : 3875 : switch (gimple_assign_rhs_code (_a2))
39115 : : {
39116 : 122 : case MULT_EXPR:
39117 : 122 : {
39118 : 122 : tree _q50 = gimple_assign_rhs1 (_a2);
39119 : 122 : _q50 = do_valueize (valueize, _q50);
39120 : 122 : tree _q51 = gimple_assign_rhs2 (_a2);
39121 : 122 : _q51 = do_valueize (valueize, _q51);
39122 : 122 : if (tree_swap_operands_p (_q50, _q51))
39123 : 0 : std::swap (_q50, _q51);
39124 : 122 : switch (TREE_CODE (_q51))
39125 : : {
39126 : 114 : case INTEGER_CST:
39127 : 114 : {
39128 : 114 : {
39129 : 114 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _p1, _q50, _q51 };
39130 : 114 : if (gimple_simplify_43 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
39131 : 5 : return true;
39132 : : }
39133 : 109 : break;
39134 : : }
39135 : : default:;
39136 : : }
39137 : 7084 : break;
39138 : : }
39139 : 106 : case LSHIFT_EXPR:
39140 : 106 : {
39141 : 106 : tree _q50 = gimple_assign_rhs1 (_a2);
39142 : 106 : _q50 = do_valueize (valueize, _q50);
39143 : 106 : tree _q51 = gimple_assign_rhs2 (_a2);
39144 : 106 : _q51 = do_valueize (valueize, _q51);
39145 : 106 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
39146 : : {
39147 : 0 : switch (TREE_CODE (_q51))
39148 : : {
39149 : 0 : case INTEGER_CST:
39150 : 0 : {
39151 : 0 : {
39152 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _q51 };
39153 : 0 : if (gimple_simplify_44 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
39154 : 0 : return true;
39155 : : }
39156 : 0 : break;
39157 : : }
39158 : : default:;
39159 : : }
39160 : : }
39161 : : break;
39162 : : }
39163 : : default:;
39164 : : }
39165 : : }
39166 : : break;
39167 : 7084 : default:;
39168 : : }
39169 : 7084 : if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
39170 : : {
39171 : 0 : {
39172 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
39173 : 0 : if (gimple_simplify_45 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
39174 : 0 : return true;
39175 : : }
39176 : : }
39177 : : break;
39178 : : }
39179 : : default:;
39180 : : }
39181 : 4236567 : break;
39182 : : }
39183 : 154181 : case LSHIFT_EXPR:
39184 : 154181 : {
39185 : 154181 : tree _q20 = gimple_assign_rhs1 (_a1);
39186 : 154181 : _q20 = do_valueize (valueize, _q20);
39187 : 154181 : tree _q21 = gimple_assign_rhs2 (_a1);
39188 : 154181 : _q21 = do_valueize (valueize, _q21);
39189 : 154181 : switch (TREE_CODE (_q21))
39190 : : {
39191 : 102412 : case INTEGER_CST:
39192 : 102412 : {
39193 : 102412 : switch (TREE_CODE (_p1))
39194 : : {
39195 : 80098 : case SSA_NAME:
39196 : 80098 : if (gimple *_d2 = get_def (valueize, _p1))
39197 : : {
39198 : 78337 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
39199 : 76818 : switch (gimple_assign_rhs_code (_a2))
39200 : : {
39201 : 161 : case MULT_EXPR:
39202 : 161 : {
39203 : 161 : tree _q50 = gimple_assign_rhs1 (_a2);
39204 : 161 : _q50 = do_valueize (valueize, _q50);
39205 : 161 : tree _q51 = gimple_assign_rhs2 (_a2);
39206 : 161 : _q51 = do_valueize (valueize, _q51);
39207 : 161 : if (tree_swap_operands_p (_q50, _q51))
39208 : 0 : std::swap (_q50, _q51);
39209 : 161 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
39210 : : {
39211 : 0 : switch (TREE_CODE (_q51))
39212 : : {
39213 : 0 : case INTEGER_CST:
39214 : 0 : {
39215 : 0 : {
39216 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _p1, _q20, _q51, _p0, _q21 };
39217 : 0 : if (gimple_simplify_44 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
39218 : 0 : return true;
39219 : : }
39220 : 0 : break;
39221 : : }
39222 : : default:;
39223 : : }
39224 : : }
39225 : 102412 : break;
39226 : : }
39227 : : default:;
39228 : : }
39229 : : }
39230 : : break;
39231 : 102412 : default:;
39232 : : }
39233 : 102412 : {
39234 : 102412 : tree _p1_pops[1];
39235 : 102412 : if (gimple_nop_convert (_p1, _p1_pops, valueize))
39236 : : {
39237 : 756 : tree _q50 = _p1_pops[0];
39238 : 756 : switch (TREE_CODE (_q50))
39239 : : {
39240 : 756 : case SSA_NAME:
39241 : 756 : if (gimple *_d2 = get_def (valueize, _q50))
39242 : : {
39243 : 726 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
39244 : 715 : switch (gimple_assign_rhs_code (_a2))
39245 : : {
39246 : 0 : case MULT_EXPR:
39247 : 0 : {
39248 : 0 : tree _q60 = gimple_assign_rhs1 (_a2);
39249 : 0 : _q60 = do_valueize (valueize, _q60);
39250 : 0 : tree _q61 = gimple_assign_rhs2 (_a2);
39251 : 0 : _q61 = do_valueize (valueize, _q61);
39252 : 0 : if (tree_swap_operands_p (_q60, _q61))
39253 : 0 : std::swap (_q60, _q61);
39254 : 0 : {
39255 : 0 : tree _q60_pops[1];
39256 : 0 : if (gimple_nop_convert (_q60, _q60_pops, valueize))
39257 : : {
39258 : 0 : tree _q70 = _q60_pops[0];
39259 : 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
39260 : : {
39261 : 0 : switch (TREE_CODE (_q61))
39262 : : {
39263 : 0 : case INTEGER_CST:
39264 : 0 : {
39265 : 0 : {
39266 : 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q50, _q20, _q61, _p0, _q21 };
39267 : 0 : if (gimple_simplify_40 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
39268 : 0 : return true;
39269 : : }
39270 : 0 : break;
39271 : : }
39272 : : default:;
39273 : : }
39274 : : }
39275 : : }
39276 : : }
39277 : 0 : break;
39278 : : }
39279 : : default:;
39280 : : }
39281 : : }
39282 : : break;
39283 : : default:;
39284 : : }
39285 : : }
39286 : : }
39287 : 102412 : break;
39288 : : }
39289 : : default:;
39290 : : }
39291 : : break;
39292 : : }
39293 : : default:;
39294 : : }
39295 : : }
39296 : : break;
39297 : 4236567 : default:;
39298 : : }
39299 : 4236567 : {
39300 : 4236567 : tree _p0_pops[1];
39301 : 4236567 : if (gimple_logical_inverted_value (_p0, _p0_pops, valueize))
39302 : : {
39303 : 132337 : tree _q20 = _p0_pops[0];
39304 : 132337 : if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
39305 : : {
39306 : 0 : if (gimple_truth_valued_p (_p1, valueize))
39307 : : {
39308 : 0 : {
39309 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
39310 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
39311 : 0 : return true;
39312 : : }
39313 : : }
39314 : : }
39315 : : }
39316 : : }
39317 : 4236567 : if (gimple_truth_valued_p (_p0, valueize))
39318 : : {
39319 : 1824571 : {
39320 : 1824571 : tree _p1_pops[1];
39321 : 1824571 : if (gimple_logical_inverted_value (_p1, _p1_pops, valueize))
39322 : : {
39323 : 95248 : tree _q30 = _p1_pops[0];
39324 : 95248 : if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
39325 : : {
39326 : 0 : {
39327 : 0 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
39328 : 0 : if (gimple_simplify_35 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
39329 : 0 : return true;
39330 : : }
39331 : : }
39332 : : }
39333 : : }
39334 : : }
39335 : 4236567 : switch (TREE_CODE (_p1))
39336 : : {
39337 : 3339624 : case SSA_NAME:
39338 : 3339624 : if (gimple *_d1 = get_def (valueize, _p1))
39339 : : {
39340 : 2723116 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
39341 : 2634051 : switch (gimple_assign_rhs_code (_a1))
39342 : : {
39343 : 15125 : case MULT_EXPR:
39344 : 15125 : {
39345 : 15125 : tree _q30 = gimple_assign_rhs1 (_a1);
39346 : 15125 : _q30 = do_valueize (valueize, _q30);
39347 : 15125 : tree _q31 = gimple_assign_rhs2 (_a1);
39348 : 15125 : _q31 = do_valueize (valueize, _q31);
39349 : 15125 : if (tree_swap_operands_p (_q30, _q31))
39350 : 421 : std::swap (_q30, _q31);
39351 : 15125 : if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
39352 : : {
39353 : 93 : switch (TREE_CODE (_q31))
39354 : : {
39355 : 87 : case INTEGER_CST:
39356 : 87 : {
39357 : 87 : {
39358 : 87 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _p0, _q31 };
39359 : 87 : if (gimple_simplify_45 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
39360 : 0 : return true;
39361 : : }
39362 : 87 : break;
39363 : : }
39364 : : default:;
39365 : : }
39366 : : }
39367 : 4236567 : break;
39368 : : }
39369 : : default:;
39370 : : }
39371 : : }
39372 : : break;
39373 : 4236567 : default:;
39374 : : }
39375 : 4236567 : {
39376 : 4236567 : tree _p1_pops[1];
39377 : 4236567 : if (gimple_nop_convert (_p1, _p1_pops, valueize))
39378 : : {
39379 : 41615 : tree _q30 = _p1_pops[0];
39380 : 41615 : switch (TREE_CODE (_q30))
39381 : : {
39382 : 41535 : case SSA_NAME:
39383 : 41535 : if (gimple *_d1 = get_def (valueize, _q30))
39384 : : {
39385 : 40542 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
39386 : 32749 : switch (gimple_assign_rhs_code (_a1))
39387 : : {
39388 : 87 : case MULT_EXPR:
39389 : 87 : {
39390 : 87 : tree _q40 = gimple_assign_rhs1 (_a1);
39391 : 87 : _q40 = do_valueize (valueize, _q40);
39392 : 87 : tree _q41 = gimple_assign_rhs2 (_a1);
39393 : 87 : _q41 = do_valueize (valueize, _q41);
39394 : 87 : if (tree_swap_operands_p (_q40, _q41))
39395 : 1 : std::swap (_q40, _q41);
39396 : 87 : {
39397 : 87 : tree _q40_pops[1];
39398 : 87 : if (gimple_nop_convert (_q40, _q40_pops, valueize))
39399 : : {
39400 : 46 : tree _q50 = _q40_pops[0];
39401 : 46 : if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
39402 : : {
39403 : 1 : switch (TREE_CODE (_q41))
39404 : : {
39405 : 1 : case INTEGER_CST:
39406 : 1 : {
39407 : 1 : {
39408 : 1 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41 };
39409 : 1 : if (gimple_simplify_41 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
39410 : 1 : return true;
39411 : : }
39412 : 0 : break;
39413 : : }
39414 : : default:;
39415 : : }
39416 : : }
39417 : : }
39418 : : }
39419 : 86 : break;
39420 : : }
39421 : : default:;
39422 : : }
39423 : : }
39424 : : break;
39425 : : default:;
39426 : : }
39427 : : }
39428 : : }
39429 : 4236566 : switch (TREE_CODE (_p0))
39430 : : {
39431 : 4179347 : case SSA_NAME:
39432 : 4179347 : if (gimple *_d1 = get_def (valueize, _p0))
39433 : : {
39434 : 3322310 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
39435 : 3529507 : switch (gimple_assign_rhs_code (_a1))
39436 : : {
39437 : 154181 : case LSHIFT_EXPR:
39438 : 154181 : {
39439 : 154181 : tree _q20 = gimple_assign_rhs1 (_a1);
39440 : 154181 : _q20 = do_valueize (valueize, _q20);
39441 : 154181 : tree _q21 = gimple_assign_rhs2 (_a1);
39442 : 154181 : _q21 = do_valueize (valueize, _q21);
39443 : 154181 : switch (TREE_CODE (_q21))
39444 : : {
39445 : 102412 : case INTEGER_CST:
39446 : 102412 : {
39447 : 102412 : switch (TREE_CODE (_p1))
39448 : : {
39449 : 80098 : case SSA_NAME:
39450 : 80098 : if (gimple *_d2 = get_def (valueize, _p1))
39451 : : {
39452 : 78337 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
39453 : 76818 : switch (gimple_assign_rhs_code (_a2))
39454 : : {
39455 : 8245 : case LSHIFT_EXPR:
39456 : 8245 : {
39457 : 8245 : tree _q50 = gimple_assign_rhs1 (_a2);
39458 : 8245 : _q50 = do_valueize (valueize, _q50);
39459 : 8245 : tree _q51 = gimple_assign_rhs2 (_a2);
39460 : 8245 : _q51 = do_valueize (valueize, _q51);
39461 : 8245 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
39462 : : {
39463 : 15 : switch (TREE_CODE (_q51))
39464 : : {
39465 : 15 : case INTEGER_CST:
39466 : 15 : {
39467 : 15 : {
39468 : 15 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
39469 : 15 : if (gimple_simplify_47 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
39470 : 13 : return true;
39471 : : }
39472 : 2 : break;
39473 : : }
39474 : : default:;
39475 : : }
39476 : : }
39477 : : break;
39478 : : }
39479 : : default:;
39480 : : }
39481 : : }
39482 : : break;
39483 : 102399 : default:;
39484 : : }
39485 : 102399 : if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
39486 : : {
39487 : 518 : {
39488 : 518 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
39489 : 518 : if (gimple_simplify_48 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
39490 : 182 : return true;
39491 : : }
39492 : : }
39493 : : break;
39494 : : }
39495 : : default:;
39496 : : }
39497 : : break;
39498 : : }
39499 : : default:;
39500 : : }
39501 : : }
39502 : : break;
39503 : 4236371 : default:;
39504 : : }
39505 : 4236371 : switch (TREE_CODE (_p1))
39506 : : {
39507 : 3339428 : case SSA_NAME:
39508 : 3339428 : if (gimple *_d1 = get_def (valueize, _p1))
39509 : : {
39510 : 2722922 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
39511 : 2633857 : switch (gimple_assign_rhs_code (_a1))
39512 : : {
39513 : 123751 : case LSHIFT_EXPR:
39514 : 123751 : {
39515 : 123751 : tree _q30 = gimple_assign_rhs1 (_a1);
39516 : 123751 : _q30 = do_valueize (valueize, _q30);
39517 : 123751 : tree _q31 = gimple_assign_rhs2 (_a1);
39518 : 123751 : _q31 = do_valueize (valueize, _q31);
39519 : 123751 : if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
39520 : : {
39521 : 563 : switch (TREE_CODE (_q31))
39522 : : {
39523 : 519 : case INTEGER_CST:
39524 : 519 : {
39525 : 519 : {
39526 : 519 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
39527 : 519 : if (gimple_simplify_48 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR))
39528 : 8 : return true;
39529 : : }
39530 : 511 : break;
39531 : : }
39532 : : default:;
39533 : : }
39534 : : }
39535 : : break;
39536 : : }
39537 : : default:;
39538 : : }
39539 : : }
39540 : : break;
39541 : 4236363 : default:;
39542 : : }
39543 : 4236363 : switch (TREE_CODE (_p0))
39544 : : {
39545 : 4179144 : case SSA_NAME:
39546 : 4179144 : if (gimple *_d1 = get_def (valueize, _p0))
39547 : : {
39548 : 3322113 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
39549 : 3529310 : switch (gimple_assign_rhs_code (_a1))
39550 : : {
39551 : 142 : case MIN_EXPR:
39552 : 142 : {
39553 : 142 : tree _q20 = gimple_assign_rhs1 (_a1);
39554 : 142 : _q20 = do_valueize (valueize, _q20);
39555 : 142 : tree _q21 = gimple_assign_rhs2 (_a1);
39556 : 142 : _q21 = do_valueize (valueize, _q21);
39557 : 142 : if (tree_swap_operands_p (_q20, _q21))
39558 : 10 : std::swap (_q20, _q21);
39559 : 142 : switch (TREE_CODE (_p1))
39560 : : {
39561 : 48 : case SSA_NAME:
39562 : 48 : if (gimple *_d2 = get_def (valueize, _p1))
39563 : : {
39564 : 48 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
39565 : 56 : switch (gimple_assign_rhs_code (_a2))
39566 : : {
39567 : 2 : case MAX_EXPR:
39568 : 2 : {
39569 : 2 : tree _q50 = gimple_assign_rhs1 (_a2);
39570 : 2 : _q50 = do_valueize (valueize, _q50);
39571 : 2 : tree _q51 = gimple_assign_rhs2 (_a2);
39572 : 2 : _q51 = do_valueize (valueize, _q51);
39573 : 2 : if (tree_swap_operands_p (_q50, _q51))
39574 : 0 : std::swap (_q50, _q51);
39575 : 2 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
39576 : : {
39577 : 2 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
39578 : : {
39579 : 2 : {
39580 : 2 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
39581 : 2 : if (!HONOR_NANS (captures[0])
39582 : : )
39583 : : {
39584 : 2 : gimple_seq *lseq = seq;
39585 : 2 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2219;
39586 : 2 : {
39587 : 2 : res_op->set_op (BIT_IOR_EXPR, type, 2);
39588 : 2 : res_op->ops[0] = captures[0];
39589 : 2 : res_op->ops[1] = captures[1];
39590 : 2 : res_op->resimplify (lseq, valueize);
39591 : 2 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1059, __FILE__, __LINE__, true);
39592 : 2 : return true;
39593 : : }
39594 : 0 : next_after_fail2219:;
39595 : : }
39596 : : }
39597 : : }
39598 : : }
39599 : 0 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
39600 : : {
39601 : 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
39602 : : {
39603 : 0 : {
39604 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
39605 : 0 : if (!HONOR_NANS (captures[0])
39606 : : )
39607 : : {
39608 : 0 : gimple_seq *lseq = seq;
39609 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2220;
39610 : 0 : {
39611 : 0 : res_op->set_op (BIT_IOR_EXPR, type, 2);
39612 : 0 : res_op->ops[0] = captures[0];
39613 : 0 : res_op->ops[1] = captures[1];
39614 : 0 : res_op->resimplify (lseq, valueize);
39615 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1059, __FILE__, __LINE__, true);
39616 : 0 : return true;
39617 : : }
39618 : 0 : next_after_fail2220:;
39619 : : }
39620 : : }
39621 : : }
39622 : : }
39623 : 4234958 : break;
39624 : : }
39625 : : default:;
39626 : : }
39627 : : }
39628 : : break;
39629 : : default:;
39630 : : }
39631 : 4234958 : break;
39632 : : }
39633 : 28 : case MAX_EXPR:
39634 : 28 : {
39635 : 28 : tree _q20 = gimple_assign_rhs1 (_a1);
39636 : 28 : _q20 = do_valueize (valueize, _q20);
39637 : 28 : tree _q21 = gimple_assign_rhs2 (_a1);
39638 : 28 : _q21 = do_valueize (valueize, _q21);
39639 : 28 : if (tree_swap_operands_p (_q20, _q21))
39640 : 0 : std::swap (_q20, _q21);
39641 : 28 : switch (TREE_CODE (_p1))
39642 : : {
39643 : 28 : case SSA_NAME:
39644 : 28 : if (gimple *_d2 = get_def (valueize, _p1))
39645 : : {
39646 : 28 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
39647 : 40 : switch (gimple_assign_rhs_code (_a2))
39648 : : {
39649 : 0 : case MIN_EXPR:
39650 : 0 : {
39651 : 0 : tree _q50 = gimple_assign_rhs1 (_a2);
39652 : 0 : _q50 = do_valueize (valueize, _q50);
39653 : 0 : tree _q51 = gimple_assign_rhs2 (_a2);
39654 : 0 : _q51 = do_valueize (valueize, _q51);
39655 : 0 : if (tree_swap_operands_p (_q50, _q51))
39656 : 0 : std::swap (_q50, _q51);
39657 : 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
39658 : : {
39659 : 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
39660 : : {
39661 : 0 : {
39662 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
39663 : 0 : if (!HONOR_NANS (captures[0])
39664 : : )
39665 : : {
39666 : 0 : gimple_seq *lseq = seq;
39667 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2221;
39668 : 0 : {
39669 : 0 : res_op->set_op (BIT_IOR_EXPR, type, 2);
39670 : 0 : res_op->ops[0] = captures[0];
39671 : 0 : res_op->ops[1] = captures[1];
39672 : 0 : res_op->resimplify (lseq, valueize);
39673 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1059, __FILE__, __LINE__, true);
39674 : 0 : return true;
39675 : : }
39676 : 0 : next_after_fail2221:;
39677 : : }
39678 : : }
39679 : : }
39680 : : }
39681 : 0 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
39682 : : {
39683 : 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
39684 : : {
39685 : 0 : {
39686 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
39687 : 0 : if (!HONOR_NANS (captures[0])
39688 : : )
39689 : : {
39690 : 0 : gimple_seq *lseq = seq;
39691 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2222;
39692 : 0 : {
39693 : 0 : res_op->set_op (BIT_IOR_EXPR, type, 2);
39694 : 0 : res_op->ops[0] = captures[0];
39695 : 0 : res_op->ops[1] = captures[1];
39696 : 0 : res_op->resimplify (lseq, valueize);
39697 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1059, __FILE__, __LINE__, true);
39698 : 0 : return true;
39699 : : }
39700 : 0 : next_after_fail2222:;
39701 : : }
39702 : : }
39703 : : }
39704 : : }
39705 : 4234958 : break;
39706 : : }
39707 : : default:;
39708 : : }
39709 : : }
39710 : : break;
39711 : : default:;
39712 : : }
39713 : 4234958 : break;
39714 : : }
39715 : 2639 : case VEC_COND_EXPR:
39716 : 2639 : {
39717 : 2639 : tree _q20 = gimple_assign_rhs1 (_a1);
39718 : 2639 : _q20 = do_valueize (valueize, _q20);
39719 : 2639 : tree _q21 = gimple_assign_rhs2 (_a1);
39720 : 2639 : _q21 = do_valueize (valueize, _q21);
39721 : 2639 : tree _q22 = gimple_assign_rhs3 (_a1);
39722 : 2639 : _q22 = do_valueize (valueize, _q22);
39723 : 2639 : switch (TREE_CODE (_p1))
39724 : : {
39725 : 1828 : case SSA_NAME:
39726 : 1828 : if (gimple *_d2 = get_def (valueize, _p1))
39727 : : {
39728 : 1698 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
39729 : 1381 : switch (gimple_assign_rhs_code (_a2))
39730 : : {
39731 : 741 : case VEC_COND_EXPR:
39732 : 741 : {
39733 : 741 : tree _q60 = gimple_assign_rhs1 (_a2);
39734 : 741 : _q60 = do_valueize (valueize, _q60);
39735 : 741 : tree _q61 = gimple_assign_rhs2 (_a2);
39736 : 741 : _q61 = do_valueize (valueize, _q61);
39737 : 741 : tree _q62 = gimple_assign_rhs3 (_a2);
39738 : 741 : _q62 = do_valueize (valueize, _q62);
39739 : 741 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
39740 : : {
39741 : 4 : {
39742 : 4 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
39743 : 4 : if (VECTOR_TYPE_P (type)
39744 : 4 : && (TREE_CODE_CLASS (BIT_IOR_EXPR) != tcc_comparison
39745 : : || types_match (type, TREE_TYPE (captures[2]))
39746 : : || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
39747 : : || (optimize_vectors_before_lowering_p ()
39748 : : && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
39749 : : )
39750 : : {
39751 : 4 : gimple_seq *lseq = seq;
39752 : 4 : if (lseq
39753 : 1 : && (!single_use (captures[0])
39754 : 1 : || !single_use (captures[4])))
39755 : 3 : lseq = NULL;
39756 : 4 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2223;
39757 : 4 : {
39758 : 4 : res_op->set_op (VEC_COND_EXPR, type, 3);
39759 : 4 : res_op->ops[0] = captures[1];
39760 : 4 : {
39761 : 4 : tree _o1[2], _r1;
39762 : 4 : _o1[0] = captures[2];
39763 : 4 : _o1[1] = captures[5];
39764 : 4 : gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
39765 : 4 : tem_op.resimplify (NULL, valueize);
39766 : 4 : _r1 = maybe_push_res_to_seq (&tem_op, NULL);
39767 : 4 : if (!_r1) goto next_after_fail2223;
39768 : 4 : res_op->ops[1] = _r1;
39769 : : }
39770 : 4 : {
39771 : 4 : tree _o1[2], _r1;
39772 : 4 : _o1[0] = captures[3];
39773 : 4 : _o1[1] = captures[6];
39774 : 4 : gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
39775 : 4 : tem_op.resimplify (NULL, valueize);
39776 : 4 : _r1 = maybe_push_res_to_seq (&tem_op, NULL);
39777 : 4 : if (!_r1) goto next_after_fail2223;
39778 : 0 : res_op->ops[2] = _r1;
39779 : : }
39780 : 0 : res_op->resimplify (lseq, valueize);
39781 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1060, __FILE__, __LINE__, true);
39782 : 0 : return true;
39783 : : }
39784 : 4 : next_after_fail2223:;
39785 : : }
39786 : : }
39787 : : }
39788 : : break;
39789 : : }
39790 : : default:;
39791 : : }
39792 : : }
39793 : : break;
39794 : 2639 : default:;
39795 : : }
39796 : 2639 : if (integer_minus_onep (_q21))
39797 : : {
39798 : 34 : if (integer_zerop (_q22))
39799 : : {
39800 : 20 : switch (TREE_CODE (_p1))
39801 : : {
39802 : 20 : case SSA_NAME:
39803 : 20 : if (gimple *_d2 = get_def (valueize, _p1))
39804 : : {
39805 : 20 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
39806 : 20 : switch (gimple_assign_rhs_code (_a2))
39807 : : {
39808 : 16 : case VEC_COND_EXPR:
39809 : 16 : {
39810 : 16 : tree _q60 = gimple_assign_rhs1 (_a2);
39811 : 16 : _q60 = do_valueize (valueize, _q60);
39812 : 16 : tree _q61 = gimple_assign_rhs2 (_a2);
39813 : 16 : _q61 = do_valueize (valueize, _q61);
39814 : 16 : tree _q62 = gimple_assign_rhs3 (_a2);
39815 : 16 : _q62 = do_valueize (valueize, _q62);
39816 : 16 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
39817 : : {
39818 : 16 : if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
39819 : : {
39820 : 16 : {
39821 : 16 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
39822 : 16 : const enum tree_code lop = BIT_IOR_EXPR;
39823 : 16 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
39824 : : )
39825 : : {
39826 : 3 : gimple_seq *lseq = seq;
39827 : 3 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2224;
39828 : 3 : {
39829 : 3 : res_op->set_op (VEC_COND_EXPR, type, 3);
39830 : 3 : {
39831 : 3 : tree _o1[2], _r1;
39832 : 3 : _o1[0] = captures[0];
39833 : 3 : _o1[1] = captures[3];
39834 : 3 : gimple_match_op tem_op (res_op->cond.any_else (), lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
39835 : 3 : tem_op.resimplify (lseq, valueize);
39836 : 3 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
39837 : 3 : if (!_r1) goto next_after_fail2224;
39838 : 3 : res_op->ops[0] = _r1;
39839 : : }
39840 : 3 : res_op->ops[1] = captures[1];
39841 : 3 : res_op->ops[2] = captures[2];
39842 : 3 : res_op->resimplify (lseq, valueize);
39843 : 3 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
39844 : 3 : return true;
39845 : : }
39846 : 13 : next_after_fail2224:;
39847 : : }
39848 : : }
39849 : 13 : {
39850 : 13 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
39851 : 13 : const enum tree_code lop = BIT_IOR_EXPR;
39852 : 13 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
39853 : : )
39854 : : {
39855 : 0 : gimple_seq *lseq = seq;
39856 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2225;
39857 : 0 : {
39858 : 0 : res_op->set_op (VEC_COND_EXPR, type, 3);
39859 : 0 : {
39860 : 0 : tree _o1[2], _r1;
39861 : 0 : _o1[0] = captures[0];
39862 : 0 : _o1[1] = captures[3];
39863 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
39864 : 0 : tem_op.resimplify (lseq, valueize);
39865 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
39866 : 0 : if (!_r1) goto next_after_fail2225;
39867 : 0 : res_op->ops[0] = _r1;
39868 : : }
39869 : 0 : res_op->ops[1] = captures[1];
39870 : 0 : res_op->ops[2] = captures[2];
39871 : 0 : res_op->resimplify (lseq, valueize);
39872 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
39873 : 0 : return true;
39874 : : }
39875 : 13 : next_after_fail2225:;
39876 : : }
39877 : : }
39878 : 13 : {
39879 : 13 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
39880 : 13 : const enum tree_code lop = BIT_IOR_EXPR;
39881 : 13 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
39882 : : )
39883 : : {
39884 : 0 : gimple_seq *lseq = seq;
39885 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2226;
39886 : 0 : {
39887 : 0 : res_op->set_op (VEC_COND_EXPR, type, 3);
39888 : 0 : {
39889 : 0 : tree _o1[2], _r1;
39890 : 0 : _o1[0] = captures[0];
39891 : 0 : _o1[1] = captures[3];
39892 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
39893 : 0 : tem_op.resimplify (lseq, valueize);
39894 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
39895 : 0 : if (!_r1) goto next_after_fail2226;
39896 : 0 : res_op->ops[0] = _r1;
39897 : : }
39898 : 0 : res_op->ops[1] = captures[1];
39899 : 0 : res_op->ops[2] = captures[2];
39900 : 0 : res_op->resimplify (lseq, valueize);
39901 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
39902 : 0 : return true;
39903 : : }
39904 : 13 : next_after_fail2226:;
39905 : : }
39906 : : }
39907 : 13 : {
39908 : 13 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
39909 : 13 : const enum tree_code lop = BIT_IOR_EXPR;
39910 : 13 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
39911 : : )
39912 : : {
39913 : 0 : gimple_seq *lseq = seq;
39914 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2227;
39915 : 0 : {
39916 : 0 : res_op->set_op (VEC_COND_EXPR, type, 3);
39917 : 0 : {
39918 : 0 : tree _o1[2], _r1;
39919 : 0 : _o1[0] = captures[0];
39920 : 0 : _o1[1] = captures[3];
39921 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
39922 : 0 : tem_op.resimplify (lseq, valueize);
39923 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
39924 : 0 : if (!_r1) goto next_after_fail2227;
39925 : 0 : res_op->ops[0] = _r1;
39926 : : }
39927 : 0 : res_op->ops[1] = captures[1];
39928 : 0 : res_op->ops[2] = captures[2];
39929 : 0 : res_op->resimplify (lseq, valueize);
39930 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
39931 : 0 : return true;
39932 : : }
39933 : 13 : next_after_fail2227:;
39934 : : }
39935 : : }
39936 : 13 : {
39937 : 13 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
39938 : 13 : const enum tree_code lop = BIT_IOR_EXPR;
39939 : 13 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
39940 : : )
39941 : : {
39942 : 0 : gimple_seq *lseq = seq;
39943 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2228;
39944 : 0 : {
39945 : 0 : res_op->set_op (VEC_COND_EXPR, type, 3);
39946 : 0 : {
39947 : 0 : tree _o1[2], _r1;
39948 : 0 : _o1[0] = captures[0];
39949 : 0 : _o1[1] = captures[3];
39950 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
39951 : 0 : tem_op.resimplify (lseq, valueize);
39952 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
39953 : 0 : if (!_r1) goto next_after_fail2228;
39954 : 0 : res_op->ops[0] = _r1;
39955 : : }
39956 : 0 : res_op->ops[1] = captures[1];
39957 : 0 : res_op->ops[2] = captures[2];
39958 : 0 : res_op->resimplify (lseq, valueize);
39959 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
39960 : 0 : return true;
39961 : : }
39962 : 13 : next_after_fail2228:;
39963 : : }
39964 : : }
39965 : 13 : {
39966 : 13 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
39967 : 13 : const enum tree_code lop = BIT_IOR_EXPR;
39968 : 13 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
39969 : : )
39970 : : {
39971 : 0 : gimple_seq *lseq = seq;
39972 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2229;
39973 : 0 : {
39974 : 0 : res_op->set_op (VEC_COND_EXPR, type, 3);
39975 : 0 : {
39976 : 0 : tree _o1[2], _r1;
39977 : 0 : _o1[0] = captures[0];
39978 : 0 : _o1[1] = captures[3];
39979 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
39980 : 0 : tem_op.resimplify (lseq, valueize);
39981 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
39982 : 0 : if (!_r1) goto next_after_fail2229;
39983 : 0 : res_op->ops[0] = _r1;
39984 : : }
39985 : 0 : res_op->ops[1] = captures[1];
39986 : 0 : res_op->ops[2] = captures[2];
39987 : 0 : res_op->resimplify (lseq, valueize);
39988 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
39989 : 0 : return true;
39990 : : }
39991 : 13 : next_after_fail2229:;
39992 : : }
39993 : : }
39994 : 13 : {
39995 : 13 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
39996 : 13 : const enum tree_code lop = BIT_IOR_EXPR;
39997 : 13 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
39998 : : )
39999 : : {
40000 : 0 : gimple_seq *lseq = seq;
40001 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2230;
40002 : 0 : {
40003 : 0 : res_op->set_op (VEC_COND_EXPR, type, 3);
40004 : 0 : {
40005 : 0 : tree _o1[2], _r1;
40006 : 0 : _o1[0] = captures[0];
40007 : 0 : _o1[1] = captures[3];
40008 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
40009 : 0 : tem_op.resimplify (lseq, valueize);
40010 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40011 : 0 : if (!_r1) goto next_after_fail2230;
40012 : 0 : res_op->ops[0] = _r1;
40013 : : }
40014 : 0 : res_op->ops[1] = captures[1];
40015 : 0 : res_op->ops[2] = captures[2];
40016 : 0 : res_op->resimplify (lseq, valueize);
40017 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
40018 : 0 : return true;
40019 : : }
40020 : 13 : next_after_fail2230:;
40021 : : }
40022 : : }
40023 : 13 : {
40024 : 13 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
40025 : 13 : const enum tree_code lop = BIT_IOR_EXPR;
40026 : 13 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
40027 : : )
40028 : : {
40029 : 0 : gimple_seq *lseq = seq;
40030 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2231;
40031 : 0 : {
40032 : 0 : res_op->set_op (VEC_COND_EXPR, type, 3);
40033 : 0 : {
40034 : 0 : tree _o1[2], _r1;
40035 : 0 : _o1[0] = captures[0];
40036 : 0 : _o1[1] = captures[3];
40037 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
40038 : 0 : tem_op.resimplify (lseq, valueize);
40039 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40040 : 0 : if (!_r1) goto next_after_fail2231;
40041 : 0 : res_op->ops[0] = _r1;
40042 : : }
40043 : 0 : res_op->ops[1] = captures[1];
40044 : 0 : res_op->ops[2] = captures[2];
40045 : 0 : res_op->resimplify (lseq, valueize);
40046 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
40047 : 0 : return true;
40048 : : }
40049 : 13 : next_after_fail2231:;
40050 : : }
40051 : : }
40052 : 13 : {
40053 : 13 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
40054 : 13 : const enum tree_code lop = BIT_IOR_EXPR;
40055 : 13 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
40056 : : )
40057 : : {
40058 : 0 : gimple_seq *lseq = seq;
40059 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2232;
40060 : 0 : {
40061 : 0 : res_op->set_op (VEC_COND_EXPR, type, 3);
40062 : 0 : {
40063 : 0 : tree _o1[2], _r1;
40064 : 0 : _o1[0] = captures[0];
40065 : 0 : _o1[1] = captures[3];
40066 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
40067 : 0 : tem_op.resimplify (lseq, valueize);
40068 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40069 : 0 : if (!_r1) goto next_after_fail2232;
40070 : 0 : res_op->ops[0] = _r1;
40071 : : }
40072 : 0 : res_op->ops[1] = captures[1];
40073 : 0 : res_op->ops[2] = captures[2];
40074 : 0 : res_op->resimplify (lseq, valueize);
40075 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
40076 : 0 : return true;
40077 : : }
40078 : 13 : next_after_fail2232:;
40079 : : }
40080 : : }
40081 : 13 : {
40082 : 13 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
40083 : 13 : const enum tree_code lop = BIT_IOR_EXPR;
40084 : 13 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
40085 : : )
40086 : : {
40087 : 0 : gimple_seq *lseq = seq;
40088 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2233;
40089 : 0 : {
40090 : 0 : res_op->set_op (VEC_COND_EXPR, type, 3);
40091 : 0 : {
40092 : 0 : tree _o1[2], _r1;
40093 : 0 : _o1[0] = captures[0];
40094 : 0 : _o1[1] = captures[3];
40095 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
40096 : 0 : tem_op.resimplify (lseq, valueize);
40097 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40098 : 0 : if (!_r1) goto next_after_fail2233;
40099 : 0 : res_op->ops[0] = _r1;
40100 : : }
40101 : 0 : res_op->ops[1] = captures[1];
40102 : 0 : res_op->ops[2] = captures[2];
40103 : 0 : res_op->resimplify (lseq, valueize);
40104 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
40105 : 0 : return true;
40106 : : }
40107 : 13 : next_after_fail2233:;
40108 : : }
40109 : : }
40110 : 13 : {
40111 : 13 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
40112 : 13 : const enum tree_code lop = BIT_IOR_EXPR;
40113 : 13 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
40114 : : )
40115 : : {
40116 : 0 : gimple_seq *lseq = seq;
40117 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2234;
40118 : 0 : {
40119 : 0 : res_op->set_op (VEC_COND_EXPR, type, 3);
40120 : 0 : {
40121 : 0 : tree _o1[2], _r1;
40122 : 0 : _o1[0] = captures[0];
40123 : 0 : _o1[1] = captures[3];
40124 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
40125 : 0 : tem_op.resimplify (lseq, valueize);
40126 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40127 : 0 : if (!_r1) goto next_after_fail2234;
40128 : 0 : res_op->ops[0] = _r1;
40129 : : }
40130 : 0 : res_op->ops[1] = captures[1];
40131 : 0 : res_op->ops[2] = captures[2];
40132 : 0 : res_op->resimplify (lseq, valueize);
40133 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
40134 : 0 : return true;
40135 : : }
40136 : 13 : next_after_fail2234:;
40137 : : }
40138 : : }
40139 : 13 : {
40140 : 13 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
40141 : 13 : const enum tree_code lop = BIT_IOR_EXPR;
40142 : 13 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
40143 : : )
40144 : : {
40145 : 0 : gimple_seq *lseq = seq;
40146 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2235;
40147 : 0 : {
40148 : 0 : res_op->set_op (VEC_COND_EXPR, type, 3);
40149 : 0 : {
40150 : 0 : tree _o1[2], _r1;
40151 : 0 : _o1[0] = captures[0];
40152 : 0 : _o1[1] = captures[3];
40153 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
40154 : 0 : tem_op.resimplify (lseq, valueize);
40155 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40156 : 0 : if (!_r1) goto next_after_fail2235;
40157 : 0 : res_op->ops[0] = _r1;
40158 : : }
40159 : 0 : res_op->ops[1] = captures[1];
40160 : 0 : res_op->ops[2] = captures[2];
40161 : 0 : res_op->resimplify (lseq, valueize);
40162 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
40163 : 0 : return true;
40164 : : }
40165 : 13 : next_after_fail2235:;
40166 : : }
40167 : : }
40168 : 13 : {
40169 : 13 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
40170 : 13 : const enum tree_code lop = BIT_IOR_EXPR;
40171 : 13 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
40172 : : )
40173 : : {
40174 : 0 : gimple_seq *lseq = seq;
40175 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2236;
40176 : 0 : {
40177 : 0 : res_op->set_op (VEC_COND_EXPR, type, 3);
40178 : 0 : {
40179 : 0 : tree _o1[2], _r1;
40180 : 0 : _o1[0] = captures[0];
40181 : 0 : _o1[1] = captures[3];
40182 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
40183 : 0 : tem_op.resimplify (lseq, valueize);
40184 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40185 : 0 : if (!_r1) goto next_after_fail2236;
40186 : 0 : res_op->ops[0] = _r1;
40187 : : }
40188 : 0 : res_op->ops[1] = captures[1];
40189 : 0 : res_op->ops[2] = captures[2];
40190 : 0 : res_op->resimplify (lseq, valueize);
40191 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
40192 : 0 : return true;
40193 : : }
40194 : 13 : next_after_fail2236:;
40195 : : }
40196 : : }
40197 : 13 : {
40198 : 13 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
40199 : 13 : const enum tree_code lop = BIT_IOR_EXPR;
40200 : 13 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
40201 : : )
40202 : : {
40203 : 0 : gimple_seq *lseq = seq;
40204 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2237;
40205 : 0 : {
40206 : 0 : res_op->set_op (VEC_COND_EXPR, type, 3);
40207 : 0 : {
40208 : 0 : tree _o1[2], _r1;
40209 : 0 : _o1[0] = captures[0];
40210 : 0 : _o1[1] = captures[3];
40211 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
40212 : 0 : tem_op.resimplify (lseq, valueize);
40213 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40214 : 0 : if (!_r1) goto next_after_fail2237;
40215 : 0 : res_op->ops[0] = _r1;
40216 : : }
40217 : 0 : res_op->ops[1] = captures[1];
40218 : 0 : res_op->ops[2] = captures[2];
40219 : 0 : res_op->resimplify (lseq, valueize);
40220 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
40221 : 0 : return true;
40222 : : }
40223 : 13 : next_after_fail2237:;
40224 : : }
40225 : : }
40226 : 13 : {
40227 : 13 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
40228 : 13 : const enum tree_code lop = BIT_IOR_EXPR;
40229 : 13 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
40230 : : )
40231 : : {
40232 : 0 : gimple_seq *lseq = seq;
40233 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2238;
40234 : 0 : {
40235 : 0 : res_op->set_op (VEC_COND_EXPR, type, 3);
40236 : 0 : {
40237 : 0 : tree _o1[2], _r1;
40238 : 0 : _o1[0] = captures[0];
40239 : 0 : _o1[1] = captures[3];
40240 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
40241 : 0 : tem_op.resimplify (lseq, valueize);
40242 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40243 : 0 : if (!_r1) goto next_after_fail2238;
40244 : 0 : res_op->ops[0] = _r1;
40245 : : }
40246 : 0 : res_op->ops[1] = captures[1];
40247 : 0 : res_op->ops[2] = captures[2];
40248 : 0 : res_op->resimplify (lseq, valueize);
40249 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
40250 : 0 : return true;
40251 : : }
40252 : 13 : next_after_fail2238:;
40253 : : }
40254 : : }
40255 : 13 : {
40256 : 13 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
40257 : 13 : const enum tree_code lop = BIT_IOR_EXPR;
40258 : 13 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
40259 : : )
40260 : : {
40261 : 0 : gimple_seq *lseq = seq;
40262 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2239;
40263 : 0 : {
40264 : 0 : res_op->set_op (VEC_COND_EXPR, type, 3);
40265 : 0 : {
40266 : 0 : tree _o1[2], _r1;
40267 : 0 : _o1[0] = captures[0];
40268 : 0 : _o1[1] = captures[3];
40269 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
40270 : 0 : tem_op.resimplify (lseq, valueize);
40271 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40272 : 0 : if (!_r1) goto next_after_fail2239;
40273 : 0 : res_op->ops[0] = _r1;
40274 : : }
40275 : 0 : res_op->ops[1] = captures[1];
40276 : 0 : res_op->ops[2] = captures[2];
40277 : 0 : res_op->resimplify (lseq, valueize);
40278 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
40279 : 0 : return true;
40280 : : }
40281 : 13 : next_after_fail2239:;
40282 : : }
40283 : : }
40284 : 13 : {
40285 : 13 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
40286 : 13 : const enum tree_code lop = BIT_IOR_EXPR;
40287 : 13 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
40288 : : )
40289 : : {
40290 : 0 : gimple_seq *lseq = seq;
40291 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2240;
40292 : 0 : {
40293 : 0 : res_op->set_op (VEC_COND_EXPR, type, 3);
40294 : 0 : {
40295 : 0 : tree _o1[2], _r1;
40296 : 0 : _o1[0] = captures[0];
40297 : 0 : _o1[1] = captures[3];
40298 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
40299 : 0 : tem_op.resimplify (lseq, valueize);
40300 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40301 : 0 : if (!_r1) goto next_after_fail2240;
40302 : 0 : res_op->ops[0] = _r1;
40303 : : }
40304 : 0 : res_op->ops[1] = captures[1];
40305 : 0 : res_op->ops[2] = captures[2];
40306 : 0 : res_op->resimplify (lseq, valueize);
40307 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
40308 : 0 : return true;
40309 : : }
40310 : 13 : next_after_fail2240:;
40311 : : }
40312 : : }
40313 : 13 : {
40314 : 13 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
40315 : 13 : const enum tree_code lop = BIT_IOR_EXPR;
40316 : 13 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
40317 : : )
40318 : : {
40319 : 0 : gimple_seq *lseq = seq;
40320 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2241;
40321 : 0 : {
40322 : 0 : res_op->set_op (VEC_COND_EXPR, type, 3);
40323 : 0 : {
40324 : 0 : tree _o1[2], _r1;
40325 : 0 : _o1[0] = captures[0];
40326 : 0 : _o1[1] = captures[3];
40327 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
40328 : 0 : tem_op.resimplify (lseq, valueize);
40329 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40330 : 0 : if (!_r1) goto next_after_fail2241;
40331 : 0 : res_op->ops[0] = _r1;
40332 : : }
40333 : 0 : res_op->ops[1] = captures[1];
40334 : 0 : res_op->ops[2] = captures[2];
40335 : 0 : res_op->resimplify (lseq, valueize);
40336 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
40337 : 0 : return true;
40338 : : }
40339 : 13 : next_after_fail2241:;
40340 : : }
40341 : : }
40342 : 13 : {
40343 : 13 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
40344 : 13 : const enum tree_code lop = BIT_IOR_EXPR;
40345 : 13 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
40346 : : )
40347 : : {
40348 : 0 : gimple_seq *lseq = seq;
40349 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2242;
40350 : 0 : {
40351 : 0 : res_op->set_op (VEC_COND_EXPR, type, 3);
40352 : 0 : {
40353 : 0 : tree _o1[2], _r1;
40354 : 0 : _o1[0] = captures[0];
40355 : 0 : _o1[1] = captures[3];
40356 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
40357 : 0 : tem_op.resimplify (lseq, valueize);
40358 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40359 : 0 : if (!_r1) goto next_after_fail2242;
40360 : 0 : res_op->ops[0] = _r1;
40361 : : }
40362 : 0 : res_op->ops[1] = captures[1];
40363 : 0 : res_op->ops[2] = captures[2];
40364 : 0 : res_op->resimplify (lseq, valueize);
40365 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
40366 : 0 : return true;
40367 : : }
40368 : 13 : next_after_fail2242:;
40369 : : }
40370 : : }
40371 : 13 : {
40372 : 13 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
40373 : 13 : const enum tree_code lop = BIT_IOR_EXPR;
40374 : 13 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
40375 : : )
40376 : : {
40377 : 0 : gimple_seq *lseq = seq;
40378 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2243;
40379 : 0 : {
40380 : 0 : res_op->set_op (VEC_COND_EXPR, type, 3);
40381 : 0 : {
40382 : 0 : tree _o1[2], _r1;
40383 : 0 : _o1[0] = captures[0];
40384 : 0 : _o1[1] = captures[3];
40385 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
40386 : 0 : tem_op.resimplify (lseq, valueize);
40387 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40388 : 0 : if (!_r1) goto next_after_fail2243;
40389 : 0 : res_op->ops[0] = _r1;
40390 : : }
40391 : 0 : res_op->ops[1] = captures[1];
40392 : 0 : res_op->ops[2] = captures[2];
40393 : 0 : res_op->resimplify (lseq, valueize);
40394 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
40395 : 0 : return true;
40396 : : }
40397 : 13 : next_after_fail2243:;
40398 : : }
40399 : : }
40400 : 13 : {
40401 : 13 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
40402 : 13 : const enum tree_code lop = BIT_IOR_EXPR;
40403 : 13 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
40404 : : )
40405 : : {
40406 : 0 : gimple_seq *lseq = seq;
40407 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2244;
40408 : 0 : {
40409 : 0 : res_op->set_op (VEC_COND_EXPR, type, 3);
40410 : 0 : {
40411 : 0 : tree _o1[2], _r1;
40412 : 0 : _o1[0] = captures[0];
40413 : 0 : _o1[1] = captures[3];
40414 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
40415 : 0 : tem_op.resimplify (lseq, valueize);
40416 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40417 : 0 : if (!_r1) goto next_after_fail2244;
40418 : 0 : res_op->ops[0] = _r1;
40419 : : }
40420 : 0 : res_op->ops[1] = captures[1];
40421 : 0 : res_op->ops[2] = captures[2];
40422 : 0 : res_op->resimplify (lseq, valueize);
40423 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
40424 : 0 : return true;
40425 : : }
40426 : 13 : next_after_fail2244:;
40427 : : }
40428 : : }
40429 : 13 : {
40430 : 13 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
40431 : 13 : const enum tree_code lop = BIT_IOR_EXPR;
40432 : 13 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
40433 : : )
40434 : : {
40435 : 0 : gimple_seq *lseq = seq;
40436 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2245;
40437 : 0 : {
40438 : 0 : res_op->set_op (VEC_COND_EXPR, type, 3);
40439 : 0 : {
40440 : 0 : tree _o1[2], _r1;
40441 : 0 : _o1[0] = captures[0];
40442 : 0 : _o1[1] = captures[3];
40443 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
40444 : 0 : tem_op.resimplify (lseq, valueize);
40445 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40446 : 0 : if (!_r1) goto next_after_fail2245;
40447 : 0 : res_op->ops[0] = _r1;
40448 : : }
40449 : 0 : res_op->ops[1] = captures[1];
40450 : 0 : res_op->ops[2] = captures[2];
40451 : 0 : res_op->resimplify (lseq, valueize);
40452 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
40453 : 0 : return true;
40454 : : }
40455 : 13 : next_after_fail2245:;
40456 : : }
40457 : : }
40458 : 13 : {
40459 : 13 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
40460 : 13 : const enum tree_code lop = BIT_IOR_EXPR;
40461 : 13 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
40462 : : )
40463 : : {
40464 : 0 : gimple_seq *lseq = seq;
40465 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2246;
40466 : 0 : {
40467 : 0 : res_op->set_op (VEC_COND_EXPR, type, 3);
40468 : 0 : {
40469 : 0 : tree _o1[2], _r1;
40470 : 0 : _o1[0] = captures[0];
40471 : 0 : _o1[1] = captures[3];
40472 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
40473 : 0 : tem_op.resimplify (lseq, valueize);
40474 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40475 : 0 : if (!_r1) goto next_after_fail2246;
40476 : 0 : res_op->ops[0] = _r1;
40477 : : }
40478 : 0 : res_op->ops[1] = captures[1];
40479 : 0 : res_op->ops[2] = captures[2];
40480 : 0 : res_op->resimplify (lseq, valueize);
40481 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
40482 : 0 : return true;
40483 : : }
40484 : 13 : next_after_fail2246:;
40485 : : }
40486 : : }
40487 : 13 : {
40488 : 13 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
40489 : 13 : const enum tree_code lop = BIT_IOR_EXPR;
40490 : 13 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
40491 : : )
40492 : : {
40493 : 0 : gimple_seq *lseq = seq;
40494 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2247;
40495 : 0 : {
40496 : 0 : res_op->set_op (VEC_COND_EXPR, type, 3);
40497 : 0 : {
40498 : 0 : tree _o1[2], _r1;
40499 : 0 : _o1[0] = captures[0];
40500 : 0 : _o1[1] = captures[3];
40501 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
40502 : 0 : tem_op.resimplify (lseq, valueize);
40503 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40504 : 0 : if (!_r1) goto next_after_fail2247;
40505 : 0 : res_op->ops[0] = _r1;
40506 : : }
40507 : 0 : res_op->ops[1] = captures[1];
40508 : 0 : res_op->ops[2] = captures[2];
40509 : 0 : res_op->resimplify (lseq, valueize);
40510 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
40511 : 0 : return true;
40512 : : }
40513 : 13 : next_after_fail2247:;
40514 : : }
40515 : : }
40516 : 13 : {
40517 : 13 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
40518 : 13 : const enum tree_code lop = BIT_IOR_EXPR;
40519 : 13 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
40520 : : )
40521 : : {
40522 : 0 : gimple_seq *lseq = seq;
40523 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2248;
40524 : 0 : {
40525 : 0 : res_op->set_op (VEC_COND_EXPR, type, 3);
40526 : 0 : {
40527 : 0 : tree _o1[2], _r1;
40528 : 0 : _o1[0] = captures[0];
40529 : 0 : _o1[1] = captures[3];
40530 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
40531 : 0 : tem_op.resimplify (lseq, valueize);
40532 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40533 : 0 : if (!_r1) goto next_after_fail2248;
40534 : 0 : res_op->ops[0] = _r1;
40535 : : }
40536 : 0 : res_op->ops[1] = captures[1];
40537 : 0 : res_op->ops[2] = captures[2];
40538 : 0 : res_op->resimplify (lseq, valueize);
40539 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
40540 : 0 : return true;
40541 : : }
40542 : 13 : next_after_fail2248:;
40543 : : }
40544 : : }
40545 : 13 : {
40546 : 13 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
40547 : 13 : const enum tree_code lop = BIT_IOR_EXPR;
40548 : 13 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
40549 : : )
40550 : : {
40551 : 0 : gimple_seq *lseq = seq;
40552 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2249;
40553 : 0 : {
40554 : 0 : res_op->set_op (VEC_COND_EXPR, type, 3);
40555 : 0 : {
40556 : 0 : tree _o1[2], _r1;
40557 : 0 : _o1[0] = captures[0];
40558 : 0 : _o1[1] = captures[3];
40559 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
40560 : 0 : tem_op.resimplify (lseq, valueize);
40561 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40562 : 0 : if (!_r1) goto next_after_fail2249;
40563 : 0 : res_op->ops[0] = _r1;
40564 : : }
40565 : 0 : res_op->ops[1] = captures[1];
40566 : 0 : res_op->ops[2] = captures[2];
40567 : 0 : res_op->resimplify (lseq, valueize);
40568 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
40569 : 0 : return true;
40570 : : }
40571 : 13 : next_after_fail2249:;
40572 : : }
40573 : : }
40574 : 13 : {
40575 : 13 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
40576 : 13 : const enum tree_code lop = BIT_IOR_EXPR;
40577 : 13 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
40578 : : )
40579 : : {
40580 : 0 : gimple_seq *lseq = seq;
40581 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2250;
40582 : 0 : {
40583 : 0 : res_op->set_op (VEC_COND_EXPR, type, 3);
40584 : 0 : {
40585 : 0 : tree _o1[2], _r1;
40586 : 0 : _o1[0] = captures[0];
40587 : 0 : _o1[1] = captures[3];
40588 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
40589 : 0 : tem_op.resimplify (lseq, valueize);
40590 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40591 : 0 : if (!_r1) goto next_after_fail2250;
40592 : 0 : res_op->ops[0] = _r1;
40593 : : }
40594 : 0 : res_op->ops[1] = captures[1];
40595 : 0 : res_op->ops[2] = captures[2];
40596 : 0 : res_op->resimplify (lseq, valueize);
40597 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
40598 : 0 : return true;
40599 : : }
40600 : 13 : next_after_fail2250:;
40601 : : }
40602 : : }
40603 : 13 : {
40604 : 13 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
40605 : 13 : const enum tree_code lop = BIT_IOR_EXPR;
40606 : 13 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
40607 : : )
40608 : : {
40609 : 0 : gimple_seq *lseq = seq;
40610 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2251;
40611 : 0 : {
40612 : 0 : res_op->set_op (VEC_COND_EXPR, type, 3);
40613 : 0 : {
40614 : 0 : tree _o1[2], _r1;
40615 : 0 : _o1[0] = captures[0];
40616 : 0 : _o1[1] = captures[3];
40617 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
40618 : 0 : tem_op.resimplify (lseq, valueize);
40619 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40620 : 0 : if (!_r1) goto next_after_fail2251;
40621 : 0 : res_op->ops[0] = _r1;
40622 : : }
40623 : 0 : res_op->ops[1] = captures[1];
40624 : 0 : res_op->ops[2] = captures[2];
40625 : 0 : res_op->resimplify (lseq, valueize);
40626 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
40627 : 0 : return true;
40628 : : }
40629 : 13 : next_after_fail2251:;
40630 : : }
40631 : : }
40632 : 13 : {
40633 : 13 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
40634 : 13 : const enum tree_code lop = BIT_IOR_EXPR;
40635 : 13 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
40636 : : )
40637 : : {
40638 : 0 : gimple_seq *lseq = seq;
40639 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2252;
40640 : 0 : {
40641 : 0 : res_op->set_op (VEC_COND_EXPR, type, 3);
40642 : 0 : {
40643 : 0 : tree _o1[2], _r1;
40644 : 0 : _o1[0] = captures[0];
40645 : 0 : _o1[1] = captures[3];
40646 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
40647 : 0 : tem_op.resimplify (lseq, valueize);
40648 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40649 : 0 : if (!_r1) goto next_after_fail2252;
40650 : 0 : res_op->ops[0] = _r1;
40651 : : }
40652 : 0 : res_op->ops[1] = captures[1];
40653 : 0 : res_op->ops[2] = captures[2];
40654 : 0 : res_op->resimplify (lseq, valueize);
40655 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
40656 : 0 : return true;
40657 : : }
40658 : 13 : next_after_fail2252:;
40659 : : }
40660 : : }
40661 : 13 : {
40662 : 13 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
40663 : 13 : const enum tree_code lop = BIT_IOR_EXPR;
40664 : 13 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
40665 : : )
40666 : : {
40667 : 0 : gimple_seq *lseq = seq;
40668 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2253;
40669 : 0 : {
40670 : 0 : res_op->set_op (VEC_COND_EXPR, type, 3);
40671 : 0 : {
40672 : 0 : tree _o1[2], _r1;
40673 : 0 : _o1[0] = captures[0];
40674 : 0 : _o1[1] = captures[3];
40675 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
40676 : 0 : tem_op.resimplify (lseq, valueize);
40677 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40678 : 0 : if (!_r1) goto next_after_fail2253;
40679 : 0 : res_op->ops[0] = _r1;
40680 : : }
40681 : 0 : res_op->ops[1] = captures[1];
40682 : 0 : res_op->ops[2] = captures[2];
40683 : 0 : res_op->resimplify (lseq, valueize);
40684 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
40685 : 0 : return true;
40686 : : }
40687 : 13 : next_after_fail2253:;
40688 : : }
40689 : : }
40690 : 13 : {
40691 : 13 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
40692 : 13 : const enum tree_code lop = BIT_IOR_EXPR;
40693 : 13 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
40694 : : )
40695 : : {
40696 : 0 : gimple_seq *lseq = seq;
40697 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2254;
40698 : 0 : {
40699 : 0 : res_op->set_op (VEC_COND_EXPR, type, 3);
40700 : 0 : {
40701 : 0 : tree _o1[2], _r1;
40702 : 0 : _o1[0] = captures[0];
40703 : 0 : _o1[1] = captures[3];
40704 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
40705 : 0 : tem_op.resimplify (lseq, valueize);
40706 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40707 : 0 : if (!_r1) goto next_after_fail2254;
40708 : 0 : res_op->ops[0] = _r1;
40709 : : }
40710 : 0 : res_op->ops[1] = captures[1];
40711 : 0 : res_op->ops[2] = captures[2];
40712 : 0 : res_op->resimplify (lseq, valueize);
40713 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
40714 : 0 : return true;
40715 : : }
40716 : 13 : next_after_fail2254:;
40717 : : }
40718 : : }
40719 : 13 : {
40720 : 13 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
40721 : 13 : const enum tree_code lop = BIT_IOR_EXPR;
40722 : 13 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
40723 : : )
40724 : : {
40725 : 0 : gimple_seq *lseq = seq;
40726 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2255;
40727 : 0 : {
40728 : 0 : res_op->set_op (VEC_COND_EXPR, type, 3);
40729 : 0 : {
40730 : 0 : tree _o1[2], _r1;
40731 : 0 : _o1[0] = captures[0];
40732 : 0 : _o1[1] = captures[3];
40733 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
40734 : 0 : tem_op.resimplify (lseq, valueize);
40735 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40736 : 0 : if (!_r1) goto next_after_fail2255;
40737 : 0 : res_op->ops[0] = _r1;
40738 : : }
40739 : 0 : res_op->ops[1] = captures[1];
40740 : 0 : res_op->ops[2] = captures[2];
40741 : 0 : res_op->resimplify (lseq, valueize);
40742 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
40743 : 0 : return true;
40744 : : }
40745 : 13 : next_after_fail2255:;
40746 : : }
40747 : : }
40748 : 13 : {
40749 : 13 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
40750 : 13 : const enum tree_code lop = BIT_IOR_EXPR;
40751 : 13 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
40752 : : )
40753 : : {
40754 : 0 : gimple_seq *lseq = seq;
40755 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2256;
40756 : 0 : {
40757 : 0 : res_op->set_op (VEC_COND_EXPR, type, 3);
40758 : 0 : {
40759 : 0 : tree _o1[2], _r1;
40760 : 0 : _o1[0] = captures[0];
40761 : 0 : _o1[1] = captures[3];
40762 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
40763 : 0 : tem_op.resimplify (lseq, valueize);
40764 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40765 : 0 : if (!_r1) goto next_after_fail2256;
40766 : 0 : res_op->ops[0] = _r1;
40767 : : }
40768 : 0 : res_op->ops[1] = captures[1];
40769 : 0 : res_op->ops[2] = captures[2];
40770 : 0 : res_op->resimplify (lseq, valueize);
40771 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
40772 : 0 : return true;
40773 : : }
40774 : 13 : next_after_fail2256:;
40775 : : }
40776 : : }
40777 : 13 : {
40778 : 13 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
40779 : 13 : const enum tree_code lop = BIT_IOR_EXPR;
40780 : 13 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
40781 : : )
40782 : : {
40783 : 0 : gimple_seq *lseq = seq;
40784 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2257;
40785 : 0 : {
40786 : 0 : res_op->set_op (VEC_COND_EXPR, type, 3);
40787 : 0 : {
40788 : 0 : tree _o1[2], _r1;
40789 : 0 : _o1[0] = captures[0];
40790 : 0 : _o1[1] = captures[3];
40791 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
40792 : 0 : tem_op.resimplify (lseq, valueize);
40793 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
40794 : 0 : if (!_r1) goto next_after_fail2257;
40795 : 0 : res_op->ops[0] = _r1;
40796 : : }
40797 : 0 : res_op->ops[1] = captures[1];
40798 : 0 : res_op->ops[2] = captures[2];
40799 : 0 : res_op->resimplify (lseq, valueize);
40800 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1061, __FILE__, __LINE__, true);
40801 : 0 : return true;
40802 : : }
40803 : 13 : next_after_fail2257:;
40804 : : }
40805 : : }
40806 : : }
40807 : : }
40808 : : break;
40809 : : }
40810 : : default:;
40811 : : }
40812 : : }
40813 : : break;
40814 : : default:;
40815 : : }
40816 : : }
40817 : : }
40818 : 2636 : {
40819 : 2636 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
40820 : 2636 : if (VECTOR_TYPE_P (type)
40821 : 2636 : && (TREE_CODE_CLASS (BIT_IOR_EXPR) != tcc_comparison
40822 : : || types_match (type, TREE_TYPE (captures[2]))
40823 : : || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
40824 : : || (optimize_vectors_before_lowering_p ()
40825 : : && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
40826 : : )
40827 : : {
40828 : 2636 : gimple_seq *lseq = seq;
40829 : 2636 : if (lseq
40830 : 396 : && (!single_use (captures[0])))
40831 : 2281 : lseq = NULL;
40832 : 2636 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2258;
40833 : 2636 : {
40834 : 2636 : res_op->set_op (VEC_COND_EXPR, type, 3);
40835 : 2636 : res_op->ops[0] = captures[1];
40836 : 2636 : {
40837 : 2636 : tree _o1[2], _r1;
40838 : 2636 : _o1[0] = captures[2];
40839 : 2636 : _o1[1] = captures[4];
40840 : 2636 : gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
40841 : 2636 : tem_op.resimplify (NULL, valueize);
40842 : 2636 : _r1 = maybe_push_res_to_seq (&tem_op, NULL);
40843 : 2636 : if (!_r1) goto next_after_fail2258;
40844 : 1673 : res_op->ops[1] = _r1;
40845 : : }
40846 : 1673 : {
40847 : 1673 : tree _o1[2], _r1;
40848 : 1673 : _o1[0] = captures[3];
40849 : 1673 : _o1[1] = captures[4];
40850 : 1673 : gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
40851 : 1673 : tem_op.resimplify (NULL, valueize);
40852 : 1673 : _r1 = maybe_push_res_to_seq (&tem_op, NULL);
40853 : 1673 : if (!_r1) goto next_after_fail2258;
40854 : 1400 : res_op->ops[2] = _r1;
40855 : : }
40856 : 1400 : res_op->resimplify (lseq, valueize);
40857 : 1400 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1062, __FILE__, __LINE__, true);
40858 : 1400 : return true;
40859 : : }
40860 : 1236 : next_after_fail2258:;
40861 : : }
40862 : : }
40863 : 1236 : break;
40864 : : }
40865 : : default:;
40866 : : }
40867 : : }
40868 : : break;
40869 : 4234958 : default:;
40870 : : }
40871 : 4234958 : switch (TREE_CODE (_p1))
40872 : : {
40873 : 3338826 : case SSA_NAME:
40874 : 3338826 : if (gimple *_d1 = get_def (valueize, _p1))
40875 : : {
40876 : 2722448 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
40877 : 2633285 : switch (gimple_assign_rhs_code (_a1))
40878 : : {
40879 : 1314 : case VEC_COND_EXPR:
40880 : 1314 : {
40881 : 1314 : tree _q30 = gimple_assign_rhs1 (_a1);
40882 : 1314 : _q30 = do_valueize (valueize, _q30);
40883 : 1314 : tree _q31 = gimple_assign_rhs2 (_a1);
40884 : 1314 : _q31 = do_valueize (valueize, _q31);
40885 : 1314 : tree _q32 = gimple_assign_rhs3 (_a1);
40886 : 1314 : _q32 = do_valueize (valueize, _q32);
40887 : 1314 : {
40888 : 1314 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
40889 : 1314 : if (VECTOR_TYPE_P (type)
40890 : 1314 : && (TREE_CODE_CLASS (BIT_IOR_EXPR) != tcc_comparison
40891 : : || types_match (type, TREE_TYPE (captures[3]))
40892 : : || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
40893 : : || (optimize_vectors_before_lowering_p ()
40894 : : && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
40895 : : )
40896 : : {
40897 : 1314 : gimple_seq *lseq = seq;
40898 : 1314 : if (lseq
40899 : 292 : && (!single_use (captures[1])))
40900 : 1022 : lseq = NULL;
40901 : 1314 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2259;
40902 : 1314 : {
40903 : 1314 : res_op->set_op (VEC_COND_EXPR, type, 3);
40904 : 1314 : res_op->ops[0] = captures[2];
40905 : 1314 : {
40906 : 1314 : tree _o1[2], _r1;
40907 : 1314 : _o1[0] = captures[0];
40908 : 1314 : _o1[1] = captures[3];
40909 : 1314 : gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
40910 : 1314 : tem_op.resimplify (NULL, valueize);
40911 : 1314 : _r1 = maybe_push_res_to_seq (&tem_op, NULL);
40912 : 1314 : if (!_r1) goto next_after_fail2259;
40913 : 683 : res_op->ops[1] = _r1;
40914 : : }
40915 : 683 : {
40916 : 683 : tree _o1[2], _r1;
40917 : 683 : _o1[0] = captures[0];
40918 : 683 : _o1[1] = captures[4];
40919 : 683 : gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
40920 : 683 : tem_op.resimplify (NULL, valueize);
40921 : 683 : _r1 = maybe_push_res_to_seq (&tem_op, NULL);
40922 : 683 : if (!_r1) goto next_after_fail2259;
40923 : 547 : res_op->ops[2] = _r1;
40924 : : }
40925 : 547 : res_op->resimplify (lseq, valueize);
40926 : 547 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1063, __FILE__, __LINE__, true);
40927 : 547 : return true;
40928 : : }
40929 : 767 : next_after_fail2259:;
40930 : : }
40931 : : }
40932 : 767 : break;
40933 : : }
40934 : : default:;
40935 : : }
40936 : : }
40937 : : break;
40938 : 4234411 : default:;
40939 : : }
40940 : 4234411 : switch (TREE_CODE (_p0))
40941 : : {
40942 : 4177192 : case SSA_NAME:
40943 : 4177192 : if (gimple *_d1 = get_def (valueize, _p0))
40944 : : {
40945 : 3320377 : if (gassign *_a1 = dyn_cast <gassign *> (_d1))
40946 : 3527412 : switch (gimple_assign_rhs_code (_a1))
40947 : : {
40948 : 401658 : case NE_EXPR:
40949 : 401658 : {
40950 : 401658 : tree _q20 = gimple_assign_rhs1 (_a1);
40951 : 401658 : _q20 = do_valueize (valueize, _q20);
40952 : 401658 : tree _q21 = gimple_assign_rhs2 (_a1);
40953 : 401658 : _q21 = do_valueize (valueize, _q21);
40954 : 401658 : if (tree_swap_operands_p (_q20, _q21))
40955 : 6234 : std::swap (_q20, _q21);
40956 : 401658 : switch (TREE_CODE (_p1))
40957 : : {
40958 : 401658 : case SSA_NAME:
40959 : 401658 : if (gimple *_d2 = get_def (valueize, _p1))
40960 : : {
40961 : 400185 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
40962 : 389974 : switch (gimple_assign_rhs_code (_a2))
40963 : : {
40964 : 336466 : case NE_EXPR:
40965 : 336466 : {
40966 : 336466 : tree _q50 = gimple_assign_rhs1 (_a2);
40967 : 336466 : _q50 = do_valueize (valueize, _q50);
40968 : 336466 : tree _q51 = gimple_assign_rhs2 (_a2);
40969 : 336466 : _q51 = do_valueize (valueize, _q51);
40970 : 336466 : if (tree_swap_operands_p (_q50, _q51))
40971 : 2828 : std::swap (_q50, _q51);
40972 : 336466 : switch (TREE_CODE (_q50))
40973 : : {
40974 : 336466 : case SSA_NAME:
40975 : 336466 : if (gimple *_d3 = get_def (valueize, _q50))
40976 : : {
40977 : 305667 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
40978 : 489284 : switch (gimple_assign_rhs_code (_a3))
40979 : : {
40980 : 2998 : case BIT_IOR_EXPR:
40981 : 2998 : {
40982 : 2998 : tree _q60 = gimple_assign_rhs1 (_a3);
40983 : 2998 : _q60 = do_valueize (valueize, _q60);
40984 : 2998 : tree _q61 = gimple_assign_rhs2 (_a3);
40985 : 2998 : _q61 = do_valueize (valueize, _q61);
40986 : 2998 : if (tree_swap_operands_p (_q60, _q61))
40987 : 55 : std::swap (_q60, _q61);
40988 : 2998 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
40989 : : {
40990 : 26 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
40991 : : {
40992 : 26 : if (integer_zerop (_q51))
40993 : : {
40994 : 26 : {
40995 : 26 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
40996 : 26 : if (gimple_simplify_177 (res_op, seq, valueize, type, captures))
40997 : 26 : return true;
40998 : : }
40999 : : }
41000 : : }
41001 : : }
41002 : 2972 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
41003 : : {
41004 : 0 : if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
41005 : : {
41006 : 0 : if (integer_zerop (_q51))
41007 : : {
41008 : 0 : {
41009 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q51 };
41010 : 0 : if (gimple_simplify_177 (res_op, seq, valueize, type, captures))
41011 : 0 : return true;
41012 : : }
41013 : : }
41014 : : }
41015 : : }
41016 : 401632 : break;
41017 : : }
41018 : : default:;
41019 : : }
41020 : : }
41021 : : break;
41022 : : default:;
41023 : : }
41024 : 401632 : break;
41025 : : }
41026 : : default:;
41027 : : }
41028 : : }
41029 : : break;
41030 : 401632 : default:;
41031 : : }
41032 : 401632 : switch (TREE_CODE (_q20))
41033 : : {
41034 : 401632 : case SSA_NAME:
41035 : 401632 : if (gimple *_d2 = get_def (valueize, _q20))
41036 : : {
41037 : 365437 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
41038 : 550881 : switch (gimple_assign_rhs_code (_a2))
41039 : : {
41040 : 3494 : case BIT_IOR_EXPR:
41041 : 3494 : {
41042 : 3494 : tree _q30 = gimple_assign_rhs1 (_a2);
41043 : 3494 : _q30 = do_valueize (valueize, _q30);
41044 : 3494 : tree _q31 = gimple_assign_rhs2 (_a2);
41045 : 3494 : _q31 = do_valueize (valueize, _q31);
41046 : 3494 : if (tree_swap_operands_p (_q30, _q31))
41047 : 23 : std::swap (_q30, _q31);
41048 : 3494 : if (integer_zerop (_q21))
41049 : : {
41050 : 3416 : switch (TREE_CODE (_p1))
41051 : : {
41052 : 3416 : case SSA_NAME:
41053 : 3416 : if (gimple *_d3 = get_def (valueize, _p1))
41054 : : {
41055 : 3416 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
41056 : 3381 : switch (gimple_assign_rhs_code (_a3))
41057 : : {
41058 : 260 : case NE_EXPR:
41059 : 260 : {
41060 : 260 : tree _q70 = gimple_assign_rhs1 (_a3);
41061 : 260 : _q70 = do_valueize (valueize, _q70);
41062 : 260 : tree _q71 = gimple_assign_rhs2 (_a3);
41063 : 260 : _q71 = do_valueize (valueize, _q71);
41064 : 260 : if (tree_swap_operands_p (_q70, _q71))
41065 : 0 : std::swap (_q70, _q71);
41066 : 260 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
41067 : : {
41068 : 0 : if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
41069 : : {
41070 : 0 : {
41071 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q20, _q21 };
41072 : 0 : if (gimple_simplify_178 (res_op, seq, valueize, type, captures))
41073 : 0 : return true;
41074 : : }
41075 : : }
41076 : : }
41077 : 260 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
41078 : : {
41079 : 0 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
41080 : : {
41081 : 0 : {
41082 : 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q20, _q21 };
41083 : 0 : if (gimple_simplify_178 (res_op, seq, valueize, type, captures))
41084 : 0 : return true;
41085 : : }
41086 : : }
41087 : : }
41088 : 4618774 : break;
41089 : : }
41090 : 3030 : case EQ_EXPR:
41091 : 3030 : {
41092 : 3030 : tree _q70 = gimple_assign_rhs1 (_a3);
41093 : 3030 : _q70 = do_valueize (valueize, _q70);
41094 : 3030 : tree _q71 = gimple_assign_rhs2 (_a3);
41095 : 3030 : _q71 = do_valueize (valueize, _q71);
41096 : 3030 : if (tree_swap_operands_p (_q70, _q71))
41097 : 0 : std::swap (_q70, _q71);
41098 : 3030 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
41099 : : {
41100 : 0 : if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
41101 : : {
41102 : 0 : {
41103 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
41104 : 0 : if (gimple_simplify_179 (res_op, seq, valueize, type, captures))
41105 : 0 : return true;
41106 : : }
41107 : : }
41108 : : }
41109 : 3030 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
41110 : : {
41111 : 0 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
41112 : : {
41113 : 0 : {
41114 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
41115 : 0 : if (gimple_simplify_179 (res_op, seq, valueize, type, captures))
41116 : 0 : return true;
41117 : : }
41118 : : }
41119 : : }
41120 : 4618774 : break;
41121 : : }
41122 : : default:;
41123 : : }
41124 : : }
41125 : : break;
41126 : : default:;
41127 : : }
41128 : : }
41129 : 4618774 : break;
41130 : : }
41131 : : default:;
41132 : : }
41133 : : }
41134 : : break;
41135 : : default:;
41136 : : }
41137 : 4618774 : break;
41138 : : }
41139 : 262627 : case EQ_EXPR:
41140 : 262627 : {
41141 : 262627 : tree _q20 = gimple_assign_rhs1 (_a1);
41142 : 262627 : _q20 = do_valueize (valueize, _q20);
41143 : 262627 : tree _q21 = gimple_assign_rhs2 (_a1);
41144 : 262627 : _q21 = do_valueize (valueize, _q21);
41145 : 262627 : if (tree_swap_operands_p (_q20, _q21))
41146 : 317 : std::swap (_q20, _q21);
41147 : 262627 : switch (TREE_CODE (_p1))
41148 : : {
41149 : 262625 : case SSA_NAME:
41150 : 262625 : if (gimple *_d2 = get_def (valueize, _p1))
41151 : : {
41152 : 261967 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
41153 : 258428 : switch (gimple_assign_rhs_code (_a2))
41154 : : {
41155 : 157651 : case EQ_EXPR:
41156 : 157651 : {
41157 : 157651 : tree _q50 = gimple_assign_rhs1 (_a2);
41158 : 157651 : _q50 = do_valueize (valueize, _q50);
41159 : 157651 : tree _q51 = gimple_assign_rhs2 (_a2);
41160 : 157651 : _q51 = do_valueize (valueize, _q51);
41161 : 157651 : if (tree_swap_operands_p (_q50, _q51))
41162 : 134 : std::swap (_q50, _q51);
41163 : 157651 : switch (TREE_CODE (_q50))
41164 : : {
41165 : 157651 : case SSA_NAME:
41166 : 157651 : if (gimple *_d3 = get_def (valueize, _q50))
41167 : : {
41168 : 139443 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
41169 : 135430 : switch (gimple_assign_rhs_code (_a3))
41170 : : {
41171 : 212 : case BIT_IOR_EXPR:
41172 : 212 : {
41173 : 212 : tree _q60 = gimple_assign_rhs1 (_a3);
41174 : 212 : _q60 = do_valueize (valueize, _q60);
41175 : 212 : tree _q61 = gimple_assign_rhs2 (_a3);
41176 : 212 : _q61 = do_valueize (valueize, _q61);
41177 : 212 : if (tree_swap_operands_p (_q60, _q61))
41178 : 1 : std::swap (_q60, _q61);
41179 : 212 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
41180 : : {
41181 : 16 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
41182 : : {
41183 : 12 : if (integer_zerop (_q51))
41184 : : {
41185 : 2 : {
41186 : 2 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
41187 : 2 : if (gimple_simplify_180 (res_op, seq, valueize, type, captures))
41188 : 2 : return true;
41189 : : }
41190 : : }
41191 : : }
41192 : : }
41193 : 210 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
41194 : : {
41195 : 0 : if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
41196 : : {
41197 : 0 : if (integer_zerop (_q51))
41198 : : {
41199 : 0 : {
41200 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
41201 : 0 : if (gimple_simplify_180 (res_op, seq, valueize, type, captures))
41202 : 0 : return true;
41203 : : }
41204 : : }
41205 : : }
41206 : : }
41207 : 262625 : break;
41208 : : }
41209 : : default:;
41210 : : }
41211 : : }
41212 : : break;
41213 : : default:;
41214 : : }
41215 : 262625 : break;
41216 : : }
41217 : : default:;
41218 : : }
41219 : : }
41220 : : break;
41221 : 262625 : default:;
41222 : : }
41223 : 262625 : switch (TREE_CODE (_q20))
41224 : : {
41225 : 262625 : case SSA_NAME:
41226 : 262625 : if (gimple *_d2 = get_def (valueize, _q20))
41227 : : {
41228 : 229640 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
41229 : 233269 : switch (gimple_assign_rhs_code (_a2))
41230 : : {
41231 : 696 : case BIT_IOR_EXPR:
41232 : 696 : {
41233 : 696 : tree _q30 = gimple_assign_rhs1 (_a2);
41234 : 696 : _q30 = do_valueize (valueize, _q30);
41235 : 696 : tree _q31 = gimple_assign_rhs2 (_a2);
41236 : 696 : _q31 = do_valueize (valueize, _q31);
41237 : 696 : if (tree_swap_operands_p (_q30, _q31))
41238 : 11 : std::swap (_q30, _q31);
41239 : 696 : if (integer_zerop (_q21))
41240 : : {
41241 : 130 : switch (TREE_CODE (_p1))
41242 : : {
41243 : 130 : case SSA_NAME:
41244 : 130 : if (gimple *_d3 = get_def (valueize, _p1))
41245 : : {
41246 : 130 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
41247 : 130 : switch (gimple_assign_rhs_code (_a3))
41248 : : {
41249 : 30 : case EQ_EXPR:
41250 : 30 : {
41251 : 30 : tree _q70 = gimple_assign_rhs1 (_a3);
41252 : 30 : _q70 = do_valueize (valueize, _q70);
41253 : 30 : tree _q71 = gimple_assign_rhs2 (_a3);
41254 : 30 : _q71 = do_valueize (valueize, _q71);
41255 : 30 : if (tree_swap_operands_p (_q70, _q71))
41256 : 0 : std::swap (_q70, _q71);
41257 : 30 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
41258 : : {
41259 : 4 : if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
41260 : : {
41261 : 0 : {
41262 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
41263 : 0 : if (gimple_simplify_181 (res_op, seq, valueize, type, captures))
41264 : 0 : return true;
41265 : : }
41266 : : }
41267 : : }
41268 : 30 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
41269 : : {
41270 : 0 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
41271 : : {
41272 : 0 : {
41273 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
41274 : 0 : if (gimple_simplify_181 (res_op, seq, valueize, type, captures))
41275 : 0 : return true;
41276 : : }
41277 : : }
41278 : : }
41279 : 262625 : break;
41280 : : }
41281 : : default:;
41282 : : }
41283 : : }
41284 : : break;
41285 : : default:;
41286 : : }
41287 : : }
41288 : 262625 : break;
41289 : : }
41290 : : default:;
41291 : : }
41292 : : }
41293 : : break;
41294 : 262625 : default:;
41295 : : }
41296 : 262625 : switch (TREE_CODE (_p1))
41297 : : {
41298 : 262623 : case SSA_NAME:
41299 : 262623 : if (gimple *_d2 = get_def (valueize, _p1))
41300 : : {
41301 : 261965 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
41302 : 258426 : switch (gimple_assign_rhs_code (_a2))
41303 : : {
41304 : 26361 : case NE_EXPR:
41305 : 26361 : {
41306 : 26361 : tree _q50 = gimple_assign_rhs1 (_a2);
41307 : 26361 : _q50 = do_valueize (valueize, _q50);
41308 : 26361 : tree _q51 = gimple_assign_rhs2 (_a2);
41309 : 26361 : _q51 = do_valueize (valueize, _q51);
41310 : 26361 : if (tree_swap_operands_p (_q50, _q51))
41311 : 164 : std::swap (_q50, _q51);
41312 : 26361 : switch (TREE_CODE (_q50))
41313 : : {
41314 : 26361 : case SSA_NAME:
41315 : 26361 : if (gimple *_d3 = get_def (valueize, _q50))
41316 : : {
41317 : 23827 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
41318 : 28597 : switch (gimple_assign_rhs_code (_a3))
41319 : : {
41320 : 3998 : case BIT_IOR_EXPR:
41321 : 3998 : {
41322 : 3998 : tree _q60 = gimple_assign_rhs1 (_a3);
41323 : 3998 : _q60 = do_valueize (valueize, _q60);
41324 : 3998 : tree _q61 = gimple_assign_rhs2 (_a3);
41325 : 3998 : _q61 = do_valueize (valueize, _q61);
41326 : 3998 : if (tree_swap_operands_p (_q60, _q61))
41327 : 0 : std::swap (_q60, _q61);
41328 : 3998 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
41329 : : {
41330 : 2 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
41331 : : {
41332 : 2 : if (integer_zerop (_q51))
41333 : : {
41334 : 2 : {
41335 : 2 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
41336 : 2 : if (gimple_simplify_182 (res_op, seq, valueize, type, captures))
41337 : 2 : return true;
41338 : : }
41339 : : }
41340 : : }
41341 : : }
41342 : 3996 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
41343 : : {
41344 : 0 : if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
41345 : : {
41346 : 0 : if (integer_zerop (_q51))
41347 : : {
41348 : 0 : {
41349 : 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
41350 : 0 : if (gimple_simplify_182 (res_op, seq, valueize, type, captures))
41351 : 0 : return true;
41352 : : }
41353 : : }
41354 : : }
41355 : : }
41356 : 4618774 : break;
41357 : : }
41358 : : default:;
41359 : : }
41360 : : }
41361 : : break;
41362 : : default:;
41363 : : }
41364 : 4618774 : break;
41365 : : }
41366 : : default:;
41367 : : }
41368 : : }
41369 : : break;
41370 : : default:;
41371 : : }
41372 : 4618774 : break;
41373 : : }
41374 : 359 : case UNORDERED_EXPR:
41375 : 359 : {
41376 : 359 : tree _q20 = gimple_assign_rhs1 (_a1);
41377 : 359 : _q20 = do_valueize (valueize, _q20);
41378 : 359 : tree _q21 = gimple_assign_rhs2 (_a1);
41379 : 359 : _q21 = do_valueize (valueize, _q21);
41380 : 359 : if (tree_swap_operands_p (_q20, _q21))
41381 : 0 : std::swap (_q20, _q21);
41382 : 359 : if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
41383 : : {
41384 : 153 : switch (TREE_CODE (_p1))
41385 : : {
41386 : 153 : case SSA_NAME:
41387 : 153 : if (gimple *_d2 = get_def (valueize, _p1))
41388 : : {
41389 : 153 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
41390 : 153 : switch (gimple_assign_rhs_code (_a2))
41391 : : {
41392 : 112 : case UNORDERED_EXPR:
41393 : 112 : {
41394 : 112 : tree _q50 = gimple_assign_rhs1 (_a2);
41395 : 112 : _q50 = do_valueize (valueize, _q50);
41396 : 112 : tree _q51 = gimple_assign_rhs2 (_a2);
41397 : 112 : _q51 = do_valueize (valueize, _q51);
41398 : 112 : if (tree_swap_operands_p (_q50, _q51))
41399 : 0 : std::swap (_q50, _q51);
41400 : 112 : if ((_q51 == _q50 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q50, 0) && types_match (_q51, _q50)))
41401 : : {
41402 : 32 : {
41403 : 32 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
41404 : 32 : if (types_match (captures[0], captures[1])
41405 : : )
41406 : : {
41407 : 16 : gimple_seq *lseq = seq;
41408 : 16 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2260;
41409 : 16 : {
41410 : 16 : res_op->set_op (UNORDERED_EXPR, type, 2);
41411 : 16 : res_op->ops[0] = captures[0];
41412 : 16 : res_op->ops[1] = captures[1];
41413 : 16 : res_op->resimplify (lseq, valueize);
41414 : 16 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1112, __FILE__, __LINE__, true);
41415 : 16 : return true;
41416 : : }
41417 : 0 : next_after_fail2260:;
41418 : : }
41419 : : }
41420 : : }
41421 : 96 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
41422 : : {
41423 : 0 : {
41424 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q51 };
41425 : 0 : if (gimple_simplify_183 (res_op, seq, valueize, type, captures))
41426 : 0 : return true;
41427 : : }
41428 : : }
41429 : 96 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
41430 : : {
41431 : 0 : {
41432 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q50 };
41433 : 0 : if (gimple_simplify_183 (res_op, seq, valueize, type, captures))
41434 : 0 : return true;
41435 : : }
41436 : : }
41437 : 343 : break;
41438 : : }
41439 : : default:;
41440 : : }
41441 : : }
41442 : : break;
41443 : : default:;
41444 : : }
41445 : : }
41446 : 343 : switch (TREE_CODE (_p1))
41447 : : {
41448 : 343 : case SSA_NAME:
41449 : 343 : if (gimple *_d2 = get_def (valueize, _p1))
41450 : : {
41451 : 343 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
41452 : 343 : switch (gimple_assign_rhs_code (_a2))
41453 : : {
41454 : 280 : case UNORDERED_EXPR:
41455 : 280 : {
41456 : 280 : tree _q50 = gimple_assign_rhs1 (_a2);
41457 : 280 : _q50 = do_valueize (valueize, _q50);
41458 : 280 : tree _q51 = gimple_assign_rhs2 (_a2);
41459 : 280 : _q51 = do_valueize (valueize, _q51);
41460 : 280 : if (tree_swap_operands_p (_q50, _q51))
41461 : 0 : std::swap (_q50, _q51);
41462 : 280 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
41463 : : {
41464 : 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
41465 : : {
41466 : 0 : {
41467 : 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
41468 : 0 : if (gimple_simplify_184 (res_op, seq, valueize, type, captures))
41469 : 0 : return true;
41470 : : }
41471 : : }
41472 : : }
41473 : 280 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
41474 : : {
41475 : 2 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
41476 : : {
41477 : 2 : {
41478 : 2 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _p0, _q20 };
41479 : 2 : if (gimple_simplify_184 (res_op, seq, valueize, type, captures))
41480 : 2 : return true;
41481 : : }
41482 : : }
41483 : : }
41484 : 4618774 : break;
41485 : : }
41486 : : default:;
41487 : : }
41488 : : }
41489 : : break;
41490 : : default:;
41491 : : }
41492 : 4618774 : break;
41493 : : }
41494 : 356185 : case LT_EXPR:
41495 : 356185 : {
41496 : 356185 : tree _q20 = gimple_assign_rhs1 (_a1);
41497 : 356185 : _q20 = do_valueize (valueize, _q20);
41498 : 356185 : tree _q21 = gimple_assign_rhs2 (_a1);
41499 : 356185 : _q21 = do_valueize (valueize, _q21);
41500 : 356185 : switch (TREE_CODE (_p1))
41501 : : {
41502 : 356185 : case SSA_NAME:
41503 : 356185 : if (gimple *_d2 = get_def (valueize, _p1))
41504 : : {
41505 : 355783 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
41506 : 354477 : switch (gimple_assign_rhs_code (_a2))
41507 : : {
41508 : 263486 : case LT_EXPR:
41509 : 263486 : {
41510 : 263486 : tree _q50 = gimple_assign_rhs1 (_a2);
41511 : 263486 : _q50 = do_valueize (valueize, _q50);
41512 : 263486 : tree _q51 = gimple_assign_rhs2 (_a2);
41513 : 263486 : _q51 = do_valueize (valueize, _q51);
41514 : 263486 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
41515 : : {
41516 : 17184 : {
41517 : 17184 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
41518 : 17184 : if (gimple_simplify_185 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LT_EXPR, MAX_EXPR))
41519 : 6 : return true;
41520 : : }
41521 : : }
41522 : 263480 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
41523 : : {
41524 : 69935 : {
41525 : 69935 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
41526 : 69935 : if (gimple_simplify_185 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GT_EXPR, MIN_EXPR))
41527 : 1044 : return true;
41528 : : }
41529 : : }
41530 : : break;
41531 : : }
41532 : 42445 : case GT_EXPR:
41533 : 42445 : {
41534 : 42445 : tree _q50 = gimple_assign_rhs1 (_a2);
41535 : 42445 : _q50 = do_valueize (valueize, _q50);
41536 : 42445 : tree _q51 = gimple_assign_rhs2 (_a2);
41537 : 42445 : _q51 = do_valueize (valueize, _q51);
41538 : 42445 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
41539 : : {
41540 : 3 : {
41541 : 3 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
41542 : 3 : if (gimple_simplify_185 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LT_EXPR, MAX_EXPR))
41543 : 0 : return true;
41544 : : }
41545 : : }
41546 : 42445 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
41547 : : {
41548 : 230 : {
41549 : 230 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
41550 : 230 : if (gimple_simplify_185 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GT_EXPR, MIN_EXPR))
41551 : 221 : return true;
41552 : : }
41553 : : }
41554 : : break;
41555 : : }
41556 : : default:;
41557 : : }
41558 : : }
41559 : : break;
41560 : 354914 : default:;
41561 : : }
41562 : 354914 : switch (TREE_CODE (_q20))
41563 : : {
41564 : 354873 : case SSA_NAME:
41565 : 354873 : if (gimple *_d2 = get_def (valueize, _q20))
41566 : : {
41567 : 336358 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
41568 : 585584 : switch (gimple_assign_rhs_code (_a2))
41569 : : {
41570 : 357 : case POINTER_PLUS_EXPR:
41571 : 357 : {
41572 : 357 : tree _q30 = gimple_assign_rhs1 (_a2);
41573 : 357 : _q30 = do_valueize (valueize, _q30);
41574 : 357 : tree _q31 = gimple_assign_rhs2 (_a2);
41575 : 357 : _q31 = do_valueize (valueize, _q31);
41576 : 357 : switch (TREE_CODE (_q31))
41577 : : {
41578 : 62 : case INTEGER_CST:
41579 : 62 : {
41580 : 62 : switch (TREE_CODE (_p1))
41581 : : {
41582 : 62 : case SSA_NAME:
41583 : 62 : if (gimple *_d3 = get_def (valueize, _p1))
41584 : : {
41585 : 62 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
41586 : 62 : switch (gimple_assign_rhs_code (_a3))
41587 : : {
41588 : 16 : case LT_EXPR:
41589 : 16 : {
41590 : 16 : tree _q70 = gimple_assign_rhs1 (_a3);
41591 : 16 : _q70 = do_valueize (valueize, _q70);
41592 : 16 : tree _q71 = gimple_assign_rhs2 (_a3);
41593 : 16 : _q71 = do_valueize (valueize, _q71);
41594 : 16 : switch (TREE_CODE (_q70))
41595 : : {
41596 : 16 : case SSA_NAME:
41597 : 16 : if (gimple *_d4 = get_def (valueize, _q70))
41598 : : {
41599 : 16 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
41600 : 16 : switch (gimple_assign_rhs_code (_a4))
41601 : : {
41602 : 16 : case POINTER_PLUS_EXPR:
41603 : 16 : {
41604 : 16 : tree _q80 = gimple_assign_rhs1 (_a4);
41605 : 16 : _q80 = do_valueize (valueize, _q80);
41606 : 16 : tree _q81 = gimple_assign_rhs2 (_a4);
41607 : 16 : _q81 = do_valueize (valueize, _q81);
41608 : 16 : if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
41609 : : {
41610 : 16 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
41611 : : {
41612 : 16 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
41613 : : {
41614 : 16 : {
41615 : 16 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q70 };
41616 : 16 : const enum tree_code cmp = LT_EXPR;
41617 : 16 : if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
41618 : 0 : && TYPE_OVERFLOW_WRAPS (sizetype)
41619 : 16 : && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
41620 : : )
41621 : : {
41622 : 0 : {
41623 : 0 : offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
41624 : 0 : offset_int rhs = off * 2;
41625 : 0 : if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
41626 : : )
41627 : : {
41628 : 0 : {
41629 : 0 : bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
41630 : 0 : tree rhs_tree = wide_int_to_tree (sizetype, rhs);
41631 : 0 : if (cmp == LT_EXPR
41632 : : )
41633 : : {
41634 : 0 : gimple_seq *lseq = seq;
41635 : 0 : if (lseq
41636 : 0 : && (!single_use (captures[0])
41637 : 0 : || !single_use (captures[5])))
41638 : 0 : lseq = NULL;
41639 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2261;
41640 : 0 : {
41641 : 0 : res_op->set_op (GT_EXPR, type, 2);
41642 : 0 : {
41643 : 0 : tree _r1;
41644 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
41645 : 0 : {
41646 : 0 : tree _o2[2], _r2;
41647 : 0 : _o2[0] = swap_p ? captures[6] : captures[1];
41648 : 0 : _o2[1] = swap_p ? captures[2] : captures[4];
41649 : 0 : tem_op.set_op (POINTER_DIFF_EXPR, ssizetype, 2);
41650 : 0 : tem_op.ops[0] = _o2[0];
41651 : 0 : tem_op.ops[1] = _o2[1];
41652 : 0 : tem_op.resimplify (lseq, valueize);
41653 : : }
41654 : 0 : if (sizetype != tem_op.type
41655 : 0 : && !useless_type_conversion_p (sizetype, tem_op.type))
41656 : : {
41657 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
41658 : 0 : if (!_r1) goto next_after_fail2261;
41659 : 0 : tem_op.set_op (NOP_EXPR, sizetype, 1);
41660 : 0 : tem_op.ops[0] = _r1;
41661 : 0 : tem_op.resimplify (lseq, valueize);
41662 : : }
41663 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
41664 : 0 : if (!_r1) goto next_after_fail2261;
41665 : 0 : res_op->ops[0] = _r1;
41666 : : }
41667 : 0 : res_op->ops[1] = rhs_tree;
41668 : 0 : res_op->resimplify (lseq, valueize);
41669 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1113, __FILE__, __LINE__, true);
41670 : 0 : return true;
41671 : : }
41672 : 0 : next_after_fail2261:;
41673 : : }
41674 : : else
41675 : : {
41676 : : gimple_seq *lseq = seq;
41677 : : if (lseq
41678 : : && (!single_use (captures[0])
41679 : : || !single_use (captures[5])))
41680 : : lseq = NULL;
41681 : : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2262;
41682 : : {
41683 : : res_op->set_op (GT_EXPR, type, 2);
41684 : : {
41685 : : tree _r1;
41686 : : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
41687 : : {
41688 : : tree _o2[2], _r2;
41689 : : {
41690 : : tree _o3[2], _r3;
41691 : : _o3[0] = swap_p ? captures[4] : captures[2];
41692 : : _o3[1] = wide_int_to_tree (sizetype, off);
41693 : : gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
41694 : : tem_op.resimplify (lseq, valueize);
41695 : : _r3 = maybe_push_res_to_seq (&tem_op, lseq);
41696 : : if (!_r3) goto next_after_fail2262;
41697 : : _o2[0] = _r3;
41698 : : }
41699 : : _o2[1] = swap_p ? captures[2] : captures[4];
41700 : : tem_op.set_op (POINTER_DIFF_EXPR, ssizetype, 2);
41701 : : tem_op.ops[0] = _o2[0];
41702 : : tem_op.ops[1] = _o2[1];
41703 : : tem_op.resimplify (lseq, valueize);
41704 : : }
41705 : : if (sizetype != tem_op.type
41706 : : && !useless_type_conversion_p (sizetype, tem_op.type))
41707 : : {
41708 : : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
41709 : : if (!_r1) goto next_after_fail2262;
41710 : : tem_op.set_op (NOP_EXPR, sizetype, 1);
41711 : : tem_op.ops[0] = _r1;
41712 : : tem_op.resimplify (lseq, valueize);
41713 : : }
41714 : : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
41715 : : if (!_r1) goto next_after_fail2262;
41716 : : res_op->ops[0] = _r1;
41717 : : }
41718 : : res_op->ops[1] = rhs_tree;
41719 : : res_op->resimplify (lseq, valueize);
41720 : : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1114, __FILE__, __LINE__, true);
41721 : : return true;
41722 : : }
41723 : : next_after_fail2262:;
41724 : : }
41725 : : }
41726 : : }
41727 : : }
41728 : : }
41729 : : }
41730 : : }
41731 : : }
41732 : : }
41733 : : break;
41734 : : }
41735 : : default:;
41736 : : }
41737 : : }
41738 : : break;
41739 : : default:;
41740 : : }
41741 : : break;
41742 : : }
41743 : 24 : case GT_EXPR:
41744 : 24 : {
41745 : 24 : tree _q70 = gimple_assign_rhs1 (_a3);
41746 : 24 : _q70 = do_valueize (valueize, _q70);
41747 : 24 : tree _q71 = gimple_assign_rhs2 (_a3);
41748 : 24 : _q71 = do_valueize (valueize, _q71);
41749 : 24 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
41750 : : {
41751 : 14 : switch (TREE_CODE (_q71))
41752 : : {
41753 : 14 : case SSA_NAME:
41754 : 14 : if (gimple *_d4 = get_def (valueize, _q71))
41755 : : {
41756 : 14 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
41757 : 14 : switch (gimple_assign_rhs_code (_a4))
41758 : : {
41759 : 14 : case POINTER_PLUS_EXPR:
41760 : 14 : {
41761 : 14 : tree _q90 = gimple_assign_rhs1 (_a4);
41762 : 14 : _q90 = do_valueize (valueize, _q90);
41763 : 14 : tree _q91 = gimple_assign_rhs2 (_a4);
41764 : 14 : _q91 = do_valueize (valueize, _q91);
41765 : 14 : if ((_q90 == _q21 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q21, 0) && types_match (_q90, _q21)))
41766 : : {
41767 : 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
41768 : : {
41769 : 0 : {
41770 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q71 };
41771 : 0 : const enum tree_code cmp = LT_EXPR;
41772 : 0 : if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
41773 : 0 : && TYPE_OVERFLOW_WRAPS (sizetype)
41774 : 0 : && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
41775 : : )
41776 : : {
41777 : 0 : {
41778 : 0 : offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
41779 : 0 : offset_int rhs = off * 2;
41780 : 0 : if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
41781 : : )
41782 : : {
41783 : 0 : {
41784 : 0 : bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
41785 : 0 : tree rhs_tree = wide_int_to_tree (sizetype, rhs);
41786 : 0 : if (cmp == LT_EXPR
41787 : : )
41788 : : {
41789 : 0 : gimple_seq *lseq = seq;
41790 : 0 : if (lseq
41791 : 0 : && (!single_use (captures[0])
41792 : 0 : || !single_use (captures[5])))
41793 : 0 : lseq = NULL;
41794 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2263;
41795 : 0 : {
41796 : 0 : res_op->set_op (GT_EXPR, type, 2);
41797 : 0 : {
41798 : 0 : tree _r1;
41799 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
41800 : 0 : {
41801 : 0 : tree _o2[2], _r2;
41802 : 0 : _o2[0] = swap_p ? captures[6] : captures[1];
41803 : 0 : _o2[1] = swap_p ? captures[2] : captures[4];
41804 : 0 : tem_op.set_op (POINTER_DIFF_EXPR, ssizetype, 2);
41805 : 0 : tem_op.ops[0] = _o2[0];
41806 : 0 : tem_op.ops[1] = _o2[1];
41807 : 0 : tem_op.resimplify (lseq, valueize);
41808 : : }
41809 : 0 : if (sizetype != tem_op.type
41810 : 0 : && !useless_type_conversion_p (sizetype, tem_op.type))
41811 : : {
41812 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
41813 : 0 : if (!_r1) goto next_after_fail2263;
41814 : 0 : tem_op.set_op (NOP_EXPR, sizetype, 1);
41815 : 0 : tem_op.ops[0] = _r1;
41816 : 0 : tem_op.resimplify (lseq, valueize);
41817 : : }
41818 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
41819 : 0 : if (!_r1) goto next_after_fail2263;
41820 : 0 : res_op->ops[0] = _r1;
41821 : : }
41822 : 0 : res_op->ops[1] = rhs_tree;
41823 : 0 : res_op->resimplify (lseq, valueize);
41824 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1113, __FILE__, __LINE__, true);
41825 : 0 : return true;
41826 : : }
41827 : 0 : next_after_fail2263:;
41828 : : }
41829 : : else
41830 : : {
41831 : : gimple_seq *lseq = seq;
41832 : : if (lseq
41833 : : && (!single_use (captures[0])
41834 : : || !single_use (captures[5])))
41835 : : lseq = NULL;
41836 : : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2264;
41837 : : {
41838 : : res_op->set_op (GT_EXPR, type, 2);
41839 : : {
41840 : : tree _r1;
41841 : : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
41842 : : {
41843 : : tree _o2[2], _r2;
41844 : : {
41845 : : tree _o3[2], _r3;
41846 : : _o3[0] = swap_p ? captures[4] : captures[2];
41847 : : _o3[1] = wide_int_to_tree (sizetype, off);
41848 : : gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
41849 : : tem_op.resimplify (lseq, valueize);
41850 : : _r3 = maybe_push_res_to_seq (&tem_op, lseq);
41851 : : if (!_r3) goto next_after_fail2264;
41852 : : _o2[0] = _r3;
41853 : : }
41854 : : _o2[1] = swap_p ? captures[2] : captures[4];
41855 : : tem_op.set_op (POINTER_DIFF_EXPR, ssizetype, 2);
41856 : : tem_op.ops[0] = _o2[0];
41857 : : tem_op.ops[1] = _o2[1];
41858 : : tem_op.resimplify (lseq, valueize);
41859 : : }
41860 : : if (sizetype != tem_op.type
41861 : : && !useless_type_conversion_p (sizetype, tem_op.type))
41862 : : {
41863 : : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
41864 : : if (!_r1) goto next_after_fail2264;
41865 : : tem_op.set_op (NOP_EXPR, sizetype, 1);
41866 : : tem_op.ops[0] = _r1;
41867 : : tem_op.resimplify (lseq, valueize);
41868 : : }
41869 : : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
41870 : : if (!_r1) goto next_after_fail2264;
41871 : : res_op->ops[0] = _r1;
41872 : : }
41873 : : res_op->ops[1] = rhs_tree;
41874 : : res_op->resimplify (lseq, valueize);
41875 : : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1114, __FILE__, __LINE__, true);
41876 : : return true;
41877 : : }
41878 : : next_after_fail2264:;
41879 : : }
41880 : : }
41881 : : }
41882 : : }
41883 : : }
41884 : : }
41885 : : }
41886 : : }
41887 : : break;
41888 : : }
41889 : : default:;
41890 : : }
41891 : : }
41892 : : break;
41893 : : default:;
41894 : : }
41895 : : }
41896 : : break;
41897 : : }
41898 : : default:;
41899 : : }
41900 : : }
41901 : : break;
41902 : : default:;
41903 : : }
41904 : : break;
41905 : : }
41906 : : default:;
41907 : : }
41908 : : break;
41909 : : }
41910 : : default:;
41911 : : }
41912 : : }
41913 : : break;
41914 : : default:;
41915 : : }
41916 : : break;
41917 : : }
41918 : 82307 : case LE_EXPR:
41919 : 82307 : {
41920 : 82307 : tree _q20 = gimple_assign_rhs1 (_a1);
41921 : 82307 : _q20 = do_valueize (valueize, _q20);
41922 : 82307 : tree _q21 = gimple_assign_rhs2 (_a1);
41923 : 82307 : _q21 = do_valueize (valueize, _q21);
41924 : 82307 : switch (TREE_CODE (_p1))
41925 : : {
41926 : 82307 : case SSA_NAME:
41927 : 82307 : if (gimple *_d2 = get_def (valueize, _p1))
41928 : : {
41929 : 82073 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
41930 : 79752 : switch (gimple_assign_rhs_code (_a2))
41931 : : {
41932 : 11824 : case LE_EXPR:
41933 : 11824 : {
41934 : 11824 : tree _q50 = gimple_assign_rhs1 (_a2);
41935 : 11824 : _q50 = do_valueize (valueize, _q50);
41936 : 11824 : tree _q51 = gimple_assign_rhs2 (_a2);
41937 : 11824 : _q51 = do_valueize (valueize, _q51);
41938 : 11824 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
41939 : : {
41940 : 510 : {
41941 : 510 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
41942 : 510 : if (gimple_simplify_185 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LE_EXPR, MAX_EXPR))
41943 : 4 : return true;
41944 : : }
41945 : : }
41946 : 11820 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
41947 : : {
41948 : 5114 : {
41949 : 5114 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
41950 : 5114 : if (gimple_simplify_185 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GE_EXPR, MIN_EXPR))
41951 : 768 : return true;
41952 : : }
41953 : : }
41954 : : break;
41955 : : }
41956 : 2653 : case GE_EXPR:
41957 : 2653 : {
41958 : 2653 : tree _q50 = gimple_assign_rhs1 (_a2);
41959 : 2653 : _q50 = do_valueize (valueize, _q50);
41960 : 2653 : tree _q51 = gimple_assign_rhs2 (_a2);
41961 : 2653 : _q51 = do_valueize (valueize, _q51);
41962 : 2653 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
41963 : : {
41964 : 20 : {
41965 : 20 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
41966 : 20 : if (gimple_simplify_185 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LE_EXPR, MAX_EXPR))
41967 : 8 : return true;
41968 : : }
41969 : : }
41970 : 2645 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
41971 : : {
41972 : 96 : {
41973 : 96 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
41974 : 96 : if (gimple_simplify_185 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GE_EXPR, MIN_EXPR))
41975 : 96 : return true;
41976 : : }
41977 : : }
41978 : : break;
41979 : : }
41980 : : default:;
41981 : : }
41982 : : }
41983 : : break;
41984 : 81431 : default:;
41985 : : }
41986 : 81431 : switch (TREE_CODE (_q20))
41987 : : {
41988 : 81431 : case SSA_NAME:
41989 : 81431 : if (gimple *_d2 = get_def (valueize, _q20))
41990 : : {
41991 : 76971 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
41992 : 81543 : switch (gimple_assign_rhs_code (_a2))
41993 : : {
41994 : 614 : case POINTER_PLUS_EXPR:
41995 : 614 : {
41996 : 614 : tree _q30 = gimple_assign_rhs1 (_a2);
41997 : 614 : _q30 = do_valueize (valueize, _q30);
41998 : 614 : tree _q31 = gimple_assign_rhs2 (_a2);
41999 : 614 : _q31 = do_valueize (valueize, _q31);
42000 : 614 : switch (TREE_CODE (_q31))
42001 : : {
42002 : 308 : case INTEGER_CST:
42003 : 308 : {
42004 : 308 : switch (TREE_CODE (_p1))
42005 : : {
42006 : 308 : case SSA_NAME:
42007 : 308 : if (gimple *_d3 = get_def (valueize, _p1))
42008 : : {
42009 : 308 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
42010 : 308 : switch (gimple_assign_rhs_code (_a3))
42011 : : {
42012 : 104 : case LE_EXPR:
42013 : 104 : {
42014 : 104 : tree _q70 = gimple_assign_rhs1 (_a3);
42015 : 104 : _q70 = do_valueize (valueize, _q70);
42016 : 104 : tree _q71 = gimple_assign_rhs2 (_a3);
42017 : 104 : _q71 = do_valueize (valueize, _q71);
42018 : 104 : switch (TREE_CODE (_q70))
42019 : : {
42020 : 104 : case SSA_NAME:
42021 : 104 : if (gimple *_d4 = get_def (valueize, _q70))
42022 : : {
42023 : 99 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
42024 : 99 : switch (gimple_assign_rhs_code (_a4))
42025 : : {
42026 : 99 : case POINTER_PLUS_EXPR:
42027 : 99 : {
42028 : 99 : tree _q80 = gimple_assign_rhs1 (_a4);
42029 : 99 : _q80 = do_valueize (valueize, _q80);
42030 : 99 : tree _q81 = gimple_assign_rhs2 (_a4);
42031 : 99 : _q81 = do_valueize (valueize, _q81);
42032 : 99 : if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
42033 : : {
42034 : 94 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
42035 : : {
42036 : 16 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
42037 : : {
42038 : 16 : {
42039 : 16 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q70 };
42040 : 16 : const enum tree_code cmp = LE_EXPR;
42041 : 16 : if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
42042 : 0 : && TYPE_OVERFLOW_WRAPS (sizetype)
42043 : 16 : && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
42044 : : )
42045 : : {
42046 : 0 : {
42047 : 0 : offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
42048 : 0 : offset_int rhs = off * 2;
42049 : 0 : if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
42050 : : )
42051 : : {
42052 : 0 : {
42053 : 0 : bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
42054 : 0 : tree rhs_tree = wide_int_to_tree (sizetype, rhs);
42055 : 0 : if (cmp == LT_EXPR
42056 : : )
42057 : : {
42058 : : gimple_seq *lseq = seq;
42059 : : if (lseq
42060 : : && (!single_use (captures[0])
42061 : : || !single_use (captures[5])))
42062 : : lseq = NULL;
42063 : : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2265;
42064 : : {
42065 : : res_op->set_op (GT_EXPR, type, 2);
42066 : : {
42067 : : tree _r1;
42068 : : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
42069 : : {
42070 : : tree _o2[2], _r2;
42071 : : _o2[0] = swap_p ? captures[6] : captures[1];
42072 : : _o2[1] = swap_p ? captures[2] : captures[4];
42073 : : tem_op.set_op (POINTER_DIFF_EXPR, ssizetype, 2);
42074 : : tem_op.ops[0] = _o2[0];
42075 : : tem_op.ops[1] = _o2[1];
42076 : : tem_op.resimplify (lseq, valueize);
42077 : : }
42078 : : if (sizetype != tem_op.type
42079 : : && !useless_type_conversion_p (sizetype, tem_op.type))
42080 : : {
42081 : : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
42082 : : if (!_r1) goto next_after_fail2265;
42083 : : tem_op.set_op (NOP_EXPR, sizetype, 1);
42084 : : tem_op.ops[0] = _r1;
42085 : : tem_op.resimplify (lseq, valueize);
42086 : : }
42087 : : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
42088 : : if (!_r1) goto next_after_fail2265;
42089 : : res_op->ops[0] = _r1;
42090 : : }
42091 : : res_op->ops[1] = rhs_tree;
42092 : : res_op->resimplify (lseq, valueize);
42093 : : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1113, __FILE__, __LINE__, true);
42094 : 0 : return true;
42095 : : }
42096 : : next_after_fail2265:;
42097 : : }
42098 : : else
42099 : : {
42100 : 0 : gimple_seq *lseq = seq;
42101 : 0 : if (lseq
42102 : 0 : && (!single_use (captures[0])
42103 : 0 : || !single_use (captures[5])))
42104 : 0 : lseq = NULL;
42105 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2266;
42106 : 0 : {
42107 : 0 : res_op->set_op (GT_EXPR, type, 2);
42108 : 0 : {
42109 : 0 : tree _r1;
42110 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
42111 : 0 : {
42112 : 0 : tree _o2[2], _r2;
42113 : 0 : {
42114 : 0 : tree _o3[2], _r3;
42115 : 0 : _o3[0] = swap_p ? captures[4] : captures[2];
42116 : 0 : _o3[1] = wide_int_to_tree (sizetype, off);
42117 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
42118 : 0 : tem_op.resimplify (lseq, valueize);
42119 : 0 : _r3 = maybe_push_res_to_seq (&tem_op, lseq);
42120 : 0 : if (!_r3) goto next_after_fail2266;
42121 : 0 : _o2[0] = _r3;
42122 : : }
42123 : 0 : _o2[1] = swap_p ? captures[2] : captures[4];
42124 : 0 : tem_op.set_op (POINTER_DIFF_EXPR, ssizetype, 2);
42125 : 0 : tem_op.ops[0] = _o2[0];
42126 : 0 : tem_op.ops[1] = _o2[1];
42127 : 0 : tem_op.resimplify (lseq, valueize);
42128 : : }
42129 : 0 : if (sizetype != tem_op.type
42130 : 0 : && !useless_type_conversion_p (sizetype, tem_op.type))
42131 : : {
42132 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
42133 : 0 : if (!_r1) goto next_after_fail2266;
42134 : 0 : tem_op.set_op (NOP_EXPR, sizetype, 1);
42135 : 0 : tem_op.ops[0] = _r1;
42136 : 0 : tem_op.resimplify (lseq, valueize);
42137 : : }
42138 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
42139 : 0 : if (!_r1) goto next_after_fail2266;
42140 : 0 : res_op->ops[0] = _r1;
42141 : : }
42142 : 0 : res_op->ops[1] = rhs_tree;
42143 : 0 : res_op->resimplify (lseq, valueize);
42144 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1114, __FILE__, __LINE__, true);
42145 : 0 : return true;
42146 : : }
42147 : 0 : next_after_fail2266:;
42148 : : }
42149 : : }
42150 : : }
42151 : : }
42152 : : }
42153 : : }
42154 : : }
42155 : : }
42156 : : }
42157 : : break;
42158 : : }
42159 : : default:;
42160 : : }
42161 : : }
42162 : : break;
42163 : : default:;
42164 : : }
42165 : : break;
42166 : : }
42167 : 200 : case GE_EXPR:
42168 : 200 : {
42169 : 200 : tree _q70 = gimple_assign_rhs1 (_a3);
42170 : 200 : _q70 = do_valueize (valueize, _q70);
42171 : 200 : tree _q71 = gimple_assign_rhs2 (_a3);
42172 : 200 : _q71 = do_valueize (valueize, _q71);
42173 : 200 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
42174 : : {
42175 : 200 : switch (TREE_CODE (_q71))
42176 : : {
42177 : 165 : case SSA_NAME:
42178 : 165 : if (gimple *_d4 = get_def (valueize, _q71))
42179 : : {
42180 : 165 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
42181 : 165 : switch (gimple_assign_rhs_code (_a4))
42182 : : {
42183 : 159 : case POINTER_PLUS_EXPR:
42184 : 159 : {
42185 : 159 : tree _q90 = gimple_assign_rhs1 (_a4);
42186 : 159 : _q90 = do_valueize (valueize, _q90);
42187 : 159 : tree _q91 = gimple_assign_rhs2 (_a4);
42188 : 159 : _q91 = do_valueize (valueize, _q91);
42189 : 159 : if ((_q90 == _q21 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q21, 0) && types_match (_q90, _q21)))
42190 : : {
42191 : 118 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
42192 : : {
42193 : 0 : {
42194 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q71 };
42195 : 0 : const enum tree_code cmp = LE_EXPR;
42196 : 0 : if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
42197 : 0 : && TYPE_OVERFLOW_WRAPS (sizetype)
42198 : 0 : && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
42199 : : )
42200 : : {
42201 : 0 : {
42202 : 0 : offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
42203 : 0 : offset_int rhs = off * 2;
42204 : 0 : if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
42205 : : )
42206 : : {
42207 : 0 : {
42208 : 0 : bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
42209 : 0 : tree rhs_tree = wide_int_to_tree (sizetype, rhs);
42210 : 0 : if (cmp == LT_EXPR
42211 : : )
42212 : : {
42213 : : gimple_seq *lseq = seq;
42214 : : if (lseq
42215 : : && (!single_use (captures[0])
42216 : : || !single_use (captures[5])))
42217 : : lseq = NULL;
42218 : : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2267;
42219 : : {
42220 : : res_op->set_op (GT_EXPR, type, 2);
42221 : : {
42222 : : tree _r1;
42223 : : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
42224 : : {
42225 : : tree _o2[2], _r2;
42226 : : _o2[0] = swap_p ? captures[6] : captures[1];
42227 : : _o2[1] = swap_p ? captures[2] : captures[4];
42228 : : tem_op.set_op (POINTER_DIFF_EXPR, ssizetype, 2);
42229 : : tem_op.ops[0] = _o2[0];
42230 : : tem_op.ops[1] = _o2[1];
42231 : : tem_op.resimplify (lseq, valueize);
42232 : : }
42233 : : if (sizetype != tem_op.type
42234 : : && !useless_type_conversion_p (sizetype, tem_op.type))
42235 : : {
42236 : : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
42237 : : if (!_r1) goto next_after_fail2267;
42238 : : tem_op.set_op (NOP_EXPR, sizetype, 1);
42239 : : tem_op.ops[0] = _r1;
42240 : : tem_op.resimplify (lseq, valueize);
42241 : : }
42242 : : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
42243 : : if (!_r1) goto next_after_fail2267;
42244 : : res_op->ops[0] = _r1;
42245 : : }
42246 : : res_op->ops[1] = rhs_tree;
42247 : : res_op->resimplify (lseq, valueize);
42248 : : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1113, __FILE__, __LINE__, true);
42249 : 0 : return true;
42250 : : }
42251 : : next_after_fail2267:;
42252 : : }
42253 : : else
42254 : : {
42255 : 0 : gimple_seq *lseq = seq;
42256 : 0 : if (lseq
42257 : 0 : && (!single_use (captures[0])
42258 : 0 : || !single_use (captures[5])))
42259 : 0 : lseq = NULL;
42260 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2268;
42261 : 0 : {
42262 : 0 : res_op->set_op (GT_EXPR, type, 2);
42263 : 0 : {
42264 : 0 : tree _r1;
42265 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
42266 : 0 : {
42267 : 0 : tree _o2[2], _r2;
42268 : 0 : {
42269 : 0 : tree _o3[2], _r3;
42270 : 0 : _o3[0] = swap_p ? captures[4] : captures[2];
42271 : 0 : _o3[1] = wide_int_to_tree (sizetype, off);
42272 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
42273 : 0 : tem_op.resimplify (lseq, valueize);
42274 : 0 : _r3 = maybe_push_res_to_seq (&tem_op, lseq);
42275 : 0 : if (!_r3) goto next_after_fail2268;
42276 : 0 : _o2[0] = _r3;
42277 : : }
42278 : 0 : _o2[1] = swap_p ? captures[2] : captures[4];
42279 : 0 : tem_op.set_op (POINTER_DIFF_EXPR, ssizetype, 2);
42280 : 0 : tem_op.ops[0] = _o2[0];
42281 : 0 : tem_op.ops[1] = _o2[1];
42282 : 0 : tem_op.resimplify (lseq, valueize);
42283 : : }
42284 : 0 : if (sizetype != tem_op.type
42285 : 0 : && !useless_type_conversion_p (sizetype, tem_op.type))
42286 : : {
42287 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
42288 : 0 : if (!_r1) goto next_after_fail2268;
42289 : 0 : tem_op.set_op (NOP_EXPR, sizetype, 1);
42290 : 0 : tem_op.ops[0] = _r1;
42291 : 0 : tem_op.resimplify (lseq, valueize);
42292 : : }
42293 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
42294 : 0 : if (!_r1) goto next_after_fail2268;
42295 : 0 : res_op->ops[0] = _r1;
42296 : : }
42297 : 0 : res_op->ops[1] = rhs_tree;
42298 : 0 : res_op->resimplify (lseq, valueize);
42299 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1114, __FILE__, __LINE__, true);
42300 : 0 : return true;
42301 : : }
42302 : 0 : next_after_fail2268:;
42303 : : }
42304 : : }
42305 : : }
42306 : : }
42307 : : }
42308 : : }
42309 : : }
42310 : : }
42311 : : break;
42312 : : }
42313 : : default:;
42314 : : }
42315 : : }
42316 : : break;
42317 : : default:;
42318 : : }
42319 : : }
42320 : : break;
42321 : : }
42322 : : default:;
42323 : : }
42324 : : }
42325 : : break;
42326 : : default:;
42327 : : }
42328 : : break;
42329 : : }
42330 : : default:;
42331 : : }
42332 : : break;
42333 : : }
42334 : : default:;
42335 : : }
42336 : : }
42337 : : break;
42338 : : default:;
42339 : : }
42340 : : break;
42341 : : }
42342 : 116519 : case GT_EXPR:
42343 : 116519 : {
42344 : 116519 : tree _q20 = gimple_assign_rhs1 (_a1);
42345 : 116519 : _q20 = do_valueize (valueize, _q20);
42346 : 116519 : tree _q21 = gimple_assign_rhs2 (_a1);
42347 : 116519 : _q21 = do_valueize (valueize, _q21);
42348 : 116519 : switch (TREE_CODE (_p1))
42349 : : {
42350 : 116519 : case SSA_NAME:
42351 : 116519 : if (gimple *_d2 = get_def (valueize, _p1))
42352 : : {
42353 : 116036 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
42354 : 112765 : switch (gimple_assign_rhs_code (_a2))
42355 : : {
42356 : 62510 : case GT_EXPR:
42357 : 62510 : {
42358 : 62510 : tree _q50 = gimple_assign_rhs1 (_a2);
42359 : 62510 : _q50 = do_valueize (valueize, _q50);
42360 : 62510 : tree _q51 = gimple_assign_rhs2 (_a2);
42361 : 62510 : _q51 = do_valueize (valueize, _q51);
42362 : 62510 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
42363 : : {
42364 : 13854 : {
42365 : 13854 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
42366 : 13854 : if (gimple_simplify_185 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GT_EXPR, MIN_EXPR))
42367 : 741 : return true;
42368 : : }
42369 : : }
42370 : 61769 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
42371 : : {
42372 : 9645 : {
42373 : 9645 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
42374 : 9645 : if (gimple_simplify_185 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LT_EXPR, MAX_EXPR))
42375 : 6 : return true;
42376 : : }
42377 : : }
42378 : : break;
42379 : : }
42380 : 19767 : case LT_EXPR:
42381 : 19767 : {
42382 : 19767 : tree _q50 = gimple_assign_rhs1 (_a2);
42383 : 19767 : _q50 = do_valueize (valueize, _q50);
42384 : 19767 : tree _q51 = gimple_assign_rhs2 (_a2);
42385 : 19767 : _q51 = do_valueize (valueize, _q51);
42386 : 19767 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
42387 : : {
42388 : 2962 : {
42389 : 2962 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
42390 : 2962 : if (gimple_simplify_185 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GT_EXPR, MIN_EXPR))
42391 : 1644 : return true;
42392 : : }
42393 : : }
42394 : 18123 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
42395 : : {
42396 : 12 : {
42397 : 12 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
42398 : 12 : if (gimple_simplify_185 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LT_EXPR, MAX_EXPR))
42399 : 2 : return true;
42400 : : }
42401 : : }
42402 : : break;
42403 : : }
42404 : : default:;
42405 : : }
42406 : : }
42407 : : break;
42408 : 114126 : default:;
42409 : : }
42410 : 114126 : switch (TREE_CODE (_q21))
42411 : : {
42412 : 80987 : case SSA_NAME:
42413 : 80987 : if (gimple *_d2 = get_def (valueize, _q21))
42414 : : {
42415 : 78192 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
42416 : 131014 : switch (gimple_assign_rhs_code (_a2))
42417 : : {
42418 : 560 : case POINTER_PLUS_EXPR:
42419 : 560 : {
42420 : 560 : tree _q40 = gimple_assign_rhs1 (_a2);
42421 : 560 : _q40 = do_valueize (valueize, _q40);
42422 : 560 : tree _q41 = gimple_assign_rhs2 (_a2);
42423 : 560 : _q41 = do_valueize (valueize, _q41);
42424 : 560 : switch (TREE_CODE (_q41))
42425 : : {
42426 : 3 : case INTEGER_CST:
42427 : 3 : {
42428 : 3 : switch (TREE_CODE (_p1))
42429 : : {
42430 : 3 : case SSA_NAME:
42431 : 3 : if (gimple *_d3 = get_def (valueize, _p1))
42432 : : {
42433 : 3 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
42434 : 3 : switch (gimple_assign_rhs_code (_a3))
42435 : : {
42436 : 2 : case LT_EXPR:
42437 : 2 : {
42438 : 2 : tree _q70 = gimple_assign_rhs1 (_a3);
42439 : 2 : _q70 = do_valueize (valueize, _q70);
42440 : 2 : tree _q71 = gimple_assign_rhs2 (_a3);
42441 : 2 : _q71 = do_valueize (valueize, _q71);
42442 : 2 : switch (TREE_CODE (_q70))
42443 : : {
42444 : 2 : case SSA_NAME:
42445 : 2 : if (gimple *_d4 = get_def (valueize, _q70))
42446 : : {
42447 : 2 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
42448 : 2 : switch (gimple_assign_rhs_code (_a4))
42449 : : {
42450 : 2 : case POINTER_PLUS_EXPR:
42451 : 2 : {
42452 : 2 : tree _q80 = gimple_assign_rhs1 (_a4);
42453 : 2 : _q80 = do_valueize (valueize, _q80);
42454 : 2 : tree _q81 = gimple_assign_rhs2 (_a4);
42455 : 2 : _q81 = do_valueize (valueize, _q81);
42456 : 2 : if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
42457 : : {
42458 : 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
42459 : : {
42460 : 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
42461 : : {
42462 : 0 : {
42463 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q70 };
42464 : 0 : const enum tree_code cmp = LT_EXPR;
42465 : 0 : if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
42466 : 0 : && TYPE_OVERFLOW_WRAPS (sizetype)
42467 : 0 : && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
42468 : : )
42469 : : {
42470 : 0 : {
42471 : 0 : offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
42472 : 0 : offset_int rhs = off * 2;
42473 : 0 : if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
42474 : : )
42475 : : {
42476 : 0 : {
42477 : 0 : bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
42478 : 0 : tree rhs_tree = wide_int_to_tree (sizetype, rhs);
42479 : 0 : if (cmp == LT_EXPR
42480 : : )
42481 : : {
42482 : 0 : gimple_seq *lseq = seq;
42483 : 0 : if (lseq
42484 : 0 : && (!single_use (captures[0])
42485 : 0 : || !single_use (captures[5])))
42486 : 0 : lseq = NULL;
42487 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2269;
42488 : 0 : {
42489 : 0 : res_op->set_op (GT_EXPR, type, 2);
42490 : 0 : {
42491 : 0 : tree _r1;
42492 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
42493 : 0 : {
42494 : 0 : tree _o2[2], _r2;
42495 : 0 : _o2[0] = swap_p ? captures[6] : captures[1];
42496 : 0 : _o2[1] = swap_p ? captures[2] : captures[4];
42497 : 0 : tem_op.set_op (POINTER_DIFF_EXPR, ssizetype, 2);
42498 : 0 : tem_op.ops[0] = _o2[0];
42499 : 0 : tem_op.ops[1] = _o2[1];
42500 : 0 : tem_op.resimplify (lseq, valueize);
42501 : : }
42502 : 0 : if (sizetype != tem_op.type
42503 : 0 : && !useless_type_conversion_p (sizetype, tem_op.type))
42504 : : {
42505 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
42506 : 0 : if (!_r1) goto next_after_fail2269;
42507 : 0 : tem_op.set_op (NOP_EXPR, sizetype, 1);
42508 : 0 : tem_op.ops[0] = _r1;
42509 : 0 : tem_op.resimplify (lseq, valueize);
42510 : : }
42511 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
42512 : 0 : if (!_r1) goto next_after_fail2269;
42513 : 0 : res_op->ops[0] = _r1;
42514 : : }
42515 : 0 : res_op->ops[1] = rhs_tree;
42516 : 0 : res_op->resimplify (lseq, valueize);
42517 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1113, __FILE__, __LINE__, true);
42518 : 0 : return true;
42519 : : }
42520 : 0 : next_after_fail2269:;
42521 : : }
42522 : : else
42523 : : {
42524 : : gimple_seq *lseq = seq;
42525 : : if (lseq
42526 : : && (!single_use (captures[0])
42527 : : || !single_use (captures[5])))
42528 : : lseq = NULL;
42529 : : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2270;
42530 : : {
42531 : : res_op->set_op (GT_EXPR, type, 2);
42532 : : {
42533 : : tree _r1;
42534 : : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
42535 : : {
42536 : : tree _o2[2], _r2;
42537 : : {
42538 : : tree _o3[2], _r3;
42539 : : _o3[0] = swap_p ? captures[4] : captures[2];
42540 : : _o3[1] = wide_int_to_tree (sizetype, off);
42541 : : gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
42542 : : tem_op.resimplify (lseq, valueize);
42543 : : _r3 = maybe_push_res_to_seq (&tem_op, lseq);
42544 : : if (!_r3) goto next_after_fail2270;
42545 : : _o2[0] = _r3;
42546 : : }
42547 : : _o2[1] = swap_p ? captures[2] : captures[4];
42548 : : tem_op.set_op (POINTER_DIFF_EXPR, ssizetype, 2);
42549 : : tem_op.ops[0] = _o2[0];
42550 : : tem_op.ops[1] = _o2[1];
42551 : : tem_op.resimplify (lseq, valueize);
42552 : : }
42553 : : if (sizetype != tem_op.type
42554 : : && !useless_type_conversion_p (sizetype, tem_op.type))
42555 : : {
42556 : : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
42557 : : if (!_r1) goto next_after_fail2270;
42558 : : tem_op.set_op (NOP_EXPR, sizetype, 1);
42559 : : tem_op.ops[0] = _r1;
42560 : : tem_op.resimplify (lseq, valueize);
42561 : : }
42562 : : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
42563 : : if (!_r1) goto next_after_fail2270;
42564 : : res_op->ops[0] = _r1;
42565 : : }
42566 : : res_op->ops[1] = rhs_tree;
42567 : : res_op->resimplify (lseq, valueize);
42568 : : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1114, __FILE__, __LINE__, true);
42569 : : return true;
42570 : : }
42571 : : next_after_fail2270:;
42572 : : }
42573 : : }
42574 : : }
42575 : : }
42576 : : }
42577 : : }
42578 : : }
42579 : : }
42580 : : }
42581 : : break;
42582 : : }
42583 : : default:;
42584 : : }
42585 : : }
42586 : : break;
42587 : : default:;
42588 : : }
42589 : : break;
42590 : : }
42591 : 1 : case GT_EXPR:
42592 : 1 : {
42593 : 1 : tree _q70 = gimple_assign_rhs1 (_a3);
42594 : 1 : _q70 = do_valueize (valueize, _q70);
42595 : 1 : tree _q71 = gimple_assign_rhs2 (_a3);
42596 : 1 : _q71 = do_valueize (valueize, _q71);
42597 : 1 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
42598 : : {
42599 : 1 : switch (TREE_CODE (_q71))
42600 : : {
42601 : 1 : case SSA_NAME:
42602 : 1 : if (gimple *_d4 = get_def (valueize, _q71))
42603 : : {
42604 : 1 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
42605 : 1 : switch (gimple_assign_rhs_code (_a4))
42606 : : {
42607 : 1 : case POINTER_PLUS_EXPR:
42608 : 1 : {
42609 : 1 : tree _q90 = gimple_assign_rhs1 (_a4);
42610 : 1 : _q90 = do_valueize (valueize, _q90);
42611 : 1 : tree _q91 = gimple_assign_rhs2 (_a4);
42612 : 1 : _q91 = do_valueize (valueize, _q91);
42613 : 1 : if ((_q90 == _q20 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q20, 0) && types_match (_q90, _q20)))
42614 : : {
42615 : 1 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
42616 : : {
42617 : 1 : {
42618 : 1 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q71 };
42619 : 1 : const enum tree_code cmp = LT_EXPR;
42620 : 1 : if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
42621 : 0 : && TYPE_OVERFLOW_WRAPS (sizetype)
42622 : 1 : && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
42623 : : )
42624 : : {
42625 : 0 : {
42626 : 0 : offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
42627 : 0 : offset_int rhs = off * 2;
42628 : 0 : if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
42629 : : )
42630 : : {
42631 : 0 : {
42632 : 0 : bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
42633 : 0 : tree rhs_tree = wide_int_to_tree (sizetype, rhs);
42634 : 0 : if (cmp == LT_EXPR
42635 : : )
42636 : : {
42637 : 0 : gimple_seq *lseq = seq;
42638 : 0 : if (lseq
42639 : 0 : && (!single_use (captures[0])
42640 : 0 : || !single_use (captures[5])))
42641 : 0 : lseq = NULL;
42642 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2271;
42643 : 0 : {
42644 : 0 : res_op->set_op (GT_EXPR, type, 2);
42645 : 0 : {
42646 : 0 : tree _r1;
42647 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
42648 : 0 : {
42649 : 0 : tree _o2[2], _r2;
42650 : 0 : _o2[0] = swap_p ? captures[6] : captures[1];
42651 : 0 : _o2[1] = swap_p ? captures[2] : captures[4];
42652 : 0 : tem_op.set_op (POINTER_DIFF_EXPR, ssizetype, 2);
42653 : 0 : tem_op.ops[0] = _o2[0];
42654 : 0 : tem_op.ops[1] = _o2[1];
42655 : 0 : tem_op.resimplify (lseq, valueize);
42656 : : }
42657 : 0 : if (sizetype != tem_op.type
42658 : 0 : && !useless_type_conversion_p (sizetype, tem_op.type))
42659 : : {
42660 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
42661 : 0 : if (!_r1) goto next_after_fail2271;
42662 : 0 : tem_op.set_op (NOP_EXPR, sizetype, 1);
42663 : 0 : tem_op.ops[0] = _r1;
42664 : 0 : tem_op.resimplify (lseq, valueize);
42665 : : }
42666 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
42667 : 0 : if (!_r1) goto next_after_fail2271;
42668 : 0 : res_op->ops[0] = _r1;
42669 : : }
42670 : 0 : res_op->ops[1] = rhs_tree;
42671 : 0 : res_op->resimplify (lseq, valueize);
42672 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1113, __FILE__, __LINE__, true);
42673 : 0 : return true;
42674 : : }
42675 : 0 : next_after_fail2271:;
42676 : : }
42677 : : else
42678 : : {
42679 : : gimple_seq *lseq = seq;
42680 : : if (lseq
42681 : : && (!single_use (captures[0])
42682 : : || !single_use (captures[5])))
42683 : : lseq = NULL;
42684 : : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2272;
42685 : : {
42686 : : res_op->set_op (GT_EXPR, type, 2);
42687 : : {
42688 : : tree _r1;
42689 : : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
42690 : : {
42691 : : tree _o2[2], _r2;
42692 : : {
42693 : : tree _o3[2], _r3;
42694 : : _o3[0] = swap_p ? captures[4] : captures[2];
42695 : : _o3[1] = wide_int_to_tree (sizetype, off);
42696 : : gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
42697 : : tem_op.resimplify (lseq, valueize);
42698 : : _r3 = maybe_push_res_to_seq (&tem_op, lseq);
42699 : : if (!_r3) goto next_after_fail2272;
42700 : : _o2[0] = _r3;
42701 : : }
42702 : : _o2[1] = swap_p ? captures[2] : captures[4];
42703 : : tem_op.set_op (POINTER_DIFF_EXPR, ssizetype, 2);
42704 : : tem_op.ops[0] = _o2[0];
42705 : : tem_op.ops[1] = _o2[1];
42706 : : tem_op.resimplify (lseq, valueize);
42707 : : }
42708 : : if (sizetype != tem_op.type
42709 : : && !useless_type_conversion_p (sizetype, tem_op.type))
42710 : : {
42711 : : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
42712 : : if (!_r1) goto next_after_fail2272;
42713 : : tem_op.set_op (NOP_EXPR, sizetype, 1);
42714 : : tem_op.ops[0] = _r1;
42715 : : tem_op.resimplify (lseq, valueize);
42716 : : }
42717 : : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
42718 : : if (!_r1) goto next_after_fail2272;
42719 : : res_op->ops[0] = _r1;
42720 : : }
42721 : : res_op->ops[1] = rhs_tree;
42722 : : res_op->resimplify (lseq, valueize);
42723 : : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1114, __FILE__, __LINE__, true);
42724 : : return true;
42725 : : }
42726 : : next_after_fail2272:;
42727 : : }
42728 : : }
42729 : : }
42730 : : }
42731 : : }
42732 : : }
42733 : : }
42734 : : }
42735 : : break;
42736 : : }
42737 : : default:;
42738 : : }
42739 : : }
42740 : : break;
42741 : : default:;
42742 : : }
42743 : : }
42744 : : break;
42745 : : }
42746 : : default:;
42747 : : }
42748 : : }
42749 : : break;
42750 : : default:;
42751 : : }
42752 : : break;
42753 : : }
42754 : : default:;
42755 : : }
42756 : : break;
42757 : : }
42758 : : default:;
42759 : : }
42760 : : }
42761 : : break;
42762 : : default:;
42763 : : }
42764 : : break;
42765 : : }
42766 : 13841 : case GE_EXPR:
42767 : 13841 : {
42768 : 13841 : tree _q20 = gimple_assign_rhs1 (_a1);
42769 : 13841 : _q20 = do_valueize (valueize, _q20);
42770 : 13841 : tree _q21 = gimple_assign_rhs2 (_a1);
42771 : 13841 : _q21 = do_valueize (valueize, _q21);
42772 : 13841 : switch (TREE_CODE (_p1))
42773 : : {
42774 : 13829 : case SSA_NAME:
42775 : 13829 : if (gimple *_d2 = get_def (valueize, _p1))
42776 : : {
42777 : 13805 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
42778 : 13527 : switch (gimple_assign_rhs_code (_a2))
42779 : : {
42780 : 4555 : case GE_EXPR:
42781 : 4555 : {
42782 : 4555 : tree _q50 = gimple_assign_rhs1 (_a2);
42783 : 4555 : _q50 = do_valueize (valueize, _q50);
42784 : 4555 : tree _q51 = gimple_assign_rhs2 (_a2);
42785 : 4555 : _q51 = do_valueize (valueize, _q51);
42786 : 4555 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
42787 : : {
42788 : 522 : {
42789 : 522 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
42790 : 522 : if (gimple_simplify_185 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GE_EXPR, MIN_EXPR))
42791 : 5 : return true;
42792 : : }
42793 : : }
42794 : 4550 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
42795 : : {
42796 : 221 : {
42797 : 221 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
42798 : 221 : if (gimple_simplify_185 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LE_EXPR, MAX_EXPR))
42799 : 0 : return true;
42800 : : }
42801 : : }
42802 : : break;
42803 : : }
42804 : 3494 : case LE_EXPR:
42805 : 3494 : {
42806 : 3494 : tree _q50 = gimple_assign_rhs1 (_a2);
42807 : 3494 : _q50 = do_valueize (valueize, _q50);
42808 : 3494 : tree _q51 = gimple_assign_rhs2 (_a2);
42809 : 3494 : _q51 = do_valueize (valueize, _q51);
42810 : 3494 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
42811 : : {
42812 : 0 : {
42813 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
42814 : 0 : if (gimple_simplify_185 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, GE_EXPR, MIN_EXPR))
42815 : 0 : return true;
42816 : : }
42817 : : }
42818 : 3494 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
42819 : : {
42820 : 0 : {
42821 : 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
42822 : 0 : if (gimple_simplify_185 (res_op, seq, valueize, type, captures, BIT_IOR_EXPR, LE_EXPR, MAX_EXPR))
42823 : 0 : return true;
42824 : : }
42825 : : }
42826 : : break;
42827 : : }
42828 : : default:;
42829 : : }
42830 : : }
42831 : : break;
42832 : 13836 : default:;
42833 : : }
42834 : 13836 : switch (TREE_CODE (_q21))
42835 : : {
42836 : 10786 : case SSA_NAME:
42837 : 10786 : if (gimple *_d2 = get_def (valueize, _q21))
42838 : : {
42839 : 9859 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
42840 : 8073 : switch (gimple_assign_rhs_code (_a2))
42841 : : {
42842 : 1186 : case POINTER_PLUS_EXPR:
42843 : 1186 : {
42844 : 1186 : tree _q40 = gimple_assign_rhs1 (_a2);
42845 : 1186 : _q40 = do_valueize (valueize, _q40);
42846 : 1186 : tree _q41 = gimple_assign_rhs2 (_a2);
42847 : 1186 : _q41 = do_valueize (valueize, _q41);
42848 : 1186 : switch (TREE_CODE (_q41))
42849 : : {
42850 : 422 : case INTEGER_CST:
42851 : 422 : {
42852 : 422 : switch (TREE_CODE (_p1))
42853 : : {
42854 : 422 : case SSA_NAME:
42855 : 422 : if (gimple *_d3 = get_def (valueize, _p1))
42856 : : {
42857 : 422 : if (gassign *_a3 = dyn_cast <gassign *> (_d3))
42858 : 422 : switch (gimple_assign_rhs_code (_a3))
42859 : : {
42860 : 87 : case LE_EXPR:
42861 : 87 : {
42862 : 87 : tree _q70 = gimple_assign_rhs1 (_a3);
42863 : 87 : _q70 = do_valueize (valueize, _q70);
42864 : 87 : tree _q71 = gimple_assign_rhs2 (_a3);
42865 : 87 : _q71 = do_valueize (valueize, _q71);
42866 : 87 : switch (TREE_CODE (_q70))
42867 : : {
42868 : 87 : case SSA_NAME:
42869 : 87 : if (gimple *_d4 = get_def (valueize, _q70))
42870 : : {
42871 : 80 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
42872 : 46 : switch (gimple_assign_rhs_code (_a4))
42873 : : {
42874 : 22 : case POINTER_PLUS_EXPR:
42875 : 22 : {
42876 : 22 : tree _q80 = gimple_assign_rhs1 (_a4);
42877 : 22 : _q80 = do_valueize (valueize, _q80);
42878 : 22 : tree _q81 = gimple_assign_rhs2 (_a4);
42879 : 22 : _q81 = do_valueize (valueize, _q81);
42880 : 22 : if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
42881 : : {
42882 : 22 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
42883 : : {
42884 : 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
42885 : : {
42886 : 0 : {
42887 : 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q70 };
42888 : 0 : const enum tree_code cmp = LE_EXPR;
42889 : 0 : if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
42890 : 0 : && TYPE_OVERFLOW_WRAPS (sizetype)
42891 : 0 : && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
42892 : : )
42893 : : {
42894 : 0 : {
42895 : 0 : offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
42896 : 0 : offset_int rhs = off * 2;
42897 : 0 : if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
42898 : : )
42899 : : {
42900 : 0 : {
42901 : 0 : bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
42902 : 0 : tree rhs_tree = wide_int_to_tree (sizetype, rhs);
42903 : 0 : if (cmp == LT_EXPR
42904 : : )
42905 : : {
42906 : : gimple_seq *lseq = seq;
42907 : : if (lseq
42908 : : && (!single_use (captures[0])
42909 : : || !single_use (captures[5])))
42910 : : lseq = NULL;
42911 : : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2273;
42912 : : {
42913 : : res_op->set_op (GT_EXPR, type, 2);
42914 : : {
42915 : : tree _r1;
42916 : : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
42917 : : {
42918 : : tree _o2[2], _r2;
42919 : : _o2[0] = swap_p ? captures[6] : captures[1];
42920 : : _o2[1] = swap_p ? captures[2] : captures[4];
42921 : : tem_op.set_op (POINTER_DIFF_EXPR, ssizetype, 2);
42922 : : tem_op.ops[0] = _o2[0];
42923 : : tem_op.ops[1] = _o2[1];
42924 : : tem_op.resimplify (lseq, valueize);
42925 : : }
42926 : : if (sizetype != tem_op.type
42927 : : && !useless_type_conversion_p (sizetype, tem_op.type))
42928 : : {
42929 : : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
42930 : : if (!_r1) goto next_after_fail2273;
42931 : : tem_op.set_op (NOP_EXPR, sizetype, 1);
42932 : : tem_op.ops[0] = _r1;
42933 : : tem_op.resimplify (lseq, valueize);
42934 : : }
42935 : : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
42936 : : if (!_r1) goto next_after_fail2273;
42937 : : res_op->ops[0] = _r1;
42938 : : }
42939 : : res_op->ops[1] = rhs_tree;
42940 : : res_op->resimplify (lseq, valueize);
42941 : : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1113, __FILE__, __LINE__, true);
42942 : 0 : return true;
42943 : : }
42944 : : next_after_fail2273:;
42945 : : }
42946 : : else
42947 : : {
42948 : 0 : gimple_seq *lseq = seq;
42949 : 0 : if (lseq
42950 : 0 : && (!single_use (captures[0])
42951 : 0 : || !single_use (captures[5])))
42952 : 0 : lseq = NULL;
42953 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2274;
42954 : 0 : {
42955 : 0 : res_op->set_op (GT_EXPR, type, 2);
42956 : 0 : {
42957 : 0 : tree _r1;
42958 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
42959 : 0 : {
42960 : 0 : tree _o2[2], _r2;
42961 : 0 : {
42962 : 0 : tree _o3[2], _r3;
42963 : 0 : _o3[0] = swap_p ? captures[4] : captures[2];
42964 : 0 : _o3[1] = wide_int_to_tree (sizetype, off);
42965 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
42966 : 0 : tem_op.resimplify (lseq, valueize);
42967 : 0 : _r3 = maybe_push_res_to_seq (&tem_op, lseq);
42968 : 0 : if (!_r3) goto next_after_fail2274;
42969 : 0 : _o2[0] = _r3;
42970 : : }
42971 : 0 : _o2[1] = swap_p ? captures[2] : captures[4];
42972 : 0 : tem_op.set_op (POINTER_DIFF_EXPR, ssizetype, 2);
42973 : 0 : tem_op.ops[0] = _o2[0];
42974 : 0 : tem_op.ops[1] = _o2[1];
42975 : 0 : tem_op.resimplify (lseq, valueize);
42976 : : }
42977 : 0 : if (sizetype != tem_op.type
42978 : 0 : && !useless_type_conversion_p (sizetype, tem_op.type))
42979 : : {
42980 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
42981 : 0 : if (!_r1) goto next_after_fail2274;
42982 : 0 : tem_op.set_op (NOP_EXPR, sizetype, 1);
42983 : 0 : tem_op.ops[0] = _r1;
42984 : 0 : tem_op.resimplify (lseq, valueize);
42985 : : }
42986 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
42987 : 0 : if (!_r1) goto next_after_fail2274;
42988 : 0 : res_op->ops[0] = _r1;
42989 : : }
42990 : 0 : res_op->ops[1] = rhs_tree;
42991 : 0 : res_op->resimplify (lseq, valueize);
42992 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1114, __FILE__, __LINE__, true);
42993 : 0 : return true;
42994 : : }
42995 : 0 : next_after_fail2274:;
42996 : : }
42997 : : }
42998 : : }
42999 : : }
43000 : : }
43001 : : }
43002 : : }
43003 : : }
43004 : : }
43005 : : break;
43006 : : }
43007 : : default:;
43008 : : }
43009 : : }
43010 : : break;
43011 : : default:;
43012 : : }
43013 : : break;
43014 : : }
43015 : 323 : case GE_EXPR:
43016 : 323 : {
43017 : 323 : tree _q70 = gimple_assign_rhs1 (_a3);
43018 : 323 : _q70 = do_valueize (valueize, _q70);
43019 : 323 : tree _q71 = gimple_assign_rhs2 (_a3);
43020 : 323 : _q71 = do_valueize (valueize, _q71);
43021 : 323 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
43022 : : {
43023 : 294 : switch (TREE_CODE (_q71))
43024 : : {
43025 : 294 : case SSA_NAME:
43026 : 294 : if (gimple *_d4 = get_def (valueize, _q71))
43027 : : {
43028 : 293 : if (gassign *_a4 = dyn_cast <gassign *> (_d4))
43029 : 293 : switch (gimple_assign_rhs_code (_a4))
43030 : : {
43031 : 285 : case POINTER_PLUS_EXPR:
43032 : 285 : {
43033 : 285 : tree _q90 = gimple_assign_rhs1 (_a4);
43034 : 285 : _q90 = do_valueize (valueize, _q90);
43035 : 285 : tree _q91 = gimple_assign_rhs2 (_a4);
43036 : 285 : _q91 = do_valueize (valueize, _q91);
43037 : 285 : if ((_q90 == _q20 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q20, 0) && types_match (_q90, _q20)))
43038 : : {
43039 : 252 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
43040 : : {
43041 : 1 : {
43042 : 1 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q71 };
43043 : 1 : const enum tree_code cmp = LE_EXPR;
43044 : 1 : if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
43045 : 0 : && TYPE_OVERFLOW_WRAPS (sizetype)
43046 : 1 : && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
43047 : : )
43048 : : {
43049 : 0 : {
43050 : 0 : offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
43051 : 0 : offset_int rhs = off * 2;
43052 : 0 : if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
43053 : : )
43054 : : {
43055 : 0 : {
43056 : 0 : bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
43057 : 0 : tree rhs_tree = wide_int_to_tree (sizetype, rhs);
43058 : 0 : if (cmp == LT_EXPR
43059 : : )
43060 : : {
43061 : : gimple_seq *lseq = seq;
43062 : : if (lseq
43063 : : && (!single_use (captures[0])
43064 : : || !single_use (captures[5])))
43065 : : lseq = NULL;
43066 : : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2275;
43067 : : {
43068 : : res_op->set_op (GT_EXPR, type, 2);
43069 : : {
43070 : : tree _r1;
43071 : : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
43072 : : {
43073 : : tree _o2[2], _r2;
43074 : : _o2[0] = swap_p ? captures[6] : captures[1];
43075 : : _o2[1] = swap_p ? captures[2] : captures[4];
43076 : : tem_op.set_op (POINTER_DIFF_EXPR, ssizetype, 2);
43077 : : tem_op.ops[0] = _o2[0];
43078 : : tem_op.ops[1] = _o2[1];
43079 : : tem_op.resimplify (lseq, valueize);
43080 : : }
43081 : : if (sizetype != tem_op.type
43082 : : && !useless_type_conversion_p (sizetype, tem_op.type))
43083 : : {
43084 : : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
43085 : : if (!_r1) goto next_after_fail2275;
43086 : : tem_op.set_op (NOP_EXPR, sizetype, 1);
43087 : : tem_op.ops[0] = _r1;
43088 : : tem_op.resimplify (lseq, valueize);
43089 : : }
43090 : : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
43091 : : if (!_r1) goto next_after_fail2275;
43092 : : res_op->ops[0] = _r1;
43093 : : }
43094 : : res_op->ops[1] = rhs_tree;
43095 : : res_op->resimplify (lseq, valueize);
43096 : : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1113, __FILE__, __LINE__, true);
43097 : 0 : return true;
43098 : : }
43099 : : next_after_fail2275:;
43100 : : }
43101 : : else
43102 : : {
43103 : 0 : gimple_seq *lseq = seq;
43104 : 0 : if (lseq
43105 : 0 : && (!single_use (captures[0])
43106 : 0 : || !single_use (captures[5])))
43107 : 0 : lseq = NULL;
43108 : 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2276;
43109 : 0 : {
43110 : 0 : res_op->set_op (GT_EXPR, type, 2);
43111 : 0 : {
43112 : 0 : tree _r1;
43113 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), ERROR_MARK, error_mark_node, 1);
43114 : 0 : {
43115 : 0 : tree _o2[2], _r2;
43116 : 0 : {
43117 : 0 : tree _o3[2], _r3;
43118 : 0 : _o3[0] = swap_p ? captures[4] : captures[2];
43119 : 0 : _o3[1] = wide_int_to_tree (sizetype, off);
43120 : 0 : gimple_match_op tem_op (res_op->cond.any_else (), POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
43121 : 0 : tem_op.resimplify (lseq, valueize);
43122 : 0 : _r3 = maybe_push_res_to_seq (&tem_op, lseq);
43123 : 0 : if (!_r3) goto next_after_fail2276;
43124 : 0 : _o2[0] = _r3;
43125 : : }
43126 : 0 : _o2[1] = swap_p ? captures[2] : captures[4];
43127 : 0 : tem_op.set_op (POINTER_DIFF_EXPR, ssizetype, 2);
43128 : 0 : tem_op.ops[0] = _o2[0];
43129 : 0 : tem_op.ops[1] = _o2[1];
43130 : 0 : tem_op.resimplify (lseq, valueize);
43131 : : }
43132 : 0 : if (sizetype != tem_op.type
43133 : 0 : && !useless_type_conversion_p (sizetype, tem_op.type))
43134 : : {
43135 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
43136 : 0 : if (!_r1) goto next_after_fail2276;
43137 : 0 : tem_op.set_op (NOP_EXPR, sizetype, 1);
43138 : 0 : tem_op.ops[0] = _r1;
43139 : 0 : tem_op.resimplify (lseq, valueize);
43140 : : }
43141 : 0 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
43142 : 0 : if (!_r1) goto next_after_fail2276;
43143 : 0 : res_op->ops[0] = _r1;
43144 : : }
43145 : 0 : res_op->ops[1] = rhs_tree;
43146 : 0 : res_op->resimplify (lseq, valueize);
43147 : 0 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1114, __FILE__, __LINE__, true);
43148 : 0 : return true;
43149 : : }
43150 : 0 : next_after_fail2276:;
43151 : : }
43152 : : }
43153 : : }
43154 : : }
43155 : : }
43156 : : }
43157 : : }
43158 : : }
43159 : : break;
43160 : : }
43161 : : default:;
43162 : : }
43163 : : }
43164 : : break;
43165 : : default:;
43166 : : }
43167 : : }
43168 : : break;
43169 : : }
43170 : : default:;
43171 : : }
43172 : : }
43173 : : break;
43174 : : default:;
43175 : : }
43176 : : break;
43177 : : }
43178 : : default:;
43179 : : }
43180 : : break;
43181 : : }
43182 : : default:;
43183 : : }
43184 : : }
43185 : : break;
43186 : : default:;
43187 : : }
43188 : : break;
43189 : : }
43190 : 480 : case VEC_PERM_EXPR:
43191 : 480 : {
43192 : 480 : tree _q20 = gimple_assign_rhs1 (_a1);
43193 : 480 : _q20 = do_valueize (valueize, _q20);
43194 : 480 : tree _q21 = gimple_assign_rhs2 (_a1);
43195 : 480 : _q21 = do_valueize (valueize, _q21);
43196 : 480 : tree _q22 = gimple_assign_rhs3 (_a1);
43197 : 480 : _q22 = do_valueize (valueize, _q22);
43198 : 480 : if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
43199 : : {
43200 : 339 : switch (TREE_CODE (_p1))
43201 : : {
43202 : 339 : case SSA_NAME:
43203 : 339 : if (gimple *_d2 = get_def (valueize, _p1))
43204 : : {
43205 : 285 : if (gassign *_a2 = dyn_cast <gassign *> (_d2))
43206 : 80 : switch (gimple_assign_rhs_code (_a2))
43207 : : {
43208 : 12 : case VEC_PERM_EXPR:
43209 : 12 : {
43210 : 12 : tree _q60 = gimple_assign_rhs1 (_a2);
43211 : 12 : _q60 = do_valueize (valueize, _q60);
43212 : 12 : tree _q61 = gimple_assign_rhs2 (_a2);
43213 : 12 : _q61 = do_valueize (valueize, _q61);
43214 : 12 : tree _q62 = gimple_assign_rhs3 (_a2);
43215 : 12 : _q62 = do_valueize (valueize, _q62);
43216 : 12 : if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
43217 : : {
43218 : 6 : if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
43219 : : {
43220 : 6 : {
43221 : 6 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
43222 : 6 : if (VECTOR_INTEGER_TYPE_P (type)
43223 : : )
43224 : : {
43225 : 6 : gimple_seq *lseq = seq;
43226 : 6 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail2277;
43227 : 6 : {
43228 : 6 : res_op->set_op (VEC_PERM_EXPR, type, 3);
43229 : 6 : {
43230 : 6 : tree _o1[2], _r1;
43231 : 6 : _o1[0] = captures[0];
43232 : 6 : _o1[1] = captures[2];
43233 : 6 : gimple_match_op tem_op (res_op->cond.any_else (), BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
43234 : 6 : tem_op.resimplify (lseq, valueize);
43235 : 6 : _r1 = maybe_push_res_to_seq (&tem_op, lseq);
43236 : 6 : if (!_r1) goto next_after_fail2277;
43237 : 3 : captures[3] = _r1;
43238 : : }
43239 : 3 : res_op->ops[0] = captures[3];
43240 : 3 : res_op->ops[1] = captures[3];
43241 : 3 : res_op->ops[2] = captures[1];
43242 : 3 : res_op->resimplify (lseq, valueize);
43243 : 3 : if (UNLIKELY (debug_dump)) gimple_dump_logs ("match.pd", 1064, __FILE__, __LINE__, true);
43244 : 3 : return true;
43245 : : }
43246 : : next_after_fail2277:;
43247 : : }
43248 : : }
43249 : : }
43250 : : }
43251 : : break;
43252 : : }
43253 : : default:;
43254 : : }
43255 : : }
43256 : : break;
43257 : : default:;
43258 : : }
43259 : : }
43260 : : break;
43261 : : }
43262 : : default:;
43263 : : }
43264 : : }
43265 : : break;
43266 : : default:;
43267 : : }
43268 : : return false;
43269 : : }
43270 : : #pragma GCC diagnostic pop
|