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 "generic-match-auto.h"
8 :
9 : bool
10 122599637 : tree_logical_inverted_value (tree t, tree *res_ops)
11 : {
12 122599637 : const tree type = TREE_TYPE (t);
13 122599637 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
14 122599637 : if (TREE_SIDE_EFFECTS (t)) return false;
15 112553191 : switch (TREE_CODE (t))
16 : {
17 670370 : case TRUTH_NOT_EXPR:
18 670370 : {
19 670370 : tree _p0 = TREE_OPERAND (t, 0);
20 670370 : {
21 670370 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
22 670370 : {
23 670370 : res_ops[0] = captures[0];
24 670370 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 23, __FILE__, __LINE__, false);
25 : return true;
26 : }
27 : }
28 154465 : break;
29 : }
30 154465 : case BIT_NOT_EXPR:
31 154465 : {
32 154465 : tree _p0 = TREE_OPERAND (t, 0);
33 154465 : if (tree_truth_valued_p (_p0))
34 : {
35 12102 : {
36 12102 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
37 12102 : {
38 12102 : res_ops[0] = captures[0];
39 12102 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 24, __FILE__, __LINE__, false);
40 12102 : return true;
41 : }
42 : }
43 : }
44 : break;
45 : }
46 2254838 : case EQ_EXPR:
47 2254838 : {
48 2254838 : tree _p0 = TREE_OPERAND (t, 0);
49 2254838 : tree _p1 = TREE_OPERAND (t, 1);
50 2254838 : if (integer_zerop (_p1))
51 : {
52 642287 : {
53 642287 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
54 642287 : {
55 642287 : res_ops[0] = captures[0];
56 642287 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 25, __FILE__, __LINE__, false);
57 642287 : return true;
58 : }
59 : }
60 : }
61 : break;
62 : }
63 2358523 : case NE_EXPR:
64 2358523 : {
65 2358523 : tree _p0 = TREE_OPERAND (t, 0);
66 2358523 : tree _p1 = TREE_OPERAND (t, 1);
67 2358523 : if (tree_truth_valued_p (_p0))
68 : {
69 2706 : if (integer_truep (_p1))
70 : {
71 0 : {
72 0 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
73 0 : {
74 0 : res_ops[0] = captures[0];
75 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 26, __FILE__, __LINE__, false);
76 0 : return true;
77 : }
78 : }
79 : }
80 : }
81 : break;
82 : }
83 104484 : case BIT_XOR_EXPR:
84 104484 : {
85 104484 : tree _p0 = TREE_OPERAND (t, 0);
86 104484 : tree _p1 = TREE_OPERAND (t, 1);
87 104484 : if (tree_truth_valued_p (_p0))
88 : {
89 14639 : if (integer_truep (_p1))
90 : {
91 0 : {
92 0 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
93 0 : {
94 0 : res_ops[0] = captures[0];
95 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 27, __FILE__, __LINE__, false);
96 0 : return true;
97 : }
98 : }
99 : }
100 : }
101 : break;
102 : }
103 : default:;
104 : }
105 : return false;
106 : }
107 :
108 : tree
109 5272 : generic_simplify_3 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
110 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
111 : {
112 5272 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
113 5272 : if (fold_real_zero_addition_p (type, captures[0], captures[1], 0)
114 : )
115 : {
116 95 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail74;
117 95 : {
118 95 : tree res_op0;
119 95 : res_op0 = captures[0];
120 95 : tree _r;
121 95 : _r = non_lvalue_loc (loc, res_op0);
122 95 : if (TREE_SIDE_EFFECTS (captures[1]))
123 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
124 95 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 51, __FILE__, __LINE__, true);
125 95 : return _r;
126 : }
127 0 : next_after_fail74:;
128 : }
129 : return NULL_TREE;
130 : }
131 :
132 : tree
133 0 : generic_simplify_10 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
134 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
135 : {
136 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
137 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail82;
138 0 : {
139 0 : tree res_op0;
140 0 : res_op0 = captures[0];
141 0 : tree res_op1;
142 0 : res_op1 = captures[1];
143 0 : tree _r;
144 0 : _r = fold_build2_loc (loc, PLUS_EXPR, type, res_op0, res_op1);
145 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 59, __FILE__, __LINE__, true);
146 : return _r;
147 : }
148 0 : next_after_fail82:;
149 0 : return NULL_TREE;
150 : }
151 :
152 : tree
153 0 : generic_simplify_15 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
154 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
155 : const enum tree_code ARG_UNUSED (op),
156 : const enum tree_code ARG_UNUSED (cmp),
157 : const enum tree_code ARG_UNUSED (icmp))
158 : {
159 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
160 0 : if (INTEGRAL_TYPE_P (type)
161 0 : && invert_tree_comparison (cmp, HONOR_NANS (captures[1])) == icmp
162 0 : && canonicalize_math_after_vectorization_p ()
163 : )
164 : {
165 : if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail87;
166 : if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail87;
167 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail87;
168 : {
169 : tree res_op0;
170 : res_op0 = captures[0];
171 : tree res_op1;
172 : res_op1 = captures[3];
173 : tree res_op2;
174 : res_op2 = captures[5];
175 : tree _r;
176 : _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
177 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 64, __FILE__, __LINE__, true);
178 : return _r;
179 : }
180 0 : next_after_fail87:;
181 : }
182 0 : return NULL_TREE;
183 : }
184 :
185 : tree
186 161121 : generic_simplify_24 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
187 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
188 : {
189 161121 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
190 161121 : if (!TYPE_SATURATING (type)
191 : )
192 : {
193 161121 : if ((!FLOAT_TYPE_P (type) || flag_associative_math)
194 322242 : && !FIXED_POINT_TYPE_P (type)
195 : )
196 : {
197 161121 : if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
198 : )
199 : {
200 160277 : if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail104;
201 160277 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail104;
202 160277 : {
203 160277 : tree res_op0;
204 160277 : {
205 160277 : tree _o1[1], _r1;
206 160277 : _o1[0] = captures[0];
207 160277 : if (TREE_TYPE (_o1[0]) != type)
208 : {
209 157653 : _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
210 : }
211 : else
212 : _r1 = _o1[0];
213 160277 : res_op0 = _r1;
214 : }
215 160277 : tree _r;
216 160277 : _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
217 160277 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 81, __FILE__, __LINE__, true);
218 160277 : return _r;
219 : }
220 : next_after_fail104:;
221 : }
222 : }
223 : }
224 : return NULL_TREE;
225 : }
226 :
227 : tree
228 0 : generic_simplify_31 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
229 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
230 : {
231 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
232 0 : if (VECTOR_TYPE_P (type)
233 0 : && known_eq (TYPE_VECTOR_SUBPARTS (type),
234 : TYPE_VECTOR_SUBPARTS (TREE_TYPE (captures[3])))
235 0 : && (TYPE_MODE (TREE_TYPE (type))
236 0 : == TYPE_MODE (TREE_TYPE (TREE_TYPE (captures[3]))))
237 : )
238 : {
239 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail112;
240 0 : {
241 0 : tree res_op0;
242 0 : res_op0 = captures[0];
243 0 : tree res_op1;
244 0 : {
245 0 : tree _o1[1], _r1;
246 0 : {
247 0 : tree _o2[3], _r2;
248 0 : _o2[0] = captures[2];
249 0 : {
250 0 : tree _o3[1], _r3;
251 0 : _o3[0] = captures[3];
252 0 : _r3 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o3[0]), _o3[0]);
253 0 : _o2[1] = _r3;
254 : }
255 0 : _o2[2] = captures[4];
256 0 : _r2 = fold_build3_loc (loc, VEC_COND_EXPR, TREE_TYPE (_o2[1]), _o2[0], _o2[1], _o2[2]);
257 0 : _o1[0] = _r2;
258 : }
259 0 : if (TREE_TYPE (_o1[0]) != type)
260 : {
261 0 : _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
262 : }
263 : else
264 : _r1 = _o1[0];
265 0 : res_op1 = _r1;
266 : }
267 0 : tree _r;
268 0 : _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
269 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 89, __FILE__, __LINE__, true);
270 0 : return _r;
271 : }
272 0 : next_after_fail112:;
273 : }
274 : return NULL_TREE;
275 : }
276 :
277 : tree
278 0 : generic_simplify_39 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
279 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
280 : const enum tree_code ARG_UNUSED (op))
281 : {
282 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
283 0 : if (VECTOR_FLOAT_TYPE_P (type)
284 0 : && TYPE_VECTOR_SUBPARTS (type).is_constant ()
285 : )
286 : {
287 0 : {
288 0 : tree perm_cst = captures[1];
289 0 : vec_perm_builder builder;
290 0 : bool full_perm_p = false;
291 0 : if (tree_to_vec_perm_builder (&builder, perm_cst))
292 : {
293 0 : unsigned HOST_WIDE_INT nelts;
294 0 : nelts = TYPE_VECTOR_SUBPARTS (type).to_constant ();
295 0 : vec_perm_indices sel (builder, 1, nelts);
296 0 : if (sel.encoding ().encoded_full_vector_p ())
297 : {
298 0 : auto_sbitmap seen (nelts);
299 0 : bitmap_clear (seen);
300 0 : unsigned HOST_WIDE_INT count = 0, i;
301 0 : for (i = 0; i < nelts; i++)
302 : {
303 0 : if (!bitmap_set_bit (seen, sel[i].to_constant ()))
304 : break;
305 0 : count++;
306 : }
307 0 : full_perm_p = count == nelts;
308 0 : }
309 0 : }
310 0 : if (full_perm_p
311 : )
312 : {
313 0 : if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail121;
314 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail121;
315 0 : {
316 0 : tree res_op0;
317 0 : {
318 0 : tree _o1[2], _r1;
319 0 : _o1[0] = captures[0];
320 0 : _o1[1] = captures[2];
321 0 : _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
322 0 : captures[3] = _r1;
323 : }
324 0 : res_op0 = unshare_expr (captures[3]);
325 0 : tree res_op1;
326 0 : res_op1 = captures[3];
327 0 : tree res_op2;
328 0 : res_op2 = captures[1];
329 0 : tree _r;
330 0 : _r = fold_build3_loc (loc, VEC_PERM_EXPR, type, res_op0, res_op1, res_op2);
331 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 98, __FILE__, __LINE__, true);
332 0 : return _r;
333 : }
334 0 : next_after_fail121:;
335 : }
336 0 : }
337 : }
338 : return NULL_TREE;
339 : }
340 :
341 : tree
342 41304 : generic_simplify_52 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
343 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
344 : {
345 41304 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
346 41304 : if (!TYPE_SATURATING (type)
347 : )
348 : {
349 41304 : if ((!FLOAT_TYPE_P (type) || flag_associative_math)
350 82608 : && !FIXED_POINT_TYPE_P (type)
351 : )
352 : {
353 0 : if (!ANY_INTEGRAL_TYPE_P (type)
354 41304 : || TYPE_OVERFLOW_WRAPS (type)
355 : )
356 : {
357 37355 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail135;
358 37355 : {
359 37355 : tree res_op0;
360 37355 : {
361 37355 : tree _o1[1], _r1;
362 37355 : _o1[0] = captures[1];
363 37355 : if (TREE_TYPE (_o1[0]) != type)
364 : {
365 192 : _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o1[0]);
366 : }
367 : else
368 : _r1 = _o1[0];
369 37355 : res_op0 = _r1;
370 : }
371 37355 : tree _r;
372 37355 : _r = fold_build1_loc (loc, NEGATE_EXPR, type, res_op0);
373 37355 : if (TREE_SIDE_EFFECTS (captures[0]))
374 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
375 37355 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 111, __FILE__, __LINE__, true);
376 37355 : return _r;
377 : }
378 0 : next_after_fail135:;
379 : }
380 : else
381 : {
382 3949 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail136;
383 3949 : {
384 3949 : tree res_op0;
385 3949 : {
386 3949 : tree _o1[1], _r1;
387 3949 : _o1[0] = captures[1];
388 3949 : _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
389 3949 : res_op0 = _r1;
390 : }
391 3949 : tree _r;
392 3949 : _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
393 3949 : if (TREE_SIDE_EFFECTS (captures[0]))
394 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
395 3949 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 112, __FILE__, __LINE__, true);
396 3949 : return _r;
397 : }
398 0 : next_after_fail136:;
399 : }
400 : }
401 : }
402 : return NULL_TREE;
403 : }
404 :
405 : tree
406 3 : generic_simplify_65 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
407 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
408 : const enum tree_code ARG_UNUSED (op))
409 : {
410 3 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
411 3 : if (INTEGRAL_TYPE_P (type)
412 : )
413 : {
414 3 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail153;
415 3 : {
416 3 : tree res_op0;
417 3 : {
418 3 : tree _o1[2], _r1;
419 3 : _o1[0] = captures[1];
420 3 : _o1[1] = captures[4];
421 3 : _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
422 3 : res_op0 = _r1;
423 : }
424 3 : tree res_op1;
425 3 : res_op1 = captures[2];
426 3 : tree _r;
427 3 : _r = fold_build2_loc (loc, LSHIFT_EXPR, type, res_op0, res_op1);
428 3 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 129, __FILE__, __LINE__, true);
429 3 : return _r;
430 : }
431 0 : next_after_fail153:;
432 : }
433 : return NULL_TREE;
434 : }
435 :
436 : tree
437 16 : generic_simplify_69 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
438 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
439 : {
440 16 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
441 16 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail157;
442 16 : {
443 16 : tree res_op0;
444 16 : res_op0 = captures[0];
445 16 : tree res_op1;
446 16 : res_op1 = captures[1];
447 16 : tree _r;
448 16 : _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
449 16 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 133, __FILE__, __LINE__, true);
450 : return _r;
451 : }
452 0 : next_after_fail157:;
453 0 : return NULL_TREE;
454 : }
455 :
456 : tree
457 0 : generic_simplify_76 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
458 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
459 : const enum tree_code ARG_UNUSED (bit_op))
460 : {
461 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
462 0 : if (bit_op == BIT_AND_EXPR
463 : )
464 : {
465 0 : if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail165;
466 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail165;
467 0 : {
468 0 : tree _r;
469 0 : _r = build_zero_cst (type);
470 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 138, __FILE__, __LINE__, true);
471 0 : return _r;
472 : }
473 : next_after_fail165:;
474 : }
475 : else
476 : {
477 0 : if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail166;
478 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail166;
479 0 : {
480 0 : tree _r;
481 0 : _r = build_minus_one_cst (type);
482 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 139, __FILE__, __LINE__, true);
483 0 : return _r;
484 : }
485 : next_after_fail166:;
486 : }
487 : return NULL_TREE;
488 : }
489 :
490 : tree
491 0 : generic_simplify_85 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
492 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
493 : {
494 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
495 0 : if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail177;
496 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail177;
497 0 : {
498 0 : tree res_op0;
499 0 : res_op0 = captures[0];
500 0 : tree res_op1;
501 0 : res_op1 = captures[3];
502 0 : tree _r;
503 0 : _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
504 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 146, __FILE__, __LINE__, true);
505 : return _r;
506 : }
507 : next_after_fail177:;
508 : return NULL_TREE;
509 : }
510 :
511 : tree
512 390 : generic_simplify_96 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
513 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
514 : const enum tree_code ARG_UNUSED (op),
515 : const enum tree_code ARG_UNUSED (rop))
516 : {
517 390 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
518 390 : if (tree_nop_conversion_p (type, TREE_TYPE (captures[1]))
519 390 : && tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
520 : )
521 : {
522 390 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail188;
523 390 : {
524 390 : tree res_op0;
525 390 : {
526 390 : tree _o1[1], _r1;
527 390 : _o1[0] = captures[0];
528 390 : if (TREE_TYPE (_o1[0]) != type)
529 : {
530 0 : _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
531 : }
532 : else
533 : _r1 = _o1[0];
534 390 : res_op0 = _r1;
535 : }
536 390 : tree res_op1;
537 390 : {
538 390 : tree _o1[2], _r1;
539 390 : {
540 390 : tree _o2[1], _r2;
541 390 : _o2[0] = captures[1];
542 390 : if (TREE_TYPE (_o2[0]) != type)
543 : {
544 0 : _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
545 : }
546 : else
547 : _r2 = _o2[0];
548 390 : _o1[0] = _r2;
549 : }
550 390 : {
551 390 : tree _o2[1], _r2;
552 390 : _o2[0] = captures[2];
553 390 : if (TREE_TYPE (_o2[0]) != type)
554 : {
555 0 : _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
556 : }
557 : else
558 : _r2 = _o2[0];
559 390 : _o1[1] = _r2;
560 : }
561 390 : _r1 = fold_build2_loc (loc, op, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
562 390 : res_op1 = _r1;
563 : }
564 390 : tree _r;
565 390 : _r = fold_build2_loc (loc, rop, type, res_op0, res_op1);
566 390 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 154, __FILE__, __LINE__, true);
567 390 : return _r;
568 : }
569 0 : next_after_fail188:;
570 : }
571 : return NULL_TREE;
572 : }
573 :
574 : tree
575 82 : generic_simplify_109 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
576 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
577 : const enum tree_code ARG_UNUSED (op))
578 : {
579 82 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
580 82 : if (bitwise_equal_p (captures[4], captures[7])
581 : )
582 : {
583 16 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail205;
584 16 : {
585 16 : tree res_op0;
586 16 : {
587 16 : tree _o1[2], _r1;
588 16 : {
589 16 : tree _o2[2], _r2;
590 16 : _o2[0] = captures[5];
591 16 : {
592 16 : tree _o3[1], _r3;
593 16 : _o3[0] = captures[6];
594 16 : if (TREE_TYPE (_o3[0]) != TREE_TYPE (_o2[0]))
595 : {
596 16 : _r3 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o2[0]), _o3[0]);
597 : }
598 : else
599 : _r3 = _o3[0];
600 16 : _o2[1] = _r3;
601 : }
602 16 : _r2 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
603 16 : _o1[0] = _r2;
604 : }
605 16 : {
606 16 : tree _o2[1], _r2;
607 16 : _o2[0] = captures[4];
608 16 : if (TREE_TYPE (_o2[0]) != TREE_TYPE (_o1[0]))
609 : {
610 0 : _r2 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (_o1[0]), _o2[0]);
611 : }
612 : else
613 : _r2 = _o2[0];
614 16 : _o1[1] = _r2;
615 : }
616 16 : _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
617 16 : res_op0 = _r1;
618 : }
619 16 : tree _r;
620 16 : _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
621 16 : if (TREE_SIDE_EFFECTS (captures[7]))
622 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[7]), _r);
623 16 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 163, __FILE__, __LINE__, true);
624 16 : return _r;
625 : }
626 0 : next_after_fail205:;
627 : }
628 : return NULL_TREE;
629 : }
630 :
631 : tree
632 0 : generic_simplify_121 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
633 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
634 : const enum tree_code ARG_UNUSED (cmp),
635 : const enum tree_code ARG_UNUSED (icmp))
636 : {
637 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
638 0 : if (INTEGRAL_TYPE_P (type)
639 0 : && invert_tree_comparison (cmp, HONOR_NANS (captures[1])) == icmp
640 0 : && canonicalize_math_after_vectorization_p ()
641 : )
642 : {
643 : if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail220;
644 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail220;
645 : {
646 : tree res_op0;
647 : {
648 : tree _o1[3], _r1;
649 : _o1[0] = captures[0];
650 : _o1[1] = captures[3];
651 : _o1[2] = captures[5];
652 : _r1 = fold_build3_loc (loc, COND_EXPR, TREE_TYPE (_o1[1]), _o1[0], _o1[1], _o1[2]);
653 : res_op0 = _r1;
654 : }
655 : tree res_op1;
656 : res_op1 = build_one_cst (type);
657 : tree _r;
658 : _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
659 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 173, __FILE__, __LINE__, true);
660 : return _r;
661 : }
662 0 : next_after_fail220:;
663 : }
664 0 : return NULL_TREE;
665 : }
666 :
667 : tree
668 31 : generic_simplify_130 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
669 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
670 : const enum tree_code ARG_UNUSED (code2),
671 : const enum tree_code ARG_UNUSED (code1))
672 : {
673 31 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
674 31 : if ((TREE_CODE (captures[2]) == INTEGER_CST
675 7 : && TREE_CODE (captures[4]) == INTEGER_CST)
676 31 : || ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
677 24 : || POINTER_TYPE_P (TREE_TYPE (captures[2])))
678 0 : && operand_equal_p (captures[2], captures[4]))
679 : )
680 : {
681 7 : {
682 7 : int cmp = 0;
683 7 : if (TREE_CODE (captures[2]) == INTEGER_CST
684 7 : && TREE_CODE (captures[4]) == INTEGER_CST)
685 7 : cmp = tree_int_cst_compare (captures[2], captures[4]);
686 7 : if ((code1 == LT_EXPR || code1 == LE_EXPR)
687 7 : && (code2 == LT_EXPR || code2 == LE_EXPR)
688 : )
689 : {
690 7 : if ((cmp < 0) || (cmp == 0 && code1 == LT_EXPR)
691 : )
692 : {
693 7 : if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail245;
694 7 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail245;
695 7 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail245;
696 7 : {
697 7 : tree _r;
698 7 : _r = captures[3];
699 7 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 191, __FILE__, __LINE__, true);
700 7 : return _r;
701 : }
702 : next_after_fail245:;
703 : }
704 : else
705 : {
706 0 : if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail246;
707 0 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail246;
708 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail246;
709 0 : {
710 0 : tree _r;
711 0 : _r = captures[0];
712 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 192, __FILE__, __LINE__, true);
713 0 : return _r;
714 : }
715 : next_after_fail246:;
716 : }
717 : }
718 : else
719 : {
720 0 : if ((code1 == GT_EXPR || code1 == GE_EXPR)
721 0 : && (code2 == GT_EXPR || code2 == GE_EXPR)
722 : )
723 : {
724 0 : if ((cmp > 0) || (cmp == 0 && code1 == GT_EXPR)
725 : )
726 : {
727 0 : if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail247;
728 0 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail247;
729 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail247;
730 0 : {
731 0 : tree _r;
732 0 : _r = captures[3];
733 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 193, __FILE__, __LINE__, true);
734 0 : return _r;
735 : }
736 : next_after_fail247:;
737 : }
738 : else
739 : {
740 0 : if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail248;
741 0 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail248;
742 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail248;
743 0 : {
744 0 : tree _r;
745 0 : _r = captures[0];
746 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 194, __FILE__, __LINE__, true);
747 0 : return _r;
748 : }
749 : next_after_fail248:;
750 : }
751 : }
752 : else
753 : {
754 0 : if (cmp == 0
755 0 : && ((code1 == LT_EXPR && code2 == GT_EXPR)
756 0 : || (code1 == GT_EXPR && code2 == LT_EXPR))
757 : )
758 : {
759 0 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail249;
760 0 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail249;
761 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail249;
762 0 : {
763 0 : tree res_op0;
764 0 : res_op0 = captures[1];
765 0 : tree res_op1;
766 0 : res_op1 = captures[4];
767 0 : tree _r;
768 0 : _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
769 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 195, __FILE__, __LINE__, true);
770 0 : return _r;
771 : }
772 : next_after_fail249:;
773 : }
774 : else
775 : {
776 0 : if (cmp >= 0
777 0 : && (code1 == LT_EXPR || code1 == LE_EXPR)
778 0 : && (code2 == GT_EXPR || code2 == GE_EXPR)
779 : )
780 : {
781 0 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail250;
782 0 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail250;
783 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail250;
784 0 : {
785 0 : tree _r;
786 0 : _r = constant_boolean_node (true, type);
787 0 : if (TREE_SIDE_EFFECTS (captures[1]))
788 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
789 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 196, __FILE__, __LINE__, true);
790 0 : return _r;
791 : }
792 : next_after_fail250:;
793 : }
794 : else
795 : {
796 0 : if (cmp <= 0
797 0 : && (code1 == GT_EXPR || code1 == GE_EXPR)
798 0 : && (code2 == LT_EXPR || code2 == LE_EXPR)
799 : )
800 : {
801 0 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail251;
802 0 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail251;
803 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail251;
804 0 : {
805 0 : tree _r;
806 0 : _r = constant_boolean_node (true, type);
807 0 : if (TREE_SIDE_EFFECTS (captures[1]))
808 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
809 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 197, __FILE__, __LINE__, true);
810 0 : return _r;
811 : }
812 : next_after_fail251:;
813 : }
814 : }
815 : }
816 : }
817 : }
818 : }
819 : }
820 : return NULL_TREE;
821 : }
822 :
823 : tree
824 589 : generic_simplify_155 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
825 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
826 : {
827 589 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
828 589 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail290;
829 589 : {
830 589 : if (! tree_invariant_p (captures[3])) goto next_after_fail290;
831 1 : tree res_op0;
832 1 : {
833 1 : tree _o1[2], _r1;
834 1 : _o1[0] = captures[2];
835 1 : _o1[1] = unshare_expr (captures[3]);
836 1 : _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
837 1 : res_op0 = _r1;
838 : }
839 1 : tree res_op1;
840 1 : {
841 1 : tree _o1[2], _r1;
842 1 : {
843 1 : tree _o2[1], _r2;
844 1 : _o2[0] = captures[4];
845 1 : _r2 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o2[0]), _o2[0]);
846 1 : if (EXPR_P (_r2))
847 0 : goto next_after_fail290;
848 1 : _o1[0] = _r2;
849 : }
850 1 : _o1[1] = captures[3];
851 1 : _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
852 1 : if (EXPR_P (_r1))
853 0 : goto next_after_fail290;
854 1 : res_op1 = _r1;
855 : }
856 1 : tree _r;
857 1 : _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
858 1 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 212, __FILE__, __LINE__, true);
859 : return _r;
860 : }
861 : next_after_fail290:;
862 : return NULL_TREE;
863 : }
864 :
865 : tree
866 11 : generic_simplify_164 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
867 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
868 : {
869 11 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
870 11 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail299;
871 11 : {
872 11 : tree res_op0;
873 11 : res_op0 = captures[0];
874 11 : tree _r;
875 11 : _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
876 11 : if (TREE_SIDE_EFFECTS (captures[2]))
877 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
878 11 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 221, __FILE__, __LINE__, true);
879 : return _r;
880 : }
881 0 : next_after_fail299:;
882 0 : return NULL_TREE;
883 : }
884 :
885 : tree
886 24 : generic_simplify_170 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
887 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
888 : {
889 24 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
890 24 : if (tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
891 : )
892 : {
893 24 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail305;
894 24 : {
895 24 : tree res_op0;
896 24 : {
897 24 : tree _o1[2], _r1;
898 24 : {
899 24 : tree _o2[1], _r2;
900 24 : _o2[0] = captures[2];
901 24 : if (TREE_TYPE (_o2[0]) != type)
902 : {
903 24 : _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o2[0]);
904 : }
905 : else
906 : _r2 = _o2[0];
907 24 : _o1[0] = _r2;
908 : }
909 24 : _o1[1] = captures[3];
910 24 : _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
911 24 : res_op0 = _r1;
912 : }
913 24 : tree _r;
914 24 : _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
915 24 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 224, __FILE__, __LINE__, true);
916 24 : return _r;
917 : }
918 0 : next_after_fail305:;
919 : }
920 : return NULL_TREE;
921 : }
922 :
923 : tree
924 4 : generic_simplify_177 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
925 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
926 : const combined_fn ARG_UNUSED (COPYSIGN_ALL))
927 : {
928 4 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
929 4 : if (!tree_expr_maybe_nan_p (captures[0]) && !HONOR_SIGNED_ZEROS (type)
930 : )
931 : {
932 0 : if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail314;
933 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail314;
934 0 : {
935 0 : tree res_op0;
936 0 : res_op0 = captures[0];
937 0 : tree _r;
938 0 : _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
939 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 234, __FILE__, __LINE__, true);
940 0 : return _r;
941 : }
942 : next_after_fail314:;
943 : }
944 : return NULL_TREE;
945 : }
946 :
947 : tree
948 0 : generic_simplify_184 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
949 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
950 : {
951 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
952 0 : if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail321;
953 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail321;
954 0 : {
955 0 : tree _r;
956 0 : _r = build_zero_cst (type);
957 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 239, __FILE__, __LINE__, true);
958 : return _r;
959 : }
960 : next_after_fail321:;
961 : return NULL_TREE;
962 : }
963 :
964 : tree
965 43810 : generic_simplify_191 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
966 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
967 : {
968 43810 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
969 43810 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail330;
970 43810 : {
971 43810 : tree res_op0;
972 43810 : res_op0 = captures[0];
973 43810 : tree _r;
974 43810 : _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
975 43810 : if (TREE_SIDE_EFFECTS (captures[2]))
976 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
977 43810 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 245, __FILE__, __LINE__, true);
978 : return _r;
979 : }
980 0 : next_after_fail330:;
981 0 : return NULL_TREE;
982 : }
983 :
984 : tree
985 12 : generic_simplify_199 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
986 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
987 : const combined_fn ARG_UNUSED (TAN),
988 : const combined_fn ARG_UNUSED (COS),
989 : const combined_fn ARG_UNUSED (SIN))
990 : {
991 12 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
992 12 : if (flag_unsafe_math_optimizations && canonicalize_math_p ()
993 : )
994 : {
995 12 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail339;
996 12 : {
997 12 : tree res_op0;
998 12 : res_op0 = captures[1];
999 12 : tree _r;
1000 12 : _r = maybe_build_call_expr_loc (loc, SIN, type, 1, res_op0);
1001 12 : if (!_r)
1002 0 : goto next_after_fail339;
1003 12 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 254, __FILE__, __LINE__, true);
1004 12 : return _r;
1005 : }
1006 : next_after_fail339:;
1007 : }
1008 : return NULL_TREE;
1009 : }
1010 :
1011 : tree
1012 64 : generic_simplify_204 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
1013 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
1014 : const enum tree_code ARG_UNUSED (cmp))
1015 : {
1016 64 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1017 120 : if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
1018 120 : && tree_expr_nonzero_p (captures[0])
1019 : )
1020 : {
1021 12 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail344;
1022 12 : {
1023 12 : tree _r;
1024 12 : _r = constant_boolean_node (cmp != EQ_EXPR, type);
1025 12 : if (TREE_SIDE_EFFECTS (captures[0]))
1026 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
1027 12 : if (TREE_SIDE_EFFECTS (captures[1]))
1028 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
1029 12 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 259, __FILE__, __LINE__, true);
1030 12 : return _r;
1031 : }
1032 0 : next_after_fail344:;
1033 : }
1034 : return NULL_TREE;
1035 : }
1036 :
1037 : tree
1038 1606 : generic_simplify_212 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
1039 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
1040 : const enum tree_code ARG_UNUSED (cmp))
1041 : {
1042 1606 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1043 3212 : if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
1044 1606 : && TYPE_OVERFLOW_WRAPS (TREE_TYPE (captures[0]))
1045 3212 : && (TREE_INT_CST_LOW (captures[1]) & 1) != 0
1046 : )
1047 : {
1048 10 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail355;
1049 10 : {
1050 10 : tree res_op0;
1051 10 : res_op0 = captures[0];
1052 10 : tree res_op1;
1053 10 : res_op1 = captures[2];
1054 10 : tree _r;
1055 10 : _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
1056 10 : if (TREE_SIDE_EFFECTS (captures[1]))
1057 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
1058 10 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 269, __FILE__, __LINE__, true);
1059 10 : return _r;
1060 : }
1061 0 : next_after_fail355:;
1062 : }
1063 : return NULL_TREE;
1064 : }
1065 :
1066 : tree
1067 3 : generic_simplify_220 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
1068 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
1069 : const enum tree_code ARG_UNUSED (op))
1070 : {
1071 3 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1072 3 : if (tree_nop_conversion_p (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
1073 3 : && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[2]))
1074 3 : && (CONSTANT_CLASS_P (captures[3]) || (single_use (captures[1]) && single_use (captures[0])))
1075 : )
1076 : {
1077 3 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail376;
1078 3 : {
1079 3 : tree res_op0;
1080 3 : res_op0 = captures[3];
1081 3 : tree res_op1;
1082 3 : res_op1 = build_zero_cst (TREE_TYPE (captures[3]));
1083 3 : tree _r;
1084 3 : _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
1085 3 : if (TREE_SIDE_EFFECTS (captures[2]))
1086 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
1087 3 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 286, __FILE__, __LINE__, true);
1088 3 : return _r;
1089 : }
1090 0 : next_after_fail376:;
1091 : }
1092 : return NULL_TREE;
1093 : }
1094 :
1095 : tree
1096 0 : generic_simplify_228 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
1097 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
1098 : const enum tree_code ARG_UNUSED (cmp))
1099 : {
1100 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1101 0 : if (wi::lt_p (wi::to_wide (captures[1]), wi::to_wide (captures[2]),
1102 0 : TYPE_SIGN (TREE_TYPE (captures[0])))
1103 : )
1104 : {
1105 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail384;
1106 0 : {
1107 0 : tree _r;
1108 0 : _r = constant_boolean_node (cmp == NE_EXPR, type);
1109 0 : if (TREE_SIDE_EFFECTS (captures[0]))
1110 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
1111 0 : if (TREE_SIDE_EFFECTS (captures[1]))
1112 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
1113 0 : if (TREE_SIDE_EFFECTS (captures[2]))
1114 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
1115 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 297, __FILE__, __LINE__, true);
1116 0 : return _r;
1117 : }
1118 0 : next_after_fail384:;
1119 : }
1120 : else
1121 : {
1122 0 : if (wi::gt_p (wi::to_wide (captures[1]), wi::to_wide (captures[2]),
1123 0 : TYPE_SIGN (TREE_TYPE (captures[0])))
1124 : )
1125 : {
1126 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail385;
1127 0 : {
1128 0 : tree res_op0;
1129 0 : res_op0 = captures[0];
1130 0 : tree res_op1;
1131 0 : res_op1 = captures[2];
1132 0 : tree _r;
1133 0 : _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
1134 0 : if (TREE_SIDE_EFFECTS (captures[1]))
1135 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
1136 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 298, __FILE__, __LINE__, true);
1137 0 : return _r;
1138 : }
1139 0 : next_after_fail385:;
1140 : }
1141 : }
1142 : return NULL_TREE;
1143 : }
1144 :
1145 : tree
1146 124 : generic_simplify_238 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
1147 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
1148 : const enum tree_code ARG_UNUSED (rotate),
1149 : const enum tree_code ARG_UNUSED (invrot),
1150 : const enum tree_code ARG_UNUSED (cmp))
1151 : {
1152 124 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1153 124 : if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail406;
1154 124 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail406;
1155 124 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail406;
1156 124 : {
1157 124 : tree res_op0;
1158 124 : res_op0 = captures[0];
1159 124 : tree res_op1;
1160 124 : res_op1 = const_binop (invrot, TREE_TYPE (captures[0]), captures[2], captures[1]);
1161 124 : tree _r;
1162 124 : _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
1163 124 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 319, __FILE__, __LINE__, true);
1164 : return _r;
1165 : }
1166 : next_after_fail406:;
1167 : return NULL_TREE;
1168 : }
1169 :
1170 : tree
1171 25426 : generic_simplify_244 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
1172 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
1173 : const enum tree_code ARG_UNUSED (cmp),
1174 : const enum tree_code ARG_UNUSED (icmp),
1175 : const enum tree_code ARG_UNUSED (ncmp))
1176 : {
1177 25426 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1178 25426 : if (types_match (type, TREE_TYPE (captures[0]))
1179 : )
1180 : {
1181 24765 : {
1182 24765 : enum tree_code ic = invert_tree_comparison
1183 24765 : (cmp, HONOR_NANS (captures[1]));
1184 24765 : if (ic == icmp
1185 : )
1186 : {
1187 24526 : if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail412;
1188 24526 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail412;
1189 24526 : {
1190 24526 : tree res_op0;
1191 24526 : res_op0 = captures[1];
1192 24526 : tree res_op1;
1193 24526 : res_op1 = captures[2];
1194 24526 : tree _r;
1195 24526 : _r = fold_build2_loc (loc, icmp, type, res_op0, res_op1);
1196 24526 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 325, __FILE__, __LINE__, true);
1197 24526 : return _r;
1198 : }
1199 : next_after_fail412:;
1200 : }
1201 : else
1202 : {
1203 239 : if (ic == ncmp
1204 : )
1205 : {
1206 0 : if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail413;
1207 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail413;
1208 0 : {
1209 0 : tree res_op0;
1210 0 : res_op0 = captures[1];
1211 0 : tree res_op1;
1212 0 : res_op1 = captures[2];
1213 0 : tree _r;
1214 0 : _r = fold_build2_loc (loc, ncmp, type, res_op0, res_op1);
1215 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 326, __FILE__, __LINE__, true);
1216 0 : return _r;
1217 : }
1218 : next_after_fail413:;
1219 : }
1220 : }
1221 : }
1222 : }
1223 : return NULL_TREE;
1224 : }
1225 :
1226 : tree
1227 6147663 : generic_simplify_254 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
1228 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
1229 : const enum tree_code ARG_UNUSED (cmp))
1230 : {
1231 6147663 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1232 6147663 : if (REAL_VALUE_MINUS_ZERO (TREE_REAL_CST (captures[1]))
1233 : )
1234 : {
1235 1708 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail428;
1236 1708 : {
1237 1708 : tree res_op0;
1238 1708 : res_op0 = captures[0];
1239 1708 : tree res_op1;
1240 1708 : res_op1 = build_real (TREE_TYPE (captures[1]), dconst0);
1241 1708 : tree _r;
1242 1708 : _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
1243 1708 : if (TREE_SIDE_EFFECTS (captures[1]))
1244 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
1245 1708 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 339, __FILE__, __LINE__, true);
1246 1708 : return _r;
1247 : }
1248 0 : next_after_fail428:;
1249 : }
1250 : else
1251 : {
1252 6145955 : if (TREE_CODE (captures[0]) == REAL_CST
1253 6145955 : && REAL_VALUE_MINUS_ZERO (TREE_REAL_CST (captures[0]))
1254 : )
1255 : {
1256 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail429;
1257 0 : {
1258 0 : tree res_op0;
1259 0 : res_op0 = build_real (TREE_TYPE (captures[0]), dconst0);
1260 0 : tree res_op1;
1261 0 : res_op1 = captures[1];
1262 0 : tree _r;
1263 0 : _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
1264 0 : if (TREE_SIDE_EFFECTS (captures[0]))
1265 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
1266 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 340, __FILE__, __LINE__, true);
1267 0 : return _r;
1268 : }
1269 0 : next_after_fail429:;
1270 : }
1271 : else
1272 : {
1273 6145955 : if (REAL_VALUE_ISNAN (TREE_REAL_CST (captures[1]))
1274 853 : && (cmp == EQ_EXPR || cmp == NE_EXPR || !flag_trapping_math)
1275 290 : && !tree_expr_signaling_nan_p (captures[1])
1276 6146215 : && !tree_expr_maybe_signaling_nan_p (captures[0])
1277 : )
1278 : {
1279 260 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail430;
1280 260 : {
1281 260 : tree _r;
1282 260 : _r = constant_boolean_node (cmp == NE_EXPR, type);
1283 260 : if (TREE_SIDE_EFFECTS (captures[0]))
1284 6 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
1285 260 : if (TREE_SIDE_EFFECTS (captures[1]))
1286 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
1287 260 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 341, __FILE__, __LINE__, true);
1288 260 : return _r;
1289 : }
1290 0 : next_after_fail430:;
1291 : }
1292 : else
1293 : {
1294 6145695 : if (TREE_CODE (captures[0]) == REAL_CST
1295 2073 : && REAL_VALUE_ISNAN (TREE_REAL_CST (captures[0]))
1296 1861 : && (cmp == EQ_EXPR || cmp == NE_EXPR || !flag_trapping_math)
1297 0 : && !tree_expr_signaling_nan_p (captures[0])
1298 6145695 : && !tree_expr_signaling_nan_p (captures[1])
1299 : )
1300 : {
1301 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail431;
1302 0 : {
1303 0 : tree _r;
1304 0 : _r = constant_boolean_node (cmp == NE_EXPR, type);
1305 0 : if (TREE_SIDE_EFFECTS (captures[0]))
1306 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
1307 0 : if (TREE_SIDE_EFFECTS (captures[1]))
1308 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
1309 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 342, __FILE__, __LINE__, true);
1310 0 : return _r;
1311 : }
1312 0 : next_after_fail431:;
1313 : }
1314 : else
1315 : {
1316 6145695 : if (REAL_VALUE_ISINF (TREE_REAL_CST (captures[1]))
1317 6845761 : && MODE_HAS_INFINITIES (TYPE_MODE (TREE_TYPE (captures[1])))
1318 : )
1319 : {
1320 233383 : {
1321 233383 : REAL_VALUE_TYPE max;
1322 233383 : enum tree_code code = cmp;
1323 233383 : bool neg = REAL_VALUE_NEGATIVE (TREE_REAL_CST (captures[1]));
1324 233383 : if (neg)
1325 33311 : code = swap_tree_comparison (code);
1326 233383 : if (code == GT_EXPR
1327 233383 : && !(HONOR_NANS (captures[0]) && flag_trapping_math)
1328 : )
1329 : {
1330 8 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail432;
1331 8 : {
1332 8 : tree _r;
1333 8 : _r = constant_boolean_node (false, type);
1334 8 : if (TREE_SIDE_EFFECTS (captures[0]))
1335 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
1336 8 : if (TREE_SIDE_EFFECTS (captures[1]))
1337 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
1338 8 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 343, __FILE__, __LINE__, true);
1339 66429 : return _r;
1340 : }
1341 0 : next_after_fail432:;
1342 : }
1343 : else
1344 : {
1345 233375 : if (code == LE_EXPR
1346 : )
1347 : {
1348 32218 : if (! HONOR_NANS (captures[0])
1349 : )
1350 : {
1351 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail433;
1352 0 : {
1353 0 : tree _r;
1354 0 : _r = constant_boolean_node (true, type);
1355 0 : if (TREE_SIDE_EFFECTS (captures[0]))
1356 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
1357 0 : if (TREE_SIDE_EFFECTS (captures[1]))
1358 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
1359 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 344, __FILE__, __LINE__, true);
1360 0 : return _r;
1361 : }
1362 0 : next_after_fail433:;
1363 : }
1364 : else
1365 : {
1366 32218 : if (!flag_trapping_math
1367 : )
1368 : {
1369 2 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail434;
1370 2 : {
1371 2 : if (! tree_invariant_p (captures[0])) goto next_after_fail434;
1372 0 : tree res_op0;
1373 0 : res_op0 = unshare_expr (captures[0]);
1374 0 : tree res_op1;
1375 0 : res_op1 = captures[0];
1376 0 : tree _r;
1377 0 : _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
1378 0 : if (TREE_SIDE_EFFECTS (captures[1]))
1379 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
1380 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 345, __FILE__, __LINE__, true);
1381 0 : return _r;
1382 : }
1383 166954 : next_after_fail434:;
1384 : }
1385 : }
1386 : }
1387 : else
1388 : {
1389 134499 : if ((code == EQ_EXPR && !(HONOR_NANS (captures[0]) && flag_trapping_math))
1390 335620 : || code == GE_EXPR
1391 : )
1392 : {
1393 152 : {
1394 152 : real_maxval (&max, neg, TYPE_MODE (TREE_TYPE (captures[0])));
1395 152 : if (neg
1396 : )
1397 : {
1398 61 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail435;
1399 61 : {
1400 61 : tree res_op0;
1401 61 : res_op0 = captures[0];
1402 61 : tree res_op1;
1403 61 : res_op1 = build_real (TREE_TYPE (captures[0]), max);
1404 61 : tree _r;
1405 61 : _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
1406 61 : if (TREE_SIDE_EFFECTS (captures[1]))
1407 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
1408 61 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 346, __FILE__, __LINE__, true);
1409 61 : return _r;
1410 : }
1411 0 : next_after_fail435:;
1412 : }
1413 : else
1414 : {
1415 91 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail436;
1416 91 : {
1417 91 : tree res_op0;
1418 91 : res_op0 = captures[0];
1419 91 : tree res_op1;
1420 91 : res_op1 = build_real (TREE_TYPE (captures[0]), max);
1421 91 : tree _r;
1422 91 : _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
1423 91 : if (TREE_SIDE_EFFECTS (captures[1]))
1424 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
1425 91 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 347, __FILE__, __LINE__, true);
1426 91 : return _r;
1427 : }
1428 0 : next_after_fail436:;
1429 : }
1430 : }
1431 : }
1432 : else
1433 : {
1434 201005 : if (code == LT_EXPR
1435 : )
1436 : {
1437 94 : {
1438 94 : real_maxval (&max, neg, TYPE_MODE (TREE_TYPE (captures[0])));
1439 94 : if (neg
1440 : )
1441 : {
1442 26 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail437;
1443 26 : {
1444 26 : tree res_op0;
1445 26 : res_op0 = captures[0];
1446 26 : tree res_op1;
1447 26 : res_op1 = build_real (TREE_TYPE (captures[0]), max);
1448 26 : tree _r;
1449 26 : _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
1450 26 : if (TREE_SIDE_EFFECTS (captures[1]))
1451 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
1452 26 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 348, __FILE__, __LINE__, true);
1453 26 : return _r;
1454 : }
1455 0 : next_after_fail437:;
1456 : }
1457 : else
1458 : {
1459 68 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail438;
1460 68 : {
1461 68 : tree res_op0;
1462 68 : res_op0 = captures[0];
1463 68 : tree res_op1;
1464 68 : res_op1 = build_real (TREE_TYPE (captures[0]), max);
1465 68 : tree _r;
1466 68 : _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
1467 68 : if (TREE_SIDE_EFFECTS (captures[1]))
1468 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
1469 68 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 349, __FILE__, __LINE__, true);
1470 68 : return _r;
1471 : }
1472 0 : next_after_fail438:;
1473 : }
1474 : }
1475 : }
1476 : else
1477 : {
1478 200911 : if (code == NE_EXPR
1479 : )
1480 : {
1481 66175 : {
1482 66175 : real_maxval (&max, neg, TYPE_MODE (TREE_TYPE (captures[0])));
1483 66175 : if (! HONOR_NANS (captures[0])
1484 : )
1485 : {
1486 0 : if (neg
1487 : )
1488 : {
1489 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail439;
1490 0 : {
1491 0 : tree res_op0;
1492 0 : res_op0 = captures[0];
1493 0 : tree res_op1;
1494 0 : res_op1 = build_real (TREE_TYPE (captures[0]), max);
1495 0 : tree _r;
1496 0 : _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
1497 0 : if (TREE_SIDE_EFFECTS (captures[1]))
1498 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
1499 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 350, __FILE__, __LINE__, true);
1500 0 : return _r;
1501 : }
1502 0 : next_after_fail439:;
1503 : }
1504 : else
1505 : {
1506 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail440;
1507 0 : {
1508 0 : tree res_op0;
1509 0 : res_op0 = captures[0];
1510 0 : tree res_op1;
1511 0 : res_op1 = build_real (TREE_TYPE (captures[0]), max);
1512 0 : tree _r;
1513 0 : _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
1514 0 : if (TREE_SIDE_EFFECTS (captures[1]))
1515 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
1516 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 351, __FILE__, __LINE__, true);
1517 0 : return _r;
1518 : }
1519 0 : next_after_fail440:;
1520 : }
1521 : }
1522 : else
1523 : {
1524 66175 : if (neg
1525 : )
1526 : {
1527 561 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail441;
1528 561 : {
1529 561 : tree res_op0;
1530 561 : res_op0 = captures[0];
1531 561 : tree res_op1;
1532 561 : res_op1 = build_real (TREE_TYPE (captures[0]), max);
1533 561 : tree _r;
1534 561 : _r = fold_build2_loc (loc, UNGE_EXPR, type, res_op0, res_op1);
1535 561 : if (TREE_SIDE_EFFECTS (captures[1]))
1536 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
1537 561 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 352, __FILE__, __LINE__, true);
1538 561 : return _r;
1539 : }
1540 0 : next_after_fail441:;
1541 : }
1542 : else
1543 : {
1544 65614 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail442;
1545 65614 : {
1546 65614 : tree res_op0;
1547 65614 : res_op0 = captures[0];
1548 65614 : tree res_op1;
1549 65614 : res_op1 = build_real (TREE_TYPE (captures[0]), max);
1550 65614 : tree _r;
1551 65614 : _r = fold_build2_loc (loc, UNLE_EXPR, type, res_op0, res_op1);
1552 65614 : if (TREE_SIDE_EFFECTS (captures[1]))
1553 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
1554 65614 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 353, __FILE__, __LINE__, true);
1555 65614 : return _r;
1556 : }
1557 0 : next_after_fail442:;
1558 : }
1559 : }
1560 : }
1561 : }
1562 : }
1563 : }
1564 : }
1565 : }
1566 : }
1567 : }
1568 : }
1569 : }
1570 : }
1571 : }
1572 : return NULL_TREE;
1573 : }
1574 :
1575 : tree
1576 0 : generic_simplify_297 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
1577 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
1578 : const enum tree_code ARG_UNUSED (cmp))
1579 : {
1580 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1581 0 : if (VECTOR_MODE_P (TYPE_MODE (TREE_TYPE (captures[0])))
1582 0 : && can_compare_p (cmp == EQ_EXPR ? EQ : NE, TYPE_MODE (TREE_TYPE (captures[0])),
1583 : ccp_jump)
1584 : )
1585 : {
1586 0 : if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail560;
1587 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail560;
1588 0 : {
1589 0 : tree res_op0;
1590 0 : res_op0 = captures[0];
1591 0 : tree res_op1;
1592 0 : res_op1 = build_zero_cst (TREE_TYPE (captures[0]));
1593 0 : tree _r;
1594 0 : _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
1595 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 454, __FILE__, __LINE__, true);
1596 0 : return _r;
1597 : }
1598 : next_after_fail560:;
1599 : }
1600 : return NULL_TREE;
1601 : }
1602 :
1603 : tree
1604 0 : generic_simplify_302 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
1605 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
1606 : const combined_fn ARG_UNUSED (copysigns))
1607 : {
1608 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1609 0 : if (!REAL_VALUE_NEGATIVE (TREE_REAL_CST (captures[1]))
1610 : )
1611 : {
1612 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail566;
1613 0 : {
1614 0 : tree res_op0;
1615 0 : res_op0 = captures[0];
1616 0 : tree _r;
1617 0 : _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
1618 0 : if (TREE_SIDE_EFFECTS (captures[1]))
1619 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
1620 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 460, __FILE__, __LINE__, true);
1621 0 : return _r;
1622 : }
1623 0 : next_after_fail566:;
1624 : }
1625 : return NULL_TREE;
1626 : }
1627 :
1628 : tree
1629 7 : generic_simplify_307 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
1630 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
1631 : const enum tree_code ARG_UNUSED (div))
1632 : {
1633 7 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1634 14 : if ((TYPE_UNSIGNED (type) || tree_expr_nonnegative_p (captures[0]))
1635 0 : && (!VECTOR_TYPE_P (type)
1636 0 : || target_supports_op_p (type, RSHIFT_EXPR, optab_vector)
1637 0 : || target_supports_op_p (type, RSHIFT_EXPR, optab_scalar))
1638 7 : && (useless_type_conversion_p (type, TREE_TYPE (captures[2]))
1639 0 : || (element_precision (type) >= element_precision (TREE_TYPE (captures[2]))
1640 0 : && (TYPE_UNSIGNED (TREE_TYPE (captures[2]))
1641 0 : || (element_precision (type)
1642 0 : == element_precision (TREE_TYPE (captures[2])))
1643 0 : || (INTEGRAL_TYPE_P (type)
1644 0 : && (tree_nonzero_bits (captures[0])
1645 7 : & wi::mask (element_precision (TREE_TYPE (captures[2])) - 1,
1646 : true,
1647 7 : element_precision (type))) == 0))))
1648 : )
1649 : {
1650 0 : if (!VECTOR_TYPE_P (type)
1651 0 : && useless_type_conversion_p (TREE_TYPE (captures[1]), TREE_TYPE (captures[2]))
1652 0 : && element_precision (TREE_TYPE (captures[1])) < element_precision (type)
1653 : )
1654 : {
1655 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail571;
1656 0 : {
1657 0 : tree res_op0;
1658 0 : {
1659 0 : tree _o1[2], _r1;
1660 0 : _o1[0] = captures[1];
1661 0 : _o1[1] = captures[3];
1662 0 : _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
1663 0 : res_op0 = _r1;
1664 : }
1665 0 : tree _r;
1666 0 : _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
1667 0 : if (TREE_SIDE_EFFECTS (captures[2]))
1668 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
1669 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 465, __FILE__, __LINE__, true);
1670 0 : return _r;
1671 : }
1672 0 : next_after_fail571:;
1673 : }
1674 : else
1675 : {
1676 0 : if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail572;
1677 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail572;
1678 0 : {
1679 0 : tree res_op0;
1680 0 : res_op0 = captures[0];
1681 0 : tree res_op1;
1682 0 : res_op1 = captures[3];
1683 0 : tree _r;
1684 0 : _r = fold_build2_loc (loc, RSHIFT_EXPR, type, res_op0, res_op1);
1685 0 : if (TREE_SIDE_EFFECTS (captures[2]))
1686 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
1687 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 466, __FILE__, __LINE__, true);
1688 0 : return _r;
1689 : }
1690 : next_after_fail572:;
1691 : }
1692 : }
1693 : return NULL_TREE;
1694 : }
1695 :
1696 : tree
1697 227 : generic_simplify_324 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
1698 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
1699 : const enum tree_code ARG_UNUSED (mod))
1700 : {
1701 227 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1702 227 : if (!integer_zerop (captures[0])
1703 : )
1704 : {
1705 93 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail591;
1706 93 : {
1707 93 : tree _r;
1708 93 : _r = build_zero_cst (type);
1709 93 : if (TREE_SIDE_EFFECTS (captures[0]))
1710 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
1711 93 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 483, __FILE__, __LINE__, true);
1712 93 : return _r;
1713 : }
1714 0 : next_after_fail591:;
1715 : }
1716 : return NULL_TREE;
1717 : }
1718 :
1719 : tree
1720 3 : generic_simplify_334 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
1721 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
1722 : const combined_fn ARG_UNUSED (TANH),
1723 : const combined_fn ARG_UNUSED (SINH),
1724 : const combined_fn ARG_UNUSED (COSH))
1725 : {
1726 3 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1727 3 : if (flag_unsafe_math_optimizations && canonicalize_math_p ()
1728 : )
1729 : {
1730 3 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail603;
1731 3 : {
1732 3 : tree res_op0;
1733 3 : res_op0 = build_one_cst (type);
1734 3 : tree res_op1;
1735 3 : {
1736 3 : tree _o1[1], _r1;
1737 3 : _o1[0] = captures[1];
1738 3 : _r1 = maybe_build_call_expr_loc (loc, COSH, TREE_TYPE (_o1[0]), 1, _o1[0]);
1739 3 : if (!_r1)
1740 0 : goto next_after_fail603;
1741 3 : res_op1 = _r1;
1742 : }
1743 3 : tree _r;
1744 3 : _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
1745 3 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 495, __FILE__, __LINE__, true);
1746 3 : return _r;
1747 : }
1748 : next_after_fail603:;
1749 : }
1750 : return NULL_TREE;
1751 : }
1752 :
1753 : tree
1754 2 : generic_simplify_342 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
1755 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
1756 : const enum tree_code ARG_UNUSED (cmp),
1757 : const enum tree_code ARG_UNUSED (minmax))
1758 : {
1759 2 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1760 2 : {
1761 2 : tree_code code = minmax_from_comparison (cmp, captures[0], captures[3], captures[0], captures[1]);
1762 2 : if (code == MIN_EXPR
1763 : )
1764 : {
1765 0 : if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail614;
1766 0 : if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail614;
1767 0 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail614;
1768 0 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail614;
1769 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail614;
1770 0 : {
1771 0 : tree res_op0;
1772 0 : {
1773 0 : tree _o1[2], _r1;
1774 0 : _o1[0] = captures[0];
1775 0 : _o1[1] = captures[3];
1776 0 : _r1 = fold_build2_loc (loc, MIN_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
1777 0 : res_op0 = _r1;
1778 : }
1779 0 : tree res_op1;
1780 0 : res_op1 = captures[2];
1781 0 : tree _r;
1782 0 : _r = fold_build2_loc (loc, minmax, type, res_op0, res_op1);
1783 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 506, __FILE__, __LINE__, true);
1784 0 : return _r;
1785 : }
1786 : next_after_fail614:;
1787 : }
1788 : else
1789 : {
1790 2 : if (code == MAX_EXPR
1791 : )
1792 : {
1793 2 : if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail615;
1794 2 : if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail615;
1795 2 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail615;
1796 2 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail615;
1797 2 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail615;
1798 2 : {
1799 2 : tree res_op0;
1800 2 : {
1801 2 : tree _o1[2], _r1;
1802 2 : _o1[0] = captures[0];
1803 2 : _o1[1] = captures[3];
1804 2 : _r1 = fold_build2_loc (loc, MAX_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
1805 2 : res_op0 = _r1;
1806 : }
1807 2 : tree res_op1;
1808 2 : res_op1 = captures[2];
1809 2 : tree _r;
1810 2 : _r = fold_build2_loc (loc, minmax, type, res_op0, res_op1);
1811 2 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 507, __FILE__, __LINE__, true);
1812 2 : return _r;
1813 : }
1814 : next_after_fail615:;
1815 : }
1816 : }
1817 : }
1818 : return NULL_TREE;
1819 : }
1820 :
1821 : tree
1822 21 : generic_simplify_357 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
1823 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
1824 : {
1825 21 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1826 21 : if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail632;
1827 21 : if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail632;
1828 21 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail632;
1829 21 : {
1830 21 : tree _r;
1831 21 : _r = captures[2];
1832 21 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 523, __FILE__, __LINE__, true);
1833 : return _r;
1834 : }
1835 : next_after_fail632:;
1836 : return NULL_TREE;
1837 : }
1838 :
1839 : tree
1840 0 : generic_simplify_364 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
1841 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
1842 : const enum tree_code ARG_UNUSED (cmp))
1843 : {
1844 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1845 0 : if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail640;
1846 0 : if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail640;
1847 0 : if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail640;
1848 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail640;
1849 0 : {
1850 0 : tree _r;
1851 0 : _r = captures[0];
1852 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 531, __FILE__, __LINE__, true);
1853 : return _r;
1854 : }
1855 : next_after_fail640:;
1856 : return NULL_TREE;
1857 : }
1858 :
1859 : tree
1860 19789 : generic_simplify_372 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
1861 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
1862 : const enum tree_code ARG_UNUSED (cmp))
1863 : {
1864 19789 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1865 39578 : if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
1866 39517 : && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
1867 : )
1868 : {
1869 16285 : if (tree_expr_nonnegative_p (captures[1]) && tree_expr_nonzero_p (captures[1])
1870 : )
1871 : {
1872 12761 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail651;
1873 12761 : {
1874 12761 : tree res_op0;
1875 12761 : res_op0 = captures[0];
1876 12761 : tree res_op1;
1877 12761 : res_op1 = captures[2];
1878 12761 : tree _r;
1879 12761 : _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
1880 12761 : if (TREE_SIDE_EFFECTS (captures[1]))
1881 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
1882 12761 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 541, __FILE__, __LINE__, true);
1883 12761 : return _r;
1884 : }
1885 0 : next_after_fail651:;
1886 : }
1887 : else
1888 : {
1889 3524 : if (TREE_CODE (captures[1]) == INTEGER_CST
1890 3524 : && wi::neg_p (wi::to_wide (captures[1]), TYPE_SIGN (TREE_TYPE (captures[1])))
1891 : )
1892 : {
1893 1076 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail652;
1894 1076 : {
1895 1076 : tree res_op0;
1896 1076 : res_op0 = captures[2];
1897 1076 : tree res_op1;
1898 1076 : res_op1 = captures[0];
1899 1076 : tree _r;
1900 1076 : _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
1901 1076 : if (TREE_SIDE_EFFECTS (captures[1]))
1902 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
1903 1076 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 542, __FILE__, __LINE__, true);
1904 1076 : return _r;
1905 : }
1906 0 : next_after_fail652:;
1907 : }
1908 : }
1909 : }
1910 : return NULL_TREE;
1911 : }
1912 :
1913 : tree
1914 540 : generic_simplify_383 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
1915 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
1916 : const enum tree_code ARG_UNUSED (cmp))
1917 : {
1918 540 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1919 540 : if (wi::gt_p (wi::to_wide (captures[1]), 0, TYPE_SIGN (TREE_TYPE (captures[1])))
1920 : )
1921 : {
1922 540 : {
1923 540 : wi::overflow_type ovf;
1924 540 : wide_int prod = wi::mul (wi::to_wide (captures[2]), wi::to_wide (captures[1]),
1925 1080 : TYPE_SIGN (TREE_TYPE (captures[1])), &ovf);
1926 540 : if (ovf
1927 : )
1928 : {
1929 0 : if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail664;
1930 0 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail664;
1931 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail664;
1932 0 : {
1933 0 : tree _r;
1934 0 : _r = constant_boolean_node (wi::lt_p (wi::to_wide (captures[2]), 0,
1935 0 : TYPE_SIGN (TREE_TYPE (captures[2])))
1936 0 : != (cmp == LT_EXPR || cmp == LE_EXPR), type);
1937 0 : if (TREE_SIDE_EFFECTS (captures[0]))
1938 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
1939 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 554, __FILE__, __LINE__, true);
1940 0 : return _r;
1941 : }
1942 0 : next_after_fail664:;
1943 : }
1944 : else
1945 : {
1946 540 : if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail665;
1947 540 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail665;
1948 540 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail665;
1949 540 : {
1950 540 : tree res_op0;
1951 540 : res_op0 = captures[0];
1952 540 : tree res_op1;
1953 540 : res_op1 = wide_int_to_tree (TREE_TYPE (captures[0]), prod);
1954 540 : tree _r;
1955 540 : _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
1956 540 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 555, __FILE__, __LINE__, true);
1957 540 : return _r;
1958 : }
1959 0 : next_after_fail665:;
1960 : }
1961 540 : }
1962 : }
1963 : return NULL_TREE;
1964 : }
1965 :
1966 : tree
1967 50 : generic_simplify_395 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
1968 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
1969 : const enum tree_code ARG_UNUSED (op),
1970 : const enum tree_code ARG_UNUSED (cmp),
1971 : const combined_fn ARG_UNUSED (ctz))
1972 : {
1973 50 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1974 50 : {
1975 50 : bool ok = true;
1976 50 : HOST_WIDE_INT val = 0;
1977 50 : if (sanitize_flags_p (SANITIZE_BUILTIN)
1978 50 : && (!cfun
1979 32 : || (cfun->curr_properties & PROP_ssa) == 0))
1980 : ok = false;
1981 18 : else if (!tree_fits_shwi_p (captures[2]))
1982 : ok = false;
1983 : else
1984 : {
1985 18 : val = tree_to_shwi (captures[2]);
1986 18 : if (op == GT_EXPR || op == LE_EXPR)
1987 : {
1988 10 : if (val == HOST_WIDE_INT_MAX)
1989 : ok = false;
1990 : else
1991 10 : val++;
1992 : }
1993 : }
1994 50 : tree type0 = TREE_TYPE (captures[1]);
1995 50 : int prec = TYPE_PRECISION (type0);
1996 68 : if (ok && prec <= MAX_FIXED_MODE_SIZE
1997 : )
1998 : {
1999 18 : if (val <= 0
2000 : )
2001 : {
2002 8 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail711;
2003 8 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail711;
2004 8 : {
2005 8 : tree _r;
2006 8 : _r = constant_boolean_node (cmp == EQ_EXPR ? true : false, type);
2007 8 : if (TREE_SIDE_EFFECTS (captures[1]))
2008 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
2009 8 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 584, __FILE__, __LINE__, true);
2010 8 : return _r;
2011 : }
2012 : next_after_fail711:;
2013 : }
2014 : else
2015 : {
2016 10 : if (val >= prec
2017 : )
2018 : {
2019 5 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail712;
2020 5 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail712;
2021 5 : {
2022 5 : tree _r;
2023 5 : _r = constant_boolean_node (cmp == EQ_EXPR ? false : true, type);
2024 5 : if (TREE_SIDE_EFFECTS (captures[1]))
2025 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
2026 5 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 585, __FILE__, __LINE__, true);
2027 5 : return _r;
2028 : }
2029 : next_after_fail712:;
2030 : }
2031 : else
2032 : {
2033 5 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail713;
2034 5 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail713;
2035 5 : {
2036 5 : tree res_op0;
2037 5 : {
2038 5 : tree _o1[2], _r1;
2039 5 : _o1[0] = captures[1];
2040 5 : _o1[1] = wide_int_to_tree (type0,
2041 5 : wi::mask (val, false, prec));
2042 5 : _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
2043 5 : res_op0 = _r1;
2044 : }
2045 5 : tree res_op1;
2046 5 : res_op1 = build_zero_cst (type0);
2047 5 : tree _r;
2048 5 : _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
2049 5 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 586, __FILE__, __LINE__, true);
2050 5 : return _r;
2051 : }
2052 : next_after_fail713:;
2053 : }
2054 : }
2055 : }
2056 : }
2057 : return NULL_TREE;
2058 : }
2059 :
2060 : tree
2061 354 : generic_simplify_408 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
2062 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
2063 : const enum tree_code ARG_UNUSED (shift),
2064 : const enum tree_code ARG_UNUSED (mod))
2065 : {
2066 354 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
2067 354 : if (integer_pow2p (captures[3]) && tree_int_cst_sgn (captures[3]) > 0
2068 : )
2069 : {
2070 279 : if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail732;
2071 279 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail732;
2072 279 : {
2073 279 : tree res_op0;
2074 279 : res_op0 = captures[0];
2075 279 : tree res_op1;
2076 279 : {
2077 279 : tree _o1[2], _r1;
2078 279 : _o1[0] = captures[1];
2079 279 : {
2080 279 : tree _o2[2], _r2;
2081 279 : _o2[0] = captures[2];
2082 279 : _o2[1] = build_int_cst (TREE_TYPE (captures[2]),
2083 : 1);
2084 279 : _r2 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
2085 279 : _o1[1] = _r2;
2086 : }
2087 279 : _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
2088 279 : res_op1 = _r1;
2089 : }
2090 279 : tree _r;
2091 279 : _r = fold_build2_loc (loc, shift, type, res_op0, res_op1);
2092 279 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 601, __FILE__, __LINE__, true);
2093 279 : return _r;
2094 : }
2095 : next_after_fail732:;
2096 : }
2097 : return NULL_TREE;
2098 : }
2099 :
2100 : tree
2101 18 : generic_simplify_416 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
2102 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
2103 : const enum tree_code ARG_UNUSED (bit_op),
2104 : const enum tree_code ARG_UNUSED (shift))
2105 : {
2106 18 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
2107 18 : if (tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
2108 : )
2109 : {
2110 16 : {
2111 16 : tree mask = int_const_binop (shift, fold_convert (type, captures[3]), captures[4]);
2112 16 : if (mask
2113 : )
2114 : {
2115 16 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail743;
2116 16 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail743;
2117 16 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail743;
2118 16 : {
2119 16 : tree res_op0;
2120 16 : {
2121 16 : tree _o1[2], _r1;
2122 16 : {
2123 16 : tree _o2[1], _r2;
2124 16 : _o2[0] = captures[2];
2125 16 : if (TREE_TYPE (_o2[0]) != type)
2126 : {
2127 16 : _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
2128 : }
2129 : else
2130 : _r2 = _o2[0];
2131 16 : _o1[0] = _r2;
2132 : }
2133 16 : _o1[1] = captures[4];
2134 16 : _r1 = fold_build2_loc (loc, shift, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
2135 16 : res_op0 = _r1;
2136 : }
2137 16 : tree res_op1;
2138 16 : res_op1 = mask;
2139 16 : tree _r;
2140 16 : _r = fold_build2_loc (loc, bit_op, type, res_op0, res_op1);
2141 16 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 611, __FILE__, __LINE__, true);
2142 16 : return _r;
2143 : }
2144 : next_after_fail743:;
2145 : }
2146 : }
2147 : }
2148 : return NULL_TREE;
2149 : }
2150 :
2151 : tree
2152 2245 : generic_simplify_422 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
2153 : tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
2154 : const enum tree_code ARG_UNUSED (eqne))
2155 : {
2156 2245 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
2157 2245 : if ((integer_zerop (captures[1]) || integer_onep (captures[1]))
2158 : )
2159 : {
2160 2243 : if ((eqne == EQ_EXPR) ^ integer_zerop (captures[1])
2161 : )
2162 : {
2163 1524 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail754;
2164 1524 : {
2165 1524 : tree res_op0;
2166 1524 : res_op0 = captures[0];
2167 1524 : tree _r;
2168 1524 : _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
2169 1524 : if (TREE_SIDE_EFFECTS (captures[1]))
2170 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
2171 1524 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 621, __FILE__, __LINE__, true);
2172 1524 : return _r;
2173 : }
2174 0 : next_after_fail754:;
2175 : }
2176 : else
2177 : {
2178 719 : if (types_match (type, TREE_TYPE (captures[0]))
2179 : )
2180 : {
2181 41 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail755;
2182 41 : {
2183 41 : tree res_op0;
2184 41 : res_op0 = captures[0];
2185 41 : tree res_op1;
2186 41 : res_op1 = build_one_cst (type);
2187 41 : tree _r;
2188 41 : _r = fold_build2_loc (loc, BIT_XOR_EXPR, type, res_op0, res_op1);
2189 41 : if (TREE_SIDE_EFFECTS (captures[1]))
2190 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
2191 41 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 622, __FILE__, __LINE__, true);
2192 41 : return _r;
2193 : }
2194 0 : next_after_fail755:;
2195 : }
2196 : }
2197 : }
2198 : return NULL_TREE;
2199 : }
2200 :
2201 : tree
2202 5006506 : generic_simplify_428 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
2203 : tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
2204 : {
2205 5006506 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
2206 5006506 : if (INTEGRAL_TYPE_P (type)
2207 2861087 : && TYPE_PRECISION (type) == 1
2208 5020613 : && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[0]))
2209 : )
2210 : {
2211 14107 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail773;
2212 14107 : {
2213 14107 : tree res_op0;
2214 14107 : res_op0 = captures[0];
2215 14107 : tree _r;
2216 14107 : _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
2217 14107 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 628, __FILE__, __LINE__, true);
2218 14107 : return _r;
2219 : }
2220 0 : next_after_fail773:;
2221 : }
2222 : return NULL_TREE;
2223 : }
2224 :
2225 : tree
2226 0 : generic_simplify_431 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
2227 : tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
2228 : const combined_fn ARG_UNUSED (coshs),
2229 : const combined_fn ARG_UNUSED (atanhs),
2230 : const combined_fn ARG_UNUSED (sqrts))
2231 : {
2232 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
2233 0 : if (!flag_errno_math
2234 : )
2235 : {
2236 0 : {
2237 0 : tree t_one = build_one_cst (type);
2238 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail776;
2239 0 : {
2240 0 : if (! tree_invariant_p (captures[1])) goto next_after_fail776;
2241 0 : tree res_op0;
2242 0 : res_op0 = t_one;
2243 0 : tree res_op1;
2244 0 : {
2245 0 : tree _o1[1], _r1;
2246 0 : {
2247 0 : tree _o2[2], _r2;
2248 0 : {
2249 0 : tree _o3[2], _r3;
2250 0 : _o3[0] = t_one;
2251 0 : _o3[1] = unshare_expr (captures[1]);
2252 0 : _r3 = fold_build2_loc (loc, MINUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
2253 0 : _o2[0] = _r3;
2254 : }
2255 0 : {
2256 0 : tree _o3[2], _r3;
2257 0 : _o3[0] = t_one;
2258 0 : _o3[1] = captures[1];
2259 0 : _r3 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
2260 0 : _o2[1] = _r3;
2261 : }
2262 0 : _r2 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
2263 0 : _o1[0] = _r2;
2264 : }
2265 0 : _r1 = maybe_build_call_expr_loc (loc, sqrts, TREE_TYPE (_o1[0]), 1, _o1[0]);
2266 0 : if (!_r1)
2267 0 : goto next_after_fail776;
2268 0 : res_op1 = _r1;
2269 : }
2270 0 : tree _r;
2271 0 : _r = fold_build2_loc (loc, RDIV_EXPR, type, res_op0, res_op1);
2272 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 631, __FILE__, __LINE__, true);
2273 0 : return _r;
2274 : }
2275 : next_after_fail776:;
2276 : }
2277 : }
2278 : return NULL_TREE;
2279 : }
2280 :
2281 : tree
2282 0 : generic_simplify_435 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
2283 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
2284 : const combined_fn ARG_UNUSED (POW))
2285 : {
2286 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
2287 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail780;
2288 0 : {
2289 0 : tree _r;
2290 0 : _r = captures[0];
2291 0 : if (TREE_SIDE_EFFECTS (captures[1]))
2292 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
2293 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 635, __FILE__, __LINE__, true);
2294 : return _r;
2295 : }
2296 0 : next_after_fail780:;
2297 0 : return NULL_TREE;
2298 : }
2299 :
2300 : tree
2301 0 : generic_simplify_439 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
2302 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
2303 : const combined_fn ARG_UNUSED (HYPOT))
2304 : {
2305 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
2306 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail784;
2307 0 : {
2308 0 : tree res_op0;
2309 0 : res_op0 = captures[0];
2310 0 : tree _r;
2311 0 : _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
2312 0 : if (TREE_SIDE_EFFECTS (captures[1]))
2313 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
2314 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 639, __FILE__, __LINE__, true);
2315 : return _r;
2316 : }
2317 0 : next_after_fail784:;
2318 0 : return NULL_TREE;
2319 : }
2320 :
2321 : tree
2322 7650717 : generic_simplify_441 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
2323 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
2324 : {
2325 7650717 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
2326 7650717 : {
2327 7650717 : bool wascmp;
2328 7650717 : if (types_match (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
2329 7650717 : && bitwise_inverted_equal_p (captures[0], captures[1], wascmp)
2330 : )
2331 : {
2332 115 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail786;
2333 115 : {
2334 115 : tree _r;
2335 115 : _r = wascmp ? constant_boolean_node (false, type) : build_zero_cst (type);
2336 115 : if (TREE_SIDE_EFFECTS (captures[0]))
2337 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
2338 115 : if (TREE_SIDE_EFFECTS (captures[1]))
2339 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
2340 115 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 641, __FILE__, __LINE__, true);
2341 115 : return _r;
2342 : }
2343 0 : next_after_fail786:;
2344 : }
2345 : }
2346 7650602 : return NULL_TREE;
2347 : }
2348 :
2349 : tree
2350 82 : generic_simplify_449 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
2351 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
2352 : const enum tree_code ARG_UNUSED (bitop),
2353 : const enum tree_code ARG_UNUSED (op))
2354 : {
2355 82 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
2356 82 : {
2357 82 : tree pmop[2];
2358 82 : tree utype = fold_bit_and_mask (TREE_TYPE (captures[1]), captures[5], op, captures[1], bitop,
2359 : captures[2], captures[3], captures[4], ERROR_MARK, NULL_TREE,
2360 : NULL_TREE, pmop);
2361 82 : if (utype
2362 : )
2363 : {
2364 22 : if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail794;
2365 22 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail794;
2366 22 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail794;
2367 22 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail794;
2368 22 : if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail794;
2369 22 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail794;
2370 22 : {
2371 22 : tree res_op0;
2372 22 : {
2373 22 : tree _o1[2], _r1;
2374 22 : {
2375 22 : tree _o2[2], _r2;
2376 22 : {
2377 22 : tree _o3[1], _r3;
2378 22 : _o3[0] = pmop[0];
2379 22 : if (TREE_TYPE (_o3[0]) != utype)
2380 : {
2381 10 : _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
2382 : }
2383 : else
2384 : _r3 = _o3[0];
2385 22 : _o2[0] = _r3;
2386 : }
2387 22 : {
2388 22 : tree _o3[1], _r3;
2389 22 : _o3[0] = pmop[1];
2390 22 : if (TREE_TYPE (_o3[0]) != utype)
2391 : {
2392 10 : _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
2393 : }
2394 : else
2395 : _r3 = _o3[0];
2396 22 : _o2[1] = _r3;
2397 : }
2398 22 : _r2 = fold_build2_loc (loc, op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
2399 22 : _o1[0] = _r2;
2400 : }
2401 22 : {
2402 22 : tree _o2[1], _r2;
2403 22 : _o2[0] = captures[5];
2404 22 : if (TREE_TYPE (_o2[0]) != utype)
2405 : {
2406 10 : _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
2407 : }
2408 : else
2409 : _r2 = _o2[0];
2410 22 : _o1[1] = _r2;
2411 : }
2412 22 : _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
2413 22 : res_op0 = _r1;
2414 : }
2415 22 : tree _r;
2416 22 : _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
2417 22 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 648, __FILE__, __LINE__, true);
2418 22 : return _r;
2419 : }
2420 60 : next_after_fail794:;
2421 : }
2422 : }
2423 60 : return NULL_TREE;
2424 : }
2425 :
2426 : tree
2427 201 : generic_simplify_465 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
2428 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
2429 : const enum tree_code ARG_UNUSED (code2),
2430 : const enum tree_code ARG_UNUSED (code1))
2431 : {
2432 201 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
2433 201 : if ((TREE_CODE (captures[2]) == INTEGER_CST
2434 2 : && TREE_CODE (captures[5]) == INTEGER_CST)
2435 201 : || ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
2436 0 : || (VECTOR_TYPE_P (TREE_TYPE (captures[2]))
2437 0 : && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, code2))
2438 0 : || POINTER_TYPE_P (TREE_TYPE (captures[2])))
2439 199 : && bitwise_equal_p (captures[2], captures[5]))
2440 : )
2441 : {
2442 2 : {
2443 2 : bool one_before = false;
2444 2 : bool one_after = false;
2445 2 : int cmp = 0;
2446 2 : bool allbits = true;
2447 2 : if (TREE_CODE (captures[2]) == INTEGER_CST
2448 2 : && TREE_CODE (captures[5]) == INTEGER_CST)
2449 : {
2450 2 : allbits = TYPE_PRECISION (TREE_TYPE (captures[2])) <= TYPE_PRECISION (TREE_TYPE (captures[5]));
2451 2 : auto t1 = wi::to_wide (fold_convert (TREE_TYPE (captures[5]), captures[2]));
2452 2 : auto t2 = wi::to_wide (captures[5]);
2453 2 : cmp = wi::cmp (t1, t2, TYPE_SIGN (TREE_TYPE (captures[5])));
2454 2 : if (cmp < 0
2455 2 : && t1 == t2 - 1)
2456 : one_before = true;
2457 2 : if (cmp > 0
2458 2 : && t1 == t2 + 1)
2459 : one_after = true;
2460 : }
2461 2 : bool val;
2462 2 : switch (code2)
2463 : {
2464 0 : case EQ_EXPR: val = (cmp == 0); break;
2465 2 : case NE_EXPR: val = (cmp != 0); break;
2466 0 : case LT_EXPR: val = (cmp < 0); break;
2467 0 : case GT_EXPR: val = (cmp > 0); break;
2468 0 : case LE_EXPR: val = (cmp <= 0); break;
2469 0 : case GE_EXPR: val = (cmp >= 0); break;
2470 0 : default: gcc_unreachable ();
2471 : }
2472 2 : if (code1 == EQ_EXPR && val
2473 : )
2474 : {
2475 0 : if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail818;
2476 0 : if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail818;
2477 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail818;
2478 0 : {
2479 0 : tree _r;
2480 0 : _r = captures[0];
2481 0 : if (TREE_SIDE_EFFECTS (captures[4]))
2482 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
2483 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 664, __FILE__, __LINE__, true);
2484 0 : return _r;
2485 : }
2486 : next_after_fail818:;
2487 : }
2488 : else
2489 : {
2490 2 : if (code1 == EQ_EXPR && !val
2491 : )
2492 : {
2493 0 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail819;
2494 0 : if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail819;
2495 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail819;
2496 0 : {
2497 0 : tree _r;
2498 0 : _r = constant_boolean_node (false, type);
2499 0 : if (TREE_SIDE_EFFECTS (captures[4]))
2500 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
2501 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 665, __FILE__, __LINE__, true);
2502 0 : return _r;
2503 : }
2504 : next_after_fail819:;
2505 : }
2506 : else
2507 : {
2508 2 : if (code1 == NE_EXPR && !val && allbits
2509 : )
2510 : {
2511 0 : if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail820;
2512 0 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail820;
2513 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail820;
2514 0 : {
2515 0 : tree _r;
2516 0 : _r = captures[3];
2517 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 666, __FILE__, __LINE__, true);
2518 0 : return _r;
2519 : }
2520 : next_after_fail820:;
2521 : }
2522 : else
2523 : {
2524 2 : if ((code1 == NE_EXPR
2525 2 : && code2 == GE_EXPR
2526 0 : && cmp == 0
2527 0 : && allbits)
2528 2 : && ((VECTOR_BOOLEAN_TYPE_P (type)
2529 0 : && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GT_EXPR))
2530 0 : || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
2531 : )
2532 : {
2533 0 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail821;
2534 0 : if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail821;
2535 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail821;
2536 0 : {
2537 0 : tree res_op0;
2538 0 : res_op0 = captures[4];
2539 0 : tree res_op1;
2540 0 : {
2541 0 : tree _o1[1], _r1;
2542 0 : _o1[0] = captures[2];
2543 0 : if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
2544 : {
2545 0 : _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
2546 : }
2547 : else
2548 : _r1 = _o1[0];
2549 0 : res_op1 = _r1;
2550 : }
2551 0 : tree _r;
2552 0 : _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
2553 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 667, __FILE__, __LINE__, true);
2554 0 : return _r;
2555 : }
2556 : next_after_fail821:;
2557 : }
2558 : else
2559 : {
2560 2 : if ((code1 == NE_EXPR
2561 2 : && code2 == LE_EXPR
2562 0 : && cmp == 0
2563 0 : && allbits)
2564 2 : && ((VECTOR_BOOLEAN_TYPE_P (type)
2565 0 : && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LT_EXPR))
2566 0 : || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
2567 : )
2568 : {
2569 0 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail822;
2570 0 : if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail822;
2571 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail822;
2572 0 : {
2573 0 : tree res_op0;
2574 0 : res_op0 = captures[4];
2575 0 : tree res_op1;
2576 0 : {
2577 0 : tree _o1[1], _r1;
2578 0 : _o1[0] = captures[2];
2579 0 : if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
2580 : {
2581 0 : _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
2582 : }
2583 : else
2584 : _r1 = _o1[0];
2585 0 : res_op1 = _r1;
2586 : }
2587 0 : tree _r;
2588 0 : _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
2589 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 668, __FILE__, __LINE__, true);
2590 0 : return _r;
2591 : }
2592 : next_after_fail822:;
2593 : }
2594 : else
2595 : {
2596 2 : if ((code1 == NE_EXPR
2597 2 : && code2 == GT_EXPR
2598 : && one_after
2599 0 : && allbits)
2600 2 : && ((VECTOR_BOOLEAN_TYPE_P (type)
2601 0 : && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GT_EXPR))
2602 0 : || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
2603 : )
2604 : {
2605 0 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail823;
2606 0 : if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail823;
2607 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail823;
2608 0 : {
2609 0 : tree res_op0;
2610 0 : res_op0 = captures[4];
2611 0 : tree res_op1;
2612 0 : {
2613 0 : tree _o1[1], _r1;
2614 0 : _o1[0] = captures[2];
2615 0 : if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
2616 : {
2617 0 : _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
2618 : }
2619 : else
2620 : _r1 = _o1[0];
2621 0 : res_op1 = _r1;
2622 : }
2623 0 : tree _r;
2624 0 : _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
2625 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 669, __FILE__, __LINE__, true);
2626 0 : return _r;
2627 : }
2628 : next_after_fail823:;
2629 : }
2630 : else
2631 : {
2632 2 : if ((code1 == NE_EXPR
2633 2 : && code2 == LT_EXPR
2634 : && one_before
2635 0 : && allbits)
2636 2 : && ((VECTOR_BOOLEAN_TYPE_P (type)
2637 0 : && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LT_EXPR))
2638 0 : || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
2639 : )
2640 : {
2641 0 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail824;
2642 0 : if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail824;
2643 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail824;
2644 0 : {
2645 0 : tree res_op0;
2646 0 : res_op0 = captures[4];
2647 0 : tree res_op1;
2648 0 : {
2649 0 : tree _o1[1], _r1;
2650 0 : _o1[0] = captures[2];
2651 0 : if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
2652 : {
2653 0 : _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
2654 : }
2655 : else
2656 : _r1 = _o1[0];
2657 0 : res_op1 = _r1;
2658 : }
2659 0 : tree _r;
2660 0 : _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
2661 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 670, __FILE__, __LINE__, true);
2662 0 : return _r;
2663 : }
2664 : next_after_fail824:;
2665 : }
2666 : }
2667 : }
2668 : }
2669 : }
2670 : }
2671 : }
2672 : }
2673 : }
2674 : return NULL_TREE;
2675 : }
2676 :
2677 : tree
2678 0 : generic_simplify_497 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
2679 : tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
2680 : {
2681 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
2682 0 : if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
2683 : )
2684 : {
2685 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail886;
2686 0 : {
2687 0 : tree res_op0;
2688 0 : {
2689 0 : tree _o1[2], _r1;
2690 0 : _o1[0] = captures[0];
2691 0 : _o1[1] = captures[1];
2692 0 : _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
2693 0 : res_op0 = _r1;
2694 : }
2695 0 : tree _r;
2696 0 : _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
2697 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 701, __FILE__, __LINE__, true);
2698 0 : return _r;
2699 : }
2700 0 : next_after_fail886:;
2701 : }
2702 : return NULL_TREE;
2703 : }
2704 :
2705 : tree
2706 16 : generic_simplify_504 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
2707 : tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
2708 : {
2709 16 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
2710 16 : if (ANY_INTEGRAL_TYPE_P (type) && !TYPE_OVERFLOW_SANITIZED (type)
2711 : )
2712 : {
2713 16 : {
2714 16 : tree ptrdifftype = TREE_TYPE (captures[0]);
2715 16 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail894;
2716 16 : {
2717 16 : tree res_op0;
2718 16 : {
2719 16 : tree _o1[2], _r1;
2720 16 : _o1[0] = captures[2];
2721 16 : _o1[1] = captures[1];
2722 16 : _r1 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ptrdifftype, _o1[0], _o1[1]);
2723 16 : res_op0 = _r1;
2724 : }
2725 16 : tree _r;
2726 16 : _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
2727 16 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 707, __FILE__, __LINE__, true);
2728 16 : return _r;
2729 : }
2730 0 : next_after_fail894:;
2731 : }
2732 : }
2733 : return NULL_TREE;
2734 : }
2735 :
2736 : tree
2737 0 : generic_simplify_510 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
2738 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
2739 : const enum tree_code ARG_UNUSED (minmax))
2740 : {
2741 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
2742 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail901;
2743 0 : {
2744 0 : tree _r;
2745 0 : _r = captures[0];
2746 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 714, __FILE__, __LINE__, true);
2747 : return _r;
2748 : }
2749 0 : next_after_fail901:;
2750 0 : return NULL_TREE;
2751 : }
2752 :
2753 : tree
2754 0 : generic_simplify_517 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
2755 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
2756 : const enum tree_code ARG_UNUSED (minmax),
2757 : const enum tree_code ARG_UNUSED (cmp))
2758 : {
2759 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
2760 0 : {
2761 0 : poly_int64 off0, off1;
2762 0 : tree base0, base1;
2763 0 : int equal = address_compare (cmp, TREE_TYPE (captures[0]), captures[1], captures[3], base0, base1,
2764 : off0, off1,
2765 : 1
2766 : );
2767 0 : if (equal == 1
2768 : )
2769 : {
2770 0 : if (minmax == MIN_EXPR
2771 : )
2772 : {
2773 0 : if (known_le (off0, off1)
2774 : )
2775 : {
2776 0 : if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail914;
2777 0 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail914;
2778 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail914;
2779 0 : {
2780 0 : tree _r;
2781 0 : _r = captures[0];
2782 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 718, __FILE__, __LINE__, true);
2783 0 : return _r;
2784 : }
2785 0 : next_after_fail914:;
2786 : }
2787 : else
2788 : {
2789 0 : if (known_gt (off0, off1)
2790 : )
2791 : {
2792 0 : if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail915;
2793 0 : if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail915;
2794 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail915;
2795 0 : {
2796 0 : tree _r;
2797 0 : _r = captures[2];
2798 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 719, __FILE__, __LINE__, true);
2799 0 : return _r;
2800 : }
2801 0 : next_after_fail915:;
2802 : }
2803 : }
2804 : }
2805 : else
2806 : {
2807 0 : if (known_ge (off0, off1)
2808 : )
2809 : {
2810 0 : if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail916;
2811 0 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail916;
2812 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail916;
2813 0 : {
2814 0 : tree _r;
2815 0 : _r = captures[0];
2816 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 720, __FILE__, __LINE__, true);
2817 0 : return _r;
2818 : }
2819 0 : next_after_fail916:;
2820 : }
2821 : else
2822 : {
2823 0 : if (known_lt (off0, off1)
2824 : )
2825 : {
2826 0 : if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail917;
2827 0 : if (TREE_SIDE_EFFECTS (captures[0])) goto next_after_fail917;
2828 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail917;
2829 0 : {
2830 0 : tree _r;
2831 0 : _r = captures[2];
2832 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 721, __FILE__, __LINE__, true);
2833 0 : return _r;
2834 : }
2835 0 : next_after_fail917:;
2836 : }
2837 : }
2838 : }
2839 : }
2840 : }
2841 0 : return NULL_TREE;
2842 : }
2843 :
2844 : tree
2845 0 : generic_simplify_538 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
2846 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
2847 : const enum tree_code ARG_UNUSED (cmp))
2848 : {
2849 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
2850 0 : if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail944;
2851 0 : if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail944;
2852 0 : if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail944;
2853 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail944;
2854 0 : {
2855 0 : tree _r;
2856 0 : _r = captures[0];
2857 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 531, __FILE__, __LINE__, true);
2858 : return _r;
2859 : }
2860 : next_after_fail944:;
2861 : return NULL_TREE;
2862 : }
2863 :
2864 : tree
2865 0 : generic_simplify_546 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
2866 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
2867 : const combined_fn ARG_UNUSED (cond_len_op))
2868 : {
2869 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
2870 0 : {
2871 0 : tree op_type = TREE_TYPE (captures[6]);
2872 0 : if (inverse_conditions_p (captures[0], captures[2])
2873 0 : && element_precision (type) == element_precision (op_type)
2874 : )
2875 : {
2876 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail952;
2877 0 : {
2878 0 : tree res_op0;
2879 0 : {
2880 0 : tree _o1[7], _r1;
2881 0 : _o1[0] = captures[2];
2882 0 : _o1[1] = captures[3];
2883 0 : _o1[2] = captures[4];
2884 0 : _o1[3] = captures[5];
2885 0 : {
2886 0 : tree _o2[1], _r2;
2887 0 : _o2[0] = captures[1];
2888 0 : if (TREE_TYPE (_o2[0]) != op_type)
2889 : {
2890 0 : _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, op_type, _o2[0]);
2891 : }
2892 : else
2893 : _r2 = _o2[0];
2894 0 : _o1[4] = _r2;
2895 : }
2896 0 : _o1[5] = captures[7];
2897 0 : _o1[6] = captures[8];
2898 0 : _r1 = maybe_build_call_expr_loc (loc, cond_len_op, TREE_TYPE (_o1[1]), 7, _o1[0], _o1[1], _o1[2], _o1[3], _o1[4], _o1[5], _o1[6]);
2899 0 : if (!_r1)
2900 0 : goto next_after_fail952;
2901 0 : res_op0 = _r1;
2902 : }
2903 0 : tree _r;
2904 0 : _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
2905 0 : if (TREE_SIDE_EFFECTS (captures[0]))
2906 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
2907 0 : if (TREE_SIDE_EFFECTS (captures[6]))
2908 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[6]), _r);
2909 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 747, __FILE__, __LINE__, true);
2910 0 : return _r;
2911 : }
2912 : next_after_fail952:;
2913 : }
2914 : }
2915 : return NULL_TREE;
2916 : }
2917 :
2918 : tree
2919 0 : generic_simplify_557 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
2920 : tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
2921 : const combined_fn ARG_UNUSED (tans),
2922 : const combined_fn ARG_UNUSED (atans))
2923 : {
2924 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
2925 0 : if (flag_unsafe_math_optimizations
2926 : )
2927 : {
2928 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail963;
2929 0 : {
2930 0 : tree _r;
2931 0 : _r = captures[0];
2932 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 758, __FILE__, __LINE__, true);
2933 0 : return _r;
2934 : }
2935 0 : next_after_fail963:;
2936 : }
2937 : return NULL_TREE;
2938 : }
2939 :
2940 : tree
2941 0 : generic_simplify_564 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
2942 : tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
2943 : const combined_fn ARG_UNUSED (floors),
2944 : const combined_fn ARG_UNUSED (truncs))
2945 : {
2946 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
2947 0 : if (canonicalize_math_p ()
2948 : )
2949 : {
2950 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail970;
2951 0 : {
2952 0 : tree res_op0;
2953 0 : res_op0 = captures[0];
2954 0 : tree _r;
2955 0 : _r = maybe_build_call_expr_loc (loc, truncs, type, 1, res_op0);
2956 0 : if (!_r)
2957 0 : goto next_after_fail970;
2958 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 765, __FILE__, __LINE__, true);
2959 0 : return _r;
2960 : }
2961 : next_after_fail970:;
2962 : }
2963 : return NULL_TREE;
2964 : }
2965 :
2966 : tree
2967 0 : generic_simplify_571 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
2968 : tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
2969 : const combined_fn ARG_UNUSED (ifn),
2970 : const combined_fn ARG_UNUSED (lfn),
2971 : const combined_fn ARG_UNUSED (llfn))
2972 : {
2973 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
2974 0 : if (canonicalize_math_p ()
2975 : )
2976 : {
2977 0 : if (TYPE_PRECISION (integer_type_node)
2978 0 : == TYPE_PRECISION (long_integer_type_node)
2979 : )
2980 : {
2981 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail977;
2982 0 : {
2983 0 : tree res_op0;
2984 0 : res_op0 = captures[0];
2985 0 : tree _r;
2986 0 : _r = maybe_build_call_expr_loc (loc, lfn, type, 1, res_op0);
2987 0 : if (!_r)
2988 0 : goto next_after_fail977;
2989 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 772, __FILE__, __LINE__, true);
2990 0 : return _r;
2991 : }
2992 : next_after_fail977:;
2993 : }
2994 : }
2995 : return NULL_TREE;
2996 : }
2997 :
2998 : tree
2999 0 : generic_simplify_582 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
3000 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
3001 : {
3002 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
3003 0 : if (canonicalize_math_after_vectorization_p ()
3004 : )
3005 : {
3006 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail988;
3007 : {
3008 : tree res_op0;
3009 : res_op0 = captures[0];
3010 : tree res_op1;
3011 : res_op1 = captures[1];
3012 : tree res_op2;
3013 : res_op2 = captures[2];
3014 : tree _r;
3015 : _r = maybe_build_call_expr_loc (loc, CFN_FMS, type, 3, res_op0, res_op1, res_op2);
3016 : if (!_r)
3017 : goto next_after_fail988;
3018 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 783, __FILE__, __LINE__, true);
3019 : return _r;
3020 : }
3021 0 : next_after_fail988:;
3022 : }
3023 0 : return NULL_TREE;
3024 : }
3025 :
3026 : tree
3027 0 : generic_simplify_592 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
3028 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree ARG_UNUSED (_p3), tree ARG_UNUSED (_p4), tree *ARG_UNUSED (captures))
3029 : {
3030 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
3031 0 : if (canonicalize_math_after_vectorization_p ()
3032 : )
3033 : {
3034 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail998;
3035 : {
3036 : tree res_op0;
3037 : res_op0 = captures[0];
3038 : tree res_op1;
3039 : res_op1 = captures[1];
3040 : tree res_op2;
3041 : res_op2 = captures[2];
3042 : tree res_op3;
3043 : res_op3 = captures[3];
3044 : tree res_op4;
3045 : res_op4 = captures[4];
3046 : tree _r;
3047 : _r = maybe_build_call_expr_loc (loc, CFN_COND_FMA, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
3048 : if (!_r)
3049 : goto next_after_fail998;
3050 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 793, __FILE__, __LINE__, true);
3051 : return _r;
3052 : }
3053 0 : next_after_fail998:;
3054 : }
3055 0 : return NULL_TREE;
3056 : }
3057 :
3058 : tree
3059 0 : generic_simplify_603 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
3060 : tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
3061 : const combined_fn ARG_UNUSED (PARITY))
3062 : {
3063 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
3064 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1010;
3065 0 : {
3066 0 : tree res_op0;
3067 0 : res_op0 = captures[0];
3068 0 : tree _r;
3069 0 : _r = maybe_build_call_expr_loc (loc, PARITY, type, 1, res_op0);
3070 0 : if (!_r)
3071 0 : goto next_after_fail1010;
3072 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 800, __FILE__, __LINE__, true);
3073 : return _r;
3074 : }
3075 : next_after_fail1010:;
3076 : return NULL_TREE;
3077 : }
3078 :
3079 : tree
3080 0 : generic_simplify_607 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
3081 : tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
3082 : const enum tree_code ARG_UNUSED (rot),
3083 : const combined_fn ARG_UNUSED (parity))
3084 : {
3085 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
3086 0 : if (INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
3087 0 : && INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
3088 0 : && (
3089 :
3090 0 : || !TREE_SIDE_EFFECTS (captures[3]))
3091 0 : && TYPE_PRECISION (TREE_TYPE (captures[0]))
3092 0 : >= TYPE_PRECISION (TREE_TYPE (captures[1]))
3093 : )
3094 : {
3095 0 : {
3096 0 : tree type0 = TREE_TYPE (captures[0]);
3097 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1014;
3098 0 : {
3099 0 : tree res_op0;
3100 0 : {
3101 0 : tree _o1[1], _r1;
3102 0 : _o1[0] = captures[2];
3103 0 : if (TREE_TYPE (_o1[0]) != type0)
3104 : {
3105 0 : _r1 = fold_build1_loc (loc, NOP_EXPR, type0, _o1[0]);
3106 : }
3107 : else
3108 : _r1 = _o1[0];
3109 0 : res_op0 = _r1;
3110 : }
3111 0 : tree _r;
3112 0 : _r = maybe_build_call_expr_loc (loc, parity, type, 1, res_op0);
3113 0 : if (!_r)
3114 0 : goto next_after_fail1014;
3115 0 : if (TREE_SIDE_EFFECTS (captures[3]))
3116 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
3117 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 802, __FILE__, __LINE__, true);
3118 0 : return _r;
3119 : }
3120 : next_after_fail1014:;
3121 : }
3122 : }
3123 : return NULL_TREE;
3124 : }
3125 :
3126 : tree
3127 6351650 : generic_simplify_FLOAT_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
3128 : {
3129 6351650 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
3130 6351650 : {
3131 6351650 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
3132 12703300 : if ((
3133 :
3134 : && useless_type_conversion_p (type, TREE_TYPE (captures[0])))
3135 : || (
3136 : 1
3137 6351650 : && type == TREE_TYPE (captures[0]))
3138 : )
3139 : {
3140 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1083;
3141 0 : {
3142 0 : tree _r;
3143 0 : _r = captures[0];
3144 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 818, __FILE__, __LINE__, true);
3145 0 : return _r;
3146 : }
3147 0 : next_after_fail1083:;
3148 : }
3149 : }
3150 6351650 : switch (TREE_CODE (_p0))
3151 : {
3152 542612 : CASE_CONVERT:
3153 542612 : {
3154 542612 : tree _q20 = TREE_OPERAND (_p0, 0);
3155 542612 : {
3156 542612 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
3157 542612 : {
3158 542612 : tree inside_type = TREE_TYPE (captures[1]);
3159 542612 : tree inter_type = TREE_TYPE (captures[0]);
3160 542612 : int inside_int = INTEGRAL_TYPE_P (inside_type);
3161 542612 : int inside_ptr = POINTER_TYPE_P (inside_type);
3162 542612 : int inside_float = FLOAT_TYPE_P (inside_type);
3163 542612 : int inside_vec = VECTOR_TYPE_P (inside_type);
3164 542612 : unsigned int inside_prec = element_precision (inside_type);
3165 542612 : int inside_unsignedp = TYPE_UNSIGNED (inside_type);
3166 542612 : int inter_int = INTEGRAL_TYPE_P (inter_type);
3167 542612 : int inter_ptr = POINTER_TYPE_P (inter_type);
3168 542612 : int inter_float = FLOAT_TYPE_P (inter_type);
3169 542612 : int inter_vec = VECTOR_TYPE_P (inter_type);
3170 542612 : unsigned int inter_prec = element_precision (inter_type);
3171 542612 : int inter_unsignedp = TYPE_UNSIGNED (inter_type);
3172 542612 : int final_int = INTEGRAL_TYPE_P (type);
3173 542612 : int final_ptr = POINTER_TYPE_P (type);
3174 542612 : int final_float = FLOAT_TYPE_P (type);
3175 542612 : int final_vec = VECTOR_TYPE_P (type);
3176 542612 : unsigned int final_prec = element_precision (type);
3177 542612 : int final_unsignedp = TYPE_UNSIGNED (type);
3178 542612 : if (((
3179 :
3180 : && useless_type_conversion_p (type, inside_type))
3181 : || (
3182 : 1
3183 542612 : && TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (inside_type)))
3184 0 : && (((inter_int || inter_ptr) && final_int)
3185 0 : || (inter_float && final_float))
3186 542612 : && inter_prec >= final_prec
3187 : )
3188 : {
3189 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1084;
3190 0 : {
3191 0 : tree res_op0;
3192 0 : res_op0 = captures[1];
3193 0 : tree _r;
3194 0 : _r = fold_build1_loc (loc, FLOAT_EXPR, type, res_op0);
3195 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 819, __FILE__, __LINE__, true);
3196 0 : return _r;
3197 : }
3198 0 : next_after_fail1084:;
3199 : }
3200 : else
3201 : {
3202 542612 : if (((inter_int && inside_int) || (inter_float && inside_float))
3203 542606 : && (final_int || final_float)
3204 542606 : && inter_prec >= inside_prec
3205 541619 : && (inter_float || inter_unsignedp == inside_unsignedp)
3206 : )
3207 : {
3208 539232 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1085;
3209 539232 : {
3210 539232 : tree res_op0;
3211 539232 : res_op0 = captures[1];
3212 539232 : tree _r;
3213 539232 : _r = fold_build1_loc (loc, FLOAT_EXPR, type, res_op0);
3214 539232 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 820, __FILE__, __LINE__, true);
3215 539232 : return _r;
3216 : }
3217 0 : next_after_fail1085:;
3218 0 : }
3219 : else
3220 : {
3221 3380 : if (inside_int && inter_int && final_int
3222 0 : && ((inside_prec < inter_prec && inter_prec < final_prec
3223 0 : && inside_unsignedp && !inter_unsignedp)
3224 0 : || final_prec == inter_prec
3225 0 : || (inside_prec < inter_prec && inter_prec > final_prec
3226 0 : && !inside_unsignedp && inter_unsignedp))
3227 : )
3228 : {
3229 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1086;
3230 0 : {
3231 0 : tree res_op0;
3232 0 : res_op0 = captures[1];
3233 0 : tree _r;
3234 0 : _r = fold_build1_loc (loc, FLOAT_EXPR, type, res_op0);
3235 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 821, __FILE__, __LINE__, true);
3236 0 : return _r;
3237 : }
3238 0 : next_after_fail1086:;
3239 0 : }
3240 : else
3241 : {
3242 3380 : if (! inside_float && ! inter_float && ! final_float
3243 : && ! inside_vec && ! inter_vec && ! final_vec
3244 0 : && (inter_prec >= inside_prec || inter_prec >= final_prec)
3245 0 : && ! (inside_int && inter_int
3246 0 : && inter_unsignedp != inside_unsignedp
3247 0 : && inter_prec < final_prec)
3248 0 : && ((inter_unsignedp && inter_prec > inside_prec)
3249 0 : == (final_unsignedp && final_prec > inter_prec))
3250 0 : && ! (inside_ptr && inter_prec != final_prec)
3251 0 : && ! (final_ptr && inside_prec != inter_prec)
3252 : )
3253 : {
3254 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1087;
3255 0 : {
3256 0 : tree res_op0;
3257 0 : res_op0 = captures[1];
3258 0 : tree _r;
3259 0 : _r = fold_build1_loc (loc, FLOAT_EXPR, type, res_op0);
3260 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 822, __FILE__, __LINE__, true);
3261 0 : return _r;
3262 : }
3263 0 : next_after_fail1087:;
3264 0 : }
3265 : else
3266 : {
3267 3380 : if (inside_int && inter_int && final_int
3268 3374 : && final_prec <= inside_prec
3269 0 : && inter_prec >= inside_prec
3270 : )
3271 : {
3272 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1088;
3273 0 : {
3274 0 : tree res_op0;
3275 0 : res_op0 = captures[1];
3276 0 : tree _r;
3277 0 : _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
3278 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 823, __FILE__, __LINE__, true);
3279 0 : return _r;
3280 : }
3281 0 : next_after_fail1088:;
3282 0 : }
3283 : else
3284 : {
3285 : if (0
3286 : && final_int && inter_int && inside_int
3287 : && final_prec >= inside_prec
3288 : && inside_prec > inter_prec
3289 : && inter_unsignedp
3290 : )
3291 : {
3292 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1089;
3293 : {
3294 : tree res_op0;
3295 : {
3296 : tree _o1[2], _r1;
3297 : _o1[0] = captures[1];
3298 : _o1[1] = wide_int_to_tree
3299 : (inside_type,
3300 : wi::mask (inter_prec, false,
3301 : TYPE_PRECISION (inside_type)));
3302 : _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
3303 : res_op0 = _r1;
3304 : }
3305 : tree _r;
3306 : _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
3307 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 824, __FILE__, __LINE__, true);
3308 : return _r;
3309 : }
3310 : next_after_fail1089:;
3311 : }
3312 : else
3313 : {
3314 : if (0
3315 : && inside_int && inter_float && final_int &&
3316 : (unsigned) significand_size (TYPE_MODE (inter_type))
3317 : >= inside_prec - !inside_unsignedp
3318 : )
3319 : {
3320 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1090;
3321 : {
3322 : tree res_op0;
3323 : res_op0 = captures[1];
3324 : tree _r;
3325 : _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
3326 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 825, __FILE__, __LINE__, true);
3327 : return _r;
3328 : }
3329 : next_after_fail1090:;
3330 : }
3331 : }
3332 : }
3333 : }
3334 : }
3335 : }
3336 : }
3337 : }
3338 : }
3339 3380 : break;
3340 : }
3341 0 : case FLOAT_EXPR:
3342 0 : {
3343 0 : tree _q20 = TREE_OPERAND (_p0, 0);
3344 0 : {
3345 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
3346 0 : {
3347 0 : tree inside_type = TREE_TYPE (captures[1]);
3348 0 : tree inter_type = TREE_TYPE (captures[0]);
3349 0 : int inside_int = INTEGRAL_TYPE_P (inside_type);
3350 0 : int inside_ptr = POINTER_TYPE_P (inside_type);
3351 0 : int inside_float = FLOAT_TYPE_P (inside_type);
3352 0 : int inside_vec = VECTOR_TYPE_P (inside_type);
3353 0 : unsigned int inside_prec = element_precision (inside_type);
3354 0 : int inside_unsignedp = TYPE_UNSIGNED (inside_type);
3355 0 : int inter_int = INTEGRAL_TYPE_P (inter_type);
3356 0 : int inter_ptr = POINTER_TYPE_P (inter_type);
3357 0 : int inter_float = FLOAT_TYPE_P (inter_type);
3358 0 : int inter_vec = VECTOR_TYPE_P (inter_type);
3359 0 : unsigned int inter_prec = element_precision (inter_type);
3360 0 : int inter_unsignedp = TYPE_UNSIGNED (inter_type);
3361 0 : int final_int = INTEGRAL_TYPE_P (type);
3362 0 : int final_ptr = POINTER_TYPE_P (type);
3363 0 : int final_float = FLOAT_TYPE_P (type);
3364 0 : int final_vec = VECTOR_TYPE_P (type);
3365 0 : unsigned int final_prec = element_precision (type);
3366 0 : int final_unsignedp = TYPE_UNSIGNED (type);
3367 0 : if (((
3368 :
3369 : && useless_type_conversion_p (type, inside_type))
3370 : || (
3371 : 1
3372 0 : && TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (inside_type)))
3373 0 : && (((inter_int || inter_ptr) && final_int)
3374 0 : || (inter_float && final_float))
3375 0 : && inter_prec >= final_prec
3376 : )
3377 : {
3378 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1091;
3379 0 : {
3380 0 : tree res_op0;
3381 0 : res_op0 = captures[1];
3382 0 : tree _r;
3383 0 : _r = fold_build1_loc (loc, FLOAT_EXPR, type, res_op0);
3384 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 819, __FILE__, __LINE__, true);
3385 0 : return _r;
3386 : }
3387 0 : next_after_fail1091:;
3388 : }
3389 : else
3390 : {
3391 0 : if (((inter_int && inside_int) || (inter_float && inside_float))
3392 0 : && (final_int || final_float)
3393 0 : && inter_prec >= inside_prec
3394 0 : && (inter_float || inter_unsignedp == inside_unsignedp)
3395 : )
3396 : {
3397 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1092;
3398 0 : {
3399 0 : tree res_op0;
3400 0 : res_op0 = captures[1];
3401 0 : tree _r;
3402 0 : _r = fold_build1_loc (loc, FLOAT_EXPR, type, res_op0);
3403 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 820, __FILE__, __LINE__, true);
3404 0 : return _r;
3405 : }
3406 0 : next_after_fail1092:;
3407 0 : }
3408 : else
3409 : {
3410 0 : if (inside_int && inter_int && final_int
3411 0 : && ((inside_prec < inter_prec && inter_prec < final_prec
3412 0 : && inside_unsignedp && !inter_unsignedp)
3413 0 : || final_prec == inter_prec
3414 0 : || (inside_prec < inter_prec && inter_prec > final_prec
3415 0 : && !inside_unsignedp && inter_unsignedp))
3416 : )
3417 : {
3418 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1093;
3419 0 : {
3420 0 : tree res_op0;
3421 0 : res_op0 = captures[1];
3422 0 : tree _r;
3423 0 : _r = fold_build1_loc (loc, FLOAT_EXPR, type, res_op0);
3424 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 821, __FILE__, __LINE__, true);
3425 0 : return _r;
3426 : }
3427 0 : next_after_fail1093:;
3428 0 : }
3429 : else
3430 : {
3431 0 : if (! inside_float && ! inter_float && ! final_float
3432 : && ! inside_vec && ! inter_vec && ! final_vec
3433 0 : && (inter_prec >= inside_prec || inter_prec >= final_prec)
3434 0 : && ! (inside_int && inter_int
3435 0 : && inter_unsignedp != inside_unsignedp
3436 0 : && inter_prec < final_prec)
3437 0 : && ((inter_unsignedp && inter_prec > inside_prec)
3438 0 : == (final_unsignedp && final_prec > inter_prec))
3439 0 : && ! (inside_ptr && inter_prec != final_prec)
3440 0 : && ! (final_ptr && inside_prec != inter_prec)
3441 : )
3442 : {
3443 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1094;
3444 0 : {
3445 0 : tree res_op0;
3446 0 : res_op0 = captures[1];
3447 0 : tree _r;
3448 0 : _r = fold_build1_loc (loc, FLOAT_EXPR, type, res_op0);
3449 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 822, __FILE__, __LINE__, true);
3450 0 : return _r;
3451 : }
3452 0 : next_after_fail1094:;
3453 0 : }
3454 : else
3455 : {
3456 0 : if (inside_int && inter_int && final_int
3457 0 : && final_prec <= inside_prec
3458 0 : && inter_prec >= inside_prec
3459 : )
3460 : {
3461 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1095;
3462 0 : {
3463 0 : tree res_op0;
3464 0 : res_op0 = captures[1];
3465 0 : tree _r;
3466 0 : _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
3467 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 823, __FILE__, __LINE__, true);
3468 0 : return _r;
3469 : }
3470 0 : next_after_fail1095:;
3471 0 : }
3472 : else
3473 : {
3474 : if (0
3475 : && final_int && inter_int && inside_int
3476 : && final_prec >= inside_prec
3477 : && inside_prec > inter_prec
3478 : && inter_unsignedp
3479 : )
3480 : {
3481 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1096;
3482 : {
3483 : tree res_op0;
3484 : {
3485 : tree _o1[2], _r1;
3486 : _o1[0] = captures[1];
3487 : _o1[1] = wide_int_to_tree
3488 : (inside_type,
3489 : wi::mask (inter_prec, false,
3490 : TYPE_PRECISION (inside_type)));
3491 : _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
3492 : res_op0 = _r1;
3493 : }
3494 : tree _r;
3495 : _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
3496 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 824, __FILE__, __LINE__, true);
3497 : return _r;
3498 : }
3499 : next_after_fail1096:;
3500 : }
3501 : else
3502 : {
3503 : if (0
3504 : && inside_int && inter_float && final_int &&
3505 : (unsigned) significand_size (TYPE_MODE (inter_type))
3506 : >= inside_prec - !inside_unsignedp
3507 : )
3508 : {
3509 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1097;
3510 : {
3511 : tree res_op0;
3512 : res_op0 = captures[1];
3513 : tree _r;
3514 : _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
3515 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 825, __FILE__, __LINE__, true);
3516 : return _r;
3517 : }
3518 : next_after_fail1097:;
3519 : }
3520 : }
3521 : }
3522 : }
3523 : }
3524 : }
3525 : }
3526 : }
3527 : }
3528 0 : break;
3529 : }
3530 : default:;
3531 : }
3532 : return NULL_TREE;
3533 : }
3534 :
3535 : tree
3536 2231495 : generic_simplify_BIT_IOR_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0, tree _p1)
3537 : {
3538 2231495 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
3539 2231495 : if (integer_zerop (_p1))
3540 : {
3541 3561 : {
3542 3561 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
3543 3561 : if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1209;
3544 3561 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1209;
3545 3561 : {
3546 3561 : tree res_op0;
3547 3561 : res_op0 = captures[0];
3548 3561 : tree _r;
3549 3561 : _r = non_lvalue_loc (loc, res_op0);
3550 3561 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 869, __FILE__, __LINE__, true);
3551 3561 : return _r;
3552 : }
3553 : next_after_fail1209:;
3554 : }
3555 : }
3556 2227934 : switch (TREE_CODE (_p0))
3557 : {
3558 479284 : case LSHIFT_EXPR:
3559 479284 : {
3560 479284 : tree _q20 = TREE_OPERAND (_p0, 0);
3561 479284 : tree _q21 = TREE_OPERAND (_p0, 1);
3562 479284 : switch (TREE_CODE (_p1))
3563 : {
3564 1135 : case LSHIFT_EXPR:
3565 1135 : {
3566 1135 : tree _q50 = TREE_OPERAND (_p1, 0);
3567 1135 : tree _q51 = TREE_OPERAND (_p1, 1);
3568 1135 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
3569 : {
3570 1 : {
3571 1 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
3572 1 : tree res = generic_simplify_65 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
3573 1 : if (res) return res;
3574 : }
3575 : }
3576 : break;
3577 : }
3578 : default:;
3579 : }
3580 : break;
3581 : }
3582 51965 : case RSHIFT_EXPR:
3583 51965 : {
3584 51965 : tree _q20 = TREE_OPERAND (_p0, 0);
3585 51965 : tree _q21 = TREE_OPERAND (_p0, 1);
3586 51965 : switch (TREE_CODE (_p1))
3587 : {
3588 21 : case RSHIFT_EXPR:
3589 21 : {
3590 21 : tree _q50 = TREE_OPERAND (_p1, 0);
3591 21 : tree _q51 = TREE_OPERAND (_p1, 1);
3592 21 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
3593 : {
3594 3 : {
3595 3 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
3596 3 : tree res = generic_simplify_66 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
3597 3 : if (res) return res;
3598 : }
3599 : }
3600 : break;
3601 : }
3602 : default:;
3603 : }
3604 : break;
3605 : }
3606 274 : case NE_EXPR:
3607 274 : {
3608 274 : tree _q20 = TREE_OPERAND (_p0, 0);
3609 274 : tree _q21 = TREE_OPERAND (_p0, 1);
3610 274 : if (integer_zerop (_q21))
3611 : {
3612 91 : switch (TREE_CODE (_p1))
3613 : {
3614 8 : case NE_EXPR:
3615 8 : {
3616 8 : tree _q50 = TREE_OPERAND (_p1, 0);
3617 8 : tree _q51 = TREE_OPERAND (_p1, 1);
3618 8 : if (integer_zerop (_q51))
3619 : {
3620 7 : {
3621 7 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
3622 7 : tree res = generic_simplify_67 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, NE_EXPR);
3623 7 : if (res) return res;
3624 : }
3625 : }
3626 : break;
3627 : }
3628 : default:;
3629 : }
3630 : }
3631 267 : if (integer_all_onesp (_q21))
3632 : {
3633 0 : switch (TREE_CODE (_p1))
3634 : {
3635 0 : case NE_EXPR:
3636 0 : {
3637 0 : tree _q50 = TREE_OPERAND (_p1, 0);
3638 0 : tree _q51 = TREE_OPERAND (_p1, 1);
3639 0 : if (integer_all_onesp (_q51))
3640 : {
3641 0 : {
3642 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
3643 0 : tree res = generic_simplify_68 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, NE_EXPR);
3644 0 : if (res) return res;
3645 : }
3646 : }
3647 : break;
3648 : }
3649 : default:;
3650 : }
3651 : }
3652 : break;
3653 : }
3654 309022 : case BIT_AND_EXPR:
3655 309022 : {
3656 309022 : tree _q20 = TREE_OPERAND (_p0, 0);
3657 309022 : tree _q21 = TREE_OPERAND (_p0, 1);
3658 309022 : switch (TREE_CODE (_p1))
3659 : {
3660 17350 : case BIT_AND_EXPR:
3661 17350 : {
3662 17350 : tree _q50 = TREE_OPERAND (_p1, 0);
3663 17350 : tree _q51 = TREE_OPERAND (_p1, 1);
3664 17350 : {
3665 17350 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
3666 17350 : tree res = generic_simplify_7 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
3667 17350 : if (res) return res;
3668 : }
3669 17350 : {
3670 17350 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q50 };
3671 17350 : tree res = generic_simplify_7 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
3672 17350 : if (res) return res;
3673 : }
3674 17346 : {
3675 17346 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q51 };
3676 17346 : tree res = generic_simplify_7 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
3677 17346 : if (res) return res;
3678 : }
3679 17346 : {
3680 17346 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q50 };
3681 17346 : tree res = generic_simplify_7 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
3682 17346 : if (res) return res;
3683 : }
3684 17346 : break;
3685 : }
3686 : default:;
3687 : }
3688 : break;
3689 : }
3690 9604 : case BIT_XOR_EXPR:
3691 9604 : {
3692 9604 : tree _q20 = TREE_OPERAND (_p0, 0);
3693 9604 : tree _q21 = TREE_OPERAND (_p0, 1);
3694 9604 : if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
3695 : {
3696 1 : {
3697 1 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
3698 1 : tree res = generic_simplify_69 (loc, type, _p0, _p1, captures);
3699 1 : if (res) return res;
3700 : }
3701 : }
3702 9603 : if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
3703 : {
3704 0 : {
3705 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
3706 0 : tree res = generic_simplify_69 (loc, type, _p0, _p1, captures);
3707 0 : if (res) return res;
3708 : }
3709 : }
3710 9603 : switch (TREE_CODE (_p1))
3711 : {
3712 102 : case BIT_AND_EXPR:
3713 102 : {
3714 102 : tree _q50 = TREE_OPERAND (_p1, 0);
3715 102 : tree _q51 = TREE_OPERAND (_p1, 1);
3716 102 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
3717 : {
3718 30 : switch (TREE_CODE (_q51))
3719 : {
3720 0 : case BIT_NOT_EXPR:
3721 0 : {
3722 0 : tree _q70 = TREE_OPERAND (_q51, 0);
3723 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
3724 : {
3725 0 : {
3726 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p0 };
3727 0 : tree res = generic_simplify_70 (loc, type, _p0, _p1, captures);
3728 0 : if (res) return res;
3729 : }
3730 : }
3731 : break;
3732 : }
3733 : default:;
3734 : }
3735 : }
3736 102 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
3737 : {
3738 9 : switch (TREE_CODE (_q51))
3739 : {
3740 0 : case BIT_NOT_EXPR:
3741 0 : {
3742 0 : tree _q70 = TREE_OPERAND (_q51, 0);
3743 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
3744 : {
3745 0 : {
3746 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p0 };
3747 0 : tree res = generic_simplify_70 (loc, type, _p0, _p1, captures);
3748 0 : if (res) return res;
3749 : }
3750 : }
3751 : break;
3752 : }
3753 : default:;
3754 : }
3755 : }
3756 102 : switch (TREE_CODE (_q50))
3757 : {
3758 16 : case BIT_NOT_EXPR:
3759 16 : {
3760 16 : tree _q60 = TREE_OPERAND (_q50, 0);
3761 16 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
3762 : {
3763 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
3764 : {
3765 0 : {
3766 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p0 };
3767 0 : tree res = generic_simplify_70 (loc, type, _p0, _p1, captures);
3768 0 : if (res) return res;
3769 : }
3770 : }
3771 : }
3772 16 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
3773 : {
3774 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
3775 : {
3776 0 : {
3777 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p0 };
3778 0 : tree res = generic_simplify_70 (loc, type, _p0, _p1, captures);
3779 0 : if (res) return res;
3780 : }
3781 : }
3782 : }
3783 : break;
3784 : }
3785 : default:;
3786 : }
3787 : break;
3788 : }
3789 9603 : default:;
3790 : }
3791 9603 : {
3792 9603 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p0, _q20, _q21 };
3793 9603 : tree res = generic_simplify_71 (loc, type, _p0, _p1, captures);
3794 9603 : if (res) return res;
3795 : }
3796 9603 : {
3797 9603 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p0, _q21, _q20 };
3798 9603 : tree res = generic_simplify_71 (loc, type, _p0, _p1, captures);
3799 9603 : if (res) return res;
3800 : }
3801 9603 : break;
3802 : }
3803 2227918 : default:;
3804 : }
3805 2227918 : switch (TREE_CODE (_p1))
3806 : {
3807 227 : case BIT_XOR_EXPR:
3808 227 : {
3809 227 : tree _q30 = TREE_OPERAND (_p1, 0);
3810 227 : tree _q31 = TREE_OPERAND (_p1, 1);
3811 227 : if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
3812 : {
3813 15 : {
3814 15 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
3815 15 : tree res = generic_simplify_69 (loc, type, _p0, _p1, captures);
3816 15 : if (res) return res;
3817 : }
3818 : }
3819 212 : if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
3820 : {
3821 0 : {
3822 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
3823 0 : tree res = generic_simplify_69 (loc, type, _p0, _p1, captures);
3824 0 : if (res) return res;
3825 : }
3826 : }
3827 : break;
3828 : }
3829 2227903 : default:;
3830 : }
3831 2227903 : switch (TREE_CODE (_p0))
3832 : {
3833 309018 : case BIT_AND_EXPR:
3834 309018 : {
3835 309018 : tree _q20 = TREE_OPERAND (_p0, 0);
3836 309018 : tree _q21 = TREE_OPERAND (_p0, 1);
3837 309018 : switch (TREE_CODE (_q21))
3838 : {
3839 74 : case BIT_NOT_EXPR:
3840 74 : {
3841 74 : tree _q40 = TREE_OPERAND (_q21, 0);
3842 74 : switch (TREE_CODE (_p1))
3843 : {
3844 0 : case BIT_XOR_EXPR:
3845 0 : {
3846 0 : tree _q60 = TREE_OPERAND (_p1, 0);
3847 0 : tree _q61 = TREE_OPERAND (_p1, 1);
3848 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
3849 : {
3850 0 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
3851 : {
3852 0 : {
3853 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _p1 };
3854 0 : tree res = generic_simplify_72 (loc, type, _p0, _p1, captures);
3855 0 : if (res) return res;
3856 : }
3857 : }
3858 : }
3859 0 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
3860 : {
3861 0 : if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
3862 : {
3863 0 : {
3864 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _p1 };
3865 0 : tree res = generic_simplify_72 (loc, type, _p0, _p1, captures);
3866 0 : if (res) return res;
3867 : }
3868 : }
3869 : }
3870 : break;
3871 : }
3872 : default:;
3873 : }
3874 : break;
3875 : }
3876 309018 : default:;
3877 : }
3878 309018 : switch (TREE_CODE (_q20))
3879 : {
3880 348 : case BIT_NOT_EXPR:
3881 348 : {
3882 348 : tree _q30 = TREE_OPERAND (_q20, 0);
3883 348 : switch (TREE_CODE (_p1))
3884 : {
3885 54 : case BIT_XOR_EXPR:
3886 54 : {
3887 54 : tree _q60 = TREE_OPERAND (_p1, 0);
3888 54 : tree _q61 = TREE_OPERAND (_p1, 1);
3889 54 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
3890 : {
3891 18 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
3892 : {
3893 0 : {
3894 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q30, _p1 };
3895 0 : tree res = generic_simplify_72 (loc, type, _p0, _p1, captures);
3896 0 : if (res) return res;
3897 : }
3898 : }
3899 : }
3900 54 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
3901 : {
3902 9 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
3903 : {
3904 0 : {
3905 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q30, _p1 };
3906 0 : tree res = generic_simplify_72 (loc, type, _p0, _p1, captures);
3907 0 : if (res) return res;
3908 : }
3909 : }
3910 : }
3911 : break;
3912 : }
3913 : default:;
3914 : }
3915 : break;
3916 : }
3917 : default:;
3918 : }
3919 : break;
3920 : }
3921 2227903 : default:;
3922 : }
3923 2227903 : switch (TREE_CODE (_p1))
3924 : {
3925 416 : case BIT_NOT_EXPR:
3926 416 : {
3927 416 : tree _q30 = TREE_OPERAND (_p1, 0);
3928 416 : switch (TREE_CODE (_q30))
3929 : {
3930 40 : case BIT_XOR_EXPR:
3931 40 : {
3932 40 : tree _q40 = TREE_OPERAND (_q30, 0);
3933 40 : tree _q41 = TREE_OPERAND (_q30, 1);
3934 40 : if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
3935 : {
3936 0 : {
3937 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q41 };
3938 0 : tree res = generic_simplify_73 (loc, type, _p0, _p1, captures);
3939 0 : if (res) return res;
3940 : }
3941 : }
3942 40 : if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
3943 : {
3944 0 : {
3945 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q40 };
3946 0 : tree res = generic_simplify_73 (loc, type, _p0, _p1, captures);
3947 0 : if (res) return res;
3948 : }
3949 : }
3950 : break;
3951 : }
3952 : default:;
3953 : }
3954 : break;
3955 : }
3956 2227903 : default:;
3957 : }
3958 2227903 : switch (TREE_CODE (_p0))
3959 : {
3960 21842 : case BIT_NOT_EXPR:
3961 21842 : {
3962 21842 : tree _q20 = TREE_OPERAND (_p0, 0);
3963 21842 : switch (TREE_CODE (_q20))
3964 : {
3965 123 : case BIT_XOR_EXPR:
3966 123 : {
3967 123 : tree _q30 = TREE_OPERAND (_q20, 0);
3968 123 : tree _q31 = TREE_OPERAND (_q20, 1);
3969 123 : if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
3970 : {
3971 0 : {
3972 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q31 };
3973 0 : tree res = generic_simplify_73 (loc, type, _p0, _p1, captures);
3974 0 : if (res) return res;
3975 : }
3976 : }
3977 123 : if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
3978 : {
3979 0 : {
3980 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q31, _p0, _q30 };
3981 0 : tree res = generic_simplify_73 (loc, type, _p0, _p1, captures);
3982 0 : if (res) return res;
3983 : }
3984 : }
3985 : break;
3986 : }
3987 : default:;
3988 : }
3989 : break;
3990 : }
3991 2227903 : default:;
3992 : }
3993 2227903 : {
3994 2227903 : tree _p1_pops[1];
3995 2227903 : if (tree_nop_convert (_p1, _p1_pops))
3996 : {
3997 933091 : tree _q30 = _p1_pops[0];
3998 933091 : switch (TREE_CODE (_q30))
3999 : {
4000 0 : case EQ_EXPR:
4001 0 : {
4002 0 : tree _q40 = TREE_OPERAND (_q30, 0);
4003 0 : tree _q41 = TREE_OPERAND (_q30, 1);
4004 0 : if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
4005 : {
4006 0 : {
4007 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
4008 0 : tree res = generic_simplify_74 (loc, type, _p0, _p1, captures);
4009 0 : if (res) return res;
4010 : }
4011 : }
4012 0 : if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
4013 : {
4014 0 : {
4015 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
4016 0 : tree res = generic_simplify_74 (loc, type, _p0, _p1, captures);
4017 0 : if (res) return res;
4018 : }
4019 : }
4020 : break;
4021 : }
4022 : default:;
4023 : }
4024 : }
4025 : }
4026 2227903 : {
4027 2227903 : tree _p0_pops[1];
4028 2227903 : if (tree_nop_convert (_p0, _p0_pops))
4029 : {
4030 558123 : tree _q20 = _p0_pops[0];
4031 558123 : switch (TREE_CODE (_q20))
4032 : {
4033 0 : case EQ_EXPR:
4034 0 : {
4035 0 : tree _q30 = TREE_OPERAND (_q20, 0);
4036 0 : tree _q31 = TREE_OPERAND (_q20, 1);
4037 0 : if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
4038 : {
4039 0 : {
4040 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
4041 0 : tree res = generic_simplify_74 (loc, type, _p0, _p1, captures);
4042 0 : if (res) return res;
4043 : }
4044 : }
4045 0 : if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
4046 : {
4047 0 : {
4048 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
4049 0 : tree res = generic_simplify_74 (loc, type, _p0, _p1, captures);
4050 0 : if (res) return res;
4051 : }
4052 : }
4053 : break;
4054 : }
4055 : default:;
4056 : }
4057 : }
4058 : }
4059 2227903 : switch (TREE_CODE (_p1))
4060 : {
4061 850 : case EQ_EXPR:
4062 850 : {
4063 850 : tree _q30 = TREE_OPERAND (_p1, 0);
4064 850 : tree _q31 = TREE_OPERAND (_p1, 1);
4065 850 : if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
4066 : {
4067 0 : {
4068 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
4069 0 : tree res = generic_simplify_74 (loc, type, _p0, _p1, captures);
4070 0 : if (res) return res;
4071 : }
4072 : }
4073 850 : if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
4074 : {
4075 8 : {
4076 8 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
4077 8 : tree res = generic_simplify_74 (loc, type, _p0, _p1, captures);
4078 8 : if (res) return res;
4079 : }
4080 : }
4081 : break;
4082 : }
4083 2227903 : default:;
4084 : }
4085 2227903 : switch (TREE_CODE (_p0))
4086 : {
4087 878 : case EQ_EXPR:
4088 878 : {
4089 878 : tree _q20 = TREE_OPERAND (_p0, 0);
4090 878 : tree _q21 = TREE_OPERAND (_p0, 1);
4091 878 : if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
4092 : {
4093 8 : {
4094 8 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
4095 8 : tree res = generic_simplify_74 (loc, type, _p0, _p1, captures);
4096 8 : if (res) return res;
4097 : }
4098 : }
4099 878 : if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
4100 : {
4101 0 : {
4102 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
4103 0 : tree res = generic_simplify_74 (loc, type, _p0, _p1, captures);
4104 0 : if (res) return res;
4105 : }
4106 : }
4107 : break;
4108 : }
4109 2227903 : default:;
4110 : }
4111 2227903 : switch (TREE_CODE (_p1))
4112 : {
4113 212 : case BIT_XOR_EXPR:
4114 212 : {
4115 212 : tree _q30 = TREE_OPERAND (_p1, 0);
4116 212 : tree _q31 = TREE_OPERAND (_p1, 1);
4117 212 : {
4118 212 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
4119 212 : tree res = generic_simplify_71 (loc, type, _p0, _p1, captures);
4120 212 : if (res) return res;
4121 : }
4122 211 : {
4123 211 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q31, _q30 };
4124 211 : tree res = generic_simplify_71 (loc, type, _p0, _p1, captures);
4125 211 : if (res) return res;
4126 : }
4127 211 : break;
4128 : }
4129 2227902 : default:;
4130 : }
4131 2227902 : switch (TREE_CODE (_p0))
4132 : {
4133 21946 : case PLUS_EXPR:
4134 21946 : {
4135 21946 : tree _q20 = TREE_OPERAND (_p0, 0);
4136 21946 : tree _q21 = TREE_OPERAND (_p0, 1);
4137 21946 : if (integer_minus_onep (_q21))
4138 : {
4139 10526 : switch (TREE_CODE (_p1))
4140 : {
4141 9 : case NEGATE_EXPR:
4142 9 : {
4143 9 : tree _q50 = TREE_OPERAND (_p1, 0);
4144 9 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
4145 : {
4146 9 : {
4147 9 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
4148 9 : tree res = generic_simplify_75 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
4149 9 : if (res) return res;
4150 : }
4151 : }
4152 : break;
4153 : }
4154 : default:;
4155 : }
4156 : }
4157 : break;
4158 : }
4159 204 : case NEGATE_EXPR:
4160 204 : {
4161 204 : tree _q20 = TREE_OPERAND (_p0, 0);
4162 204 : switch (TREE_CODE (_p1))
4163 : {
4164 8 : case PLUS_EXPR:
4165 8 : {
4166 8 : tree _q40 = TREE_OPERAND (_p1, 0);
4167 8 : tree _q41 = TREE_OPERAND (_p1, 1);
4168 8 : if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
4169 : {
4170 0 : if (integer_minus_onep (_q41))
4171 : {
4172 0 : {
4173 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
4174 0 : tree res = generic_simplify_76 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
4175 0 : if (res) return res;
4176 : }
4177 : }
4178 : }
4179 : break;
4180 : }
4181 0 : case MINUS_EXPR:
4182 0 : {
4183 0 : tree _q40 = TREE_OPERAND (_p1, 0);
4184 0 : tree _q41 = TREE_OPERAND (_p1, 1);
4185 0 : if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
4186 : {
4187 0 : if (integer_onep (_q41))
4188 : {
4189 0 : {
4190 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
4191 0 : tree res = generic_simplify_77 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
4192 0 : if (res) return res;
4193 : }
4194 : }
4195 : }
4196 : break;
4197 : }
4198 : default:;
4199 : }
4200 : break;
4201 : }
4202 10471 : case MINUS_EXPR:
4203 10471 : {
4204 10471 : tree _q20 = TREE_OPERAND (_p0, 0);
4205 10471 : tree _q21 = TREE_OPERAND (_p0, 1);
4206 10471 : if (integer_onep (_q21))
4207 : {
4208 0 : switch (TREE_CODE (_p1))
4209 : {
4210 0 : case NEGATE_EXPR:
4211 0 : {
4212 0 : tree _q50 = TREE_OPERAND (_p1, 0);
4213 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
4214 : {
4215 0 : {
4216 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
4217 0 : tree res = generic_simplify_78 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
4218 0 : if (res) return res;
4219 : }
4220 : }
4221 : break;
4222 : }
4223 : default:;
4224 : }
4225 : }
4226 : break;
4227 : }
4228 17905 : case BIT_IOR_EXPR:
4229 17905 : {
4230 17905 : tree _q20 = TREE_OPERAND (_p0, 0);
4231 17905 : tree _q21 = TREE_OPERAND (_p0, 1);
4232 17905 : switch (TREE_CODE (_p1))
4233 : {
4234 5525 : case BIT_AND_EXPR:
4235 5525 : {
4236 5525 : tree _q50 = TREE_OPERAND (_p1, 0);
4237 5525 : tree _q51 = TREE_OPERAND (_p1, 1);
4238 5525 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
4239 : {
4240 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
4241 : {
4242 0 : {
4243 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
4244 0 : tree res = generic_simplify_79 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
4245 0 : if (res) return res;
4246 : }
4247 : }
4248 : }
4249 5525 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
4250 : {
4251 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
4252 : {
4253 0 : {
4254 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
4255 0 : tree res = generic_simplify_79 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
4256 0 : if (res) return res;
4257 : }
4258 : }
4259 : }
4260 : break;
4261 : }
4262 2 : case BIT_XOR_EXPR:
4263 2 : {
4264 2 : tree _q50 = TREE_OPERAND (_p1, 0);
4265 2 : tree _q51 = TREE_OPERAND (_p1, 1);
4266 2 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
4267 : {
4268 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
4269 : {
4270 0 : {
4271 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
4272 0 : tree res = generic_simplify_79 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
4273 0 : if (res) return res;
4274 : }
4275 : }
4276 : }
4277 2 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
4278 : {
4279 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
4280 : {
4281 0 : {
4282 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
4283 0 : tree res = generic_simplify_79 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
4284 0 : if (res) return res;
4285 : }
4286 : }
4287 : }
4288 : break;
4289 : }
4290 1923 : CASE_CONVERT:
4291 1923 : {
4292 1923 : tree _q50 = TREE_OPERAND (_p1, 0);
4293 1923 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
4294 : {
4295 0 : {
4296 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q21 };
4297 0 : tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
4298 0 : if (res) return res;
4299 : }
4300 : }
4301 1923 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
4302 : {
4303 0 : {
4304 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q20 };
4305 0 : tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
4306 0 : if (res) return res;
4307 : }
4308 : }
4309 : break;
4310 : }
4311 17905 : default:;
4312 : }
4313 17905 : if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q21, 0))
4314 : {
4315 0 : {
4316 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q21 };
4317 0 : tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
4318 0 : if (res) return res;
4319 : }
4320 : }
4321 17905 : if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q20, 0))
4322 : {
4323 0 : {
4324 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q20 };
4325 0 : tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
4326 0 : if (res) return res;
4327 : }
4328 : }
4329 : break;
4330 : }
4331 309018 : case BIT_AND_EXPR:
4332 309018 : {
4333 309018 : tree _q20 = TREE_OPERAND (_p0, 0);
4334 309018 : tree _q21 = TREE_OPERAND (_p0, 1);
4335 309018 : switch (TREE_CODE (_p1))
4336 : {
4337 1 : case BIT_IOR_EXPR:
4338 1 : {
4339 1 : tree _q50 = TREE_OPERAND (_p1, 0);
4340 1 : tree _q51 = TREE_OPERAND (_p1, 1);
4341 1 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
4342 : {
4343 1 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
4344 : {
4345 0 : {
4346 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
4347 0 : tree res = generic_simplify_81 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
4348 0 : if (res) return res;
4349 : }
4350 : }
4351 : }
4352 1 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
4353 : {
4354 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
4355 : {
4356 0 : {
4357 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q21, _q20 };
4358 0 : tree res = generic_simplify_81 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
4359 0 : if (res) return res;
4360 : }
4361 : }
4362 : }
4363 : break;
4364 : }
4365 73 : case BIT_NOT_EXPR:
4366 73 : {
4367 73 : tree _q50 = TREE_OPERAND (_p1, 0);
4368 73 : switch (TREE_CODE (_q50))
4369 : {
4370 0 : case BIT_XOR_EXPR:
4371 0 : {
4372 0 : tree _q60 = TREE_OPERAND (_q50, 0);
4373 0 : tree _q61 = TREE_OPERAND (_q50, 1);
4374 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
4375 : {
4376 0 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
4377 : {
4378 0 : {
4379 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
4380 0 : tree res = generic_simplify_82 (loc, type, _p0, _p1, captures);
4381 0 : if (res) return res;
4382 : }
4383 : }
4384 : }
4385 0 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
4386 : {
4387 0 : if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
4388 : {
4389 0 : {
4390 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
4391 0 : tree res = generic_simplify_82 (loc, type, _p0, _p1, captures);
4392 0 : if (res) return res;
4393 : }
4394 : }
4395 : }
4396 : break;
4397 : }
4398 : default:;
4399 : }
4400 : break;
4401 : }
4402 24 : case EQ_EXPR:
4403 24 : {
4404 24 : tree _q50 = TREE_OPERAND (_p1, 0);
4405 24 : tree _q51 = TREE_OPERAND (_p1, 1);
4406 24 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
4407 : {
4408 8 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
4409 : {
4410 8 : {
4411 8 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
4412 8 : tree res = generic_simplify_83 (loc, type, _p0, _p1, captures);
4413 8 : if (res) return res;
4414 : }
4415 : }
4416 : }
4417 24 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
4418 : {
4419 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
4420 : {
4421 0 : {
4422 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
4423 0 : tree res = generic_simplify_83 (loc, type, _p0, _p1, captures);
4424 0 : if (res) return res;
4425 : }
4426 : }
4427 : }
4428 : break;
4429 : }
4430 309018 : default:;
4431 : }
4432 309018 : {
4433 309018 : tree _p1_pops[1];
4434 309018 : if (tree_nop_convert (_p1, _p1_pops))
4435 : {
4436 261 : tree _q50 = _p1_pops[0];
4437 261 : switch (TREE_CODE (_q50))
4438 : {
4439 0 : case EQ_EXPR:
4440 0 : {
4441 0 : tree _q60 = TREE_OPERAND (_q50, 0);
4442 0 : tree _q61 = TREE_OPERAND (_q50, 1);
4443 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
4444 : {
4445 0 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
4446 : {
4447 0 : {
4448 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
4449 0 : tree res = generic_simplify_83 (loc, type, _p0, _p1, captures);
4450 0 : if (res) return res;
4451 : }
4452 : }
4453 : }
4454 0 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
4455 : {
4456 0 : if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
4457 : {
4458 0 : {
4459 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
4460 0 : tree res = generic_simplify_83 (loc, type, _p0, _p1, captures);
4461 0 : if (res) return res;
4462 : }
4463 : }
4464 : }
4465 : break;
4466 : }
4467 : default:;
4468 : }
4469 : }
4470 : }
4471 309018 : break;
4472 : }
4473 9602 : case BIT_XOR_EXPR:
4474 9602 : {
4475 9602 : tree _q20 = TREE_OPERAND (_p0, 0);
4476 9602 : tree _q21 = TREE_OPERAND (_p0, 1);
4477 9602 : switch (TREE_CODE (_p1))
4478 : {
4479 0 : case BIT_IOR_EXPR:
4480 0 : {
4481 0 : tree _q50 = TREE_OPERAND (_p1, 0);
4482 0 : tree _q51 = TREE_OPERAND (_p1, 1);
4483 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
4484 : {
4485 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
4486 : {
4487 0 : {
4488 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
4489 0 : tree res = generic_simplify_81 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
4490 0 : if (res) return res;
4491 : }
4492 : }
4493 : }
4494 0 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
4495 : {
4496 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
4497 : {
4498 0 : {
4499 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q21, _q20 };
4500 0 : tree res = generic_simplify_81 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
4501 0 : if (res) return res;
4502 : }
4503 : }
4504 : }
4505 : break;
4506 : }
4507 41 : case BIT_XOR_EXPR:
4508 41 : {
4509 41 : tree _q50 = TREE_OPERAND (_p1, 0);
4510 41 : tree _q51 = TREE_OPERAND (_p1, 1);
4511 41 : switch (TREE_CODE (_q50))
4512 : {
4513 2 : case BIT_XOR_EXPR:
4514 2 : {
4515 2 : tree _q60 = TREE_OPERAND (_q50, 0);
4516 2 : tree _q61 = TREE_OPERAND (_q50, 1);
4517 2 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
4518 : {
4519 1 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
4520 : {
4521 1 : {
4522 1 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q61 };
4523 1 : tree res = generic_simplify_84 (loc, type, _p0, _p1, captures);
4524 1 : if (res) return res;
4525 : }
4526 : }
4527 : }
4528 1 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
4529 : {
4530 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
4531 : {
4532 0 : {
4533 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q60 };
4534 0 : tree res = generic_simplify_84 (loc, type, _p0, _p1, captures);
4535 0 : if (res) return res;
4536 : }
4537 : }
4538 : }
4539 1 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
4540 : {
4541 1 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
4542 : {
4543 1 : {
4544 1 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q61 };
4545 1 : tree res = generic_simplify_84 (loc, type, _p0, _p1, captures);
4546 1 : if (res) return res;
4547 : }
4548 : }
4549 : }
4550 0 : if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
4551 : {
4552 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
4553 : {
4554 0 : {
4555 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q60 };
4556 0 : tree res = generic_simplify_84 (loc, type, _p0, _p1, captures);
4557 0 : if (res) return res;
4558 : }
4559 : }
4560 : }
4561 : break;
4562 : }
4563 39 : default:;
4564 : }
4565 39 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
4566 : {
4567 3 : switch (TREE_CODE (_q51))
4568 : {
4569 0 : case BIT_XOR_EXPR:
4570 0 : {
4571 0 : tree _q70 = TREE_OPERAND (_q51, 0);
4572 0 : tree _q71 = TREE_OPERAND (_q51, 1);
4573 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
4574 : {
4575 0 : {
4576 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q71 };
4577 0 : tree res = generic_simplify_84 (loc, type, _p0, _p1, captures);
4578 0 : if (res) return res;
4579 : }
4580 : }
4581 0 : if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
4582 : {
4583 0 : {
4584 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q70 };
4585 0 : tree res = generic_simplify_84 (loc, type, _p0, _p1, captures);
4586 0 : if (res) return res;
4587 : }
4588 : }
4589 : break;
4590 : }
4591 : default:;
4592 : }
4593 : }
4594 39 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
4595 : {
4596 0 : switch (TREE_CODE (_q51))
4597 : {
4598 0 : case BIT_XOR_EXPR:
4599 0 : {
4600 0 : tree _q70 = TREE_OPERAND (_q51, 0);
4601 0 : tree _q71 = TREE_OPERAND (_q51, 1);
4602 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
4603 : {
4604 0 : {
4605 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q71 };
4606 0 : tree res = generic_simplify_84 (loc, type, _p0, _p1, captures);
4607 0 : if (res) return res;
4608 : }
4609 : }
4610 0 : if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
4611 : {
4612 0 : {
4613 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q70 };
4614 0 : tree res = generic_simplify_84 (loc, type, _p0, _p1, captures);
4615 0 : if (res) return res;
4616 : }
4617 : }
4618 : break;
4619 : }
4620 : default:;
4621 : }
4622 : }
4623 : break;
4624 : }
4625 9600 : default:;
4626 : }
4627 9600 : switch (TREE_CODE (_q20))
4628 : {
4629 18 : case BIT_XOR_EXPR:
4630 18 : {
4631 18 : tree _q30 = TREE_OPERAND (_q20, 0);
4632 18 : tree _q31 = TREE_OPERAND (_q20, 1);
4633 18 : switch (TREE_CODE (_p1))
4634 : {
4635 0 : case BIT_XOR_EXPR:
4636 0 : {
4637 0 : tree _q70 = TREE_OPERAND (_p1, 0);
4638 0 : tree _q71 = TREE_OPERAND (_p1, 1);
4639 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
4640 : {
4641 0 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
4642 : {
4643 0 : {
4644 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _q30, _q31 };
4645 0 : tree res = generic_simplify_85 (loc, type, _p0, _p1, captures);
4646 0 : if (res) return res;
4647 : }
4648 : }
4649 0 : if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
4650 : {
4651 0 : {
4652 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _q31, _q30 };
4653 0 : tree res = generic_simplify_85 (loc, type, _p0, _p1, captures);
4654 0 : if (res) return res;
4655 : }
4656 : }
4657 : }
4658 0 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
4659 : {
4660 0 : if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
4661 : {
4662 0 : {
4663 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _q30, _q31 };
4664 0 : tree res = generic_simplify_85 (loc, type, _p0, _p1, captures);
4665 0 : if (res) return res;
4666 : }
4667 : }
4668 : }
4669 0 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
4670 : {
4671 0 : if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
4672 : {
4673 0 : {
4674 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _q31, _q30 };
4675 0 : tree res = generic_simplify_85 (loc, type, _p0, _p1, captures);
4676 0 : if (res) return res;
4677 : }
4678 : }
4679 : }
4680 : break;
4681 : }
4682 : default:;
4683 : }
4684 : break;
4685 : }
4686 9600 : default:;
4687 : }
4688 9600 : switch (TREE_CODE (_q21))
4689 : {
4690 0 : case BIT_XOR_EXPR:
4691 0 : {
4692 0 : tree _q40 = TREE_OPERAND (_q21, 0);
4693 0 : tree _q41 = TREE_OPERAND (_q21, 1);
4694 0 : switch (TREE_CODE (_p1))
4695 : {
4696 0 : case BIT_XOR_EXPR:
4697 0 : {
4698 0 : tree _q70 = TREE_OPERAND (_p1, 0);
4699 0 : tree _q71 = TREE_OPERAND (_p1, 1);
4700 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
4701 : {
4702 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
4703 : {
4704 0 : {
4705 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q40, _q41 };
4706 0 : tree res = generic_simplify_85 (loc, type, _p0, _p1, captures);
4707 0 : if (res) return res;
4708 : }
4709 : }
4710 0 : if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
4711 : {
4712 0 : {
4713 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q41, _q40 };
4714 0 : tree res = generic_simplify_85 (loc, type, _p0, _p1, captures);
4715 0 : if (res) return res;
4716 : }
4717 : }
4718 : }
4719 0 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
4720 : {
4721 0 : if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
4722 : {
4723 0 : {
4724 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q40, _q41 };
4725 0 : tree res = generic_simplify_85 (loc, type, _p0, _p1, captures);
4726 0 : if (res) return res;
4727 : }
4728 : }
4729 : }
4730 0 : if ((_q70 == _q41 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q41, 0) && types_match (_q70, _q41)))
4731 : {
4732 0 : if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
4733 : {
4734 0 : {
4735 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q41, _q40 };
4736 0 : tree res = generic_simplify_85 (loc, type, _p0, _p1, captures);
4737 0 : if (res) return res;
4738 : }
4739 : }
4740 : }
4741 : break;
4742 : }
4743 : default:;
4744 : }
4745 : break;
4746 : }
4747 : default:;
4748 : }
4749 : break;
4750 : }
4751 21841 : case BIT_NOT_EXPR:
4752 21841 : {
4753 21841 : tree _q20 = TREE_OPERAND (_p0, 0);
4754 21841 : switch (TREE_CODE (_q20))
4755 : {
4756 123 : case BIT_XOR_EXPR:
4757 123 : {
4758 123 : tree _q30 = TREE_OPERAND (_q20, 0);
4759 123 : tree _q31 = TREE_OPERAND (_q20, 1);
4760 123 : switch (TREE_CODE (_p1))
4761 : {
4762 44 : case BIT_AND_EXPR:
4763 44 : {
4764 44 : tree _q60 = TREE_OPERAND (_p1, 0);
4765 44 : tree _q61 = TREE_OPERAND (_p1, 1);
4766 44 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
4767 : {
4768 6 : if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
4769 : {
4770 0 : {
4771 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
4772 0 : tree res = generic_simplify_86 (loc, type, _p0, _p1, captures);
4773 0 : if (res) return res;
4774 : }
4775 : }
4776 : }
4777 44 : if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
4778 : {
4779 9 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
4780 : {
4781 0 : {
4782 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
4783 0 : tree res = generic_simplify_86 (loc, type, _p0, _p1, captures);
4784 0 : if (res) return res;
4785 : }
4786 : }
4787 : }
4788 : break;
4789 : }
4790 : default:;
4791 : }
4792 : break;
4793 : }
4794 : default:;
4795 : }
4796 : break;
4797 : }
4798 878 : case EQ_EXPR:
4799 878 : {
4800 878 : tree _q20 = TREE_OPERAND (_p0, 0);
4801 878 : tree _q21 = TREE_OPERAND (_p0, 1);
4802 878 : switch (TREE_CODE (_p1))
4803 : {
4804 8 : case BIT_AND_EXPR:
4805 8 : {
4806 8 : tree _q50 = TREE_OPERAND (_p1, 0);
4807 8 : tree _q51 = TREE_OPERAND (_p1, 1);
4808 8 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
4809 : {
4810 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
4811 : {
4812 0 : {
4813 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p0 };
4814 0 : tree res = generic_simplify_87 (loc, type, _p0, _p1, captures);
4815 0 : if (res) return res;
4816 : }
4817 : }
4818 : }
4819 8 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
4820 : {
4821 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
4822 : {
4823 0 : {
4824 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p0 };
4825 0 : tree res = generic_simplify_87 (loc, type, _p0, _p1, captures);
4826 0 : if (res) return res;
4827 : }
4828 : }
4829 : }
4830 : break;
4831 : }
4832 : default:;
4833 : }
4834 : break;
4835 : }
4836 2227891 : default:;
4837 : }
4838 2227891 : {
4839 2227891 : tree _p0_pops[1];
4840 2227891 : if (tree_nop_convert (_p0, _p0_pops))
4841 : {
4842 558123 : tree _q20 = _p0_pops[0];
4843 558123 : switch (TREE_CODE (_q20))
4844 : {
4845 0 : case EQ_EXPR:
4846 0 : {
4847 0 : tree _q30 = TREE_OPERAND (_q20, 0);
4848 0 : tree _q31 = TREE_OPERAND (_q20, 1);
4849 0 : switch (TREE_CODE (_p1))
4850 : {
4851 0 : case BIT_AND_EXPR:
4852 0 : {
4853 0 : tree _q60 = TREE_OPERAND (_p1, 0);
4854 0 : tree _q61 = TREE_OPERAND (_p1, 1);
4855 0 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
4856 : {
4857 0 : if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
4858 : {
4859 0 : {
4860 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
4861 0 : tree res = generic_simplify_87 (loc, type, _p0, _p1, captures);
4862 0 : if (res) return res;
4863 : }
4864 : }
4865 : }
4866 0 : if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
4867 : {
4868 0 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
4869 : {
4870 0 : {
4871 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
4872 0 : tree res = generic_simplify_87 (loc, type, _p0, _p1, captures);
4873 0 : if (res) return res;
4874 : }
4875 : }
4876 : }
4877 : break;
4878 : }
4879 : default:;
4880 : }
4881 : break;
4882 : }
4883 : default:;
4884 : }
4885 : }
4886 : }
4887 2227891 : if (integer_all_onesp (_p1))
4888 : {
4889 99 : {
4890 99 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
4891 99 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1210;
4892 99 : {
4893 99 : tree _r;
4894 99 : _r = captures[1];
4895 99 : if (TREE_SIDE_EFFECTS (captures[0]))
4896 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
4897 99 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 918, __FILE__, __LINE__, true);
4898 99 : return _r;
4899 : }
4900 0 : next_after_fail1210:;
4901 : }
4902 : }
4903 2227792 : if (integer_zerop (_p1))
4904 : {
4905 0 : {
4906 0 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
4907 0 : if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1211;
4908 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1211;
4909 0 : {
4910 0 : tree _r;
4911 0 : _r = captures[0];
4912 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 919, __FILE__, __LINE__, true);
4913 0 : return _r;
4914 : }
4915 : next_after_fail1211:;
4916 : }
4917 : }
4918 2227792 : switch (TREE_CODE (_p0))
4919 : {
4920 590804 : CASE_CONVERT:
4921 590804 : {
4922 590804 : tree _q20 = TREE_OPERAND (_p0, 0);
4923 590804 : switch (TREE_CODE (_p1))
4924 : {
4925 536272 : CASE_CONVERT:
4926 536272 : {
4927 536272 : tree _q40 = TREE_OPERAND (_p1, 0);
4928 536272 : {
4929 536272 : tree _q40_pops[1];
4930 536272 : if (tree_maybe_bit_not (_q40, _q40_pops))
4931 : {
4932 9 : tree _q50 = _q40_pops[0];
4933 9 : {
4934 9 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
4935 9 : tree res = generic_simplify_88 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
4936 9 : if (res) return res;
4937 : }
4938 : }
4939 : }
4940 536272 : break;
4941 : }
4942 590804 : default:;
4943 : }
4944 590804 : {
4945 590804 : tree _q20_pops[1];
4946 590804 : if (tree_maybe_bit_not (_q20, _q20_pops))
4947 : {
4948 91 : tree _q30 = _q20_pops[0];
4949 91 : switch (TREE_CODE (_p1))
4950 : {
4951 19 : CASE_CONVERT:
4952 19 : {
4953 19 : tree _q50 = TREE_OPERAND (_p1, 0);
4954 19 : {
4955 19 : tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
4956 19 : tree res = generic_simplify_88 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
4957 19 : if (res) return res;
4958 : }
4959 16 : break;
4960 : }
4961 : default:;
4962 : }
4963 : }
4964 : }
4965 590801 : break;
4966 : }
4967 2227789 : default:;
4968 : }
4969 2227789 : {
4970 2227789 : tree _p1_pops[1];
4971 2227789 : if (tree_maybe_bit_not (_p1, _p1_pops))
4972 : {
4973 424297 : tree _q30 = _p1_pops[0];
4974 424297 : {
4975 424297 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
4976 424297 : tree res = generic_simplify_88 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
4977 424297 : if (res) return res;
4978 : }
4979 : }
4980 : }
4981 2227777 : {
4982 2227777 : tree _p0_pops[1];
4983 2227777 : if (tree_maybe_bit_not (_p0, _p0_pops))
4984 : {
4985 23592 : tree _q20 = _p0_pops[0];
4986 23592 : {
4987 23592 : tree captures[2] ATTRIBUTE_UNUSED = { _p1, _q20 };
4988 23592 : tree res = generic_simplify_88 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
4989 23592 : if (res) return res;
4990 : }
4991 : }
4992 : }
4993 2227766 : if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
4994 : {
4995 122 : {
4996 122 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
4997 122 : tree res = generic_simplify_89 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
4998 122 : if (res) return res;
4999 : }
5000 : }
5001 2227644 : switch (TREE_CODE (_p1))
5002 : {
5003 411 : case BIT_NOT_EXPR:
5004 411 : {
5005 411 : tree _q30 = TREE_OPERAND (_p1, 0);
5006 411 : switch (TREE_CODE (_q30))
5007 : {
5008 60 : case BIT_IOR_EXPR:
5009 60 : {
5010 60 : tree _q40 = TREE_OPERAND (_q30, 0);
5011 60 : tree _q41 = TREE_OPERAND (_q30, 1);
5012 60 : if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
5013 : {
5014 0 : {
5015 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q41 };
5016 0 : tree res = generic_simplify_90 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5017 0 : if (res) return res;
5018 : }
5019 : }
5020 60 : if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
5021 : {
5022 0 : {
5023 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q40 };
5024 0 : tree res = generic_simplify_90 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5025 0 : if (res) return res;
5026 : }
5027 : }
5028 : break;
5029 : }
5030 : default:;
5031 : }
5032 : break;
5033 : }
5034 2227644 : default:;
5035 : }
5036 2227644 : switch (TREE_CODE (_p0))
5037 : {
5038 21830 : case BIT_NOT_EXPR:
5039 21830 : {
5040 21830 : tree _q20 = TREE_OPERAND (_p0, 0);
5041 21830 : switch (TREE_CODE (_q20))
5042 : {
5043 101 : case BIT_IOR_EXPR:
5044 101 : {
5045 101 : tree _q30 = TREE_OPERAND (_q20, 0);
5046 101 : tree _q31 = TREE_OPERAND (_q20, 1);
5047 101 : if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
5048 : {
5049 5 : {
5050 5 : tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q20, _q31 };
5051 5 : tree res = generic_simplify_90 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5052 5 : if (res) return res;
5053 : }
5054 : }
5055 96 : if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
5056 : {
5057 3 : {
5058 3 : tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q20, _q30 };
5059 3 : tree res = generic_simplify_90 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5060 3 : if (res) return res;
5061 : }
5062 : }
5063 93 : switch (TREE_CODE (_p1))
5064 : {
5065 20 : case BIT_AND_EXPR:
5066 20 : {
5067 20 : tree _q60 = TREE_OPERAND (_p1, 0);
5068 20 : tree _q61 = TREE_OPERAND (_p1, 1);
5069 20 : switch (TREE_CODE (_q60))
5070 : {
5071 1 : case BIT_NOT_EXPR:
5072 1 : {
5073 1 : tree _q70 = TREE_OPERAND (_q60, 0);
5074 1 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
5075 : {
5076 1 : if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
5077 : {
5078 1 : {
5079 1 : tree captures[3] ATTRIBUTE_UNUSED = { _q60, _q30, _q31 };
5080 1 : tree res = generic_simplify_91 (loc, type, _p0, _p1, captures);
5081 1 : if (res) return res;
5082 : }
5083 : }
5084 : }
5085 0 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
5086 : {
5087 0 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
5088 : {
5089 0 : {
5090 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q60, _q31, _q30 };
5091 0 : tree res = generic_simplify_91 (loc, type, _p0, _p1, captures);
5092 0 : if (res) return res;
5093 : }
5094 : }
5095 : }
5096 : break;
5097 : }
5098 19 : default:;
5099 : }
5100 19 : if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
5101 : {
5102 3 : switch (TREE_CODE (_q61))
5103 : {
5104 0 : case BIT_NOT_EXPR:
5105 0 : {
5106 0 : tree _q80 = TREE_OPERAND (_q61, 0);
5107 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
5108 : {
5109 0 : {
5110 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q61, _q30, _q31 };
5111 0 : tree res = generic_simplify_91 (loc, type, _p0, _p1, captures);
5112 0 : if (res) return res;
5113 : }
5114 : }
5115 : break;
5116 : }
5117 : default:;
5118 : }
5119 : }
5120 19 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
5121 : {
5122 7 : switch (TREE_CODE (_q61))
5123 : {
5124 0 : case BIT_NOT_EXPR:
5125 0 : {
5126 0 : tree _q80 = TREE_OPERAND (_q61, 0);
5127 0 : if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
5128 : {
5129 0 : {
5130 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q61, _q31, _q30 };
5131 0 : tree res = generic_simplify_91 (loc, type, _p0, _p1, captures);
5132 0 : if (res) return res;
5133 : }
5134 : }
5135 : break;
5136 : }
5137 7 : default:;
5138 : }
5139 7 : if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
5140 : {
5141 1 : {
5142 1 : tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0, _q20 };
5143 1 : tree res = generic_simplify_92 (loc, type, _p0, _p1, captures);
5144 1 : if (res) return res;
5145 : }
5146 : }
5147 : }
5148 : break;
5149 : }
5150 27 : case BIT_XOR_EXPR:
5151 27 : {
5152 27 : tree _q60 = TREE_OPERAND (_p1, 0);
5153 27 : tree _q61 = TREE_OPERAND (_p1, 1);
5154 27 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
5155 : {
5156 6 : if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
5157 : {
5158 0 : {
5159 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0, _q20 };
5160 0 : tree res = generic_simplify_93 (loc, type, _p0, _p1, captures);
5161 0 : if (res) return res;
5162 : }
5163 : }
5164 : }
5165 : break;
5166 : }
5167 : default:;
5168 : }
5169 : break;
5170 : }
5171 21820 : default:;
5172 : }
5173 21820 : switch (TREE_CODE (_p1))
5174 : {
5175 84 : CASE_CONVERT:
5176 84 : {
5177 84 : tree _q40 = TREE_OPERAND (_p1, 0);
5178 84 : switch (TREE_CODE (_q40))
5179 : {
5180 0 : case BIT_NOT_EXPR:
5181 0 : {
5182 0 : tree _q50 = TREE_OPERAND (_q40, 0);
5183 0 : {
5184 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
5185 0 : tree res = generic_simplify_94 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
5186 0 : if (res) return res;
5187 : }
5188 0 : break;
5189 : }
5190 : default:;
5191 : }
5192 : break;
5193 : }
5194 16 : case BIT_NOT_EXPR:
5195 16 : {
5196 16 : tree _q40 = TREE_OPERAND (_p1, 0);
5197 16 : {
5198 16 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
5199 16 : tree res = generic_simplify_94 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
5200 16 : if (res) return res;
5201 : }
5202 0 : break;
5203 : }
5204 : default:;
5205 : }
5206 : break;
5207 : }
5208 309018 : case BIT_AND_EXPR:
5209 309018 : {
5210 309018 : tree _q20 = TREE_OPERAND (_p0, 0);
5211 309018 : tree _q21 = TREE_OPERAND (_p0, 1);
5212 309018 : switch (TREE_CODE (_q20))
5213 : {
5214 348 : case BIT_NOT_EXPR:
5215 348 : {
5216 348 : tree _q30 = TREE_OPERAND (_q20, 0);
5217 348 : switch (TREE_CODE (_p1))
5218 : {
5219 18 : case BIT_NOT_EXPR:
5220 18 : {
5221 18 : tree _q60 = TREE_OPERAND (_p1, 0);
5222 18 : switch (TREE_CODE (_q60))
5223 : {
5224 0 : case BIT_IOR_EXPR:
5225 0 : {
5226 0 : tree _q70 = TREE_OPERAND (_q60, 0);
5227 0 : tree _q71 = TREE_OPERAND (_q60, 1);
5228 0 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
5229 : {
5230 0 : if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
5231 : {
5232 0 : {
5233 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
5234 0 : tree res = generic_simplify_95 (loc, type, _p0, _p1, captures);
5235 0 : if (res) return res;
5236 : }
5237 : }
5238 : }
5239 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
5240 : {
5241 0 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
5242 : {
5243 0 : {
5244 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
5245 0 : tree res = generic_simplify_95 (loc, type, _p0, _p1, captures);
5246 0 : if (res) return res;
5247 : }
5248 : }
5249 : }
5250 : break;
5251 : }
5252 : default:;
5253 : }
5254 : break;
5255 : }
5256 : default:;
5257 : }
5258 : break;
5259 : }
5260 309018 : default:;
5261 : }
5262 309018 : switch (TREE_CODE (_q21))
5263 : {
5264 74 : case BIT_NOT_EXPR:
5265 74 : {
5266 74 : tree _q40 = TREE_OPERAND (_q21, 0);
5267 74 : switch (TREE_CODE (_p1))
5268 : {
5269 0 : case BIT_NOT_EXPR:
5270 0 : {
5271 0 : tree _q60 = TREE_OPERAND (_p1, 0);
5272 0 : switch (TREE_CODE (_q60))
5273 : {
5274 0 : case BIT_IOR_EXPR:
5275 0 : {
5276 0 : tree _q70 = TREE_OPERAND (_q60, 0);
5277 0 : tree _q71 = TREE_OPERAND (_q60, 1);
5278 0 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
5279 : {
5280 0 : if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
5281 : {
5282 0 : {
5283 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
5284 0 : tree res = generic_simplify_95 (loc, type, _p0, _p1, captures);
5285 0 : if (res) return res;
5286 : }
5287 : }
5288 : }
5289 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
5290 : {
5291 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
5292 : {
5293 0 : {
5294 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
5295 0 : tree res = generic_simplify_95 (loc, type, _p0, _p1, captures);
5296 0 : if (res) return res;
5297 : }
5298 : }
5299 : }
5300 : break;
5301 : }
5302 : default:;
5303 : }
5304 : break;
5305 : }
5306 : default:;
5307 : }
5308 : break;
5309 : }
5310 309018 : default:;
5311 : }
5312 309018 : switch (TREE_CODE (_p1))
5313 : {
5314 73 : case BIT_NOT_EXPR:
5315 73 : {
5316 73 : tree _q50 = TREE_OPERAND (_p1, 0);
5317 73 : switch (TREE_CODE (_q50))
5318 : {
5319 9 : case BIT_IOR_EXPR:
5320 9 : {
5321 9 : tree _q60 = TREE_OPERAND (_q50, 0);
5322 9 : tree _q61 = TREE_OPERAND (_q50, 1);
5323 9 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
5324 : {
5325 0 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
5326 : {
5327 0 : {
5328 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
5329 0 : tree res = generic_simplify_92 (loc, type, _p0, _p1, captures);
5330 0 : if (res) return res;
5331 : }
5332 : }
5333 : }
5334 : break;
5335 : }
5336 : default:;
5337 : }
5338 : break;
5339 : }
5340 62 : case BIT_XOR_EXPR:
5341 62 : {
5342 62 : tree _q50 = TREE_OPERAND (_p1, 0);
5343 62 : tree _q51 = TREE_OPERAND (_p1, 1);
5344 62 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
5345 : {
5346 8 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
5347 : {
5348 0 : {
5349 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
5350 0 : tree res = generic_simplify_9 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5351 0 : if (res) return res;
5352 : }
5353 : }
5354 : }
5355 : break;
5356 : }
5357 17346 : case BIT_AND_EXPR:
5358 17346 : {
5359 17346 : tree _q50 = TREE_OPERAND (_p1, 0);
5360 17346 : tree _q51 = TREE_OPERAND (_p1, 1);
5361 17346 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
5362 : {
5363 159 : {
5364 159 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q20 };
5365 159 : tree res = generic_simplify_96 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
5366 159 : if (res) return res;
5367 : }
5368 : }
5369 17187 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
5370 : {
5371 0 : {
5372 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q20 };
5373 0 : tree res = generic_simplify_96 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
5374 0 : if (res) return res;
5375 : }
5376 : }
5377 17187 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
5378 : {
5379 0 : {
5380 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q21 };
5381 0 : tree res = generic_simplify_96 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
5382 0 : if (res) return res;
5383 : }
5384 : }
5385 17187 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q21, 0))
5386 : {
5387 9 : {
5388 9 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q21 };
5389 9 : tree res = generic_simplify_96 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
5390 9 : if (res) return res;
5391 : }
5392 : }
5393 : break;
5394 : }
5395 : default:;
5396 : }
5397 : break;
5398 : }
5399 9600 : case BIT_XOR_EXPR:
5400 9600 : {
5401 9600 : tree _q20 = TREE_OPERAND (_p0, 0);
5402 9600 : tree _q21 = TREE_OPERAND (_p0, 1);
5403 9600 : switch (TREE_CODE (_p1))
5404 : {
5405 54 : case BIT_NOT_EXPR:
5406 54 : {
5407 54 : tree _q50 = TREE_OPERAND (_p1, 0);
5408 54 : switch (TREE_CODE (_q50))
5409 : {
5410 19 : case BIT_IOR_EXPR:
5411 19 : {
5412 19 : tree _q60 = TREE_OPERAND (_q50, 0);
5413 19 : tree _q61 = TREE_OPERAND (_q50, 1);
5414 19 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
5415 : {
5416 1 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
5417 : {
5418 1 : {
5419 1 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
5420 1 : tree res = generic_simplify_93 (loc, type, _p0, _p1, captures);
5421 1 : if (res) return res;
5422 : }
5423 : }
5424 : }
5425 : break;
5426 : }
5427 : default:;
5428 : }
5429 : break;
5430 : }
5431 102 : case BIT_AND_EXPR:
5432 102 : {
5433 102 : tree _q50 = TREE_OPERAND (_p1, 0);
5434 102 : tree _q51 = TREE_OPERAND (_p1, 1);
5435 102 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
5436 : {
5437 30 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
5438 : {
5439 0 : {
5440 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
5441 0 : tree res = generic_simplify_9 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5442 0 : if (res) return res;
5443 : }
5444 : }
5445 : }
5446 : break;
5447 : }
5448 : default:;
5449 : }
5450 : break;
5451 : }
5452 590795 : CASE_CONVERT:
5453 590795 : {
5454 590795 : tree _q20 = TREE_OPERAND (_p0, 0);
5455 590795 : switch (TREE_CODE (_q20))
5456 : {
5457 72 : case BIT_NOT_EXPR:
5458 72 : {
5459 72 : tree _q30 = TREE_OPERAND (_q20, 0);
5460 72 : switch (TREE_CODE (_p1))
5461 : {
5462 8 : CASE_CONVERT:
5463 8 : {
5464 8 : tree _q50 = TREE_OPERAND (_p1, 0);
5465 8 : switch (TREE_CODE (_q50))
5466 : {
5467 0 : case BIT_NOT_EXPR:
5468 0 : {
5469 0 : tree _q60 = TREE_OPERAND (_q50, 0);
5470 0 : {
5471 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q60 };
5472 0 : tree res = generic_simplify_94 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
5473 0 : if (res) return res;
5474 : }
5475 0 : break;
5476 : }
5477 : default:;
5478 : }
5479 : break;
5480 : }
5481 32 : case BIT_NOT_EXPR:
5482 32 : {
5483 32 : tree _q50 = TREE_OPERAND (_p1, 0);
5484 32 : {
5485 32 : tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q50 };
5486 32 : tree res = generic_simplify_94 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
5487 32 : if (res) return res;
5488 : }
5489 32 : break;
5490 : }
5491 : default:;
5492 : }
5493 : break;
5494 : }
5495 124 : case BIT_AND_EXPR:
5496 124 : {
5497 124 : tree _q30 = TREE_OPERAND (_q20, 0);
5498 124 : tree _q31 = TREE_OPERAND (_q20, 1);
5499 124 : switch (TREE_CODE (_p1))
5500 : {
5501 6 : CASE_CONVERT:
5502 6 : {
5503 6 : tree _q60 = TREE_OPERAND (_p1, 0);
5504 6 : switch (TREE_CODE (_q60))
5505 : {
5506 0 : case BIT_AND_EXPR:
5507 0 : {
5508 0 : tree _q70 = TREE_OPERAND (_q60, 0);
5509 0 : tree _q71 = TREE_OPERAND (_q60, 1);
5510 0 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q30, 0))
5511 : {
5512 0 : {
5513 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q71, _q30 };
5514 0 : tree res = generic_simplify_96 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
5515 0 : if (res) return res;
5516 : }
5517 : }
5518 0 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q30, 0))
5519 : {
5520 0 : {
5521 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q70, _q30 };
5522 0 : tree res = generic_simplify_96 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
5523 0 : if (res) return res;
5524 : }
5525 : }
5526 0 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q31, 0))
5527 : {
5528 0 : {
5529 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q71, _q31 };
5530 0 : tree res = generic_simplify_96 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
5531 0 : if (res) return res;
5532 : }
5533 : }
5534 0 : if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q31, 0))
5535 : {
5536 0 : {
5537 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q70, _q31 };
5538 0 : tree res = generic_simplify_96 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
5539 0 : if (res) return res;
5540 : }
5541 : }
5542 : break;
5543 : }
5544 : default:;
5545 : }
5546 : break;
5547 : }
5548 : default:;
5549 : }
5550 : break;
5551 : }
5552 98 : case BIT_IOR_EXPR:
5553 98 : {
5554 98 : tree _q30 = TREE_OPERAND (_q20, 0);
5555 98 : tree _q31 = TREE_OPERAND (_q20, 1);
5556 98 : switch (TREE_CODE (_p1))
5557 : {
5558 4 : CASE_CONVERT:
5559 4 : {
5560 4 : tree _q60 = TREE_OPERAND (_p1, 0);
5561 4 : if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q31, 0))
5562 : {
5563 0 : {
5564 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q31 };
5565 0 : tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5566 0 : if (res) return res;
5567 : }
5568 : }
5569 4 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q30, 0))
5570 : {
5571 0 : {
5572 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q30, _q30 };
5573 0 : tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5574 0 : if (res) return res;
5575 : }
5576 : }
5577 : break;
5578 : }
5579 98 : default:;
5580 : }
5581 98 : if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q31, 0))
5582 : {
5583 0 : {
5584 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q31 };
5585 0 : tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5586 0 : if (res) return res;
5587 : }
5588 : }
5589 98 : if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q30, 0))
5590 : {
5591 0 : {
5592 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q30, _q30 };
5593 0 : tree res = generic_simplify_80 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5594 0 : if (res) return res;
5595 : }
5596 : }
5597 : break;
5598 : }
5599 590795 : default:;
5600 : }
5601 590795 : switch (TREE_CODE (_p1))
5602 : {
5603 536268 : CASE_CONVERT:
5604 536268 : {
5605 536268 : tree _q40 = TREE_OPERAND (_p1, 0);
5606 536268 : switch (TREE_CODE (_q40))
5607 : {
5608 0 : case BIT_IOR_EXPR:
5609 0 : {
5610 0 : tree _q50 = TREE_OPERAND (_q40, 0);
5611 0 : tree _q51 = TREE_OPERAND (_q40, 1);
5612 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
5613 : {
5614 0 : {
5615 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q50, _q51, _q20 };
5616 0 : tree res = generic_simplify_97 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5617 0 : if (res) return res;
5618 : }
5619 : }
5620 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
5621 : {
5622 0 : {
5623 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q51, _q50, _q20 };
5624 0 : tree res = generic_simplify_97 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5625 0 : if (res) return res;
5626 : }
5627 : }
5628 : break;
5629 : }
5630 : default:;
5631 : }
5632 : break;
5633 : }
5634 8 : case BIT_IOR_EXPR:
5635 8 : {
5636 8 : tree _q40 = TREE_OPERAND (_p1, 0);
5637 8 : tree _q41 = TREE_OPERAND (_p1, 1);
5638 8 : if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _q20, 0))
5639 : {
5640 0 : {
5641 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _q20 };
5642 0 : tree res = generic_simplify_97 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5643 0 : if (res) return res;
5644 : }
5645 : }
5646 8 : if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _q20, 0))
5647 : {
5648 0 : {
5649 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q41, _q40, _q20 };
5650 0 : tree res = generic_simplify_97 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5651 0 : if (res) return res;
5652 : }
5653 : }
5654 : break;
5655 : }
5656 : default:;
5657 : }
5658 : break;
5659 : }
5660 2227449 : default:;
5661 : }
5662 2227449 : switch (TREE_CODE (_p1))
5663 : {
5664 919629 : CASE_CONVERT:
5665 919629 : {
5666 919629 : tree _q30 = TREE_OPERAND (_p1, 0);
5667 919629 : switch (TREE_CODE (_q30))
5668 : {
5669 45 : case BIT_IOR_EXPR:
5670 45 : {
5671 45 : tree _q40 = TREE_OPERAND (_q30, 0);
5672 45 : tree _q41 = TREE_OPERAND (_q30, 1);
5673 45 : if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _p0, 0))
5674 : {
5675 0 : {
5676 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0 };
5677 0 : tree res = generic_simplify_97 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5678 0 : if (res) return res;
5679 : }
5680 : }
5681 45 : if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _p0, 0))
5682 : {
5683 0 : {
5684 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q41, _q40, _p0 };
5685 0 : tree res = generic_simplify_97 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5686 0 : if (res) return res;
5687 : }
5688 : }
5689 : break;
5690 : }
5691 : default:;
5692 : }
5693 : break;
5694 : }
5695 486 : case BIT_IOR_EXPR:
5696 486 : {
5697 486 : tree _q30 = TREE_OPERAND (_p1, 0);
5698 486 : tree _q31 = TREE_OPERAND (_p1, 1);
5699 486 : if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || operand_equal_p (_q31, _p0, 0))
5700 : {
5701 0 : {
5702 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0 };
5703 0 : tree res = generic_simplify_97 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5704 0 : if (res) return res;
5705 : }
5706 : }
5707 486 : if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || operand_equal_p (_q30, _p0, 0))
5708 : {
5709 0 : {
5710 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q31, _q30, _p0 };
5711 0 : tree res = generic_simplify_97 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5712 0 : if (res) return res;
5713 : }
5714 : }
5715 : break;
5716 : }
5717 2227449 : default:;
5718 : }
5719 2227449 : switch (TREE_CODE (_p0))
5720 : {
5721 17905 : case BIT_IOR_EXPR:
5722 17905 : {
5723 17905 : tree _q20 = TREE_OPERAND (_p0, 0);
5724 17905 : tree _q21 = TREE_OPERAND (_p0, 1);
5725 17905 : {
5726 17905 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
5727 17905 : tree res = generic_simplify_98 (loc, type, _p0, _p1, captures);
5728 17905 : if (res) return res;
5729 : }
5730 17905 : switch (TREE_CODE (_p1))
5731 : {
5732 1923 : CASE_CONVERT:
5733 1923 : {
5734 1923 : tree _q50 = TREE_OPERAND (_p1, 0);
5735 1923 : switch (TREE_CODE (_q50))
5736 : {
5737 0 : case BIT_IOR_EXPR:
5738 0 : {
5739 0 : tree _q60 = TREE_OPERAND (_q50, 0);
5740 0 : tree _q61 = TREE_OPERAND (_q50, 1);
5741 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
5742 : {
5743 0 : {
5744 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _q50, _q61 };
5745 0 : tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5746 0 : if (res) return res;
5747 : }
5748 : }
5749 0 : if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
5750 : {
5751 0 : {
5752 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _q50, _q60 };
5753 0 : tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5754 0 : if (res) return res;
5755 : }
5756 : }
5757 0 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
5758 : {
5759 0 : {
5760 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _q50, _q61 };
5761 0 : tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5762 0 : if (res) return res;
5763 : }
5764 : }
5765 0 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
5766 : {
5767 0 : {
5768 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _q50, _q60 };
5769 0 : tree res = generic_simplify_99 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5770 0 : if (res) return res;
5771 : }
5772 : }
5773 : break;
5774 : }
5775 : default:;
5776 : }
5777 : break;
5778 : }
5779 1 : case BIT_IOR_EXPR:
5780 1 : {
5781 1 : tree _q50 = TREE_OPERAND (_p1, 0);
5782 1 : tree _q51 = TREE_OPERAND (_p1, 1);
5783 1 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
5784 : {
5785 0 : {
5786 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _p1, _q51 };
5787 0 : tree res = generic_simplify_100 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5788 0 : if (res) return res;
5789 : }
5790 : }
5791 1 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
5792 : {
5793 0 : {
5794 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _p1, _q50 };
5795 0 : tree res = generic_simplify_100 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5796 0 : if (res) return res;
5797 : }
5798 : }
5799 1 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
5800 : {
5801 0 : {
5802 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _p1, _q51 };
5803 0 : tree res = generic_simplify_100 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5804 0 : if (res) return res;
5805 : }
5806 : }
5807 1 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
5808 : {
5809 0 : {
5810 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _p1, _q50 };
5811 0 : tree res = generic_simplify_100 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5812 0 : if (res) return res;
5813 : }
5814 : }
5815 : break;
5816 : }
5817 : default:;
5818 : }
5819 : break;
5820 : }
5821 2227449 : default:;
5822 : }
5823 2227449 : switch (TREE_CODE (_p1))
5824 : {
5825 486 : case BIT_IOR_EXPR:
5826 486 : {
5827 486 : tree _q30 = TREE_OPERAND (_p1, 0);
5828 486 : tree _q31 = TREE_OPERAND (_p1, 1);
5829 486 : {
5830 486 : tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
5831 486 : tree res = generic_simplify_98 (loc, type, _p0, _p1, captures);
5832 486 : if (res) return res;
5833 : }
5834 486 : break;
5835 : }
5836 2227449 : default:;
5837 : }
5838 2227449 : switch (TREE_CODE (_p0))
5839 : {
5840 590795 : CASE_CONVERT:
5841 590795 : {
5842 590795 : tree _q20 = TREE_OPERAND (_p0, 0);
5843 590795 : switch (TREE_CODE (_q20))
5844 : {
5845 98 : case BIT_IOR_EXPR:
5846 98 : {
5847 98 : tree _q30 = TREE_OPERAND (_q20, 0);
5848 98 : tree _q31 = TREE_OPERAND (_q20, 1);
5849 98 : switch (TREE_CODE (_p1))
5850 : {
5851 4 : CASE_CONVERT:
5852 4 : {
5853 4 : tree _q60 = TREE_OPERAND (_p1, 0);
5854 4 : switch (TREE_CODE (_q60))
5855 : {
5856 0 : case BIT_IOR_EXPR:
5857 0 : {
5858 0 : tree _q70 = TREE_OPERAND (_q60, 0);
5859 0 : tree _q71 = TREE_OPERAND (_q60, 1);
5860 0 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
5861 : {
5862 0 : {
5863 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60, _q71 };
5864 0 : tree res = generic_simplify_101 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5865 0 : if (res) return res;
5866 : }
5867 : }
5868 0 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
5869 : {
5870 0 : {
5871 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60, _q70 };
5872 0 : tree res = generic_simplify_101 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5873 0 : if (res) return res;
5874 : }
5875 : }
5876 0 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
5877 : {
5878 0 : {
5879 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _q60, _q71 };
5880 0 : tree res = generic_simplify_101 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5881 0 : if (res) return res;
5882 : }
5883 : }
5884 0 : if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
5885 : {
5886 0 : {
5887 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _q60, _q70 };
5888 0 : tree res = generic_simplify_101 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5889 0 : if (res) return res;
5890 : }
5891 : }
5892 : break;
5893 : }
5894 : default:;
5895 : }
5896 : break;
5897 : }
5898 0 : case BIT_IOR_EXPR:
5899 0 : {
5900 0 : tree _q60 = TREE_OPERAND (_p1, 0);
5901 0 : tree _q61 = TREE_OPERAND (_p1, 1);
5902 0 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
5903 : {
5904 0 : {
5905 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _p1, _q61 };
5906 0 : tree res = generic_simplify_102 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5907 0 : if (res) return res;
5908 : }
5909 : }
5910 0 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
5911 : {
5912 0 : {
5913 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _p1, _q60 };
5914 0 : tree res = generic_simplify_102 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5915 0 : if (res) return res;
5916 : }
5917 : }
5918 0 : if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
5919 : {
5920 0 : {
5921 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _p1, _q61 };
5922 0 : tree res = generic_simplify_102 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5923 0 : if (res) return res;
5924 : }
5925 : }
5926 0 : if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
5927 : {
5928 0 : {
5929 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _p1, _q60 };
5930 0 : tree res = generic_simplify_102 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5931 0 : if (res) return res;
5932 : }
5933 : }
5934 : break;
5935 : }
5936 : default:;
5937 : }
5938 : break;
5939 : }
5940 590795 : default:;
5941 : }
5942 590795 : switch (TREE_CODE (_p1))
5943 : {
5944 536268 : CASE_CONVERT:
5945 536268 : {
5946 536268 : tree _q40 = TREE_OPERAND (_p1, 0);
5947 536268 : {
5948 536268 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
5949 536268 : tree res = generic_simplify_103 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5950 536268 : if (res) return res;
5951 : }
5952 535518 : break;
5953 : }
5954 590045 : default:;
5955 : }
5956 590045 : {
5957 590045 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
5958 590045 : tree res = generic_simplify_104 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5959 590045 : if (res) return res;
5960 : }
5961 589096 : break;
5962 : }
5963 308850 : case BIT_AND_EXPR:
5964 308850 : {
5965 308850 : tree _q20 = TREE_OPERAND (_p0, 0);
5966 308850 : tree _q21 = TREE_OPERAND (_p0, 1);
5967 308850 : if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
5968 : {
5969 2 : {
5970 2 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
5971 2 : tree res = generic_simplify_105 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
5972 2 : if (res) return res;
5973 : }
5974 : }
5975 308848 : if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
5976 : {
5977 13 : {
5978 13 : tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
5979 13 : tree res = generic_simplify_105 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
5980 13 : if (res) return res;
5981 : }
5982 : }
5983 308835 : {
5984 308835 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
5985 308835 : tree res = generic_simplify_106 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
5986 308835 : if (res) return res;
5987 : }
5988 308831 : {
5989 308831 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
5990 308831 : tree res = generic_simplify_106 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
5991 308831 : if (res) return res;
5992 : }
5993 308829 : switch (TREE_CODE (_p1))
5994 : {
5995 1 : case BIT_IOR_EXPR:
5996 1 : {
5997 1 : tree _q50 = TREE_OPERAND (_p1, 0);
5998 1 : tree _q51 = TREE_OPERAND (_p1, 1);
5999 1 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
6000 : {
6001 1 : {
6002 1 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51 };
6003 1 : tree res = generic_simplify_107 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6004 1 : if (res) return res;
6005 : }
6006 : }
6007 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
6008 : {
6009 0 : {
6010 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50 };
6011 0 : tree res = generic_simplify_107 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6012 0 : if (res) return res;
6013 : }
6014 : }
6015 0 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
6016 : {
6017 0 : {
6018 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q51 };
6019 0 : tree res = generic_simplify_107 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6020 0 : if (res) return res;
6021 : }
6022 : }
6023 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
6024 : {
6025 0 : {
6026 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q50 };
6027 0 : tree res = generic_simplify_107 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6028 0 : if (res) return res;
6029 : }
6030 : }
6031 : break;
6032 : }
6033 73 : case BIT_NOT_EXPR:
6034 73 : {
6035 73 : tree _q50 = TREE_OPERAND (_p1, 0);
6036 73 : switch (TREE_CODE (_q50))
6037 : {
6038 1 : case BIT_AND_EXPR:
6039 1 : {
6040 1 : tree _q60 = TREE_OPERAND (_q50, 0);
6041 1 : tree _q61 = TREE_OPERAND (_q50, 1);
6042 1 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
6043 : {
6044 0 : {
6045 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q61 };
6046 0 : tree res = generic_simplify_108 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6047 0 : if (res) return res;
6048 : }
6049 : }
6050 1 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
6051 : {
6052 1 : {
6053 1 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q60 };
6054 1 : tree res = generic_simplify_108 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6055 1 : if (res) return res;
6056 : }
6057 : }
6058 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
6059 : {
6060 0 : {
6061 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q61 };
6062 0 : tree res = generic_simplify_108 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6063 0 : if (res) return res;
6064 : }
6065 : }
6066 0 : if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
6067 : {
6068 0 : {
6069 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q60 };
6070 0 : tree res = generic_simplify_108 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6071 0 : if (res) return res;
6072 : }
6073 : }
6074 : break;
6075 : }
6076 : default:;
6077 : }
6078 : break;
6079 : }
6080 308827 : default:;
6081 : }
6082 308827 : {
6083 308827 : tree _q20_pops[1];
6084 308827 : if (tree_nop_convert (_q20, _q20_pops))
6085 : {
6086 55736 : tree _q30 = _q20_pops[0];
6087 55736 : switch (TREE_CODE (_q30))
6088 : {
6089 0 : case BIT_IOR_EXPR:
6090 0 : {
6091 0 : tree _q40 = TREE_OPERAND (_q30, 0);
6092 0 : tree _q41 = TREE_OPERAND (_q30, 1);
6093 0 : {
6094 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q40, _q41, _q21, _p1 };
6095 0 : tree res = generic_simplify_109 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6096 0 : if (res) return res;
6097 : }
6098 0 : {
6099 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q41, _q40, _q21, _p1 };
6100 0 : tree res = generic_simplify_109 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6101 0 : if (res) return res;
6102 : }
6103 0 : break;
6104 : }
6105 48 : case BIT_XOR_EXPR:
6106 48 : {
6107 48 : tree _q40 = TREE_OPERAND (_q30, 0);
6108 48 : tree _q41 = TREE_OPERAND (_q30, 1);
6109 48 : {
6110 48 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q40, _q41, _q21, _p1 };
6111 48 : tree res = generic_simplify_109 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6112 48 : if (res) return res;
6113 : }
6114 32 : {
6115 32 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q41, _q40, _q21, _p1 };
6116 32 : tree res = generic_simplify_109 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6117 32 : if (res) return res;
6118 : }
6119 32 : break;
6120 : }
6121 : default:;
6122 : }
6123 : }
6124 : }
6125 308811 : {
6126 308811 : tree _q21_pops[1];
6127 308811 : if (tree_nop_convert (_q21, _q21_pops))
6128 : {
6129 139 : tree _q40 = _q21_pops[0];
6130 139 : switch (TREE_CODE (_q40))
6131 : {
6132 0 : case BIT_IOR_EXPR:
6133 0 : {
6134 0 : tree _q50 = TREE_OPERAND (_q40, 0);
6135 0 : tree _q51 = TREE_OPERAND (_q40, 1);
6136 0 : {
6137 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q40, _q50, _q51, _q20, _p1 };
6138 0 : tree res = generic_simplify_109 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6139 0 : if (res) return res;
6140 : }
6141 0 : {
6142 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q40, _q51, _q50, _q20, _p1 };
6143 0 : tree res = generic_simplify_109 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6144 0 : if (res) return res;
6145 : }
6146 0 : break;
6147 : }
6148 0 : case BIT_XOR_EXPR:
6149 0 : {
6150 0 : tree _q50 = TREE_OPERAND (_q40, 0);
6151 0 : tree _q51 = TREE_OPERAND (_q40, 1);
6152 0 : {
6153 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q40, _q50, _q51, _q20, _p1 };
6154 0 : tree res = generic_simplify_109 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6155 0 : if (res) return res;
6156 : }
6157 0 : {
6158 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q40, _q51, _q50, _q20, _p1 };
6159 0 : tree res = generic_simplify_109 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6160 0 : if (res) return res;
6161 : }
6162 0 : break;
6163 : }
6164 : default:;
6165 : }
6166 : }
6167 : }
6168 308811 : switch (TREE_CODE (_q20))
6169 : {
6170 38 : case BIT_IOR_EXPR:
6171 38 : {
6172 38 : tree _q30 = TREE_OPERAND (_q20, 0);
6173 38 : tree _q31 = TREE_OPERAND (_q20, 1);
6174 38 : {
6175 38 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q30, _q31, _q21, _p1 };
6176 38 : tree res = generic_simplify_110 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6177 38 : if (res) return res;
6178 : }
6179 38 : {
6180 38 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q31, _q30, _q21, _p1 };
6181 38 : tree res = generic_simplify_110 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6182 38 : if (res) return res;
6183 : }
6184 38 : break;
6185 : }
6186 58 : case BIT_XOR_EXPR:
6187 58 : {
6188 58 : tree _q30 = TREE_OPERAND (_q20, 0);
6189 58 : tree _q31 = TREE_OPERAND (_q20, 1);
6190 58 : {
6191 58 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q30, _q31, _q21, _p1 };
6192 58 : tree res = generic_simplify_110 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6193 58 : if (res) return res;
6194 : }
6195 18 : {
6196 18 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q31, _q30, _q21, _p1 };
6197 18 : tree res = generic_simplify_110 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6198 18 : if (res) return res;
6199 : }
6200 18 : break;
6201 : }
6202 308771 : default:;
6203 : }
6204 308771 : switch (TREE_CODE (_q21))
6205 : {
6206 0 : case BIT_IOR_EXPR:
6207 0 : {
6208 0 : tree _q40 = TREE_OPERAND (_q21, 0);
6209 0 : tree _q41 = TREE_OPERAND (_q21, 1);
6210 0 : {
6211 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q21, _q40, _q41, _q20, _p1 };
6212 0 : tree res = generic_simplify_110 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6213 0 : if (res) return res;
6214 : }
6215 0 : {
6216 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q21, _q41, _q40, _q20, _p1 };
6217 0 : tree res = generic_simplify_110 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6218 0 : if (res) return res;
6219 : }
6220 0 : break;
6221 : }
6222 0 : case BIT_XOR_EXPR:
6223 0 : {
6224 0 : tree _q40 = TREE_OPERAND (_q21, 0);
6225 0 : tree _q41 = TREE_OPERAND (_q21, 1);
6226 0 : {
6227 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q21, _q40, _q41, _q20, _p1 };
6228 0 : tree res = generic_simplify_110 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6229 0 : if (res) return res;
6230 : }
6231 0 : {
6232 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q21, _q41, _q40, _q20, _p1 };
6233 0 : tree res = generic_simplify_110 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6234 0 : if (res) return res;
6235 : }
6236 0 : break;
6237 : }
6238 : default:;
6239 : }
6240 : break;
6241 : }
6242 2225671 : default:;
6243 : }
6244 2225671 : switch (TREE_CODE (_p1))
6245 : {
6246 134220 : case BIT_AND_EXPR:
6247 134220 : {
6248 134220 : tree _q30 = TREE_OPERAND (_p1, 0);
6249 134220 : tree _q31 = TREE_OPERAND (_p1, 1);
6250 134220 : if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
6251 : {
6252 0 : {
6253 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
6254 0 : tree res = generic_simplify_105 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6255 0 : if (res) return res;
6256 : }
6257 : }
6258 134220 : if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
6259 : {
6260 0 : {
6261 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
6262 0 : tree res = generic_simplify_105 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6263 0 : if (res) return res;
6264 : }
6265 : }
6266 134220 : {
6267 134220 : tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
6268 134220 : tree res = generic_simplify_106 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6269 134220 : if (res) return res;
6270 : }
6271 134220 : {
6272 134220 : tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _p0 };
6273 134220 : tree res = generic_simplify_106 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6274 134220 : if (res) return res;
6275 : }
6276 134220 : break;
6277 : }
6278 2225671 : default:;
6279 : }
6280 2225671 : switch (TREE_CODE (_p0))
6281 : {
6282 17905 : case BIT_IOR_EXPR:
6283 17905 : {
6284 17905 : tree _q20 = TREE_OPERAND (_p0, 0);
6285 17905 : tree _q21 = TREE_OPERAND (_p0, 1);
6286 17905 : switch (TREE_CODE (_p1))
6287 : {
6288 5525 : case BIT_AND_EXPR:
6289 5525 : {
6290 5525 : tree _q50 = TREE_OPERAND (_p1, 0);
6291 5525 : tree _q51 = TREE_OPERAND (_p1, 1);
6292 5525 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
6293 : {
6294 0 : {
6295 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q51, _p0, _q21 };
6296 0 : tree res = generic_simplify_111 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6297 0 : if (res) return res;
6298 : }
6299 : }
6300 5525 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
6301 : {
6302 0 : {
6303 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q51, _p0, _q20 };
6304 0 : tree res = generic_simplify_111 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6305 0 : if (res) return res;
6306 : }
6307 : }
6308 5525 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
6309 : {
6310 0 : {
6311 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q50, _p0, _q21 };
6312 0 : tree res = generic_simplify_111 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6313 0 : if (res) return res;
6314 : }
6315 : }
6316 5525 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
6317 : {
6318 0 : {
6319 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _p0, _q20 };
6320 0 : tree res = generic_simplify_111 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6321 0 : if (res) return res;
6322 : }
6323 : }
6324 : break;
6325 : }
6326 : default:;
6327 : }
6328 : break;
6329 : }
6330 21804 : case BIT_NOT_EXPR:
6331 21804 : {
6332 21804 : tree _q20 = TREE_OPERAND (_p0, 0);
6333 21804 : switch (TREE_CODE (_q20))
6334 : {
6335 12 : case BIT_AND_EXPR:
6336 12 : {
6337 12 : tree _q30 = TREE_OPERAND (_q20, 0);
6338 12 : tree _q31 = TREE_OPERAND (_q20, 1);
6339 12 : switch (TREE_CODE (_p1))
6340 : {
6341 1 : case BIT_AND_EXPR:
6342 1 : {
6343 1 : tree _q60 = TREE_OPERAND (_p1, 0);
6344 1 : tree _q61 = TREE_OPERAND (_p1, 1);
6345 1 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
6346 : {
6347 0 : {
6348 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q60, _q30, _p0, _q31 };
6349 0 : tree res = generic_simplify_112 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6350 0 : if (res) return res;
6351 : }
6352 : }
6353 1 : if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
6354 : {
6355 0 : {
6356 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q60, _q31, _p0, _q30 };
6357 0 : tree res = generic_simplify_112 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6358 0 : if (res) return res;
6359 : }
6360 : }
6361 1 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
6362 : {
6363 0 : {
6364 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q61, _q30, _p0, _q31 };
6365 0 : tree res = generic_simplify_112 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6366 0 : if (res) return res;
6367 : }
6368 : }
6369 1 : if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
6370 : {
6371 0 : {
6372 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q61, _q31, _p0, _q30 };
6373 0 : tree res = generic_simplify_112 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6374 0 : if (res) return res;
6375 : }
6376 : }
6377 : break;
6378 : }
6379 12 : default:;
6380 : }
6381 12 : if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
6382 : {
6383 0 : {
6384 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
6385 0 : tree res = generic_simplify_113 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6386 0 : if (res) return res;
6387 : }
6388 : }
6389 12 : if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
6390 : {
6391 1 : {
6392 1 : tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
6393 1 : tree res = generic_simplify_113 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6394 1 : if (res) return res;
6395 : }
6396 : }
6397 : break;
6398 : }
6399 : default:;
6400 : }
6401 : break;
6402 : }
6403 2225670 : default:;
6404 : }
6405 2225670 : switch (TREE_CODE (_p1))
6406 : {
6407 393 : case BIT_NOT_EXPR:
6408 393 : {
6409 393 : tree _q30 = TREE_OPERAND (_p1, 0);
6410 393 : switch (TREE_CODE (_q30))
6411 : {
6412 0 : case BIT_AND_EXPR:
6413 0 : {
6414 0 : tree _q40 = TREE_OPERAND (_q30, 0);
6415 0 : tree _q41 = TREE_OPERAND (_q30, 1);
6416 0 : if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
6417 : {
6418 0 : {
6419 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
6420 0 : tree res = generic_simplify_113 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6421 0 : if (res) return res;
6422 : }
6423 : }
6424 0 : if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
6425 : {
6426 0 : {
6427 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
6428 0 : tree res = generic_simplify_113 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6429 0 : if (res) return res;
6430 : }
6431 : }
6432 : break;
6433 : }
6434 : default:;
6435 : }
6436 : break;
6437 : }
6438 2225670 : default:;
6439 : }
6440 2225670 : {
6441 2225670 : tree _p0_pops[1];
6442 2225670 : if (tree_nop_convert (_p0, _p0_pops))
6443 : {
6444 558117 : tree _q20 = _p0_pops[0];
6445 558117 : switch (TREE_CODE (_q20))
6446 : {
6447 98 : case BIT_AND_EXPR:
6448 98 : {
6449 98 : tree _q30 = TREE_OPERAND (_q20, 0);
6450 98 : tree _q31 = TREE_OPERAND (_q20, 1);
6451 98 : {
6452 98 : tree _q30_pops[1];
6453 98 : if (tree_nop_convert (_q30, _q30_pops))
6454 : {
6455 16 : tree _q40 = _q30_pops[0];
6456 16 : switch (TREE_CODE (_q40))
6457 : {
6458 0 : case BIT_IOR_EXPR:
6459 0 : {
6460 0 : tree _q50 = TREE_OPERAND (_q40, 0);
6461 0 : tree _q51 = TREE_OPERAND (_q40, 1);
6462 0 : {
6463 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q50, _q51, _q31, _p1 };
6464 0 : tree res = generic_simplify_114 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6465 0 : if (res) return res;
6466 : }
6467 0 : {
6468 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q51, _q50, _q31, _p1 };
6469 0 : tree res = generic_simplify_114 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6470 0 : if (res) return res;
6471 : }
6472 0 : break;
6473 : }
6474 0 : case BIT_XOR_EXPR:
6475 0 : {
6476 0 : tree _q50 = TREE_OPERAND (_q40, 0);
6477 0 : tree _q51 = TREE_OPERAND (_q40, 1);
6478 0 : {
6479 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q50, _q51, _q31, _p1 };
6480 0 : tree res = generic_simplify_114 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6481 0 : if (res) return res;
6482 : }
6483 0 : {
6484 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q51, _q50, _q31, _p1 };
6485 0 : tree res = generic_simplify_114 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6486 0 : if (res) return res;
6487 : }
6488 0 : break;
6489 : }
6490 : default:;
6491 : }
6492 : }
6493 : }
6494 98 : {
6495 98 : tree _q31_pops[1];
6496 98 : if (tree_nop_convert (_q31, _q31_pops))
6497 : {
6498 74 : tree _q50 = _q31_pops[0];
6499 74 : switch (TREE_CODE (_q50))
6500 : {
6501 0 : case BIT_IOR_EXPR:
6502 0 : {
6503 0 : tree _q60 = TREE_OPERAND (_q50, 0);
6504 0 : tree _q61 = TREE_OPERAND (_q50, 1);
6505 0 : {
6506 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q50, _q60, _q61, _q30, _p1 };
6507 0 : tree res = generic_simplify_114 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6508 0 : if (res) return res;
6509 : }
6510 0 : {
6511 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q50, _q61, _q60, _q30, _p1 };
6512 0 : tree res = generic_simplify_114 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6513 0 : if (res) return res;
6514 : }
6515 0 : break;
6516 : }
6517 0 : case BIT_XOR_EXPR:
6518 0 : {
6519 0 : tree _q60 = TREE_OPERAND (_q50, 0);
6520 0 : tree _q61 = TREE_OPERAND (_q50, 1);
6521 0 : {
6522 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q50, _q60, _q61, _q30, _p1 };
6523 0 : tree res = generic_simplify_114 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6524 0 : if (res) return res;
6525 : }
6526 0 : {
6527 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q50, _q61, _q60, _q30, _p1 };
6528 0 : tree res = generic_simplify_114 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6529 0 : if (res) return res;
6530 : }
6531 0 : break;
6532 : }
6533 : default:;
6534 : }
6535 : }
6536 : }
6537 98 : switch (TREE_CODE (_q30))
6538 : {
6539 0 : case BIT_IOR_EXPR:
6540 0 : {
6541 0 : tree _q40 = TREE_OPERAND (_q30, 0);
6542 0 : tree _q41 = TREE_OPERAND (_q30, 1);
6543 0 : {
6544 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q30, _q40, _q41, _q31, _p1 };
6545 0 : tree res = generic_simplify_115 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6546 0 : if (res) return res;
6547 : }
6548 0 : {
6549 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q30, _q41, _q40, _q31, _p1 };
6550 0 : tree res = generic_simplify_115 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6551 0 : if (res) return res;
6552 : }
6553 0 : break;
6554 : }
6555 0 : case BIT_XOR_EXPR:
6556 0 : {
6557 0 : tree _q40 = TREE_OPERAND (_q30, 0);
6558 0 : tree _q41 = TREE_OPERAND (_q30, 1);
6559 0 : {
6560 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q30, _q40, _q41, _q31, _p1 };
6561 0 : tree res = generic_simplify_115 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6562 0 : if (res) return res;
6563 : }
6564 0 : {
6565 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q30, _q41, _q40, _q31, _p1 };
6566 0 : tree res = generic_simplify_115 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6567 0 : if (res) return res;
6568 : }
6569 0 : break;
6570 : }
6571 98 : default:;
6572 : }
6573 98 : switch (TREE_CODE (_q31))
6574 : {
6575 0 : case BIT_IOR_EXPR:
6576 0 : {
6577 0 : tree _q50 = TREE_OPERAND (_q31, 0);
6578 0 : tree _q51 = TREE_OPERAND (_q31, 1);
6579 0 : {
6580 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q31, _q50, _q51, _q30, _p1 };
6581 0 : tree res = generic_simplify_115 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6582 0 : if (res) return res;
6583 : }
6584 0 : {
6585 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q31, _q51, _q50, _q30, _p1 };
6586 0 : tree res = generic_simplify_115 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6587 0 : if (res) return res;
6588 : }
6589 0 : break;
6590 : }
6591 0 : case BIT_XOR_EXPR:
6592 0 : {
6593 0 : tree _q50 = TREE_OPERAND (_q31, 0);
6594 0 : tree _q51 = TREE_OPERAND (_q31, 1);
6595 0 : {
6596 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q31, _q50, _q51, _q30, _p1 };
6597 0 : tree res = generic_simplify_115 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6598 0 : if (res) return res;
6599 : }
6600 0 : {
6601 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q31, _q51, _q50, _q30, _p1 };
6602 0 : tree res = generic_simplify_115 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6603 0 : if (res) return res;
6604 : }
6605 0 : break;
6606 : }
6607 : default:;
6608 : }
6609 : break;
6610 : }
6611 14 : case MULT_EXPR:
6612 14 : {
6613 14 : tree _q30 = TREE_OPERAND (_q20, 0);
6614 14 : tree _q31 = TREE_OPERAND (_q20, 1);
6615 14 : {
6616 14 : tree _q30_pops[1];
6617 14 : if (tree_nop_convert (_q30, _q30_pops))
6618 : {
6619 0 : tree _q40 = _q30_pops[0];
6620 0 : switch (TREE_CODE (_q31))
6621 : {
6622 0 : case INTEGER_CST:
6623 0 : {
6624 0 : switch (TREE_CODE (_p1))
6625 : {
6626 0 : case LSHIFT_EXPR:
6627 0 : {
6628 0 : tree _q70 = TREE_OPERAND (_p1, 0);
6629 0 : tree _q71 = TREE_OPERAND (_p1, 1);
6630 0 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
6631 : {
6632 0 : switch (TREE_CODE (_q71))
6633 : {
6634 0 : case INTEGER_CST:
6635 0 : {
6636 0 : {
6637 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31, _p1, _q71 };
6638 0 : tree res = generic_simplify_117 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6639 0 : if (res) return res;
6640 : }
6641 0 : break;
6642 : }
6643 : default:;
6644 : }
6645 : }
6646 : break;
6647 : }
6648 0 : default:;
6649 : }
6650 0 : {
6651 0 : tree _p1_pops[1];
6652 0 : if (tree_nop_convert (_p1, _p1_pops))
6653 : {
6654 0 : tree _q70 = _p1_pops[0];
6655 0 : switch (TREE_CODE (_q70))
6656 : {
6657 0 : case MULT_EXPR:
6658 0 : {
6659 0 : tree _q80 = TREE_OPERAND (_q70, 0);
6660 0 : tree _q81 = TREE_OPERAND (_q70, 1);
6661 0 : {
6662 0 : tree _q80_pops[1];
6663 0 : if (tree_nop_convert (_q80, _q80_pops))
6664 : {
6665 0 : tree _q90 = _q80_pops[0];
6666 0 : switch (TREE_CODE (_q81))
6667 : {
6668 0 : case INTEGER_CST:
6669 0 : {
6670 0 : {
6671 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31, _p1, _q70, _q90, _q81 };
6672 0 : tree res = generic_simplify_116 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6673 0 : if (res) return res;
6674 : }
6675 0 : break;
6676 : }
6677 : default:;
6678 : }
6679 : }
6680 : }
6681 0 : break;
6682 : }
6683 : default:;
6684 : }
6685 : }
6686 : }
6687 0 : if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
6688 : {
6689 0 : {
6690 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31 };
6691 0 : tree res = generic_simplify_118 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6692 0 : if (res) return res;
6693 : }
6694 : }
6695 : break;
6696 : }
6697 : default:;
6698 : }
6699 : }
6700 : }
6701 14 : break;
6702 : }
6703 : default:;
6704 : }
6705 : }
6706 : }
6707 2225670 : switch (TREE_CODE (_p1))
6708 : {
6709 134220 : case BIT_AND_EXPR:
6710 134220 : {
6711 134220 : tree _q30 = TREE_OPERAND (_p1, 0);
6712 134220 : tree _q31 = TREE_OPERAND (_p1, 1);
6713 134220 : {
6714 134220 : tree _q30_pops[1];
6715 134220 : if (tree_nop_convert (_q30, _q30_pops))
6716 : {
6717 146 : tree _q40 = _q30_pops[0];
6718 146 : switch (TREE_CODE (_q40))
6719 : {
6720 0 : case BIT_IOR_EXPR:
6721 0 : {
6722 0 : tree _q50 = TREE_OPERAND (_q40, 0);
6723 0 : tree _q51 = TREE_OPERAND (_q40, 1);
6724 0 : {
6725 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _q40, _q50, _q51, _q31, _p0 };
6726 0 : tree res = generic_simplify_109 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6727 0 : if (res) return res;
6728 : }
6729 0 : {
6730 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _q40, _q51, _q50, _q31, _p0 };
6731 0 : tree res = generic_simplify_109 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6732 0 : if (res) return res;
6733 : }
6734 0 : break;
6735 : }
6736 0 : case BIT_XOR_EXPR:
6737 0 : {
6738 0 : tree _q50 = TREE_OPERAND (_q40, 0);
6739 0 : tree _q51 = TREE_OPERAND (_q40, 1);
6740 0 : {
6741 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _q40, _q50, _q51, _q31, _p0 };
6742 0 : tree res = generic_simplify_109 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6743 0 : if (res) return res;
6744 : }
6745 0 : {
6746 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _q40, _q51, _q50, _q31, _p0 };
6747 0 : tree res = generic_simplify_109 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6748 0 : if (res) return res;
6749 : }
6750 0 : break;
6751 : }
6752 : default:;
6753 : }
6754 : }
6755 : }
6756 134220 : {
6757 134220 : tree _q31_pops[1];
6758 134220 : if (tree_nop_convert (_q31, _q31_pops))
6759 : {
6760 113 : tree _q50 = _q31_pops[0];
6761 113 : switch (TREE_CODE (_q50))
6762 : {
6763 0 : case BIT_IOR_EXPR:
6764 0 : {
6765 0 : tree _q60 = TREE_OPERAND (_q50, 0);
6766 0 : tree _q61 = TREE_OPERAND (_q50, 1);
6767 0 : {
6768 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _q50, _q60, _q61, _q30, _p0 };
6769 0 : tree res = generic_simplify_109 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6770 0 : if (res) return res;
6771 : }
6772 0 : {
6773 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _q50, _q61, _q60, _q30, _p0 };
6774 0 : tree res = generic_simplify_109 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6775 0 : if (res) return res;
6776 : }
6777 0 : break;
6778 : }
6779 1 : case BIT_XOR_EXPR:
6780 1 : {
6781 1 : tree _q60 = TREE_OPERAND (_q50, 0);
6782 1 : tree _q61 = TREE_OPERAND (_q50, 1);
6783 1 : {
6784 1 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _q50, _q60, _q61, _q30, _p0 };
6785 1 : tree res = generic_simplify_109 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6786 1 : if (res) return res;
6787 : }
6788 1 : {
6789 1 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _q50, _q61, _q60, _q30, _p0 };
6790 1 : tree res = generic_simplify_109 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6791 1 : if (res) return res;
6792 : }
6793 1 : break;
6794 : }
6795 : default:;
6796 : }
6797 : }
6798 : }
6799 134220 : switch (TREE_CODE (_q30))
6800 : {
6801 274 : case BIT_IOR_EXPR:
6802 274 : {
6803 274 : tree _q40 = TREE_OPERAND (_q30, 0);
6804 274 : tree _q41 = TREE_OPERAND (_q30, 1);
6805 274 : {
6806 274 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _q30, _q40, _q41, _q31, _p0 };
6807 274 : tree res = generic_simplify_110 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6808 274 : if (res) return res;
6809 : }
6810 274 : {
6811 274 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _q30, _q41, _q40, _q31, _p0 };
6812 274 : tree res = generic_simplify_110 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6813 274 : if (res) return res;
6814 : }
6815 274 : break;
6816 : }
6817 0 : case BIT_XOR_EXPR:
6818 0 : {
6819 0 : tree _q40 = TREE_OPERAND (_q30, 0);
6820 0 : tree _q41 = TREE_OPERAND (_q30, 1);
6821 0 : {
6822 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _q30, _q40, _q41, _q31, _p0 };
6823 0 : tree res = generic_simplify_110 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6824 0 : if (res) return res;
6825 : }
6826 0 : {
6827 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _q30, _q41, _q40, _q31, _p0 };
6828 0 : tree res = generic_simplify_110 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6829 0 : if (res) return res;
6830 : }
6831 0 : break;
6832 : }
6833 134220 : default:;
6834 : }
6835 134220 : switch (TREE_CODE (_q31))
6836 : {
6837 0 : case BIT_IOR_EXPR:
6838 0 : {
6839 0 : tree _q50 = TREE_OPERAND (_q31, 0);
6840 0 : tree _q51 = TREE_OPERAND (_q31, 1);
6841 0 : {
6842 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _q31, _q50, _q51, _q30, _p0 };
6843 0 : tree res = generic_simplify_110 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6844 0 : if (res) return res;
6845 : }
6846 0 : {
6847 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _q31, _q51, _q50, _q30, _p0 };
6848 0 : tree res = generic_simplify_110 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6849 0 : if (res) return res;
6850 : }
6851 0 : break;
6852 : }
6853 0 : case BIT_XOR_EXPR:
6854 0 : {
6855 0 : tree _q50 = TREE_OPERAND (_q31, 0);
6856 0 : tree _q51 = TREE_OPERAND (_q31, 1);
6857 0 : {
6858 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _q31, _q50, _q51, _q30, _p0 };
6859 0 : tree res = generic_simplify_110 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6860 0 : if (res) return res;
6861 : }
6862 0 : {
6863 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _q31, _q51, _q50, _q30, _p0 };
6864 0 : tree res = generic_simplify_110 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6865 0 : if (res) return res;
6866 : }
6867 0 : break;
6868 : }
6869 : default:;
6870 : }
6871 : break;
6872 : }
6873 2225670 : default:;
6874 : }
6875 2225670 : {
6876 2225670 : tree _p1_pops[1];
6877 2225670 : if (tree_nop_convert (_p1, _p1_pops))
6878 : {
6879 933063 : tree _q30 = _p1_pops[0];
6880 933063 : switch (TREE_CODE (_q30))
6881 : {
6882 36 : case BIT_AND_EXPR:
6883 36 : {
6884 36 : tree _q40 = TREE_OPERAND (_q30, 0);
6885 36 : tree _q41 = TREE_OPERAND (_q30, 1);
6886 36 : {
6887 36 : tree _q40_pops[1];
6888 36 : if (tree_nop_convert (_q40, _q40_pops))
6889 : {
6890 0 : tree _q50 = _q40_pops[0];
6891 0 : switch (TREE_CODE (_q50))
6892 : {
6893 0 : case BIT_IOR_EXPR:
6894 0 : {
6895 0 : tree _q60 = TREE_OPERAND (_q50, 0);
6896 0 : tree _q61 = TREE_OPERAND (_q50, 1);
6897 0 : {
6898 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q50, _q60, _q61, _q41, _p0 };
6899 0 : tree res = generic_simplify_114 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6900 0 : if (res) return res;
6901 : }
6902 0 : {
6903 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q50, _q61, _q60, _q41, _p0 };
6904 0 : tree res = generic_simplify_114 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6905 0 : if (res) return res;
6906 : }
6907 0 : break;
6908 : }
6909 0 : case BIT_XOR_EXPR:
6910 0 : {
6911 0 : tree _q60 = TREE_OPERAND (_q50, 0);
6912 0 : tree _q61 = TREE_OPERAND (_q50, 1);
6913 0 : {
6914 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q50, _q60, _q61, _q41, _p0 };
6915 0 : tree res = generic_simplify_114 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6916 0 : if (res) return res;
6917 : }
6918 0 : {
6919 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q50, _q61, _q60, _q41, _p0 };
6920 0 : tree res = generic_simplify_114 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6921 0 : if (res) return res;
6922 : }
6923 0 : break;
6924 : }
6925 : default:;
6926 : }
6927 : }
6928 : }
6929 36 : {
6930 36 : tree _q41_pops[1];
6931 36 : if (tree_nop_convert (_q41, _q41_pops))
6932 : {
6933 0 : tree _q60 = _q41_pops[0];
6934 0 : switch (TREE_CODE (_q60))
6935 : {
6936 0 : case BIT_IOR_EXPR:
6937 0 : {
6938 0 : tree _q70 = TREE_OPERAND (_q60, 0);
6939 0 : tree _q71 = TREE_OPERAND (_q60, 1);
6940 0 : {
6941 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q60, _q70, _q71, _q40, _p0 };
6942 0 : tree res = generic_simplify_114 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6943 0 : if (res) return res;
6944 : }
6945 0 : {
6946 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q60, _q71, _q70, _q40, _p0 };
6947 0 : tree res = generic_simplify_114 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6948 0 : if (res) return res;
6949 : }
6950 0 : break;
6951 : }
6952 0 : case BIT_XOR_EXPR:
6953 0 : {
6954 0 : tree _q70 = TREE_OPERAND (_q60, 0);
6955 0 : tree _q71 = TREE_OPERAND (_q60, 1);
6956 0 : {
6957 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q60, _q70, _q71, _q40, _p0 };
6958 0 : tree res = generic_simplify_114 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6959 0 : if (res) return res;
6960 : }
6961 0 : {
6962 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q60, _q71, _q70, _q40, _p0 };
6963 0 : tree res = generic_simplify_114 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6964 0 : if (res) return res;
6965 : }
6966 0 : break;
6967 : }
6968 : default:;
6969 : }
6970 : }
6971 : }
6972 36 : switch (TREE_CODE (_q40))
6973 : {
6974 0 : case BIT_IOR_EXPR:
6975 0 : {
6976 0 : tree _q50 = TREE_OPERAND (_q40, 0);
6977 0 : tree _q51 = TREE_OPERAND (_q40, 1);
6978 0 : {
6979 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q40, _q50, _q51, _q41, _p0 };
6980 0 : tree res = generic_simplify_115 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6981 0 : if (res) return res;
6982 : }
6983 0 : {
6984 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q40, _q51, _q50, _q41, _p0 };
6985 0 : tree res = generic_simplify_115 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6986 0 : if (res) return res;
6987 : }
6988 0 : break;
6989 : }
6990 0 : case BIT_XOR_EXPR:
6991 0 : {
6992 0 : tree _q50 = TREE_OPERAND (_q40, 0);
6993 0 : tree _q51 = TREE_OPERAND (_q40, 1);
6994 0 : {
6995 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q40, _q50, _q51, _q41, _p0 };
6996 0 : tree res = generic_simplify_115 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6997 0 : if (res) return res;
6998 : }
6999 0 : {
7000 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q40, _q51, _q50, _q41, _p0 };
7001 0 : tree res = generic_simplify_115 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
7002 0 : if (res) return res;
7003 : }
7004 0 : break;
7005 : }
7006 36 : default:;
7007 : }
7008 36 : switch (TREE_CODE (_q41))
7009 : {
7010 0 : case BIT_IOR_EXPR:
7011 0 : {
7012 0 : tree _q60 = TREE_OPERAND (_q41, 0);
7013 0 : tree _q61 = TREE_OPERAND (_q41, 1);
7014 0 : {
7015 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q41, _q60, _q61, _q40, _p0 };
7016 0 : tree res = generic_simplify_115 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
7017 0 : if (res) return res;
7018 : }
7019 0 : {
7020 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q41, _q61, _q60, _q40, _p0 };
7021 0 : tree res = generic_simplify_115 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
7022 0 : if (res) return res;
7023 : }
7024 0 : break;
7025 : }
7026 0 : case BIT_XOR_EXPR:
7027 0 : {
7028 0 : tree _q60 = TREE_OPERAND (_q41, 0);
7029 0 : tree _q61 = TREE_OPERAND (_q41, 1);
7030 0 : {
7031 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q41, _q60, _q61, _q40, _p0 };
7032 0 : tree res = generic_simplify_115 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
7033 0 : if (res) return res;
7034 : }
7035 0 : {
7036 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q41, _q61, _q60, _q40, _p0 };
7037 0 : tree res = generic_simplify_115 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
7038 0 : if (res) return res;
7039 : }
7040 0 : break;
7041 : }
7042 : default:;
7043 : }
7044 : break;
7045 : }
7046 : default:;
7047 : }
7048 : }
7049 : }
7050 2225670 : switch (TREE_CODE (_p0))
7051 : {
7052 17905 : case BIT_IOR_EXPR:
7053 17905 : {
7054 17905 : tree _q20 = TREE_OPERAND (_p0, 0);
7055 17905 : tree _q21 = TREE_OPERAND (_p0, 1);
7056 17905 : if (CONSTANT_CLASS_P (_q21))
7057 : {
7058 818 : if (CONSTANT_CLASS_P (_p1))
7059 : {
7060 128 : {
7061 128 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
7062 128 : tree res = generic_simplify_119 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
7063 128 : if (res) return res;
7064 : }
7065 : }
7066 : }
7067 : break;
7068 : }
7069 1697 : case COND_EXPR:
7070 1697 : {
7071 1697 : tree _q20 = TREE_OPERAND (_p0, 0);
7072 1697 : tree _q21 = TREE_OPERAND (_p0, 1);
7073 1697 : tree _q22 = TREE_OPERAND (_p0, 2);
7074 1697 : if (integer_zerop (_q22))
7075 : {
7076 1567 : switch (TREE_CODE (_p1))
7077 : {
7078 612 : case COND_EXPR:
7079 612 : {
7080 612 : tree _q60 = TREE_OPERAND (_p1, 0);
7081 612 : tree _q61 = TREE_OPERAND (_p1, 1);
7082 612 : tree _q62 = TREE_OPERAND (_p1, 2);
7083 612 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
7084 : {
7085 0 : if (integer_zerop (_q61))
7086 : {
7087 0 : {
7088 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q62 };
7089 0 : const enum tree_code op = BIT_IOR_EXPR;
7090 0 : if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1212;
7091 0 : if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1212;
7092 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1212;
7093 0 : {
7094 0 : tree res_op0;
7095 0 : res_op0 = captures[1];
7096 0 : tree res_op1;
7097 0 : res_op1 = captures[2];
7098 0 : tree res_op2;
7099 0 : res_op2 = captures[4];
7100 0 : tree _r;
7101 0 : _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
7102 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 871, __FILE__, __LINE__, true);
7103 0 : return _r;
7104 : }
7105 0 : next_after_fail1212:;
7106 : }
7107 : }
7108 : }
7109 : break;
7110 : }
7111 : default:;
7112 : }
7113 : }
7114 1697 : if (integer_zerop (_q21))
7115 : {
7116 10 : switch (TREE_CODE (_p1))
7117 : {
7118 0 : case COND_EXPR:
7119 0 : {
7120 0 : tree _q60 = TREE_OPERAND (_p1, 0);
7121 0 : tree _q61 = TREE_OPERAND (_p1, 1);
7122 0 : tree _q62 = TREE_OPERAND (_p1, 2);
7123 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
7124 : {
7125 0 : if (integer_zerop (_q62))
7126 : {
7127 0 : {
7128 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q61, _p0, _q22 };
7129 0 : const enum tree_code op = BIT_IOR_EXPR;
7130 0 : if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1213;
7131 0 : if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1213;
7132 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1213;
7133 0 : {
7134 0 : tree res_op0;
7135 0 : res_op0 = captures[1];
7136 0 : tree res_op1;
7137 0 : res_op1 = captures[2];
7138 0 : tree res_op2;
7139 0 : res_op2 = captures[4];
7140 0 : tree _r;
7141 0 : _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
7142 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 871, __FILE__, __LINE__, true);
7143 0 : return _r;
7144 : }
7145 0 : next_after_fail1213:;
7146 : }
7147 : }
7148 : }
7149 : break;
7150 : }
7151 : default:;
7152 : }
7153 : }
7154 1697 : switch (TREE_CODE (_q20))
7155 : {
7156 39 : case LT_EXPR:
7157 39 : {
7158 39 : tree _q30 = TREE_OPERAND (_q20, 0);
7159 39 : tree _q31 = TREE_OPERAND (_q20, 1);
7160 39 : if (zerop (_q22))
7161 : {
7162 2 : switch (TREE_CODE (_p1))
7163 : {
7164 0 : case COND_EXPR:
7165 0 : {
7166 0 : tree _q80 = TREE_OPERAND (_p1, 0);
7167 0 : tree _q81 = TREE_OPERAND (_p1, 1);
7168 0 : tree _q82 = TREE_OPERAND (_p1, 2);
7169 0 : switch (TREE_CODE (_q80))
7170 : {
7171 0 : case GE_EXPR:
7172 0 : {
7173 0 : tree _q90 = TREE_OPERAND (_q80, 0);
7174 0 : tree _q91 = TREE_OPERAND (_q80, 1);
7175 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
7176 : {
7177 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
7178 : {
7179 0 : if (zerop (_q82))
7180 : {
7181 0 : {
7182 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
7183 0 : tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LT_EXPR, GE_EXPR);
7184 0 : if (res) return res;
7185 : }
7186 : }
7187 : }
7188 : }
7189 : break;
7190 : }
7191 : default:;
7192 : }
7193 : break;
7194 : }
7195 : default:;
7196 : }
7197 : }
7198 : break;
7199 : }
7200 1239 : case LE_EXPR:
7201 1239 : {
7202 1239 : tree _q30 = TREE_OPERAND (_q20, 0);
7203 1239 : tree _q31 = TREE_OPERAND (_q20, 1);
7204 1239 : if (zerop (_q22))
7205 : {
7206 1223 : switch (TREE_CODE (_p1))
7207 : {
7208 442 : case COND_EXPR:
7209 442 : {
7210 442 : tree _q80 = TREE_OPERAND (_p1, 0);
7211 442 : tree _q81 = TREE_OPERAND (_p1, 1);
7212 442 : tree _q82 = TREE_OPERAND (_p1, 2);
7213 442 : switch (TREE_CODE (_q80))
7214 : {
7215 0 : case GT_EXPR:
7216 0 : {
7217 0 : tree _q90 = TREE_OPERAND (_q80, 0);
7218 0 : tree _q91 = TREE_OPERAND (_q80, 1);
7219 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
7220 : {
7221 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
7222 : {
7223 0 : if (zerop (_q82))
7224 : {
7225 0 : {
7226 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
7227 0 : tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LE_EXPR, GT_EXPR);
7228 0 : if (res) return res;
7229 : }
7230 : }
7231 : }
7232 : }
7233 : break;
7234 : }
7235 : default:;
7236 : }
7237 : break;
7238 : }
7239 : default:;
7240 : }
7241 : }
7242 : break;
7243 : }
7244 4 : case EQ_EXPR:
7245 4 : {
7246 4 : tree _q30 = TREE_OPERAND (_q20, 0);
7247 4 : tree _q31 = TREE_OPERAND (_q20, 1);
7248 4 : if (zerop (_q22))
7249 : {
7250 4 : switch (TREE_CODE (_p1))
7251 : {
7252 0 : case COND_EXPR:
7253 0 : {
7254 0 : tree _q80 = TREE_OPERAND (_p1, 0);
7255 0 : tree _q81 = TREE_OPERAND (_p1, 1);
7256 0 : tree _q82 = TREE_OPERAND (_p1, 2);
7257 0 : switch (TREE_CODE (_q80))
7258 : {
7259 0 : case NE_EXPR:
7260 0 : {
7261 0 : tree _q90 = TREE_OPERAND (_q80, 0);
7262 0 : tree _q91 = TREE_OPERAND (_q80, 1);
7263 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
7264 : {
7265 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
7266 : {
7267 0 : if (zerop (_q82))
7268 : {
7269 0 : {
7270 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
7271 0 : tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, EQ_EXPR, NE_EXPR);
7272 0 : if (res) return res;
7273 : }
7274 : }
7275 : }
7276 : }
7277 : break;
7278 : }
7279 : default:;
7280 : }
7281 : break;
7282 : }
7283 : default:;
7284 : }
7285 : }
7286 : break;
7287 : }
7288 287 : case NE_EXPR:
7289 287 : {
7290 287 : tree _q30 = TREE_OPERAND (_q20, 0);
7291 287 : tree _q31 = TREE_OPERAND (_q20, 1);
7292 287 : if (zerop (_q22))
7293 : {
7294 220 : switch (TREE_CODE (_p1))
7295 : {
7296 62 : case COND_EXPR:
7297 62 : {
7298 62 : tree _q80 = TREE_OPERAND (_p1, 0);
7299 62 : tree _q81 = TREE_OPERAND (_p1, 1);
7300 62 : tree _q82 = TREE_OPERAND (_p1, 2);
7301 62 : switch (TREE_CODE (_q80))
7302 : {
7303 1 : case EQ_EXPR:
7304 1 : {
7305 1 : tree _q90 = TREE_OPERAND (_q80, 0);
7306 1 : tree _q91 = TREE_OPERAND (_q80, 1);
7307 1 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
7308 : {
7309 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
7310 : {
7311 0 : if (zerop (_q82))
7312 : {
7313 0 : {
7314 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
7315 0 : tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, NE_EXPR, EQ_EXPR);
7316 0 : if (res) return res;
7317 : }
7318 : }
7319 : }
7320 : }
7321 : break;
7322 : }
7323 : default:;
7324 : }
7325 : break;
7326 : }
7327 : default:;
7328 : }
7329 : }
7330 : break;
7331 : }
7332 0 : case GE_EXPR:
7333 0 : {
7334 0 : tree _q30 = TREE_OPERAND (_q20, 0);
7335 0 : tree _q31 = TREE_OPERAND (_q20, 1);
7336 0 : if (zerop (_q22))
7337 : {
7338 0 : switch (TREE_CODE (_p1))
7339 : {
7340 0 : case COND_EXPR:
7341 0 : {
7342 0 : tree _q80 = TREE_OPERAND (_p1, 0);
7343 0 : tree _q81 = TREE_OPERAND (_p1, 1);
7344 0 : tree _q82 = TREE_OPERAND (_p1, 2);
7345 0 : switch (TREE_CODE (_q80))
7346 : {
7347 0 : case LT_EXPR:
7348 0 : {
7349 0 : tree _q90 = TREE_OPERAND (_q80, 0);
7350 0 : tree _q91 = TREE_OPERAND (_q80, 1);
7351 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
7352 : {
7353 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
7354 : {
7355 0 : if (zerop (_q82))
7356 : {
7357 0 : {
7358 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
7359 0 : tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, GE_EXPR, LT_EXPR);
7360 0 : if (res) return res;
7361 : }
7362 : }
7363 : }
7364 : }
7365 : break;
7366 : }
7367 : default:;
7368 : }
7369 : break;
7370 : }
7371 : default:;
7372 : }
7373 : }
7374 : break;
7375 : }
7376 0 : case GT_EXPR:
7377 0 : {
7378 0 : tree _q30 = TREE_OPERAND (_q20, 0);
7379 0 : tree _q31 = TREE_OPERAND (_q20, 1);
7380 0 : if (zerop (_q22))
7381 : {
7382 0 : switch (TREE_CODE (_p1))
7383 : {
7384 0 : case COND_EXPR:
7385 0 : {
7386 0 : tree _q80 = TREE_OPERAND (_p1, 0);
7387 0 : tree _q81 = TREE_OPERAND (_p1, 1);
7388 0 : tree _q82 = TREE_OPERAND (_p1, 2);
7389 0 : switch (TREE_CODE (_q80))
7390 : {
7391 0 : case LE_EXPR:
7392 0 : {
7393 0 : tree _q90 = TREE_OPERAND (_q80, 0);
7394 0 : tree _q91 = TREE_OPERAND (_q80, 1);
7395 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
7396 : {
7397 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
7398 : {
7399 0 : if (zerop (_q82))
7400 : {
7401 0 : {
7402 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
7403 0 : tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, GT_EXPR, LE_EXPR);
7404 0 : if (res) return res;
7405 : }
7406 : }
7407 : }
7408 : }
7409 : break;
7410 : }
7411 : default:;
7412 : }
7413 : break;
7414 : }
7415 : default:;
7416 : }
7417 : }
7418 : break;
7419 : }
7420 0 : case UNORDERED_EXPR:
7421 0 : {
7422 0 : tree _q30 = TREE_OPERAND (_q20, 0);
7423 0 : tree _q31 = TREE_OPERAND (_q20, 1);
7424 0 : if (zerop (_q22))
7425 : {
7426 0 : switch (TREE_CODE (_p1))
7427 : {
7428 0 : case COND_EXPR:
7429 0 : {
7430 0 : tree _q80 = TREE_OPERAND (_p1, 0);
7431 0 : tree _q81 = TREE_OPERAND (_p1, 1);
7432 0 : tree _q82 = TREE_OPERAND (_p1, 2);
7433 0 : switch (TREE_CODE (_q80))
7434 : {
7435 0 : case ORDERED_EXPR:
7436 0 : {
7437 0 : tree _q90 = TREE_OPERAND (_q80, 0);
7438 0 : tree _q91 = TREE_OPERAND (_q80, 1);
7439 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
7440 : {
7441 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
7442 : {
7443 0 : if (zerop (_q82))
7444 : {
7445 0 : {
7446 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
7447 0 : tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, UNORDERED_EXPR, ORDERED_EXPR);
7448 0 : if (res) return res;
7449 : }
7450 : }
7451 : }
7452 : }
7453 : break;
7454 : }
7455 : default:;
7456 : }
7457 : break;
7458 : }
7459 : default:;
7460 : }
7461 : }
7462 : break;
7463 : }
7464 0 : case ORDERED_EXPR:
7465 0 : {
7466 0 : tree _q30 = TREE_OPERAND (_q20, 0);
7467 0 : tree _q31 = TREE_OPERAND (_q20, 1);
7468 0 : if (zerop (_q22))
7469 : {
7470 0 : switch (TREE_CODE (_p1))
7471 : {
7472 0 : case COND_EXPR:
7473 0 : {
7474 0 : tree _q80 = TREE_OPERAND (_p1, 0);
7475 0 : tree _q81 = TREE_OPERAND (_p1, 1);
7476 0 : tree _q82 = TREE_OPERAND (_p1, 2);
7477 0 : switch (TREE_CODE (_q80))
7478 : {
7479 0 : case UNORDERED_EXPR:
7480 0 : {
7481 0 : tree _q90 = TREE_OPERAND (_q80, 0);
7482 0 : tree _q91 = TREE_OPERAND (_q80, 1);
7483 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
7484 : {
7485 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
7486 : {
7487 0 : if (zerop (_q82))
7488 : {
7489 0 : {
7490 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
7491 0 : tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, ORDERED_EXPR, UNORDERED_EXPR);
7492 0 : if (res) return res;
7493 : }
7494 : }
7495 : }
7496 : }
7497 : break;
7498 : }
7499 : default:;
7500 : }
7501 : break;
7502 : }
7503 : default:;
7504 : }
7505 : }
7506 : break;
7507 : }
7508 0 : case UNLT_EXPR:
7509 0 : {
7510 0 : tree _q30 = TREE_OPERAND (_q20, 0);
7511 0 : tree _q31 = TREE_OPERAND (_q20, 1);
7512 0 : if (zerop (_q22))
7513 : {
7514 0 : switch (TREE_CODE (_p1))
7515 : {
7516 0 : case COND_EXPR:
7517 0 : {
7518 0 : tree _q80 = TREE_OPERAND (_p1, 0);
7519 0 : tree _q81 = TREE_OPERAND (_p1, 1);
7520 0 : tree _q82 = TREE_OPERAND (_p1, 2);
7521 0 : switch (TREE_CODE (_q80))
7522 : {
7523 0 : case GE_EXPR:
7524 0 : {
7525 0 : tree _q90 = TREE_OPERAND (_q80, 0);
7526 0 : tree _q91 = TREE_OPERAND (_q80, 1);
7527 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
7528 : {
7529 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
7530 : {
7531 0 : if (zerop (_q82))
7532 : {
7533 0 : {
7534 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
7535 0 : tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, UNLT_EXPR, GE_EXPR);
7536 0 : if (res) return res;
7537 : }
7538 : }
7539 : }
7540 : }
7541 : break;
7542 : }
7543 : default:;
7544 : }
7545 : break;
7546 : }
7547 : default:;
7548 : }
7549 : }
7550 : break;
7551 : }
7552 0 : case UNLE_EXPR:
7553 0 : {
7554 0 : tree _q30 = TREE_OPERAND (_q20, 0);
7555 0 : tree _q31 = TREE_OPERAND (_q20, 1);
7556 0 : if (zerop (_q22))
7557 : {
7558 0 : switch (TREE_CODE (_p1))
7559 : {
7560 0 : case COND_EXPR:
7561 0 : {
7562 0 : tree _q80 = TREE_OPERAND (_p1, 0);
7563 0 : tree _q81 = TREE_OPERAND (_p1, 1);
7564 0 : tree _q82 = TREE_OPERAND (_p1, 2);
7565 0 : switch (TREE_CODE (_q80))
7566 : {
7567 0 : case GT_EXPR:
7568 0 : {
7569 0 : tree _q90 = TREE_OPERAND (_q80, 0);
7570 0 : tree _q91 = TREE_OPERAND (_q80, 1);
7571 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
7572 : {
7573 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
7574 : {
7575 0 : if (zerop (_q82))
7576 : {
7577 0 : {
7578 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
7579 0 : tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, UNLE_EXPR, GT_EXPR);
7580 0 : if (res) return res;
7581 : }
7582 : }
7583 : }
7584 : }
7585 : break;
7586 : }
7587 : default:;
7588 : }
7589 : break;
7590 : }
7591 : default:;
7592 : }
7593 : }
7594 : break;
7595 : }
7596 0 : case UNGT_EXPR:
7597 0 : {
7598 0 : tree _q30 = TREE_OPERAND (_q20, 0);
7599 0 : tree _q31 = TREE_OPERAND (_q20, 1);
7600 0 : if (zerop (_q22))
7601 : {
7602 0 : switch (TREE_CODE (_p1))
7603 : {
7604 0 : case COND_EXPR:
7605 0 : {
7606 0 : tree _q80 = TREE_OPERAND (_p1, 0);
7607 0 : tree _q81 = TREE_OPERAND (_p1, 1);
7608 0 : tree _q82 = TREE_OPERAND (_p1, 2);
7609 0 : switch (TREE_CODE (_q80))
7610 : {
7611 0 : case LE_EXPR:
7612 0 : {
7613 0 : tree _q90 = TREE_OPERAND (_q80, 0);
7614 0 : tree _q91 = TREE_OPERAND (_q80, 1);
7615 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
7616 : {
7617 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
7618 : {
7619 0 : if (zerop (_q82))
7620 : {
7621 0 : {
7622 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
7623 0 : tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, UNGT_EXPR, LE_EXPR);
7624 0 : if (res) return res;
7625 : }
7626 : }
7627 : }
7628 : }
7629 : break;
7630 : }
7631 : default:;
7632 : }
7633 : break;
7634 : }
7635 : default:;
7636 : }
7637 : }
7638 : break;
7639 : }
7640 0 : case UNGE_EXPR:
7641 0 : {
7642 0 : tree _q30 = TREE_OPERAND (_q20, 0);
7643 0 : tree _q31 = TREE_OPERAND (_q20, 1);
7644 0 : if (zerop (_q22))
7645 : {
7646 0 : switch (TREE_CODE (_p1))
7647 : {
7648 0 : case COND_EXPR:
7649 0 : {
7650 0 : tree _q80 = TREE_OPERAND (_p1, 0);
7651 0 : tree _q81 = TREE_OPERAND (_p1, 1);
7652 0 : tree _q82 = TREE_OPERAND (_p1, 2);
7653 0 : switch (TREE_CODE (_q80))
7654 : {
7655 0 : case LT_EXPR:
7656 0 : {
7657 0 : tree _q90 = TREE_OPERAND (_q80, 0);
7658 0 : tree _q91 = TREE_OPERAND (_q80, 1);
7659 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
7660 : {
7661 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
7662 : {
7663 0 : if (zerop (_q82))
7664 : {
7665 0 : {
7666 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
7667 0 : tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, UNGE_EXPR, LT_EXPR);
7668 0 : if (res) return res;
7669 : }
7670 : }
7671 : }
7672 : }
7673 : break;
7674 : }
7675 : default:;
7676 : }
7677 : break;
7678 : }
7679 : default:;
7680 : }
7681 : }
7682 : break;
7683 : }
7684 0 : case UNEQ_EXPR:
7685 0 : {
7686 0 : tree _q30 = TREE_OPERAND (_q20, 0);
7687 0 : tree _q31 = TREE_OPERAND (_q20, 1);
7688 0 : if (zerop (_q22))
7689 : {
7690 0 : switch (TREE_CODE (_p1))
7691 : {
7692 0 : case COND_EXPR:
7693 0 : {
7694 0 : tree _q80 = TREE_OPERAND (_p1, 0);
7695 0 : tree _q81 = TREE_OPERAND (_p1, 1);
7696 0 : tree _q82 = TREE_OPERAND (_p1, 2);
7697 0 : switch (TREE_CODE (_q80))
7698 : {
7699 0 : case LTGT_EXPR:
7700 0 : {
7701 0 : tree _q90 = TREE_OPERAND (_q80, 0);
7702 0 : tree _q91 = TREE_OPERAND (_q80, 1);
7703 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
7704 : {
7705 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
7706 : {
7707 0 : if (zerop (_q82))
7708 : {
7709 0 : {
7710 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
7711 0 : tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, UNEQ_EXPR, LTGT_EXPR);
7712 0 : if (res) return res;
7713 : }
7714 : }
7715 : }
7716 : }
7717 : break;
7718 : }
7719 : default:;
7720 : }
7721 : break;
7722 : }
7723 : default:;
7724 : }
7725 : }
7726 : break;
7727 : }
7728 0 : case LTGT_EXPR:
7729 0 : {
7730 0 : tree _q30 = TREE_OPERAND (_q20, 0);
7731 0 : tree _q31 = TREE_OPERAND (_q20, 1);
7732 0 : if (zerop (_q22))
7733 : {
7734 0 : switch (TREE_CODE (_p1))
7735 : {
7736 0 : case COND_EXPR:
7737 0 : {
7738 0 : tree _q80 = TREE_OPERAND (_p1, 0);
7739 0 : tree _q81 = TREE_OPERAND (_p1, 1);
7740 0 : tree _q82 = TREE_OPERAND (_p1, 2);
7741 0 : switch (TREE_CODE (_q80))
7742 : {
7743 0 : case UNEQ_EXPR:
7744 0 : {
7745 0 : tree _q90 = TREE_OPERAND (_q80, 0);
7746 0 : tree _q91 = TREE_OPERAND (_q80, 1);
7747 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
7748 : {
7749 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
7750 : {
7751 0 : if (zerop (_q82))
7752 : {
7753 0 : {
7754 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
7755 0 : tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LTGT_EXPR, UNEQ_EXPR);
7756 0 : if (res) return res;
7757 : }
7758 : }
7759 : }
7760 : }
7761 : break;
7762 : }
7763 : default:;
7764 : }
7765 : break;
7766 : }
7767 : default:;
7768 : }
7769 : }
7770 : break;
7771 : }
7772 : default:;
7773 : }
7774 : break;
7775 : }
7776 61 : case VEC_COND_EXPR:
7777 61 : {
7778 61 : tree _q20 = TREE_OPERAND (_p0, 0);
7779 61 : tree _q21 = TREE_OPERAND (_p0, 1);
7780 61 : tree _q22 = TREE_OPERAND (_p0, 2);
7781 61 : if (integer_zerop (_q22))
7782 : {
7783 60 : switch (TREE_CODE (_p1))
7784 : {
7785 54 : case VEC_COND_EXPR:
7786 54 : {
7787 54 : tree _q60 = TREE_OPERAND (_p1, 0);
7788 54 : tree _q61 = TREE_OPERAND (_p1, 1);
7789 54 : tree _q62 = TREE_OPERAND (_p1, 2);
7790 54 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
7791 : {
7792 0 : if (integer_zerop (_q61))
7793 : {
7794 0 : {
7795 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q62 };
7796 0 : const enum tree_code op = BIT_IOR_EXPR;
7797 0 : if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1214;
7798 0 : if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1214;
7799 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1214;
7800 0 : {
7801 0 : tree res_op0;
7802 0 : res_op0 = captures[1];
7803 0 : tree res_op1;
7804 0 : res_op1 = captures[2];
7805 0 : tree res_op2;
7806 0 : res_op2 = captures[4];
7807 0 : tree _r;
7808 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
7809 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 871, __FILE__, __LINE__, true);
7810 0 : return _r;
7811 : }
7812 0 : next_after_fail1214:;
7813 : }
7814 : }
7815 : }
7816 : break;
7817 : }
7818 : default:;
7819 : }
7820 : }
7821 61 : if (integer_zerop (_q21))
7822 : {
7823 0 : switch (TREE_CODE (_p1))
7824 : {
7825 0 : case VEC_COND_EXPR:
7826 0 : {
7827 0 : tree _q60 = TREE_OPERAND (_p1, 0);
7828 0 : tree _q61 = TREE_OPERAND (_p1, 1);
7829 0 : tree _q62 = TREE_OPERAND (_p1, 2);
7830 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
7831 : {
7832 0 : if (integer_zerop (_q62))
7833 : {
7834 0 : {
7835 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q61, _p0, _q22 };
7836 0 : const enum tree_code op = BIT_IOR_EXPR;
7837 0 : if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1215;
7838 0 : if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1215;
7839 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1215;
7840 0 : {
7841 0 : tree res_op0;
7842 0 : res_op0 = captures[1];
7843 0 : tree res_op1;
7844 0 : res_op1 = captures[2];
7845 0 : tree res_op2;
7846 0 : res_op2 = captures[4];
7847 0 : tree _r;
7848 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
7849 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 871, __FILE__, __LINE__, true);
7850 0 : return _r;
7851 : }
7852 0 : next_after_fail1215:;
7853 : }
7854 : }
7855 : }
7856 : break;
7857 : }
7858 : default:;
7859 : }
7860 : }
7861 61 : switch (TREE_CODE (_q20))
7862 : {
7863 28 : case LT_EXPR:
7864 28 : {
7865 28 : tree _q30 = TREE_OPERAND (_q20, 0);
7866 28 : tree _q31 = TREE_OPERAND (_q20, 1);
7867 28 : if (integer_zerop (_q22))
7868 : {
7869 28 : switch (TREE_CODE (_p1))
7870 : {
7871 27 : case VEC_COND_EXPR:
7872 27 : {
7873 27 : tree _q80 = TREE_OPERAND (_p1, 0);
7874 27 : tree _q81 = TREE_OPERAND (_p1, 1);
7875 27 : tree _q82 = TREE_OPERAND (_p1, 2);
7876 27 : switch (TREE_CODE (_q80))
7877 : {
7878 0 : case GE_EXPR:
7879 0 : {
7880 0 : tree _q90 = TREE_OPERAND (_q80, 0);
7881 0 : tree _q91 = TREE_OPERAND (_q80, 1);
7882 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
7883 : {
7884 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
7885 : {
7886 0 : if (integer_zerop (_q82))
7887 : {
7888 0 : {
7889 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
7890 0 : tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LT_EXPR, GE_EXPR);
7891 0 : if (res) return res;
7892 : }
7893 : }
7894 : }
7895 : }
7896 : break;
7897 : }
7898 : default:;
7899 : }
7900 : break;
7901 : }
7902 : default:;
7903 : }
7904 : }
7905 : break;
7906 : }
7907 8 : case LE_EXPR:
7908 8 : {
7909 8 : tree _q30 = TREE_OPERAND (_q20, 0);
7910 8 : tree _q31 = TREE_OPERAND (_q20, 1);
7911 8 : if (integer_zerop (_q22))
7912 : {
7913 8 : switch (TREE_CODE (_p1))
7914 : {
7915 8 : case VEC_COND_EXPR:
7916 8 : {
7917 8 : tree _q80 = TREE_OPERAND (_p1, 0);
7918 8 : tree _q81 = TREE_OPERAND (_p1, 1);
7919 8 : tree _q82 = TREE_OPERAND (_p1, 2);
7920 8 : switch (TREE_CODE (_q80))
7921 : {
7922 0 : case GT_EXPR:
7923 0 : {
7924 0 : tree _q90 = TREE_OPERAND (_q80, 0);
7925 0 : tree _q91 = TREE_OPERAND (_q80, 1);
7926 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
7927 : {
7928 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
7929 : {
7930 0 : if (integer_zerop (_q82))
7931 : {
7932 0 : {
7933 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
7934 0 : tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LE_EXPR, GT_EXPR);
7935 0 : if (res) return res;
7936 : }
7937 : }
7938 : }
7939 : }
7940 : break;
7941 : }
7942 : default:;
7943 : }
7944 : break;
7945 : }
7946 : default:;
7947 : }
7948 : }
7949 : break;
7950 : }
7951 6 : case EQ_EXPR:
7952 6 : {
7953 6 : tree _q30 = TREE_OPERAND (_q20, 0);
7954 6 : tree _q31 = TREE_OPERAND (_q20, 1);
7955 6 : if (integer_zerop (_q22))
7956 : {
7957 6 : switch (TREE_CODE (_p1))
7958 : {
7959 6 : case VEC_COND_EXPR:
7960 6 : {
7961 6 : tree _q80 = TREE_OPERAND (_p1, 0);
7962 6 : tree _q81 = TREE_OPERAND (_p1, 1);
7963 6 : tree _q82 = TREE_OPERAND (_p1, 2);
7964 6 : switch (TREE_CODE (_q80))
7965 : {
7966 0 : case NE_EXPR:
7967 0 : {
7968 0 : tree _q90 = TREE_OPERAND (_q80, 0);
7969 0 : tree _q91 = TREE_OPERAND (_q80, 1);
7970 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
7971 : {
7972 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
7973 : {
7974 0 : if (integer_zerop (_q82))
7975 : {
7976 0 : {
7977 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
7978 0 : tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, EQ_EXPR, NE_EXPR);
7979 0 : if (res) return res;
7980 : }
7981 : }
7982 : }
7983 : }
7984 : break;
7985 : }
7986 : default:;
7987 : }
7988 : break;
7989 : }
7990 : default:;
7991 : }
7992 : }
7993 : break;
7994 : }
7995 6 : case NE_EXPR:
7996 6 : {
7997 6 : tree _q30 = TREE_OPERAND (_q20, 0);
7998 6 : tree _q31 = TREE_OPERAND (_q20, 1);
7999 6 : if (integer_zerop (_q22))
8000 : {
8001 6 : switch (TREE_CODE (_p1))
8002 : {
8003 1 : case VEC_COND_EXPR:
8004 1 : {
8005 1 : tree _q80 = TREE_OPERAND (_p1, 0);
8006 1 : tree _q81 = TREE_OPERAND (_p1, 1);
8007 1 : tree _q82 = TREE_OPERAND (_p1, 2);
8008 1 : switch (TREE_CODE (_q80))
8009 : {
8010 1 : case EQ_EXPR:
8011 1 : {
8012 1 : tree _q90 = TREE_OPERAND (_q80, 0);
8013 1 : tree _q91 = TREE_OPERAND (_q80, 1);
8014 1 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
8015 : {
8016 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
8017 : {
8018 0 : if (integer_zerop (_q82))
8019 : {
8020 0 : {
8021 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
8022 0 : tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, NE_EXPR, EQ_EXPR);
8023 0 : if (res) return res;
8024 : }
8025 : }
8026 : }
8027 : }
8028 : break;
8029 : }
8030 : default:;
8031 : }
8032 : break;
8033 : }
8034 : default:;
8035 : }
8036 : }
8037 : break;
8038 : }
8039 9 : case GE_EXPR:
8040 9 : {
8041 9 : tree _q30 = TREE_OPERAND (_q20, 0);
8042 9 : tree _q31 = TREE_OPERAND (_q20, 1);
8043 9 : if (integer_zerop (_q22))
8044 : {
8045 8 : switch (TREE_CODE (_p1))
8046 : {
8047 8 : case VEC_COND_EXPR:
8048 8 : {
8049 8 : tree _q80 = TREE_OPERAND (_p1, 0);
8050 8 : tree _q81 = TREE_OPERAND (_p1, 1);
8051 8 : tree _q82 = TREE_OPERAND (_p1, 2);
8052 8 : switch (TREE_CODE (_q80))
8053 : {
8054 0 : case LT_EXPR:
8055 0 : {
8056 0 : tree _q90 = TREE_OPERAND (_q80, 0);
8057 0 : tree _q91 = TREE_OPERAND (_q80, 1);
8058 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
8059 : {
8060 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
8061 : {
8062 0 : if (integer_zerop (_q82))
8063 : {
8064 0 : {
8065 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
8066 0 : tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, GE_EXPR, LT_EXPR);
8067 0 : if (res) return res;
8068 : }
8069 : }
8070 : }
8071 : }
8072 : break;
8073 : }
8074 : default:;
8075 : }
8076 : break;
8077 : }
8078 : default:;
8079 : }
8080 : }
8081 : break;
8082 : }
8083 4 : case GT_EXPR:
8084 4 : {
8085 4 : tree _q30 = TREE_OPERAND (_q20, 0);
8086 4 : tree _q31 = TREE_OPERAND (_q20, 1);
8087 4 : if (integer_zerop (_q22))
8088 : {
8089 4 : switch (TREE_CODE (_p1))
8090 : {
8091 4 : case VEC_COND_EXPR:
8092 4 : {
8093 4 : tree _q80 = TREE_OPERAND (_p1, 0);
8094 4 : tree _q81 = TREE_OPERAND (_p1, 1);
8095 4 : tree _q82 = TREE_OPERAND (_p1, 2);
8096 4 : switch (TREE_CODE (_q80))
8097 : {
8098 0 : case LE_EXPR:
8099 0 : {
8100 0 : tree _q90 = TREE_OPERAND (_q80, 0);
8101 0 : tree _q91 = TREE_OPERAND (_q80, 1);
8102 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
8103 : {
8104 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
8105 : {
8106 0 : if (integer_zerop (_q82))
8107 : {
8108 0 : {
8109 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
8110 0 : tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, GT_EXPR, LE_EXPR);
8111 0 : if (res) return res;
8112 : }
8113 : }
8114 : }
8115 : }
8116 : break;
8117 : }
8118 : default:;
8119 : }
8120 : break;
8121 : }
8122 : default:;
8123 : }
8124 : }
8125 : break;
8126 : }
8127 0 : case UNORDERED_EXPR:
8128 0 : {
8129 0 : tree _q30 = TREE_OPERAND (_q20, 0);
8130 0 : tree _q31 = TREE_OPERAND (_q20, 1);
8131 0 : if (integer_zerop (_q22))
8132 : {
8133 0 : switch (TREE_CODE (_p1))
8134 : {
8135 0 : case VEC_COND_EXPR:
8136 0 : {
8137 0 : tree _q80 = TREE_OPERAND (_p1, 0);
8138 0 : tree _q81 = TREE_OPERAND (_p1, 1);
8139 0 : tree _q82 = TREE_OPERAND (_p1, 2);
8140 0 : switch (TREE_CODE (_q80))
8141 : {
8142 0 : case ORDERED_EXPR:
8143 0 : {
8144 0 : tree _q90 = TREE_OPERAND (_q80, 0);
8145 0 : tree _q91 = TREE_OPERAND (_q80, 1);
8146 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
8147 : {
8148 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
8149 : {
8150 0 : if (integer_zerop (_q82))
8151 : {
8152 0 : {
8153 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
8154 0 : tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, UNORDERED_EXPR, ORDERED_EXPR);
8155 0 : if (res) return res;
8156 : }
8157 : }
8158 : }
8159 : }
8160 : break;
8161 : }
8162 : default:;
8163 : }
8164 : break;
8165 : }
8166 : default:;
8167 : }
8168 : }
8169 : break;
8170 : }
8171 0 : case ORDERED_EXPR:
8172 0 : {
8173 0 : tree _q30 = TREE_OPERAND (_q20, 0);
8174 0 : tree _q31 = TREE_OPERAND (_q20, 1);
8175 0 : if (integer_zerop (_q22))
8176 : {
8177 0 : switch (TREE_CODE (_p1))
8178 : {
8179 0 : case VEC_COND_EXPR:
8180 0 : {
8181 0 : tree _q80 = TREE_OPERAND (_p1, 0);
8182 0 : tree _q81 = TREE_OPERAND (_p1, 1);
8183 0 : tree _q82 = TREE_OPERAND (_p1, 2);
8184 0 : switch (TREE_CODE (_q80))
8185 : {
8186 0 : case UNORDERED_EXPR:
8187 0 : {
8188 0 : tree _q90 = TREE_OPERAND (_q80, 0);
8189 0 : tree _q91 = TREE_OPERAND (_q80, 1);
8190 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
8191 : {
8192 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
8193 : {
8194 0 : if (integer_zerop (_q82))
8195 : {
8196 0 : {
8197 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
8198 0 : tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, ORDERED_EXPR, UNORDERED_EXPR);
8199 0 : if (res) return res;
8200 : }
8201 : }
8202 : }
8203 : }
8204 : break;
8205 : }
8206 : default:;
8207 : }
8208 : break;
8209 : }
8210 : default:;
8211 : }
8212 : }
8213 : break;
8214 : }
8215 0 : case UNLT_EXPR:
8216 0 : {
8217 0 : tree _q30 = TREE_OPERAND (_q20, 0);
8218 0 : tree _q31 = TREE_OPERAND (_q20, 1);
8219 0 : if (integer_zerop (_q22))
8220 : {
8221 0 : switch (TREE_CODE (_p1))
8222 : {
8223 0 : case VEC_COND_EXPR:
8224 0 : {
8225 0 : tree _q80 = TREE_OPERAND (_p1, 0);
8226 0 : tree _q81 = TREE_OPERAND (_p1, 1);
8227 0 : tree _q82 = TREE_OPERAND (_p1, 2);
8228 0 : switch (TREE_CODE (_q80))
8229 : {
8230 0 : case GE_EXPR:
8231 0 : {
8232 0 : tree _q90 = TREE_OPERAND (_q80, 0);
8233 0 : tree _q91 = TREE_OPERAND (_q80, 1);
8234 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
8235 : {
8236 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
8237 : {
8238 0 : if (integer_zerop (_q82))
8239 : {
8240 0 : {
8241 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
8242 0 : tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, UNLT_EXPR, GE_EXPR);
8243 0 : if (res) return res;
8244 : }
8245 : }
8246 : }
8247 : }
8248 : break;
8249 : }
8250 : default:;
8251 : }
8252 : break;
8253 : }
8254 : default:;
8255 : }
8256 : }
8257 : break;
8258 : }
8259 0 : case UNLE_EXPR:
8260 0 : {
8261 0 : tree _q30 = TREE_OPERAND (_q20, 0);
8262 0 : tree _q31 = TREE_OPERAND (_q20, 1);
8263 0 : if (integer_zerop (_q22))
8264 : {
8265 0 : switch (TREE_CODE (_p1))
8266 : {
8267 0 : case VEC_COND_EXPR:
8268 0 : {
8269 0 : tree _q80 = TREE_OPERAND (_p1, 0);
8270 0 : tree _q81 = TREE_OPERAND (_p1, 1);
8271 0 : tree _q82 = TREE_OPERAND (_p1, 2);
8272 0 : switch (TREE_CODE (_q80))
8273 : {
8274 0 : case GT_EXPR:
8275 0 : {
8276 0 : tree _q90 = TREE_OPERAND (_q80, 0);
8277 0 : tree _q91 = TREE_OPERAND (_q80, 1);
8278 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
8279 : {
8280 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
8281 : {
8282 0 : if (integer_zerop (_q82))
8283 : {
8284 0 : {
8285 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
8286 0 : tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, UNLE_EXPR, GT_EXPR);
8287 0 : if (res) return res;
8288 : }
8289 : }
8290 : }
8291 : }
8292 : break;
8293 : }
8294 : default:;
8295 : }
8296 : break;
8297 : }
8298 : default:;
8299 : }
8300 : }
8301 : break;
8302 : }
8303 0 : case UNGT_EXPR:
8304 0 : {
8305 0 : tree _q30 = TREE_OPERAND (_q20, 0);
8306 0 : tree _q31 = TREE_OPERAND (_q20, 1);
8307 0 : if (integer_zerop (_q22))
8308 : {
8309 0 : switch (TREE_CODE (_p1))
8310 : {
8311 0 : case VEC_COND_EXPR:
8312 0 : {
8313 0 : tree _q80 = TREE_OPERAND (_p1, 0);
8314 0 : tree _q81 = TREE_OPERAND (_p1, 1);
8315 0 : tree _q82 = TREE_OPERAND (_p1, 2);
8316 0 : switch (TREE_CODE (_q80))
8317 : {
8318 0 : case LE_EXPR:
8319 0 : {
8320 0 : tree _q90 = TREE_OPERAND (_q80, 0);
8321 0 : tree _q91 = TREE_OPERAND (_q80, 1);
8322 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
8323 : {
8324 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
8325 : {
8326 0 : if (integer_zerop (_q82))
8327 : {
8328 0 : {
8329 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
8330 0 : tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, UNGT_EXPR, LE_EXPR);
8331 0 : if (res) return res;
8332 : }
8333 : }
8334 : }
8335 : }
8336 : break;
8337 : }
8338 : default:;
8339 : }
8340 : break;
8341 : }
8342 : default:;
8343 : }
8344 : }
8345 : break;
8346 : }
8347 0 : case UNGE_EXPR:
8348 0 : {
8349 0 : tree _q30 = TREE_OPERAND (_q20, 0);
8350 0 : tree _q31 = TREE_OPERAND (_q20, 1);
8351 0 : if (integer_zerop (_q22))
8352 : {
8353 0 : switch (TREE_CODE (_p1))
8354 : {
8355 0 : case VEC_COND_EXPR:
8356 0 : {
8357 0 : tree _q80 = TREE_OPERAND (_p1, 0);
8358 0 : tree _q81 = TREE_OPERAND (_p1, 1);
8359 0 : tree _q82 = TREE_OPERAND (_p1, 2);
8360 0 : switch (TREE_CODE (_q80))
8361 : {
8362 0 : case LT_EXPR:
8363 0 : {
8364 0 : tree _q90 = TREE_OPERAND (_q80, 0);
8365 0 : tree _q91 = TREE_OPERAND (_q80, 1);
8366 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
8367 : {
8368 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
8369 : {
8370 0 : if (integer_zerop (_q82))
8371 : {
8372 0 : {
8373 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
8374 0 : tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, UNGE_EXPR, LT_EXPR);
8375 0 : if (res) return res;
8376 : }
8377 : }
8378 : }
8379 : }
8380 : break;
8381 : }
8382 : default:;
8383 : }
8384 : break;
8385 : }
8386 : default:;
8387 : }
8388 : }
8389 : break;
8390 : }
8391 0 : case UNEQ_EXPR:
8392 0 : {
8393 0 : tree _q30 = TREE_OPERAND (_q20, 0);
8394 0 : tree _q31 = TREE_OPERAND (_q20, 1);
8395 0 : if (integer_zerop (_q22))
8396 : {
8397 0 : switch (TREE_CODE (_p1))
8398 : {
8399 0 : case VEC_COND_EXPR:
8400 0 : {
8401 0 : tree _q80 = TREE_OPERAND (_p1, 0);
8402 0 : tree _q81 = TREE_OPERAND (_p1, 1);
8403 0 : tree _q82 = TREE_OPERAND (_p1, 2);
8404 0 : switch (TREE_CODE (_q80))
8405 : {
8406 0 : case LTGT_EXPR:
8407 0 : {
8408 0 : tree _q90 = TREE_OPERAND (_q80, 0);
8409 0 : tree _q91 = TREE_OPERAND (_q80, 1);
8410 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
8411 : {
8412 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
8413 : {
8414 0 : if (integer_zerop (_q82))
8415 : {
8416 0 : {
8417 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
8418 0 : tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, UNEQ_EXPR, LTGT_EXPR);
8419 0 : if (res) return res;
8420 : }
8421 : }
8422 : }
8423 : }
8424 : break;
8425 : }
8426 : default:;
8427 : }
8428 : break;
8429 : }
8430 : default:;
8431 : }
8432 : }
8433 : break;
8434 : }
8435 0 : case LTGT_EXPR:
8436 0 : {
8437 0 : tree _q30 = TREE_OPERAND (_q20, 0);
8438 0 : tree _q31 = TREE_OPERAND (_q20, 1);
8439 0 : if (integer_zerop (_q22))
8440 : {
8441 0 : switch (TREE_CODE (_p1))
8442 : {
8443 0 : case VEC_COND_EXPR:
8444 0 : {
8445 0 : tree _q80 = TREE_OPERAND (_p1, 0);
8446 0 : tree _q81 = TREE_OPERAND (_p1, 1);
8447 0 : tree _q82 = TREE_OPERAND (_p1, 2);
8448 0 : switch (TREE_CODE (_q80))
8449 : {
8450 0 : case UNEQ_EXPR:
8451 0 : {
8452 0 : tree _q90 = TREE_OPERAND (_q80, 0);
8453 0 : tree _q91 = TREE_OPERAND (_q80, 1);
8454 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
8455 : {
8456 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
8457 : {
8458 0 : if (integer_zerop (_q82))
8459 : {
8460 0 : {
8461 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
8462 0 : tree res = generic_simplify_16 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LTGT_EXPR, UNEQ_EXPR);
8463 0 : if (res) return res;
8464 : }
8465 : }
8466 : }
8467 : }
8468 : break;
8469 : }
8470 : default:;
8471 : }
8472 : break;
8473 : }
8474 : default:;
8475 : }
8476 : }
8477 : break;
8478 : }
8479 : default:;
8480 : }
8481 : break;
8482 : }
8483 308771 : case BIT_AND_EXPR:
8484 308771 : {
8485 308771 : tree _q20 = TREE_OPERAND (_p0, 0);
8486 308771 : tree _q21 = TREE_OPERAND (_p0, 1);
8487 308771 : switch (TREE_CODE (_q20))
8488 : {
8489 187317 : CASE_CONVERT:
8490 187317 : {
8491 187317 : tree _q30 = TREE_OPERAND (_q20, 0);
8492 187317 : switch (TREE_CODE (_q30))
8493 : {
8494 0 : case LT_EXPR:
8495 0 : {
8496 0 : tree _q40 = TREE_OPERAND (_q30, 0);
8497 0 : tree _q41 = TREE_OPERAND (_q30, 1);
8498 0 : switch (TREE_CODE (_p1))
8499 : {
8500 0 : case BIT_AND_EXPR:
8501 0 : {
8502 0 : tree _q80 = TREE_OPERAND (_p1, 0);
8503 0 : tree _q81 = TREE_OPERAND (_p1, 1);
8504 0 : switch (TREE_CODE (_q80))
8505 : {
8506 0 : CASE_CONVERT:
8507 0 : {
8508 0 : tree _q90 = TREE_OPERAND (_q80, 0);
8509 0 : switch (TREE_CODE (_q90))
8510 : {
8511 0 : case GE_EXPR:
8512 0 : {
8513 0 : tree _q100 = TREE_OPERAND (_q90, 0);
8514 0 : tree _q101 = TREE_OPERAND (_q90, 1);
8515 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
8516 : {
8517 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
8518 : {
8519 0 : {
8520 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
8521 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
8522 0 : if (res) return res;
8523 : }
8524 : }
8525 : }
8526 : break;
8527 : }
8528 : default:;
8529 : }
8530 : break;
8531 : }
8532 0 : default:;
8533 : }
8534 0 : switch (TREE_CODE (_q81))
8535 : {
8536 0 : CASE_CONVERT:
8537 0 : {
8538 0 : tree _q100 = TREE_OPERAND (_q81, 0);
8539 0 : switch (TREE_CODE (_q100))
8540 : {
8541 0 : case GE_EXPR:
8542 0 : {
8543 0 : tree _q110 = TREE_OPERAND (_q100, 0);
8544 0 : tree _q111 = TREE_OPERAND (_q100, 1);
8545 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
8546 : {
8547 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
8548 : {
8549 0 : {
8550 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
8551 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
8552 0 : if (res) return res;
8553 : }
8554 : }
8555 : }
8556 : break;
8557 : }
8558 : default:;
8559 : }
8560 : break;
8561 : }
8562 : default:;
8563 : }
8564 : break;
8565 : }
8566 : default:;
8567 : }
8568 : break;
8569 : }
8570 0 : case LE_EXPR:
8571 0 : {
8572 0 : tree _q40 = TREE_OPERAND (_q30, 0);
8573 0 : tree _q41 = TREE_OPERAND (_q30, 1);
8574 0 : switch (TREE_CODE (_p1))
8575 : {
8576 0 : case BIT_AND_EXPR:
8577 0 : {
8578 0 : tree _q80 = TREE_OPERAND (_p1, 0);
8579 0 : tree _q81 = TREE_OPERAND (_p1, 1);
8580 0 : switch (TREE_CODE (_q80))
8581 : {
8582 0 : CASE_CONVERT:
8583 0 : {
8584 0 : tree _q90 = TREE_OPERAND (_q80, 0);
8585 0 : switch (TREE_CODE (_q90))
8586 : {
8587 0 : case GT_EXPR:
8588 0 : {
8589 0 : tree _q100 = TREE_OPERAND (_q90, 0);
8590 0 : tree _q101 = TREE_OPERAND (_q90, 1);
8591 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
8592 : {
8593 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
8594 : {
8595 0 : {
8596 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
8597 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
8598 0 : if (res) return res;
8599 : }
8600 : }
8601 : }
8602 : break;
8603 : }
8604 : default:;
8605 : }
8606 : break;
8607 : }
8608 0 : default:;
8609 : }
8610 0 : switch (TREE_CODE (_q81))
8611 : {
8612 0 : CASE_CONVERT:
8613 0 : {
8614 0 : tree _q100 = TREE_OPERAND (_q81, 0);
8615 0 : switch (TREE_CODE (_q100))
8616 : {
8617 0 : case GT_EXPR:
8618 0 : {
8619 0 : tree _q110 = TREE_OPERAND (_q100, 0);
8620 0 : tree _q111 = TREE_OPERAND (_q100, 1);
8621 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
8622 : {
8623 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
8624 : {
8625 0 : {
8626 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
8627 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
8628 0 : if (res) return res;
8629 : }
8630 : }
8631 : }
8632 : break;
8633 : }
8634 : default:;
8635 : }
8636 : break;
8637 : }
8638 : default:;
8639 : }
8640 : break;
8641 : }
8642 : default:;
8643 : }
8644 : break;
8645 : }
8646 0 : case EQ_EXPR:
8647 0 : {
8648 0 : tree _q40 = TREE_OPERAND (_q30, 0);
8649 0 : tree _q41 = TREE_OPERAND (_q30, 1);
8650 0 : switch (TREE_CODE (_p1))
8651 : {
8652 0 : case BIT_AND_EXPR:
8653 0 : {
8654 0 : tree _q80 = TREE_OPERAND (_p1, 0);
8655 0 : tree _q81 = TREE_OPERAND (_p1, 1);
8656 0 : switch (TREE_CODE (_q80))
8657 : {
8658 0 : CASE_CONVERT:
8659 0 : {
8660 0 : tree _q90 = TREE_OPERAND (_q80, 0);
8661 0 : switch (TREE_CODE (_q90))
8662 : {
8663 0 : case NE_EXPR:
8664 0 : {
8665 0 : tree _q100 = TREE_OPERAND (_q90, 0);
8666 0 : tree _q101 = TREE_OPERAND (_q90, 1);
8667 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
8668 : {
8669 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
8670 : {
8671 0 : {
8672 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
8673 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
8674 0 : if (res) return res;
8675 : }
8676 : }
8677 : }
8678 : break;
8679 : }
8680 : default:;
8681 : }
8682 : break;
8683 : }
8684 0 : default:;
8685 : }
8686 0 : switch (TREE_CODE (_q81))
8687 : {
8688 0 : CASE_CONVERT:
8689 0 : {
8690 0 : tree _q100 = TREE_OPERAND (_q81, 0);
8691 0 : switch (TREE_CODE (_q100))
8692 : {
8693 0 : case NE_EXPR:
8694 0 : {
8695 0 : tree _q110 = TREE_OPERAND (_q100, 0);
8696 0 : tree _q111 = TREE_OPERAND (_q100, 1);
8697 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
8698 : {
8699 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
8700 : {
8701 0 : {
8702 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
8703 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
8704 0 : if (res) return res;
8705 : }
8706 : }
8707 : }
8708 : break;
8709 : }
8710 : default:;
8711 : }
8712 : break;
8713 : }
8714 : default:;
8715 : }
8716 : break;
8717 : }
8718 : default:;
8719 : }
8720 : break;
8721 : }
8722 0 : case NE_EXPR:
8723 0 : {
8724 0 : tree _q40 = TREE_OPERAND (_q30, 0);
8725 0 : tree _q41 = TREE_OPERAND (_q30, 1);
8726 0 : switch (TREE_CODE (_p1))
8727 : {
8728 0 : case BIT_AND_EXPR:
8729 0 : {
8730 0 : tree _q80 = TREE_OPERAND (_p1, 0);
8731 0 : tree _q81 = TREE_OPERAND (_p1, 1);
8732 0 : switch (TREE_CODE (_q80))
8733 : {
8734 0 : CASE_CONVERT:
8735 0 : {
8736 0 : tree _q90 = TREE_OPERAND (_q80, 0);
8737 0 : switch (TREE_CODE (_q90))
8738 : {
8739 0 : case EQ_EXPR:
8740 0 : {
8741 0 : tree _q100 = TREE_OPERAND (_q90, 0);
8742 0 : tree _q101 = TREE_OPERAND (_q90, 1);
8743 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
8744 : {
8745 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
8746 : {
8747 0 : {
8748 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
8749 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
8750 0 : if (res) return res;
8751 : }
8752 : }
8753 : }
8754 : break;
8755 : }
8756 : default:;
8757 : }
8758 : break;
8759 : }
8760 0 : default:;
8761 : }
8762 0 : switch (TREE_CODE (_q81))
8763 : {
8764 0 : CASE_CONVERT:
8765 0 : {
8766 0 : tree _q100 = TREE_OPERAND (_q81, 0);
8767 0 : switch (TREE_CODE (_q100))
8768 : {
8769 0 : case EQ_EXPR:
8770 0 : {
8771 0 : tree _q110 = TREE_OPERAND (_q100, 0);
8772 0 : tree _q111 = TREE_OPERAND (_q100, 1);
8773 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
8774 : {
8775 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
8776 : {
8777 0 : {
8778 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
8779 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
8780 0 : if (res) return res;
8781 : }
8782 : }
8783 : }
8784 : break;
8785 : }
8786 : default:;
8787 : }
8788 : break;
8789 : }
8790 : default:;
8791 : }
8792 : break;
8793 : }
8794 : default:;
8795 : }
8796 : break;
8797 : }
8798 0 : case GE_EXPR:
8799 0 : {
8800 0 : tree _q40 = TREE_OPERAND (_q30, 0);
8801 0 : tree _q41 = TREE_OPERAND (_q30, 1);
8802 0 : switch (TREE_CODE (_p1))
8803 : {
8804 0 : case BIT_AND_EXPR:
8805 0 : {
8806 0 : tree _q80 = TREE_OPERAND (_p1, 0);
8807 0 : tree _q81 = TREE_OPERAND (_p1, 1);
8808 0 : switch (TREE_CODE (_q80))
8809 : {
8810 0 : CASE_CONVERT:
8811 0 : {
8812 0 : tree _q90 = TREE_OPERAND (_q80, 0);
8813 0 : switch (TREE_CODE (_q90))
8814 : {
8815 0 : case LT_EXPR:
8816 0 : {
8817 0 : tree _q100 = TREE_OPERAND (_q90, 0);
8818 0 : tree _q101 = TREE_OPERAND (_q90, 1);
8819 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
8820 : {
8821 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
8822 : {
8823 0 : {
8824 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
8825 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
8826 0 : if (res) return res;
8827 : }
8828 : }
8829 : }
8830 : break;
8831 : }
8832 : default:;
8833 : }
8834 : break;
8835 : }
8836 0 : default:;
8837 : }
8838 0 : switch (TREE_CODE (_q81))
8839 : {
8840 0 : CASE_CONVERT:
8841 0 : {
8842 0 : tree _q100 = TREE_OPERAND (_q81, 0);
8843 0 : switch (TREE_CODE (_q100))
8844 : {
8845 0 : case LT_EXPR:
8846 0 : {
8847 0 : tree _q110 = TREE_OPERAND (_q100, 0);
8848 0 : tree _q111 = TREE_OPERAND (_q100, 1);
8849 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
8850 : {
8851 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
8852 : {
8853 0 : {
8854 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
8855 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
8856 0 : if (res) return res;
8857 : }
8858 : }
8859 : }
8860 : break;
8861 : }
8862 : default:;
8863 : }
8864 : break;
8865 : }
8866 : default:;
8867 : }
8868 : break;
8869 : }
8870 : default:;
8871 : }
8872 : break;
8873 : }
8874 0 : case GT_EXPR:
8875 0 : {
8876 0 : tree _q40 = TREE_OPERAND (_q30, 0);
8877 0 : tree _q41 = TREE_OPERAND (_q30, 1);
8878 0 : switch (TREE_CODE (_p1))
8879 : {
8880 0 : case BIT_AND_EXPR:
8881 0 : {
8882 0 : tree _q80 = TREE_OPERAND (_p1, 0);
8883 0 : tree _q81 = TREE_OPERAND (_p1, 1);
8884 0 : switch (TREE_CODE (_q80))
8885 : {
8886 0 : CASE_CONVERT:
8887 0 : {
8888 0 : tree _q90 = TREE_OPERAND (_q80, 0);
8889 0 : switch (TREE_CODE (_q90))
8890 : {
8891 0 : case LE_EXPR:
8892 0 : {
8893 0 : tree _q100 = TREE_OPERAND (_q90, 0);
8894 0 : tree _q101 = TREE_OPERAND (_q90, 1);
8895 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
8896 : {
8897 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
8898 : {
8899 0 : {
8900 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
8901 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
8902 0 : if (res) return res;
8903 : }
8904 : }
8905 : }
8906 : break;
8907 : }
8908 : default:;
8909 : }
8910 : break;
8911 : }
8912 0 : default:;
8913 : }
8914 0 : switch (TREE_CODE (_q81))
8915 : {
8916 0 : CASE_CONVERT:
8917 0 : {
8918 0 : tree _q100 = TREE_OPERAND (_q81, 0);
8919 0 : switch (TREE_CODE (_q100))
8920 : {
8921 0 : case LE_EXPR:
8922 0 : {
8923 0 : tree _q110 = TREE_OPERAND (_q100, 0);
8924 0 : tree _q111 = TREE_OPERAND (_q100, 1);
8925 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
8926 : {
8927 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
8928 : {
8929 0 : {
8930 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
8931 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
8932 0 : if (res) return res;
8933 : }
8934 : }
8935 : }
8936 : break;
8937 : }
8938 : default:;
8939 : }
8940 : break;
8941 : }
8942 : default:;
8943 : }
8944 : break;
8945 : }
8946 : default:;
8947 : }
8948 : break;
8949 : }
8950 0 : case UNORDERED_EXPR:
8951 0 : {
8952 0 : tree _q40 = TREE_OPERAND (_q30, 0);
8953 0 : tree _q41 = TREE_OPERAND (_q30, 1);
8954 0 : switch (TREE_CODE (_p1))
8955 : {
8956 0 : case BIT_AND_EXPR:
8957 0 : {
8958 0 : tree _q80 = TREE_OPERAND (_p1, 0);
8959 0 : tree _q81 = TREE_OPERAND (_p1, 1);
8960 0 : switch (TREE_CODE (_q80))
8961 : {
8962 0 : CASE_CONVERT:
8963 0 : {
8964 0 : tree _q90 = TREE_OPERAND (_q80, 0);
8965 0 : switch (TREE_CODE (_q90))
8966 : {
8967 0 : case ORDERED_EXPR:
8968 0 : {
8969 0 : tree _q100 = TREE_OPERAND (_q90, 0);
8970 0 : tree _q101 = TREE_OPERAND (_q90, 1);
8971 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
8972 : {
8973 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
8974 : {
8975 0 : {
8976 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
8977 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR);
8978 0 : if (res) return res;
8979 : }
8980 : }
8981 : }
8982 : break;
8983 : }
8984 : default:;
8985 : }
8986 : break;
8987 : }
8988 0 : default:;
8989 : }
8990 0 : switch (TREE_CODE (_q81))
8991 : {
8992 0 : CASE_CONVERT:
8993 0 : {
8994 0 : tree _q100 = TREE_OPERAND (_q81, 0);
8995 0 : switch (TREE_CODE (_q100))
8996 : {
8997 0 : case ORDERED_EXPR:
8998 0 : {
8999 0 : tree _q110 = TREE_OPERAND (_q100, 0);
9000 0 : tree _q111 = TREE_OPERAND (_q100, 1);
9001 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
9002 : {
9003 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
9004 : {
9005 0 : {
9006 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
9007 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR);
9008 0 : if (res) return res;
9009 : }
9010 : }
9011 : }
9012 : break;
9013 : }
9014 : default:;
9015 : }
9016 : break;
9017 : }
9018 : default:;
9019 : }
9020 : break;
9021 : }
9022 : default:;
9023 : }
9024 : break;
9025 : }
9026 0 : case ORDERED_EXPR:
9027 0 : {
9028 0 : tree _q40 = TREE_OPERAND (_q30, 0);
9029 0 : tree _q41 = TREE_OPERAND (_q30, 1);
9030 0 : switch (TREE_CODE (_p1))
9031 : {
9032 0 : case BIT_AND_EXPR:
9033 0 : {
9034 0 : tree _q80 = TREE_OPERAND (_p1, 0);
9035 0 : tree _q81 = TREE_OPERAND (_p1, 1);
9036 0 : switch (TREE_CODE (_q80))
9037 : {
9038 0 : CASE_CONVERT:
9039 0 : {
9040 0 : tree _q90 = TREE_OPERAND (_q80, 0);
9041 0 : switch (TREE_CODE (_q90))
9042 : {
9043 0 : case UNORDERED_EXPR:
9044 0 : {
9045 0 : tree _q100 = TREE_OPERAND (_q90, 0);
9046 0 : tree _q101 = TREE_OPERAND (_q90, 1);
9047 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
9048 : {
9049 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
9050 : {
9051 0 : {
9052 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
9053 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR);
9054 0 : if (res) return res;
9055 : }
9056 : }
9057 : }
9058 : break;
9059 : }
9060 : default:;
9061 : }
9062 : break;
9063 : }
9064 0 : default:;
9065 : }
9066 0 : switch (TREE_CODE (_q81))
9067 : {
9068 0 : CASE_CONVERT:
9069 0 : {
9070 0 : tree _q100 = TREE_OPERAND (_q81, 0);
9071 0 : switch (TREE_CODE (_q100))
9072 : {
9073 0 : case UNORDERED_EXPR:
9074 0 : {
9075 0 : tree _q110 = TREE_OPERAND (_q100, 0);
9076 0 : tree _q111 = TREE_OPERAND (_q100, 1);
9077 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
9078 : {
9079 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
9080 : {
9081 0 : {
9082 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
9083 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR);
9084 0 : if (res) return res;
9085 : }
9086 : }
9087 : }
9088 : break;
9089 : }
9090 : default:;
9091 : }
9092 : break;
9093 : }
9094 : default:;
9095 : }
9096 : break;
9097 : }
9098 : default:;
9099 : }
9100 : break;
9101 : }
9102 0 : case UNLT_EXPR:
9103 0 : {
9104 0 : tree _q40 = TREE_OPERAND (_q30, 0);
9105 0 : tree _q41 = TREE_OPERAND (_q30, 1);
9106 0 : switch (TREE_CODE (_p1))
9107 : {
9108 0 : case BIT_AND_EXPR:
9109 0 : {
9110 0 : tree _q80 = TREE_OPERAND (_p1, 0);
9111 0 : tree _q81 = TREE_OPERAND (_p1, 1);
9112 0 : switch (TREE_CODE (_q80))
9113 : {
9114 0 : CASE_CONVERT:
9115 0 : {
9116 0 : tree _q90 = TREE_OPERAND (_q80, 0);
9117 0 : switch (TREE_CODE (_q90))
9118 : {
9119 0 : case GE_EXPR:
9120 0 : {
9121 0 : tree _q100 = TREE_OPERAND (_q90, 0);
9122 0 : tree _q101 = TREE_OPERAND (_q90, 1);
9123 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
9124 : {
9125 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
9126 : {
9127 0 : {
9128 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
9129 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR);
9130 0 : if (res) return res;
9131 : }
9132 : }
9133 : }
9134 : break;
9135 : }
9136 : default:;
9137 : }
9138 : break;
9139 : }
9140 0 : default:;
9141 : }
9142 0 : switch (TREE_CODE (_q81))
9143 : {
9144 0 : CASE_CONVERT:
9145 0 : {
9146 0 : tree _q100 = TREE_OPERAND (_q81, 0);
9147 0 : switch (TREE_CODE (_q100))
9148 : {
9149 0 : case GE_EXPR:
9150 0 : {
9151 0 : tree _q110 = TREE_OPERAND (_q100, 0);
9152 0 : tree _q111 = TREE_OPERAND (_q100, 1);
9153 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
9154 : {
9155 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
9156 : {
9157 0 : {
9158 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
9159 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR);
9160 0 : if (res) return res;
9161 : }
9162 : }
9163 : }
9164 : break;
9165 : }
9166 : default:;
9167 : }
9168 : break;
9169 : }
9170 : default:;
9171 : }
9172 : break;
9173 : }
9174 : default:;
9175 : }
9176 : break;
9177 : }
9178 0 : case UNLE_EXPR:
9179 0 : {
9180 0 : tree _q40 = TREE_OPERAND (_q30, 0);
9181 0 : tree _q41 = TREE_OPERAND (_q30, 1);
9182 0 : switch (TREE_CODE (_p1))
9183 : {
9184 0 : case BIT_AND_EXPR:
9185 0 : {
9186 0 : tree _q80 = TREE_OPERAND (_p1, 0);
9187 0 : tree _q81 = TREE_OPERAND (_p1, 1);
9188 0 : switch (TREE_CODE (_q80))
9189 : {
9190 0 : CASE_CONVERT:
9191 0 : {
9192 0 : tree _q90 = TREE_OPERAND (_q80, 0);
9193 0 : switch (TREE_CODE (_q90))
9194 : {
9195 0 : case GT_EXPR:
9196 0 : {
9197 0 : tree _q100 = TREE_OPERAND (_q90, 0);
9198 0 : tree _q101 = TREE_OPERAND (_q90, 1);
9199 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
9200 : {
9201 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
9202 : {
9203 0 : {
9204 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
9205 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR);
9206 0 : if (res) return res;
9207 : }
9208 : }
9209 : }
9210 : break;
9211 : }
9212 : default:;
9213 : }
9214 : break;
9215 : }
9216 0 : default:;
9217 : }
9218 0 : switch (TREE_CODE (_q81))
9219 : {
9220 0 : CASE_CONVERT:
9221 0 : {
9222 0 : tree _q100 = TREE_OPERAND (_q81, 0);
9223 0 : switch (TREE_CODE (_q100))
9224 : {
9225 0 : case GT_EXPR:
9226 0 : {
9227 0 : tree _q110 = TREE_OPERAND (_q100, 0);
9228 0 : tree _q111 = TREE_OPERAND (_q100, 1);
9229 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
9230 : {
9231 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
9232 : {
9233 0 : {
9234 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
9235 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR);
9236 0 : if (res) return res;
9237 : }
9238 : }
9239 : }
9240 : break;
9241 : }
9242 : default:;
9243 : }
9244 : break;
9245 : }
9246 : default:;
9247 : }
9248 : break;
9249 : }
9250 : default:;
9251 : }
9252 : break;
9253 : }
9254 0 : case UNGT_EXPR:
9255 0 : {
9256 0 : tree _q40 = TREE_OPERAND (_q30, 0);
9257 0 : tree _q41 = TREE_OPERAND (_q30, 1);
9258 0 : switch (TREE_CODE (_p1))
9259 : {
9260 0 : case BIT_AND_EXPR:
9261 0 : {
9262 0 : tree _q80 = TREE_OPERAND (_p1, 0);
9263 0 : tree _q81 = TREE_OPERAND (_p1, 1);
9264 0 : switch (TREE_CODE (_q80))
9265 : {
9266 0 : CASE_CONVERT:
9267 0 : {
9268 0 : tree _q90 = TREE_OPERAND (_q80, 0);
9269 0 : switch (TREE_CODE (_q90))
9270 : {
9271 0 : case LE_EXPR:
9272 0 : {
9273 0 : tree _q100 = TREE_OPERAND (_q90, 0);
9274 0 : tree _q101 = TREE_OPERAND (_q90, 1);
9275 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
9276 : {
9277 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
9278 : {
9279 0 : {
9280 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
9281 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR);
9282 0 : if (res) return res;
9283 : }
9284 : }
9285 : }
9286 : break;
9287 : }
9288 : default:;
9289 : }
9290 : break;
9291 : }
9292 0 : default:;
9293 : }
9294 0 : switch (TREE_CODE (_q81))
9295 : {
9296 0 : CASE_CONVERT:
9297 0 : {
9298 0 : tree _q100 = TREE_OPERAND (_q81, 0);
9299 0 : switch (TREE_CODE (_q100))
9300 : {
9301 0 : case LE_EXPR:
9302 0 : {
9303 0 : tree _q110 = TREE_OPERAND (_q100, 0);
9304 0 : tree _q111 = TREE_OPERAND (_q100, 1);
9305 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
9306 : {
9307 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
9308 : {
9309 0 : {
9310 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
9311 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR);
9312 0 : if (res) return res;
9313 : }
9314 : }
9315 : }
9316 : break;
9317 : }
9318 : default:;
9319 : }
9320 : break;
9321 : }
9322 : default:;
9323 : }
9324 : break;
9325 : }
9326 : default:;
9327 : }
9328 : break;
9329 : }
9330 0 : case UNGE_EXPR:
9331 0 : {
9332 0 : tree _q40 = TREE_OPERAND (_q30, 0);
9333 0 : tree _q41 = TREE_OPERAND (_q30, 1);
9334 0 : switch (TREE_CODE (_p1))
9335 : {
9336 0 : case BIT_AND_EXPR:
9337 0 : {
9338 0 : tree _q80 = TREE_OPERAND (_p1, 0);
9339 0 : tree _q81 = TREE_OPERAND (_p1, 1);
9340 0 : switch (TREE_CODE (_q80))
9341 : {
9342 0 : CASE_CONVERT:
9343 0 : {
9344 0 : tree _q90 = TREE_OPERAND (_q80, 0);
9345 0 : switch (TREE_CODE (_q90))
9346 : {
9347 0 : case LT_EXPR:
9348 0 : {
9349 0 : tree _q100 = TREE_OPERAND (_q90, 0);
9350 0 : tree _q101 = TREE_OPERAND (_q90, 1);
9351 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
9352 : {
9353 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
9354 : {
9355 0 : {
9356 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
9357 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR);
9358 0 : if (res) return res;
9359 : }
9360 : }
9361 : }
9362 : break;
9363 : }
9364 : default:;
9365 : }
9366 : break;
9367 : }
9368 0 : default:;
9369 : }
9370 0 : switch (TREE_CODE (_q81))
9371 : {
9372 0 : CASE_CONVERT:
9373 0 : {
9374 0 : tree _q100 = TREE_OPERAND (_q81, 0);
9375 0 : switch (TREE_CODE (_q100))
9376 : {
9377 0 : case LT_EXPR:
9378 0 : {
9379 0 : tree _q110 = TREE_OPERAND (_q100, 0);
9380 0 : tree _q111 = TREE_OPERAND (_q100, 1);
9381 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
9382 : {
9383 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
9384 : {
9385 0 : {
9386 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
9387 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR);
9388 0 : if (res) return res;
9389 : }
9390 : }
9391 : }
9392 : break;
9393 : }
9394 : default:;
9395 : }
9396 : break;
9397 : }
9398 : default:;
9399 : }
9400 : break;
9401 : }
9402 : default:;
9403 : }
9404 : break;
9405 : }
9406 0 : case UNEQ_EXPR:
9407 0 : {
9408 0 : tree _q40 = TREE_OPERAND (_q30, 0);
9409 0 : tree _q41 = TREE_OPERAND (_q30, 1);
9410 0 : switch (TREE_CODE (_p1))
9411 : {
9412 0 : case BIT_AND_EXPR:
9413 0 : {
9414 0 : tree _q80 = TREE_OPERAND (_p1, 0);
9415 0 : tree _q81 = TREE_OPERAND (_p1, 1);
9416 0 : switch (TREE_CODE (_q80))
9417 : {
9418 0 : CASE_CONVERT:
9419 0 : {
9420 0 : tree _q90 = TREE_OPERAND (_q80, 0);
9421 0 : switch (TREE_CODE (_q90))
9422 : {
9423 0 : case LTGT_EXPR:
9424 0 : {
9425 0 : tree _q100 = TREE_OPERAND (_q90, 0);
9426 0 : tree _q101 = TREE_OPERAND (_q90, 1);
9427 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
9428 : {
9429 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
9430 : {
9431 0 : {
9432 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
9433 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR);
9434 0 : if (res) return res;
9435 : }
9436 : }
9437 : }
9438 : break;
9439 : }
9440 : default:;
9441 : }
9442 : break;
9443 : }
9444 0 : default:;
9445 : }
9446 0 : switch (TREE_CODE (_q81))
9447 : {
9448 0 : CASE_CONVERT:
9449 0 : {
9450 0 : tree _q100 = TREE_OPERAND (_q81, 0);
9451 0 : switch (TREE_CODE (_q100))
9452 : {
9453 0 : case LTGT_EXPR:
9454 0 : {
9455 0 : tree _q110 = TREE_OPERAND (_q100, 0);
9456 0 : tree _q111 = TREE_OPERAND (_q100, 1);
9457 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
9458 : {
9459 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
9460 : {
9461 0 : {
9462 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
9463 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR);
9464 0 : if (res) return res;
9465 : }
9466 : }
9467 : }
9468 : break;
9469 : }
9470 : default:;
9471 : }
9472 : break;
9473 : }
9474 : default:;
9475 : }
9476 : break;
9477 : }
9478 : default:;
9479 : }
9480 : break;
9481 : }
9482 0 : case LTGT_EXPR:
9483 0 : {
9484 0 : tree _q40 = TREE_OPERAND (_q30, 0);
9485 0 : tree _q41 = TREE_OPERAND (_q30, 1);
9486 0 : switch (TREE_CODE (_p1))
9487 : {
9488 0 : case BIT_AND_EXPR:
9489 0 : {
9490 0 : tree _q80 = TREE_OPERAND (_p1, 0);
9491 0 : tree _q81 = TREE_OPERAND (_p1, 1);
9492 0 : switch (TREE_CODE (_q80))
9493 : {
9494 0 : CASE_CONVERT:
9495 0 : {
9496 0 : tree _q90 = TREE_OPERAND (_q80, 0);
9497 0 : switch (TREE_CODE (_q90))
9498 : {
9499 0 : case UNEQ_EXPR:
9500 0 : {
9501 0 : tree _q100 = TREE_OPERAND (_q90, 0);
9502 0 : tree _q101 = TREE_OPERAND (_q90, 1);
9503 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
9504 : {
9505 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
9506 : {
9507 0 : {
9508 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
9509 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR);
9510 0 : if (res) return res;
9511 : }
9512 : }
9513 : }
9514 : break;
9515 : }
9516 : default:;
9517 : }
9518 : break;
9519 : }
9520 0 : default:;
9521 : }
9522 0 : switch (TREE_CODE (_q81))
9523 : {
9524 0 : CASE_CONVERT:
9525 0 : {
9526 0 : tree _q100 = TREE_OPERAND (_q81, 0);
9527 0 : switch (TREE_CODE (_q100))
9528 : {
9529 0 : case UNEQ_EXPR:
9530 0 : {
9531 0 : tree _q110 = TREE_OPERAND (_q100, 0);
9532 0 : tree _q111 = TREE_OPERAND (_q100, 1);
9533 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
9534 : {
9535 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
9536 : {
9537 0 : {
9538 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
9539 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR);
9540 0 : if (res) return res;
9541 : }
9542 : }
9543 : }
9544 : break;
9545 : }
9546 : default:;
9547 : }
9548 : break;
9549 : }
9550 : default:;
9551 : }
9552 : break;
9553 : }
9554 : default:;
9555 : }
9556 : break;
9557 : }
9558 : default:;
9559 : }
9560 : break;
9561 : }
9562 308771 : default:;
9563 : }
9564 308771 : switch (TREE_CODE (_q21))
9565 : {
9566 188 : CASE_CONVERT:
9567 188 : {
9568 188 : tree _q40 = TREE_OPERAND (_q21, 0);
9569 188 : switch (TREE_CODE (_q40))
9570 : {
9571 0 : case LT_EXPR:
9572 0 : {
9573 0 : tree _q50 = TREE_OPERAND (_q40, 0);
9574 0 : tree _q51 = TREE_OPERAND (_q40, 1);
9575 0 : switch (TREE_CODE (_p1))
9576 : {
9577 0 : case BIT_AND_EXPR:
9578 0 : {
9579 0 : tree _q80 = TREE_OPERAND (_p1, 0);
9580 0 : tree _q81 = TREE_OPERAND (_p1, 1);
9581 0 : switch (TREE_CODE (_q80))
9582 : {
9583 0 : CASE_CONVERT:
9584 0 : {
9585 0 : tree _q90 = TREE_OPERAND (_q80, 0);
9586 0 : switch (TREE_CODE (_q90))
9587 : {
9588 0 : case GE_EXPR:
9589 0 : {
9590 0 : tree _q100 = TREE_OPERAND (_q90, 0);
9591 0 : tree _q101 = TREE_OPERAND (_q90, 1);
9592 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
9593 : {
9594 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
9595 : {
9596 0 : {
9597 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
9598 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
9599 0 : if (res) return res;
9600 : }
9601 : }
9602 : }
9603 : break;
9604 : }
9605 : default:;
9606 : }
9607 : break;
9608 : }
9609 0 : default:;
9610 : }
9611 0 : switch (TREE_CODE (_q81))
9612 : {
9613 0 : CASE_CONVERT:
9614 0 : {
9615 0 : tree _q100 = TREE_OPERAND (_q81, 0);
9616 0 : switch (TREE_CODE (_q100))
9617 : {
9618 0 : case GE_EXPR:
9619 0 : {
9620 0 : tree _q110 = TREE_OPERAND (_q100, 0);
9621 0 : tree _q111 = TREE_OPERAND (_q100, 1);
9622 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
9623 : {
9624 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
9625 : {
9626 0 : {
9627 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
9628 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
9629 0 : if (res) return res;
9630 : }
9631 : }
9632 : }
9633 : break;
9634 : }
9635 : default:;
9636 : }
9637 : break;
9638 : }
9639 : default:;
9640 : }
9641 : break;
9642 : }
9643 : default:;
9644 : }
9645 : break;
9646 : }
9647 0 : case LE_EXPR:
9648 0 : {
9649 0 : tree _q50 = TREE_OPERAND (_q40, 0);
9650 0 : tree _q51 = TREE_OPERAND (_q40, 1);
9651 0 : switch (TREE_CODE (_p1))
9652 : {
9653 0 : case BIT_AND_EXPR:
9654 0 : {
9655 0 : tree _q80 = TREE_OPERAND (_p1, 0);
9656 0 : tree _q81 = TREE_OPERAND (_p1, 1);
9657 0 : switch (TREE_CODE (_q80))
9658 : {
9659 0 : CASE_CONVERT:
9660 0 : {
9661 0 : tree _q90 = TREE_OPERAND (_q80, 0);
9662 0 : switch (TREE_CODE (_q90))
9663 : {
9664 0 : case GT_EXPR:
9665 0 : {
9666 0 : tree _q100 = TREE_OPERAND (_q90, 0);
9667 0 : tree _q101 = TREE_OPERAND (_q90, 1);
9668 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
9669 : {
9670 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
9671 : {
9672 0 : {
9673 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
9674 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
9675 0 : if (res) return res;
9676 : }
9677 : }
9678 : }
9679 : break;
9680 : }
9681 : default:;
9682 : }
9683 : break;
9684 : }
9685 0 : default:;
9686 : }
9687 0 : switch (TREE_CODE (_q81))
9688 : {
9689 0 : CASE_CONVERT:
9690 0 : {
9691 0 : tree _q100 = TREE_OPERAND (_q81, 0);
9692 0 : switch (TREE_CODE (_q100))
9693 : {
9694 0 : case GT_EXPR:
9695 0 : {
9696 0 : tree _q110 = TREE_OPERAND (_q100, 0);
9697 0 : tree _q111 = TREE_OPERAND (_q100, 1);
9698 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
9699 : {
9700 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
9701 : {
9702 0 : {
9703 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
9704 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
9705 0 : if (res) return res;
9706 : }
9707 : }
9708 : }
9709 : break;
9710 : }
9711 : default:;
9712 : }
9713 : break;
9714 : }
9715 : default:;
9716 : }
9717 : break;
9718 : }
9719 : default:;
9720 : }
9721 : break;
9722 : }
9723 0 : case EQ_EXPR:
9724 0 : {
9725 0 : tree _q50 = TREE_OPERAND (_q40, 0);
9726 0 : tree _q51 = TREE_OPERAND (_q40, 1);
9727 0 : switch (TREE_CODE (_p1))
9728 : {
9729 0 : case BIT_AND_EXPR:
9730 0 : {
9731 0 : tree _q80 = TREE_OPERAND (_p1, 0);
9732 0 : tree _q81 = TREE_OPERAND (_p1, 1);
9733 0 : switch (TREE_CODE (_q80))
9734 : {
9735 0 : CASE_CONVERT:
9736 0 : {
9737 0 : tree _q90 = TREE_OPERAND (_q80, 0);
9738 0 : switch (TREE_CODE (_q90))
9739 : {
9740 0 : case NE_EXPR:
9741 0 : {
9742 0 : tree _q100 = TREE_OPERAND (_q90, 0);
9743 0 : tree _q101 = TREE_OPERAND (_q90, 1);
9744 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
9745 : {
9746 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
9747 : {
9748 0 : {
9749 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
9750 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
9751 0 : if (res) return res;
9752 : }
9753 : }
9754 : }
9755 : break;
9756 : }
9757 : default:;
9758 : }
9759 : break;
9760 : }
9761 0 : default:;
9762 : }
9763 0 : switch (TREE_CODE (_q81))
9764 : {
9765 0 : CASE_CONVERT:
9766 0 : {
9767 0 : tree _q100 = TREE_OPERAND (_q81, 0);
9768 0 : switch (TREE_CODE (_q100))
9769 : {
9770 0 : case NE_EXPR:
9771 0 : {
9772 0 : tree _q110 = TREE_OPERAND (_q100, 0);
9773 0 : tree _q111 = TREE_OPERAND (_q100, 1);
9774 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
9775 : {
9776 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
9777 : {
9778 0 : {
9779 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
9780 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
9781 0 : if (res) return res;
9782 : }
9783 : }
9784 : }
9785 : break;
9786 : }
9787 : default:;
9788 : }
9789 : break;
9790 : }
9791 : default:;
9792 : }
9793 : break;
9794 : }
9795 : default:;
9796 : }
9797 : break;
9798 : }
9799 0 : case NE_EXPR:
9800 0 : {
9801 0 : tree _q50 = TREE_OPERAND (_q40, 0);
9802 0 : tree _q51 = TREE_OPERAND (_q40, 1);
9803 0 : switch (TREE_CODE (_p1))
9804 : {
9805 0 : case BIT_AND_EXPR:
9806 0 : {
9807 0 : tree _q80 = TREE_OPERAND (_p1, 0);
9808 0 : tree _q81 = TREE_OPERAND (_p1, 1);
9809 0 : switch (TREE_CODE (_q80))
9810 : {
9811 0 : CASE_CONVERT:
9812 0 : {
9813 0 : tree _q90 = TREE_OPERAND (_q80, 0);
9814 0 : switch (TREE_CODE (_q90))
9815 : {
9816 0 : case EQ_EXPR:
9817 0 : {
9818 0 : tree _q100 = TREE_OPERAND (_q90, 0);
9819 0 : tree _q101 = TREE_OPERAND (_q90, 1);
9820 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
9821 : {
9822 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
9823 : {
9824 0 : {
9825 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
9826 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
9827 0 : if (res) return res;
9828 : }
9829 : }
9830 : }
9831 : break;
9832 : }
9833 : default:;
9834 : }
9835 : break;
9836 : }
9837 0 : default:;
9838 : }
9839 0 : switch (TREE_CODE (_q81))
9840 : {
9841 0 : CASE_CONVERT:
9842 0 : {
9843 0 : tree _q100 = TREE_OPERAND (_q81, 0);
9844 0 : switch (TREE_CODE (_q100))
9845 : {
9846 0 : case EQ_EXPR:
9847 0 : {
9848 0 : tree _q110 = TREE_OPERAND (_q100, 0);
9849 0 : tree _q111 = TREE_OPERAND (_q100, 1);
9850 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
9851 : {
9852 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
9853 : {
9854 0 : {
9855 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
9856 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
9857 0 : if (res) return res;
9858 : }
9859 : }
9860 : }
9861 : break;
9862 : }
9863 : default:;
9864 : }
9865 : break;
9866 : }
9867 : default:;
9868 : }
9869 : break;
9870 : }
9871 : default:;
9872 : }
9873 : break;
9874 : }
9875 0 : case GE_EXPR:
9876 0 : {
9877 0 : tree _q50 = TREE_OPERAND (_q40, 0);
9878 0 : tree _q51 = TREE_OPERAND (_q40, 1);
9879 0 : switch (TREE_CODE (_p1))
9880 : {
9881 0 : case BIT_AND_EXPR:
9882 0 : {
9883 0 : tree _q80 = TREE_OPERAND (_p1, 0);
9884 0 : tree _q81 = TREE_OPERAND (_p1, 1);
9885 0 : switch (TREE_CODE (_q80))
9886 : {
9887 0 : CASE_CONVERT:
9888 0 : {
9889 0 : tree _q90 = TREE_OPERAND (_q80, 0);
9890 0 : switch (TREE_CODE (_q90))
9891 : {
9892 0 : case LT_EXPR:
9893 0 : {
9894 0 : tree _q100 = TREE_OPERAND (_q90, 0);
9895 0 : tree _q101 = TREE_OPERAND (_q90, 1);
9896 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
9897 : {
9898 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
9899 : {
9900 0 : {
9901 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
9902 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
9903 0 : if (res) return res;
9904 : }
9905 : }
9906 : }
9907 : break;
9908 : }
9909 : default:;
9910 : }
9911 : break;
9912 : }
9913 0 : default:;
9914 : }
9915 0 : switch (TREE_CODE (_q81))
9916 : {
9917 0 : CASE_CONVERT:
9918 0 : {
9919 0 : tree _q100 = TREE_OPERAND (_q81, 0);
9920 0 : switch (TREE_CODE (_q100))
9921 : {
9922 0 : case LT_EXPR:
9923 0 : {
9924 0 : tree _q110 = TREE_OPERAND (_q100, 0);
9925 0 : tree _q111 = TREE_OPERAND (_q100, 1);
9926 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
9927 : {
9928 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
9929 : {
9930 0 : {
9931 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
9932 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
9933 0 : if (res) return res;
9934 : }
9935 : }
9936 : }
9937 : break;
9938 : }
9939 : default:;
9940 : }
9941 : break;
9942 : }
9943 : default:;
9944 : }
9945 : break;
9946 : }
9947 : default:;
9948 : }
9949 : break;
9950 : }
9951 0 : case GT_EXPR:
9952 0 : {
9953 0 : tree _q50 = TREE_OPERAND (_q40, 0);
9954 0 : tree _q51 = TREE_OPERAND (_q40, 1);
9955 0 : switch (TREE_CODE (_p1))
9956 : {
9957 0 : case BIT_AND_EXPR:
9958 0 : {
9959 0 : tree _q80 = TREE_OPERAND (_p1, 0);
9960 0 : tree _q81 = TREE_OPERAND (_p1, 1);
9961 0 : switch (TREE_CODE (_q80))
9962 : {
9963 0 : CASE_CONVERT:
9964 0 : {
9965 0 : tree _q90 = TREE_OPERAND (_q80, 0);
9966 0 : switch (TREE_CODE (_q90))
9967 : {
9968 0 : case LE_EXPR:
9969 0 : {
9970 0 : tree _q100 = TREE_OPERAND (_q90, 0);
9971 0 : tree _q101 = TREE_OPERAND (_q90, 1);
9972 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
9973 : {
9974 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
9975 : {
9976 0 : {
9977 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
9978 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
9979 0 : if (res) return res;
9980 : }
9981 : }
9982 : }
9983 : break;
9984 : }
9985 : default:;
9986 : }
9987 : break;
9988 : }
9989 0 : default:;
9990 : }
9991 0 : switch (TREE_CODE (_q81))
9992 : {
9993 0 : CASE_CONVERT:
9994 0 : {
9995 0 : tree _q100 = TREE_OPERAND (_q81, 0);
9996 0 : switch (TREE_CODE (_q100))
9997 : {
9998 0 : case LE_EXPR:
9999 0 : {
10000 0 : tree _q110 = TREE_OPERAND (_q100, 0);
10001 0 : tree _q111 = TREE_OPERAND (_q100, 1);
10002 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
10003 : {
10004 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
10005 : {
10006 0 : {
10007 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
10008 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
10009 0 : if (res) return res;
10010 : }
10011 : }
10012 : }
10013 : break;
10014 : }
10015 : default:;
10016 : }
10017 : break;
10018 : }
10019 : default:;
10020 : }
10021 : break;
10022 : }
10023 : default:;
10024 : }
10025 : break;
10026 : }
10027 0 : case UNORDERED_EXPR:
10028 0 : {
10029 0 : tree _q50 = TREE_OPERAND (_q40, 0);
10030 0 : tree _q51 = TREE_OPERAND (_q40, 1);
10031 0 : switch (TREE_CODE (_p1))
10032 : {
10033 0 : case BIT_AND_EXPR:
10034 0 : {
10035 0 : tree _q80 = TREE_OPERAND (_p1, 0);
10036 0 : tree _q81 = TREE_OPERAND (_p1, 1);
10037 0 : switch (TREE_CODE (_q80))
10038 : {
10039 0 : CASE_CONVERT:
10040 0 : {
10041 0 : tree _q90 = TREE_OPERAND (_q80, 0);
10042 0 : switch (TREE_CODE (_q90))
10043 : {
10044 0 : case ORDERED_EXPR:
10045 0 : {
10046 0 : tree _q100 = TREE_OPERAND (_q90, 0);
10047 0 : tree _q101 = TREE_OPERAND (_q90, 1);
10048 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
10049 : {
10050 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
10051 : {
10052 0 : {
10053 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
10054 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR);
10055 0 : if (res) return res;
10056 : }
10057 : }
10058 : }
10059 : break;
10060 : }
10061 : default:;
10062 : }
10063 : break;
10064 : }
10065 0 : default:;
10066 : }
10067 0 : switch (TREE_CODE (_q81))
10068 : {
10069 0 : CASE_CONVERT:
10070 0 : {
10071 0 : tree _q100 = TREE_OPERAND (_q81, 0);
10072 0 : switch (TREE_CODE (_q100))
10073 : {
10074 0 : case ORDERED_EXPR:
10075 0 : {
10076 0 : tree _q110 = TREE_OPERAND (_q100, 0);
10077 0 : tree _q111 = TREE_OPERAND (_q100, 1);
10078 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
10079 : {
10080 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
10081 : {
10082 0 : {
10083 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
10084 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR);
10085 0 : if (res) return res;
10086 : }
10087 : }
10088 : }
10089 : break;
10090 : }
10091 : default:;
10092 : }
10093 : break;
10094 : }
10095 : default:;
10096 : }
10097 : break;
10098 : }
10099 : default:;
10100 : }
10101 : break;
10102 : }
10103 0 : case ORDERED_EXPR:
10104 0 : {
10105 0 : tree _q50 = TREE_OPERAND (_q40, 0);
10106 0 : tree _q51 = TREE_OPERAND (_q40, 1);
10107 0 : switch (TREE_CODE (_p1))
10108 : {
10109 0 : case BIT_AND_EXPR:
10110 0 : {
10111 0 : tree _q80 = TREE_OPERAND (_p1, 0);
10112 0 : tree _q81 = TREE_OPERAND (_p1, 1);
10113 0 : switch (TREE_CODE (_q80))
10114 : {
10115 0 : CASE_CONVERT:
10116 0 : {
10117 0 : tree _q90 = TREE_OPERAND (_q80, 0);
10118 0 : switch (TREE_CODE (_q90))
10119 : {
10120 0 : case UNORDERED_EXPR:
10121 0 : {
10122 0 : tree _q100 = TREE_OPERAND (_q90, 0);
10123 0 : tree _q101 = TREE_OPERAND (_q90, 1);
10124 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
10125 : {
10126 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
10127 : {
10128 0 : {
10129 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
10130 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR);
10131 0 : if (res) return res;
10132 : }
10133 : }
10134 : }
10135 : break;
10136 : }
10137 : default:;
10138 : }
10139 : break;
10140 : }
10141 0 : default:;
10142 : }
10143 0 : switch (TREE_CODE (_q81))
10144 : {
10145 0 : CASE_CONVERT:
10146 0 : {
10147 0 : tree _q100 = TREE_OPERAND (_q81, 0);
10148 0 : switch (TREE_CODE (_q100))
10149 : {
10150 0 : case UNORDERED_EXPR:
10151 0 : {
10152 0 : tree _q110 = TREE_OPERAND (_q100, 0);
10153 0 : tree _q111 = TREE_OPERAND (_q100, 1);
10154 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
10155 : {
10156 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
10157 : {
10158 0 : {
10159 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
10160 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR);
10161 0 : if (res) return res;
10162 : }
10163 : }
10164 : }
10165 : break;
10166 : }
10167 : default:;
10168 : }
10169 : break;
10170 : }
10171 : default:;
10172 : }
10173 : break;
10174 : }
10175 : default:;
10176 : }
10177 : break;
10178 : }
10179 0 : case UNLT_EXPR:
10180 0 : {
10181 0 : tree _q50 = TREE_OPERAND (_q40, 0);
10182 0 : tree _q51 = TREE_OPERAND (_q40, 1);
10183 0 : switch (TREE_CODE (_p1))
10184 : {
10185 0 : case BIT_AND_EXPR:
10186 0 : {
10187 0 : tree _q80 = TREE_OPERAND (_p1, 0);
10188 0 : tree _q81 = TREE_OPERAND (_p1, 1);
10189 0 : switch (TREE_CODE (_q80))
10190 : {
10191 0 : CASE_CONVERT:
10192 0 : {
10193 0 : tree _q90 = TREE_OPERAND (_q80, 0);
10194 0 : switch (TREE_CODE (_q90))
10195 : {
10196 0 : case GE_EXPR:
10197 0 : {
10198 0 : tree _q100 = TREE_OPERAND (_q90, 0);
10199 0 : tree _q101 = TREE_OPERAND (_q90, 1);
10200 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
10201 : {
10202 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
10203 : {
10204 0 : {
10205 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
10206 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR);
10207 0 : if (res) return res;
10208 : }
10209 : }
10210 : }
10211 : break;
10212 : }
10213 : default:;
10214 : }
10215 : break;
10216 : }
10217 0 : default:;
10218 : }
10219 0 : switch (TREE_CODE (_q81))
10220 : {
10221 0 : CASE_CONVERT:
10222 0 : {
10223 0 : tree _q100 = TREE_OPERAND (_q81, 0);
10224 0 : switch (TREE_CODE (_q100))
10225 : {
10226 0 : case GE_EXPR:
10227 0 : {
10228 0 : tree _q110 = TREE_OPERAND (_q100, 0);
10229 0 : tree _q111 = TREE_OPERAND (_q100, 1);
10230 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
10231 : {
10232 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
10233 : {
10234 0 : {
10235 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
10236 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR);
10237 0 : if (res) return res;
10238 : }
10239 : }
10240 : }
10241 : break;
10242 : }
10243 : default:;
10244 : }
10245 : break;
10246 : }
10247 : default:;
10248 : }
10249 : break;
10250 : }
10251 : default:;
10252 : }
10253 : break;
10254 : }
10255 0 : case UNLE_EXPR:
10256 0 : {
10257 0 : tree _q50 = TREE_OPERAND (_q40, 0);
10258 0 : tree _q51 = TREE_OPERAND (_q40, 1);
10259 0 : switch (TREE_CODE (_p1))
10260 : {
10261 0 : case BIT_AND_EXPR:
10262 0 : {
10263 0 : tree _q80 = TREE_OPERAND (_p1, 0);
10264 0 : tree _q81 = TREE_OPERAND (_p1, 1);
10265 0 : switch (TREE_CODE (_q80))
10266 : {
10267 0 : CASE_CONVERT:
10268 0 : {
10269 0 : tree _q90 = TREE_OPERAND (_q80, 0);
10270 0 : switch (TREE_CODE (_q90))
10271 : {
10272 0 : case GT_EXPR:
10273 0 : {
10274 0 : tree _q100 = TREE_OPERAND (_q90, 0);
10275 0 : tree _q101 = TREE_OPERAND (_q90, 1);
10276 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
10277 : {
10278 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
10279 : {
10280 0 : {
10281 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
10282 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR);
10283 0 : if (res) return res;
10284 : }
10285 : }
10286 : }
10287 : break;
10288 : }
10289 : default:;
10290 : }
10291 : break;
10292 : }
10293 0 : default:;
10294 : }
10295 0 : switch (TREE_CODE (_q81))
10296 : {
10297 0 : CASE_CONVERT:
10298 0 : {
10299 0 : tree _q100 = TREE_OPERAND (_q81, 0);
10300 0 : switch (TREE_CODE (_q100))
10301 : {
10302 0 : case GT_EXPR:
10303 0 : {
10304 0 : tree _q110 = TREE_OPERAND (_q100, 0);
10305 0 : tree _q111 = TREE_OPERAND (_q100, 1);
10306 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
10307 : {
10308 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
10309 : {
10310 0 : {
10311 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
10312 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR);
10313 0 : if (res) return res;
10314 : }
10315 : }
10316 : }
10317 : break;
10318 : }
10319 : default:;
10320 : }
10321 : break;
10322 : }
10323 : default:;
10324 : }
10325 : break;
10326 : }
10327 : default:;
10328 : }
10329 : break;
10330 : }
10331 0 : case UNGT_EXPR:
10332 0 : {
10333 0 : tree _q50 = TREE_OPERAND (_q40, 0);
10334 0 : tree _q51 = TREE_OPERAND (_q40, 1);
10335 0 : switch (TREE_CODE (_p1))
10336 : {
10337 0 : case BIT_AND_EXPR:
10338 0 : {
10339 0 : tree _q80 = TREE_OPERAND (_p1, 0);
10340 0 : tree _q81 = TREE_OPERAND (_p1, 1);
10341 0 : switch (TREE_CODE (_q80))
10342 : {
10343 0 : CASE_CONVERT:
10344 0 : {
10345 0 : tree _q90 = TREE_OPERAND (_q80, 0);
10346 0 : switch (TREE_CODE (_q90))
10347 : {
10348 0 : case LE_EXPR:
10349 0 : {
10350 0 : tree _q100 = TREE_OPERAND (_q90, 0);
10351 0 : tree _q101 = TREE_OPERAND (_q90, 1);
10352 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
10353 : {
10354 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
10355 : {
10356 0 : {
10357 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
10358 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR);
10359 0 : if (res) return res;
10360 : }
10361 : }
10362 : }
10363 : break;
10364 : }
10365 : default:;
10366 : }
10367 : break;
10368 : }
10369 0 : default:;
10370 : }
10371 0 : switch (TREE_CODE (_q81))
10372 : {
10373 0 : CASE_CONVERT:
10374 0 : {
10375 0 : tree _q100 = TREE_OPERAND (_q81, 0);
10376 0 : switch (TREE_CODE (_q100))
10377 : {
10378 0 : case LE_EXPR:
10379 0 : {
10380 0 : tree _q110 = TREE_OPERAND (_q100, 0);
10381 0 : tree _q111 = TREE_OPERAND (_q100, 1);
10382 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
10383 : {
10384 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
10385 : {
10386 0 : {
10387 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
10388 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR);
10389 0 : if (res) return res;
10390 : }
10391 : }
10392 : }
10393 : break;
10394 : }
10395 : default:;
10396 : }
10397 : break;
10398 : }
10399 : default:;
10400 : }
10401 : break;
10402 : }
10403 : default:;
10404 : }
10405 : break;
10406 : }
10407 0 : case UNGE_EXPR:
10408 0 : {
10409 0 : tree _q50 = TREE_OPERAND (_q40, 0);
10410 0 : tree _q51 = TREE_OPERAND (_q40, 1);
10411 0 : switch (TREE_CODE (_p1))
10412 : {
10413 0 : case BIT_AND_EXPR:
10414 0 : {
10415 0 : tree _q80 = TREE_OPERAND (_p1, 0);
10416 0 : tree _q81 = TREE_OPERAND (_p1, 1);
10417 0 : switch (TREE_CODE (_q80))
10418 : {
10419 0 : CASE_CONVERT:
10420 0 : {
10421 0 : tree _q90 = TREE_OPERAND (_q80, 0);
10422 0 : switch (TREE_CODE (_q90))
10423 : {
10424 0 : case LT_EXPR:
10425 0 : {
10426 0 : tree _q100 = TREE_OPERAND (_q90, 0);
10427 0 : tree _q101 = TREE_OPERAND (_q90, 1);
10428 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
10429 : {
10430 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
10431 : {
10432 0 : {
10433 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
10434 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR);
10435 0 : if (res) return res;
10436 : }
10437 : }
10438 : }
10439 : break;
10440 : }
10441 : default:;
10442 : }
10443 : break;
10444 : }
10445 0 : default:;
10446 : }
10447 0 : switch (TREE_CODE (_q81))
10448 : {
10449 0 : CASE_CONVERT:
10450 0 : {
10451 0 : tree _q100 = TREE_OPERAND (_q81, 0);
10452 0 : switch (TREE_CODE (_q100))
10453 : {
10454 0 : case LT_EXPR:
10455 0 : {
10456 0 : tree _q110 = TREE_OPERAND (_q100, 0);
10457 0 : tree _q111 = TREE_OPERAND (_q100, 1);
10458 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
10459 : {
10460 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
10461 : {
10462 0 : {
10463 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
10464 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR);
10465 0 : if (res) return res;
10466 : }
10467 : }
10468 : }
10469 : break;
10470 : }
10471 : default:;
10472 : }
10473 : break;
10474 : }
10475 : default:;
10476 : }
10477 : break;
10478 : }
10479 : default:;
10480 : }
10481 : break;
10482 : }
10483 0 : case UNEQ_EXPR:
10484 0 : {
10485 0 : tree _q50 = TREE_OPERAND (_q40, 0);
10486 0 : tree _q51 = TREE_OPERAND (_q40, 1);
10487 0 : switch (TREE_CODE (_p1))
10488 : {
10489 0 : case BIT_AND_EXPR:
10490 0 : {
10491 0 : tree _q80 = TREE_OPERAND (_p1, 0);
10492 0 : tree _q81 = TREE_OPERAND (_p1, 1);
10493 0 : switch (TREE_CODE (_q80))
10494 : {
10495 0 : CASE_CONVERT:
10496 0 : {
10497 0 : tree _q90 = TREE_OPERAND (_q80, 0);
10498 0 : switch (TREE_CODE (_q90))
10499 : {
10500 0 : case LTGT_EXPR:
10501 0 : {
10502 0 : tree _q100 = TREE_OPERAND (_q90, 0);
10503 0 : tree _q101 = TREE_OPERAND (_q90, 1);
10504 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
10505 : {
10506 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
10507 : {
10508 0 : {
10509 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
10510 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR);
10511 0 : if (res) return res;
10512 : }
10513 : }
10514 : }
10515 : break;
10516 : }
10517 : default:;
10518 : }
10519 : break;
10520 : }
10521 0 : default:;
10522 : }
10523 0 : switch (TREE_CODE (_q81))
10524 : {
10525 0 : CASE_CONVERT:
10526 0 : {
10527 0 : tree _q100 = TREE_OPERAND (_q81, 0);
10528 0 : switch (TREE_CODE (_q100))
10529 : {
10530 0 : case LTGT_EXPR:
10531 0 : {
10532 0 : tree _q110 = TREE_OPERAND (_q100, 0);
10533 0 : tree _q111 = TREE_OPERAND (_q100, 1);
10534 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
10535 : {
10536 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
10537 : {
10538 0 : {
10539 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
10540 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR);
10541 0 : if (res) return res;
10542 : }
10543 : }
10544 : }
10545 : break;
10546 : }
10547 : default:;
10548 : }
10549 : break;
10550 : }
10551 : default:;
10552 : }
10553 : break;
10554 : }
10555 : default:;
10556 : }
10557 : break;
10558 : }
10559 0 : case LTGT_EXPR:
10560 0 : {
10561 0 : tree _q50 = TREE_OPERAND (_q40, 0);
10562 0 : tree _q51 = TREE_OPERAND (_q40, 1);
10563 0 : switch (TREE_CODE (_p1))
10564 : {
10565 0 : case BIT_AND_EXPR:
10566 0 : {
10567 0 : tree _q80 = TREE_OPERAND (_p1, 0);
10568 0 : tree _q81 = TREE_OPERAND (_p1, 1);
10569 0 : switch (TREE_CODE (_q80))
10570 : {
10571 0 : CASE_CONVERT:
10572 0 : {
10573 0 : tree _q90 = TREE_OPERAND (_q80, 0);
10574 0 : switch (TREE_CODE (_q90))
10575 : {
10576 0 : case UNEQ_EXPR:
10577 0 : {
10578 0 : tree _q100 = TREE_OPERAND (_q90, 0);
10579 0 : tree _q101 = TREE_OPERAND (_q90, 1);
10580 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
10581 : {
10582 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
10583 : {
10584 0 : {
10585 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
10586 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR);
10587 0 : if (res) return res;
10588 : }
10589 : }
10590 : }
10591 : break;
10592 : }
10593 : default:;
10594 : }
10595 : break;
10596 : }
10597 0 : default:;
10598 : }
10599 0 : switch (TREE_CODE (_q81))
10600 : {
10601 0 : CASE_CONVERT:
10602 0 : {
10603 0 : tree _q100 = TREE_OPERAND (_q81, 0);
10604 0 : switch (TREE_CODE (_q100))
10605 : {
10606 0 : case UNEQ_EXPR:
10607 0 : {
10608 0 : tree _q110 = TREE_OPERAND (_q100, 0);
10609 0 : tree _q111 = TREE_OPERAND (_q100, 1);
10610 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
10611 : {
10612 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
10613 : {
10614 0 : {
10615 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
10616 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR);
10617 0 : if (res) return res;
10618 : }
10619 : }
10620 : }
10621 : break;
10622 : }
10623 : default:;
10624 : }
10625 : break;
10626 : }
10627 : default:;
10628 : }
10629 : break;
10630 : }
10631 : default:;
10632 : }
10633 : break;
10634 : }
10635 : default:;
10636 : }
10637 : break;
10638 : }
10639 308771 : default:;
10640 : }
10641 308771 : switch (TREE_CODE (_q20))
10642 : {
10643 0 : case LT_EXPR:
10644 0 : {
10645 0 : tree _q30 = TREE_OPERAND (_q20, 0);
10646 0 : tree _q31 = TREE_OPERAND (_q20, 1);
10647 0 : switch (TREE_CODE (_p1))
10648 : {
10649 0 : case BIT_AND_EXPR:
10650 0 : {
10651 0 : tree _q70 = TREE_OPERAND (_p1, 0);
10652 0 : tree _q71 = TREE_OPERAND (_p1, 1);
10653 0 : switch (TREE_CODE (_q70))
10654 : {
10655 0 : case GE_EXPR:
10656 0 : {
10657 0 : tree _q80 = TREE_OPERAND (_q70, 0);
10658 0 : tree _q81 = TREE_OPERAND (_q70, 1);
10659 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
10660 : {
10661 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
10662 : {
10663 0 : {
10664 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
10665 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
10666 0 : if (res) return res;
10667 : }
10668 : }
10669 : }
10670 : break;
10671 : }
10672 0 : default:;
10673 : }
10674 0 : switch (TREE_CODE (_q71))
10675 : {
10676 0 : case GE_EXPR:
10677 0 : {
10678 0 : tree _q90 = TREE_OPERAND (_q71, 0);
10679 0 : tree _q91 = TREE_OPERAND (_q71, 1);
10680 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
10681 : {
10682 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
10683 : {
10684 0 : {
10685 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
10686 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
10687 0 : if (res) return res;
10688 : }
10689 : }
10690 : }
10691 : break;
10692 : }
10693 : default:;
10694 : }
10695 : break;
10696 : }
10697 : default:;
10698 : }
10699 : break;
10700 : }
10701 0 : case LE_EXPR:
10702 0 : {
10703 0 : tree _q30 = TREE_OPERAND (_q20, 0);
10704 0 : tree _q31 = TREE_OPERAND (_q20, 1);
10705 0 : switch (TREE_CODE (_p1))
10706 : {
10707 0 : case BIT_AND_EXPR:
10708 0 : {
10709 0 : tree _q70 = TREE_OPERAND (_p1, 0);
10710 0 : tree _q71 = TREE_OPERAND (_p1, 1);
10711 0 : switch (TREE_CODE (_q70))
10712 : {
10713 0 : case GT_EXPR:
10714 0 : {
10715 0 : tree _q80 = TREE_OPERAND (_q70, 0);
10716 0 : tree _q81 = TREE_OPERAND (_q70, 1);
10717 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
10718 : {
10719 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
10720 : {
10721 0 : {
10722 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
10723 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
10724 0 : if (res) return res;
10725 : }
10726 : }
10727 : }
10728 : break;
10729 : }
10730 0 : default:;
10731 : }
10732 0 : switch (TREE_CODE (_q71))
10733 : {
10734 0 : case GT_EXPR:
10735 0 : {
10736 0 : tree _q90 = TREE_OPERAND (_q71, 0);
10737 0 : tree _q91 = TREE_OPERAND (_q71, 1);
10738 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
10739 : {
10740 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
10741 : {
10742 0 : {
10743 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
10744 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
10745 0 : if (res) return res;
10746 : }
10747 : }
10748 : }
10749 : break;
10750 : }
10751 : default:;
10752 : }
10753 : break;
10754 : }
10755 : default:;
10756 : }
10757 : break;
10758 : }
10759 1 : case EQ_EXPR:
10760 1 : {
10761 1 : tree _q30 = TREE_OPERAND (_q20, 0);
10762 1 : tree _q31 = TREE_OPERAND (_q20, 1);
10763 1 : switch (TREE_CODE (_p1))
10764 : {
10765 1 : case BIT_AND_EXPR:
10766 1 : {
10767 1 : tree _q70 = TREE_OPERAND (_p1, 0);
10768 1 : tree _q71 = TREE_OPERAND (_p1, 1);
10769 1 : switch (TREE_CODE (_q70))
10770 : {
10771 0 : case NE_EXPR:
10772 0 : {
10773 0 : tree _q80 = TREE_OPERAND (_q70, 0);
10774 0 : tree _q81 = TREE_OPERAND (_q70, 1);
10775 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
10776 : {
10777 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
10778 : {
10779 0 : {
10780 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
10781 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
10782 0 : if (res) return res;
10783 : }
10784 : }
10785 : }
10786 : break;
10787 : }
10788 1 : default:;
10789 : }
10790 1 : switch (TREE_CODE (_q71))
10791 : {
10792 0 : case NE_EXPR:
10793 0 : {
10794 0 : tree _q90 = TREE_OPERAND (_q71, 0);
10795 0 : tree _q91 = TREE_OPERAND (_q71, 1);
10796 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
10797 : {
10798 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
10799 : {
10800 0 : {
10801 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
10802 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
10803 0 : if (res) return res;
10804 : }
10805 : }
10806 : }
10807 : break;
10808 : }
10809 : default:;
10810 : }
10811 : break;
10812 : }
10813 : default:;
10814 : }
10815 : break;
10816 : }
10817 0 : case NE_EXPR:
10818 0 : {
10819 0 : tree _q30 = TREE_OPERAND (_q20, 0);
10820 0 : tree _q31 = TREE_OPERAND (_q20, 1);
10821 0 : switch (TREE_CODE (_p1))
10822 : {
10823 0 : case BIT_AND_EXPR:
10824 0 : {
10825 0 : tree _q70 = TREE_OPERAND (_p1, 0);
10826 0 : tree _q71 = TREE_OPERAND (_p1, 1);
10827 0 : switch (TREE_CODE (_q70))
10828 : {
10829 0 : case EQ_EXPR:
10830 0 : {
10831 0 : tree _q80 = TREE_OPERAND (_q70, 0);
10832 0 : tree _q81 = TREE_OPERAND (_q70, 1);
10833 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
10834 : {
10835 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
10836 : {
10837 0 : {
10838 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
10839 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
10840 0 : if (res) return res;
10841 : }
10842 : }
10843 : }
10844 : break;
10845 : }
10846 0 : default:;
10847 : }
10848 0 : switch (TREE_CODE (_q71))
10849 : {
10850 0 : case EQ_EXPR:
10851 0 : {
10852 0 : tree _q90 = TREE_OPERAND (_q71, 0);
10853 0 : tree _q91 = TREE_OPERAND (_q71, 1);
10854 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
10855 : {
10856 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
10857 : {
10858 0 : {
10859 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
10860 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
10861 0 : if (res) return res;
10862 : }
10863 : }
10864 : }
10865 : break;
10866 : }
10867 : default:;
10868 : }
10869 : break;
10870 : }
10871 : default:;
10872 : }
10873 : break;
10874 : }
10875 0 : case GE_EXPR:
10876 0 : {
10877 0 : tree _q30 = TREE_OPERAND (_q20, 0);
10878 0 : tree _q31 = TREE_OPERAND (_q20, 1);
10879 0 : switch (TREE_CODE (_p1))
10880 : {
10881 0 : case BIT_AND_EXPR:
10882 0 : {
10883 0 : tree _q70 = TREE_OPERAND (_p1, 0);
10884 0 : tree _q71 = TREE_OPERAND (_p1, 1);
10885 0 : switch (TREE_CODE (_q70))
10886 : {
10887 0 : case LT_EXPR:
10888 0 : {
10889 0 : tree _q80 = TREE_OPERAND (_q70, 0);
10890 0 : tree _q81 = TREE_OPERAND (_q70, 1);
10891 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
10892 : {
10893 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
10894 : {
10895 0 : {
10896 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
10897 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
10898 0 : if (res) return res;
10899 : }
10900 : }
10901 : }
10902 : break;
10903 : }
10904 0 : default:;
10905 : }
10906 0 : switch (TREE_CODE (_q71))
10907 : {
10908 0 : case LT_EXPR:
10909 0 : {
10910 0 : tree _q90 = TREE_OPERAND (_q71, 0);
10911 0 : tree _q91 = TREE_OPERAND (_q71, 1);
10912 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
10913 : {
10914 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
10915 : {
10916 0 : {
10917 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
10918 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
10919 0 : if (res) return res;
10920 : }
10921 : }
10922 : }
10923 : break;
10924 : }
10925 : default:;
10926 : }
10927 : break;
10928 : }
10929 : default:;
10930 : }
10931 : break;
10932 : }
10933 0 : case GT_EXPR:
10934 0 : {
10935 0 : tree _q30 = TREE_OPERAND (_q20, 0);
10936 0 : tree _q31 = TREE_OPERAND (_q20, 1);
10937 0 : switch (TREE_CODE (_p1))
10938 : {
10939 0 : case BIT_AND_EXPR:
10940 0 : {
10941 0 : tree _q70 = TREE_OPERAND (_p1, 0);
10942 0 : tree _q71 = TREE_OPERAND (_p1, 1);
10943 0 : switch (TREE_CODE (_q70))
10944 : {
10945 0 : case LE_EXPR:
10946 0 : {
10947 0 : tree _q80 = TREE_OPERAND (_q70, 0);
10948 0 : tree _q81 = TREE_OPERAND (_q70, 1);
10949 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
10950 : {
10951 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
10952 : {
10953 0 : {
10954 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
10955 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
10956 0 : if (res) return res;
10957 : }
10958 : }
10959 : }
10960 : break;
10961 : }
10962 0 : default:;
10963 : }
10964 0 : switch (TREE_CODE (_q71))
10965 : {
10966 0 : case LE_EXPR:
10967 0 : {
10968 0 : tree _q90 = TREE_OPERAND (_q71, 0);
10969 0 : tree _q91 = TREE_OPERAND (_q71, 1);
10970 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
10971 : {
10972 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
10973 : {
10974 0 : {
10975 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
10976 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
10977 0 : if (res) return res;
10978 : }
10979 : }
10980 : }
10981 : break;
10982 : }
10983 : default:;
10984 : }
10985 : break;
10986 : }
10987 : default:;
10988 : }
10989 : break;
10990 : }
10991 0 : case UNORDERED_EXPR:
10992 0 : {
10993 0 : tree _q30 = TREE_OPERAND (_q20, 0);
10994 0 : tree _q31 = TREE_OPERAND (_q20, 1);
10995 0 : switch (TREE_CODE (_p1))
10996 : {
10997 0 : case BIT_AND_EXPR:
10998 0 : {
10999 0 : tree _q70 = TREE_OPERAND (_p1, 0);
11000 0 : tree _q71 = TREE_OPERAND (_p1, 1);
11001 0 : switch (TREE_CODE (_q70))
11002 : {
11003 0 : case ORDERED_EXPR:
11004 0 : {
11005 0 : tree _q80 = TREE_OPERAND (_q70, 0);
11006 0 : tree _q81 = TREE_OPERAND (_q70, 1);
11007 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
11008 : {
11009 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
11010 : {
11011 0 : {
11012 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
11013 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR);
11014 0 : if (res) return res;
11015 : }
11016 : }
11017 : }
11018 : break;
11019 : }
11020 0 : default:;
11021 : }
11022 0 : switch (TREE_CODE (_q71))
11023 : {
11024 0 : case ORDERED_EXPR:
11025 0 : {
11026 0 : tree _q90 = TREE_OPERAND (_q71, 0);
11027 0 : tree _q91 = TREE_OPERAND (_q71, 1);
11028 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
11029 : {
11030 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
11031 : {
11032 0 : {
11033 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
11034 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR);
11035 0 : if (res) return res;
11036 : }
11037 : }
11038 : }
11039 : break;
11040 : }
11041 : default:;
11042 : }
11043 : break;
11044 : }
11045 : default:;
11046 : }
11047 : break;
11048 : }
11049 0 : case ORDERED_EXPR:
11050 0 : {
11051 0 : tree _q30 = TREE_OPERAND (_q20, 0);
11052 0 : tree _q31 = TREE_OPERAND (_q20, 1);
11053 0 : switch (TREE_CODE (_p1))
11054 : {
11055 0 : case BIT_AND_EXPR:
11056 0 : {
11057 0 : tree _q70 = TREE_OPERAND (_p1, 0);
11058 0 : tree _q71 = TREE_OPERAND (_p1, 1);
11059 0 : switch (TREE_CODE (_q70))
11060 : {
11061 0 : case UNORDERED_EXPR:
11062 0 : {
11063 0 : tree _q80 = TREE_OPERAND (_q70, 0);
11064 0 : tree _q81 = TREE_OPERAND (_q70, 1);
11065 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
11066 : {
11067 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
11068 : {
11069 0 : {
11070 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
11071 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR);
11072 0 : if (res) return res;
11073 : }
11074 : }
11075 : }
11076 : break;
11077 : }
11078 0 : default:;
11079 : }
11080 0 : switch (TREE_CODE (_q71))
11081 : {
11082 0 : case UNORDERED_EXPR:
11083 0 : {
11084 0 : tree _q90 = TREE_OPERAND (_q71, 0);
11085 0 : tree _q91 = TREE_OPERAND (_q71, 1);
11086 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
11087 : {
11088 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
11089 : {
11090 0 : {
11091 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
11092 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR);
11093 0 : if (res) return res;
11094 : }
11095 : }
11096 : }
11097 : break;
11098 : }
11099 : default:;
11100 : }
11101 : break;
11102 : }
11103 : default:;
11104 : }
11105 : break;
11106 : }
11107 0 : case UNLT_EXPR:
11108 0 : {
11109 0 : tree _q30 = TREE_OPERAND (_q20, 0);
11110 0 : tree _q31 = TREE_OPERAND (_q20, 1);
11111 0 : switch (TREE_CODE (_p1))
11112 : {
11113 0 : case BIT_AND_EXPR:
11114 0 : {
11115 0 : tree _q70 = TREE_OPERAND (_p1, 0);
11116 0 : tree _q71 = TREE_OPERAND (_p1, 1);
11117 0 : switch (TREE_CODE (_q70))
11118 : {
11119 0 : case GE_EXPR:
11120 0 : {
11121 0 : tree _q80 = TREE_OPERAND (_q70, 0);
11122 0 : tree _q81 = TREE_OPERAND (_q70, 1);
11123 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
11124 : {
11125 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
11126 : {
11127 0 : {
11128 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
11129 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR);
11130 0 : if (res) return res;
11131 : }
11132 : }
11133 : }
11134 : break;
11135 : }
11136 0 : default:;
11137 : }
11138 0 : switch (TREE_CODE (_q71))
11139 : {
11140 0 : case GE_EXPR:
11141 0 : {
11142 0 : tree _q90 = TREE_OPERAND (_q71, 0);
11143 0 : tree _q91 = TREE_OPERAND (_q71, 1);
11144 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
11145 : {
11146 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
11147 : {
11148 0 : {
11149 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
11150 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR);
11151 0 : if (res) return res;
11152 : }
11153 : }
11154 : }
11155 : break;
11156 : }
11157 : default:;
11158 : }
11159 : break;
11160 : }
11161 : default:;
11162 : }
11163 : break;
11164 : }
11165 0 : case UNLE_EXPR:
11166 0 : {
11167 0 : tree _q30 = TREE_OPERAND (_q20, 0);
11168 0 : tree _q31 = TREE_OPERAND (_q20, 1);
11169 0 : switch (TREE_CODE (_p1))
11170 : {
11171 0 : case BIT_AND_EXPR:
11172 0 : {
11173 0 : tree _q70 = TREE_OPERAND (_p1, 0);
11174 0 : tree _q71 = TREE_OPERAND (_p1, 1);
11175 0 : switch (TREE_CODE (_q70))
11176 : {
11177 0 : case GT_EXPR:
11178 0 : {
11179 0 : tree _q80 = TREE_OPERAND (_q70, 0);
11180 0 : tree _q81 = TREE_OPERAND (_q70, 1);
11181 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
11182 : {
11183 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
11184 : {
11185 0 : {
11186 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
11187 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR);
11188 0 : if (res) return res;
11189 : }
11190 : }
11191 : }
11192 : break;
11193 : }
11194 0 : default:;
11195 : }
11196 0 : switch (TREE_CODE (_q71))
11197 : {
11198 0 : case GT_EXPR:
11199 0 : {
11200 0 : tree _q90 = TREE_OPERAND (_q71, 0);
11201 0 : tree _q91 = TREE_OPERAND (_q71, 1);
11202 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
11203 : {
11204 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
11205 : {
11206 0 : {
11207 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
11208 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR);
11209 0 : if (res) return res;
11210 : }
11211 : }
11212 : }
11213 : break;
11214 : }
11215 : default:;
11216 : }
11217 : break;
11218 : }
11219 : default:;
11220 : }
11221 : break;
11222 : }
11223 0 : case UNGT_EXPR:
11224 0 : {
11225 0 : tree _q30 = TREE_OPERAND (_q20, 0);
11226 0 : tree _q31 = TREE_OPERAND (_q20, 1);
11227 0 : switch (TREE_CODE (_p1))
11228 : {
11229 0 : case BIT_AND_EXPR:
11230 0 : {
11231 0 : tree _q70 = TREE_OPERAND (_p1, 0);
11232 0 : tree _q71 = TREE_OPERAND (_p1, 1);
11233 0 : switch (TREE_CODE (_q70))
11234 : {
11235 0 : case LE_EXPR:
11236 0 : {
11237 0 : tree _q80 = TREE_OPERAND (_q70, 0);
11238 0 : tree _q81 = TREE_OPERAND (_q70, 1);
11239 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
11240 : {
11241 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
11242 : {
11243 0 : {
11244 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
11245 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR);
11246 0 : if (res) return res;
11247 : }
11248 : }
11249 : }
11250 : break;
11251 : }
11252 0 : default:;
11253 : }
11254 0 : switch (TREE_CODE (_q71))
11255 : {
11256 0 : case LE_EXPR:
11257 0 : {
11258 0 : tree _q90 = TREE_OPERAND (_q71, 0);
11259 0 : tree _q91 = TREE_OPERAND (_q71, 1);
11260 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
11261 : {
11262 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
11263 : {
11264 0 : {
11265 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
11266 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR);
11267 0 : if (res) return res;
11268 : }
11269 : }
11270 : }
11271 : break;
11272 : }
11273 : default:;
11274 : }
11275 : break;
11276 : }
11277 : default:;
11278 : }
11279 : break;
11280 : }
11281 0 : case UNGE_EXPR:
11282 0 : {
11283 0 : tree _q30 = TREE_OPERAND (_q20, 0);
11284 0 : tree _q31 = TREE_OPERAND (_q20, 1);
11285 0 : switch (TREE_CODE (_p1))
11286 : {
11287 0 : case BIT_AND_EXPR:
11288 0 : {
11289 0 : tree _q70 = TREE_OPERAND (_p1, 0);
11290 0 : tree _q71 = TREE_OPERAND (_p1, 1);
11291 0 : switch (TREE_CODE (_q70))
11292 : {
11293 0 : case LT_EXPR:
11294 0 : {
11295 0 : tree _q80 = TREE_OPERAND (_q70, 0);
11296 0 : tree _q81 = TREE_OPERAND (_q70, 1);
11297 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
11298 : {
11299 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
11300 : {
11301 0 : {
11302 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
11303 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR);
11304 0 : if (res) return res;
11305 : }
11306 : }
11307 : }
11308 : break;
11309 : }
11310 0 : default:;
11311 : }
11312 0 : switch (TREE_CODE (_q71))
11313 : {
11314 0 : case LT_EXPR:
11315 0 : {
11316 0 : tree _q90 = TREE_OPERAND (_q71, 0);
11317 0 : tree _q91 = TREE_OPERAND (_q71, 1);
11318 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
11319 : {
11320 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
11321 : {
11322 0 : {
11323 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
11324 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR);
11325 0 : if (res) return res;
11326 : }
11327 : }
11328 : }
11329 : break;
11330 : }
11331 : default:;
11332 : }
11333 : break;
11334 : }
11335 : default:;
11336 : }
11337 : break;
11338 : }
11339 0 : case UNEQ_EXPR:
11340 0 : {
11341 0 : tree _q30 = TREE_OPERAND (_q20, 0);
11342 0 : tree _q31 = TREE_OPERAND (_q20, 1);
11343 0 : switch (TREE_CODE (_p1))
11344 : {
11345 0 : case BIT_AND_EXPR:
11346 0 : {
11347 0 : tree _q70 = TREE_OPERAND (_p1, 0);
11348 0 : tree _q71 = TREE_OPERAND (_p1, 1);
11349 0 : switch (TREE_CODE (_q70))
11350 : {
11351 0 : case LTGT_EXPR:
11352 0 : {
11353 0 : tree _q80 = TREE_OPERAND (_q70, 0);
11354 0 : tree _q81 = TREE_OPERAND (_q70, 1);
11355 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
11356 : {
11357 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
11358 : {
11359 0 : {
11360 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
11361 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR);
11362 0 : if (res) return res;
11363 : }
11364 : }
11365 : }
11366 : break;
11367 : }
11368 0 : default:;
11369 : }
11370 0 : switch (TREE_CODE (_q71))
11371 : {
11372 0 : case LTGT_EXPR:
11373 0 : {
11374 0 : tree _q90 = TREE_OPERAND (_q71, 0);
11375 0 : tree _q91 = TREE_OPERAND (_q71, 1);
11376 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
11377 : {
11378 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
11379 : {
11380 0 : {
11381 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
11382 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR);
11383 0 : if (res) return res;
11384 : }
11385 : }
11386 : }
11387 : break;
11388 : }
11389 : default:;
11390 : }
11391 : break;
11392 : }
11393 : default:;
11394 : }
11395 : break;
11396 : }
11397 0 : case LTGT_EXPR:
11398 0 : {
11399 0 : tree _q30 = TREE_OPERAND (_q20, 0);
11400 0 : tree _q31 = TREE_OPERAND (_q20, 1);
11401 0 : switch (TREE_CODE (_p1))
11402 : {
11403 0 : case BIT_AND_EXPR:
11404 0 : {
11405 0 : tree _q70 = TREE_OPERAND (_p1, 0);
11406 0 : tree _q71 = TREE_OPERAND (_p1, 1);
11407 0 : switch (TREE_CODE (_q70))
11408 : {
11409 0 : case UNEQ_EXPR:
11410 0 : {
11411 0 : tree _q80 = TREE_OPERAND (_q70, 0);
11412 0 : tree _q81 = TREE_OPERAND (_q70, 1);
11413 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
11414 : {
11415 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
11416 : {
11417 0 : {
11418 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
11419 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR);
11420 0 : if (res) return res;
11421 : }
11422 : }
11423 : }
11424 : break;
11425 : }
11426 0 : default:;
11427 : }
11428 0 : switch (TREE_CODE (_q71))
11429 : {
11430 0 : case UNEQ_EXPR:
11431 0 : {
11432 0 : tree _q90 = TREE_OPERAND (_q71, 0);
11433 0 : tree _q91 = TREE_OPERAND (_q71, 1);
11434 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
11435 : {
11436 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
11437 : {
11438 0 : {
11439 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
11440 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR);
11441 0 : if (res) return res;
11442 : }
11443 : }
11444 : }
11445 : break;
11446 : }
11447 : default:;
11448 : }
11449 : break;
11450 : }
11451 : default:;
11452 : }
11453 : break;
11454 : }
11455 308771 : default:;
11456 : }
11457 308771 : switch (TREE_CODE (_q21))
11458 : {
11459 0 : case LT_EXPR:
11460 0 : {
11461 0 : tree _q40 = TREE_OPERAND (_q21, 0);
11462 0 : tree _q41 = TREE_OPERAND (_q21, 1);
11463 0 : switch (TREE_CODE (_p1))
11464 : {
11465 0 : case BIT_AND_EXPR:
11466 0 : {
11467 0 : tree _q70 = TREE_OPERAND (_p1, 0);
11468 0 : tree _q71 = TREE_OPERAND (_p1, 1);
11469 0 : switch (TREE_CODE (_q70))
11470 : {
11471 0 : case GE_EXPR:
11472 0 : {
11473 0 : tree _q80 = TREE_OPERAND (_q70, 0);
11474 0 : tree _q81 = TREE_OPERAND (_q70, 1);
11475 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
11476 : {
11477 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
11478 : {
11479 0 : {
11480 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
11481 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
11482 0 : if (res) return res;
11483 : }
11484 : }
11485 : }
11486 : break;
11487 : }
11488 0 : default:;
11489 : }
11490 0 : switch (TREE_CODE (_q71))
11491 : {
11492 0 : case GE_EXPR:
11493 0 : {
11494 0 : tree _q90 = TREE_OPERAND (_q71, 0);
11495 0 : tree _q91 = TREE_OPERAND (_q71, 1);
11496 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
11497 : {
11498 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
11499 : {
11500 0 : {
11501 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
11502 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
11503 0 : if (res) return res;
11504 : }
11505 : }
11506 : }
11507 : break;
11508 : }
11509 : default:;
11510 : }
11511 : break;
11512 : }
11513 : default:;
11514 : }
11515 : break;
11516 : }
11517 0 : case LE_EXPR:
11518 0 : {
11519 0 : tree _q40 = TREE_OPERAND (_q21, 0);
11520 0 : tree _q41 = TREE_OPERAND (_q21, 1);
11521 0 : switch (TREE_CODE (_p1))
11522 : {
11523 0 : case BIT_AND_EXPR:
11524 0 : {
11525 0 : tree _q70 = TREE_OPERAND (_p1, 0);
11526 0 : tree _q71 = TREE_OPERAND (_p1, 1);
11527 0 : switch (TREE_CODE (_q70))
11528 : {
11529 0 : case GT_EXPR:
11530 0 : {
11531 0 : tree _q80 = TREE_OPERAND (_q70, 0);
11532 0 : tree _q81 = TREE_OPERAND (_q70, 1);
11533 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
11534 : {
11535 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
11536 : {
11537 0 : {
11538 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
11539 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
11540 0 : if (res) return res;
11541 : }
11542 : }
11543 : }
11544 : break;
11545 : }
11546 0 : default:;
11547 : }
11548 0 : switch (TREE_CODE (_q71))
11549 : {
11550 0 : case GT_EXPR:
11551 0 : {
11552 0 : tree _q90 = TREE_OPERAND (_q71, 0);
11553 0 : tree _q91 = TREE_OPERAND (_q71, 1);
11554 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
11555 : {
11556 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
11557 : {
11558 0 : {
11559 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
11560 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
11561 0 : if (res) return res;
11562 : }
11563 : }
11564 : }
11565 : break;
11566 : }
11567 : default:;
11568 : }
11569 : break;
11570 : }
11571 : default:;
11572 : }
11573 : break;
11574 : }
11575 1 : case EQ_EXPR:
11576 1 : {
11577 1 : tree _q40 = TREE_OPERAND (_q21, 0);
11578 1 : tree _q41 = TREE_OPERAND (_q21, 1);
11579 1 : switch (TREE_CODE (_p1))
11580 : {
11581 1 : case BIT_AND_EXPR:
11582 1 : {
11583 1 : tree _q70 = TREE_OPERAND (_p1, 0);
11584 1 : tree _q71 = TREE_OPERAND (_p1, 1);
11585 1 : switch (TREE_CODE (_q70))
11586 : {
11587 0 : case NE_EXPR:
11588 0 : {
11589 0 : tree _q80 = TREE_OPERAND (_q70, 0);
11590 0 : tree _q81 = TREE_OPERAND (_q70, 1);
11591 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
11592 : {
11593 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
11594 : {
11595 0 : {
11596 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
11597 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
11598 0 : if (res) return res;
11599 : }
11600 : }
11601 : }
11602 : break;
11603 : }
11604 1 : default:;
11605 : }
11606 1 : switch (TREE_CODE (_q71))
11607 : {
11608 0 : case NE_EXPR:
11609 0 : {
11610 0 : tree _q90 = TREE_OPERAND (_q71, 0);
11611 0 : tree _q91 = TREE_OPERAND (_q71, 1);
11612 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
11613 : {
11614 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
11615 : {
11616 0 : {
11617 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
11618 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
11619 0 : if (res) return res;
11620 : }
11621 : }
11622 : }
11623 : break;
11624 : }
11625 : default:;
11626 : }
11627 : break;
11628 : }
11629 : default:;
11630 : }
11631 : break;
11632 : }
11633 0 : case NE_EXPR:
11634 0 : {
11635 0 : tree _q40 = TREE_OPERAND (_q21, 0);
11636 0 : tree _q41 = TREE_OPERAND (_q21, 1);
11637 0 : switch (TREE_CODE (_p1))
11638 : {
11639 0 : case BIT_AND_EXPR:
11640 0 : {
11641 0 : tree _q70 = TREE_OPERAND (_p1, 0);
11642 0 : tree _q71 = TREE_OPERAND (_p1, 1);
11643 0 : switch (TREE_CODE (_q70))
11644 : {
11645 0 : case EQ_EXPR:
11646 0 : {
11647 0 : tree _q80 = TREE_OPERAND (_q70, 0);
11648 0 : tree _q81 = TREE_OPERAND (_q70, 1);
11649 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
11650 : {
11651 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
11652 : {
11653 0 : {
11654 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
11655 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
11656 0 : if (res) return res;
11657 : }
11658 : }
11659 : }
11660 : break;
11661 : }
11662 0 : default:;
11663 : }
11664 0 : switch (TREE_CODE (_q71))
11665 : {
11666 0 : case EQ_EXPR:
11667 0 : {
11668 0 : tree _q90 = TREE_OPERAND (_q71, 0);
11669 0 : tree _q91 = TREE_OPERAND (_q71, 1);
11670 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
11671 : {
11672 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
11673 : {
11674 0 : {
11675 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
11676 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
11677 0 : if (res) return res;
11678 : }
11679 : }
11680 : }
11681 : break;
11682 : }
11683 : default:;
11684 : }
11685 : break;
11686 : }
11687 : default:;
11688 : }
11689 : break;
11690 : }
11691 0 : case GE_EXPR:
11692 0 : {
11693 0 : tree _q40 = TREE_OPERAND (_q21, 0);
11694 0 : tree _q41 = TREE_OPERAND (_q21, 1);
11695 0 : switch (TREE_CODE (_p1))
11696 : {
11697 0 : case BIT_AND_EXPR:
11698 0 : {
11699 0 : tree _q70 = TREE_OPERAND (_p1, 0);
11700 0 : tree _q71 = TREE_OPERAND (_p1, 1);
11701 0 : switch (TREE_CODE (_q70))
11702 : {
11703 0 : case LT_EXPR:
11704 0 : {
11705 0 : tree _q80 = TREE_OPERAND (_q70, 0);
11706 0 : tree _q81 = TREE_OPERAND (_q70, 1);
11707 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
11708 : {
11709 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
11710 : {
11711 0 : {
11712 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
11713 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
11714 0 : if (res) return res;
11715 : }
11716 : }
11717 : }
11718 : break;
11719 : }
11720 0 : default:;
11721 : }
11722 0 : switch (TREE_CODE (_q71))
11723 : {
11724 0 : case LT_EXPR:
11725 0 : {
11726 0 : tree _q90 = TREE_OPERAND (_q71, 0);
11727 0 : tree _q91 = TREE_OPERAND (_q71, 1);
11728 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
11729 : {
11730 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
11731 : {
11732 0 : {
11733 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
11734 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
11735 0 : if (res) return res;
11736 : }
11737 : }
11738 : }
11739 : break;
11740 : }
11741 : default:;
11742 : }
11743 : break;
11744 : }
11745 : default:;
11746 : }
11747 : break;
11748 : }
11749 0 : case GT_EXPR:
11750 0 : {
11751 0 : tree _q40 = TREE_OPERAND (_q21, 0);
11752 0 : tree _q41 = TREE_OPERAND (_q21, 1);
11753 0 : switch (TREE_CODE (_p1))
11754 : {
11755 0 : case BIT_AND_EXPR:
11756 0 : {
11757 0 : tree _q70 = TREE_OPERAND (_p1, 0);
11758 0 : tree _q71 = TREE_OPERAND (_p1, 1);
11759 0 : switch (TREE_CODE (_q70))
11760 : {
11761 0 : case LE_EXPR:
11762 0 : {
11763 0 : tree _q80 = TREE_OPERAND (_q70, 0);
11764 0 : tree _q81 = TREE_OPERAND (_q70, 1);
11765 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
11766 : {
11767 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
11768 : {
11769 0 : {
11770 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
11771 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
11772 0 : if (res) return res;
11773 : }
11774 : }
11775 : }
11776 : break;
11777 : }
11778 0 : default:;
11779 : }
11780 0 : switch (TREE_CODE (_q71))
11781 : {
11782 0 : case LE_EXPR:
11783 0 : {
11784 0 : tree _q90 = TREE_OPERAND (_q71, 0);
11785 0 : tree _q91 = TREE_OPERAND (_q71, 1);
11786 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
11787 : {
11788 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
11789 : {
11790 0 : {
11791 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
11792 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
11793 0 : if (res) return res;
11794 : }
11795 : }
11796 : }
11797 : break;
11798 : }
11799 : default:;
11800 : }
11801 : break;
11802 : }
11803 : default:;
11804 : }
11805 : break;
11806 : }
11807 0 : case UNORDERED_EXPR:
11808 0 : {
11809 0 : tree _q40 = TREE_OPERAND (_q21, 0);
11810 0 : tree _q41 = TREE_OPERAND (_q21, 1);
11811 0 : switch (TREE_CODE (_p1))
11812 : {
11813 0 : case BIT_AND_EXPR:
11814 0 : {
11815 0 : tree _q70 = TREE_OPERAND (_p1, 0);
11816 0 : tree _q71 = TREE_OPERAND (_p1, 1);
11817 0 : switch (TREE_CODE (_q70))
11818 : {
11819 0 : case ORDERED_EXPR:
11820 0 : {
11821 0 : tree _q80 = TREE_OPERAND (_q70, 0);
11822 0 : tree _q81 = TREE_OPERAND (_q70, 1);
11823 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
11824 : {
11825 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
11826 : {
11827 0 : {
11828 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
11829 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR);
11830 0 : if (res) return res;
11831 : }
11832 : }
11833 : }
11834 : break;
11835 : }
11836 0 : default:;
11837 : }
11838 0 : switch (TREE_CODE (_q71))
11839 : {
11840 0 : case ORDERED_EXPR:
11841 0 : {
11842 0 : tree _q90 = TREE_OPERAND (_q71, 0);
11843 0 : tree _q91 = TREE_OPERAND (_q71, 1);
11844 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
11845 : {
11846 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
11847 : {
11848 0 : {
11849 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
11850 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR);
11851 0 : if (res) return res;
11852 : }
11853 : }
11854 : }
11855 : break;
11856 : }
11857 : default:;
11858 : }
11859 : break;
11860 : }
11861 : default:;
11862 : }
11863 : break;
11864 : }
11865 0 : case ORDERED_EXPR:
11866 0 : {
11867 0 : tree _q40 = TREE_OPERAND (_q21, 0);
11868 0 : tree _q41 = TREE_OPERAND (_q21, 1);
11869 0 : switch (TREE_CODE (_p1))
11870 : {
11871 0 : case BIT_AND_EXPR:
11872 0 : {
11873 0 : tree _q70 = TREE_OPERAND (_p1, 0);
11874 0 : tree _q71 = TREE_OPERAND (_p1, 1);
11875 0 : switch (TREE_CODE (_q70))
11876 : {
11877 0 : case UNORDERED_EXPR:
11878 0 : {
11879 0 : tree _q80 = TREE_OPERAND (_q70, 0);
11880 0 : tree _q81 = TREE_OPERAND (_q70, 1);
11881 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
11882 : {
11883 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
11884 : {
11885 0 : {
11886 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
11887 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR);
11888 0 : if (res) return res;
11889 : }
11890 : }
11891 : }
11892 : break;
11893 : }
11894 0 : default:;
11895 : }
11896 0 : switch (TREE_CODE (_q71))
11897 : {
11898 0 : case UNORDERED_EXPR:
11899 0 : {
11900 0 : tree _q90 = TREE_OPERAND (_q71, 0);
11901 0 : tree _q91 = TREE_OPERAND (_q71, 1);
11902 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
11903 : {
11904 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
11905 : {
11906 0 : {
11907 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
11908 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR);
11909 0 : if (res) return res;
11910 : }
11911 : }
11912 : }
11913 : break;
11914 : }
11915 : default:;
11916 : }
11917 : break;
11918 : }
11919 : default:;
11920 : }
11921 : break;
11922 : }
11923 0 : case UNLT_EXPR:
11924 0 : {
11925 0 : tree _q40 = TREE_OPERAND (_q21, 0);
11926 0 : tree _q41 = TREE_OPERAND (_q21, 1);
11927 0 : switch (TREE_CODE (_p1))
11928 : {
11929 0 : case BIT_AND_EXPR:
11930 0 : {
11931 0 : tree _q70 = TREE_OPERAND (_p1, 0);
11932 0 : tree _q71 = TREE_OPERAND (_p1, 1);
11933 0 : switch (TREE_CODE (_q70))
11934 : {
11935 0 : case GE_EXPR:
11936 0 : {
11937 0 : tree _q80 = TREE_OPERAND (_q70, 0);
11938 0 : tree _q81 = TREE_OPERAND (_q70, 1);
11939 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
11940 : {
11941 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
11942 : {
11943 0 : {
11944 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
11945 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR);
11946 0 : if (res) return res;
11947 : }
11948 : }
11949 : }
11950 : break;
11951 : }
11952 0 : default:;
11953 : }
11954 0 : switch (TREE_CODE (_q71))
11955 : {
11956 0 : case GE_EXPR:
11957 0 : {
11958 0 : tree _q90 = TREE_OPERAND (_q71, 0);
11959 0 : tree _q91 = TREE_OPERAND (_q71, 1);
11960 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
11961 : {
11962 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
11963 : {
11964 0 : {
11965 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
11966 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR);
11967 0 : if (res) return res;
11968 : }
11969 : }
11970 : }
11971 : break;
11972 : }
11973 : default:;
11974 : }
11975 : break;
11976 : }
11977 : default:;
11978 : }
11979 : break;
11980 : }
11981 0 : case UNLE_EXPR:
11982 0 : {
11983 0 : tree _q40 = TREE_OPERAND (_q21, 0);
11984 0 : tree _q41 = TREE_OPERAND (_q21, 1);
11985 0 : switch (TREE_CODE (_p1))
11986 : {
11987 0 : case BIT_AND_EXPR:
11988 0 : {
11989 0 : tree _q70 = TREE_OPERAND (_p1, 0);
11990 0 : tree _q71 = TREE_OPERAND (_p1, 1);
11991 0 : switch (TREE_CODE (_q70))
11992 : {
11993 0 : case GT_EXPR:
11994 0 : {
11995 0 : tree _q80 = TREE_OPERAND (_q70, 0);
11996 0 : tree _q81 = TREE_OPERAND (_q70, 1);
11997 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
11998 : {
11999 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
12000 : {
12001 0 : {
12002 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
12003 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR);
12004 0 : if (res) return res;
12005 : }
12006 : }
12007 : }
12008 : break;
12009 : }
12010 0 : default:;
12011 : }
12012 0 : switch (TREE_CODE (_q71))
12013 : {
12014 0 : case GT_EXPR:
12015 0 : {
12016 0 : tree _q90 = TREE_OPERAND (_q71, 0);
12017 0 : tree _q91 = TREE_OPERAND (_q71, 1);
12018 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
12019 : {
12020 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
12021 : {
12022 0 : {
12023 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
12024 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR);
12025 0 : if (res) return res;
12026 : }
12027 : }
12028 : }
12029 : break;
12030 : }
12031 : default:;
12032 : }
12033 : break;
12034 : }
12035 : default:;
12036 : }
12037 : break;
12038 : }
12039 0 : case UNGT_EXPR:
12040 0 : {
12041 0 : tree _q40 = TREE_OPERAND (_q21, 0);
12042 0 : tree _q41 = TREE_OPERAND (_q21, 1);
12043 0 : switch (TREE_CODE (_p1))
12044 : {
12045 0 : case BIT_AND_EXPR:
12046 0 : {
12047 0 : tree _q70 = TREE_OPERAND (_p1, 0);
12048 0 : tree _q71 = TREE_OPERAND (_p1, 1);
12049 0 : switch (TREE_CODE (_q70))
12050 : {
12051 0 : case LE_EXPR:
12052 0 : {
12053 0 : tree _q80 = TREE_OPERAND (_q70, 0);
12054 0 : tree _q81 = TREE_OPERAND (_q70, 1);
12055 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
12056 : {
12057 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
12058 : {
12059 0 : {
12060 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
12061 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR);
12062 0 : if (res) return res;
12063 : }
12064 : }
12065 : }
12066 : break;
12067 : }
12068 0 : default:;
12069 : }
12070 0 : switch (TREE_CODE (_q71))
12071 : {
12072 0 : case LE_EXPR:
12073 0 : {
12074 0 : tree _q90 = TREE_OPERAND (_q71, 0);
12075 0 : tree _q91 = TREE_OPERAND (_q71, 1);
12076 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
12077 : {
12078 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
12079 : {
12080 0 : {
12081 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
12082 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR);
12083 0 : if (res) return res;
12084 : }
12085 : }
12086 : }
12087 : break;
12088 : }
12089 : default:;
12090 : }
12091 : break;
12092 : }
12093 : default:;
12094 : }
12095 : break;
12096 : }
12097 0 : case UNGE_EXPR:
12098 0 : {
12099 0 : tree _q40 = TREE_OPERAND (_q21, 0);
12100 0 : tree _q41 = TREE_OPERAND (_q21, 1);
12101 0 : switch (TREE_CODE (_p1))
12102 : {
12103 0 : case BIT_AND_EXPR:
12104 0 : {
12105 0 : tree _q70 = TREE_OPERAND (_p1, 0);
12106 0 : tree _q71 = TREE_OPERAND (_p1, 1);
12107 0 : switch (TREE_CODE (_q70))
12108 : {
12109 0 : case LT_EXPR:
12110 0 : {
12111 0 : tree _q80 = TREE_OPERAND (_q70, 0);
12112 0 : tree _q81 = TREE_OPERAND (_q70, 1);
12113 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
12114 : {
12115 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
12116 : {
12117 0 : {
12118 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
12119 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR);
12120 0 : if (res) return res;
12121 : }
12122 : }
12123 : }
12124 : break;
12125 : }
12126 0 : default:;
12127 : }
12128 0 : switch (TREE_CODE (_q71))
12129 : {
12130 0 : case LT_EXPR:
12131 0 : {
12132 0 : tree _q90 = TREE_OPERAND (_q71, 0);
12133 0 : tree _q91 = TREE_OPERAND (_q71, 1);
12134 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
12135 : {
12136 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
12137 : {
12138 0 : {
12139 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
12140 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR);
12141 0 : if (res) return res;
12142 : }
12143 : }
12144 : }
12145 : break;
12146 : }
12147 : default:;
12148 : }
12149 : break;
12150 : }
12151 : default:;
12152 : }
12153 : break;
12154 : }
12155 0 : case UNEQ_EXPR:
12156 0 : {
12157 0 : tree _q40 = TREE_OPERAND (_q21, 0);
12158 0 : tree _q41 = TREE_OPERAND (_q21, 1);
12159 0 : switch (TREE_CODE (_p1))
12160 : {
12161 0 : case BIT_AND_EXPR:
12162 0 : {
12163 0 : tree _q70 = TREE_OPERAND (_p1, 0);
12164 0 : tree _q71 = TREE_OPERAND (_p1, 1);
12165 0 : switch (TREE_CODE (_q70))
12166 : {
12167 0 : case LTGT_EXPR:
12168 0 : {
12169 0 : tree _q80 = TREE_OPERAND (_q70, 0);
12170 0 : tree _q81 = TREE_OPERAND (_q70, 1);
12171 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
12172 : {
12173 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
12174 : {
12175 0 : {
12176 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
12177 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR);
12178 0 : if (res) return res;
12179 : }
12180 : }
12181 : }
12182 : break;
12183 : }
12184 0 : default:;
12185 : }
12186 0 : switch (TREE_CODE (_q71))
12187 : {
12188 0 : case LTGT_EXPR:
12189 0 : {
12190 0 : tree _q90 = TREE_OPERAND (_q71, 0);
12191 0 : tree _q91 = TREE_OPERAND (_q71, 1);
12192 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
12193 : {
12194 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
12195 : {
12196 0 : {
12197 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
12198 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR);
12199 0 : if (res) return res;
12200 : }
12201 : }
12202 : }
12203 : break;
12204 : }
12205 : default:;
12206 : }
12207 : break;
12208 : }
12209 : default:;
12210 : }
12211 : break;
12212 : }
12213 0 : case LTGT_EXPR:
12214 0 : {
12215 0 : tree _q40 = TREE_OPERAND (_q21, 0);
12216 0 : tree _q41 = TREE_OPERAND (_q21, 1);
12217 0 : switch (TREE_CODE (_p1))
12218 : {
12219 0 : case BIT_AND_EXPR:
12220 0 : {
12221 0 : tree _q70 = TREE_OPERAND (_p1, 0);
12222 0 : tree _q71 = TREE_OPERAND (_p1, 1);
12223 0 : switch (TREE_CODE (_q70))
12224 : {
12225 0 : case UNEQ_EXPR:
12226 0 : {
12227 0 : tree _q80 = TREE_OPERAND (_q70, 0);
12228 0 : tree _q81 = TREE_OPERAND (_q70, 1);
12229 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
12230 : {
12231 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
12232 : {
12233 0 : {
12234 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
12235 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR);
12236 0 : if (res) return res;
12237 : }
12238 : }
12239 : }
12240 : break;
12241 : }
12242 0 : default:;
12243 : }
12244 0 : switch (TREE_CODE (_q71))
12245 : {
12246 0 : case UNEQ_EXPR:
12247 0 : {
12248 0 : tree _q90 = TREE_OPERAND (_q71, 0);
12249 0 : tree _q91 = TREE_OPERAND (_q71, 1);
12250 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
12251 : {
12252 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
12253 : {
12254 0 : {
12255 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
12256 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR);
12257 0 : if (res) return res;
12258 : }
12259 : }
12260 : }
12261 : break;
12262 : }
12263 : default:;
12264 : }
12265 : break;
12266 : }
12267 : default:;
12268 : }
12269 : break;
12270 : }
12271 308771 : default:;
12272 : }
12273 308771 : switch (TREE_CODE (_q20))
12274 : {
12275 0 : case VEC_COND_EXPR:
12276 0 : {
12277 0 : tree _q30 = TREE_OPERAND (_q20, 0);
12278 0 : tree _q31 = TREE_OPERAND (_q20, 1);
12279 0 : tree _q32 = TREE_OPERAND (_q20, 2);
12280 0 : switch (TREE_CODE (_q30))
12281 : {
12282 0 : case LT_EXPR:
12283 0 : {
12284 0 : tree _q40 = TREE_OPERAND (_q30, 0);
12285 0 : tree _q41 = TREE_OPERAND (_q30, 1);
12286 0 : switch (TREE_CODE (_p1))
12287 : {
12288 0 : case BIT_AND_EXPR:
12289 0 : {
12290 0 : tree _q100 = TREE_OPERAND (_p1, 0);
12291 0 : tree _q101 = TREE_OPERAND (_p1, 1);
12292 0 : switch (TREE_CODE (_q100))
12293 : {
12294 0 : case VEC_COND_EXPR:
12295 0 : {
12296 0 : tree _q110 = TREE_OPERAND (_q100, 0);
12297 0 : tree _q111 = TREE_OPERAND (_q100, 1);
12298 0 : tree _q112 = TREE_OPERAND (_q100, 2);
12299 0 : switch (TREE_CODE (_q110))
12300 : {
12301 0 : case GE_EXPR:
12302 0 : {
12303 0 : tree _q120 = TREE_OPERAND (_q110, 0);
12304 0 : tree _q121 = TREE_OPERAND (_q110, 1);
12305 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
12306 : {
12307 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
12308 : {
12309 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
12310 : {
12311 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
12312 : {
12313 0 : {
12314 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
12315 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
12316 0 : if (res) return res;
12317 : }
12318 : }
12319 : }
12320 : }
12321 : }
12322 : break;
12323 : }
12324 : default:;
12325 : }
12326 : break;
12327 : }
12328 0 : default:;
12329 : }
12330 0 : switch (TREE_CODE (_q101))
12331 : {
12332 0 : case VEC_COND_EXPR:
12333 0 : {
12334 0 : tree _q120 = TREE_OPERAND (_q101, 0);
12335 0 : tree _q121 = TREE_OPERAND (_q101, 1);
12336 0 : tree _q122 = TREE_OPERAND (_q101, 2);
12337 0 : switch (TREE_CODE (_q120))
12338 : {
12339 0 : case GE_EXPR:
12340 0 : {
12341 0 : tree _q130 = TREE_OPERAND (_q120, 0);
12342 0 : tree _q131 = TREE_OPERAND (_q120, 1);
12343 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
12344 : {
12345 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
12346 : {
12347 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
12348 : {
12349 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
12350 : {
12351 0 : {
12352 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
12353 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
12354 0 : if (res) return res;
12355 : }
12356 : }
12357 : }
12358 : }
12359 : }
12360 : break;
12361 : }
12362 : default:;
12363 : }
12364 : break;
12365 : }
12366 : default:;
12367 : }
12368 : break;
12369 : }
12370 : default:;
12371 : }
12372 : break;
12373 : }
12374 0 : case LE_EXPR:
12375 0 : {
12376 0 : tree _q40 = TREE_OPERAND (_q30, 0);
12377 0 : tree _q41 = TREE_OPERAND (_q30, 1);
12378 0 : switch (TREE_CODE (_p1))
12379 : {
12380 0 : case BIT_AND_EXPR:
12381 0 : {
12382 0 : tree _q100 = TREE_OPERAND (_p1, 0);
12383 0 : tree _q101 = TREE_OPERAND (_p1, 1);
12384 0 : switch (TREE_CODE (_q100))
12385 : {
12386 0 : case VEC_COND_EXPR:
12387 0 : {
12388 0 : tree _q110 = TREE_OPERAND (_q100, 0);
12389 0 : tree _q111 = TREE_OPERAND (_q100, 1);
12390 0 : tree _q112 = TREE_OPERAND (_q100, 2);
12391 0 : switch (TREE_CODE (_q110))
12392 : {
12393 0 : case GT_EXPR:
12394 0 : {
12395 0 : tree _q120 = TREE_OPERAND (_q110, 0);
12396 0 : tree _q121 = TREE_OPERAND (_q110, 1);
12397 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
12398 : {
12399 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
12400 : {
12401 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
12402 : {
12403 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
12404 : {
12405 0 : {
12406 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
12407 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
12408 0 : if (res) return res;
12409 : }
12410 : }
12411 : }
12412 : }
12413 : }
12414 : break;
12415 : }
12416 : default:;
12417 : }
12418 : break;
12419 : }
12420 0 : default:;
12421 : }
12422 0 : switch (TREE_CODE (_q101))
12423 : {
12424 0 : case VEC_COND_EXPR:
12425 0 : {
12426 0 : tree _q120 = TREE_OPERAND (_q101, 0);
12427 0 : tree _q121 = TREE_OPERAND (_q101, 1);
12428 0 : tree _q122 = TREE_OPERAND (_q101, 2);
12429 0 : switch (TREE_CODE (_q120))
12430 : {
12431 0 : case GT_EXPR:
12432 0 : {
12433 0 : tree _q130 = TREE_OPERAND (_q120, 0);
12434 0 : tree _q131 = TREE_OPERAND (_q120, 1);
12435 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
12436 : {
12437 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
12438 : {
12439 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
12440 : {
12441 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
12442 : {
12443 0 : {
12444 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
12445 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
12446 0 : if (res) return res;
12447 : }
12448 : }
12449 : }
12450 : }
12451 : }
12452 : break;
12453 : }
12454 : default:;
12455 : }
12456 : break;
12457 : }
12458 : default:;
12459 : }
12460 : break;
12461 : }
12462 : default:;
12463 : }
12464 : break;
12465 : }
12466 0 : case EQ_EXPR:
12467 0 : {
12468 0 : tree _q40 = TREE_OPERAND (_q30, 0);
12469 0 : tree _q41 = TREE_OPERAND (_q30, 1);
12470 0 : switch (TREE_CODE (_p1))
12471 : {
12472 0 : case BIT_AND_EXPR:
12473 0 : {
12474 0 : tree _q100 = TREE_OPERAND (_p1, 0);
12475 0 : tree _q101 = TREE_OPERAND (_p1, 1);
12476 0 : switch (TREE_CODE (_q100))
12477 : {
12478 0 : case VEC_COND_EXPR:
12479 0 : {
12480 0 : tree _q110 = TREE_OPERAND (_q100, 0);
12481 0 : tree _q111 = TREE_OPERAND (_q100, 1);
12482 0 : tree _q112 = TREE_OPERAND (_q100, 2);
12483 0 : switch (TREE_CODE (_q110))
12484 : {
12485 0 : case NE_EXPR:
12486 0 : {
12487 0 : tree _q120 = TREE_OPERAND (_q110, 0);
12488 0 : tree _q121 = TREE_OPERAND (_q110, 1);
12489 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
12490 : {
12491 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
12492 : {
12493 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
12494 : {
12495 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
12496 : {
12497 0 : {
12498 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
12499 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
12500 0 : if (res) return res;
12501 : }
12502 : }
12503 : }
12504 : }
12505 : }
12506 : break;
12507 : }
12508 : default:;
12509 : }
12510 : break;
12511 : }
12512 0 : default:;
12513 : }
12514 0 : switch (TREE_CODE (_q101))
12515 : {
12516 0 : case VEC_COND_EXPR:
12517 0 : {
12518 0 : tree _q120 = TREE_OPERAND (_q101, 0);
12519 0 : tree _q121 = TREE_OPERAND (_q101, 1);
12520 0 : tree _q122 = TREE_OPERAND (_q101, 2);
12521 0 : switch (TREE_CODE (_q120))
12522 : {
12523 0 : case NE_EXPR:
12524 0 : {
12525 0 : tree _q130 = TREE_OPERAND (_q120, 0);
12526 0 : tree _q131 = TREE_OPERAND (_q120, 1);
12527 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
12528 : {
12529 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
12530 : {
12531 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
12532 : {
12533 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
12534 : {
12535 0 : {
12536 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
12537 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
12538 0 : if (res) return res;
12539 : }
12540 : }
12541 : }
12542 : }
12543 : }
12544 : break;
12545 : }
12546 : default:;
12547 : }
12548 : break;
12549 : }
12550 : default:;
12551 : }
12552 : break;
12553 : }
12554 : default:;
12555 : }
12556 : break;
12557 : }
12558 0 : case NE_EXPR:
12559 0 : {
12560 0 : tree _q40 = TREE_OPERAND (_q30, 0);
12561 0 : tree _q41 = TREE_OPERAND (_q30, 1);
12562 0 : switch (TREE_CODE (_p1))
12563 : {
12564 0 : case BIT_AND_EXPR:
12565 0 : {
12566 0 : tree _q100 = TREE_OPERAND (_p1, 0);
12567 0 : tree _q101 = TREE_OPERAND (_p1, 1);
12568 0 : switch (TREE_CODE (_q100))
12569 : {
12570 0 : case VEC_COND_EXPR:
12571 0 : {
12572 0 : tree _q110 = TREE_OPERAND (_q100, 0);
12573 0 : tree _q111 = TREE_OPERAND (_q100, 1);
12574 0 : tree _q112 = TREE_OPERAND (_q100, 2);
12575 0 : switch (TREE_CODE (_q110))
12576 : {
12577 0 : case EQ_EXPR:
12578 0 : {
12579 0 : tree _q120 = TREE_OPERAND (_q110, 0);
12580 0 : tree _q121 = TREE_OPERAND (_q110, 1);
12581 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
12582 : {
12583 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
12584 : {
12585 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
12586 : {
12587 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
12588 : {
12589 0 : {
12590 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
12591 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
12592 0 : if (res) return res;
12593 : }
12594 : }
12595 : }
12596 : }
12597 : }
12598 : break;
12599 : }
12600 : default:;
12601 : }
12602 : break;
12603 : }
12604 0 : default:;
12605 : }
12606 0 : switch (TREE_CODE (_q101))
12607 : {
12608 0 : case VEC_COND_EXPR:
12609 0 : {
12610 0 : tree _q120 = TREE_OPERAND (_q101, 0);
12611 0 : tree _q121 = TREE_OPERAND (_q101, 1);
12612 0 : tree _q122 = TREE_OPERAND (_q101, 2);
12613 0 : switch (TREE_CODE (_q120))
12614 : {
12615 0 : case EQ_EXPR:
12616 0 : {
12617 0 : tree _q130 = TREE_OPERAND (_q120, 0);
12618 0 : tree _q131 = TREE_OPERAND (_q120, 1);
12619 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
12620 : {
12621 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
12622 : {
12623 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
12624 : {
12625 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
12626 : {
12627 0 : {
12628 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
12629 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
12630 0 : if (res) return res;
12631 : }
12632 : }
12633 : }
12634 : }
12635 : }
12636 : break;
12637 : }
12638 : default:;
12639 : }
12640 : break;
12641 : }
12642 : default:;
12643 : }
12644 : break;
12645 : }
12646 : default:;
12647 : }
12648 : break;
12649 : }
12650 0 : case GE_EXPR:
12651 0 : {
12652 0 : tree _q40 = TREE_OPERAND (_q30, 0);
12653 0 : tree _q41 = TREE_OPERAND (_q30, 1);
12654 0 : switch (TREE_CODE (_p1))
12655 : {
12656 0 : case BIT_AND_EXPR:
12657 0 : {
12658 0 : tree _q100 = TREE_OPERAND (_p1, 0);
12659 0 : tree _q101 = TREE_OPERAND (_p1, 1);
12660 0 : switch (TREE_CODE (_q100))
12661 : {
12662 0 : case VEC_COND_EXPR:
12663 0 : {
12664 0 : tree _q110 = TREE_OPERAND (_q100, 0);
12665 0 : tree _q111 = TREE_OPERAND (_q100, 1);
12666 0 : tree _q112 = TREE_OPERAND (_q100, 2);
12667 0 : switch (TREE_CODE (_q110))
12668 : {
12669 0 : case LT_EXPR:
12670 0 : {
12671 0 : tree _q120 = TREE_OPERAND (_q110, 0);
12672 0 : tree _q121 = TREE_OPERAND (_q110, 1);
12673 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
12674 : {
12675 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
12676 : {
12677 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
12678 : {
12679 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
12680 : {
12681 0 : {
12682 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
12683 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
12684 0 : if (res) return res;
12685 : }
12686 : }
12687 : }
12688 : }
12689 : }
12690 : break;
12691 : }
12692 : default:;
12693 : }
12694 : break;
12695 : }
12696 0 : default:;
12697 : }
12698 0 : switch (TREE_CODE (_q101))
12699 : {
12700 0 : case VEC_COND_EXPR:
12701 0 : {
12702 0 : tree _q120 = TREE_OPERAND (_q101, 0);
12703 0 : tree _q121 = TREE_OPERAND (_q101, 1);
12704 0 : tree _q122 = TREE_OPERAND (_q101, 2);
12705 0 : switch (TREE_CODE (_q120))
12706 : {
12707 0 : case LT_EXPR:
12708 0 : {
12709 0 : tree _q130 = TREE_OPERAND (_q120, 0);
12710 0 : tree _q131 = TREE_OPERAND (_q120, 1);
12711 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
12712 : {
12713 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
12714 : {
12715 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
12716 : {
12717 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
12718 : {
12719 0 : {
12720 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
12721 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
12722 0 : if (res) return res;
12723 : }
12724 : }
12725 : }
12726 : }
12727 : }
12728 : break;
12729 : }
12730 : default:;
12731 : }
12732 : break;
12733 : }
12734 : default:;
12735 : }
12736 : break;
12737 : }
12738 : default:;
12739 : }
12740 : break;
12741 : }
12742 0 : case GT_EXPR:
12743 0 : {
12744 0 : tree _q40 = TREE_OPERAND (_q30, 0);
12745 0 : tree _q41 = TREE_OPERAND (_q30, 1);
12746 0 : switch (TREE_CODE (_p1))
12747 : {
12748 0 : case BIT_AND_EXPR:
12749 0 : {
12750 0 : tree _q100 = TREE_OPERAND (_p1, 0);
12751 0 : tree _q101 = TREE_OPERAND (_p1, 1);
12752 0 : switch (TREE_CODE (_q100))
12753 : {
12754 0 : case VEC_COND_EXPR:
12755 0 : {
12756 0 : tree _q110 = TREE_OPERAND (_q100, 0);
12757 0 : tree _q111 = TREE_OPERAND (_q100, 1);
12758 0 : tree _q112 = TREE_OPERAND (_q100, 2);
12759 0 : switch (TREE_CODE (_q110))
12760 : {
12761 0 : case LE_EXPR:
12762 0 : {
12763 0 : tree _q120 = TREE_OPERAND (_q110, 0);
12764 0 : tree _q121 = TREE_OPERAND (_q110, 1);
12765 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
12766 : {
12767 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
12768 : {
12769 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
12770 : {
12771 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
12772 : {
12773 0 : {
12774 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
12775 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
12776 0 : if (res) return res;
12777 : }
12778 : }
12779 : }
12780 : }
12781 : }
12782 : break;
12783 : }
12784 : default:;
12785 : }
12786 : break;
12787 : }
12788 0 : default:;
12789 : }
12790 0 : switch (TREE_CODE (_q101))
12791 : {
12792 0 : case VEC_COND_EXPR:
12793 0 : {
12794 0 : tree _q120 = TREE_OPERAND (_q101, 0);
12795 0 : tree _q121 = TREE_OPERAND (_q101, 1);
12796 0 : tree _q122 = TREE_OPERAND (_q101, 2);
12797 0 : switch (TREE_CODE (_q120))
12798 : {
12799 0 : case LE_EXPR:
12800 0 : {
12801 0 : tree _q130 = TREE_OPERAND (_q120, 0);
12802 0 : tree _q131 = TREE_OPERAND (_q120, 1);
12803 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
12804 : {
12805 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
12806 : {
12807 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
12808 : {
12809 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
12810 : {
12811 0 : {
12812 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
12813 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
12814 0 : if (res) return res;
12815 : }
12816 : }
12817 : }
12818 : }
12819 : }
12820 : break;
12821 : }
12822 : default:;
12823 : }
12824 : break;
12825 : }
12826 : default:;
12827 : }
12828 : break;
12829 : }
12830 : default:;
12831 : }
12832 : break;
12833 : }
12834 0 : case UNORDERED_EXPR:
12835 0 : {
12836 0 : tree _q40 = TREE_OPERAND (_q30, 0);
12837 0 : tree _q41 = TREE_OPERAND (_q30, 1);
12838 0 : switch (TREE_CODE (_p1))
12839 : {
12840 0 : case BIT_AND_EXPR:
12841 0 : {
12842 0 : tree _q100 = TREE_OPERAND (_p1, 0);
12843 0 : tree _q101 = TREE_OPERAND (_p1, 1);
12844 0 : switch (TREE_CODE (_q100))
12845 : {
12846 0 : case VEC_COND_EXPR:
12847 0 : {
12848 0 : tree _q110 = TREE_OPERAND (_q100, 0);
12849 0 : tree _q111 = TREE_OPERAND (_q100, 1);
12850 0 : tree _q112 = TREE_OPERAND (_q100, 2);
12851 0 : switch (TREE_CODE (_q110))
12852 : {
12853 0 : case ORDERED_EXPR:
12854 0 : {
12855 0 : tree _q120 = TREE_OPERAND (_q110, 0);
12856 0 : tree _q121 = TREE_OPERAND (_q110, 1);
12857 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
12858 : {
12859 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
12860 : {
12861 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
12862 : {
12863 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
12864 : {
12865 0 : {
12866 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
12867 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR);
12868 0 : if (res) return res;
12869 : }
12870 : }
12871 : }
12872 : }
12873 : }
12874 : break;
12875 : }
12876 : default:;
12877 : }
12878 : break;
12879 : }
12880 0 : default:;
12881 : }
12882 0 : switch (TREE_CODE (_q101))
12883 : {
12884 0 : case VEC_COND_EXPR:
12885 0 : {
12886 0 : tree _q120 = TREE_OPERAND (_q101, 0);
12887 0 : tree _q121 = TREE_OPERAND (_q101, 1);
12888 0 : tree _q122 = TREE_OPERAND (_q101, 2);
12889 0 : switch (TREE_CODE (_q120))
12890 : {
12891 0 : case ORDERED_EXPR:
12892 0 : {
12893 0 : tree _q130 = TREE_OPERAND (_q120, 0);
12894 0 : tree _q131 = TREE_OPERAND (_q120, 1);
12895 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
12896 : {
12897 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
12898 : {
12899 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
12900 : {
12901 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
12902 : {
12903 0 : {
12904 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
12905 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR);
12906 0 : if (res) return res;
12907 : }
12908 : }
12909 : }
12910 : }
12911 : }
12912 : break;
12913 : }
12914 : default:;
12915 : }
12916 : break;
12917 : }
12918 : default:;
12919 : }
12920 : break;
12921 : }
12922 : default:;
12923 : }
12924 : break;
12925 : }
12926 0 : case ORDERED_EXPR:
12927 0 : {
12928 0 : tree _q40 = TREE_OPERAND (_q30, 0);
12929 0 : tree _q41 = TREE_OPERAND (_q30, 1);
12930 0 : switch (TREE_CODE (_p1))
12931 : {
12932 0 : case BIT_AND_EXPR:
12933 0 : {
12934 0 : tree _q100 = TREE_OPERAND (_p1, 0);
12935 0 : tree _q101 = TREE_OPERAND (_p1, 1);
12936 0 : switch (TREE_CODE (_q100))
12937 : {
12938 0 : case VEC_COND_EXPR:
12939 0 : {
12940 0 : tree _q110 = TREE_OPERAND (_q100, 0);
12941 0 : tree _q111 = TREE_OPERAND (_q100, 1);
12942 0 : tree _q112 = TREE_OPERAND (_q100, 2);
12943 0 : switch (TREE_CODE (_q110))
12944 : {
12945 0 : case UNORDERED_EXPR:
12946 0 : {
12947 0 : tree _q120 = TREE_OPERAND (_q110, 0);
12948 0 : tree _q121 = TREE_OPERAND (_q110, 1);
12949 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
12950 : {
12951 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
12952 : {
12953 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
12954 : {
12955 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
12956 : {
12957 0 : {
12958 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
12959 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR);
12960 0 : if (res) return res;
12961 : }
12962 : }
12963 : }
12964 : }
12965 : }
12966 : break;
12967 : }
12968 : default:;
12969 : }
12970 : break;
12971 : }
12972 0 : default:;
12973 : }
12974 0 : switch (TREE_CODE (_q101))
12975 : {
12976 0 : case VEC_COND_EXPR:
12977 0 : {
12978 0 : tree _q120 = TREE_OPERAND (_q101, 0);
12979 0 : tree _q121 = TREE_OPERAND (_q101, 1);
12980 0 : tree _q122 = TREE_OPERAND (_q101, 2);
12981 0 : switch (TREE_CODE (_q120))
12982 : {
12983 0 : case UNORDERED_EXPR:
12984 0 : {
12985 0 : tree _q130 = TREE_OPERAND (_q120, 0);
12986 0 : tree _q131 = TREE_OPERAND (_q120, 1);
12987 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
12988 : {
12989 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
12990 : {
12991 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
12992 : {
12993 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
12994 : {
12995 0 : {
12996 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
12997 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR);
12998 0 : if (res) return res;
12999 : }
13000 : }
13001 : }
13002 : }
13003 : }
13004 : break;
13005 : }
13006 : default:;
13007 : }
13008 : break;
13009 : }
13010 : default:;
13011 : }
13012 : break;
13013 : }
13014 : default:;
13015 : }
13016 : break;
13017 : }
13018 0 : case UNLT_EXPR:
13019 0 : {
13020 0 : tree _q40 = TREE_OPERAND (_q30, 0);
13021 0 : tree _q41 = TREE_OPERAND (_q30, 1);
13022 0 : switch (TREE_CODE (_p1))
13023 : {
13024 0 : case BIT_AND_EXPR:
13025 0 : {
13026 0 : tree _q100 = TREE_OPERAND (_p1, 0);
13027 0 : tree _q101 = TREE_OPERAND (_p1, 1);
13028 0 : switch (TREE_CODE (_q100))
13029 : {
13030 0 : case VEC_COND_EXPR:
13031 0 : {
13032 0 : tree _q110 = TREE_OPERAND (_q100, 0);
13033 0 : tree _q111 = TREE_OPERAND (_q100, 1);
13034 0 : tree _q112 = TREE_OPERAND (_q100, 2);
13035 0 : switch (TREE_CODE (_q110))
13036 : {
13037 0 : case GE_EXPR:
13038 0 : {
13039 0 : tree _q120 = TREE_OPERAND (_q110, 0);
13040 0 : tree _q121 = TREE_OPERAND (_q110, 1);
13041 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
13042 : {
13043 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
13044 : {
13045 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
13046 : {
13047 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
13048 : {
13049 0 : {
13050 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
13051 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR);
13052 0 : if (res) return res;
13053 : }
13054 : }
13055 : }
13056 : }
13057 : }
13058 : break;
13059 : }
13060 : default:;
13061 : }
13062 : break;
13063 : }
13064 0 : default:;
13065 : }
13066 0 : switch (TREE_CODE (_q101))
13067 : {
13068 0 : case VEC_COND_EXPR:
13069 0 : {
13070 0 : tree _q120 = TREE_OPERAND (_q101, 0);
13071 0 : tree _q121 = TREE_OPERAND (_q101, 1);
13072 0 : tree _q122 = TREE_OPERAND (_q101, 2);
13073 0 : switch (TREE_CODE (_q120))
13074 : {
13075 0 : case GE_EXPR:
13076 0 : {
13077 0 : tree _q130 = TREE_OPERAND (_q120, 0);
13078 0 : tree _q131 = TREE_OPERAND (_q120, 1);
13079 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
13080 : {
13081 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
13082 : {
13083 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
13084 : {
13085 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
13086 : {
13087 0 : {
13088 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
13089 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR);
13090 0 : if (res) return res;
13091 : }
13092 : }
13093 : }
13094 : }
13095 : }
13096 : break;
13097 : }
13098 : default:;
13099 : }
13100 : break;
13101 : }
13102 : default:;
13103 : }
13104 : break;
13105 : }
13106 : default:;
13107 : }
13108 : break;
13109 : }
13110 0 : case UNLE_EXPR:
13111 0 : {
13112 0 : tree _q40 = TREE_OPERAND (_q30, 0);
13113 0 : tree _q41 = TREE_OPERAND (_q30, 1);
13114 0 : switch (TREE_CODE (_p1))
13115 : {
13116 0 : case BIT_AND_EXPR:
13117 0 : {
13118 0 : tree _q100 = TREE_OPERAND (_p1, 0);
13119 0 : tree _q101 = TREE_OPERAND (_p1, 1);
13120 0 : switch (TREE_CODE (_q100))
13121 : {
13122 0 : case VEC_COND_EXPR:
13123 0 : {
13124 0 : tree _q110 = TREE_OPERAND (_q100, 0);
13125 0 : tree _q111 = TREE_OPERAND (_q100, 1);
13126 0 : tree _q112 = TREE_OPERAND (_q100, 2);
13127 0 : switch (TREE_CODE (_q110))
13128 : {
13129 0 : case GT_EXPR:
13130 0 : {
13131 0 : tree _q120 = TREE_OPERAND (_q110, 0);
13132 0 : tree _q121 = TREE_OPERAND (_q110, 1);
13133 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
13134 : {
13135 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
13136 : {
13137 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
13138 : {
13139 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
13140 : {
13141 0 : {
13142 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
13143 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR);
13144 0 : if (res) return res;
13145 : }
13146 : }
13147 : }
13148 : }
13149 : }
13150 : break;
13151 : }
13152 : default:;
13153 : }
13154 : break;
13155 : }
13156 0 : default:;
13157 : }
13158 0 : switch (TREE_CODE (_q101))
13159 : {
13160 0 : case VEC_COND_EXPR:
13161 0 : {
13162 0 : tree _q120 = TREE_OPERAND (_q101, 0);
13163 0 : tree _q121 = TREE_OPERAND (_q101, 1);
13164 0 : tree _q122 = TREE_OPERAND (_q101, 2);
13165 0 : switch (TREE_CODE (_q120))
13166 : {
13167 0 : case GT_EXPR:
13168 0 : {
13169 0 : tree _q130 = TREE_OPERAND (_q120, 0);
13170 0 : tree _q131 = TREE_OPERAND (_q120, 1);
13171 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
13172 : {
13173 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
13174 : {
13175 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
13176 : {
13177 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
13178 : {
13179 0 : {
13180 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
13181 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR);
13182 0 : if (res) return res;
13183 : }
13184 : }
13185 : }
13186 : }
13187 : }
13188 : break;
13189 : }
13190 : default:;
13191 : }
13192 : break;
13193 : }
13194 : default:;
13195 : }
13196 : break;
13197 : }
13198 : default:;
13199 : }
13200 : break;
13201 : }
13202 0 : case UNGT_EXPR:
13203 0 : {
13204 0 : tree _q40 = TREE_OPERAND (_q30, 0);
13205 0 : tree _q41 = TREE_OPERAND (_q30, 1);
13206 0 : switch (TREE_CODE (_p1))
13207 : {
13208 0 : case BIT_AND_EXPR:
13209 0 : {
13210 0 : tree _q100 = TREE_OPERAND (_p1, 0);
13211 0 : tree _q101 = TREE_OPERAND (_p1, 1);
13212 0 : switch (TREE_CODE (_q100))
13213 : {
13214 0 : case VEC_COND_EXPR:
13215 0 : {
13216 0 : tree _q110 = TREE_OPERAND (_q100, 0);
13217 0 : tree _q111 = TREE_OPERAND (_q100, 1);
13218 0 : tree _q112 = TREE_OPERAND (_q100, 2);
13219 0 : switch (TREE_CODE (_q110))
13220 : {
13221 0 : case LE_EXPR:
13222 0 : {
13223 0 : tree _q120 = TREE_OPERAND (_q110, 0);
13224 0 : tree _q121 = TREE_OPERAND (_q110, 1);
13225 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
13226 : {
13227 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
13228 : {
13229 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
13230 : {
13231 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
13232 : {
13233 0 : {
13234 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
13235 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR);
13236 0 : if (res) return res;
13237 : }
13238 : }
13239 : }
13240 : }
13241 : }
13242 : break;
13243 : }
13244 : default:;
13245 : }
13246 : break;
13247 : }
13248 0 : default:;
13249 : }
13250 0 : switch (TREE_CODE (_q101))
13251 : {
13252 0 : case VEC_COND_EXPR:
13253 0 : {
13254 0 : tree _q120 = TREE_OPERAND (_q101, 0);
13255 0 : tree _q121 = TREE_OPERAND (_q101, 1);
13256 0 : tree _q122 = TREE_OPERAND (_q101, 2);
13257 0 : switch (TREE_CODE (_q120))
13258 : {
13259 0 : case LE_EXPR:
13260 0 : {
13261 0 : tree _q130 = TREE_OPERAND (_q120, 0);
13262 0 : tree _q131 = TREE_OPERAND (_q120, 1);
13263 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
13264 : {
13265 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
13266 : {
13267 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
13268 : {
13269 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
13270 : {
13271 0 : {
13272 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
13273 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR);
13274 0 : if (res) return res;
13275 : }
13276 : }
13277 : }
13278 : }
13279 : }
13280 : break;
13281 : }
13282 : default:;
13283 : }
13284 : break;
13285 : }
13286 : default:;
13287 : }
13288 : break;
13289 : }
13290 : default:;
13291 : }
13292 : break;
13293 : }
13294 0 : case UNGE_EXPR:
13295 0 : {
13296 0 : tree _q40 = TREE_OPERAND (_q30, 0);
13297 0 : tree _q41 = TREE_OPERAND (_q30, 1);
13298 0 : switch (TREE_CODE (_p1))
13299 : {
13300 0 : case BIT_AND_EXPR:
13301 0 : {
13302 0 : tree _q100 = TREE_OPERAND (_p1, 0);
13303 0 : tree _q101 = TREE_OPERAND (_p1, 1);
13304 0 : switch (TREE_CODE (_q100))
13305 : {
13306 0 : case VEC_COND_EXPR:
13307 0 : {
13308 0 : tree _q110 = TREE_OPERAND (_q100, 0);
13309 0 : tree _q111 = TREE_OPERAND (_q100, 1);
13310 0 : tree _q112 = TREE_OPERAND (_q100, 2);
13311 0 : switch (TREE_CODE (_q110))
13312 : {
13313 0 : case LT_EXPR:
13314 0 : {
13315 0 : tree _q120 = TREE_OPERAND (_q110, 0);
13316 0 : tree _q121 = TREE_OPERAND (_q110, 1);
13317 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
13318 : {
13319 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
13320 : {
13321 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
13322 : {
13323 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
13324 : {
13325 0 : {
13326 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
13327 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR);
13328 0 : if (res) return res;
13329 : }
13330 : }
13331 : }
13332 : }
13333 : }
13334 : break;
13335 : }
13336 : default:;
13337 : }
13338 : break;
13339 : }
13340 0 : default:;
13341 : }
13342 0 : switch (TREE_CODE (_q101))
13343 : {
13344 0 : case VEC_COND_EXPR:
13345 0 : {
13346 0 : tree _q120 = TREE_OPERAND (_q101, 0);
13347 0 : tree _q121 = TREE_OPERAND (_q101, 1);
13348 0 : tree _q122 = TREE_OPERAND (_q101, 2);
13349 0 : switch (TREE_CODE (_q120))
13350 : {
13351 0 : case LT_EXPR:
13352 0 : {
13353 0 : tree _q130 = TREE_OPERAND (_q120, 0);
13354 0 : tree _q131 = TREE_OPERAND (_q120, 1);
13355 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
13356 : {
13357 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
13358 : {
13359 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
13360 : {
13361 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
13362 : {
13363 0 : {
13364 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
13365 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR);
13366 0 : if (res) return res;
13367 : }
13368 : }
13369 : }
13370 : }
13371 : }
13372 : break;
13373 : }
13374 : default:;
13375 : }
13376 : break;
13377 : }
13378 : default:;
13379 : }
13380 : break;
13381 : }
13382 : default:;
13383 : }
13384 : break;
13385 : }
13386 0 : case UNEQ_EXPR:
13387 0 : {
13388 0 : tree _q40 = TREE_OPERAND (_q30, 0);
13389 0 : tree _q41 = TREE_OPERAND (_q30, 1);
13390 0 : switch (TREE_CODE (_p1))
13391 : {
13392 0 : case BIT_AND_EXPR:
13393 0 : {
13394 0 : tree _q100 = TREE_OPERAND (_p1, 0);
13395 0 : tree _q101 = TREE_OPERAND (_p1, 1);
13396 0 : switch (TREE_CODE (_q100))
13397 : {
13398 0 : case VEC_COND_EXPR:
13399 0 : {
13400 0 : tree _q110 = TREE_OPERAND (_q100, 0);
13401 0 : tree _q111 = TREE_OPERAND (_q100, 1);
13402 0 : tree _q112 = TREE_OPERAND (_q100, 2);
13403 0 : switch (TREE_CODE (_q110))
13404 : {
13405 0 : case LTGT_EXPR:
13406 0 : {
13407 0 : tree _q120 = TREE_OPERAND (_q110, 0);
13408 0 : tree _q121 = TREE_OPERAND (_q110, 1);
13409 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
13410 : {
13411 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
13412 : {
13413 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
13414 : {
13415 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
13416 : {
13417 0 : {
13418 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
13419 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR);
13420 0 : if (res) return res;
13421 : }
13422 : }
13423 : }
13424 : }
13425 : }
13426 : break;
13427 : }
13428 : default:;
13429 : }
13430 : break;
13431 : }
13432 0 : default:;
13433 : }
13434 0 : switch (TREE_CODE (_q101))
13435 : {
13436 0 : case VEC_COND_EXPR:
13437 0 : {
13438 0 : tree _q120 = TREE_OPERAND (_q101, 0);
13439 0 : tree _q121 = TREE_OPERAND (_q101, 1);
13440 0 : tree _q122 = TREE_OPERAND (_q101, 2);
13441 0 : switch (TREE_CODE (_q120))
13442 : {
13443 0 : case LTGT_EXPR:
13444 0 : {
13445 0 : tree _q130 = TREE_OPERAND (_q120, 0);
13446 0 : tree _q131 = TREE_OPERAND (_q120, 1);
13447 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
13448 : {
13449 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
13450 : {
13451 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
13452 : {
13453 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
13454 : {
13455 0 : {
13456 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
13457 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR);
13458 0 : if (res) return res;
13459 : }
13460 : }
13461 : }
13462 : }
13463 : }
13464 : break;
13465 : }
13466 : default:;
13467 : }
13468 : break;
13469 : }
13470 : default:;
13471 : }
13472 : break;
13473 : }
13474 : default:;
13475 : }
13476 : break;
13477 : }
13478 0 : case LTGT_EXPR:
13479 0 : {
13480 0 : tree _q40 = TREE_OPERAND (_q30, 0);
13481 0 : tree _q41 = TREE_OPERAND (_q30, 1);
13482 0 : switch (TREE_CODE (_p1))
13483 : {
13484 0 : case BIT_AND_EXPR:
13485 0 : {
13486 0 : tree _q100 = TREE_OPERAND (_p1, 0);
13487 0 : tree _q101 = TREE_OPERAND (_p1, 1);
13488 0 : switch (TREE_CODE (_q100))
13489 : {
13490 0 : case VEC_COND_EXPR:
13491 0 : {
13492 0 : tree _q110 = TREE_OPERAND (_q100, 0);
13493 0 : tree _q111 = TREE_OPERAND (_q100, 1);
13494 0 : tree _q112 = TREE_OPERAND (_q100, 2);
13495 0 : switch (TREE_CODE (_q110))
13496 : {
13497 0 : case UNEQ_EXPR:
13498 0 : {
13499 0 : tree _q120 = TREE_OPERAND (_q110, 0);
13500 0 : tree _q121 = TREE_OPERAND (_q110, 1);
13501 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
13502 : {
13503 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
13504 : {
13505 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
13506 : {
13507 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
13508 : {
13509 0 : {
13510 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
13511 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR);
13512 0 : if (res) return res;
13513 : }
13514 : }
13515 : }
13516 : }
13517 : }
13518 : break;
13519 : }
13520 : default:;
13521 : }
13522 : break;
13523 : }
13524 0 : default:;
13525 : }
13526 0 : switch (TREE_CODE (_q101))
13527 : {
13528 0 : case VEC_COND_EXPR:
13529 0 : {
13530 0 : tree _q120 = TREE_OPERAND (_q101, 0);
13531 0 : tree _q121 = TREE_OPERAND (_q101, 1);
13532 0 : tree _q122 = TREE_OPERAND (_q101, 2);
13533 0 : switch (TREE_CODE (_q120))
13534 : {
13535 0 : case UNEQ_EXPR:
13536 0 : {
13537 0 : tree _q130 = TREE_OPERAND (_q120, 0);
13538 0 : tree _q131 = TREE_OPERAND (_q120, 1);
13539 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
13540 : {
13541 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
13542 : {
13543 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
13544 : {
13545 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
13546 : {
13547 0 : {
13548 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
13549 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR);
13550 0 : if (res) return res;
13551 : }
13552 : }
13553 : }
13554 : }
13555 : }
13556 : break;
13557 : }
13558 : default:;
13559 : }
13560 : break;
13561 : }
13562 : default:;
13563 : }
13564 : break;
13565 : }
13566 : default:;
13567 : }
13568 : break;
13569 : }
13570 : default:;
13571 : }
13572 : break;
13573 : }
13574 308771 : default:;
13575 : }
13576 308771 : switch (TREE_CODE (_q21))
13577 : {
13578 0 : case VEC_COND_EXPR:
13579 0 : {
13580 0 : tree _q40 = TREE_OPERAND (_q21, 0);
13581 0 : tree _q41 = TREE_OPERAND (_q21, 1);
13582 0 : tree _q42 = TREE_OPERAND (_q21, 2);
13583 0 : switch (TREE_CODE (_q40))
13584 : {
13585 0 : case LT_EXPR:
13586 0 : {
13587 0 : tree _q50 = TREE_OPERAND (_q40, 0);
13588 0 : tree _q51 = TREE_OPERAND (_q40, 1);
13589 0 : switch (TREE_CODE (_p1))
13590 : {
13591 0 : case BIT_AND_EXPR:
13592 0 : {
13593 0 : tree _q100 = TREE_OPERAND (_p1, 0);
13594 0 : tree _q101 = TREE_OPERAND (_p1, 1);
13595 0 : switch (TREE_CODE (_q100))
13596 : {
13597 0 : case VEC_COND_EXPR:
13598 0 : {
13599 0 : tree _q110 = TREE_OPERAND (_q100, 0);
13600 0 : tree _q111 = TREE_OPERAND (_q100, 1);
13601 0 : tree _q112 = TREE_OPERAND (_q100, 2);
13602 0 : switch (TREE_CODE (_q110))
13603 : {
13604 0 : case GE_EXPR:
13605 0 : {
13606 0 : tree _q120 = TREE_OPERAND (_q110, 0);
13607 0 : tree _q121 = TREE_OPERAND (_q110, 1);
13608 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
13609 : {
13610 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
13611 : {
13612 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
13613 : {
13614 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
13615 : {
13616 0 : {
13617 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
13618 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
13619 0 : if (res) return res;
13620 : }
13621 : }
13622 : }
13623 : }
13624 : }
13625 : break;
13626 : }
13627 : default:;
13628 : }
13629 : break;
13630 : }
13631 0 : default:;
13632 : }
13633 0 : switch (TREE_CODE (_q101))
13634 : {
13635 0 : case VEC_COND_EXPR:
13636 0 : {
13637 0 : tree _q120 = TREE_OPERAND (_q101, 0);
13638 0 : tree _q121 = TREE_OPERAND (_q101, 1);
13639 0 : tree _q122 = TREE_OPERAND (_q101, 2);
13640 0 : switch (TREE_CODE (_q120))
13641 : {
13642 0 : case GE_EXPR:
13643 0 : {
13644 0 : tree _q130 = TREE_OPERAND (_q120, 0);
13645 0 : tree _q131 = TREE_OPERAND (_q120, 1);
13646 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
13647 : {
13648 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
13649 : {
13650 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
13651 : {
13652 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
13653 : {
13654 0 : {
13655 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
13656 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
13657 0 : if (res) return res;
13658 : }
13659 : }
13660 : }
13661 : }
13662 : }
13663 : break;
13664 : }
13665 : default:;
13666 : }
13667 : break;
13668 : }
13669 : default:;
13670 : }
13671 : break;
13672 : }
13673 : default:;
13674 : }
13675 : break;
13676 : }
13677 0 : case LE_EXPR:
13678 0 : {
13679 0 : tree _q50 = TREE_OPERAND (_q40, 0);
13680 0 : tree _q51 = TREE_OPERAND (_q40, 1);
13681 0 : switch (TREE_CODE (_p1))
13682 : {
13683 0 : case BIT_AND_EXPR:
13684 0 : {
13685 0 : tree _q100 = TREE_OPERAND (_p1, 0);
13686 0 : tree _q101 = TREE_OPERAND (_p1, 1);
13687 0 : switch (TREE_CODE (_q100))
13688 : {
13689 0 : case VEC_COND_EXPR:
13690 0 : {
13691 0 : tree _q110 = TREE_OPERAND (_q100, 0);
13692 0 : tree _q111 = TREE_OPERAND (_q100, 1);
13693 0 : tree _q112 = TREE_OPERAND (_q100, 2);
13694 0 : switch (TREE_CODE (_q110))
13695 : {
13696 0 : case GT_EXPR:
13697 0 : {
13698 0 : tree _q120 = TREE_OPERAND (_q110, 0);
13699 0 : tree _q121 = TREE_OPERAND (_q110, 1);
13700 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
13701 : {
13702 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
13703 : {
13704 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
13705 : {
13706 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
13707 : {
13708 0 : {
13709 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
13710 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
13711 0 : if (res) return res;
13712 : }
13713 : }
13714 : }
13715 : }
13716 : }
13717 : break;
13718 : }
13719 : default:;
13720 : }
13721 : break;
13722 : }
13723 0 : default:;
13724 : }
13725 0 : switch (TREE_CODE (_q101))
13726 : {
13727 0 : case VEC_COND_EXPR:
13728 0 : {
13729 0 : tree _q120 = TREE_OPERAND (_q101, 0);
13730 0 : tree _q121 = TREE_OPERAND (_q101, 1);
13731 0 : tree _q122 = TREE_OPERAND (_q101, 2);
13732 0 : switch (TREE_CODE (_q120))
13733 : {
13734 0 : case GT_EXPR:
13735 0 : {
13736 0 : tree _q130 = TREE_OPERAND (_q120, 0);
13737 0 : tree _q131 = TREE_OPERAND (_q120, 1);
13738 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
13739 : {
13740 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
13741 : {
13742 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
13743 : {
13744 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
13745 : {
13746 0 : {
13747 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
13748 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
13749 0 : if (res) return res;
13750 : }
13751 : }
13752 : }
13753 : }
13754 : }
13755 : break;
13756 : }
13757 : default:;
13758 : }
13759 : break;
13760 : }
13761 : default:;
13762 : }
13763 : break;
13764 : }
13765 : default:;
13766 : }
13767 : break;
13768 : }
13769 0 : case EQ_EXPR:
13770 0 : {
13771 0 : tree _q50 = TREE_OPERAND (_q40, 0);
13772 0 : tree _q51 = TREE_OPERAND (_q40, 1);
13773 0 : switch (TREE_CODE (_p1))
13774 : {
13775 0 : case BIT_AND_EXPR:
13776 0 : {
13777 0 : tree _q100 = TREE_OPERAND (_p1, 0);
13778 0 : tree _q101 = TREE_OPERAND (_p1, 1);
13779 0 : switch (TREE_CODE (_q100))
13780 : {
13781 0 : case VEC_COND_EXPR:
13782 0 : {
13783 0 : tree _q110 = TREE_OPERAND (_q100, 0);
13784 0 : tree _q111 = TREE_OPERAND (_q100, 1);
13785 0 : tree _q112 = TREE_OPERAND (_q100, 2);
13786 0 : switch (TREE_CODE (_q110))
13787 : {
13788 0 : case NE_EXPR:
13789 0 : {
13790 0 : tree _q120 = TREE_OPERAND (_q110, 0);
13791 0 : tree _q121 = TREE_OPERAND (_q110, 1);
13792 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
13793 : {
13794 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
13795 : {
13796 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
13797 : {
13798 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
13799 : {
13800 0 : {
13801 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
13802 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
13803 0 : if (res) return res;
13804 : }
13805 : }
13806 : }
13807 : }
13808 : }
13809 : break;
13810 : }
13811 : default:;
13812 : }
13813 : break;
13814 : }
13815 0 : default:;
13816 : }
13817 0 : switch (TREE_CODE (_q101))
13818 : {
13819 0 : case VEC_COND_EXPR:
13820 0 : {
13821 0 : tree _q120 = TREE_OPERAND (_q101, 0);
13822 0 : tree _q121 = TREE_OPERAND (_q101, 1);
13823 0 : tree _q122 = TREE_OPERAND (_q101, 2);
13824 0 : switch (TREE_CODE (_q120))
13825 : {
13826 0 : case NE_EXPR:
13827 0 : {
13828 0 : tree _q130 = TREE_OPERAND (_q120, 0);
13829 0 : tree _q131 = TREE_OPERAND (_q120, 1);
13830 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
13831 : {
13832 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
13833 : {
13834 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
13835 : {
13836 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
13837 : {
13838 0 : {
13839 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
13840 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
13841 0 : if (res) return res;
13842 : }
13843 : }
13844 : }
13845 : }
13846 : }
13847 : break;
13848 : }
13849 : default:;
13850 : }
13851 : break;
13852 : }
13853 : default:;
13854 : }
13855 : break;
13856 : }
13857 : default:;
13858 : }
13859 : break;
13860 : }
13861 0 : case NE_EXPR:
13862 0 : {
13863 0 : tree _q50 = TREE_OPERAND (_q40, 0);
13864 0 : tree _q51 = TREE_OPERAND (_q40, 1);
13865 0 : switch (TREE_CODE (_p1))
13866 : {
13867 0 : case BIT_AND_EXPR:
13868 0 : {
13869 0 : tree _q100 = TREE_OPERAND (_p1, 0);
13870 0 : tree _q101 = TREE_OPERAND (_p1, 1);
13871 0 : switch (TREE_CODE (_q100))
13872 : {
13873 0 : case VEC_COND_EXPR:
13874 0 : {
13875 0 : tree _q110 = TREE_OPERAND (_q100, 0);
13876 0 : tree _q111 = TREE_OPERAND (_q100, 1);
13877 0 : tree _q112 = TREE_OPERAND (_q100, 2);
13878 0 : switch (TREE_CODE (_q110))
13879 : {
13880 0 : case EQ_EXPR:
13881 0 : {
13882 0 : tree _q120 = TREE_OPERAND (_q110, 0);
13883 0 : tree _q121 = TREE_OPERAND (_q110, 1);
13884 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
13885 : {
13886 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
13887 : {
13888 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
13889 : {
13890 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
13891 : {
13892 0 : {
13893 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
13894 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
13895 0 : if (res) return res;
13896 : }
13897 : }
13898 : }
13899 : }
13900 : }
13901 : break;
13902 : }
13903 : default:;
13904 : }
13905 : break;
13906 : }
13907 0 : default:;
13908 : }
13909 0 : switch (TREE_CODE (_q101))
13910 : {
13911 0 : case VEC_COND_EXPR:
13912 0 : {
13913 0 : tree _q120 = TREE_OPERAND (_q101, 0);
13914 0 : tree _q121 = TREE_OPERAND (_q101, 1);
13915 0 : tree _q122 = TREE_OPERAND (_q101, 2);
13916 0 : switch (TREE_CODE (_q120))
13917 : {
13918 0 : case EQ_EXPR:
13919 0 : {
13920 0 : tree _q130 = TREE_OPERAND (_q120, 0);
13921 0 : tree _q131 = TREE_OPERAND (_q120, 1);
13922 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
13923 : {
13924 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
13925 : {
13926 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
13927 : {
13928 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
13929 : {
13930 0 : {
13931 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
13932 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
13933 0 : if (res) return res;
13934 : }
13935 : }
13936 : }
13937 : }
13938 : }
13939 : break;
13940 : }
13941 : default:;
13942 : }
13943 : break;
13944 : }
13945 : default:;
13946 : }
13947 : break;
13948 : }
13949 : default:;
13950 : }
13951 : break;
13952 : }
13953 0 : case GE_EXPR:
13954 0 : {
13955 0 : tree _q50 = TREE_OPERAND (_q40, 0);
13956 0 : tree _q51 = TREE_OPERAND (_q40, 1);
13957 0 : switch (TREE_CODE (_p1))
13958 : {
13959 0 : case BIT_AND_EXPR:
13960 0 : {
13961 0 : tree _q100 = TREE_OPERAND (_p1, 0);
13962 0 : tree _q101 = TREE_OPERAND (_p1, 1);
13963 0 : switch (TREE_CODE (_q100))
13964 : {
13965 0 : case VEC_COND_EXPR:
13966 0 : {
13967 0 : tree _q110 = TREE_OPERAND (_q100, 0);
13968 0 : tree _q111 = TREE_OPERAND (_q100, 1);
13969 0 : tree _q112 = TREE_OPERAND (_q100, 2);
13970 0 : switch (TREE_CODE (_q110))
13971 : {
13972 0 : case LT_EXPR:
13973 0 : {
13974 0 : tree _q120 = TREE_OPERAND (_q110, 0);
13975 0 : tree _q121 = TREE_OPERAND (_q110, 1);
13976 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
13977 : {
13978 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
13979 : {
13980 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
13981 : {
13982 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
13983 : {
13984 0 : {
13985 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
13986 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
13987 0 : if (res) return res;
13988 : }
13989 : }
13990 : }
13991 : }
13992 : }
13993 : break;
13994 : }
13995 : default:;
13996 : }
13997 : break;
13998 : }
13999 0 : default:;
14000 : }
14001 0 : switch (TREE_CODE (_q101))
14002 : {
14003 0 : case VEC_COND_EXPR:
14004 0 : {
14005 0 : tree _q120 = TREE_OPERAND (_q101, 0);
14006 0 : tree _q121 = TREE_OPERAND (_q101, 1);
14007 0 : tree _q122 = TREE_OPERAND (_q101, 2);
14008 0 : switch (TREE_CODE (_q120))
14009 : {
14010 0 : case LT_EXPR:
14011 0 : {
14012 0 : tree _q130 = TREE_OPERAND (_q120, 0);
14013 0 : tree _q131 = TREE_OPERAND (_q120, 1);
14014 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
14015 : {
14016 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
14017 : {
14018 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
14019 : {
14020 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
14021 : {
14022 0 : {
14023 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
14024 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
14025 0 : if (res) return res;
14026 : }
14027 : }
14028 : }
14029 : }
14030 : }
14031 : break;
14032 : }
14033 : default:;
14034 : }
14035 : break;
14036 : }
14037 : default:;
14038 : }
14039 : break;
14040 : }
14041 : default:;
14042 : }
14043 : break;
14044 : }
14045 0 : case GT_EXPR:
14046 0 : {
14047 0 : tree _q50 = TREE_OPERAND (_q40, 0);
14048 0 : tree _q51 = TREE_OPERAND (_q40, 1);
14049 0 : switch (TREE_CODE (_p1))
14050 : {
14051 0 : case BIT_AND_EXPR:
14052 0 : {
14053 0 : tree _q100 = TREE_OPERAND (_p1, 0);
14054 0 : tree _q101 = TREE_OPERAND (_p1, 1);
14055 0 : switch (TREE_CODE (_q100))
14056 : {
14057 0 : case VEC_COND_EXPR:
14058 0 : {
14059 0 : tree _q110 = TREE_OPERAND (_q100, 0);
14060 0 : tree _q111 = TREE_OPERAND (_q100, 1);
14061 0 : tree _q112 = TREE_OPERAND (_q100, 2);
14062 0 : switch (TREE_CODE (_q110))
14063 : {
14064 0 : case LE_EXPR:
14065 0 : {
14066 0 : tree _q120 = TREE_OPERAND (_q110, 0);
14067 0 : tree _q121 = TREE_OPERAND (_q110, 1);
14068 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
14069 : {
14070 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
14071 : {
14072 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
14073 : {
14074 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
14075 : {
14076 0 : {
14077 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
14078 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
14079 0 : if (res) return res;
14080 : }
14081 : }
14082 : }
14083 : }
14084 : }
14085 : break;
14086 : }
14087 : default:;
14088 : }
14089 : break;
14090 : }
14091 0 : default:;
14092 : }
14093 0 : switch (TREE_CODE (_q101))
14094 : {
14095 0 : case VEC_COND_EXPR:
14096 0 : {
14097 0 : tree _q120 = TREE_OPERAND (_q101, 0);
14098 0 : tree _q121 = TREE_OPERAND (_q101, 1);
14099 0 : tree _q122 = TREE_OPERAND (_q101, 2);
14100 0 : switch (TREE_CODE (_q120))
14101 : {
14102 0 : case LE_EXPR:
14103 0 : {
14104 0 : tree _q130 = TREE_OPERAND (_q120, 0);
14105 0 : tree _q131 = TREE_OPERAND (_q120, 1);
14106 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
14107 : {
14108 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
14109 : {
14110 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
14111 : {
14112 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
14113 : {
14114 0 : {
14115 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
14116 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
14117 0 : if (res) return res;
14118 : }
14119 : }
14120 : }
14121 : }
14122 : }
14123 : break;
14124 : }
14125 : default:;
14126 : }
14127 : break;
14128 : }
14129 : default:;
14130 : }
14131 : break;
14132 : }
14133 : default:;
14134 : }
14135 : break;
14136 : }
14137 0 : case UNORDERED_EXPR:
14138 0 : {
14139 0 : tree _q50 = TREE_OPERAND (_q40, 0);
14140 0 : tree _q51 = TREE_OPERAND (_q40, 1);
14141 0 : switch (TREE_CODE (_p1))
14142 : {
14143 0 : case BIT_AND_EXPR:
14144 0 : {
14145 0 : tree _q100 = TREE_OPERAND (_p1, 0);
14146 0 : tree _q101 = TREE_OPERAND (_p1, 1);
14147 0 : switch (TREE_CODE (_q100))
14148 : {
14149 0 : case VEC_COND_EXPR:
14150 0 : {
14151 0 : tree _q110 = TREE_OPERAND (_q100, 0);
14152 0 : tree _q111 = TREE_OPERAND (_q100, 1);
14153 0 : tree _q112 = TREE_OPERAND (_q100, 2);
14154 0 : switch (TREE_CODE (_q110))
14155 : {
14156 0 : case ORDERED_EXPR:
14157 0 : {
14158 0 : tree _q120 = TREE_OPERAND (_q110, 0);
14159 0 : tree _q121 = TREE_OPERAND (_q110, 1);
14160 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
14161 : {
14162 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
14163 : {
14164 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
14165 : {
14166 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
14167 : {
14168 0 : {
14169 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
14170 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR);
14171 0 : if (res) return res;
14172 : }
14173 : }
14174 : }
14175 : }
14176 : }
14177 : break;
14178 : }
14179 : default:;
14180 : }
14181 : break;
14182 : }
14183 0 : default:;
14184 : }
14185 0 : switch (TREE_CODE (_q101))
14186 : {
14187 0 : case VEC_COND_EXPR:
14188 0 : {
14189 0 : tree _q120 = TREE_OPERAND (_q101, 0);
14190 0 : tree _q121 = TREE_OPERAND (_q101, 1);
14191 0 : tree _q122 = TREE_OPERAND (_q101, 2);
14192 0 : switch (TREE_CODE (_q120))
14193 : {
14194 0 : case ORDERED_EXPR:
14195 0 : {
14196 0 : tree _q130 = TREE_OPERAND (_q120, 0);
14197 0 : tree _q131 = TREE_OPERAND (_q120, 1);
14198 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
14199 : {
14200 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
14201 : {
14202 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
14203 : {
14204 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
14205 : {
14206 0 : {
14207 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
14208 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR);
14209 0 : if (res) return res;
14210 : }
14211 : }
14212 : }
14213 : }
14214 : }
14215 : break;
14216 : }
14217 : default:;
14218 : }
14219 : break;
14220 : }
14221 : default:;
14222 : }
14223 : break;
14224 : }
14225 : default:;
14226 : }
14227 : break;
14228 : }
14229 0 : case ORDERED_EXPR:
14230 0 : {
14231 0 : tree _q50 = TREE_OPERAND (_q40, 0);
14232 0 : tree _q51 = TREE_OPERAND (_q40, 1);
14233 0 : switch (TREE_CODE (_p1))
14234 : {
14235 0 : case BIT_AND_EXPR:
14236 0 : {
14237 0 : tree _q100 = TREE_OPERAND (_p1, 0);
14238 0 : tree _q101 = TREE_OPERAND (_p1, 1);
14239 0 : switch (TREE_CODE (_q100))
14240 : {
14241 0 : case VEC_COND_EXPR:
14242 0 : {
14243 0 : tree _q110 = TREE_OPERAND (_q100, 0);
14244 0 : tree _q111 = TREE_OPERAND (_q100, 1);
14245 0 : tree _q112 = TREE_OPERAND (_q100, 2);
14246 0 : switch (TREE_CODE (_q110))
14247 : {
14248 0 : case UNORDERED_EXPR:
14249 0 : {
14250 0 : tree _q120 = TREE_OPERAND (_q110, 0);
14251 0 : tree _q121 = TREE_OPERAND (_q110, 1);
14252 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
14253 : {
14254 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
14255 : {
14256 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
14257 : {
14258 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
14259 : {
14260 0 : {
14261 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
14262 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR);
14263 0 : if (res) return res;
14264 : }
14265 : }
14266 : }
14267 : }
14268 : }
14269 : break;
14270 : }
14271 : default:;
14272 : }
14273 : break;
14274 : }
14275 0 : default:;
14276 : }
14277 0 : switch (TREE_CODE (_q101))
14278 : {
14279 0 : case VEC_COND_EXPR:
14280 0 : {
14281 0 : tree _q120 = TREE_OPERAND (_q101, 0);
14282 0 : tree _q121 = TREE_OPERAND (_q101, 1);
14283 0 : tree _q122 = TREE_OPERAND (_q101, 2);
14284 0 : switch (TREE_CODE (_q120))
14285 : {
14286 0 : case UNORDERED_EXPR:
14287 0 : {
14288 0 : tree _q130 = TREE_OPERAND (_q120, 0);
14289 0 : tree _q131 = TREE_OPERAND (_q120, 1);
14290 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
14291 : {
14292 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
14293 : {
14294 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
14295 : {
14296 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
14297 : {
14298 0 : {
14299 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
14300 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR);
14301 0 : if (res) return res;
14302 : }
14303 : }
14304 : }
14305 : }
14306 : }
14307 : break;
14308 : }
14309 : default:;
14310 : }
14311 : break;
14312 : }
14313 : default:;
14314 : }
14315 : break;
14316 : }
14317 : default:;
14318 : }
14319 : break;
14320 : }
14321 0 : case UNLT_EXPR:
14322 0 : {
14323 0 : tree _q50 = TREE_OPERAND (_q40, 0);
14324 0 : tree _q51 = TREE_OPERAND (_q40, 1);
14325 0 : switch (TREE_CODE (_p1))
14326 : {
14327 0 : case BIT_AND_EXPR:
14328 0 : {
14329 0 : tree _q100 = TREE_OPERAND (_p1, 0);
14330 0 : tree _q101 = TREE_OPERAND (_p1, 1);
14331 0 : switch (TREE_CODE (_q100))
14332 : {
14333 0 : case VEC_COND_EXPR:
14334 0 : {
14335 0 : tree _q110 = TREE_OPERAND (_q100, 0);
14336 0 : tree _q111 = TREE_OPERAND (_q100, 1);
14337 0 : tree _q112 = TREE_OPERAND (_q100, 2);
14338 0 : switch (TREE_CODE (_q110))
14339 : {
14340 0 : case GE_EXPR:
14341 0 : {
14342 0 : tree _q120 = TREE_OPERAND (_q110, 0);
14343 0 : tree _q121 = TREE_OPERAND (_q110, 1);
14344 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
14345 : {
14346 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
14347 : {
14348 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
14349 : {
14350 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
14351 : {
14352 0 : {
14353 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
14354 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR);
14355 0 : if (res) return res;
14356 : }
14357 : }
14358 : }
14359 : }
14360 : }
14361 : break;
14362 : }
14363 : default:;
14364 : }
14365 : break;
14366 : }
14367 0 : default:;
14368 : }
14369 0 : switch (TREE_CODE (_q101))
14370 : {
14371 0 : case VEC_COND_EXPR:
14372 0 : {
14373 0 : tree _q120 = TREE_OPERAND (_q101, 0);
14374 0 : tree _q121 = TREE_OPERAND (_q101, 1);
14375 0 : tree _q122 = TREE_OPERAND (_q101, 2);
14376 0 : switch (TREE_CODE (_q120))
14377 : {
14378 0 : case GE_EXPR:
14379 0 : {
14380 0 : tree _q130 = TREE_OPERAND (_q120, 0);
14381 0 : tree _q131 = TREE_OPERAND (_q120, 1);
14382 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
14383 : {
14384 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
14385 : {
14386 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
14387 : {
14388 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
14389 : {
14390 0 : {
14391 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
14392 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR);
14393 0 : if (res) return res;
14394 : }
14395 : }
14396 : }
14397 : }
14398 : }
14399 : break;
14400 : }
14401 : default:;
14402 : }
14403 : break;
14404 : }
14405 : default:;
14406 : }
14407 : break;
14408 : }
14409 : default:;
14410 : }
14411 : break;
14412 : }
14413 0 : case UNLE_EXPR:
14414 0 : {
14415 0 : tree _q50 = TREE_OPERAND (_q40, 0);
14416 0 : tree _q51 = TREE_OPERAND (_q40, 1);
14417 0 : switch (TREE_CODE (_p1))
14418 : {
14419 0 : case BIT_AND_EXPR:
14420 0 : {
14421 0 : tree _q100 = TREE_OPERAND (_p1, 0);
14422 0 : tree _q101 = TREE_OPERAND (_p1, 1);
14423 0 : switch (TREE_CODE (_q100))
14424 : {
14425 0 : case VEC_COND_EXPR:
14426 0 : {
14427 0 : tree _q110 = TREE_OPERAND (_q100, 0);
14428 0 : tree _q111 = TREE_OPERAND (_q100, 1);
14429 0 : tree _q112 = TREE_OPERAND (_q100, 2);
14430 0 : switch (TREE_CODE (_q110))
14431 : {
14432 0 : case GT_EXPR:
14433 0 : {
14434 0 : tree _q120 = TREE_OPERAND (_q110, 0);
14435 0 : tree _q121 = TREE_OPERAND (_q110, 1);
14436 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
14437 : {
14438 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
14439 : {
14440 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
14441 : {
14442 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
14443 : {
14444 0 : {
14445 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
14446 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR);
14447 0 : if (res) return res;
14448 : }
14449 : }
14450 : }
14451 : }
14452 : }
14453 : break;
14454 : }
14455 : default:;
14456 : }
14457 : break;
14458 : }
14459 0 : default:;
14460 : }
14461 0 : switch (TREE_CODE (_q101))
14462 : {
14463 0 : case VEC_COND_EXPR:
14464 0 : {
14465 0 : tree _q120 = TREE_OPERAND (_q101, 0);
14466 0 : tree _q121 = TREE_OPERAND (_q101, 1);
14467 0 : tree _q122 = TREE_OPERAND (_q101, 2);
14468 0 : switch (TREE_CODE (_q120))
14469 : {
14470 0 : case GT_EXPR:
14471 0 : {
14472 0 : tree _q130 = TREE_OPERAND (_q120, 0);
14473 0 : tree _q131 = TREE_OPERAND (_q120, 1);
14474 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
14475 : {
14476 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
14477 : {
14478 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
14479 : {
14480 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
14481 : {
14482 0 : {
14483 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
14484 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR);
14485 0 : if (res) return res;
14486 : }
14487 : }
14488 : }
14489 : }
14490 : }
14491 : break;
14492 : }
14493 : default:;
14494 : }
14495 : break;
14496 : }
14497 : default:;
14498 : }
14499 : break;
14500 : }
14501 : default:;
14502 : }
14503 : break;
14504 : }
14505 0 : case UNGT_EXPR:
14506 0 : {
14507 0 : tree _q50 = TREE_OPERAND (_q40, 0);
14508 0 : tree _q51 = TREE_OPERAND (_q40, 1);
14509 0 : switch (TREE_CODE (_p1))
14510 : {
14511 0 : case BIT_AND_EXPR:
14512 0 : {
14513 0 : tree _q100 = TREE_OPERAND (_p1, 0);
14514 0 : tree _q101 = TREE_OPERAND (_p1, 1);
14515 0 : switch (TREE_CODE (_q100))
14516 : {
14517 0 : case VEC_COND_EXPR:
14518 0 : {
14519 0 : tree _q110 = TREE_OPERAND (_q100, 0);
14520 0 : tree _q111 = TREE_OPERAND (_q100, 1);
14521 0 : tree _q112 = TREE_OPERAND (_q100, 2);
14522 0 : switch (TREE_CODE (_q110))
14523 : {
14524 0 : case LE_EXPR:
14525 0 : {
14526 0 : tree _q120 = TREE_OPERAND (_q110, 0);
14527 0 : tree _q121 = TREE_OPERAND (_q110, 1);
14528 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
14529 : {
14530 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
14531 : {
14532 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
14533 : {
14534 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
14535 : {
14536 0 : {
14537 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
14538 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR);
14539 0 : if (res) return res;
14540 : }
14541 : }
14542 : }
14543 : }
14544 : }
14545 : break;
14546 : }
14547 : default:;
14548 : }
14549 : break;
14550 : }
14551 0 : default:;
14552 : }
14553 0 : switch (TREE_CODE (_q101))
14554 : {
14555 0 : case VEC_COND_EXPR:
14556 0 : {
14557 0 : tree _q120 = TREE_OPERAND (_q101, 0);
14558 0 : tree _q121 = TREE_OPERAND (_q101, 1);
14559 0 : tree _q122 = TREE_OPERAND (_q101, 2);
14560 0 : switch (TREE_CODE (_q120))
14561 : {
14562 0 : case LE_EXPR:
14563 0 : {
14564 0 : tree _q130 = TREE_OPERAND (_q120, 0);
14565 0 : tree _q131 = TREE_OPERAND (_q120, 1);
14566 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
14567 : {
14568 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
14569 : {
14570 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
14571 : {
14572 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
14573 : {
14574 0 : {
14575 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
14576 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR);
14577 0 : if (res) return res;
14578 : }
14579 : }
14580 : }
14581 : }
14582 : }
14583 : break;
14584 : }
14585 : default:;
14586 : }
14587 : break;
14588 : }
14589 : default:;
14590 : }
14591 : break;
14592 : }
14593 : default:;
14594 : }
14595 : break;
14596 : }
14597 0 : case UNGE_EXPR:
14598 0 : {
14599 0 : tree _q50 = TREE_OPERAND (_q40, 0);
14600 0 : tree _q51 = TREE_OPERAND (_q40, 1);
14601 0 : switch (TREE_CODE (_p1))
14602 : {
14603 0 : case BIT_AND_EXPR:
14604 0 : {
14605 0 : tree _q100 = TREE_OPERAND (_p1, 0);
14606 0 : tree _q101 = TREE_OPERAND (_p1, 1);
14607 0 : switch (TREE_CODE (_q100))
14608 : {
14609 0 : case VEC_COND_EXPR:
14610 0 : {
14611 0 : tree _q110 = TREE_OPERAND (_q100, 0);
14612 0 : tree _q111 = TREE_OPERAND (_q100, 1);
14613 0 : tree _q112 = TREE_OPERAND (_q100, 2);
14614 0 : switch (TREE_CODE (_q110))
14615 : {
14616 0 : case LT_EXPR:
14617 0 : {
14618 0 : tree _q120 = TREE_OPERAND (_q110, 0);
14619 0 : tree _q121 = TREE_OPERAND (_q110, 1);
14620 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
14621 : {
14622 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
14623 : {
14624 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
14625 : {
14626 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
14627 : {
14628 0 : {
14629 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
14630 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR);
14631 0 : if (res) return res;
14632 : }
14633 : }
14634 : }
14635 : }
14636 : }
14637 : break;
14638 : }
14639 : default:;
14640 : }
14641 : break;
14642 : }
14643 0 : default:;
14644 : }
14645 0 : switch (TREE_CODE (_q101))
14646 : {
14647 0 : case VEC_COND_EXPR:
14648 0 : {
14649 0 : tree _q120 = TREE_OPERAND (_q101, 0);
14650 0 : tree _q121 = TREE_OPERAND (_q101, 1);
14651 0 : tree _q122 = TREE_OPERAND (_q101, 2);
14652 0 : switch (TREE_CODE (_q120))
14653 : {
14654 0 : case LT_EXPR:
14655 0 : {
14656 0 : tree _q130 = TREE_OPERAND (_q120, 0);
14657 0 : tree _q131 = TREE_OPERAND (_q120, 1);
14658 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
14659 : {
14660 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
14661 : {
14662 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
14663 : {
14664 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
14665 : {
14666 0 : {
14667 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
14668 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR);
14669 0 : if (res) return res;
14670 : }
14671 : }
14672 : }
14673 : }
14674 : }
14675 : break;
14676 : }
14677 : default:;
14678 : }
14679 : break;
14680 : }
14681 : default:;
14682 : }
14683 : break;
14684 : }
14685 : default:;
14686 : }
14687 : break;
14688 : }
14689 0 : case UNEQ_EXPR:
14690 0 : {
14691 0 : tree _q50 = TREE_OPERAND (_q40, 0);
14692 0 : tree _q51 = TREE_OPERAND (_q40, 1);
14693 0 : switch (TREE_CODE (_p1))
14694 : {
14695 0 : case BIT_AND_EXPR:
14696 0 : {
14697 0 : tree _q100 = TREE_OPERAND (_p1, 0);
14698 0 : tree _q101 = TREE_OPERAND (_p1, 1);
14699 0 : switch (TREE_CODE (_q100))
14700 : {
14701 0 : case VEC_COND_EXPR:
14702 0 : {
14703 0 : tree _q110 = TREE_OPERAND (_q100, 0);
14704 0 : tree _q111 = TREE_OPERAND (_q100, 1);
14705 0 : tree _q112 = TREE_OPERAND (_q100, 2);
14706 0 : switch (TREE_CODE (_q110))
14707 : {
14708 0 : case LTGT_EXPR:
14709 0 : {
14710 0 : tree _q120 = TREE_OPERAND (_q110, 0);
14711 0 : tree _q121 = TREE_OPERAND (_q110, 1);
14712 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
14713 : {
14714 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
14715 : {
14716 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
14717 : {
14718 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
14719 : {
14720 0 : {
14721 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
14722 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR);
14723 0 : if (res) return res;
14724 : }
14725 : }
14726 : }
14727 : }
14728 : }
14729 : break;
14730 : }
14731 : default:;
14732 : }
14733 : break;
14734 : }
14735 0 : default:;
14736 : }
14737 0 : switch (TREE_CODE (_q101))
14738 : {
14739 0 : case VEC_COND_EXPR:
14740 0 : {
14741 0 : tree _q120 = TREE_OPERAND (_q101, 0);
14742 0 : tree _q121 = TREE_OPERAND (_q101, 1);
14743 0 : tree _q122 = TREE_OPERAND (_q101, 2);
14744 0 : switch (TREE_CODE (_q120))
14745 : {
14746 0 : case LTGT_EXPR:
14747 0 : {
14748 0 : tree _q130 = TREE_OPERAND (_q120, 0);
14749 0 : tree _q131 = TREE_OPERAND (_q120, 1);
14750 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
14751 : {
14752 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
14753 : {
14754 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
14755 : {
14756 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
14757 : {
14758 0 : {
14759 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
14760 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR);
14761 0 : if (res) return res;
14762 : }
14763 : }
14764 : }
14765 : }
14766 : }
14767 : break;
14768 : }
14769 : default:;
14770 : }
14771 : break;
14772 : }
14773 : default:;
14774 : }
14775 : break;
14776 : }
14777 : default:;
14778 : }
14779 : break;
14780 : }
14781 0 : case LTGT_EXPR:
14782 0 : {
14783 0 : tree _q50 = TREE_OPERAND (_q40, 0);
14784 0 : tree _q51 = TREE_OPERAND (_q40, 1);
14785 0 : switch (TREE_CODE (_p1))
14786 : {
14787 0 : case BIT_AND_EXPR:
14788 0 : {
14789 0 : tree _q100 = TREE_OPERAND (_p1, 0);
14790 0 : tree _q101 = TREE_OPERAND (_p1, 1);
14791 0 : switch (TREE_CODE (_q100))
14792 : {
14793 0 : case VEC_COND_EXPR:
14794 0 : {
14795 0 : tree _q110 = TREE_OPERAND (_q100, 0);
14796 0 : tree _q111 = TREE_OPERAND (_q100, 1);
14797 0 : tree _q112 = TREE_OPERAND (_q100, 2);
14798 0 : switch (TREE_CODE (_q110))
14799 : {
14800 0 : case UNEQ_EXPR:
14801 0 : {
14802 0 : tree _q120 = TREE_OPERAND (_q110, 0);
14803 0 : tree _q121 = TREE_OPERAND (_q110, 1);
14804 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
14805 : {
14806 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
14807 : {
14808 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
14809 : {
14810 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
14811 : {
14812 0 : {
14813 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
14814 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR);
14815 0 : if (res) return res;
14816 : }
14817 : }
14818 : }
14819 : }
14820 : }
14821 : break;
14822 : }
14823 : default:;
14824 : }
14825 : break;
14826 : }
14827 0 : default:;
14828 : }
14829 0 : switch (TREE_CODE (_q101))
14830 : {
14831 0 : case VEC_COND_EXPR:
14832 0 : {
14833 0 : tree _q120 = TREE_OPERAND (_q101, 0);
14834 0 : tree _q121 = TREE_OPERAND (_q101, 1);
14835 0 : tree _q122 = TREE_OPERAND (_q101, 2);
14836 0 : switch (TREE_CODE (_q120))
14837 : {
14838 0 : case UNEQ_EXPR:
14839 0 : {
14840 0 : tree _q130 = TREE_OPERAND (_q120, 0);
14841 0 : tree _q131 = TREE_OPERAND (_q120, 1);
14842 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
14843 : {
14844 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
14845 : {
14846 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
14847 : {
14848 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
14849 : {
14850 0 : {
14851 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
14852 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR);
14853 0 : if (res) return res;
14854 : }
14855 : }
14856 : }
14857 : }
14858 : }
14859 : break;
14860 : }
14861 : default:;
14862 : }
14863 : break;
14864 : }
14865 : default:;
14866 : }
14867 : break;
14868 : }
14869 : default:;
14870 : }
14871 : break;
14872 : }
14873 : default:;
14874 : }
14875 : break;
14876 : }
14877 74 : case BIT_NOT_EXPR:
14878 74 : {
14879 74 : tree _q40 = TREE_OPERAND (_q21, 0);
14880 74 : switch (TREE_CODE (_p1))
14881 : {
14882 54 : case BIT_AND_EXPR:
14883 54 : {
14884 54 : tree _q60 = TREE_OPERAND (_p1, 0);
14885 54 : tree _q61 = TREE_OPERAND (_p1, 1);
14886 54 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
14887 : {
14888 18 : {
14889 18 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _p1, _q60 };
14890 18 : tree res = generic_simplify_123 (loc, type, _p0, _p1, captures);
14891 18 : if (res) return res;
14892 : }
14893 : }
14894 54 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
14895 : {
14896 36 : {
14897 36 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _p1, _q61 };
14898 36 : tree res = generic_simplify_123 (loc, type, _p0, _p1, captures);
14899 36 : if (res) return res;
14900 : }
14901 : }
14902 : break;
14903 : }
14904 : default:;
14905 : }
14906 : break;
14907 : }
14908 308771 : default:;
14909 : }
14910 308771 : switch (TREE_CODE (_q20))
14911 : {
14912 344 : case BIT_NOT_EXPR:
14913 344 : {
14914 344 : tree _q30 = TREE_OPERAND (_q20, 0);
14915 344 : switch (TREE_CODE (_p1))
14916 : {
14917 142 : case BIT_AND_EXPR:
14918 142 : {
14919 142 : tree _q60 = TREE_OPERAND (_p1, 0);
14920 142 : tree _q61 = TREE_OPERAND (_p1, 1);
14921 142 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
14922 : {
14923 22 : {
14924 22 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q30, _p1, _q60 };
14925 22 : tree res = generic_simplify_123 (loc, type, _p0, _p1, captures);
14926 22 : if (res) return res;
14927 : }
14928 : }
14929 142 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
14930 : {
14931 0 : {
14932 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q30, _p1, _q61 };
14933 0 : tree res = generic_simplify_123 (loc, type, _p0, _p1, captures);
14934 0 : if (res) return res;
14935 : }
14936 : }
14937 : break;
14938 : }
14939 : default:;
14940 : }
14941 : break;
14942 : }
14943 308771 : default:;
14944 : }
14945 308771 : switch (TREE_CODE (_p1))
14946 : {
14947 17178 : case BIT_AND_EXPR:
14948 17178 : {
14949 17178 : tree _q50 = TREE_OPERAND (_p1, 0);
14950 17178 : tree _q51 = TREE_OPERAND (_p1, 1);
14951 17178 : switch (TREE_CODE (_q51))
14952 : {
14953 195 : case BIT_NOT_EXPR:
14954 195 : {
14955 195 : tree _q70 = TREE_OPERAND (_q51, 0);
14956 195 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
14957 : {
14958 33 : {
14959 33 : tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q50, _q21, _p0, _q20 };
14960 33 : tree res = generic_simplify_123 (loc, type, _p0, _p1, captures);
14961 33 : if (res) return res;
14962 : }
14963 : }
14964 195 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
14965 : {
14966 0 : {
14967 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q50, _q20, _p0, _q21 };
14968 0 : tree res = generic_simplify_123 (loc, type, _p0, _p1, captures);
14969 0 : if (res) return res;
14970 : }
14971 : }
14972 : break;
14973 : }
14974 17178 : default:;
14975 : }
14976 17178 : switch (TREE_CODE (_q50))
14977 : {
14978 311 : case BIT_NOT_EXPR:
14979 311 : {
14980 311 : tree _q60 = TREE_OPERAND (_q50, 0);
14981 311 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
14982 : {
14983 112 : {
14984 112 : tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q51, _q21, _p0, _q20 };
14985 112 : tree res = generic_simplify_123 (loc, type, _p0, _p1, captures);
14986 112 : if (res) return res;
14987 : }
14988 : }
14989 311 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
14990 : {
14991 79 : {
14992 79 : tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q51, _q20, _p0, _q21 };
14993 79 : tree res = generic_simplify_123 (loc, type, _p0, _p1, captures);
14994 79 : if (res) return res;
14995 : }
14996 : }
14997 : break;
14998 : }
14999 : default:;
15000 : }
15001 : break;
15002 : }
15003 : default:;
15004 : }
15005 : break;
15006 : }
15007 9599 : case BIT_XOR_EXPR:
15008 9599 : {
15009 9599 : tree _q20 = TREE_OPERAND (_p0, 0);
15010 9599 : tree _q21 = TREE_OPERAND (_p0, 1);
15011 9599 : switch (TREE_CODE (_q21))
15012 : {
15013 68 : case INTEGER_CST:
15014 68 : {
15015 68 : switch (TREE_CODE (_p1))
15016 : {
15017 33 : case INTEGER_CST:
15018 33 : {
15019 33 : {
15020 33 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
15021 33 : tree res = generic_simplify_124 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, BIT_IOR_EXPR);
15022 33 : if (res) return res;
15023 : }
15024 33 : break;
15025 : }
15026 : default:;
15027 : }
15028 : break;
15029 : }
15030 : default:;
15031 : }
15032 : break;
15033 : }
15034 136 : case GT_EXPR:
15035 136 : {
15036 136 : tree _q20 = TREE_OPERAND (_p0, 0);
15037 136 : tree _q21 = TREE_OPERAND (_p0, 1);
15038 136 : switch (TREE_CODE (_p1))
15039 : {
15040 8 : case NE_EXPR:
15041 8 : {
15042 8 : tree _q50 = TREE_OPERAND (_p1, 0);
15043 8 : tree _q51 = TREE_OPERAND (_p1, 1);
15044 8 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
15045 : {
15046 8 : if (tree_min_value (_q51))
15047 : {
15048 4 : {
15049 4 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
15050 4 : tree res = generic_simplify_125 (loc, type, _p0, _p1, captures);
15051 4 : if (res) return res;
15052 : }
15053 : }
15054 : }
15055 4 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
15056 : {
15057 0 : if (tree_max_value (_q51))
15058 : {
15059 0 : {
15060 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
15061 0 : tree res = generic_simplify_126 (loc, type, _p0, _p1, captures);
15062 0 : if (res) return res;
15063 : }
15064 : }
15065 : }
15066 : break;
15067 : }
15068 12 : case EQ_EXPR:
15069 12 : {
15070 12 : tree _q50 = TREE_OPERAND (_p1, 0);
15071 12 : tree _q51 = TREE_OPERAND (_p1, 1);
15072 12 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
15073 : {
15074 0 : if (tree_min_value (_q51))
15075 : {
15076 0 : {
15077 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _p0, _q21 };
15078 0 : tree res = generic_simplify_127 (loc, type, _p0, _p1, captures);
15079 0 : if (res) return res;
15080 : }
15081 : }
15082 : }
15083 : break;
15084 : }
15085 132 : default:;
15086 : }
15087 132 : switch (TREE_CODE (_q20))
15088 : {
15089 0 : CASE_CONVERT:
15090 0 : {
15091 0 : tree _q30 = TREE_OPERAND (_q20, 0);
15092 0 : switch (TREE_CODE (_p1))
15093 : {
15094 0 : case EQ_EXPR:
15095 0 : {
15096 0 : tree _q60 = TREE_OPERAND (_p1, 0);
15097 0 : tree _q61 = TREE_OPERAND (_p1, 1);
15098 0 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
15099 : {
15100 0 : {
15101 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
15102 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
15103 0 : if (res) return res;
15104 : }
15105 : }
15106 0 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
15107 : {
15108 0 : {
15109 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
15110 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
15111 0 : if (res) return res;
15112 : }
15113 : }
15114 : break;
15115 : }
15116 0 : case NE_EXPR:
15117 0 : {
15118 0 : tree _q60 = TREE_OPERAND (_p1, 0);
15119 0 : tree _q61 = TREE_OPERAND (_p1, 1);
15120 0 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
15121 : {
15122 0 : {
15123 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
15124 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
15125 0 : if (res) return res;
15126 : }
15127 : }
15128 0 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
15129 : {
15130 0 : {
15131 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
15132 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
15133 0 : if (res) return res;
15134 : }
15135 : }
15136 : break;
15137 : }
15138 : default:;
15139 : }
15140 : break;
15141 : }
15142 132 : default:;
15143 : }
15144 132 : switch (TREE_CODE (_q21))
15145 : {
15146 0 : CASE_CONVERT:
15147 0 : {
15148 0 : tree _q40 = TREE_OPERAND (_q21, 0);
15149 0 : switch (TREE_CODE (_p1))
15150 : {
15151 0 : case EQ_EXPR:
15152 0 : {
15153 0 : tree _q60 = TREE_OPERAND (_p1, 0);
15154 0 : tree _q61 = TREE_OPERAND (_p1, 1);
15155 0 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
15156 : {
15157 0 : {
15158 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
15159 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
15160 0 : if (res) return res;
15161 : }
15162 : }
15163 0 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
15164 : {
15165 0 : {
15166 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
15167 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
15168 0 : if (res) return res;
15169 : }
15170 : }
15171 : break;
15172 : }
15173 0 : case NE_EXPR:
15174 0 : {
15175 0 : tree _q60 = TREE_OPERAND (_p1, 0);
15176 0 : tree _q61 = TREE_OPERAND (_p1, 1);
15177 0 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
15178 : {
15179 0 : {
15180 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
15181 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
15182 0 : if (res) return res;
15183 : }
15184 : }
15185 0 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
15186 : {
15187 0 : {
15188 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
15189 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
15190 0 : if (res) return res;
15191 : }
15192 : }
15193 : break;
15194 : }
15195 : default:;
15196 : }
15197 : break;
15198 : }
15199 132 : default:;
15200 : }
15201 132 : switch (TREE_CODE (_p1))
15202 : {
15203 12 : case EQ_EXPR:
15204 12 : {
15205 12 : tree _q50 = TREE_OPERAND (_p1, 0);
15206 12 : tree _q51 = TREE_OPERAND (_p1, 1);
15207 12 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
15208 : {
15209 0 : {
15210 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
15211 0 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
15212 0 : if (res) return res;
15213 : }
15214 : }
15215 12 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
15216 : {
15217 0 : {
15218 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
15219 0 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
15220 0 : if (res) return res;
15221 : }
15222 : }
15223 12 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
15224 : {
15225 0 : {
15226 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
15227 0 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
15228 0 : if (res) return res;
15229 : }
15230 : }
15231 12 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
15232 : {
15233 0 : {
15234 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
15235 0 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
15236 0 : if (res) return res;
15237 : }
15238 : }
15239 : break;
15240 : }
15241 4 : case NE_EXPR:
15242 4 : {
15243 4 : tree _q50 = TREE_OPERAND (_p1, 0);
15244 4 : tree _q51 = TREE_OPERAND (_p1, 1);
15245 4 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
15246 : {
15247 4 : {
15248 4 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
15249 4 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
15250 4 : if (res) return res;
15251 : }
15252 : }
15253 4 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
15254 : {
15255 0 : {
15256 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
15257 0 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
15258 0 : if (res) return res;
15259 : }
15260 : }
15261 4 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
15262 : {
15263 0 : {
15264 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
15265 0 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
15266 0 : if (res) return res;
15267 : }
15268 : }
15269 4 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
15270 : {
15271 0 : {
15272 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
15273 0 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
15274 0 : if (res) return res;
15275 : }
15276 : }
15277 : break;
15278 : }
15279 0 : case LT_EXPR:
15280 0 : {
15281 0 : tree _q50 = TREE_OPERAND (_p1, 0);
15282 0 : tree _q51 = TREE_OPERAND (_p1, 1);
15283 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
15284 : {
15285 0 : {
15286 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
15287 0 : tree res = generic_simplify_130 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
15288 0 : if (res) return res;
15289 : }
15290 : }
15291 : break;
15292 : }
15293 0 : case LE_EXPR:
15294 0 : {
15295 0 : tree _q50 = TREE_OPERAND (_p1, 0);
15296 0 : tree _q51 = TREE_OPERAND (_p1, 1);
15297 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
15298 : {
15299 0 : {
15300 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
15301 0 : tree res = generic_simplify_130 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
15302 0 : if (res) return res;
15303 : }
15304 : }
15305 : break;
15306 : }
15307 2 : case GT_EXPR:
15308 2 : {
15309 2 : tree _q50 = TREE_OPERAND (_p1, 0);
15310 2 : tree _q51 = TREE_OPERAND (_p1, 1);
15311 2 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
15312 : {
15313 0 : {
15314 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
15315 0 : tree res = generic_simplify_130 (loc, type, _p0, _p1, captures, GT_EXPR, GT_EXPR);
15316 0 : if (res) return res;
15317 : }
15318 : }
15319 : break;
15320 : }
15321 0 : case GE_EXPR:
15322 0 : {
15323 0 : tree _q50 = TREE_OPERAND (_p1, 0);
15324 0 : tree _q51 = TREE_OPERAND (_p1, 1);
15325 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
15326 : {
15327 0 : {
15328 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
15329 0 : tree res = generic_simplify_130 (loc, type, _p0, _p1, captures, GE_EXPR, GT_EXPR);
15330 0 : if (res) return res;
15331 : }
15332 : }
15333 : break;
15334 : }
15335 132 : default:;
15336 : }
15337 132 : switch (TREE_CODE (_q20))
15338 : {
15339 7 : case BIT_AND_EXPR:
15340 7 : {
15341 7 : tree _q30 = TREE_OPERAND (_q20, 0);
15342 7 : tree _q31 = TREE_OPERAND (_q20, 1);
15343 7 : switch (TREE_CODE (_q30))
15344 : {
15345 0 : case BIT_XOR_EXPR:
15346 0 : {
15347 0 : tree _q40 = TREE_OPERAND (_q30, 0);
15348 0 : tree _q41 = TREE_OPERAND (_q30, 1);
15349 0 : if (tree_expr_nonzero_p (_q31))
15350 : {
15351 0 : switch (TREE_CODE (_p1))
15352 : {
15353 0 : case NE_EXPR:
15354 0 : {
15355 0 : tree _q90 = TREE_OPERAND (_p1, 0);
15356 0 : tree _q91 = TREE_OPERAND (_p1, 1);
15357 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
15358 : {
15359 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
15360 : {
15361 0 : {
15362 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _q21, _p1 };
15363 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, GT_EXPR);
15364 0 : if (res) return res;
15365 : }
15366 : }
15367 : }
15368 0 : if ((_q90 == _q41 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q41, 0) && types_match (_q90, _q41)))
15369 : {
15370 0 : if ((_q91 == _q40 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q40, 0) && types_match (_q91, _q40)))
15371 : {
15372 0 : {
15373 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q41, _q40, _q31, _q21, _p1 };
15374 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, GT_EXPR);
15375 0 : if (res) return res;
15376 : }
15377 : }
15378 : }
15379 : break;
15380 : }
15381 : default:;
15382 : }
15383 : }
15384 : break;
15385 : }
15386 7 : default:;
15387 : }
15388 7 : if (tree_expr_nonzero_p (_q30))
15389 : {
15390 0 : switch (TREE_CODE (_q31))
15391 : {
15392 0 : case BIT_XOR_EXPR:
15393 0 : {
15394 0 : tree _q50 = TREE_OPERAND (_q31, 0);
15395 0 : tree _q51 = TREE_OPERAND (_q31, 1);
15396 0 : switch (TREE_CODE (_p1))
15397 : {
15398 0 : case NE_EXPR:
15399 0 : {
15400 0 : tree _q90 = TREE_OPERAND (_p1, 0);
15401 0 : tree _q91 = TREE_OPERAND (_p1, 1);
15402 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
15403 : {
15404 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
15405 : {
15406 0 : {
15407 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q30, _q21, _p1 };
15408 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, GT_EXPR);
15409 0 : if (res) return res;
15410 : }
15411 : }
15412 : }
15413 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
15414 : {
15415 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
15416 : {
15417 0 : {
15418 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q30, _q21, _p1 };
15419 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, GT_EXPR);
15420 0 : if (res) return res;
15421 : }
15422 : }
15423 : }
15424 : break;
15425 : }
15426 : default:;
15427 : }
15428 : break;
15429 : }
15430 : default:;
15431 : }
15432 : }
15433 : break;
15434 : }
15435 132 : default:;
15436 : }
15437 132 : switch (TREE_CODE (_q21))
15438 : {
15439 0 : case BIT_AND_EXPR:
15440 0 : {
15441 0 : tree _q40 = TREE_OPERAND (_q21, 0);
15442 0 : tree _q41 = TREE_OPERAND (_q21, 1);
15443 0 : switch (TREE_CODE (_q40))
15444 : {
15445 0 : case BIT_XOR_EXPR:
15446 0 : {
15447 0 : tree _q50 = TREE_OPERAND (_q40, 0);
15448 0 : tree _q51 = TREE_OPERAND (_q40, 1);
15449 0 : if (tree_expr_nonzero_p (_q41))
15450 : {
15451 0 : switch (TREE_CODE (_p1))
15452 : {
15453 0 : case NE_EXPR:
15454 0 : {
15455 0 : tree _q90 = TREE_OPERAND (_p1, 0);
15456 0 : tree _q91 = TREE_OPERAND (_p1, 1);
15457 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
15458 : {
15459 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
15460 : {
15461 0 : {
15462 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q41, _q20, _p1 };
15463 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, LT_EXPR);
15464 0 : if (res) return res;
15465 : }
15466 : }
15467 : }
15468 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
15469 : {
15470 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
15471 : {
15472 0 : {
15473 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q41, _q20, _p1 };
15474 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, LT_EXPR);
15475 0 : if (res) return res;
15476 : }
15477 : }
15478 : }
15479 : break;
15480 : }
15481 : default:;
15482 : }
15483 : }
15484 : break;
15485 : }
15486 0 : default:;
15487 : }
15488 0 : if (tree_expr_nonzero_p (_q40))
15489 : {
15490 0 : switch (TREE_CODE (_q41))
15491 : {
15492 0 : case BIT_XOR_EXPR:
15493 0 : {
15494 0 : tree _q60 = TREE_OPERAND (_q41, 0);
15495 0 : tree _q61 = TREE_OPERAND (_q41, 1);
15496 0 : switch (TREE_CODE (_p1))
15497 : {
15498 0 : case NE_EXPR:
15499 0 : {
15500 0 : tree _q90 = TREE_OPERAND (_p1, 0);
15501 0 : tree _q91 = TREE_OPERAND (_p1, 1);
15502 0 : if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
15503 : {
15504 0 : if ((_q91 == _q61 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q61, 0) && types_match (_q91, _q61)))
15505 : {
15506 0 : {
15507 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q60, _q61, _q40, _q20, _p1 };
15508 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, LT_EXPR);
15509 0 : if (res) return res;
15510 : }
15511 : }
15512 : }
15513 0 : if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
15514 : {
15515 0 : if ((_q91 == _q60 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q60, 0) && types_match (_q91, _q60)))
15516 : {
15517 0 : {
15518 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q61, _q60, _q40, _q20, _p1 };
15519 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, LT_EXPR);
15520 0 : if (res) return res;
15521 : }
15522 : }
15523 : }
15524 : break;
15525 : }
15526 : default:;
15527 : }
15528 : break;
15529 : }
15530 : default:;
15531 : }
15532 : }
15533 : break;
15534 : }
15535 132 : default:;
15536 : }
15537 132 : switch (TREE_CODE (_q20))
15538 : {
15539 0 : case BIT_XOR_EXPR:
15540 0 : {
15541 0 : tree _q30 = TREE_OPERAND (_q20, 0);
15542 0 : tree _q31 = TREE_OPERAND (_q20, 1);
15543 0 : switch (TREE_CODE (_p1))
15544 : {
15545 0 : case NE_EXPR:
15546 0 : {
15547 0 : tree _q70 = TREE_OPERAND (_p1, 0);
15548 0 : tree _q71 = TREE_OPERAND (_p1, 1);
15549 0 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
15550 : {
15551 0 : if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
15552 : {
15553 0 : {
15554 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
15555 0 : tree res = generic_simplify_132 (loc, type, _p0, _p1, captures, GT_EXPR);
15556 0 : if (res) return res;
15557 : }
15558 : }
15559 : }
15560 0 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
15561 : {
15562 0 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
15563 : {
15564 0 : {
15565 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q21, _p1 };
15566 0 : tree res = generic_simplify_132 (loc, type, _p0, _p1, captures, GT_EXPR);
15567 0 : if (res) return res;
15568 : }
15569 : }
15570 : }
15571 : break;
15572 : }
15573 : default:;
15574 : }
15575 : break;
15576 : }
15577 132 : default:;
15578 : }
15579 132 : switch (TREE_CODE (_q21))
15580 : {
15581 0 : case BIT_XOR_EXPR:
15582 0 : {
15583 0 : tree _q40 = TREE_OPERAND (_q21, 0);
15584 0 : tree _q41 = TREE_OPERAND (_q21, 1);
15585 0 : switch (TREE_CODE (_p1))
15586 : {
15587 0 : case NE_EXPR:
15588 0 : {
15589 0 : tree _q70 = TREE_OPERAND (_p1, 0);
15590 0 : tree _q71 = TREE_OPERAND (_p1, 1);
15591 0 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
15592 : {
15593 0 : if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
15594 : {
15595 0 : {
15596 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q20, _p1 };
15597 0 : tree res = generic_simplify_132 (loc, type, _p0, _p1, captures, LT_EXPR);
15598 0 : if (res) return res;
15599 : }
15600 : }
15601 : }
15602 0 : if ((_q70 == _q41 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q41, 0) && types_match (_q70, _q41)))
15603 : {
15604 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
15605 : {
15606 0 : {
15607 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q41, _q40, _q20, _p1 };
15608 0 : tree res = generic_simplify_132 (loc, type, _p0, _p1, captures, LT_EXPR);
15609 0 : if (res) return res;
15610 : }
15611 : }
15612 : }
15613 : break;
15614 : }
15615 : default:;
15616 : }
15617 : break;
15618 : }
15619 : default:;
15620 : }
15621 : break;
15622 : }
15623 130 : case LT_EXPR:
15624 130 : {
15625 130 : tree _q20 = TREE_OPERAND (_p0, 0);
15626 130 : tree _q21 = TREE_OPERAND (_p0, 1);
15627 130 : switch (TREE_CODE (_p1))
15628 : {
15629 5 : case NE_EXPR:
15630 5 : {
15631 5 : tree _q50 = TREE_OPERAND (_p1, 0);
15632 5 : tree _q51 = TREE_OPERAND (_p1, 1);
15633 5 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
15634 : {
15635 0 : if (tree_min_value (_q51))
15636 : {
15637 0 : {
15638 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
15639 0 : tree res = generic_simplify_125 (loc, type, _p0, _p1, captures);
15640 0 : if (res) return res;
15641 : }
15642 : }
15643 : }
15644 5 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
15645 : {
15646 5 : if (tree_max_value (_q51))
15647 : {
15648 4 : {
15649 4 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
15650 4 : tree res = generic_simplify_126 (loc, type, _p0, _p1, captures);
15651 4 : if (res) return res;
15652 : }
15653 : }
15654 : }
15655 : break;
15656 : }
15657 9 : case EQ_EXPR:
15658 9 : {
15659 9 : tree _q50 = TREE_OPERAND (_p1, 0);
15660 9 : tree _q51 = TREE_OPERAND (_p1, 1);
15661 9 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
15662 : {
15663 0 : if (tree_min_value (_q51))
15664 : {
15665 0 : {
15666 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _p0, _q20 };
15667 0 : tree res = generic_simplify_127 (loc, type, _p0, _p1, captures);
15668 0 : if (res) return res;
15669 : }
15670 : }
15671 : }
15672 : break;
15673 : }
15674 126 : default:;
15675 : }
15676 126 : switch (TREE_CODE (_q20))
15677 : {
15678 15 : CASE_CONVERT:
15679 15 : {
15680 15 : tree _q30 = TREE_OPERAND (_q20, 0);
15681 15 : switch (TREE_CODE (_p1))
15682 : {
15683 0 : case EQ_EXPR:
15684 0 : {
15685 0 : tree _q60 = TREE_OPERAND (_p1, 0);
15686 0 : tree _q61 = TREE_OPERAND (_p1, 1);
15687 0 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
15688 : {
15689 0 : {
15690 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
15691 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
15692 0 : if (res) return res;
15693 : }
15694 : }
15695 0 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
15696 : {
15697 0 : {
15698 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
15699 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
15700 0 : if (res) return res;
15701 : }
15702 : }
15703 : break;
15704 : }
15705 0 : case NE_EXPR:
15706 0 : {
15707 0 : tree _q60 = TREE_OPERAND (_p1, 0);
15708 0 : tree _q61 = TREE_OPERAND (_p1, 1);
15709 0 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
15710 : {
15711 0 : {
15712 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
15713 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
15714 0 : if (res) return res;
15715 : }
15716 : }
15717 0 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
15718 : {
15719 0 : {
15720 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
15721 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
15722 0 : if (res) return res;
15723 : }
15724 : }
15725 : break;
15726 : }
15727 : default:;
15728 : }
15729 : break;
15730 : }
15731 126 : default:;
15732 : }
15733 126 : switch (TREE_CODE (_q21))
15734 : {
15735 35 : CASE_CONVERT:
15736 35 : {
15737 35 : tree _q40 = TREE_OPERAND (_q21, 0);
15738 35 : switch (TREE_CODE (_p1))
15739 : {
15740 3 : case EQ_EXPR:
15741 3 : {
15742 3 : tree _q60 = TREE_OPERAND (_p1, 0);
15743 3 : tree _q61 = TREE_OPERAND (_p1, 1);
15744 3 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
15745 : {
15746 0 : {
15747 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
15748 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
15749 0 : if (res) return res;
15750 : }
15751 : }
15752 3 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
15753 : {
15754 3 : {
15755 3 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
15756 3 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
15757 3 : if (res) return res;
15758 : }
15759 : }
15760 : break;
15761 : }
15762 0 : case NE_EXPR:
15763 0 : {
15764 0 : tree _q60 = TREE_OPERAND (_p1, 0);
15765 0 : tree _q61 = TREE_OPERAND (_p1, 1);
15766 0 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
15767 : {
15768 0 : {
15769 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
15770 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
15771 0 : if (res) return res;
15772 : }
15773 : }
15774 0 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
15775 : {
15776 0 : {
15777 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
15778 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
15779 0 : if (res) return res;
15780 : }
15781 : }
15782 : break;
15783 : }
15784 : default:;
15785 : }
15786 : break;
15787 : }
15788 123 : default:;
15789 : }
15790 123 : switch (TREE_CODE (_p1))
15791 : {
15792 6 : case EQ_EXPR:
15793 6 : {
15794 6 : tree _q50 = TREE_OPERAND (_p1, 0);
15795 6 : tree _q51 = TREE_OPERAND (_p1, 1);
15796 6 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
15797 : {
15798 2 : {
15799 2 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
15800 2 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
15801 2 : if (res) return res;
15802 : }
15803 : }
15804 4 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
15805 : {
15806 0 : {
15807 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
15808 0 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
15809 0 : if (res) return res;
15810 : }
15811 : }
15812 4 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
15813 : {
15814 0 : {
15815 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
15816 0 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
15817 0 : if (res) return res;
15818 : }
15819 : }
15820 4 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
15821 : {
15822 0 : {
15823 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
15824 0 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
15825 0 : if (res) return res;
15826 : }
15827 : }
15828 : break;
15829 : }
15830 1 : case NE_EXPR:
15831 1 : {
15832 1 : tree _q50 = TREE_OPERAND (_p1, 0);
15833 1 : tree _q51 = TREE_OPERAND (_p1, 1);
15834 1 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
15835 : {
15836 1 : {
15837 1 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
15838 1 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
15839 1 : if (res) return res;
15840 : }
15841 : }
15842 1 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
15843 : {
15844 0 : {
15845 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
15846 0 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
15847 0 : if (res) return res;
15848 : }
15849 : }
15850 1 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
15851 : {
15852 0 : {
15853 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
15854 0 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
15855 0 : if (res) return res;
15856 : }
15857 : }
15858 1 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
15859 : {
15860 0 : {
15861 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
15862 0 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
15863 0 : if (res) return res;
15864 : }
15865 : }
15866 : break;
15867 : }
15868 27 : case LT_EXPR:
15869 27 : {
15870 27 : tree _q50 = TREE_OPERAND (_p1, 0);
15871 27 : tree _q51 = TREE_OPERAND (_p1, 1);
15872 27 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
15873 : {
15874 0 : {
15875 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
15876 0 : tree res = generic_simplify_130 (loc, type, _p0, _p1, captures, LT_EXPR, LT_EXPR);
15877 0 : if (res) return res;
15878 : }
15879 : }
15880 : break;
15881 : }
15882 31 : case LE_EXPR:
15883 31 : {
15884 31 : tree _q50 = TREE_OPERAND (_p1, 0);
15885 31 : tree _q51 = TREE_OPERAND (_p1, 1);
15886 31 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
15887 : {
15888 31 : {
15889 31 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
15890 31 : tree res = generic_simplify_130 (loc, type, _p0, _p1, captures, LE_EXPR, LT_EXPR);
15891 31 : if (res) return res;
15892 : }
15893 : }
15894 : break;
15895 : }
15896 0 : case GT_EXPR:
15897 0 : {
15898 0 : tree _q50 = TREE_OPERAND (_p1, 0);
15899 0 : tree _q51 = TREE_OPERAND (_p1, 1);
15900 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
15901 : {
15902 0 : {
15903 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
15904 0 : tree res = generic_simplify_130 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
15905 0 : if (res) return res;
15906 : }
15907 : }
15908 : break;
15909 : }
15910 0 : case GE_EXPR:
15911 0 : {
15912 0 : tree _q50 = TREE_OPERAND (_p1, 0);
15913 0 : tree _q51 = TREE_OPERAND (_p1, 1);
15914 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
15915 : {
15916 0 : {
15917 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
15918 0 : tree res = generic_simplify_130 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
15919 0 : if (res) return res;
15920 : }
15921 : }
15922 : break;
15923 : }
15924 114 : default:;
15925 : }
15926 114 : switch (TREE_CODE (_q20))
15927 : {
15928 0 : case BIT_AND_EXPR:
15929 0 : {
15930 0 : tree _q30 = TREE_OPERAND (_q20, 0);
15931 0 : tree _q31 = TREE_OPERAND (_q20, 1);
15932 0 : switch (TREE_CODE (_q30))
15933 : {
15934 0 : case BIT_XOR_EXPR:
15935 0 : {
15936 0 : tree _q40 = TREE_OPERAND (_q30, 0);
15937 0 : tree _q41 = TREE_OPERAND (_q30, 1);
15938 0 : if (tree_expr_nonzero_p (_q31))
15939 : {
15940 0 : switch (TREE_CODE (_p1))
15941 : {
15942 0 : case NE_EXPR:
15943 0 : {
15944 0 : tree _q90 = TREE_OPERAND (_p1, 0);
15945 0 : tree _q91 = TREE_OPERAND (_p1, 1);
15946 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
15947 : {
15948 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
15949 : {
15950 0 : {
15951 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _q21, _p1 };
15952 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, LT_EXPR);
15953 0 : if (res) return res;
15954 : }
15955 : }
15956 : }
15957 0 : if ((_q90 == _q41 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q41, 0) && types_match (_q90, _q41)))
15958 : {
15959 0 : if ((_q91 == _q40 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q40, 0) && types_match (_q91, _q40)))
15960 : {
15961 0 : {
15962 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q41, _q40, _q31, _q21, _p1 };
15963 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, LT_EXPR);
15964 0 : if (res) return res;
15965 : }
15966 : }
15967 : }
15968 : break;
15969 : }
15970 : default:;
15971 : }
15972 : }
15973 : break;
15974 : }
15975 0 : default:;
15976 : }
15977 0 : if (tree_expr_nonzero_p (_q30))
15978 : {
15979 0 : switch (TREE_CODE (_q31))
15980 : {
15981 0 : case BIT_XOR_EXPR:
15982 0 : {
15983 0 : tree _q50 = TREE_OPERAND (_q31, 0);
15984 0 : tree _q51 = TREE_OPERAND (_q31, 1);
15985 0 : switch (TREE_CODE (_p1))
15986 : {
15987 0 : case NE_EXPR:
15988 0 : {
15989 0 : tree _q90 = TREE_OPERAND (_p1, 0);
15990 0 : tree _q91 = TREE_OPERAND (_p1, 1);
15991 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
15992 : {
15993 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
15994 : {
15995 0 : {
15996 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q30, _q21, _p1 };
15997 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, LT_EXPR);
15998 0 : if (res) return res;
15999 : }
16000 : }
16001 : }
16002 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
16003 : {
16004 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
16005 : {
16006 0 : {
16007 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q30, _q21, _p1 };
16008 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, LT_EXPR);
16009 0 : if (res) return res;
16010 : }
16011 : }
16012 : }
16013 : break;
16014 : }
16015 : default:;
16016 : }
16017 : break;
16018 : }
16019 : default:;
16020 : }
16021 : }
16022 : break;
16023 : }
16024 114 : default:;
16025 : }
16026 114 : switch (TREE_CODE (_q21))
16027 : {
16028 0 : case BIT_AND_EXPR:
16029 0 : {
16030 0 : tree _q40 = TREE_OPERAND (_q21, 0);
16031 0 : tree _q41 = TREE_OPERAND (_q21, 1);
16032 0 : switch (TREE_CODE (_q40))
16033 : {
16034 0 : case BIT_XOR_EXPR:
16035 0 : {
16036 0 : tree _q50 = TREE_OPERAND (_q40, 0);
16037 0 : tree _q51 = TREE_OPERAND (_q40, 1);
16038 0 : if (tree_expr_nonzero_p (_q41))
16039 : {
16040 0 : switch (TREE_CODE (_p1))
16041 : {
16042 0 : case NE_EXPR:
16043 0 : {
16044 0 : tree _q90 = TREE_OPERAND (_p1, 0);
16045 0 : tree _q91 = TREE_OPERAND (_p1, 1);
16046 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
16047 : {
16048 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
16049 : {
16050 0 : {
16051 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q41, _q20, _p1 };
16052 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, GT_EXPR);
16053 0 : if (res) return res;
16054 : }
16055 : }
16056 : }
16057 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
16058 : {
16059 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
16060 : {
16061 0 : {
16062 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q41, _q20, _p1 };
16063 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, GT_EXPR);
16064 0 : if (res) return res;
16065 : }
16066 : }
16067 : }
16068 : break;
16069 : }
16070 : default:;
16071 : }
16072 : }
16073 : break;
16074 : }
16075 0 : default:;
16076 : }
16077 0 : if (tree_expr_nonzero_p (_q40))
16078 : {
16079 0 : switch (TREE_CODE (_q41))
16080 : {
16081 0 : case BIT_XOR_EXPR:
16082 0 : {
16083 0 : tree _q60 = TREE_OPERAND (_q41, 0);
16084 0 : tree _q61 = TREE_OPERAND (_q41, 1);
16085 0 : switch (TREE_CODE (_p1))
16086 : {
16087 0 : case NE_EXPR:
16088 0 : {
16089 0 : tree _q90 = TREE_OPERAND (_p1, 0);
16090 0 : tree _q91 = TREE_OPERAND (_p1, 1);
16091 0 : if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
16092 : {
16093 0 : if ((_q91 == _q61 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q61, 0) && types_match (_q91, _q61)))
16094 : {
16095 0 : {
16096 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q60, _q61, _q40, _q20, _p1 };
16097 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, GT_EXPR);
16098 0 : if (res) return res;
16099 : }
16100 : }
16101 : }
16102 0 : if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
16103 : {
16104 0 : if ((_q91 == _q60 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q60, 0) && types_match (_q91, _q60)))
16105 : {
16106 0 : {
16107 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q61, _q60, _q40, _q20, _p1 };
16108 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, GT_EXPR);
16109 0 : if (res) return res;
16110 : }
16111 : }
16112 : }
16113 : break;
16114 : }
16115 : default:;
16116 : }
16117 : break;
16118 : }
16119 : default:;
16120 : }
16121 : }
16122 : break;
16123 : }
16124 114 : default:;
16125 : }
16126 114 : switch (TREE_CODE (_q20))
16127 : {
16128 0 : case BIT_XOR_EXPR:
16129 0 : {
16130 0 : tree _q30 = TREE_OPERAND (_q20, 0);
16131 0 : tree _q31 = TREE_OPERAND (_q20, 1);
16132 0 : switch (TREE_CODE (_p1))
16133 : {
16134 0 : case NE_EXPR:
16135 0 : {
16136 0 : tree _q70 = TREE_OPERAND (_p1, 0);
16137 0 : tree _q71 = TREE_OPERAND (_p1, 1);
16138 0 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
16139 : {
16140 0 : if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
16141 : {
16142 0 : {
16143 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
16144 0 : tree res = generic_simplify_132 (loc, type, _p0, _p1, captures, LT_EXPR);
16145 0 : if (res) return res;
16146 : }
16147 : }
16148 : }
16149 0 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
16150 : {
16151 0 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
16152 : {
16153 0 : {
16154 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q21, _p1 };
16155 0 : tree res = generic_simplify_132 (loc, type, _p0, _p1, captures, LT_EXPR);
16156 0 : if (res) return res;
16157 : }
16158 : }
16159 : }
16160 : break;
16161 : }
16162 : default:;
16163 : }
16164 : break;
16165 : }
16166 114 : default:;
16167 : }
16168 114 : switch (TREE_CODE (_q21))
16169 : {
16170 0 : case BIT_XOR_EXPR:
16171 0 : {
16172 0 : tree _q40 = TREE_OPERAND (_q21, 0);
16173 0 : tree _q41 = TREE_OPERAND (_q21, 1);
16174 0 : switch (TREE_CODE (_p1))
16175 : {
16176 0 : case NE_EXPR:
16177 0 : {
16178 0 : tree _q70 = TREE_OPERAND (_p1, 0);
16179 0 : tree _q71 = TREE_OPERAND (_p1, 1);
16180 0 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
16181 : {
16182 0 : if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
16183 : {
16184 0 : {
16185 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q20, _p1 };
16186 0 : tree res = generic_simplify_132 (loc, type, _p0, _p1, captures, GT_EXPR);
16187 0 : if (res) return res;
16188 : }
16189 : }
16190 : }
16191 0 : if ((_q70 == _q41 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q41, 0) && types_match (_q70, _q41)))
16192 : {
16193 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
16194 : {
16195 0 : {
16196 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q41, _q40, _q20, _p1 };
16197 0 : tree res = generic_simplify_132 (loc, type, _p0, _p1, captures, GT_EXPR);
16198 0 : if (res) return res;
16199 : }
16200 : }
16201 : }
16202 : break;
16203 : }
16204 : default:;
16205 : }
16206 : break;
16207 : }
16208 : default:;
16209 : }
16210 : break;
16211 : }
16212 267 : case NE_EXPR:
16213 267 : {
16214 267 : tree _q20 = TREE_OPERAND (_p0, 0);
16215 267 : tree _q21 = TREE_OPERAND (_p0, 1);
16216 267 : if (tree_min_value (_q21))
16217 : {
16218 54 : switch (TREE_CODE (_p1))
16219 : {
16220 0 : case GT_EXPR:
16221 0 : {
16222 0 : tree _q50 = TREE_OPERAND (_p1, 0);
16223 0 : tree _q51 = TREE_OPERAND (_p1, 1);
16224 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
16225 : {
16226 0 : {
16227 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _p0 };
16228 0 : tree res = generic_simplify_133 (loc, type, _p0, _p1, captures);
16229 0 : if (res) return res;
16230 : }
16231 : }
16232 : break;
16233 : }
16234 0 : case LT_EXPR:
16235 0 : {
16236 0 : tree _q50 = TREE_OPERAND (_p1, 0);
16237 0 : tree _q51 = TREE_OPERAND (_p1, 1);
16238 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
16239 : {
16240 0 : {
16241 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _p0 };
16242 0 : tree res = generic_simplify_133 (loc, type, _p0, _p1, captures);
16243 0 : if (res) return res;
16244 : }
16245 : }
16246 : break;
16247 : }
16248 0 : case LE_EXPR:
16249 0 : {
16250 0 : tree _q50 = TREE_OPERAND (_p1, 0);
16251 0 : tree _q51 = TREE_OPERAND (_p1, 1);
16252 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
16253 : {
16254 0 : {
16255 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q51 };
16256 0 : tree res = generic_simplify_134 (loc, type, _p0, _p1, captures);
16257 0 : if (res) return res;
16258 : }
16259 : }
16260 : break;
16261 : }
16262 1 : case GE_EXPR:
16263 1 : {
16264 1 : tree _q50 = TREE_OPERAND (_p1, 0);
16265 1 : tree _q51 = TREE_OPERAND (_p1, 1);
16266 1 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
16267 : {
16268 0 : {
16269 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
16270 0 : tree res = generic_simplify_134 (loc, type, _p0, _p1, captures);
16271 0 : if (res) return res;
16272 : }
16273 : }
16274 : break;
16275 : }
16276 : default:;
16277 : }
16278 : }
16279 267 : if (tree_max_value (_q21))
16280 : {
16281 0 : switch (TREE_CODE (_p1))
16282 : {
16283 0 : case LT_EXPR:
16284 0 : {
16285 0 : tree _q50 = TREE_OPERAND (_p1, 0);
16286 0 : tree _q51 = TREE_OPERAND (_p1, 1);
16287 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
16288 : {
16289 0 : {
16290 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _p0 };
16291 0 : tree res = generic_simplify_135 (loc, type, _p0, _p1, captures);
16292 0 : if (res) return res;
16293 : }
16294 : }
16295 : break;
16296 : }
16297 0 : case GT_EXPR:
16298 0 : {
16299 0 : tree _q50 = TREE_OPERAND (_p1, 0);
16300 0 : tree _q51 = TREE_OPERAND (_p1, 1);
16301 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
16302 : {
16303 0 : {
16304 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _p0 };
16305 0 : tree res = generic_simplify_135 (loc, type, _p0, _p1, captures);
16306 0 : if (res) return res;
16307 : }
16308 : }
16309 : break;
16310 : }
16311 0 : case GE_EXPR:
16312 0 : {
16313 0 : tree _q50 = TREE_OPERAND (_p1, 0);
16314 0 : tree _q51 = TREE_OPERAND (_p1, 1);
16315 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
16316 : {
16317 0 : {
16318 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
16319 0 : tree res = generic_simplify_136 (loc, type, _p0, _p1, captures, NE_EXPR);
16320 0 : if (res) return res;
16321 : }
16322 : }
16323 : break;
16324 : }
16325 0 : case LE_EXPR:
16326 0 : {
16327 0 : tree _q50 = TREE_OPERAND (_p1, 0);
16328 0 : tree _q51 = TREE_OPERAND (_p1, 1);
16329 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
16330 : {
16331 0 : {
16332 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
16333 0 : tree res = generic_simplify_136 (loc, type, _p0, _p1, captures, NE_EXPR);
16334 0 : if (res) return res;
16335 : }
16336 : }
16337 : break;
16338 : }
16339 : default:;
16340 : }
16341 : }
16342 267 : switch (TREE_CODE (_p1))
16343 : {
16344 13 : case EQ_EXPR:
16345 13 : {
16346 13 : tree _q50 = TREE_OPERAND (_p1, 0);
16347 13 : tree _q51 = TREE_OPERAND (_p1, 1);
16348 13 : switch (TREE_CODE (_q50))
16349 : {
16350 0 : CASE_CONVERT:
16351 0 : {
16352 0 : tree _q60 = TREE_OPERAND (_q50, 0);
16353 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
16354 : {
16355 0 : {
16356 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
16357 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
16358 0 : if (res) return res;
16359 : }
16360 : }
16361 0 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
16362 : {
16363 0 : {
16364 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
16365 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
16366 0 : if (res) return res;
16367 : }
16368 : }
16369 : break;
16370 : }
16371 13 : default:;
16372 : }
16373 13 : switch (TREE_CODE (_q51))
16374 : {
16375 0 : CASE_CONVERT:
16376 0 : {
16377 0 : tree _q70 = TREE_OPERAND (_q51, 0);
16378 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
16379 : {
16380 0 : {
16381 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
16382 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
16383 0 : if (res) return res;
16384 : }
16385 : }
16386 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
16387 : {
16388 0 : {
16389 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
16390 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
16391 0 : if (res) return res;
16392 : }
16393 : }
16394 : break;
16395 : }
16396 : default:;
16397 : }
16398 : break;
16399 : }
16400 2 : case NE_EXPR:
16401 2 : {
16402 2 : tree _q50 = TREE_OPERAND (_p1, 0);
16403 2 : tree _q51 = TREE_OPERAND (_p1, 1);
16404 2 : switch (TREE_CODE (_q50))
16405 : {
16406 0 : CASE_CONVERT:
16407 0 : {
16408 0 : tree _q60 = TREE_OPERAND (_q50, 0);
16409 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
16410 : {
16411 0 : {
16412 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
16413 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
16414 0 : if (res) return res;
16415 : }
16416 : }
16417 0 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
16418 : {
16419 0 : {
16420 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
16421 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
16422 0 : if (res) return res;
16423 : }
16424 : }
16425 : break;
16426 : }
16427 2 : default:;
16428 : }
16429 2 : switch (TREE_CODE (_q51))
16430 : {
16431 0 : CASE_CONVERT:
16432 0 : {
16433 0 : tree _q70 = TREE_OPERAND (_q51, 0);
16434 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
16435 : {
16436 0 : {
16437 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
16438 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
16439 0 : if (res) return res;
16440 : }
16441 : }
16442 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
16443 : {
16444 0 : {
16445 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
16446 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
16447 0 : if (res) return res;
16448 : }
16449 : }
16450 : break;
16451 : }
16452 : default:;
16453 : }
16454 : break;
16455 : }
16456 0 : case LT_EXPR:
16457 0 : {
16458 0 : tree _q50 = TREE_OPERAND (_p1, 0);
16459 0 : tree _q51 = TREE_OPERAND (_p1, 1);
16460 0 : switch (TREE_CODE (_q50))
16461 : {
16462 0 : CASE_CONVERT:
16463 0 : {
16464 0 : tree _q60 = TREE_OPERAND (_q50, 0);
16465 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
16466 : {
16467 0 : {
16468 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
16469 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
16470 0 : if (res) return res;
16471 : }
16472 : }
16473 0 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
16474 : {
16475 0 : {
16476 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
16477 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
16478 0 : if (res) return res;
16479 : }
16480 : }
16481 : break;
16482 : }
16483 0 : default:;
16484 : }
16485 0 : switch (TREE_CODE (_q51))
16486 : {
16487 0 : CASE_CONVERT:
16488 0 : {
16489 0 : tree _q70 = TREE_OPERAND (_q51, 0);
16490 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
16491 : {
16492 0 : {
16493 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
16494 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
16495 0 : if (res) return res;
16496 : }
16497 : }
16498 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
16499 : {
16500 0 : {
16501 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
16502 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
16503 0 : if (res) return res;
16504 : }
16505 : }
16506 : break;
16507 : }
16508 : default:;
16509 : }
16510 : break;
16511 : }
16512 0 : case GT_EXPR:
16513 0 : {
16514 0 : tree _q50 = TREE_OPERAND (_p1, 0);
16515 0 : tree _q51 = TREE_OPERAND (_p1, 1);
16516 0 : switch (TREE_CODE (_q50))
16517 : {
16518 0 : CASE_CONVERT:
16519 0 : {
16520 0 : tree _q60 = TREE_OPERAND (_q50, 0);
16521 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
16522 : {
16523 0 : {
16524 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
16525 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
16526 0 : if (res) return res;
16527 : }
16528 : }
16529 0 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
16530 : {
16531 0 : {
16532 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
16533 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
16534 0 : if (res) return res;
16535 : }
16536 : }
16537 : break;
16538 : }
16539 0 : default:;
16540 : }
16541 0 : switch (TREE_CODE (_q51))
16542 : {
16543 0 : CASE_CONVERT:
16544 0 : {
16545 0 : tree _q70 = TREE_OPERAND (_q51, 0);
16546 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
16547 : {
16548 0 : {
16549 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
16550 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
16551 0 : if (res) return res;
16552 : }
16553 : }
16554 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
16555 : {
16556 0 : {
16557 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
16558 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
16559 0 : if (res) return res;
16560 : }
16561 : }
16562 : break;
16563 : }
16564 : default:;
16565 : }
16566 : break;
16567 : }
16568 0 : case LE_EXPR:
16569 0 : {
16570 0 : tree _q50 = TREE_OPERAND (_p1, 0);
16571 0 : tree _q51 = TREE_OPERAND (_p1, 1);
16572 0 : switch (TREE_CODE (_q50))
16573 : {
16574 0 : CASE_CONVERT:
16575 0 : {
16576 0 : tree _q60 = TREE_OPERAND (_q50, 0);
16577 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
16578 : {
16579 0 : {
16580 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
16581 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
16582 0 : if (res) return res;
16583 : }
16584 : }
16585 0 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
16586 : {
16587 0 : {
16588 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
16589 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
16590 0 : if (res) return res;
16591 : }
16592 : }
16593 : break;
16594 : }
16595 0 : default:;
16596 : }
16597 0 : switch (TREE_CODE (_q51))
16598 : {
16599 0 : CASE_CONVERT:
16600 0 : {
16601 0 : tree _q70 = TREE_OPERAND (_q51, 0);
16602 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
16603 : {
16604 0 : {
16605 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
16606 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
16607 0 : if (res) return res;
16608 : }
16609 : }
16610 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
16611 : {
16612 0 : {
16613 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
16614 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
16615 0 : if (res) return res;
16616 : }
16617 : }
16618 : break;
16619 : }
16620 : default:;
16621 : }
16622 : break;
16623 : }
16624 1 : case GE_EXPR:
16625 1 : {
16626 1 : tree _q50 = TREE_OPERAND (_p1, 0);
16627 1 : tree _q51 = TREE_OPERAND (_p1, 1);
16628 1 : switch (TREE_CODE (_q50))
16629 : {
16630 0 : CASE_CONVERT:
16631 0 : {
16632 0 : tree _q60 = TREE_OPERAND (_q50, 0);
16633 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
16634 : {
16635 0 : {
16636 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
16637 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
16638 0 : if (res) return res;
16639 : }
16640 : }
16641 0 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
16642 : {
16643 0 : {
16644 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
16645 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
16646 0 : if (res) return res;
16647 : }
16648 : }
16649 : break;
16650 : }
16651 1 : default:;
16652 : }
16653 1 : switch (TREE_CODE (_q51))
16654 : {
16655 0 : CASE_CONVERT:
16656 0 : {
16657 0 : tree _q70 = TREE_OPERAND (_q51, 0);
16658 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
16659 : {
16660 0 : {
16661 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
16662 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
16663 0 : if (res) return res;
16664 : }
16665 : }
16666 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
16667 : {
16668 0 : {
16669 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
16670 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
16671 0 : if (res) return res;
16672 : }
16673 : }
16674 : break;
16675 : }
16676 : default:;
16677 : }
16678 : break;
16679 : }
16680 267 : default:;
16681 : }
16682 267 : switch (TREE_CODE (_q20))
16683 : {
16684 20 : CASE_CONVERT:
16685 20 : {
16686 20 : tree _q30 = TREE_OPERAND (_q20, 0);
16687 20 : switch (TREE_CODE (_p1))
16688 : {
16689 0 : case EQ_EXPR:
16690 0 : {
16691 0 : tree _q60 = TREE_OPERAND (_p1, 0);
16692 0 : tree _q61 = TREE_OPERAND (_p1, 1);
16693 0 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
16694 : {
16695 0 : {
16696 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
16697 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
16698 0 : if (res) return res;
16699 : }
16700 : }
16701 0 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
16702 : {
16703 0 : {
16704 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
16705 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
16706 0 : if (res) return res;
16707 : }
16708 : }
16709 : break;
16710 : }
16711 0 : case NE_EXPR:
16712 0 : {
16713 0 : tree _q60 = TREE_OPERAND (_p1, 0);
16714 0 : tree _q61 = TREE_OPERAND (_p1, 1);
16715 0 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
16716 : {
16717 0 : {
16718 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
16719 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
16720 0 : if (res) return res;
16721 : }
16722 : }
16723 0 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
16724 : {
16725 0 : {
16726 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
16727 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
16728 0 : if (res) return res;
16729 : }
16730 : }
16731 : break;
16732 : }
16733 : default:;
16734 : }
16735 : break;
16736 : }
16737 267 : default:;
16738 : }
16739 267 : switch (TREE_CODE (_q21))
16740 : {
16741 0 : CASE_CONVERT:
16742 0 : {
16743 0 : tree _q40 = TREE_OPERAND (_q21, 0);
16744 0 : switch (TREE_CODE (_p1))
16745 : {
16746 0 : case EQ_EXPR:
16747 0 : {
16748 0 : tree _q60 = TREE_OPERAND (_p1, 0);
16749 0 : tree _q61 = TREE_OPERAND (_p1, 1);
16750 0 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
16751 : {
16752 0 : {
16753 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
16754 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
16755 0 : if (res) return res;
16756 : }
16757 : }
16758 0 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
16759 : {
16760 0 : {
16761 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
16762 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
16763 0 : if (res) return res;
16764 : }
16765 : }
16766 : break;
16767 : }
16768 0 : case NE_EXPR:
16769 0 : {
16770 0 : tree _q60 = TREE_OPERAND (_p1, 0);
16771 0 : tree _q61 = TREE_OPERAND (_p1, 1);
16772 0 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
16773 : {
16774 0 : {
16775 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
16776 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
16777 0 : if (res) return res;
16778 : }
16779 : }
16780 0 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
16781 : {
16782 0 : {
16783 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
16784 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
16785 0 : if (res) return res;
16786 : }
16787 : }
16788 : break;
16789 : }
16790 : default:;
16791 : }
16792 : break;
16793 : }
16794 267 : default:;
16795 : }
16796 267 : switch (TREE_CODE (_p1))
16797 : {
16798 13 : case EQ_EXPR:
16799 13 : {
16800 13 : tree _q50 = TREE_OPERAND (_p1, 0);
16801 13 : tree _q51 = TREE_OPERAND (_p1, 1);
16802 13 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
16803 : {
16804 0 : {
16805 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
16806 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
16807 0 : if (res) return res;
16808 : }
16809 0 : {
16810 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
16811 0 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
16812 0 : if (res) return res;
16813 : }
16814 : }
16815 13 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
16816 : {
16817 0 : {
16818 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
16819 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
16820 0 : if (res) return res;
16821 : }
16822 : }
16823 13 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
16824 : {
16825 0 : {
16826 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
16827 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
16828 0 : if (res) return res;
16829 : }
16830 0 : {
16831 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
16832 0 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
16833 0 : if (res) return res;
16834 : }
16835 : }
16836 13 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
16837 : {
16838 5 : {
16839 5 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
16840 5 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
16841 5 : if (res) return res;
16842 : }
16843 5 : {
16844 5 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
16845 5 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
16846 5 : if (res) return res;
16847 : }
16848 : }
16849 13 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
16850 : {
16851 0 : {
16852 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
16853 0 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
16854 0 : if (res) return res;
16855 : }
16856 : }
16857 : break;
16858 : }
16859 2 : case NE_EXPR:
16860 2 : {
16861 2 : tree _q50 = TREE_OPERAND (_p1, 0);
16862 2 : tree _q51 = TREE_OPERAND (_p1, 1);
16863 2 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
16864 : {
16865 0 : {
16866 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
16867 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
16868 0 : if (res) return res;
16869 : }
16870 0 : {
16871 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
16872 0 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
16873 0 : if (res) return res;
16874 : }
16875 : }
16876 2 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
16877 : {
16878 0 : {
16879 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
16880 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
16881 0 : if (res) return res;
16882 : }
16883 : }
16884 2 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
16885 : {
16886 0 : {
16887 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
16888 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
16889 0 : if (res) return res;
16890 : }
16891 0 : {
16892 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
16893 0 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
16894 0 : if (res) return res;
16895 : }
16896 : }
16897 2 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
16898 : {
16899 0 : {
16900 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
16901 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
16902 0 : if (res) return res;
16903 : }
16904 0 : {
16905 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
16906 0 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
16907 0 : if (res) return res;
16908 : }
16909 : }
16910 2 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
16911 : {
16912 0 : {
16913 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
16914 0 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
16915 0 : if (res) return res;
16916 : }
16917 : }
16918 : break;
16919 : }
16920 0 : case LT_EXPR:
16921 0 : {
16922 0 : tree _q50 = TREE_OPERAND (_p1, 0);
16923 0 : tree _q51 = TREE_OPERAND (_p1, 1);
16924 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
16925 : {
16926 0 : {
16927 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
16928 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
16929 0 : if (res) return res;
16930 : }
16931 : }
16932 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
16933 : {
16934 0 : {
16935 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
16936 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
16937 0 : if (res) return res;
16938 : }
16939 : }
16940 0 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
16941 : {
16942 0 : {
16943 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
16944 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
16945 0 : if (res) return res;
16946 : }
16947 : }
16948 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
16949 : {
16950 0 : {
16951 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
16952 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
16953 0 : if (res) return res;
16954 : }
16955 : }
16956 : break;
16957 : }
16958 0 : case GT_EXPR:
16959 0 : {
16960 0 : tree _q50 = TREE_OPERAND (_p1, 0);
16961 0 : tree _q51 = TREE_OPERAND (_p1, 1);
16962 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
16963 : {
16964 0 : {
16965 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
16966 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
16967 0 : if (res) return res;
16968 : }
16969 : }
16970 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
16971 : {
16972 0 : {
16973 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
16974 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
16975 0 : if (res) return res;
16976 : }
16977 : }
16978 0 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
16979 : {
16980 0 : {
16981 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
16982 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
16983 0 : if (res) return res;
16984 : }
16985 : }
16986 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
16987 : {
16988 0 : {
16989 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
16990 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
16991 0 : if (res) return res;
16992 : }
16993 : }
16994 : break;
16995 : }
16996 0 : case LE_EXPR:
16997 0 : {
16998 0 : tree _q50 = TREE_OPERAND (_p1, 0);
16999 0 : tree _q51 = TREE_OPERAND (_p1, 1);
17000 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
17001 : {
17002 0 : {
17003 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
17004 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
17005 0 : if (res) return res;
17006 : }
17007 : }
17008 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
17009 : {
17010 0 : {
17011 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
17012 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
17013 0 : if (res) return res;
17014 : }
17015 : }
17016 0 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
17017 : {
17018 0 : {
17019 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
17020 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
17021 0 : if (res) return res;
17022 : }
17023 : }
17024 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
17025 : {
17026 0 : {
17027 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
17028 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
17029 0 : if (res) return res;
17030 : }
17031 : }
17032 : break;
17033 : }
17034 1 : case GE_EXPR:
17035 1 : {
17036 1 : tree _q50 = TREE_OPERAND (_p1, 0);
17037 1 : tree _q51 = TREE_OPERAND (_p1, 1);
17038 1 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
17039 : {
17040 0 : {
17041 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
17042 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
17043 0 : if (res) return res;
17044 : }
17045 : }
17046 1 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
17047 : {
17048 0 : {
17049 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
17050 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
17051 0 : if (res) return res;
17052 : }
17053 : }
17054 1 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
17055 : {
17056 0 : {
17057 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
17058 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
17059 0 : if (res) return res;
17060 : }
17061 : }
17062 1 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
17063 : {
17064 0 : {
17065 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
17066 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
17067 0 : if (res) return res;
17068 : }
17069 : }
17070 : break;
17071 : }
17072 267 : default:;
17073 : }
17074 267 : switch (TREE_CODE (_q20))
17075 : {
17076 33 : case BIT_AND_EXPR:
17077 33 : {
17078 33 : tree _q30 = TREE_OPERAND (_q20, 0);
17079 33 : tree _q31 = TREE_OPERAND (_q20, 1);
17080 33 : switch (TREE_CODE (_q30))
17081 : {
17082 0 : case BIT_XOR_EXPR:
17083 0 : {
17084 0 : tree _q40 = TREE_OPERAND (_q30, 0);
17085 0 : tree _q41 = TREE_OPERAND (_q30, 1);
17086 0 : if (tree_expr_nonzero_p (_q31))
17087 : {
17088 0 : switch (TREE_CODE (_p1))
17089 : {
17090 0 : case NE_EXPR:
17091 0 : {
17092 0 : tree _q90 = TREE_OPERAND (_p1, 0);
17093 0 : tree _q91 = TREE_OPERAND (_p1, 1);
17094 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
17095 : {
17096 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
17097 : {
17098 0 : {
17099 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _q21, _p1 };
17100 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, NE_EXPR);
17101 0 : if (res) return res;
17102 : }
17103 : }
17104 : }
17105 0 : if ((_q90 == _q41 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q41, 0) && types_match (_q90, _q41)))
17106 : {
17107 0 : if ((_q91 == _q40 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q40, 0) && types_match (_q91, _q40)))
17108 : {
17109 0 : {
17110 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q41, _q40, _q31, _q21, _p1 };
17111 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, NE_EXPR);
17112 0 : if (res) return res;
17113 : }
17114 : }
17115 : }
17116 : break;
17117 : }
17118 : default:;
17119 : }
17120 : }
17121 : break;
17122 : }
17123 33 : default:;
17124 : }
17125 33 : if (tree_expr_nonzero_p (_q30))
17126 : {
17127 0 : switch (TREE_CODE (_q31))
17128 : {
17129 0 : case BIT_XOR_EXPR:
17130 0 : {
17131 0 : tree _q50 = TREE_OPERAND (_q31, 0);
17132 0 : tree _q51 = TREE_OPERAND (_q31, 1);
17133 0 : switch (TREE_CODE (_p1))
17134 : {
17135 0 : case NE_EXPR:
17136 0 : {
17137 0 : tree _q90 = TREE_OPERAND (_p1, 0);
17138 0 : tree _q91 = TREE_OPERAND (_p1, 1);
17139 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
17140 : {
17141 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
17142 : {
17143 0 : {
17144 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q30, _q21, _p1 };
17145 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, NE_EXPR);
17146 0 : if (res) return res;
17147 : }
17148 : }
17149 : }
17150 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
17151 : {
17152 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
17153 : {
17154 0 : {
17155 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q30, _q21, _p1 };
17156 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, NE_EXPR);
17157 0 : if (res) return res;
17158 : }
17159 : }
17160 : }
17161 : break;
17162 : }
17163 : default:;
17164 : }
17165 : break;
17166 : }
17167 : default:;
17168 : }
17169 : }
17170 : break;
17171 : }
17172 267 : default:;
17173 : }
17174 267 : switch (TREE_CODE (_q21))
17175 : {
17176 0 : case BIT_AND_EXPR:
17177 0 : {
17178 0 : tree _q40 = TREE_OPERAND (_q21, 0);
17179 0 : tree _q41 = TREE_OPERAND (_q21, 1);
17180 0 : switch (TREE_CODE (_q40))
17181 : {
17182 0 : case BIT_XOR_EXPR:
17183 0 : {
17184 0 : tree _q50 = TREE_OPERAND (_q40, 0);
17185 0 : tree _q51 = TREE_OPERAND (_q40, 1);
17186 0 : if (tree_expr_nonzero_p (_q41))
17187 : {
17188 0 : switch (TREE_CODE (_p1))
17189 : {
17190 0 : case NE_EXPR:
17191 0 : {
17192 0 : tree _q90 = TREE_OPERAND (_p1, 0);
17193 0 : tree _q91 = TREE_OPERAND (_p1, 1);
17194 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
17195 : {
17196 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
17197 : {
17198 0 : {
17199 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q41, _q20, _p1 };
17200 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, NE_EXPR);
17201 0 : if (res) return res;
17202 : }
17203 : }
17204 : }
17205 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
17206 : {
17207 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
17208 : {
17209 0 : {
17210 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q41, _q20, _p1 };
17211 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, NE_EXPR);
17212 0 : if (res) return res;
17213 : }
17214 : }
17215 : }
17216 : break;
17217 : }
17218 : default:;
17219 : }
17220 : }
17221 : break;
17222 : }
17223 0 : default:;
17224 : }
17225 0 : if (tree_expr_nonzero_p (_q40))
17226 : {
17227 0 : switch (TREE_CODE (_q41))
17228 : {
17229 0 : case BIT_XOR_EXPR:
17230 0 : {
17231 0 : tree _q60 = TREE_OPERAND (_q41, 0);
17232 0 : tree _q61 = TREE_OPERAND (_q41, 1);
17233 0 : switch (TREE_CODE (_p1))
17234 : {
17235 0 : case NE_EXPR:
17236 0 : {
17237 0 : tree _q90 = TREE_OPERAND (_p1, 0);
17238 0 : tree _q91 = TREE_OPERAND (_p1, 1);
17239 0 : if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
17240 : {
17241 0 : if ((_q91 == _q61 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q61, 0) && types_match (_q91, _q61)))
17242 : {
17243 0 : {
17244 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q60, _q61, _q40, _q20, _p1 };
17245 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, NE_EXPR);
17246 0 : if (res) return res;
17247 : }
17248 : }
17249 : }
17250 0 : if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
17251 : {
17252 0 : if ((_q91 == _q60 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q60, 0) && types_match (_q91, _q60)))
17253 : {
17254 0 : {
17255 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q61, _q60, _q40, _q20, _p1 };
17256 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, NE_EXPR);
17257 0 : if (res) return res;
17258 : }
17259 : }
17260 : }
17261 : break;
17262 : }
17263 : default:;
17264 : }
17265 : break;
17266 : }
17267 : default:;
17268 : }
17269 : }
17270 : break;
17271 : }
17272 267 : default:;
17273 : }
17274 267 : switch (TREE_CODE (_q20))
17275 : {
17276 0 : case BIT_XOR_EXPR:
17277 0 : {
17278 0 : tree _q30 = TREE_OPERAND (_q20, 0);
17279 0 : tree _q31 = TREE_OPERAND (_q20, 1);
17280 0 : switch (TREE_CODE (_p1))
17281 : {
17282 0 : case NE_EXPR:
17283 0 : {
17284 0 : tree _q70 = TREE_OPERAND (_p1, 0);
17285 0 : tree _q71 = TREE_OPERAND (_p1, 1);
17286 0 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
17287 : {
17288 0 : if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
17289 : {
17290 0 : {
17291 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
17292 0 : tree res = generic_simplify_132 (loc, type, _p0, _p1, captures, NE_EXPR);
17293 0 : if (res) return res;
17294 : }
17295 : }
17296 : }
17297 0 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
17298 : {
17299 0 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
17300 : {
17301 0 : {
17302 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q21, _p1 };
17303 0 : tree res = generic_simplify_132 (loc, type, _p0, _p1, captures, NE_EXPR);
17304 0 : if (res) return res;
17305 : }
17306 : }
17307 : }
17308 : break;
17309 : }
17310 : default:;
17311 : }
17312 : break;
17313 : }
17314 267 : default:;
17315 : }
17316 267 : switch (TREE_CODE (_q21))
17317 : {
17318 0 : case BIT_XOR_EXPR:
17319 0 : {
17320 0 : tree _q40 = TREE_OPERAND (_q21, 0);
17321 0 : tree _q41 = TREE_OPERAND (_q21, 1);
17322 0 : switch (TREE_CODE (_p1))
17323 : {
17324 0 : case NE_EXPR:
17325 0 : {
17326 0 : tree _q70 = TREE_OPERAND (_p1, 0);
17327 0 : tree _q71 = TREE_OPERAND (_p1, 1);
17328 0 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
17329 : {
17330 0 : if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
17331 : {
17332 0 : {
17333 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q20, _p1 };
17334 0 : tree res = generic_simplify_132 (loc, type, _p0, _p1, captures, NE_EXPR);
17335 0 : if (res) return res;
17336 : }
17337 : }
17338 : }
17339 0 : if ((_q70 == _q41 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q41, 0) && types_match (_q70, _q41)))
17340 : {
17341 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
17342 : {
17343 0 : {
17344 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q41, _q40, _q20, _p1 };
17345 0 : tree res = generic_simplify_132 (loc, type, _p0, _p1, captures, NE_EXPR);
17346 0 : if (res) return res;
17347 : }
17348 : }
17349 : }
17350 : break;
17351 : }
17352 : default:;
17353 : }
17354 : break;
17355 : }
17356 : default:;
17357 : }
17358 : break;
17359 : }
17360 157 : case LE_EXPR:
17361 157 : {
17362 157 : tree _q20 = TREE_OPERAND (_p0, 0);
17363 157 : tree _q21 = TREE_OPERAND (_p0, 1);
17364 157 : switch (TREE_CODE (_p1))
17365 : {
17366 11 : case NE_EXPR:
17367 11 : {
17368 11 : tree _q50 = TREE_OPERAND (_p1, 0);
17369 11 : tree _q51 = TREE_OPERAND (_p1, 1);
17370 11 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
17371 : {
17372 11 : if (tree_min_value (_q51))
17373 : {
17374 4 : {
17375 4 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
17376 4 : tree res = generic_simplify_139 (loc, type, _p0, _p1, captures);
17377 4 : if (res) return res;
17378 : }
17379 : }
17380 : }
17381 7 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
17382 : {
17383 0 : if (tree_max_value (_q51))
17384 : {
17385 0 : {
17386 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
17387 0 : tree res = generic_simplify_140 (loc, type, _p0, _p1, captures, NE_EXPR);
17388 0 : if (res) return res;
17389 : }
17390 : }
17391 : }
17392 : break;
17393 : }
17394 31 : case EQ_EXPR:
17395 31 : {
17396 31 : tree _q50 = TREE_OPERAND (_p1, 0);
17397 31 : tree _q51 = TREE_OPERAND (_p1, 1);
17398 31 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
17399 : {
17400 11 : if (tree_min_value (_q51))
17401 : {
17402 4 : {
17403 4 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
17404 4 : tree res = generic_simplify_141 (loc, type, _p0, _p1, captures);
17405 4 : if (res) return res;
17406 : }
17407 : }
17408 : }
17409 27 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
17410 : {
17411 0 : if (tree_max_value (_q51))
17412 : {
17413 0 : {
17414 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
17415 0 : tree res = generic_simplify_140 (loc, type, _p0, _p1, captures, EQ_EXPR);
17416 0 : if (res) return res;
17417 : }
17418 : }
17419 : }
17420 : break;
17421 : }
17422 149 : default:;
17423 : }
17424 149 : switch (TREE_CODE (_q20))
17425 : {
17426 0 : CASE_CONVERT:
17427 0 : {
17428 0 : tree _q30 = TREE_OPERAND (_q20, 0);
17429 0 : switch (TREE_CODE (_p1))
17430 : {
17431 0 : case EQ_EXPR:
17432 0 : {
17433 0 : tree _q60 = TREE_OPERAND (_p1, 0);
17434 0 : tree _q61 = TREE_OPERAND (_p1, 1);
17435 0 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
17436 : {
17437 0 : {
17438 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
17439 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
17440 0 : if (res) return res;
17441 : }
17442 : }
17443 0 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
17444 : {
17445 0 : {
17446 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
17447 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
17448 0 : if (res) return res;
17449 : }
17450 : }
17451 : break;
17452 : }
17453 0 : case NE_EXPR:
17454 0 : {
17455 0 : tree _q60 = TREE_OPERAND (_p1, 0);
17456 0 : tree _q61 = TREE_OPERAND (_p1, 1);
17457 0 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
17458 : {
17459 0 : {
17460 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
17461 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
17462 0 : if (res) return res;
17463 : }
17464 : }
17465 0 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
17466 : {
17467 0 : {
17468 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
17469 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
17470 0 : if (res) return res;
17471 : }
17472 : }
17473 : break;
17474 : }
17475 : default:;
17476 : }
17477 : break;
17478 : }
17479 149 : default:;
17480 : }
17481 149 : switch (TREE_CODE (_q21))
17482 : {
17483 0 : CASE_CONVERT:
17484 0 : {
17485 0 : tree _q40 = TREE_OPERAND (_q21, 0);
17486 0 : switch (TREE_CODE (_p1))
17487 : {
17488 0 : case EQ_EXPR:
17489 0 : {
17490 0 : tree _q60 = TREE_OPERAND (_p1, 0);
17491 0 : tree _q61 = TREE_OPERAND (_p1, 1);
17492 0 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
17493 : {
17494 0 : {
17495 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
17496 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
17497 0 : if (res) return res;
17498 : }
17499 : }
17500 0 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
17501 : {
17502 0 : {
17503 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
17504 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
17505 0 : if (res) return res;
17506 : }
17507 : }
17508 : break;
17509 : }
17510 0 : case NE_EXPR:
17511 0 : {
17512 0 : tree _q60 = TREE_OPERAND (_p1, 0);
17513 0 : tree _q61 = TREE_OPERAND (_p1, 1);
17514 0 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
17515 : {
17516 0 : {
17517 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
17518 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
17519 0 : if (res) return res;
17520 : }
17521 : }
17522 0 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
17523 : {
17524 0 : {
17525 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
17526 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
17527 0 : if (res) return res;
17528 : }
17529 : }
17530 : break;
17531 : }
17532 : default:;
17533 : }
17534 : break;
17535 : }
17536 149 : default:;
17537 : }
17538 149 : switch (TREE_CODE (_p1))
17539 : {
17540 27 : case EQ_EXPR:
17541 27 : {
17542 27 : tree _q50 = TREE_OPERAND (_p1, 0);
17543 27 : tree _q51 = TREE_OPERAND (_p1, 1);
17544 27 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
17545 : {
17546 7 : {
17547 7 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
17548 7 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
17549 7 : if (res) return res;
17550 : }
17551 : }
17552 20 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
17553 : {
17554 0 : {
17555 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
17556 0 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
17557 0 : if (res) return res;
17558 : }
17559 : }
17560 20 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
17561 : {
17562 0 : {
17563 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
17564 0 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
17565 0 : if (res) return res;
17566 : }
17567 : }
17568 20 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
17569 : {
17570 0 : {
17571 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
17572 0 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
17573 0 : if (res) return res;
17574 : }
17575 : }
17576 : break;
17577 : }
17578 7 : case NE_EXPR:
17579 7 : {
17580 7 : tree _q50 = TREE_OPERAND (_p1, 0);
17581 7 : tree _q51 = TREE_OPERAND (_p1, 1);
17582 7 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
17583 : {
17584 7 : {
17585 7 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
17586 7 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
17587 7 : if (res) return res;
17588 : }
17589 : }
17590 0 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
17591 : {
17592 0 : {
17593 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
17594 0 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
17595 0 : if (res) return res;
17596 : }
17597 : }
17598 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
17599 : {
17600 0 : {
17601 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
17602 0 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
17603 0 : if (res) return res;
17604 : }
17605 : }
17606 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
17607 : {
17608 0 : {
17609 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
17610 0 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
17611 0 : if (res) return res;
17612 : }
17613 : }
17614 : break;
17615 : }
17616 0 : case LT_EXPR:
17617 0 : {
17618 0 : tree _q50 = TREE_OPERAND (_p1, 0);
17619 0 : tree _q51 = TREE_OPERAND (_p1, 1);
17620 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
17621 : {
17622 0 : {
17623 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
17624 0 : tree res = generic_simplify_130 (loc, type, _p0, _p1, captures, LT_EXPR, LE_EXPR);
17625 0 : if (res) return res;
17626 : }
17627 : }
17628 : break;
17629 : }
17630 2 : case LE_EXPR:
17631 2 : {
17632 2 : tree _q50 = TREE_OPERAND (_p1, 0);
17633 2 : tree _q51 = TREE_OPERAND (_p1, 1);
17634 2 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
17635 : {
17636 0 : {
17637 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
17638 0 : tree res = generic_simplify_130 (loc, type, _p0, _p1, captures, LE_EXPR, LE_EXPR);
17639 0 : if (res) return res;
17640 : }
17641 : }
17642 : break;
17643 : }
17644 0 : case GT_EXPR:
17645 0 : {
17646 0 : tree _q50 = TREE_OPERAND (_p1, 0);
17647 0 : tree _q51 = TREE_OPERAND (_p1, 1);
17648 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
17649 : {
17650 0 : {
17651 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
17652 0 : tree res = generic_simplify_130 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
17653 0 : if (res) return res;
17654 : }
17655 : }
17656 : break;
17657 : }
17658 1 : case GE_EXPR:
17659 1 : {
17660 1 : tree _q50 = TREE_OPERAND (_p1, 0);
17661 1 : tree _q51 = TREE_OPERAND (_p1, 1);
17662 1 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
17663 : {
17664 0 : {
17665 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
17666 0 : tree res = generic_simplify_130 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
17667 0 : if (res) return res;
17668 : }
17669 : }
17670 : break;
17671 : }
17672 135 : default:;
17673 : }
17674 135 : switch (TREE_CODE (_q20))
17675 : {
17676 0 : case BIT_AND_EXPR:
17677 0 : {
17678 0 : tree _q30 = TREE_OPERAND (_q20, 0);
17679 0 : tree _q31 = TREE_OPERAND (_q20, 1);
17680 0 : switch (TREE_CODE (_q30))
17681 : {
17682 0 : case BIT_XOR_EXPR:
17683 0 : {
17684 0 : tree _q40 = TREE_OPERAND (_q30, 0);
17685 0 : tree _q41 = TREE_OPERAND (_q30, 1);
17686 0 : if (tree_expr_nonzero_p (_q31))
17687 : {
17688 0 : switch (TREE_CODE (_p1))
17689 : {
17690 0 : case NE_EXPR:
17691 0 : {
17692 0 : tree _q90 = TREE_OPERAND (_p1, 0);
17693 0 : tree _q91 = TREE_OPERAND (_p1, 1);
17694 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
17695 : {
17696 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
17697 : {
17698 0 : {
17699 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _q21, _p1 };
17700 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, LE_EXPR);
17701 0 : if (res) return res;
17702 : }
17703 : }
17704 : }
17705 0 : if ((_q90 == _q41 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q41, 0) && types_match (_q90, _q41)))
17706 : {
17707 0 : if ((_q91 == _q40 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q40, 0) && types_match (_q91, _q40)))
17708 : {
17709 0 : {
17710 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q41, _q40, _q31, _q21, _p1 };
17711 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, LE_EXPR);
17712 0 : if (res) return res;
17713 : }
17714 : }
17715 : }
17716 : break;
17717 : }
17718 : default:;
17719 : }
17720 : }
17721 : break;
17722 : }
17723 0 : default:;
17724 : }
17725 0 : if (tree_expr_nonzero_p (_q30))
17726 : {
17727 0 : switch (TREE_CODE (_q31))
17728 : {
17729 0 : case BIT_XOR_EXPR:
17730 0 : {
17731 0 : tree _q50 = TREE_OPERAND (_q31, 0);
17732 0 : tree _q51 = TREE_OPERAND (_q31, 1);
17733 0 : switch (TREE_CODE (_p1))
17734 : {
17735 0 : case NE_EXPR:
17736 0 : {
17737 0 : tree _q90 = TREE_OPERAND (_p1, 0);
17738 0 : tree _q91 = TREE_OPERAND (_p1, 1);
17739 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
17740 : {
17741 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
17742 : {
17743 0 : {
17744 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q30, _q21, _p1 };
17745 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, LE_EXPR);
17746 0 : if (res) return res;
17747 : }
17748 : }
17749 : }
17750 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
17751 : {
17752 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
17753 : {
17754 0 : {
17755 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q30, _q21, _p1 };
17756 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, LE_EXPR);
17757 0 : if (res) return res;
17758 : }
17759 : }
17760 : }
17761 : break;
17762 : }
17763 : default:;
17764 : }
17765 : break;
17766 : }
17767 : default:;
17768 : }
17769 : }
17770 : break;
17771 : }
17772 135 : default:;
17773 : }
17774 135 : switch (TREE_CODE (_q21))
17775 : {
17776 0 : case BIT_AND_EXPR:
17777 0 : {
17778 0 : tree _q40 = TREE_OPERAND (_q21, 0);
17779 0 : tree _q41 = TREE_OPERAND (_q21, 1);
17780 0 : switch (TREE_CODE (_q40))
17781 : {
17782 0 : case BIT_XOR_EXPR:
17783 0 : {
17784 0 : tree _q50 = TREE_OPERAND (_q40, 0);
17785 0 : tree _q51 = TREE_OPERAND (_q40, 1);
17786 0 : if (tree_expr_nonzero_p (_q41))
17787 : {
17788 0 : switch (TREE_CODE (_p1))
17789 : {
17790 0 : case NE_EXPR:
17791 0 : {
17792 0 : tree _q90 = TREE_OPERAND (_p1, 0);
17793 0 : tree _q91 = TREE_OPERAND (_p1, 1);
17794 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
17795 : {
17796 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
17797 : {
17798 0 : {
17799 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q41, _q20, _p1 };
17800 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, GE_EXPR);
17801 0 : if (res) return res;
17802 : }
17803 : }
17804 : }
17805 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
17806 : {
17807 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
17808 : {
17809 0 : {
17810 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q41, _q20, _p1 };
17811 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, GE_EXPR);
17812 0 : if (res) return res;
17813 : }
17814 : }
17815 : }
17816 : break;
17817 : }
17818 : default:;
17819 : }
17820 : }
17821 : break;
17822 : }
17823 0 : default:;
17824 : }
17825 0 : if (tree_expr_nonzero_p (_q40))
17826 : {
17827 0 : switch (TREE_CODE (_q41))
17828 : {
17829 0 : case BIT_XOR_EXPR:
17830 0 : {
17831 0 : tree _q60 = TREE_OPERAND (_q41, 0);
17832 0 : tree _q61 = TREE_OPERAND (_q41, 1);
17833 0 : switch (TREE_CODE (_p1))
17834 : {
17835 0 : case NE_EXPR:
17836 0 : {
17837 0 : tree _q90 = TREE_OPERAND (_p1, 0);
17838 0 : tree _q91 = TREE_OPERAND (_p1, 1);
17839 0 : if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
17840 : {
17841 0 : if ((_q91 == _q61 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q61, 0) && types_match (_q91, _q61)))
17842 : {
17843 0 : {
17844 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q60, _q61, _q40, _q20, _p1 };
17845 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, GE_EXPR);
17846 0 : if (res) return res;
17847 : }
17848 : }
17849 : }
17850 0 : if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
17851 : {
17852 0 : if ((_q91 == _q60 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q60, 0) && types_match (_q91, _q60)))
17853 : {
17854 0 : {
17855 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q61, _q60, _q40, _q20, _p1 };
17856 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, GE_EXPR);
17857 0 : if (res) return res;
17858 : }
17859 : }
17860 : }
17861 : break;
17862 : }
17863 : default:;
17864 : }
17865 : break;
17866 : }
17867 : default:;
17868 : }
17869 : }
17870 : break;
17871 : }
17872 135 : default:;
17873 : }
17874 135 : switch (TREE_CODE (_q20))
17875 : {
17876 0 : case BIT_XOR_EXPR:
17877 0 : {
17878 0 : tree _q30 = TREE_OPERAND (_q20, 0);
17879 0 : tree _q31 = TREE_OPERAND (_q20, 1);
17880 0 : switch (TREE_CODE (_p1))
17881 : {
17882 0 : case NE_EXPR:
17883 0 : {
17884 0 : tree _q70 = TREE_OPERAND (_p1, 0);
17885 0 : tree _q71 = TREE_OPERAND (_p1, 1);
17886 0 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
17887 : {
17888 0 : if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
17889 : {
17890 0 : {
17891 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
17892 0 : tree res = generic_simplify_132 (loc, type, _p0, _p1, captures, LE_EXPR);
17893 0 : if (res) return res;
17894 : }
17895 : }
17896 : }
17897 0 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
17898 : {
17899 0 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
17900 : {
17901 0 : {
17902 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q21, _p1 };
17903 0 : tree res = generic_simplify_132 (loc, type, _p0, _p1, captures, LE_EXPR);
17904 0 : if (res) return res;
17905 : }
17906 : }
17907 : }
17908 : break;
17909 : }
17910 : default:;
17911 : }
17912 : break;
17913 : }
17914 135 : default:;
17915 : }
17916 135 : switch (TREE_CODE (_q21))
17917 : {
17918 0 : case BIT_XOR_EXPR:
17919 0 : {
17920 0 : tree _q40 = TREE_OPERAND (_q21, 0);
17921 0 : tree _q41 = TREE_OPERAND (_q21, 1);
17922 0 : switch (TREE_CODE (_p1))
17923 : {
17924 0 : case NE_EXPR:
17925 0 : {
17926 0 : tree _q70 = TREE_OPERAND (_p1, 0);
17927 0 : tree _q71 = TREE_OPERAND (_p1, 1);
17928 0 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
17929 : {
17930 0 : if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
17931 : {
17932 0 : {
17933 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q20, _p1 };
17934 0 : tree res = generic_simplify_132 (loc, type, _p0, _p1, captures, GE_EXPR);
17935 0 : if (res) return res;
17936 : }
17937 : }
17938 : }
17939 0 : if ((_q70 == _q41 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q41, 0) && types_match (_q70, _q41)))
17940 : {
17941 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
17942 : {
17943 0 : {
17944 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q41, _q40, _q20, _p1 };
17945 0 : tree res = generic_simplify_132 (loc, type, _p0, _p1, captures, GE_EXPR);
17946 0 : if (res) return res;
17947 : }
17948 : }
17949 : }
17950 : break;
17951 : }
17952 : default:;
17953 : }
17954 : break;
17955 : }
17956 : default:;
17957 : }
17958 : break;
17959 : }
17960 46 : case GE_EXPR:
17961 46 : {
17962 46 : tree _q20 = TREE_OPERAND (_p0, 0);
17963 46 : tree _q21 = TREE_OPERAND (_p0, 1);
17964 46 : switch (TREE_CODE (_p1))
17965 : {
17966 4 : case NE_EXPR:
17967 4 : {
17968 4 : tree _q50 = TREE_OPERAND (_p1, 0);
17969 4 : tree _q51 = TREE_OPERAND (_p1, 1);
17970 4 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
17971 : {
17972 0 : if (tree_min_value (_q51))
17973 : {
17974 0 : {
17975 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
17976 0 : tree res = generic_simplify_139 (loc, type, _p0, _p1, captures);
17977 0 : if (res) return res;
17978 : }
17979 : }
17980 : }
17981 4 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
17982 : {
17983 4 : if (tree_max_value (_q51))
17984 : {
17985 4 : {
17986 4 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
17987 4 : tree res = generic_simplify_140 (loc, type, _p0, _p1, captures, NE_EXPR);
17988 4 : if (res) return res;
17989 : }
17990 : }
17991 : }
17992 : break;
17993 : }
17994 8 : case EQ_EXPR:
17995 8 : {
17996 8 : tree _q50 = TREE_OPERAND (_p1, 0);
17997 8 : tree _q51 = TREE_OPERAND (_p1, 1);
17998 8 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
17999 : {
18000 0 : if (tree_min_value (_q51))
18001 : {
18002 0 : {
18003 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
18004 0 : tree res = generic_simplify_141 (loc, type, _p0, _p1, captures);
18005 0 : if (res) return res;
18006 : }
18007 : }
18008 : }
18009 8 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
18010 : {
18011 4 : if (tree_max_value (_q51))
18012 : {
18013 4 : {
18014 4 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
18015 4 : tree res = generic_simplify_140 (loc, type, _p0, _p1, captures, EQ_EXPR);
18016 4 : if (res) return res;
18017 : }
18018 : }
18019 : }
18020 : break;
18021 : }
18022 38 : default:;
18023 : }
18024 38 : switch (TREE_CODE (_q20))
18025 : {
18026 8 : CASE_CONVERT:
18027 8 : {
18028 8 : tree _q30 = TREE_OPERAND (_q20, 0);
18029 8 : switch (TREE_CODE (_p1))
18030 : {
18031 0 : case EQ_EXPR:
18032 0 : {
18033 0 : tree _q60 = TREE_OPERAND (_p1, 0);
18034 0 : tree _q61 = TREE_OPERAND (_p1, 1);
18035 0 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
18036 : {
18037 0 : {
18038 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
18039 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
18040 0 : if (res) return res;
18041 : }
18042 : }
18043 0 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
18044 : {
18045 0 : {
18046 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
18047 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
18048 0 : if (res) return res;
18049 : }
18050 : }
18051 : break;
18052 : }
18053 0 : case NE_EXPR:
18054 0 : {
18055 0 : tree _q60 = TREE_OPERAND (_p1, 0);
18056 0 : tree _q61 = TREE_OPERAND (_p1, 1);
18057 0 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
18058 : {
18059 0 : {
18060 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
18061 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
18062 0 : if (res) return res;
18063 : }
18064 : }
18065 0 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
18066 : {
18067 0 : {
18068 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
18069 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
18070 0 : if (res) return res;
18071 : }
18072 : }
18073 : break;
18074 : }
18075 : default:;
18076 : }
18077 : break;
18078 : }
18079 38 : default:;
18080 : }
18081 38 : switch (TREE_CODE (_q21))
18082 : {
18083 0 : CASE_CONVERT:
18084 0 : {
18085 0 : tree _q40 = TREE_OPERAND (_q21, 0);
18086 0 : switch (TREE_CODE (_p1))
18087 : {
18088 0 : case EQ_EXPR:
18089 0 : {
18090 0 : tree _q60 = TREE_OPERAND (_p1, 0);
18091 0 : tree _q61 = TREE_OPERAND (_p1, 1);
18092 0 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
18093 : {
18094 0 : {
18095 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
18096 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
18097 0 : if (res) return res;
18098 : }
18099 : }
18100 0 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
18101 : {
18102 0 : {
18103 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
18104 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
18105 0 : if (res) return res;
18106 : }
18107 : }
18108 : break;
18109 : }
18110 0 : case NE_EXPR:
18111 0 : {
18112 0 : tree _q60 = TREE_OPERAND (_p1, 0);
18113 0 : tree _q61 = TREE_OPERAND (_p1, 1);
18114 0 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
18115 : {
18116 0 : {
18117 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
18118 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
18119 0 : if (res) return res;
18120 : }
18121 : }
18122 0 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
18123 : {
18124 0 : {
18125 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
18126 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
18127 0 : if (res) return res;
18128 : }
18129 : }
18130 : break;
18131 : }
18132 : default:;
18133 : }
18134 : break;
18135 : }
18136 38 : default:;
18137 : }
18138 38 : switch (TREE_CODE (_p1))
18139 : {
18140 4 : case EQ_EXPR:
18141 4 : {
18142 4 : tree _q50 = TREE_OPERAND (_p1, 0);
18143 4 : tree _q51 = TREE_OPERAND (_p1, 1);
18144 4 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
18145 : {
18146 0 : {
18147 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
18148 0 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
18149 0 : if (res) return res;
18150 : }
18151 : }
18152 4 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
18153 : {
18154 0 : {
18155 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
18156 0 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
18157 0 : if (res) return res;
18158 : }
18159 : }
18160 4 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
18161 : {
18162 0 : {
18163 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
18164 0 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
18165 0 : if (res) return res;
18166 : }
18167 : }
18168 4 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
18169 : {
18170 0 : {
18171 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
18172 0 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
18173 0 : if (res) return res;
18174 : }
18175 : }
18176 : break;
18177 : }
18178 0 : case NE_EXPR:
18179 0 : {
18180 0 : tree _q50 = TREE_OPERAND (_p1, 0);
18181 0 : tree _q51 = TREE_OPERAND (_p1, 1);
18182 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
18183 : {
18184 0 : {
18185 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
18186 0 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
18187 0 : if (res) return res;
18188 : }
18189 : }
18190 0 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
18191 : {
18192 0 : {
18193 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
18194 0 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
18195 0 : if (res) return res;
18196 : }
18197 : }
18198 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
18199 : {
18200 0 : {
18201 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
18202 0 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
18203 0 : if (res) return res;
18204 : }
18205 : }
18206 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
18207 : {
18208 0 : {
18209 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
18210 0 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
18211 0 : if (res) return res;
18212 : }
18213 : }
18214 : break;
18215 : }
18216 0 : case LT_EXPR:
18217 0 : {
18218 0 : tree _q50 = TREE_OPERAND (_p1, 0);
18219 0 : tree _q51 = TREE_OPERAND (_p1, 1);
18220 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
18221 : {
18222 0 : {
18223 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
18224 0 : tree res = generic_simplify_130 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
18225 0 : if (res) return res;
18226 : }
18227 : }
18228 : break;
18229 : }
18230 0 : case LE_EXPR:
18231 0 : {
18232 0 : tree _q50 = TREE_OPERAND (_p1, 0);
18233 0 : tree _q51 = TREE_OPERAND (_p1, 1);
18234 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
18235 : {
18236 0 : {
18237 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
18238 0 : tree res = generic_simplify_130 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR);
18239 0 : if (res) return res;
18240 : }
18241 : }
18242 : break;
18243 : }
18244 0 : case GT_EXPR:
18245 0 : {
18246 0 : tree _q50 = TREE_OPERAND (_p1, 0);
18247 0 : tree _q51 = TREE_OPERAND (_p1, 1);
18248 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
18249 : {
18250 0 : {
18251 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
18252 0 : tree res = generic_simplify_130 (loc, type, _p0, _p1, captures, GT_EXPR, GE_EXPR);
18253 0 : if (res) return res;
18254 : }
18255 : }
18256 : break;
18257 : }
18258 0 : case GE_EXPR:
18259 0 : {
18260 0 : tree _q50 = TREE_OPERAND (_p1, 0);
18261 0 : tree _q51 = TREE_OPERAND (_p1, 1);
18262 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
18263 : {
18264 0 : {
18265 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
18266 0 : tree res = generic_simplify_130 (loc, type, _p0, _p1, captures, GE_EXPR, GE_EXPR);
18267 0 : if (res) return res;
18268 : }
18269 : }
18270 : break;
18271 : }
18272 38 : default:;
18273 : }
18274 38 : switch (TREE_CODE (_q20))
18275 : {
18276 0 : case BIT_AND_EXPR:
18277 0 : {
18278 0 : tree _q30 = TREE_OPERAND (_q20, 0);
18279 0 : tree _q31 = TREE_OPERAND (_q20, 1);
18280 0 : switch (TREE_CODE (_q30))
18281 : {
18282 0 : case BIT_XOR_EXPR:
18283 0 : {
18284 0 : tree _q40 = TREE_OPERAND (_q30, 0);
18285 0 : tree _q41 = TREE_OPERAND (_q30, 1);
18286 0 : if (tree_expr_nonzero_p (_q31))
18287 : {
18288 0 : switch (TREE_CODE (_p1))
18289 : {
18290 0 : case NE_EXPR:
18291 0 : {
18292 0 : tree _q90 = TREE_OPERAND (_p1, 0);
18293 0 : tree _q91 = TREE_OPERAND (_p1, 1);
18294 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
18295 : {
18296 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
18297 : {
18298 0 : {
18299 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _q21, _p1 };
18300 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, GE_EXPR);
18301 0 : if (res) return res;
18302 : }
18303 : }
18304 : }
18305 0 : if ((_q90 == _q41 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q41, 0) && types_match (_q90, _q41)))
18306 : {
18307 0 : if ((_q91 == _q40 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q40, 0) && types_match (_q91, _q40)))
18308 : {
18309 0 : {
18310 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q41, _q40, _q31, _q21, _p1 };
18311 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, GE_EXPR);
18312 0 : if (res) return res;
18313 : }
18314 : }
18315 : }
18316 : break;
18317 : }
18318 : default:;
18319 : }
18320 : }
18321 : break;
18322 : }
18323 0 : default:;
18324 : }
18325 0 : if (tree_expr_nonzero_p (_q30))
18326 : {
18327 0 : switch (TREE_CODE (_q31))
18328 : {
18329 0 : case BIT_XOR_EXPR:
18330 0 : {
18331 0 : tree _q50 = TREE_OPERAND (_q31, 0);
18332 0 : tree _q51 = TREE_OPERAND (_q31, 1);
18333 0 : switch (TREE_CODE (_p1))
18334 : {
18335 0 : case NE_EXPR:
18336 0 : {
18337 0 : tree _q90 = TREE_OPERAND (_p1, 0);
18338 0 : tree _q91 = TREE_OPERAND (_p1, 1);
18339 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
18340 : {
18341 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
18342 : {
18343 0 : {
18344 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q30, _q21, _p1 };
18345 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, GE_EXPR);
18346 0 : if (res) return res;
18347 : }
18348 : }
18349 : }
18350 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
18351 : {
18352 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
18353 : {
18354 0 : {
18355 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q30, _q21, _p1 };
18356 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, GE_EXPR);
18357 0 : if (res) return res;
18358 : }
18359 : }
18360 : }
18361 : break;
18362 : }
18363 : default:;
18364 : }
18365 : break;
18366 : }
18367 : default:;
18368 : }
18369 : }
18370 : break;
18371 : }
18372 38 : default:;
18373 : }
18374 38 : switch (TREE_CODE (_q21))
18375 : {
18376 0 : case BIT_AND_EXPR:
18377 0 : {
18378 0 : tree _q40 = TREE_OPERAND (_q21, 0);
18379 0 : tree _q41 = TREE_OPERAND (_q21, 1);
18380 0 : switch (TREE_CODE (_q40))
18381 : {
18382 0 : case BIT_XOR_EXPR:
18383 0 : {
18384 0 : tree _q50 = TREE_OPERAND (_q40, 0);
18385 0 : tree _q51 = TREE_OPERAND (_q40, 1);
18386 0 : if (tree_expr_nonzero_p (_q41))
18387 : {
18388 0 : switch (TREE_CODE (_p1))
18389 : {
18390 0 : case NE_EXPR:
18391 0 : {
18392 0 : tree _q90 = TREE_OPERAND (_p1, 0);
18393 0 : tree _q91 = TREE_OPERAND (_p1, 1);
18394 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
18395 : {
18396 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
18397 : {
18398 0 : {
18399 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q41, _q20, _p1 };
18400 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, LE_EXPR);
18401 0 : if (res) return res;
18402 : }
18403 : }
18404 : }
18405 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
18406 : {
18407 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
18408 : {
18409 0 : {
18410 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q41, _q20, _p1 };
18411 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, LE_EXPR);
18412 0 : if (res) return res;
18413 : }
18414 : }
18415 : }
18416 : break;
18417 : }
18418 : default:;
18419 : }
18420 : }
18421 : break;
18422 : }
18423 0 : default:;
18424 : }
18425 0 : if (tree_expr_nonzero_p (_q40))
18426 : {
18427 0 : switch (TREE_CODE (_q41))
18428 : {
18429 0 : case BIT_XOR_EXPR:
18430 0 : {
18431 0 : tree _q60 = TREE_OPERAND (_q41, 0);
18432 0 : tree _q61 = TREE_OPERAND (_q41, 1);
18433 0 : switch (TREE_CODE (_p1))
18434 : {
18435 0 : case NE_EXPR:
18436 0 : {
18437 0 : tree _q90 = TREE_OPERAND (_p1, 0);
18438 0 : tree _q91 = TREE_OPERAND (_p1, 1);
18439 0 : if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
18440 : {
18441 0 : if ((_q91 == _q61 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q61, 0) && types_match (_q91, _q61)))
18442 : {
18443 0 : {
18444 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q60, _q61, _q40, _q20, _p1 };
18445 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, LE_EXPR);
18446 0 : if (res) return res;
18447 : }
18448 : }
18449 : }
18450 0 : if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
18451 : {
18452 0 : if ((_q91 == _q60 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q60, 0) && types_match (_q91, _q60)))
18453 : {
18454 0 : {
18455 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q61, _q60, _q40, _q20, _p1 };
18456 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, LE_EXPR);
18457 0 : if (res) return res;
18458 : }
18459 : }
18460 : }
18461 : break;
18462 : }
18463 : default:;
18464 : }
18465 : break;
18466 : }
18467 : default:;
18468 : }
18469 : }
18470 : break;
18471 : }
18472 38 : default:;
18473 : }
18474 38 : switch (TREE_CODE (_q20))
18475 : {
18476 0 : case BIT_XOR_EXPR:
18477 0 : {
18478 0 : tree _q30 = TREE_OPERAND (_q20, 0);
18479 0 : tree _q31 = TREE_OPERAND (_q20, 1);
18480 0 : switch (TREE_CODE (_p1))
18481 : {
18482 0 : case NE_EXPR:
18483 0 : {
18484 0 : tree _q70 = TREE_OPERAND (_p1, 0);
18485 0 : tree _q71 = TREE_OPERAND (_p1, 1);
18486 0 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
18487 : {
18488 0 : if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
18489 : {
18490 0 : {
18491 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
18492 0 : tree res = generic_simplify_132 (loc, type, _p0, _p1, captures, GE_EXPR);
18493 0 : if (res) return res;
18494 : }
18495 : }
18496 : }
18497 0 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
18498 : {
18499 0 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
18500 : {
18501 0 : {
18502 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q21, _p1 };
18503 0 : tree res = generic_simplify_132 (loc, type, _p0, _p1, captures, GE_EXPR);
18504 0 : if (res) return res;
18505 : }
18506 : }
18507 : }
18508 : break;
18509 : }
18510 : default:;
18511 : }
18512 : break;
18513 : }
18514 38 : default:;
18515 : }
18516 38 : switch (TREE_CODE (_q21))
18517 : {
18518 0 : case BIT_XOR_EXPR:
18519 0 : {
18520 0 : tree _q40 = TREE_OPERAND (_q21, 0);
18521 0 : tree _q41 = TREE_OPERAND (_q21, 1);
18522 0 : switch (TREE_CODE (_p1))
18523 : {
18524 0 : case NE_EXPR:
18525 0 : {
18526 0 : tree _q70 = TREE_OPERAND (_p1, 0);
18527 0 : tree _q71 = TREE_OPERAND (_p1, 1);
18528 0 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
18529 : {
18530 0 : if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
18531 : {
18532 0 : {
18533 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q20, _p1 };
18534 0 : tree res = generic_simplify_132 (loc, type, _p0, _p1, captures, LE_EXPR);
18535 0 : if (res) return res;
18536 : }
18537 : }
18538 : }
18539 0 : if ((_q70 == _q41 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q41, 0) && types_match (_q70, _q41)))
18540 : {
18541 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
18542 : {
18543 0 : {
18544 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q41, _q40, _q20, _p1 };
18545 0 : tree res = generic_simplify_132 (loc, type, _p0, _p1, captures, LE_EXPR);
18546 0 : if (res) return res;
18547 : }
18548 : }
18549 : }
18550 : break;
18551 : }
18552 : default:;
18553 : }
18554 : break;
18555 : }
18556 : default:;
18557 : }
18558 : break;
18559 : }
18560 878 : case EQ_EXPR:
18561 878 : {
18562 878 : tree _q20 = TREE_OPERAND (_p0, 0);
18563 878 : tree _q21 = TREE_OPERAND (_p0, 1);
18564 878 : if (tree_min_value (_q21))
18565 : {
18566 4 : switch (TREE_CODE (_p1))
18567 : {
18568 0 : case LE_EXPR:
18569 0 : {
18570 0 : tree _q50 = TREE_OPERAND (_p1, 0);
18571 0 : tree _q51 = TREE_OPERAND (_p1, 1);
18572 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
18573 : {
18574 0 : {
18575 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
18576 0 : tree res = generic_simplify_141 (loc, type, _p0, _p1, captures);
18577 0 : if (res) return res;
18578 : }
18579 : }
18580 : break;
18581 : }
18582 0 : case GE_EXPR:
18583 0 : {
18584 0 : tree _q50 = TREE_OPERAND (_p1, 0);
18585 0 : tree _q51 = TREE_OPERAND (_p1, 1);
18586 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
18587 : {
18588 0 : {
18589 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
18590 0 : tree res = generic_simplify_141 (loc, type, _p0, _p1, captures);
18591 0 : if (res) return res;
18592 : }
18593 : }
18594 : break;
18595 : }
18596 2 : case LT_EXPR:
18597 2 : {
18598 2 : tree _q50 = TREE_OPERAND (_p1, 0);
18599 2 : tree _q51 = TREE_OPERAND (_p1, 1);
18600 2 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
18601 : {
18602 2 : {
18603 2 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q50 };
18604 2 : tree res = generic_simplify_142 (loc, type, _p0, _p1, captures);
18605 2 : if (res) return res;
18606 : }
18607 : }
18608 : break;
18609 : }
18610 0 : case GT_EXPR:
18611 0 : {
18612 0 : tree _q50 = TREE_OPERAND (_p1, 0);
18613 0 : tree _q51 = TREE_OPERAND (_p1, 1);
18614 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
18615 : {
18616 0 : {
18617 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q51 };
18618 0 : tree res = generic_simplify_142 (loc, type, _p0, _p1, captures);
18619 0 : if (res) return res;
18620 : }
18621 : }
18622 : break;
18623 : }
18624 : default:;
18625 : }
18626 : }
18627 876 : if (tree_max_value (_q21))
18628 : {
18629 0 : switch (TREE_CODE (_p1))
18630 : {
18631 0 : case GE_EXPR:
18632 0 : {
18633 0 : tree _q50 = TREE_OPERAND (_p1, 0);
18634 0 : tree _q51 = TREE_OPERAND (_p1, 1);
18635 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
18636 : {
18637 0 : {
18638 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
18639 0 : tree res = generic_simplify_136 (loc, type, _p0, _p1, captures, EQ_EXPR);
18640 0 : if (res) return res;
18641 : }
18642 : }
18643 : break;
18644 : }
18645 0 : case LE_EXPR:
18646 0 : {
18647 0 : tree _q50 = TREE_OPERAND (_p1, 0);
18648 0 : tree _q51 = TREE_OPERAND (_p1, 1);
18649 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
18650 : {
18651 0 : {
18652 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
18653 0 : tree res = generic_simplify_136 (loc, type, _p0, _p1, captures, EQ_EXPR);
18654 0 : if (res) return res;
18655 : }
18656 : }
18657 : break;
18658 : }
18659 : default:;
18660 : }
18661 : }
18662 876 : switch (TREE_CODE (_p1))
18663 : {
18664 416 : case EQ_EXPR:
18665 416 : {
18666 416 : tree _q50 = TREE_OPERAND (_p1, 0);
18667 416 : tree _q51 = TREE_OPERAND (_p1, 1);
18668 416 : switch (TREE_CODE (_q50))
18669 : {
18670 333 : CASE_CONVERT:
18671 333 : {
18672 333 : tree _q60 = TREE_OPERAND (_q50, 0);
18673 333 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
18674 : {
18675 0 : {
18676 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
18677 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
18678 0 : if (res) return res;
18679 : }
18680 : }
18681 333 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
18682 : {
18683 0 : {
18684 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
18685 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
18686 0 : if (res) return res;
18687 : }
18688 : }
18689 : break;
18690 : }
18691 416 : default:;
18692 : }
18693 416 : switch (TREE_CODE (_q51))
18694 : {
18695 0 : CASE_CONVERT:
18696 0 : {
18697 0 : tree _q70 = TREE_OPERAND (_q51, 0);
18698 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
18699 : {
18700 0 : {
18701 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
18702 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
18703 0 : if (res) return res;
18704 : }
18705 : }
18706 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
18707 : {
18708 0 : {
18709 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
18710 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
18711 0 : if (res) return res;
18712 : }
18713 : }
18714 : break;
18715 : }
18716 : default:;
18717 : }
18718 : break;
18719 : }
18720 13 : case NE_EXPR:
18721 13 : {
18722 13 : tree _q50 = TREE_OPERAND (_p1, 0);
18723 13 : tree _q51 = TREE_OPERAND (_p1, 1);
18724 13 : switch (TREE_CODE (_q50))
18725 : {
18726 0 : CASE_CONVERT:
18727 0 : {
18728 0 : tree _q60 = TREE_OPERAND (_q50, 0);
18729 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
18730 : {
18731 0 : {
18732 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
18733 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
18734 0 : if (res) return res;
18735 : }
18736 : }
18737 0 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
18738 : {
18739 0 : {
18740 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
18741 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
18742 0 : if (res) return res;
18743 : }
18744 : }
18745 : break;
18746 : }
18747 13 : default:;
18748 : }
18749 13 : switch (TREE_CODE (_q51))
18750 : {
18751 0 : CASE_CONVERT:
18752 0 : {
18753 0 : tree _q70 = TREE_OPERAND (_q51, 0);
18754 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
18755 : {
18756 0 : {
18757 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
18758 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
18759 0 : if (res) return res;
18760 : }
18761 : }
18762 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
18763 : {
18764 0 : {
18765 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
18766 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
18767 0 : if (res) return res;
18768 : }
18769 : }
18770 : break;
18771 : }
18772 : default:;
18773 : }
18774 : break;
18775 : }
18776 16 : case LT_EXPR:
18777 16 : {
18778 16 : tree _q50 = TREE_OPERAND (_p1, 0);
18779 16 : tree _q51 = TREE_OPERAND (_p1, 1);
18780 16 : switch (TREE_CODE (_q50))
18781 : {
18782 0 : CASE_CONVERT:
18783 0 : {
18784 0 : tree _q60 = TREE_OPERAND (_q50, 0);
18785 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
18786 : {
18787 0 : {
18788 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
18789 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
18790 0 : if (res) return res;
18791 : }
18792 : }
18793 0 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
18794 : {
18795 0 : {
18796 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
18797 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
18798 0 : if (res) return res;
18799 : }
18800 : }
18801 : break;
18802 : }
18803 16 : default:;
18804 : }
18805 16 : switch (TREE_CODE (_q51))
18806 : {
18807 0 : CASE_CONVERT:
18808 0 : {
18809 0 : tree _q70 = TREE_OPERAND (_q51, 0);
18810 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
18811 : {
18812 0 : {
18813 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
18814 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
18815 0 : if (res) return res;
18816 : }
18817 : }
18818 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
18819 : {
18820 0 : {
18821 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
18822 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
18823 0 : if (res) return res;
18824 : }
18825 : }
18826 : break;
18827 : }
18828 : default:;
18829 : }
18830 : break;
18831 : }
18832 28 : case GT_EXPR:
18833 28 : {
18834 28 : tree _q50 = TREE_OPERAND (_p1, 0);
18835 28 : tree _q51 = TREE_OPERAND (_p1, 1);
18836 28 : switch (TREE_CODE (_q50))
18837 : {
18838 0 : CASE_CONVERT:
18839 0 : {
18840 0 : tree _q60 = TREE_OPERAND (_q50, 0);
18841 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
18842 : {
18843 0 : {
18844 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
18845 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
18846 0 : if (res) return res;
18847 : }
18848 : }
18849 0 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
18850 : {
18851 0 : {
18852 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
18853 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
18854 0 : if (res) return res;
18855 : }
18856 : }
18857 : break;
18858 : }
18859 28 : default:;
18860 : }
18861 28 : switch (TREE_CODE (_q51))
18862 : {
18863 0 : CASE_CONVERT:
18864 0 : {
18865 0 : tree _q70 = TREE_OPERAND (_q51, 0);
18866 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
18867 : {
18868 0 : {
18869 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
18870 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
18871 0 : if (res) return res;
18872 : }
18873 : }
18874 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
18875 : {
18876 0 : {
18877 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
18878 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
18879 0 : if (res) return res;
18880 : }
18881 : }
18882 : break;
18883 : }
18884 : default:;
18885 : }
18886 : break;
18887 : }
18888 138 : case LE_EXPR:
18889 138 : {
18890 138 : tree _q50 = TREE_OPERAND (_p1, 0);
18891 138 : tree _q51 = TREE_OPERAND (_p1, 1);
18892 138 : switch (TREE_CODE (_q50))
18893 : {
18894 0 : CASE_CONVERT:
18895 0 : {
18896 0 : tree _q60 = TREE_OPERAND (_q50, 0);
18897 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
18898 : {
18899 0 : {
18900 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
18901 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
18902 0 : if (res) return res;
18903 : }
18904 : }
18905 0 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
18906 : {
18907 0 : {
18908 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
18909 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
18910 0 : if (res) return res;
18911 : }
18912 : }
18913 : break;
18914 : }
18915 138 : default:;
18916 : }
18917 138 : switch (TREE_CODE (_q51))
18918 : {
18919 0 : CASE_CONVERT:
18920 0 : {
18921 0 : tree _q70 = TREE_OPERAND (_q51, 0);
18922 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
18923 : {
18924 0 : {
18925 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
18926 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
18927 0 : if (res) return res;
18928 : }
18929 : }
18930 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
18931 : {
18932 0 : {
18933 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
18934 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
18935 0 : if (res) return res;
18936 : }
18937 : }
18938 : break;
18939 : }
18940 : default:;
18941 : }
18942 : break;
18943 : }
18944 20 : case GE_EXPR:
18945 20 : {
18946 20 : tree _q50 = TREE_OPERAND (_p1, 0);
18947 20 : tree _q51 = TREE_OPERAND (_p1, 1);
18948 20 : switch (TREE_CODE (_q50))
18949 : {
18950 16 : CASE_CONVERT:
18951 16 : {
18952 16 : tree _q60 = TREE_OPERAND (_q50, 0);
18953 16 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
18954 : {
18955 0 : {
18956 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
18957 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
18958 0 : if (res) return res;
18959 : }
18960 : }
18961 16 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
18962 : {
18963 0 : {
18964 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
18965 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
18966 0 : if (res) return res;
18967 : }
18968 : }
18969 : break;
18970 : }
18971 20 : default:;
18972 : }
18973 20 : switch (TREE_CODE (_q51))
18974 : {
18975 0 : CASE_CONVERT:
18976 0 : {
18977 0 : tree _q70 = TREE_OPERAND (_q51, 0);
18978 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
18979 : {
18980 0 : {
18981 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
18982 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
18983 0 : if (res) return res;
18984 : }
18985 : }
18986 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
18987 : {
18988 0 : {
18989 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
18990 0 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
18991 0 : if (res) return res;
18992 : }
18993 : }
18994 : break;
18995 : }
18996 : default:;
18997 : }
18998 : break;
18999 : }
19000 876 : default:;
19001 : }
19002 876 : switch (TREE_CODE (_q20))
19003 : {
19004 570 : CASE_CONVERT:
19005 570 : {
19006 570 : tree _q30 = TREE_OPERAND (_q20, 0);
19007 570 : switch (TREE_CODE (_p1))
19008 : {
19009 333 : case EQ_EXPR:
19010 333 : {
19011 333 : tree _q60 = TREE_OPERAND (_p1, 0);
19012 333 : tree _q61 = TREE_OPERAND (_p1, 1);
19013 333 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
19014 : {
19015 0 : {
19016 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
19017 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
19018 0 : if (res) return res;
19019 : }
19020 : }
19021 333 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
19022 : {
19023 0 : {
19024 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
19025 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
19026 0 : if (res) return res;
19027 : }
19028 : }
19029 : break;
19030 : }
19031 0 : case NE_EXPR:
19032 0 : {
19033 0 : tree _q60 = TREE_OPERAND (_p1, 0);
19034 0 : tree _q61 = TREE_OPERAND (_p1, 1);
19035 0 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
19036 : {
19037 0 : {
19038 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
19039 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
19040 0 : if (res) return res;
19041 : }
19042 : }
19043 0 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
19044 : {
19045 0 : {
19046 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
19047 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
19048 0 : if (res) return res;
19049 : }
19050 : }
19051 : break;
19052 : }
19053 : default:;
19054 : }
19055 : break;
19056 : }
19057 876 : default:;
19058 : }
19059 876 : switch (TREE_CODE (_q21))
19060 : {
19061 9 : CASE_CONVERT:
19062 9 : {
19063 9 : tree _q40 = TREE_OPERAND (_q21, 0);
19064 9 : switch (TREE_CODE (_p1))
19065 : {
19066 0 : case EQ_EXPR:
19067 0 : {
19068 0 : tree _q60 = TREE_OPERAND (_p1, 0);
19069 0 : tree _q61 = TREE_OPERAND (_p1, 1);
19070 0 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
19071 : {
19072 0 : {
19073 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
19074 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
19075 0 : if (res) return res;
19076 : }
19077 : }
19078 0 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
19079 : {
19080 0 : {
19081 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
19082 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
19083 0 : if (res) return res;
19084 : }
19085 : }
19086 : break;
19087 : }
19088 0 : case NE_EXPR:
19089 0 : {
19090 0 : tree _q60 = TREE_OPERAND (_p1, 0);
19091 0 : tree _q61 = TREE_OPERAND (_p1, 1);
19092 0 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
19093 : {
19094 0 : {
19095 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
19096 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
19097 0 : if (res) return res;
19098 : }
19099 : }
19100 0 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
19101 : {
19102 0 : {
19103 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
19104 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
19105 0 : if (res) return res;
19106 : }
19107 : }
19108 : break;
19109 : }
19110 : default:;
19111 : }
19112 : break;
19113 : }
19114 876 : default:;
19115 : }
19116 876 : switch (TREE_CODE (_p1))
19117 : {
19118 416 : case EQ_EXPR:
19119 416 : {
19120 416 : tree _q50 = TREE_OPERAND (_p1, 0);
19121 416 : tree _q51 = TREE_OPERAND (_p1, 1);
19122 416 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
19123 : {
19124 384 : {
19125 384 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
19126 384 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
19127 384 : if (res) return res;
19128 : }
19129 384 : {
19130 384 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
19131 384 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
19132 384 : if (res) return res;
19133 : }
19134 : }
19135 416 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
19136 : {
19137 0 : {
19138 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
19139 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
19140 0 : if (res) return res;
19141 : }
19142 : }
19143 416 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
19144 : {
19145 0 : {
19146 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
19147 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
19148 0 : if (res) return res;
19149 : }
19150 0 : {
19151 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
19152 0 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
19153 0 : if (res) return res;
19154 : }
19155 : }
19156 416 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
19157 : {
19158 15 : {
19159 15 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
19160 15 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
19161 15 : if (res) return res;
19162 : }
19163 15 : {
19164 15 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
19165 15 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
19166 15 : if (res) return res;
19167 : }
19168 : }
19169 416 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
19170 : {
19171 0 : {
19172 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
19173 0 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
19174 0 : if (res) return res;
19175 : }
19176 : }
19177 : break;
19178 : }
19179 13 : case NE_EXPR:
19180 13 : {
19181 13 : tree _q50 = TREE_OPERAND (_p1, 0);
19182 13 : tree _q51 = TREE_OPERAND (_p1, 1);
19183 13 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
19184 : {
19185 0 : {
19186 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
19187 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
19188 0 : if (res) return res;
19189 : }
19190 0 : {
19191 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
19192 0 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
19193 0 : if (res) return res;
19194 : }
19195 : }
19196 13 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
19197 : {
19198 0 : {
19199 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
19200 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
19201 0 : if (res) return res;
19202 : }
19203 : }
19204 13 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
19205 : {
19206 0 : {
19207 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
19208 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
19209 0 : if (res) return res;
19210 : }
19211 0 : {
19212 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
19213 0 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
19214 0 : if (res) return res;
19215 : }
19216 : }
19217 13 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
19218 : {
19219 4 : {
19220 4 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
19221 4 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
19222 4 : if (res) return res;
19223 : }
19224 4 : {
19225 4 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
19226 4 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
19227 4 : if (res) return res;
19228 : }
19229 : }
19230 13 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
19231 : {
19232 0 : {
19233 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
19234 0 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
19235 0 : if (res) return res;
19236 : }
19237 : }
19238 : break;
19239 : }
19240 16 : case LT_EXPR:
19241 16 : {
19242 16 : tree _q50 = TREE_OPERAND (_p1, 0);
19243 16 : tree _q51 = TREE_OPERAND (_p1, 1);
19244 16 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
19245 : {
19246 0 : {
19247 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
19248 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
19249 0 : if (res) return res;
19250 : }
19251 : }
19252 16 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
19253 : {
19254 0 : {
19255 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
19256 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
19257 0 : if (res) return res;
19258 : }
19259 : }
19260 16 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
19261 : {
19262 0 : {
19263 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
19264 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
19265 0 : if (res) return res;
19266 : }
19267 : }
19268 16 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
19269 : {
19270 0 : {
19271 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
19272 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
19273 0 : if (res) return res;
19274 : }
19275 : }
19276 : break;
19277 : }
19278 28 : case GT_EXPR:
19279 28 : {
19280 28 : tree _q50 = TREE_OPERAND (_p1, 0);
19281 28 : tree _q51 = TREE_OPERAND (_p1, 1);
19282 28 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
19283 : {
19284 9 : {
19285 9 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
19286 9 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
19287 9 : if (res) return res;
19288 : }
19289 : }
19290 28 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
19291 : {
19292 0 : {
19293 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
19294 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
19295 0 : if (res) return res;
19296 : }
19297 : }
19298 28 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
19299 : {
19300 0 : {
19301 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
19302 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
19303 0 : if (res) return res;
19304 : }
19305 : }
19306 28 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
19307 : {
19308 0 : {
19309 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
19310 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
19311 0 : if (res) return res;
19312 : }
19313 : }
19314 : break;
19315 : }
19316 138 : case LE_EXPR:
19317 138 : {
19318 138 : tree _q50 = TREE_OPERAND (_p1, 0);
19319 138 : tree _q51 = TREE_OPERAND (_p1, 1);
19320 138 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
19321 : {
19322 0 : {
19323 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
19324 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
19325 0 : if (res) return res;
19326 : }
19327 : }
19328 138 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
19329 : {
19330 0 : {
19331 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
19332 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
19333 0 : if (res) return res;
19334 : }
19335 : }
19336 138 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
19337 : {
19338 0 : {
19339 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
19340 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
19341 0 : if (res) return res;
19342 : }
19343 : }
19344 138 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
19345 : {
19346 0 : {
19347 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
19348 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
19349 0 : if (res) return res;
19350 : }
19351 : }
19352 : break;
19353 : }
19354 20 : case GE_EXPR:
19355 20 : {
19356 20 : tree _q50 = TREE_OPERAND (_p1, 0);
19357 20 : tree _q51 = TREE_OPERAND (_p1, 1);
19358 20 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
19359 : {
19360 0 : {
19361 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
19362 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
19363 0 : if (res) return res;
19364 : }
19365 : }
19366 20 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
19367 : {
19368 0 : {
19369 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
19370 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
19371 0 : if (res) return res;
19372 : }
19373 : }
19374 20 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
19375 : {
19376 0 : {
19377 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
19378 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
19379 0 : if (res) return res;
19380 : }
19381 : }
19382 20 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
19383 : {
19384 0 : {
19385 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
19386 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
19387 0 : if (res) return res;
19388 : }
19389 : }
19390 : break;
19391 : }
19392 876 : default:;
19393 : }
19394 876 : switch (TREE_CODE (_q20))
19395 : {
19396 0 : case BIT_AND_EXPR:
19397 0 : {
19398 0 : tree _q30 = TREE_OPERAND (_q20, 0);
19399 0 : tree _q31 = TREE_OPERAND (_q20, 1);
19400 0 : switch (TREE_CODE (_q30))
19401 : {
19402 0 : case BIT_XOR_EXPR:
19403 0 : {
19404 0 : tree _q40 = TREE_OPERAND (_q30, 0);
19405 0 : tree _q41 = TREE_OPERAND (_q30, 1);
19406 0 : if (tree_expr_nonzero_p (_q31))
19407 : {
19408 0 : switch (TREE_CODE (_p1))
19409 : {
19410 0 : case NE_EXPR:
19411 0 : {
19412 0 : tree _q90 = TREE_OPERAND (_p1, 0);
19413 0 : tree _q91 = TREE_OPERAND (_p1, 1);
19414 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
19415 : {
19416 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
19417 : {
19418 0 : {
19419 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _q21, _p1 };
19420 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, EQ_EXPR);
19421 0 : if (res) return res;
19422 : }
19423 : }
19424 : }
19425 0 : if ((_q90 == _q41 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q41, 0) && types_match (_q90, _q41)))
19426 : {
19427 0 : if ((_q91 == _q40 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q40, 0) && types_match (_q91, _q40)))
19428 : {
19429 0 : {
19430 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q41, _q40, _q31, _q21, _p1 };
19431 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, EQ_EXPR);
19432 0 : if (res) return res;
19433 : }
19434 : }
19435 : }
19436 : break;
19437 : }
19438 : default:;
19439 : }
19440 : }
19441 : break;
19442 : }
19443 0 : default:;
19444 : }
19445 0 : if (tree_expr_nonzero_p (_q30))
19446 : {
19447 0 : switch (TREE_CODE (_q31))
19448 : {
19449 0 : case BIT_XOR_EXPR:
19450 0 : {
19451 0 : tree _q50 = TREE_OPERAND (_q31, 0);
19452 0 : tree _q51 = TREE_OPERAND (_q31, 1);
19453 0 : switch (TREE_CODE (_p1))
19454 : {
19455 0 : case NE_EXPR:
19456 0 : {
19457 0 : tree _q90 = TREE_OPERAND (_p1, 0);
19458 0 : tree _q91 = TREE_OPERAND (_p1, 1);
19459 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
19460 : {
19461 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
19462 : {
19463 0 : {
19464 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q30, _q21, _p1 };
19465 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, EQ_EXPR);
19466 0 : if (res) return res;
19467 : }
19468 : }
19469 : }
19470 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
19471 : {
19472 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
19473 : {
19474 0 : {
19475 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q30, _q21, _p1 };
19476 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, EQ_EXPR);
19477 0 : if (res) return res;
19478 : }
19479 : }
19480 : }
19481 : break;
19482 : }
19483 : default:;
19484 : }
19485 : break;
19486 : }
19487 : default:;
19488 : }
19489 : }
19490 : break;
19491 : }
19492 876 : default:;
19493 : }
19494 876 : switch (TREE_CODE (_q21))
19495 : {
19496 0 : case BIT_AND_EXPR:
19497 0 : {
19498 0 : tree _q40 = TREE_OPERAND (_q21, 0);
19499 0 : tree _q41 = TREE_OPERAND (_q21, 1);
19500 0 : switch (TREE_CODE (_q40))
19501 : {
19502 0 : case BIT_XOR_EXPR:
19503 0 : {
19504 0 : tree _q50 = TREE_OPERAND (_q40, 0);
19505 0 : tree _q51 = TREE_OPERAND (_q40, 1);
19506 0 : if (tree_expr_nonzero_p (_q41))
19507 : {
19508 0 : switch (TREE_CODE (_p1))
19509 : {
19510 0 : case NE_EXPR:
19511 0 : {
19512 0 : tree _q90 = TREE_OPERAND (_p1, 0);
19513 0 : tree _q91 = TREE_OPERAND (_p1, 1);
19514 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
19515 : {
19516 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
19517 : {
19518 0 : {
19519 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q41, _q20, _p1 };
19520 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, EQ_EXPR);
19521 0 : if (res) return res;
19522 : }
19523 : }
19524 : }
19525 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
19526 : {
19527 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
19528 : {
19529 0 : {
19530 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q41, _q20, _p1 };
19531 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, EQ_EXPR);
19532 0 : if (res) return res;
19533 : }
19534 : }
19535 : }
19536 : break;
19537 : }
19538 : default:;
19539 : }
19540 : }
19541 : break;
19542 : }
19543 0 : default:;
19544 : }
19545 0 : if (tree_expr_nonzero_p (_q40))
19546 : {
19547 0 : switch (TREE_CODE (_q41))
19548 : {
19549 0 : case BIT_XOR_EXPR:
19550 0 : {
19551 0 : tree _q60 = TREE_OPERAND (_q41, 0);
19552 0 : tree _q61 = TREE_OPERAND (_q41, 1);
19553 0 : switch (TREE_CODE (_p1))
19554 : {
19555 0 : case NE_EXPR:
19556 0 : {
19557 0 : tree _q90 = TREE_OPERAND (_p1, 0);
19558 0 : tree _q91 = TREE_OPERAND (_p1, 1);
19559 0 : if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
19560 : {
19561 0 : if ((_q91 == _q61 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q61, 0) && types_match (_q91, _q61)))
19562 : {
19563 0 : {
19564 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q60, _q61, _q40, _q20, _p1 };
19565 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, EQ_EXPR);
19566 0 : if (res) return res;
19567 : }
19568 : }
19569 : }
19570 0 : if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
19571 : {
19572 0 : if ((_q91 == _q60 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q60, 0) && types_match (_q91, _q60)))
19573 : {
19574 0 : {
19575 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q61, _q60, _q40, _q20, _p1 };
19576 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures, EQ_EXPR);
19577 0 : if (res) return res;
19578 : }
19579 : }
19580 : }
19581 : break;
19582 : }
19583 : default:;
19584 : }
19585 : break;
19586 : }
19587 : default:;
19588 : }
19589 : }
19590 : break;
19591 : }
19592 876 : default:;
19593 : }
19594 876 : switch (TREE_CODE (_q20))
19595 : {
19596 0 : case BIT_XOR_EXPR:
19597 0 : {
19598 0 : tree _q30 = TREE_OPERAND (_q20, 0);
19599 0 : tree _q31 = TREE_OPERAND (_q20, 1);
19600 0 : switch (TREE_CODE (_p1))
19601 : {
19602 0 : case NE_EXPR:
19603 0 : {
19604 0 : tree _q70 = TREE_OPERAND (_p1, 0);
19605 0 : tree _q71 = TREE_OPERAND (_p1, 1);
19606 0 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
19607 : {
19608 0 : if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
19609 : {
19610 0 : {
19611 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
19612 0 : tree res = generic_simplify_132 (loc, type, _p0, _p1, captures, EQ_EXPR);
19613 0 : if (res) return res;
19614 : }
19615 : }
19616 : }
19617 0 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
19618 : {
19619 0 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
19620 : {
19621 0 : {
19622 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q21, _p1 };
19623 0 : tree res = generic_simplify_132 (loc, type, _p0, _p1, captures, EQ_EXPR);
19624 0 : if (res) return res;
19625 : }
19626 : }
19627 : }
19628 : break;
19629 : }
19630 : default:;
19631 : }
19632 : break;
19633 : }
19634 876 : default:;
19635 : }
19636 876 : switch (TREE_CODE (_q21))
19637 : {
19638 0 : case BIT_XOR_EXPR:
19639 0 : {
19640 0 : tree _q40 = TREE_OPERAND (_q21, 0);
19641 0 : tree _q41 = TREE_OPERAND (_q21, 1);
19642 0 : switch (TREE_CODE (_p1))
19643 : {
19644 0 : case NE_EXPR:
19645 0 : {
19646 0 : tree _q70 = TREE_OPERAND (_p1, 0);
19647 0 : tree _q71 = TREE_OPERAND (_p1, 1);
19648 0 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
19649 : {
19650 0 : if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
19651 : {
19652 0 : {
19653 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q20, _p1 };
19654 0 : tree res = generic_simplify_132 (loc, type, _p0, _p1, captures, EQ_EXPR);
19655 0 : if (res) return res;
19656 : }
19657 : }
19658 : }
19659 0 : if ((_q70 == _q41 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q41, 0) && types_match (_q70, _q41)))
19660 : {
19661 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
19662 : {
19663 0 : {
19664 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q41, _q40, _q20, _p1 };
19665 0 : tree res = generic_simplify_132 (loc, type, _p0, _p1, captures, EQ_EXPR);
19666 0 : if (res) return res;
19667 : }
19668 : }
19669 : }
19670 : break;
19671 : }
19672 : default:;
19673 : }
19674 : break;
19675 : }
19676 : default:;
19677 : }
19678 : break;
19679 : }
19680 583 : case MULT_EXPR:
19681 583 : {
19682 583 : tree _q20 = TREE_OPERAND (_p0, 0);
19683 583 : tree _q21 = TREE_OPERAND (_p0, 1);
19684 583 : switch (TREE_CODE (_q21))
19685 : {
19686 553 : case INTEGER_CST:
19687 553 : {
19688 553 : switch (TREE_CODE (_p1))
19689 : {
19690 7 : case MULT_EXPR:
19691 7 : {
19692 7 : tree _q50 = TREE_OPERAND (_p1, 0);
19693 7 : tree _q51 = TREE_OPERAND (_p1, 1);
19694 7 : switch (TREE_CODE (_q51))
19695 : {
19696 7 : case INTEGER_CST:
19697 7 : {
19698 7 : {
19699 7 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _p1, _q50, _q51 };
19700 7 : tree res = generic_simplify_143 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
19701 7 : if (res) return res;
19702 : }
19703 7 : break;
19704 : }
19705 : default:;
19706 : }
19707 : break;
19708 : }
19709 0 : case LSHIFT_EXPR:
19710 0 : {
19711 0 : tree _q50 = TREE_OPERAND (_p1, 0);
19712 0 : tree _q51 = TREE_OPERAND (_p1, 1);
19713 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
19714 : {
19715 0 : switch (TREE_CODE (_q51))
19716 : {
19717 0 : case INTEGER_CST:
19718 0 : {
19719 0 : {
19720 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _q51 };
19721 0 : tree res = generic_simplify_144 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
19722 0 : if (res) return res;
19723 : }
19724 0 : break;
19725 : }
19726 : default:;
19727 : }
19728 : }
19729 : break;
19730 : }
19731 553 : default:;
19732 : }
19733 553 : if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
19734 : {
19735 0 : {
19736 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
19737 0 : tree res = generic_simplify_145 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
19738 0 : if (res) return res;
19739 : }
19740 : }
19741 : break;
19742 : }
19743 : default:;
19744 : }
19745 : break;
19746 : }
19747 479283 : case LSHIFT_EXPR:
19748 479283 : {
19749 479283 : tree _q20 = TREE_OPERAND (_p0, 0);
19750 479283 : tree _q21 = TREE_OPERAND (_p0, 1);
19751 479283 : switch (TREE_CODE (_q21))
19752 : {
19753 464583 : case INTEGER_CST:
19754 464583 : {
19755 464583 : switch (TREE_CODE (_p1))
19756 : {
19757 0 : case MULT_EXPR:
19758 0 : {
19759 0 : tree _q50 = TREE_OPERAND (_p1, 0);
19760 0 : tree _q51 = TREE_OPERAND (_p1, 1);
19761 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
19762 : {
19763 0 : switch (TREE_CODE (_q51))
19764 : {
19765 0 : case INTEGER_CST:
19766 0 : {
19767 0 : {
19768 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _p1, _q20, _q51, _p0, _q21 };
19769 0 : tree res = generic_simplify_144 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
19770 0 : if (res) return res;
19771 : }
19772 0 : break;
19773 : }
19774 : default:;
19775 : }
19776 : }
19777 : break;
19778 : }
19779 464583 : default:;
19780 : }
19781 464583 : {
19782 464583 : tree _p1_pops[1];
19783 464583 : if (tree_nop_convert (_p1, _p1_pops))
19784 : {
19785 315281 : tree _q50 = _p1_pops[0];
19786 315281 : switch (TREE_CODE (_q50))
19787 : {
19788 0 : case MULT_EXPR:
19789 0 : {
19790 0 : tree _q60 = TREE_OPERAND (_q50, 0);
19791 0 : tree _q61 = TREE_OPERAND (_q50, 1);
19792 0 : {
19793 0 : tree _q60_pops[1];
19794 0 : if (tree_nop_convert (_q60, _q60_pops))
19795 : {
19796 0 : tree _q70 = _q60_pops[0];
19797 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
19798 : {
19799 0 : switch (TREE_CODE (_q61))
19800 : {
19801 0 : case INTEGER_CST:
19802 0 : {
19803 0 : {
19804 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q50, _q20, _q61, _p0, _q21 };
19805 0 : tree res = generic_simplify_117 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
19806 0 : if (res) return res;
19807 : }
19808 0 : break;
19809 : }
19810 : default:;
19811 : }
19812 : }
19813 : }
19814 : }
19815 0 : break;
19816 : }
19817 : default:;
19818 : }
19819 : }
19820 : }
19821 464583 : break;
19822 : }
19823 : default:;
19824 : }
19825 : break;
19826 : }
19827 2225490 : default:;
19828 : }
19829 2225490 : {
19830 2225490 : tree _p0_pops[1];
19831 2225490 : if (tree_logical_inverted_value (_p0, _p0_pops))
19832 : {
19833 204 : tree _q20 = _p0_pops[0];
19834 204 : if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
19835 : {
19836 3 : if (tree_truth_valued_p (_p1))
19837 : {
19838 3 : {
19839 3 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
19840 3 : tree res = generic_simplify_120 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
19841 3 : if (res) return res;
19842 : }
19843 : }
19844 : }
19845 : }
19846 : }
19847 2225487 : if (tree_truth_valued_p (_p0))
19848 : {
19849 227160 : {
19850 227160 : tree _p1_pops[1];
19851 227160 : if (tree_logical_inverted_value (_p1, _p1_pops))
19852 : {
19853 91 : tree _q30 = _p1_pops[0];
19854 91 : if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
19855 : {
19856 0 : {
19857 0 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
19858 0 : tree res = generic_simplify_120 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
19859 0 : if (res) return res;
19860 : }
19861 : }
19862 : }
19863 : }
19864 : }
19865 2225487 : switch (TREE_CODE (_p1))
19866 : {
19867 51 : case MULT_EXPR:
19868 51 : {
19869 51 : tree _q30 = TREE_OPERAND (_p1, 0);
19870 51 : tree _q31 = TREE_OPERAND (_p1, 1);
19871 51 : if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
19872 : {
19873 0 : switch (TREE_CODE (_q31))
19874 : {
19875 0 : case INTEGER_CST:
19876 0 : {
19877 0 : {
19878 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _p0, _q31 };
19879 0 : tree res = generic_simplify_145 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
19880 0 : if (res) return res;
19881 : }
19882 0 : break;
19883 : }
19884 : default:;
19885 : }
19886 : }
19887 : break;
19888 : }
19889 2225487 : default:;
19890 : }
19891 2225487 : {
19892 2225487 : tree _p1_pops[1];
19893 2225487 : if (tree_nop_convert (_p1, _p1_pops))
19894 : {
19895 933063 : tree _q30 = _p1_pops[0];
19896 933063 : switch (TREE_CODE (_q30))
19897 : {
19898 5 : case MULT_EXPR:
19899 5 : {
19900 5 : tree _q40 = TREE_OPERAND (_q30, 0);
19901 5 : tree _q41 = TREE_OPERAND (_q30, 1);
19902 5 : {
19903 5 : tree _q40_pops[1];
19904 5 : if (tree_nop_convert (_q40, _q40_pops))
19905 : {
19906 0 : tree _q50 = _q40_pops[0];
19907 0 : if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
19908 : {
19909 0 : switch (TREE_CODE (_q41))
19910 : {
19911 0 : case INTEGER_CST:
19912 0 : {
19913 0 : {
19914 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41 };
19915 0 : tree res = generic_simplify_118 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
19916 0 : if (res) return res;
19917 : }
19918 0 : break;
19919 : }
19920 : default:;
19921 : }
19922 : }
19923 : }
19924 : }
19925 5 : break;
19926 : }
19927 : default:;
19928 : }
19929 : }
19930 : }
19931 2225487 : switch (TREE_CODE (_p0))
19932 : {
19933 479283 : case LSHIFT_EXPR:
19934 479283 : {
19935 479283 : tree _q20 = TREE_OPERAND (_p0, 0);
19936 479283 : tree _q21 = TREE_OPERAND (_p0, 1);
19937 479283 : switch (TREE_CODE (_q21))
19938 : {
19939 464583 : case INTEGER_CST:
19940 464583 : {
19941 464583 : switch (TREE_CODE (_p1))
19942 : {
19943 1132 : case LSHIFT_EXPR:
19944 1132 : {
19945 1132 : tree _q50 = TREE_OPERAND (_p1, 0);
19946 1132 : tree _q51 = TREE_OPERAND (_p1, 1);
19947 1132 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
19948 : {
19949 4 : switch (TREE_CODE (_q51))
19950 : {
19951 4 : case INTEGER_CST:
19952 4 : {
19953 4 : {
19954 4 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
19955 4 : tree res = generic_simplify_146 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
19956 4 : if (res) return res;
19957 : }
19958 2 : break;
19959 : }
19960 : default:;
19961 : }
19962 : }
19963 : break;
19964 : }
19965 464581 : default:;
19966 : }
19967 464581 : if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
19968 : {
19969 432 : {
19970 432 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
19971 432 : tree res = generic_simplify_147 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
19972 432 : if (res) return res;
19973 : }
19974 : }
19975 : break;
19976 : }
19977 : default:;
19978 : }
19979 : break;
19980 : }
19981 2225485 : default:;
19982 : }
19983 2225485 : switch (TREE_CODE (_p1))
19984 : {
19985 36908 : case LSHIFT_EXPR:
19986 36908 : {
19987 36908 : tree _q30 = TREE_OPERAND (_p1, 0);
19988 36908 : tree _q31 = TREE_OPERAND (_p1, 1);
19989 36908 : if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
19990 : {
19991 10 : switch (TREE_CODE (_q31))
19992 : {
19993 3 : case INTEGER_CST:
19994 3 : {
19995 3 : {
19996 3 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
19997 3 : tree res = generic_simplify_147 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
19998 3 : if (res) return res;
19999 : }
20000 0 : break;
20001 : }
20002 : default:;
20003 : }
20004 : }
20005 : break;
20006 : }
20007 2225482 : default:;
20008 : }
20009 2225482 : switch (TREE_CODE (_p0))
20010 : {
20011 0 : case MIN_EXPR:
20012 0 : {
20013 0 : tree _q20 = TREE_OPERAND (_p0, 0);
20014 0 : tree _q21 = TREE_OPERAND (_p0, 1);
20015 0 : switch (TREE_CODE (_p1))
20016 : {
20017 0 : case MAX_EXPR:
20018 0 : {
20019 0 : tree _q50 = TREE_OPERAND (_p1, 0);
20020 0 : tree _q51 = TREE_OPERAND (_p1, 1);
20021 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
20022 : {
20023 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
20024 : {
20025 0 : {
20026 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
20027 0 : if (!HONOR_NANS (captures[0])
20028 : )
20029 : {
20030 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1216;
20031 0 : {
20032 0 : tree res_op0;
20033 0 : res_op0 = captures[0];
20034 0 : tree res_op1;
20035 0 : res_op1 = captures[1];
20036 0 : tree _r;
20037 0 : _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
20038 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 872, __FILE__, __LINE__, true);
20039 0 : return _r;
20040 : }
20041 0 : next_after_fail1216:;
20042 : }
20043 : }
20044 : }
20045 : }
20046 0 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
20047 : {
20048 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
20049 : {
20050 0 : {
20051 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
20052 0 : if (!HONOR_NANS (captures[0])
20053 : )
20054 : {
20055 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1217;
20056 0 : {
20057 0 : tree res_op0;
20058 0 : res_op0 = captures[0];
20059 0 : tree res_op1;
20060 0 : res_op1 = captures[1];
20061 0 : tree _r;
20062 0 : _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
20063 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 872, __FILE__, __LINE__, true);
20064 0 : return _r;
20065 : }
20066 0 : next_after_fail1217:;
20067 : }
20068 : }
20069 : }
20070 : }
20071 : break;
20072 : }
20073 : default:;
20074 : }
20075 : break;
20076 : }
20077 0 : case MAX_EXPR:
20078 0 : {
20079 0 : tree _q20 = TREE_OPERAND (_p0, 0);
20080 0 : tree _q21 = TREE_OPERAND (_p0, 1);
20081 0 : switch (TREE_CODE (_p1))
20082 : {
20083 0 : case MIN_EXPR:
20084 0 : {
20085 0 : tree _q50 = TREE_OPERAND (_p1, 0);
20086 0 : tree _q51 = TREE_OPERAND (_p1, 1);
20087 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
20088 : {
20089 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
20090 : {
20091 0 : {
20092 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
20093 0 : if (!HONOR_NANS (captures[0])
20094 : )
20095 : {
20096 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1218;
20097 0 : {
20098 0 : tree res_op0;
20099 0 : res_op0 = captures[0];
20100 0 : tree res_op1;
20101 0 : res_op1 = captures[1];
20102 0 : tree _r;
20103 0 : _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
20104 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 872, __FILE__, __LINE__, true);
20105 0 : return _r;
20106 : }
20107 0 : next_after_fail1218:;
20108 : }
20109 : }
20110 : }
20111 : }
20112 0 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
20113 : {
20114 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
20115 : {
20116 0 : {
20117 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
20118 0 : if (!HONOR_NANS (captures[0])
20119 : )
20120 : {
20121 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1219;
20122 0 : {
20123 0 : tree res_op0;
20124 0 : res_op0 = captures[0];
20125 0 : tree res_op1;
20126 0 : res_op1 = captures[1];
20127 0 : tree _r;
20128 0 : _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
20129 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 872, __FILE__, __LINE__, true);
20130 0 : return _r;
20131 : }
20132 0 : next_after_fail1219:;
20133 : }
20134 : }
20135 : }
20136 : }
20137 : break;
20138 : }
20139 : default:;
20140 : }
20141 : break;
20142 : }
20143 61 : case VEC_COND_EXPR:
20144 61 : {
20145 61 : tree _q20 = TREE_OPERAND (_p0, 0);
20146 61 : tree _q21 = TREE_OPERAND (_p0, 1);
20147 61 : tree _q22 = TREE_OPERAND (_p0, 2);
20148 61 : switch (TREE_CODE (_p1))
20149 : {
20150 54 : case VEC_COND_EXPR:
20151 54 : {
20152 54 : tree _q60 = TREE_OPERAND (_p1, 0);
20153 54 : tree _q61 = TREE_OPERAND (_p1, 1);
20154 54 : tree _q62 = TREE_OPERAND (_p1, 2);
20155 54 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
20156 : {
20157 0 : {
20158 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
20159 0 : if (VECTOR_TYPE_P (type)
20160 0 : && (TREE_CODE_CLASS (BIT_IOR_EXPR) != tcc_comparison
20161 : || types_match (type, TREE_TYPE (captures[2]))
20162 : || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
20163 : || (optimize_vectors_before_lowering_p ()
20164 : && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
20165 : )
20166 : {
20167 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1220;
20168 0 : {
20169 0 : tree res_op0;
20170 0 : res_op0 = captures[1];
20171 0 : tree res_op1;
20172 0 : {
20173 0 : tree _o1[2], _r1;
20174 0 : _o1[0] = captures[2];
20175 0 : _o1[1] = captures[5];
20176 0 : _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, type, _o1[0], _o1[1]);
20177 0 : if (EXPR_P (_r1))
20178 0 : goto next_after_fail1220;
20179 0 : res_op1 = _r1;
20180 : }
20181 0 : tree res_op2;
20182 0 : {
20183 0 : tree _o1[2], _r1;
20184 0 : _o1[0] = captures[3];
20185 0 : _o1[1] = captures[6];
20186 0 : _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, type, _o1[0], _o1[1]);
20187 0 : if (EXPR_P (_r1))
20188 0 : goto next_after_fail1220;
20189 0 : res_op2 = _r1;
20190 : }
20191 0 : tree _r;
20192 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20193 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 876, __FILE__, __LINE__, true);
20194 0 : return _r;
20195 : }
20196 0 : next_after_fail1220:;
20197 : }
20198 : }
20199 : }
20200 : break;
20201 : }
20202 61 : default:;
20203 : }
20204 61 : if (integer_minus_onep (_q21))
20205 : {
20206 60 : if (integer_zerop (_q22))
20207 : {
20208 60 : switch (TREE_CODE (_p1))
20209 : {
20210 54 : case VEC_COND_EXPR:
20211 54 : {
20212 54 : tree _q60 = TREE_OPERAND (_p1, 0);
20213 54 : tree _q61 = TREE_OPERAND (_p1, 1);
20214 54 : tree _q62 = TREE_OPERAND (_p1, 2);
20215 54 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
20216 : {
20217 54 : if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
20218 : {
20219 54 : {
20220 54 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20221 54 : const enum tree_code lop = BIT_IOR_EXPR;
20222 54 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20223 : )
20224 : {
20225 54 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1221;
20226 54 : {
20227 54 : tree res_op0;
20228 54 : {
20229 54 : tree _o1[2], _r1;
20230 54 : _o1[0] = captures[0];
20231 54 : _o1[1] = captures[3];
20232 54 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20233 54 : res_op0 = _r1;
20234 : }
20235 54 : tree res_op1;
20236 54 : res_op1 = captures[1];
20237 54 : tree res_op2;
20238 54 : res_op2 = captures[2];
20239 54 : tree _r;
20240 54 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20241 54 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
20242 54 : return _r;
20243 : }
20244 0 : next_after_fail1221:;
20245 : }
20246 : }
20247 0 : {
20248 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20249 0 : const enum tree_code lop = BIT_IOR_EXPR;
20250 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20251 : )
20252 : {
20253 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1222;
20254 0 : {
20255 0 : tree res_op0;
20256 0 : {
20257 0 : tree _o1[2], _r1;
20258 0 : _o1[0] = captures[0];
20259 0 : _o1[1] = captures[3];
20260 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20261 0 : res_op0 = _r1;
20262 : }
20263 0 : tree res_op1;
20264 0 : res_op1 = captures[1];
20265 0 : tree res_op2;
20266 0 : res_op2 = captures[2];
20267 0 : tree _r;
20268 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20269 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
20270 0 : return _r;
20271 : }
20272 0 : next_after_fail1222:;
20273 : }
20274 : }
20275 0 : {
20276 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20277 0 : const enum tree_code lop = BIT_IOR_EXPR;
20278 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20279 : )
20280 : {
20281 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1223;
20282 0 : {
20283 0 : tree res_op0;
20284 0 : {
20285 0 : tree _o1[2], _r1;
20286 0 : _o1[0] = captures[0];
20287 0 : _o1[1] = captures[3];
20288 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20289 0 : res_op0 = _r1;
20290 : }
20291 0 : tree res_op1;
20292 0 : res_op1 = captures[1];
20293 0 : tree res_op2;
20294 0 : res_op2 = captures[2];
20295 0 : tree _r;
20296 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20297 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
20298 0 : return _r;
20299 : }
20300 0 : next_after_fail1223:;
20301 : }
20302 : }
20303 0 : {
20304 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20305 0 : const enum tree_code lop = BIT_IOR_EXPR;
20306 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20307 : )
20308 : {
20309 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1224;
20310 0 : {
20311 0 : tree res_op0;
20312 0 : {
20313 0 : tree _o1[2], _r1;
20314 0 : _o1[0] = captures[0];
20315 0 : _o1[1] = captures[3];
20316 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20317 0 : res_op0 = _r1;
20318 : }
20319 0 : tree res_op1;
20320 0 : res_op1 = captures[1];
20321 0 : tree res_op2;
20322 0 : res_op2 = captures[2];
20323 0 : tree _r;
20324 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20325 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
20326 0 : return _r;
20327 : }
20328 0 : next_after_fail1224:;
20329 : }
20330 : }
20331 0 : {
20332 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20333 0 : const enum tree_code lop = BIT_IOR_EXPR;
20334 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20335 : )
20336 : {
20337 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1225;
20338 0 : {
20339 0 : tree res_op0;
20340 0 : {
20341 0 : tree _o1[2], _r1;
20342 0 : _o1[0] = captures[0];
20343 0 : _o1[1] = captures[3];
20344 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20345 0 : res_op0 = _r1;
20346 : }
20347 0 : tree res_op1;
20348 0 : res_op1 = captures[1];
20349 0 : tree res_op2;
20350 0 : res_op2 = captures[2];
20351 0 : tree _r;
20352 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20353 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
20354 0 : return _r;
20355 : }
20356 0 : next_after_fail1225:;
20357 : }
20358 : }
20359 0 : {
20360 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20361 0 : const enum tree_code lop = BIT_IOR_EXPR;
20362 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20363 : )
20364 : {
20365 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1226;
20366 0 : {
20367 0 : tree res_op0;
20368 0 : {
20369 0 : tree _o1[2], _r1;
20370 0 : _o1[0] = captures[0];
20371 0 : _o1[1] = captures[3];
20372 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20373 0 : res_op0 = _r1;
20374 : }
20375 0 : tree res_op1;
20376 0 : res_op1 = captures[1];
20377 0 : tree res_op2;
20378 0 : res_op2 = captures[2];
20379 0 : tree _r;
20380 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20381 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
20382 0 : return _r;
20383 : }
20384 0 : next_after_fail1226:;
20385 : }
20386 : }
20387 0 : {
20388 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20389 0 : const enum tree_code lop = BIT_IOR_EXPR;
20390 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20391 : )
20392 : {
20393 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1227;
20394 0 : {
20395 0 : tree res_op0;
20396 0 : {
20397 0 : tree _o1[2], _r1;
20398 0 : _o1[0] = captures[0];
20399 0 : _o1[1] = captures[3];
20400 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20401 0 : res_op0 = _r1;
20402 : }
20403 0 : tree res_op1;
20404 0 : res_op1 = captures[1];
20405 0 : tree res_op2;
20406 0 : res_op2 = captures[2];
20407 0 : tree _r;
20408 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20409 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
20410 0 : return _r;
20411 : }
20412 0 : next_after_fail1227:;
20413 : }
20414 : }
20415 0 : {
20416 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20417 0 : const enum tree_code lop = BIT_IOR_EXPR;
20418 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20419 : )
20420 : {
20421 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1228;
20422 0 : {
20423 0 : tree res_op0;
20424 0 : {
20425 0 : tree _o1[2], _r1;
20426 0 : _o1[0] = captures[0];
20427 0 : _o1[1] = captures[3];
20428 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20429 0 : res_op0 = _r1;
20430 : }
20431 0 : tree res_op1;
20432 0 : res_op1 = captures[1];
20433 0 : tree res_op2;
20434 0 : res_op2 = captures[2];
20435 0 : tree _r;
20436 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20437 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
20438 0 : return _r;
20439 : }
20440 0 : next_after_fail1228:;
20441 : }
20442 : }
20443 0 : {
20444 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20445 0 : const enum tree_code lop = BIT_IOR_EXPR;
20446 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20447 : )
20448 : {
20449 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1229;
20450 0 : {
20451 0 : tree res_op0;
20452 0 : {
20453 0 : tree _o1[2], _r1;
20454 0 : _o1[0] = captures[0];
20455 0 : _o1[1] = captures[3];
20456 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20457 0 : res_op0 = _r1;
20458 : }
20459 0 : tree res_op1;
20460 0 : res_op1 = captures[1];
20461 0 : tree res_op2;
20462 0 : res_op2 = captures[2];
20463 0 : tree _r;
20464 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20465 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
20466 0 : return _r;
20467 : }
20468 0 : next_after_fail1229:;
20469 : }
20470 : }
20471 0 : {
20472 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20473 0 : const enum tree_code lop = BIT_IOR_EXPR;
20474 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20475 : )
20476 : {
20477 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1230;
20478 0 : {
20479 0 : tree res_op0;
20480 0 : {
20481 0 : tree _o1[2], _r1;
20482 0 : _o1[0] = captures[0];
20483 0 : _o1[1] = captures[3];
20484 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20485 0 : res_op0 = _r1;
20486 : }
20487 0 : tree res_op1;
20488 0 : res_op1 = captures[1];
20489 0 : tree res_op2;
20490 0 : res_op2 = captures[2];
20491 0 : tree _r;
20492 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20493 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
20494 0 : return _r;
20495 : }
20496 0 : next_after_fail1230:;
20497 : }
20498 : }
20499 0 : {
20500 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20501 0 : const enum tree_code lop = BIT_IOR_EXPR;
20502 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20503 : )
20504 : {
20505 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1231;
20506 0 : {
20507 0 : tree res_op0;
20508 0 : {
20509 0 : tree _o1[2], _r1;
20510 0 : _o1[0] = captures[0];
20511 0 : _o1[1] = captures[3];
20512 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20513 0 : res_op0 = _r1;
20514 : }
20515 0 : tree res_op1;
20516 0 : res_op1 = captures[1];
20517 0 : tree res_op2;
20518 0 : res_op2 = captures[2];
20519 0 : tree _r;
20520 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20521 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
20522 0 : return _r;
20523 : }
20524 0 : next_after_fail1231:;
20525 : }
20526 : }
20527 0 : {
20528 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20529 0 : const enum tree_code lop = BIT_IOR_EXPR;
20530 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20531 : )
20532 : {
20533 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1232;
20534 0 : {
20535 0 : tree res_op0;
20536 0 : {
20537 0 : tree _o1[2], _r1;
20538 0 : _o1[0] = captures[0];
20539 0 : _o1[1] = captures[3];
20540 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20541 0 : res_op0 = _r1;
20542 : }
20543 0 : tree res_op1;
20544 0 : res_op1 = captures[1];
20545 0 : tree res_op2;
20546 0 : res_op2 = captures[2];
20547 0 : tree _r;
20548 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20549 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
20550 0 : return _r;
20551 : }
20552 0 : next_after_fail1232:;
20553 : }
20554 : }
20555 0 : {
20556 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20557 0 : const enum tree_code lop = BIT_IOR_EXPR;
20558 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20559 : )
20560 : {
20561 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1233;
20562 0 : {
20563 0 : tree res_op0;
20564 0 : {
20565 0 : tree _o1[2], _r1;
20566 0 : _o1[0] = captures[0];
20567 0 : _o1[1] = captures[3];
20568 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20569 0 : res_op0 = _r1;
20570 : }
20571 0 : tree res_op1;
20572 0 : res_op1 = captures[1];
20573 0 : tree res_op2;
20574 0 : res_op2 = captures[2];
20575 0 : tree _r;
20576 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20577 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
20578 0 : return _r;
20579 : }
20580 0 : next_after_fail1233:;
20581 : }
20582 : }
20583 0 : {
20584 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20585 0 : const enum tree_code lop = BIT_IOR_EXPR;
20586 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20587 : )
20588 : {
20589 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1234;
20590 0 : {
20591 0 : tree res_op0;
20592 0 : {
20593 0 : tree _o1[2], _r1;
20594 0 : _o1[0] = captures[0];
20595 0 : _o1[1] = captures[3];
20596 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20597 0 : res_op0 = _r1;
20598 : }
20599 0 : tree res_op1;
20600 0 : res_op1 = captures[1];
20601 0 : tree res_op2;
20602 0 : res_op2 = captures[2];
20603 0 : tree _r;
20604 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20605 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
20606 0 : return _r;
20607 : }
20608 0 : next_after_fail1234:;
20609 : }
20610 : }
20611 0 : {
20612 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20613 0 : const enum tree_code lop = BIT_IOR_EXPR;
20614 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20615 : )
20616 : {
20617 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1235;
20618 0 : {
20619 0 : tree res_op0;
20620 0 : {
20621 0 : tree _o1[2], _r1;
20622 0 : _o1[0] = captures[0];
20623 0 : _o1[1] = captures[3];
20624 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20625 0 : res_op0 = _r1;
20626 : }
20627 0 : tree res_op1;
20628 0 : res_op1 = captures[1];
20629 0 : tree res_op2;
20630 0 : res_op2 = captures[2];
20631 0 : tree _r;
20632 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20633 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
20634 0 : return _r;
20635 : }
20636 0 : next_after_fail1235:;
20637 : }
20638 : }
20639 0 : {
20640 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20641 0 : const enum tree_code lop = BIT_IOR_EXPR;
20642 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20643 : )
20644 : {
20645 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1236;
20646 0 : {
20647 0 : tree res_op0;
20648 0 : {
20649 0 : tree _o1[2], _r1;
20650 0 : _o1[0] = captures[0];
20651 0 : _o1[1] = captures[3];
20652 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20653 0 : res_op0 = _r1;
20654 : }
20655 0 : tree res_op1;
20656 0 : res_op1 = captures[1];
20657 0 : tree res_op2;
20658 0 : res_op2 = captures[2];
20659 0 : tree _r;
20660 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20661 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
20662 0 : return _r;
20663 : }
20664 0 : next_after_fail1236:;
20665 : }
20666 : }
20667 0 : {
20668 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20669 0 : const enum tree_code lop = BIT_IOR_EXPR;
20670 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20671 : )
20672 : {
20673 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1237;
20674 0 : {
20675 0 : tree res_op0;
20676 0 : {
20677 0 : tree _o1[2], _r1;
20678 0 : _o1[0] = captures[0];
20679 0 : _o1[1] = captures[3];
20680 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20681 0 : res_op0 = _r1;
20682 : }
20683 0 : tree res_op1;
20684 0 : res_op1 = captures[1];
20685 0 : tree res_op2;
20686 0 : res_op2 = captures[2];
20687 0 : tree _r;
20688 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20689 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
20690 0 : return _r;
20691 : }
20692 0 : next_after_fail1237:;
20693 : }
20694 : }
20695 0 : {
20696 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20697 0 : const enum tree_code lop = BIT_IOR_EXPR;
20698 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20699 : )
20700 : {
20701 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1238;
20702 0 : {
20703 0 : tree res_op0;
20704 0 : {
20705 0 : tree _o1[2], _r1;
20706 0 : _o1[0] = captures[0];
20707 0 : _o1[1] = captures[3];
20708 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20709 0 : res_op0 = _r1;
20710 : }
20711 0 : tree res_op1;
20712 0 : res_op1 = captures[1];
20713 0 : tree res_op2;
20714 0 : res_op2 = captures[2];
20715 0 : tree _r;
20716 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20717 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
20718 0 : return _r;
20719 : }
20720 0 : next_after_fail1238:;
20721 : }
20722 : }
20723 0 : {
20724 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20725 0 : const enum tree_code lop = BIT_IOR_EXPR;
20726 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20727 : )
20728 : {
20729 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1239;
20730 0 : {
20731 0 : tree res_op0;
20732 0 : {
20733 0 : tree _o1[2], _r1;
20734 0 : _o1[0] = captures[0];
20735 0 : _o1[1] = captures[3];
20736 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20737 0 : res_op0 = _r1;
20738 : }
20739 0 : tree res_op1;
20740 0 : res_op1 = captures[1];
20741 0 : tree res_op2;
20742 0 : res_op2 = captures[2];
20743 0 : tree _r;
20744 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20745 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
20746 0 : return _r;
20747 : }
20748 0 : next_after_fail1239:;
20749 : }
20750 : }
20751 0 : {
20752 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20753 0 : const enum tree_code lop = BIT_IOR_EXPR;
20754 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20755 : )
20756 : {
20757 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1240;
20758 0 : {
20759 0 : tree res_op0;
20760 0 : {
20761 0 : tree _o1[2], _r1;
20762 0 : _o1[0] = captures[0];
20763 0 : _o1[1] = captures[3];
20764 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20765 0 : res_op0 = _r1;
20766 : }
20767 0 : tree res_op1;
20768 0 : res_op1 = captures[1];
20769 0 : tree res_op2;
20770 0 : res_op2 = captures[2];
20771 0 : tree _r;
20772 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20773 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
20774 0 : return _r;
20775 : }
20776 0 : next_after_fail1240:;
20777 : }
20778 : }
20779 0 : {
20780 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20781 0 : const enum tree_code lop = BIT_IOR_EXPR;
20782 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20783 : )
20784 : {
20785 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1241;
20786 0 : {
20787 0 : tree res_op0;
20788 0 : {
20789 0 : tree _o1[2], _r1;
20790 0 : _o1[0] = captures[0];
20791 0 : _o1[1] = captures[3];
20792 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20793 0 : res_op0 = _r1;
20794 : }
20795 0 : tree res_op1;
20796 0 : res_op1 = captures[1];
20797 0 : tree res_op2;
20798 0 : res_op2 = captures[2];
20799 0 : tree _r;
20800 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20801 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
20802 0 : return _r;
20803 : }
20804 0 : next_after_fail1241:;
20805 : }
20806 : }
20807 0 : {
20808 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20809 0 : const enum tree_code lop = BIT_IOR_EXPR;
20810 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20811 : )
20812 : {
20813 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1242;
20814 0 : {
20815 0 : tree res_op0;
20816 0 : {
20817 0 : tree _o1[2], _r1;
20818 0 : _o1[0] = captures[0];
20819 0 : _o1[1] = captures[3];
20820 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20821 0 : res_op0 = _r1;
20822 : }
20823 0 : tree res_op1;
20824 0 : res_op1 = captures[1];
20825 0 : tree res_op2;
20826 0 : res_op2 = captures[2];
20827 0 : tree _r;
20828 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20829 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
20830 0 : return _r;
20831 : }
20832 0 : next_after_fail1242:;
20833 : }
20834 : }
20835 0 : {
20836 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20837 0 : const enum tree_code lop = BIT_IOR_EXPR;
20838 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20839 : )
20840 : {
20841 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1243;
20842 0 : {
20843 0 : tree res_op0;
20844 0 : {
20845 0 : tree _o1[2], _r1;
20846 0 : _o1[0] = captures[0];
20847 0 : _o1[1] = captures[3];
20848 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20849 0 : res_op0 = _r1;
20850 : }
20851 0 : tree res_op1;
20852 0 : res_op1 = captures[1];
20853 0 : tree res_op2;
20854 0 : res_op2 = captures[2];
20855 0 : tree _r;
20856 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20857 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
20858 0 : return _r;
20859 : }
20860 0 : next_after_fail1243:;
20861 : }
20862 : }
20863 0 : {
20864 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20865 0 : const enum tree_code lop = BIT_IOR_EXPR;
20866 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20867 : )
20868 : {
20869 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1244;
20870 0 : {
20871 0 : tree res_op0;
20872 0 : {
20873 0 : tree _o1[2], _r1;
20874 0 : _o1[0] = captures[0];
20875 0 : _o1[1] = captures[3];
20876 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20877 0 : res_op0 = _r1;
20878 : }
20879 0 : tree res_op1;
20880 0 : res_op1 = captures[1];
20881 0 : tree res_op2;
20882 0 : res_op2 = captures[2];
20883 0 : tree _r;
20884 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20885 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
20886 0 : return _r;
20887 : }
20888 0 : next_after_fail1244:;
20889 : }
20890 : }
20891 0 : {
20892 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20893 0 : const enum tree_code lop = BIT_IOR_EXPR;
20894 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20895 : )
20896 : {
20897 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1245;
20898 0 : {
20899 0 : tree res_op0;
20900 0 : {
20901 0 : tree _o1[2], _r1;
20902 0 : _o1[0] = captures[0];
20903 0 : _o1[1] = captures[3];
20904 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20905 0 : res_op0 = _r1;
20906 : }
20907 0 : tree res_op1;
20908 0 : res_op1 = captures[1];
20909 0 : tree res_op2;
20910 0 : res_op2 = captures[2];
20911 0 : tree _r;
20912 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20913 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
20914 0 : return _r;
20915 : }
20916 0 : next_after_fail1245:;
20917 : }
20918 : }
20919 0 : {
20920 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20921 0 : const enum tree_code lop = BIT_IOR_EXPR;
20922 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20923 : )
20924 : {
20925 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1246;
20926 0 : {
20927 0 : tree res_op0;
20928 0 : {
20929 0 : tree _o1[2], _r1;
20930 0 : _o1[0] = captures[0];
20931 0 : _o1[1] = captures[3];
20932 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20933 0 : res_op0 = _r1;
20934 : }
20935 0 : tree res_op1;
20936 0 : res_op1 = captures[1];
20937 0 : tree res_op2;
20938 0 : res_op2 = captures[2];
20939 0 : tree _r;
20940 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20941 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
20942 0 : return _r;
20943 : }
20944 0 : next_after_fail1246:;
20945 : }
20946 : }
20947 0 : {
20948 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20949 0 : const enum tree_code lop = BIT_IOR_EXPR;
20950 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20951 : )
20952 : {
20953 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1247;
20954 0 : {
20955 0 : tree res_op0;
20956 0 : {
20957 0 : tree _o1[2], _r1;
20958 0 : _o1[0] = captures[0];
20959 0 : _o1[1] = captures[3];
20960 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20961 0 : res_op0 = _r1;
20962 : }
20963 0 : tree res_op1;
20964 0 : res_op1 = captures[1];
20965 0 : tree res_op2;
20966 0 : res_op2 = captures[2];
20967 0 : tree _r;
20968 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20969 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
20970 0 : return _r;
20971 : }
20972 0 : next_after_fail1247:;
20973 : }
20974 : }
20975 0 : {
20976 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20977 0 : const enum tree_code lop = BIT_IOR_EXPR;
20978 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20979 : )
20980 : {
20981 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1248;
20982 0 : {
20983 0 : tree res_op0;
20984 0 : {
20985 0 : tree _o1[2], _r1;
20986 0 : _o1[0] = captures[0];
20987 0 : _o1[1] = captures[3];
20988 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20989 0 : res_op0 = _r1;
20990 : }
20991 0 : tree res_op1;
20992 0 : res_op1 = captures[1];
20993 0 : tree res_op2;
20994 0 : res_op2 = captures[2];
20995 0 : tree _r;
20996 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20997 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
20998 0 : return _r;
20999 : }
21000 0 : next_after_fail1248:;
21001 : }
21002 : }
21003 0 : {
21004 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
21005 0 : const enum tree_code lop = BIT_IOR_EXPR;
21006 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
21007 : )
21008 : {
21009 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1249;
21010 0 : {
21011 0 : tree res_op0;
21012 0 : {
21013 0 : tree _o1[2], _r1;
21014 0 : _o1[0] = captures[0];
21015 0 : _o1[1] = captures[3];
21016 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
21017 0 : res_op0 = _r1;
21018 : }
21019 0 : tree res_op1;
21020 0 : res_op1 = captures[1];
21021 0 : tree res_op2;
21022 0 : res_op2 = captures[2];
21023 0 : tree _r;
21024 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
21025 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
21026 0 : return _r;
21027 : }
21028 0 : next_after_fail1249:;
21029 : }
21030 : }
21031 0 : {
21032 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
21033 0 : const enum tree_code lop = BIT_IOR_EXPR;
21034 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
21035 : )
21036 : {
21037 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1250;
21038 0 : {
21039 0 : tree res_op0;
21040 0 : {
21041 0 : tree _o1[2], _r1;
21042 0 : _o1[0] = captures[0];
21043 0 : _o1[1] = captures[3];
21044 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
21045 0 : res_op0 = _r1;
21046 : }
21047 0 : tree res_op1;
21048 0 : res_op1 = captures[1];
21049 0 : tree res_op2;
21050 0 : res_op2 = captures[2];
21051 0 : tree _r;
21052 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
21053 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
21054 0 : return _r;
21055 : }
21056 0 : next_after_fail1250:;
21057 : }
21058 : }
21059 0 : {
21060 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
21061 0 : const enum tree_code lop = BIT_IOR_EXPR;
21062 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
21063 : )
21064 : {
21065 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1251;
21066 0 : {
21067 0 : tree res_op0;
21068 0 : {
21069 0 : tree _o1[2], _r1;
21070 0 : _o1[0] = captures[0];
21071 0 : _o1[1] = captures[3];
21072 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
21073 0 : res_op0 = _r1;
21074 : }
21075 0 : tree res_op1;
21076 0 : res_op1 = captures[1];
21077 0 : tree res_op2;
21078 0 : res_op2 = captures[2];
21079 0 : tree _r;
21080 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
21081 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
21082 0 : return _r;
21083 : }
21084 0 : next_after_fail1251:;
21085 : }
21086 : }
21087 0 : {
21088 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
21089 0 : const enum tree_code lop = BIT_IOR_EXPR;
21090 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
21091 : )
21092 : {
21093 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1252;
21094 0 : {
21095 0 : tree res_op0;
21096 0 : {
21097 0 : tree _o1[2], _r1;
21098 0 : _o1[0] = captures[0];
21099 0 : _o1[1] = captures[3];
21100 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
21101 0 : res_op0 = _r1;
21102 : }
21103 0 : tree res_op1;
21104 0 : res_op1 = captures[1];
21105 0 : tree res_op2;
21106 0 : res_op2 = captures[2];
21107 0 : tree _r;
21108 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
21109 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
21110 0 : return _r;
21111 : }
21112 0 : next_after_fail1252:;
21113 : }
21114 : }
21115 0 : {
21116 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
21117 0 : const enum tree_code lop = BIT_IOR_EXPR;
21118 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
21119 : )
21120 : {
21121 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1253;
21122 0 : {
21123 0 : tree res_op0;
21124 0 : {
21125 0 : tree _o1[2], _r1;
21126 0 : _o1[0] = captures[0];
21127 0 : _o1[1] = captures[3];
21128 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
21129 0 : res_op0 = _r1;
21130 : }
21131 0 : tree res_op1;
21132 0 : res_op1 = captures[1];
21133 0 : tree res_op2;
21134 0 : res_op2 = captures[2];
21135 0 : tree _r;
21136 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
21137 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
21138 0 : return _r;
21139 : }
21140 0 : next_after_fail1253:;
21141 : }
21142 : }
21143 0 : {
21144 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
21145 0 : const enum tree_code lop = BIT_IOR_EXPR;
21146 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
21147 : )
21148 : {
21149 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1254;
21150 0 : {
21151 0 : tree res_op0;
21152 0 : {
21153 0 : tree _o1[2], _r1;
21154 0 : _o1[0] = captures[0];
21155 0 : _o1[1] = captures[3];
21156 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
21157 0 : res_op0 = _r1;
21158 : }
21159 0 : tree res_op1;
21160 0 : res_op1 = captures[1];
21161 0 : tree res_op2;
21162 0 : res_op2 = captures[2];
21163 0 : tree _r;
21164 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
21165 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 920, __FILE__, __LINE__, true);
21166 0 : return _r;
21167 : }
21168 0 : next_after_fail1254:;
21169 : }
21170 : }
21171 : }
21172 : }
21173 : break;
21174 : }
21175 : default:;
21176 : }
21177 : }
21178 : }
21179 7 : {
21180 7 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
21181 7 : if (VECTOR_TYPE_P (type)
21182 7 : && (TREE_CODE_CLASS (BIT_IOR_EXPR) != tcc_comparison
21183 : || types_match (type, TREE_TYPE (captures[2]))
21184 : || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
21185 : || (optimize_vectors_before_lowering_p ()
21186 : && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
21187 : )
21188 : {
21189 7 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1255;
21190 7 : {
21191 7 : if (! tree_invariant_p (captures[4])) goto next_after_fail1255;
21192 1 : tree res_op0;
21193 1 : res_op0 = captures[1];
21194 1 : tree res_op1;
21195 1 : {
21196 1 : tree _o1[2], _r1;
21197 1 : _o1[0] = captures[2];
21198 1 : _o1[1] = unshare_expr (captures[4]);
21199 1 : _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, type, _o1[0], _o1[1]);
21200 1 : if (EXPR_P (_r1))
21201 0 : goto next_after_fail1255;
21202 1 : res_op1 = _r1;
21203 : }
21204 1 : tree res_op2;
21205 1 : {
21206 1 : tree _o1[2], _r1;
21207 1 : _o1[0] = captures[3];
21208 1 : _o1[1] = captures[4];
21209 1 : _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, type, _o1[0], _o1[1]);
21210 1 : if (EXPR_P (_r1))
21211 0 : goto next_after_fail1255;
21212 1 : res_op2 = _r1;
21213 : }
21214 1 : tree _r;
21215 1 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
21216 1 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 877, __FILE__, __LINE__, true);
21217 1 : return _r;
21218 : }
21219 6 : next_after_fail1255:;
21220 : }
21221 : }
21222 6 : break;
21223 : }
21224 2225427 : default:;
21225 : }
21226 2225427 : switch (TREE_CODE (_p1))
21227 : {
21228 2 : case VEC_COND_EXPR:
21229 2 : {
21230 2 : tree _q30 = TREE_OPERAND (_p1, 0);
21231 2 : tree _q31 = TREE_OPERAND (_p1, 1);
21232 2 : tree _q32 = TREE_OPERAND (_p1, 2);
21233 2 : {
21234 2 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
21235 2 : if (VECTOR_TYPE_P (type)
21236 2 : && (TREE_CODE_CLASS (BIT_IOR_EXPR) != tcc_comparison
21237 : || types_match (type, TREE_TYPE (captures[3]))
21238 : || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
21239 : || (optimize_vectors_before_lowering_p ()
21240 : && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
21241 : )
21242 : {
21243 2 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1256;
21244 2 : {
21245 2 : if (! tree_invariant_p (captures[0])) goto next_after_fail1256;
21246 0 : tree res_op0;
21247 0 : res_op0 = captures[2];
21248 0 : tree res_op1;
21249 0 : {
21250 0 : tree _o1[2], _r1;
21251 0 : _o1[0] = unshare_expr (captures[0]);
21252 0 : _o1[1] = captures[3];
21253 0 : _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, type, _o1[0], _o1[1]);
21254 0 : if (EXPR_P (_r1))
21255 0 : goto next_after_fail1256;
21256 0 : res_op1 = _r1;
21257 : }
21258 0 : tree res_op2;
21259 0 : {
21260 0 : tree _o1[2], _r1;
21261 0 : _o1[0] = captures[0];
21262 0 : _o1[1] = captures[4];
21263 0 : _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, type, _o1[0], _o1[1]);
21264 0 : if (EXPR_P (_r1))
21265 0 : goto next_after_fail1256;
21266 0 : res_op2 = _r1;
21267 : }
21268 0 : tree _r;
21269 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
21270 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 878, __FILE__, __LINE__, true);
21271 0 : return _r;
21272 : }
21273 2 : next_after_fail1256:;
21274 : }
21275 : }
21276 2 : break;
21277 : }
21278 2225427 : default:;
21279 : }
21280 2225427 : switch (TREE_CODE (_p0))
21281 : {
21282 16 : case UNORDERED_EXPR:
21283 16 : {
21284 16 : tree _q20 = TREE_OPERAND (_p0, 0);
21285 16 : tree _q21 = TREE_OPERAND (_p0, 1);
21286 16 : if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
21287 : {
21288 0 : switch (TREE_CODE (_p1))
21289 : {
21290 0 : case UNORDERED_EXPR:
21291 0 : {
21292 0 : tree _q50 = TREE_OPERAND (_p1, 0);
21293 0 : tree _q51 = TREE_OPERAND (_p1, 1);
21294 0 : if ((_q51 == _q50 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q50, 0) && types_match (_q51, _q50)))
21295 : {
21296 0 : {
21297 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
21298 0 : if (types_match (captures[0], captures[1])
21299 : )
21300 : {
21301 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1257;
21302 0 : {
21303 0 : tree res_op0;
21304 0 : res_op0 = captures[0];
21305 0 : tree res_op1;
21306 0 : res_op1 = captures[1];
21307 0 : tree _r;
21308 0 : _r = fold_build2_loc (loc, UNORDERED_EXPR, type, res_op0, res_op1);
21309 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 921, __FILE__, __LINE__, true);
21310 0 : return _r;
21311 : }
21312 0 : next_after_fail1257:;
21313 : }
21314 : }
21315 : }
21316 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
21317 : {
21318 0 : {
21319 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q51 };
21320 0 : tree res = generic_simplify_148 (loc, type, _p0, _p1, captures);
21321 0 : if (res) return res;
21322 : }
21323 : }
21324 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
21325 : {
21326 0 : {
21327 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q50 };
21328 0 : tree res = generic_simplify_148 (loc, type, _p0, _p1, captures);
21329 0 : if (res) return res;
21330 : }
21331 : }
21332 : break;
21333 : }
21334 : default:;
21335 : }
21336 : }
21337 16 : switch (TREE_CODE (_p1))
21338 : {
21339 0 : case UNORDERED_EXPR:
21340 0 : {
21341 0 : tree _q50 = TREE_OPERAND (_p1, 0);
21342 0 : tree _q51 = TREE_OPERAND (_p1, 1);
21343 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
21344 : {
21345 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
21346 : {
21347 0 : {
21348 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
21349 0 : tree res = generic_simplify_149 (loc, type, _p0, _p1, captures);
21350 0 : if (res) return res;
21351 : }
21352 : }
21353 : }
21354 0 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
21355 : {
21356 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
21357 : {
21358 0 : {
21359 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _p0, _q20 };
21360 0 : tree res = generic_simplify_149 (loc, type, _p0, _p1, captures);
21361 0 : if (res) return res;
21362 : }
21363 : }
21364 : }
21365 : break;
21366 : }
21367 : default:;
21368 : }
21369 : break;
21370 : }
21371 114 : case LT_EXPR:
21372 114 : {
21373 114 : tree _q20 = TREE_OPERAND (_p0, 0);
21374 114 : tree _q21 = TREE_OPERAND (_p0, 1);
21375 114 : switch (TREE_CODE (_p1))
21376 : {
21377 27 : case LT_EXPR:
21378 27 : {
21379 27 : tree _q50 = TREE_OPERAND (_p1, 0);
21380 27 : tree _q51 = TREE_OPERAND (_p1, 1);
21381 27 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
21382 : {
21383 0 : {
21384 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
21385 0 : tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LT_EXPR, MAX_EXPR);
21386 0 : if (res) return res;
21387 : }
21388 : }
21389 27 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
21390 : {
21391 0 : {
21392 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
21393 0 : tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, GT_EXPR, MIN_EXPR);
21394 0 : if (res) return res;
21395 : }
21396 : }
21397 : break;
21398 : }
21399 0 : case GT_EXPR:
21400 0 : {
21401 0 : tree _q50 = TREE_OPERAND (_p1, 0);
21402 0 : tree _q51 = TREE_OPERAND (_p1, 1);
21403 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
21404 : {
21405 0 : {
21406 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
21407 0 : tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LT_EXPR, MAX_EXPR);
21408 0 : if (res) return res;
21409 : }
21410 : }
21411 0 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
21412 : {
21413 0 : {
21414 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
21415 0 : tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, GT_EXPR, MIN_EXPR);
21416 0 : if (res) return res;
21417 : }
21418 : }
21419 : break;
21420 : }
21421 114 : default:;
21422 : }
21423 114 : switch (TREE_CODE (_q20))
21424 : {
21425 2 : case POINTER_PLUS_EXPR:
21426 2 : {
21427 2 : tree _q30 = TREE_OPERAND (_q20, 0);
21428 2 : tree _q31 = TREE_OPERAND (_q20, 1);
21429 2 : switch (TREE_CODE (_q31))
21430 : {
21431 2 : case INTEGER_CST:
21432 2 : {
21433 2 : switch (TREE_CODE (_p1))
21434 : {
21435 2 : case LT_EXPR:
21436 2 : {
21437 2 : tree _q70 = TREE_OPERAND (_p1, 0);
21438 2 : tree _q71 = TREE_OPERAND (_p1, 1);
21439 2 : switch (TREE_CODE (_q70))
21440 : {
21441 2 : case POINTER_PLUS_EXPR:
21442 2 : {
21443 2 : tree _q80 = TREE_OPERAND (_q70, 0);
21444 2 : tree _q81 = TREE_OPERAND (_q70, 1);
21445 2 : if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
21446 : {
21447 2 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
21448 : {
21449 2 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
21450 : {
21451 2 : {
21452 2 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q70 };
21453 2 : const enum tree_code cmp = LT_EXPR;
21454 2 : if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
21455 1 : && TYPE_OVERFLOW_WRAPS (sizetype)
21456 3 : && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
21457 : )
21458 : {
21459 1 : {
21460 1 : offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
21461 1 : offset_int rhs = off * 2;
21462 1 : if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
21463 : )
21464 : {
21465 1 : {
21466 1 : bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
21467 1 : tree rhs_tree = wide_int_to_tree (sizetype, rhs);
21468 1 : if (cmp == LT_EXPR
21469 : )
21470 : {
21471 1 : if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1258;
21472 1 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1258;
21473 1 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1258;
21474 1 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1258;
21475 1 : if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1258;
21476 1 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1258;
21477 1 : {
21478 1 : tree res_op0;
21479 1 : {
21480 1 : tree _o1[1], _r1;
21481 1 : {
21482 1 : tree _o2[2], _r2;
21483 1 : _o2[0] = swap_p ? captures[6] : captures[1];
21484 1 : _o2[1] = swap_p ? captures[2] : captures[4];
21485 1 : _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
21486 1 : _o1[0] = _r2;
21487 : }
21488 1 : if (TREE_TYPE (_o1[0]) != sizetype)
21489 : {
21490 1 : _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
21491 : }
21492 : else
21493 : _r1 = _o1[0];
21494 1 : res_op0 = _r1;
21495 : }
21496 1 : tree res_op1;
21497 1 : res_op1 = rhs_tree;
21498 1 : tree _r;
21499 1 : _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
21500 1 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 922, __FILE__, __LINE__, true);
21501 1 : return _r;
21502 : }
21503 0 : next_after_fail1258:;
21504 : }
21505 : else
21506 : {
21507 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1259;
21508 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1259;
21509 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1259;
21510 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1259;
21511 : {
21512 : tree res_op0;
21513 : {
21514 : tree _o1[1], _r1;
21515 : {
21516 : tree _o2[2], _r2;
21517 : {
21518 : tree _o3[2], _r3;
21519 : _o3[0] = swap_p ? captures[4] : captures[2];
21520 : _o3[1] = wide_int_to_tree (sizetype, off);
21521 : _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
21522 : _o2[0] = _r3;
21523 : }
21524 : _o2[1] = swap_p ? captures[2] : captures[4];
21525 : _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
21526 : _o1[0] = _r2;
21527 : }
21528 : if (TREE_TYPE (_o1[0]) != sizetype)
21529 : {
21530 : _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
21531 : }
21532 : else
21533 : _r1 = _o1[0];
21534 : res_op0 = _r1;
21535 : }
21536 : tree res_op1;
21537 : res_op1 = rhs_tree;
21538 : tree _r;
21539 : _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
21540 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 923, __FILE__, __LINE__, true);
21541 : return _r;
21542 : }
21543 : next_after_fail1259:;
21544 : }
21545 : }
21546 : }
21547 : }
21548 : }
21549 : }
21550 : }
21551 : }
21552 : }
21553 : break;
21554 : }
21555 : default:;
21556 : }
21557 : break;
21558 : }
21559 0 : case GT_EXPR:
21560 0 : {
21561 0 : tree _q70 = TREE_OPERAND (_p1, 0);
21562 0 : tree _q71 = TREE_OPERAND (_p1, 1);
21563 0 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
21564 : {
21565 0 : switch (TREE_CODE (_q71))
21566 : {
21567 0 : case POINTER_PLUS_EXPR:
21568 0 : {
21569 0 : tree _q90 = TREE_OPERAND (_q71, 0);
21570 0 : tree _q91 = TREE_OPERAND (_q71, 1);
21571 0 : if ((_q90 == _q21 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q21, 0) && types_match (_q90, _q21)))
21572 : {
21573 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
21574 : {
21575 0 : {
21576 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q71 };
21577 0 : const enum tree_code cmp = LT_EXPR;
21578 0 : if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
21579 0 : && TYPE_OVERFLOW_WRAPS (sizetype)
21580 0 : && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
21581 : )
21582 : {
21583 0 : {
21584 0 : offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
21585 0 : offset_int rhs = off * 2;
21586 0 : if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
21587 : )
21588 : {
21589 0 : {
21590 0 : bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
21591 0 : tree rhs_tree = wide_int_to_tree (sizetype, rhs);
21592 0 : if (cmp == LT_EXPR
21593 : )
21594 : {
21595 0 : if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1260;
21596 0 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1260;
21597 0 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1260;
21598 0 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1260;
21599 0 : if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1260;
21600 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1260;
21601 0 : {
21602 0 : tree res_op0;
21603 0 : {
21604 0 : tree _o1[1], _r1;
21605 0 : {
21606 0 : tree _o2[2], _r2;
21607 0 : _o2[0] = swap_p ? captures[6] : captures[1];
21608 0 : _o2[1] = swap_p ? captures[2] : captures[4];
21609 0 : _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
21610 0 : _o1[0] = _r2;
21611 : }
21612 0 : if (TREE_TYPE (_o1[0]) != sizetype)
21613 : {
21614 0 : _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
21615 : }
21616 : else
21617 : _r1 = _o1[0];
21618 0 : res_op0 = _r1;
21619 : }
21620 0 : tree res_op1;
21621 0 : res_op1 = rhs_tree;
21622 0 : tree _r;
21623 0 : _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
21624 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 922, __FILE__, __LINE__, true);
21625 0 : return _r;
21626 : }
21627 0 : next_after_fail1260:;
21628 : }
21629 : else
21630 : {
21631 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1261;
21632 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1261;
21633 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1261;
21634 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1261;
21635 : {
21636 : tree res_op0;
21637 : {
21638 : tree _o1[1], _r1;
21639 : {
21640 : tree _o2[2], _r2;
21641 : {
21642 : tree _o3[2], _r3;
21643 : _o3[0] = swap_p ? captures[4] : captures[2];
21644 : _o3[1] = wide_int_to_tree (sizetype, off);
21645 : _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
21646 : _o2[0] = _r3;
21647 : }
21648 : _o2[1] = swap_p ? captures[2] : captures[4];
21649 : _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
21650 : _o1[0] = _r2;
21651 : }
21652 : if (TREE_TYPE (_o1[0]) != sizetype)
21653 : {
21654 : _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
21655 : }
21656 : else
21657 : _r1 = _o1[0];
21658 : res_op0 = _r1;
21659 : }
21660 : tree res_op1;
21661 : res_op1 = rhs_tree;
21662 : tree _r;
21663 : _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
21664 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 923, __FILE__, __LINE__, true);
21665 : return _r;
21666 : }
21667 : next_after_fail1261:;
21668 : }
21669 : }
21670 : }
21671 : }
21672 : }
21673 : }
21674 : }
21675 : }
21676 : break;
21677 : }
21678 : default:;
21679 : }
21680 : }
21681 : break;
21682 : }
21683 : default:;
21684 : }
21685 : break;
21686 : }
21687 : default:;
21688 : }
21689 : break;
21690 : }
21691 : default:;
21692 : }
21693 : break;
21694 : }
21695 135 : case LE_EXPR:
21696 135 : {
21697 135 : tree _q20 = TREE_OPERAND (_p0, 0);
21698 135 : tree _q21 = TREE_OPERAND (_p0, 1);
21699 135 : switch (TREE_CODE (_p1))
21700 : {
21701 2 : case LE_EXPR:
21702 2 : {
21703 2 : tree _q50 = TREE_OPERAND (_p1, 0);
21704 2 : tree _q51 = TREE_OPERAND (_p1, 1);
21705 2 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
21706 : {
21707 0 : {
21708 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
21709 0 : tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LE_EXPR, MAX_EXPR);
21710 0 : if (res) return res;
21711 : }
21712 : }
21713 2 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
21714 : {
21715 0 : {
21716 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
21717 0 : tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, GE_EXPR, MIN_EXPR);
21718 0 : if (res) return res;
21719 : }
21720 : }
21721 : break;
21722 : }
21723 1 : case GE_EXPR:
21724 1 : {
21725 1 : tree _q50 = TREE_OPERAND (_p1, 0);
21726 1 : tree _q51 = TREE_OPERAND (_p1, 1);
21727 1 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
21728 : {
21729 0 : {
21730 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
21731 0 : tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LE_EXPR, MAX_EXPR);
21732 0 : if (res) return res;
21733 : }
21734 : }
21735 1 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
21736 : {
21737 0 : {
21738 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
21739 0 : tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, GE_EXPR, MIN_EXPR);
21740 0 : if (res) return res;
21741 : }
21742 : }
21743 : break;
21744 : }
21745 135 : default:;
21746 : }
21747 135 : switch (TREE_CODE (_q20))
21748 : {
21749 2 : case POINTER_PLUS_EXPR:
21750 2 : {
21751 2 : tree _q30 = TREE_OPERAND (_q20, 0);
21752 2 : tree _q31 = TREE_OPERAND (_q20, 1);
21753 2 : switch (TREE_CODE (_q31))
21754 : {
21755 2 : case INTEGER_CST:
21756 2 : {
21757 2 : switch (TREE_CODE (_p1))
21758 : {
21759 2 : case LE_EXPR:
21760 2 : {
21761 2 : tree _q70 = TREE_OPERAND (_p1, 0);
21762 2 : tree _q71 = TREE_OPERAND (_p1, 1);
21763 2 : switch (TREE_CODE (_q70))
21764 : {
21765 2 : case POINTER_PLUS_EXPR:
21766 2 : {
21767 2 : tree _q80 = TREE_OPERAND (_q70, 0);
21768 2 : tree _q81 = TREE_OPERAND (_q70, 1);
21769 2 : if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
21770 : {
21771 2 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
21772 : {
21773 2 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
21774 : {
21775 2 : {
21776 2 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q70 };
21777 2 : const enum tree_code cmp = LE_EXPR;
21778 2 : if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
21779 1 : && TYPE_OVERFLOW_WRAPS (sizetype)
21780 3 : && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
21781 : )
21782 : {
21783 1 : {
21784 1 : offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
21785 1 : offset_int rhs = off * 2;
21786 1 : if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
21787 : )
21788 : {
21789 1 : {
21790 1 : bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
21791 1 : tree rhs_tree = wide_int_to_tree (sizetype, rhs);
21792 1 : if (cmp == LT_EXPR
21793 : )
21794 : {
21795 : if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1262;
21796 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1262;
21797 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1262;
21798 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1262;
21799 : if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1262;
21800 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1262;
21801 : {
21802 : tree res_op0;
21803 : {
21804 : tree _o1[1], _r1;
21805 : {
21806 : tree _o2[2], _r2;
21807 : _o2[0] = swap_p ? captures[6] : captures[1];
21808 : _o2[1] = swap_p ? captures[2] : captures[4];
21809 : _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
21810 : _o1[0] = _r2;
21811 : }
21812 : if (TREE_TYPE (_o1[0]) != sizetype)
21813 : {
21814 : _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
21815 : }
21816 : else
21817 : _r1 = _o1[0];
21818 : res_op0 = _r1;
21819 : }
21820 : tree res_op1;
21821 : res_op1 = rhs_tree;
21822 : tree _r;
21823 : _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
21824 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 922, __FILE__, __LINE__, true);
21825 1 : return _r;
21826 : }
21827 : next_after_fail1262:;
21828 : }
21829 : else
21830 : {
21831 1 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1263;
21832 1 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1263;
21833 1 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1263;
21834 1 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1263;
21835 1 : {
21836 1 : tree res_op0;
21837 1 : {
21838 1 : tree _o1[1], _r1;
21839 1 : {
21840 1 : tree _o2[2], _r2;
21841 1 : {
21842 1 : tree _o3[2], _r3;
21843 1 : _o3[0] = swap_p ? captures[4] : captures[2];
21844 1 : _o3[1] = wide_int_to_tree (sizetype, off);
21845 1 : _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
21846 1 : _o2[0] = _r3;
21847 : }
21848 1 : _o2[1] = swap_p ? captures[2] : captures[4];
21849 1 : _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
21850 1 : _o1[0] = _r2;
21851 : }
21852 1 : if (TREE_TYPE (_o1[0]) != sizetype)
21853 : {
21854 1 : _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
21855 : }
21856 : else
21857 : _r1 = _o1[0];
21858 1 : res_op0 = _r1;
21859 : }
21860 1 : tree res_op1;
21861 1 : res_op1 = rhs_tree;
21862 1 : tree _r;
21863 1 : _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
21864 1 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 923, __FILE__, __LINE__, true);
21865 1 : return _r;
21866 : }
21867 0 : next_after_fail1263:;
21868 : }
21869 : }
21870 : }
21871 : }
21872 : }
21873 : }
21874 : }
21875 : }
21876 : }
21877 : break;
21878 : }
21879 : default:;
21880 : }
21881 : break;
21882 : }
21883 0 : case GE_EXPR:
21884 0 : {
21885 0 : tree _q70 = TREE_OPERAND (_p1, 0);
21886 0 : tree _q71 = TREE_OPERAND (_p1, 1);
21887 0 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
21888 : {
21889 0 : switch (TREE_CODE (_q71))
21890 : {
21891 0 : case POINTER_PLUS_EXPR:
21892 0 : {
21893 0 : tree _q90 = TREE_OPERAND (_q71, 0);
21894 0 : tree _q91 = TREE_OPERAND (_q71, 1);
21895 0 : if ((_q90 == _q21 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q21, 0) && types_match (_q90, _q21)))
21896 : {
21897 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
21898 : {
21899 0 : {
21900 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q71 };
21901 0 : const enum tree_code cmp = LE_EXPR;
21902 0 : if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
21903 0 : && TYPE_OVERFLOW_WRAPS (sizetype)
21904 0 : && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
21905 : )
21906 : {
21907 0 : {
21908 0 : offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
21909 0 : offset_int rhs = off * 2;
21910 0 : if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
21911 : )
21912 : {
21913 0 : {
21914 0 : bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
21915 0 : tree rhs_tree = wide_int_to_tree (sizetype, rhs);
21916 0 : if (cmp == LT_EXPR
21917 : )
21918 : {
21919 : if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1264;
21920 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1264;
21921 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1264;
21922 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1264;
21923 : if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1264;
21924 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1264;
21925 : {
21926 : tree res_op0;
21927 : {
21928 : tree _o1[1], _r1;
21929 : {
21930 : tree _o2[2], _r2;
21931 : _o2[0] = swap_p ? captures[6] : captures[1];
21932 : _o2[1] = swap_p ? captures[2] : captures[4];
21933 : _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
21934 : _o1[0] = _r2;
21935 : }
21936 : if (TREE_TYPE (_o1[0]) != sizetype)
21937 : {
21938 : _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
21939 : }
21940 : else
21941 : _r1 = _o1[0];
21942 : res_op0 = _r1;
21943 : }
21944 : tree res_op1;
21945 : res_op1 = rhs_tree;
21946 : tree _r;
21947 : _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
21948 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 922, __FILE__, __LINE__, true);
21949 0 : return _r;
21950 : }
21951 : next_after_fail1264:;
21952 : }
21953 : else
21954 : {
21955 0 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1265;
21956 0 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1265;
21957 0 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1265;
21958 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1265;
21959 0 : {
21960 0 : tree res_op0;
21961 0 : {
21962 0 : tree _o1[1], _r1;
21963 0 : {
21964 0 : tree _o2[2], _r2;
21965 0 : {
21966 0 : tree _o3[2], _r3;
21967 0 : _o3[0] = swap_p ? captures[4] : captures[2];
21968 0 : _o3[1] = wide_int_to_tree (sizetype, off);
21969 0 : _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
21970 0 : _o2[0] = _r3;
21971 : }
21972 0 : _o2[1] = swap_p ? captures[2] : captures[4];
21973 0 : _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
21974 0 : _o1[0] = _r2;
21975 : }
21976 0 : if (TREE_TYPE (_o1[0]) != sizetype)
21977 : {
21978 0 : _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
21979 : }
21980 : else
21981 : _r1 = _o1[0];
21982 0 : res_op0 = _r1;
21983 : }
21984 0 : tree res_op1;
21985 0 : res_op1 = rhs_tree;
21986 0 : tree _r;
21987 0 : _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
21988 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 923, __FILE__, __LINE__, true);
21989 0 : return _r;
21990 : }
21991 0 : next_after_fail1265:;
21992 : }
21993 : }
21994 : }
21995 : }
21996 : }
21997 : }
21998 : }
21999 : }
22000 : break;
22001 : }
22002 : default:;
22003 : }
22004 : }
22005 : break;
22006 : }
22007 : default:;
22008 : }
22009 : break;
22010 : }
22011 : default:;
22012 : }
22013 : break;
22014 : }
22015 : default:;
22016 : }
22017 : break;
22018 : }
22019 132 : case GT_EXPR:
22020 132 : {
22021 132 : tree _q20 = TREE_OPERAND (_p0, 0);
22022 132 : tree _q21 = TREE_OPERAND (_p0, 1);
22023 132 : switch (TREE_CODE (_p1))
22024 : {
22025 2 : case GT_EXPR:
22026 2 : {
22027 2 : tree _q50 = TREE_OPERAND (_p1, 0);
22028 2 : tree _q51 = TREE_OPERAND (_p1, 1);
22029 2 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
22030 : {
22031 0 : {
22032 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
22033 0 : tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, GT_EXPR, MIN_EXPR);
22034 0 : if (res) return res;
22035 : }
22036 : }
22037 2 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
22038 : {
22039 0 : {
22040 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
22041 0 : tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LT_EXPR, MAX_EXPR);
22042 0 : if (res) return res;
22043 : }
22044 : }
22045 : break;
22046 : }
22047 0 : case LT_EXPR:
22048 0 : {
22049 0 : tree _q50 = TREE_OPERAND (_p1, 0);
22050 0 : tree _q51 = TREE_OPERAND (_p1, 1);
22051 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
22052 : {
22053 0 : {
22054 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
22055 0 : tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, GT_EXPR, MIN_EXPR);
22056 0 : if (res) return res;
22057 : }
22058 : }
22059 0 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
22060 : {
22061 0 : {
22062 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
22063 0 : tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LT_EXPR, MAX_EXPR);
22064 0 : if (res) return res;
22065 : }
22066 : }
22067 : break;
22068 : }
22069 132 : default:;
22070 : }
22071 132 : switch (TREE_CODE (_q21))
22072 : {
22073 0 : case POINTER_PLUS_EXPR:
22074 0 : {
22075 0 : tree _q40 = TREE_OPERAND (_q21, 0);
22076 0 : tree _q41 = TREE_OPERAND (_q21, 1);
22077 0 : switch (TREE_CODE (_q41))
22078 : {
22079 0 : case INTEGER_CST:
22080 0 : {
22081 0 : switch (TREE_CODE (_p1))
22082 : {
22083 0 : case LT_EXPR:
22084 0 : {
22085 0 : tree _q70 = TREE_OPERAND (_p1, 0);
22086 0 : tree _q71 = TREE_OPERAND (_p1, 1);
22087 0 : switch (TREE_CODE (_q70))
22088 : {
22089 0 : case POINTER_PLUS_EXPR:
22090 0 : {
22091 0 : tree _q80 = TREE_OPERAND (_q70, 0);
22092 0 : tree _q81 = TREE_OPERAND (_q70, 1);
22093 0 : if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
22094 : {
22095 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
22096 : {
22097 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
22098 : {
22099 0 : {
22100 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q70 };
22101 0 : const enum tree_code cmp = LT_EXPR;
22102 0 : if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
22103 0 : && TYPE_OVERFLOW_WRAPS (sizetype)
22104 0 : && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
22105 : )
22106 : {
22107 0 : {
22108 0 : offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
22109 0 : offset_int rhs = off * 2;
22110 0 : if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
22111 : )
22112 : {
22113 0 : {
22114 0 : bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
22115 0 : tree rhs_tree = wide_int_to_tree (sizetype, rhs);
22116 0 : if (cmp == LT_EXPR
22117 : )
22118 : {
22119 0 : if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1266;
22120 0 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1266;
22121 0 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1266;
22122 0 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1266;
22123 0 : if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1266;
22124 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1266;
22125 0 : {
22126 0 : tree res_op0;
22127 0 : {
22128 0 : tree _o1[1], _r1;
22129 0 : {
22130 0 : tree _o2[2], _r2;
22131 0 : _o2[0] = swap_p ? captures[6] : captures[1];
22132 0 : _o2[1] = swap_p ? captures[2] : captures[4];
22133 0 : _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
22134 0 : _o1[0] = _r2;
22135 : }
22136 0 : if (TREE_TYPE (_o1[0]) != sizetype)
22137 : {
22138 0 : _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
22139 : }
22140 : else
22141 : _r1 = _o1[0];
22142 0 : res_op0 = _r1;
22143 : }
22144 0 : tree res_op1;
22145 0 : res_op1 = rhs_tree;
22146 0 : tree _r;
22147 0 : _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
22148 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 922, __FILE__, __LINE__, true);
22149 0 : return _r;
22150 : }
22151 0 : next_after_fail1266:;
22152 : }
22153 : else
22154 : {
22155 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1267;
22156 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1267;
22157 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1267;
22158 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1267;
22159 : {
22160 : tree res_op0;
22161 : {
22162 : tree _o1[1], _r1;
22163 : {
22164 : tree _o2[2], _r2;
22165 : {
22166 : tree _o3[2], _r3;
22167 : _o3[0] = swap_p ? captures[4] : captures[2];
22168 : _o3[1] = wide_int_to_tree (sizetype, off);
22169 : _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
22170 : _o2[0] = _r3;
22171 : }
22172 : _o2[1] = swap_p ? captures[2] : captures[4];
22173 : _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
22174 : _o1[0] = _r2;
22175 : }
22176 : if (TREE_TYPE (_o1[0]) != sizetype)
22177 : {
22178 : _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
22179 : }
22180 : else
22181 : _r1 = _o1[0];
22182 : res_op0 = _r1;
22183 : }
22184 : tree res_op1;
22185 : res_op1 = rhs_tree;
22186 : tree _r;
22187 : _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
22188 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 923, __FILE__, __LINE__, true);
22189 : return _r;
22190 : }
22191 : next_after_fail1267:;
22192 : }
22193 : }
22194 : }
22195 : }
22196 : }
22197 : }
22198 : }
22199 : }
22200 : }
22201 : break;
22202 : }
22203 : default:;
22204 : }
22205 : break;
22206 : }
22207 0 : case GT_EXPR:
22208 0 : {
22209 0 : tree _q70 = TREE_OPERAND (_p1, 0);
22210 0 : tree _q71 = TREE_OPERAND (_p1, 1);
22211 0 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
22212 : {
22213 0 : switch (TREE_CODE (_q71))
22214 : {
22215 0 : case POINTER_PLUS_EXPR:
22216 0 : {
22217 0 : tree _q90 = TREE_OPERAND (_q71, 0);
22218 0 : tree _q91 = TREE_OPERAND (_q71, 1);
22219 0 : if ((_q90 == _q20 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q20, 0) && types_match (_q90, _q20)))
22220 : {
22221 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
22222 : {
22223 0 : {
22224 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q71 };
22225 0 : const enum tree_code cmp = LT_EXPR;
22226 0 : if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
22227 0 : && TYPE_OVERFLOW_WRAPS (sizetype)
22228 0 : && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
22229 : )
22230 : {
22231 0 : {
22232 0 : offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
22233 0 : offset_int rhs = off * 2;
22234 0 : if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
22235 : )
22236 : {
22237 0 : {
22238 0 : bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
22239 0 : tree rhs_tree = wide_int_to_tree (sizetype, rhs);
22240 0 : if (cmp == LT_EXPR
22241 : )
22242 : {
22243 0 : if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1268;
22244 0 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1268;
22245 0 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1268;
22246 0 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1268;
22247 0 : if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1268;
22248 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1268;
22249 0 : {
22250 0 : tree res_op0;
22251 0 : {
22252 0 : tree _o1[1], _r1;
22253 0 : {
22254 0 : tree _o2[2], _r2;
22255 0 : _o2[0] = swap_p ? captures[6] : captures[1];
22256 0 : _o2[1] = swap_p ? captures[2] : captures[4];
22257 0 : _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
22258 0 : _o1[0] = _r2;
22259 : }
22260 0 : if (TREE_TYPE (_o1[0]) != sizetype)
22261 : {
22262 0 : _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
22263 : }
22264 : else
22265 : _r1 = _o1[0];
22266 0 : res_op0 = _r1;
22267 : }
22268 0 : tree res_op1;
22269 0 : res_op1 = rhs_tree;
22270 0 : tree _r;
22271 0 : _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
22272 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 922, __FILE__, __LINE__, true);
22273 0 : return _r;
22274 : }
22275 0 : next_after_fail1268:;
22276 : }
22277 : else
22278 : {
22279 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1269;
22280 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1269;
22281 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1269;
22282 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1269;
22283 : {
22284 : tree res_op0;
22285 : {
22286 : tree _o1[1], _r1;
22287 : {
22288 : tree _o2[2], _r2;
22289 : {
22290 : tree _o3[2], _r3;
22291 : _o3[0] = swap_p ? captures[4] : captures[2];
22292 : _o3[1] = wide_int_to_tree (sizetype, off);
22293 : _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
22294 : _o2[0] = _r3;
22295 : }
22296 : _o2[1] = swap_p ? captures[2] : captures[4];
22297 : _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
22298 : _o1[0] = _r2;
22299 : }
22300 : if (TREE_TYPE (_o1[0]) != sizetype)
22301 : {
22302 : _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
22303 : }
22304 : else
22305 : _r1 = _o1[0];
22306 : res_op0 = _r1;
22307 : }
22308 : tree res_op1;
22309 : res_op1 = rhs_tree;
22310 : tree _r;
22311 : _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
22312 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 923, __FILE__, __LINE__, true);
22313 : return _r;
22314 : }
22315 : next_after_fail1269:;
22316 : }
22317 : }
22318 : }
22319 : }
22320 : }
22321 : }
22322 : }
22323 : }
22324 : break;
22325 : }
22326 : default:;
22327 : }
22328 : }
22329 : break;
22330 : }
22331 : default:;
22332 : }
22333 : break;
22334 : }
22335 : default:;
22336 : }
22337 : break;
22338 : }
22339 : default:;
22340 : }
22341 : break;
22342 : }
22343 38 : case GE_EXPR:
22344 38 : {
22345 38 : tree _q20 = TREE_OPERAND (_p0, 0);
22346 38 : tree _q21 = TREE_OPERAND (_p0, 1);
22347 38 : switch (TREE_CODE (_p1))
22348 : {
22349 0 : case GE_EXPR:
22350 0 : {
22351 0 : tree _q50 = TREE_OPERAND (_p1, 0);
22352 0 : tree _q51 = TREE_OPERAND (_p1, 1);
22353 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
22354 : {
22355 0 : {
22356 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
22357 0 : tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, GE_EXPR, MIN_EXPR);
22358 0 : if (res) return res;
22359 : }
22360 : }
22361 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
22362 : {
22363 0 : {
22364 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
22365 0 : tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LE_EXPR, MAX_EXPR);
22366 0 : if (res) return res;
22367 : }
22368 : }
22369 : break;
22370 : }
22371 0 : case LE_EXPR:
22372 0 : {
22373 0 : tree _q50 = TREE_OPERAND (_p1, 0);
22374 0 : tree _q51 = TREE_OPERAND (_p1, 1);
22375 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
22376 : {
22377 0 : {
22378 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
22379 0 : tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, GE_EXPR, MIN_EXPR);
22380 0 : if (res) return res;
22381 : }
22382 : }
22383 0 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
22384 : {
22385 0 : {
22386 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
22387 0 : tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LE_EXPR, MAX_EXPR);
22388 0 : if (res) return res;
22389 : }
22390 : }
22391 : break;
22392 : }
22393 38 : default:;
22394 : }
22395 38 : switch (TREE_CODE (_q21))
22396 : {
22397 0 : case POINTER_PLUS_EXPR:
22398 0 : {
22399 0 : tree _q40 = TREE_OPERAND (_q21, 0);
22400 0 : tree _q41 = TREE_OPERAND (_q21, 1);
22401 0 : switch (TREE_CODE (_q41))
22402 : {
22403 0 : case INTEGER_CST:
22404 0 : {
22405 0 : switch (TREE_CODE (_p1))
22406 : {
22407 0 : case LE_EXPR:
22408 0 : {
22409 0 : tree _q70 = TREE_OPERAND (_p1, 0);
22410 0 : tree _q71 = TREE_OPERAND (_p1, 1);
22411 0 : switch (TREE_CODE (_q70))
22412 : {
22413 0 : case POINTER_PLUS_EXPR:
22414 0 : {
22415 0 : tree _q80 = TREE_OPERAND (_q70, 0);
22416 0 : tree _q81 = TREE_OPERAND (_q70, 1);
22417 0 : if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
22418 : {
22419 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
22420 : {
22421 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
22422 : {
22423 0 : {
22424 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q70 };
22425 0 : const enum tree_code cmp = LE_EXPR;
22426 0 : if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
22427 0 : && TYPE_OVERFLOW_WRAPS (sizetype)
22428 0 : && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
22429 : )
22430 : {
22431 0 : {
22432 0 : offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
22433 0 : offset_int rhs = off * 2;
22434 0 : if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
22435 : )
22436 : {
22437 0 : {
22438 0 : bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
22439 0 : tree rhs_tree = wide_int_to_tree (sizetype, rhs);
22440 0 : if (cmp == LT_EXPR
22441 : )
22442 : {
22443 : if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1270;
22444 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1270;
22445 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1270;
22446 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1270;
22447 : if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1270;
22448 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1270;
22449 : {
22450 : tree res_op0;
22451 : {
22452 : tree _o1[1], _r1;
22453 : {
22454 : tree _o2[2], _r2;
22455 : _o2[0] = swap_p ? captures[6] : captures[1];
22456 : _o2[1] = swap_p ? captures[2] : captures[4];
22457 : _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
22458 : _o1[0] = _r2;
22459 : }
22460 : if (TREE_TYPE (_o1[0]) != sizetype)
22461 : {
22462 : _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
22463 : }
22464 : else
22465 : _r1 = _o1[0];
22466 : res_op0 = _r1;
22467 : }
22468 : tree res_op1;
22469 : res_op1 = rhs_tree;
22470 : tree _r;
22471 : _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
22472 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 922, __FILE__, __LINE__, true);
22473 0 : return _r;
22474 : }
22475 : next_after_fail1270:;
22476 : }
22477 : else
22478 : {
22479 0 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1271;
22480 0 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1271;
22481 0 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1271;
22482 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1271;
22483 0 : {
22484 0 : tree res_op0;
22485 0 : {
22486 0 : tree _o1[1], _r1;
22487 0 : {
22488 0 : tree _o2[2], _r2;
22489 0 : {
22490 0 : tree _o3[2], _r3;
22491 0 : _o3[0] = swap_p ? captures[4] : captures[2];
22492 0 : _o3[1] = wide_int_to_tree (sizetype, off);
22493 0 : _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
22494 0 : _o2[0] = _r3;
22495 : }
22496 0 : _o2[1] = swap_p ? captures[2] : captures[4];
22497 0 : _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
22498 0 : _o1[0] = _r2;
22499 : }
22500 0 : if (TREE_TYPE (_o1[0]) != sizetype)
22501 : {
22502 0 : _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
22503 : }
22504 : else
22505 : _r1 = _o1[0];
22506 0 : res_op0 = _r1;
22507 : }
22508 0 : tree res_op1;
22509 0 : res_op1 = rhs_tree;
22510 0 : tree _r;
22511 0 : _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
22512 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 923, __FILE__, __LINE__, true);
22513 0 : return _r;
22514 : }
22515 0 : next_after_fail1271:;
22516 : }
22517 : }
22518 : }
22519 : }
22520 : }
22521 : }
22522 : }
22523 : }
22524 : }
22525 : break;
22526 : }
22527 : default:;
22528 : }
22529 : break;
22530 : }
22531 0 : case GE_EXPR:
22532 0 : {
22533 0 : tree _q70 = TREE_OPERAND (_p1, 0);
22534 0 : tree _q71 = TREE_OPERAND (_p1, 1);
22535 0 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
22536 : {
22537 0 : switch (TREE_CODE (_q71))
22538 : {
22539 0 : case POINTER_PLUS_EXPR:
22540 0 : {
22541 0 : tree _q90 = TREE_OPERAND (_q71, 0);
22542 0 : tree _q91 = TREE_OPERAND (_q71, 1);
22543 0 : if ((_q90 == _q20 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q20, 0) && types_match (_q90, _q20)))
22544 : {
22545 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
22546 : {
22547 0 : {
22548 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q71 };
22549 0 : const enum tree_code cmp = LE_EXPR;
22550 0 : if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
22551 0 : && TYPE_OVERFLOW_WRAPS (sizetype)
22552 0 : && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
22553 : )
22554 : {
22555 0 : {
22556 0 : offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
22557 0 : offset_int rhs = off * 2;
22558 0 : if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
22559 : )
22560 : {
22561 0 : {
22562 0 : bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
22563 0 : tree rhs_tree = wide_int_to_tree (sizetype, rhs);
22564 0 : if (cmp == LT_EXPR
22565 : )
22566 : {
22567 : if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1272;
22568 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1272;
22569 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1272;
22570 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1272;
22571 : if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1272;
22572 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1272;
22573 : {
22574 : tree res_op0;
22575 : {
22576 : tree _o1[1], _r1;
22577 : {
22578 : tree _o2[2], _r2;
22579 : _o2[0] = swap_p ? captures[6] : captures[1];
22580 : _o2[1] = swap_p ? captures[2] : captures[4];
22581 : _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
22582 : _o1[0] = _r2;
22583 : }
22584 : if (TREE_TYPE (_o1[0]) != sizetype)
22585 : {
22586 : _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
22587 : }
22588 : else
22589 : _r1 = _o1[0];
22590 : res_op0 = _r1;
22591 : }
22592 : tree res_op1;
22593 : res_op1 = rhs_tree;
22594 : tree _r;
22595 : _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
22596 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 922, __FILE__, __LINE__, true);
22597 0 : return _r;
22598 : }
22599 : next_after_fail1272:;
22600 : }
22601 : else
22602 : {
22603 0 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1273;
22604 0 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1273;
22605 0 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1273;
22606 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1273;
22607 0 : {
22608 0 : tree res_op0;
22609 0 : {
22610 0 : tree _o1[1], _r1;
22611 0 : {
22612 0 : tree _o2[2], _r2;
22613 0 : {
22614 0 : tree _o3[2], _r3;
22615 0 : _o3[0] = swap_p ? captures[4] : captures[2];
22616 0 : _o3[1] = wide_int_to_tree (sizetype, off);
22617 0 : _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
22618 0 : _o2[0] = _r3;
22619 : }
22620 0 : _o2[1] = swap_p ? captures[2] : captures[4];
22621 0 : _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
22622 0 : _o1[0] = _r2;
22623 : }
22624 0 : if (TREE_TYPE (_o1[0]) != sizetype)
22625 : {
22626 0 : _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
22627 : }
22628 : else
22629 : _r1 = _o1[0];
22630 0 : res_op0 = _r1;
22631 : }
22632 0 : tree res_op1;
22633 0 : res_op1 = rhs_tree;
22634 0 : tree _r;
22635 0 : _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
22636 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 923, __FILE__, __LINE__, true);
22637 0 : return _r;
22638 : }
22639 0 : next_after_fail1273:;
22640 : }
22641 : }
22642 : }
22643 : }
22644 : }
22645 : }
22646 : }
22647 : }
22648 : break;
22649 : }
22650 : default:;
22651 : }
22652 : }
22653 : break;
22654 : }
22655 : default:;
22656 : }
22657 : break;
22658 : }
22659 : default:;
22660 : }
22661 : break;
22662 : }
22663 : default:;
22664 : }
22665 : break;
22666 : }
22667 0 : case VEC_PERM_EXPR:
22668 0 : {
22669 0 : tree _q20 = TREE_OPERAND (_p0, 0);
22670 0 : tree _q21 = TREE_OPERAND (_p0, 1);
22671 0 : tree _q22 = TREE_OPERAND (_p0, 2);
22672 0 : if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
22673 : {
22674 0 : switch (TREE_CODE (_p1))
22675 : {
22676 0 : case VEC_PERM_EXPR:
22677 0 : {
22678 0 : tree _q60 = TREE_OPERAND (_p1, 0);
22679 0 : tree _q61 = TREE_OPERAND (_p1, 1);
22680 0 : tree _q62 = TREE_OPERAND (_p1, 2);
22681 0 : if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
22682 : {
22683 0 : if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
22684 : {
22685 0 : {
22686 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
22687 0 : if (VECTOR_INTEGER_TYPE_P (type)
22688 : )
22689 : {
22690 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1274;
22691 0 : {
22692 0 : tree res_op0;
22693 0 : {
22694 0 : tree _o1[2], _r1;
22695 0 : _o1[0] = captures[0];
22696 0 : _o1[1] = captures[2];
22697 0 : _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
22698 0 : captures[3] = _r1;
22699 : }
22700 0 : res_op0 = unshare_expr (captures[3]);
22701 0 : tree res_op1;
22702 0 : res_op1 = captures[3];
22703 0 : tree res_op2;
22704 0 : res_op2 = captures[1];
22705 0 : tree _r;
22706 0 : _r = fold_build3_loc (loc, VEC_PERM_EXPR, type, res_op0, res_op1, res_op2);
22707 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 879, __FILE__, __LINE__, true);
22708 0 : return _r;
22709 : }
22710 0 : next_after_fail1274:;
22711 : }
22712 : }
22713 : }
22714 : }
22715 : break;
22716 : }
22717 : default:;
22718 : }
22719 : }
22720 : break;
22721 : }
22722 479281 : case LSHIFT_EXPR:
22723 479281 : {
22724 479281 : tree _q20 = TREE_OPERAND (_p0, 0);
22725 479281 : tree _q21 = TREE_OPERAND (_p0, 1);
22726 479281 : switch (TREE_CODE (_q21))
22727 : {
22728 464581 : case INTEGER_CST:
22729 464581 : {
22730 464581 : switch (TREE_CODE (_p1))
22731 : {
22732 2 : case BIT_XOR_EXPR:
22733 2 : {
22734 2 : tree _q50 = TREE_OPERAND (_p1, 0);
22735 2 : tree _q51 = TREE_OPERAND (_p1, 1);
22736 2 : switch (TREE_CODE (_q50))
22737 : {
22738 0 : case RSHIFT_EXPR:
22739 0 : {
22740 0 : tree _q60 = TREE_OPERAND (_q50, 0);
22741 0 : tree _q61 = TREE_OPERAND (_q50, 1);
22742 0 : switch (TREE_CODE (_q61))
22743 : {
22744 0 : case INTEGER_CST:
22745 0 : {
22746 0 : switch (TREE_CODE (_q51))
22747 : {
22748 0 : case INTEGER_CST:
22749 0 : {
22750 0 : {
22751 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _q60, _q61, _q51 };
22752 0 : tree res = generic_simplify_151 (loc, type, _p0, _p1, captures);
22753 0 : if (res) return res;
22754 : }
22755 0 : break;
22756 : }
22757 : default:;
22758 : }
22759 : break;
22760 : }
22761 : default:;
22762 : }
22763 : break;
22764 : }
22765 : default:;
22766 : }
22767 : break;
22768 : }
22769 : default:;
22770 : }
22771 : break;
22772 : }
22773 : default:;
22774 : }
22775 : break;
22776 : }
22777 9599 : case BIT_XOR_EXPR:
22778 9599 : {
22779 9599 : tree _q20 = TREE_OPERAND (_p0, 0);
22780 9599 : tree _q21 = TREE_OPERAND (_p0, 1);
22781 9599 : switch (TREE_CODE (_q20))
22782 : {
22783 8976 : case RSHIFT_EXPR:
22784 8976 : {
22785 8976 : tree _q30 = TREE_OPERAND (_q20, 0);
22786 8976 : tree _q31 = TREE_OPERAND (_q20, 1);
22787 8976 : switch (TREE_CODE (_q31))
22788 : {
22789 8976 : case INTEGER_CST:
22790 8976 : {
22791 8976 : switch (TREE_CODE (_q21))
22792 : {
22793 0 : case INTEGER_CST:
22794 0 : {
22795 0 : switch (TREE_CODE (_p1))
22796 : {
22797 0 : case LSHIFT_EXPR:
22798 0 : {
22799 0 : tree _q70 = TREE_OPERAND (_p1, 0);
22800 0 : tree _q71 = TREE_OPERAND (_p1, 1);
22801 0 : switch (TREE_CODE (_q71))
22802 : {
22803 0 : case INTEGER_CST:
22804 0 : {
22805 0 : {
22806 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q70, _q71, _q30, _q31, _q21 };
22807 0 : tree res = generic_simplify_151 (loc, type, _p0, _p1, captures);
22808 0 : if (res) return res;
22809 : }
22810 0 : break;
22811 : }
22812 : default:;
22813 : }
22814 : break;
22815 : }
22816 : default:;
22817 : }
22818 : break;
22819 : }
22820 : default:;
22821 : }
22822 : break;
22823 : }
22824 : default:;
22825 : }
22826 : break;
22827 : }
22828 15 : case LSHIFT_EXPR:
22829 15 : {
22830 15 : tree _q30 = TREE_OPERAND (_q20, 0);
22831 15 : tree _q31 = TREE_OPERAND (_q20, 1);
22832 15 : switch (TREE_CODE (_q31))
22833 : {
22834 7 : case INTEGER_CST:
22835 7 : {
22836 7 : switch (TREE_CODE (_q21))
22837 : {
22838 7 : case INTEGER_CST:
22839 7 : {
22840 7 : switch (TREE_CODE (_p1))
22841 : {
22842 7 : case RSHIFT_EXPR:
22843 7 : {
22844 7 : tree _q70 = TREE_OPERAND (_p1, 0);
22845 7 : tree _q71 = TREE_OPERAND (_p1, 1);
22846 7 : switch (TREE_CODE (_q71))
22847 : {
22848 7 : case INTEGER_CST:
22849 7 : {
22850 7 : {
22851 7 : tree captures[5] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _q70, _q71 };
22852 7 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures);
22853 7 : if (res) return res;
22854 : }
22855 7 : break;
22856 : }
22857 : default:;
22858 : }
22859 : break;
22860 : }
22861 : default:;
22862 : }
22863 : break;
22864 : }
22865 : default:;
22866 : }
22867 : break;
22868 : }
22869 : default:;
22870 : }
22871 : break;
22872 : }
22873 : default:;
22874 : }
22875 : break;
22876 : }
22877 51962 : case RSHIFT_EXPR:
22878 51962 : {
22879 51962 : tree _q20 = TREE_OPERAND (_p0, 0);
22880 51962 : tree _q21 = TREE_OPERAND (_p0, 1);
22881 51962 : switch (TREE_CODE (_q21))
22882 : {
22883 38883 : case INTEGER_CST:
22884 38883 : {
22885 38883 : switch (TREE_CODE (_p1))
22886 : {
22887 0 : case BIT_XOR_EXPR:
22888 0 : {
22889 0 : tree _q50 = TREE_OPERAND (_p1, 0);
22890 0 : tree _q51 = TREE_OPERAND (_p1, 1);
22891 0 : switch (TREE_CODE (_q50))
22892 : {
22893 0 : case LSHIFT_EXPR:
22894 0 : {
22895 0 : tree _q60 = TREE_OPERAND (_q50, 0);
22896 0 : tree _q61 = TREE_OPERAND (_q50, 1);
22897 0 : switch (TREE_CODE (_q61))
22898 : {
22899 0 : case INTEGER_CST:
22900 0 : {
22901 0 : switch (TREE_CODE (_q51))
22902 : {
22903 0 : case INTEGER_CST:
22904 0 : {
22905 0 : {
22906 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q60, _q61, _q51, _q20, _q21 };
22907 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures);
22908 0 : if (res) return res;
22909 : }
22910 0 : break;
22911 : }
22912 : default:;
22913 : }
22914 : break;
22915 : }
22916 : default:;
22917 : }
22918 : break;
22919 : }
22920 : default:;
22921 : }
22922 : break;
22923 : }
22924 : default:;
22925 : }
22926 : break;
22927 : }
22928 : default:;
22929 : }
22930 : break;
22931 : }
22932 : default:;
22933 : }
22934 : return NULL_TREE;
22935 : }
22936 : #pragma GCC diagnostic pop
|