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 99390352 : tree_zero_one_valued_p (tree t)
11 : {
12 99390352 : const tree type = TREE_TYPE (t);
13 99390352 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
14 99390352 : if (TREE_SIDE_EFFECTS (t)) return false;
15 94008858 : {
16 94008858 : tree captures[1] ATTRIBUTE_UNUSED = { t };
17 188017716 : if (INTEGRAL_TYPE_P (type)
18 68658727 : && (TYPE_UNSIGNED (type)
19 12484612 : || TYPE_PRECISION (type) > 1)
20 231326262 : && wi::leu_p (tree_nonzero_bits (captures[0]), 1)
21 : )
22 : {
23 469185 : {
24 469185 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 28, __FILE__, __LINE__, false);
25 469185 : return true;
26 : }
27 : }
28 : }
29 93539673 : switch (TREE_CODE (t))
30 : {
31 245010 : case BIT_AND_EXPR:
32 245010 : {
33 245010 : tree _p0 = TREE_OPERAND (t, 0);
34 245010 : tree _p1 = TREE_OPERAND (t, 1);
35 245010 : if (integer_onep (_p1))
36 : {
37 0 : {
38 0 : tree captures[2] ATTRIBUTE_UNUSED = { t, _p0 };
39 0 : if (INTEGRAL_TYPE_P (type)
40 : )
41 : {
42 0 : {
43 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 29, __FILE__, __LINE__, false);
44 0 : return true;
45 : }
46 : }
47 : }
48 : }
49 245010 : if (integer_onep (_p0))
50 : {
51 0 : {
52 0 : tree captures[2] ATTRIBUTE_UNUSED = { t, _p1 };
53 0 : if (INTEGRAL_TYPE_P (type)
54 : )
55 : {
56 0 : {
57 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 29, __FILE__, __LINE__, false);
58 0 : return true;
59 : }
60 : }
61 : }
62 : }
63 : break;
64 : }
65 45014881 : CASE_CONVERT:
66 45014881 : {
67 45014881 : tree _p0 = TREE_OPERAND (t, 0);
68 45014881 : {
69 45014881 : tree captures[2] ATTRIBUTE_UNUSED = { t, _p0 };
70 90022699 : if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
71 40571895 : && (TYPE_UNSIGNED (TREE_TYPE (captures[1]))
72 36047964 : || TYPE_PRECISION (TREE_TYPE (captures[1])) > 1)
73 40571887 : && INTEGRAL_TYPE_P (type)
74 40571873 : && (TYPE_UNSIGNED (type)
75 2036369 : || TYPE_PRECISION (type) > 1)
76 130601635 : && wi::leu_p (tree_nonzero_bits (captures[1]), 1)
77 : )
78 : {
79 0 : {
80 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 30, __FILE__, __LINE__, false);
81 0 : return true;
82 : }
83 : }
84 : }
85 : break;
86 : }
87 93539673 : default:;
88 : }
89 93539673 : if (tree_truth_valued_p (t))
90 : {
91 159562 : {
92 159562 : tree captures[1] ATTRIBUTE_UNUSED = { t };
93 159562 : if (INTEGRAL_TYPE_P (type)
94 159562 : && (TYPE_UNSIGNED (type)
95 159484 : || TYPE_PRECISION (type) > 1)
96 : )
97 : {
98 159512 : {
99 159512 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 31, __FILE__, __LINE__, false);
100 159512 : return true;
101 : }
102 : }
103 : }
104 : }
105 : return false;
106 : }
107 :
108 : tree
109 1 : generic_simplify_2 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
110 : tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
111 : const combined_fn ARG_UNUSED (COPYSIGN_ALL))
112 : {
113 1 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
114 1 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail73;
115 1 : {
116 1 : tree res_op0;
117 1 : res_op0 = captures[0];
118 1 : tree _r;
119 1 : _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
120 1 : if (TREE_SIDE_EFFECTS (captures[1]))
121 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
122 1 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 50, __FILE__, __LINE__, true);
123 : return _r;
124 : }
125 0 : next_after_fail73:;
126 0 : return NULL_TREE;
127 : }
128 :
129 : tree
130 0 : generic_simplify_9 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
131 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
132 : const enum tree_code ARG_UNUSED (bit_op))
133 : {
134 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
135 0 : if (bit_op == BIT_AND_EXPR
136 : )
137 : {
138 0 : if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail81;
139 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail81;
140 0 : {
141 0 : tree _r;
142 0 : _r = build_zero_cst (type);
143 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 56, __FILE__, __LINE__, true);
144 0 : return _r;
145 : }
146 : next_after_fail81:;
147 : }
148 : else
149 : {
150 0 : if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail82;
151 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail82;
152 0 : {
153 0 : tree _r;
154 0 : _r = build_minus_one_cst (type);
155 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 57, __FILE__, __LINE__, true);
156 0 : return _r;
157 : }
158 : next_after_fail82:;
159 : }
160 : return NULL_TREE;
161 : }
162 :
163 : tree
164 1 : generic_simplify_18 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
165 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
166 : {
167 1 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
168 1 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail93;
169 1 : {
170 1 : tree res_op0;
171 1 : res_op0 = captures[1];
172 1 : tree res_op1;
173 1 : {
174 1 : tree _o1[1], _r1;
175 1 : _o1[0] = captures[2];
176 1 : _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
177 1 : res_op1 = _r1;
178 : }
179 1 : tree _r;
180 1 : _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
181 1 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 66, __FILE__, __LINE__, true);
182 : return _r;
183 : }
184 0 : next_after_fail93:;
185 0 : return NULL_TREE;
186 : }
187 :
188 : tree
189 731 : generic_simplify_28 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
190 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
191 : {
192 731 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
193 731 : if (tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
194 : )
195 : {
196 731 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail103;
197 731 : {
198 731 : tree res_op0;
199 731 : {
200 731 : tree _o1[2], _r1;
201 731 : {
202 731 : tree _o2[1], _r2;
203 731 : _o2[0] = captures[2];
204 731 : if (TREE_TYPE (_o2[0]) != type)
205 : {
206 0 : _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o2[0]);
207 : }
208 : else
209 : _r2 = _o2[0];
210 731 : _o1[0] = _r2;
211 : }
212 731 : _o1[1] = captures[3];
213 731 : _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
214 731 : res_op0 = _r1;
215 : }
216 731 : tree _r;
217 731 : _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
218 731 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 76, __FILE__, __LINE__, true);
219 731 : return _r;
220 : }
221 0 : next_after_fail103:;
222 : }
223 : return NULL_TREE;
224 : }
225 :
226 : tree
227 7 : generic_simplify_36 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
228 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
229 : const enum tree_code ARG_UNUSED (op))
230 : {
231 7 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
232 7 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail113;
233 7 : {
234 7 : tree _r;
235 7 : _r = constant_boolean_node (true, type);
236 7 : if (TREE_SIDE_EFFECTS (captures[0]))
237 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
238 7 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 85, __FILE__, __LINE__, true);
239 : return _r;
240 : }
241 0 : next_after_fail113:;
242 0 : return NULL_TREE;
243 : }
244 :
245 : tree
246 24 : generic_simplify_39 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
247 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
248 : {
249 24 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
250 24 : if (tree_nop_conversion_p (type, TREE_TYPE (captures[2]))
251 : )
252 : {
253 24 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail116;
254 24 : {
255 24 : tree res_op0;
256 24 : {
257 24 : tree _o1[2], _r1;
258 24 : {
259 24 : tree _o2[1], _r2;
260 24 : _o2[0] = captures[2];
261 24 : if (TREE_TYPE (_o2[0]) != type)
262 : {
263 24 : _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, _o2[0]);
264 : }
265 : else
266 : _r2 = _o2[0];
267 24 : _o1[0] = _r2;
268 : }
269 24 : _o1[1] = captures[3];
270 24 : _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
271 24 : res_op0 = _r1;
272 : }
273 24 : tree _r;
274 24 : _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
275 24 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 76, __FILE__, __LINE__, true);
276 24 : return _r;
277 : }
278 0 : next_after_fail116:;
279 : }
280 : return NULL_TREE;
281 : }
282 :
283 : tree
284 7 : generic_simplify_48 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
285 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
286 : const enum tree_code ARG_UNUSED (op))
287 : {
288 7 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
289 14 : if (INTEGRAL_TYPE_P (type)
290 7 : && tree_int_cst_sgn (captures[2]) > 0
291 7 : && tree_int_cst_sgn (captures[4]) > 0
292 28 : && (tree_nonzero_bits (captures[0]) & tree_nonzero_bits (captures[3])) == 0
293 : )
294 : {
295 4 : {
296 4 : tree t = type;
297 4 : if (!TYPE_OVERFLOW_WRAPS (t))
298 4 : t = unsigned_type_for (t);
299 4 : wide_int wone = wi::one (TYPE_PRECISION (t));
300 8 : wide_int c = wi::add (wi::lshift (wone, wi::to_wide (captures[2])),
301 8 : wi::lshift (wone, wi::to_wide (captures[4])));
302 4 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail126;
303 4 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail126;
304 4 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail126;
305 4 : {
306 4 : tree res_op0;
307 4 : {
308 4 : tree _o1[2], _r1;
309 4 : {
310 4 : tree _o2[1], _r2;
311 4 : _o2[0] = captures[1];
312 4 : if (TREE_TYPE (_o2[0]) != t)
313 : {
314 4 : _r2 = fold_build1_loc (loc, NOP_EXPR, t, _o2[0]);
315 : }
316 : else
317 : _r2 = _o2[0];
318 4 : _o1[0] = _r2;
319 : }
320 4 : _o1[1] = wide_int_to_tree (t,c);
321 4 : _r1 = fold_build2_loc (loc, MULT_EXPR, t, _o1[0], _o1[1]);
322 4 : res_op0 = _r1;
323 : }
324 4 : tree _r;
325 4 : _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
326 4 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 94, __FILE__, __LINE__, true);
327 4 : return _r;
328 : }
329 0 : next_after_fail126:;
330 4 : }
331 : }
332 : return NULL_TREE;
333 : }
334 :
335 : tree
336 45 : generic_simplify_58 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
337 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
338 : {
339 45 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
340 45 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail139;
341 45 : {
342 45 : if (! tree_invariant_p (captures[2])) goto next_after_fail139;
343 45 : tree res_op0;
344 45 : {
345 45 : tree _o1[2], _r1;
346 45 : _o1[0] = captures[0];
347 45 : _o1[1] = unshare_expr (captures[2]);
348 45 : _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
349 45 : res_op0 = _r1;
350 : }
351 45 : tree res_op1;
352 45 : {
353 45 : tree _o1[1], _r1;
354 45 : _o1[0] = captures[2];
355 45 : _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
356 45 : res_op1 = _r1;
357 : }
358 45 : tree _r;
359 45 : _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
360 45 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 107, __FILE__, __LINE__, true);
361 : return _r;
362 : }
363 : next_after_fail139:;
364 : return NULL_TREE;
365 : }
366 :
367 : tree
368 7 : generic_simplify_67 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
369 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
370 : {
371 7 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
372 7 : if (!TYPE_SATURATING (type)
373 : )
374 : {
375 7 : if ((!FLOAT_TYPE_P (type) || flag_associative_math)
376 14 : && !FIXED_POINT_TYPE_P (type)
377 : )
378 : {
379 7 : if (TYPE_OVERFLOW_UNDEFINED (type)
380 14 : && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[0]))
381 : )
382 : {
383 7 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail156;
384 7 : {
385 7 : tree res_op0;
386 7 : res_op0 = captures[2];
387 7 : tree res_op1;
388 7 : res_op1 = captures[1];
389 7 : tree _r;
390 7 : _r = fold_build2_loc (loc, POINTER_DIFF_EXPR, type, res_op0, res_op1);
391 7 : if (TREE_SIDE_EFFECTS (captures[0]))
392 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
393 7 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 124, __FILE__, __LINE__, true);
394 7 : return _r;
395 : }
396 0 : next_after_fail156:;
397 : }
398 : }
399 : }
400 : return NULL_TREE;
401 : }
402 :
403 : tree
404 9 : generic_simplify_75 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
405 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
406 : {
407 9 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
408 9 : if (INTEGRAL_TYPE_P (type)
409 9 : && (
410 :
411 9 : || !TREE_SIDE_EFFECTS (captures[1]))
412 : )
413 : {
414 2 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail165;
415 2 : {
416 2 : tree res_op0;
417 2 : {
418 2 : tree _o1[1], _r1;
419 2 : _o1[0] = captures[2];
420 2 : if (TREE_TYPE (_o1[0]) != boolean_type_node)
421 : {
422 2 : _r1 = fold_build1_loc (loc, NOP_EXPR, boolean_type_node, _o1[0]);
423 : }
424 : else
425 : _r1 = _o1[0];
426 2 : res_op0 = _r1;
427 : }
428 2 : tree res_op1;
429 2 : res_op1 = captures[1];
430 2 : tree res_op2;
431 2 : res_op2 = captures[0];
432 2 : tree _r;
433 2 : _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
434 2 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 133, __FILE__, __LINE__, true);
435 2 : return _r;
436 : }
437 0 : next_after_fail165:;
438 : }
439 : return NULL_TREE;
440 : }
441 :
442 : tree
443 1 : generic_simplify_80 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
444 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
445 : const combined_fn ARG_UNUSED (logs))
446 : {
447 1 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
448 1 : if (flag_unsafe_math_optimizations
449 : )
450 : {
451 1 : if (! HONOR_SIGN_DEPENDENT_ROUNDING (type)
452 1 : && ! HONOR_NANS (type) && ! HONOR_INFINITIES (type)
453 1 : && ! flag_trapping_math
454 2 : && ! flag_errno_math
455 : )
456 : {
457 1 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail171;
458 1 : {
459 1 : tree res_op0;
460 1 : {
461 1 : tree _o1[2], _r1;
462 1 : _o1[0] = captures[1];
463 1 : _o1[1] = captures[3];
464 1 : _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
465 1 : res_op0 = _r1;
466 : }
467 1 : tree _r;
468 1 : _r = maybe_build_call_expr_loc (loc, logs, type, 1, res_op0);
469 1 : if (!_r)
470 0 : goto next_after_fail171;
471 1 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 139, __FILE__, __LINE__, true);
472 1 : return _r;
473 : }
474 : next_after_fail171:;
475 : }
476 : }
477 : return NULL_TREE;
478 : }
479 :
480 : tree
481 21 : generic_simplify_88 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
482 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
483 : {
484 21 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
485 21 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail179;
486 21 : {
487 21 : tree res_op0;
488 21 : {
489 21 : tree _o1[2], _r1;
490 21 : _o1[0] = captures[1];
491 21 : _o1[1] = unshare_expr (captures[2]);
492 21 : _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
493 21 : res_op0 = _r1;
494 : }
495 21 : tree res_op1;
496 21 : res_op1 = captures[2];
497 21 : tree _r;
498 21 : _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
499 21 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 147, __FILE__, __LINE__, true);
500 : return _r;
501 : }
502 0 : next_after_fail179:;
503 0 : return NULL_TREE;
504 : }
505 :
506 : tree
507 54253 : generic_simplify_96 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
508 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
509 : {
510 54253 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
511 54253 : if (!TYPE_SATURATING (type)
512 : )
513 : {
514 54253 : if ((!FLOAT_TYPE_P (type) || flag_associative_math)
515 108495 : && !FIXED_POINT_TYPE_P (type)
516 : )
517 : {
518 54242 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail187;
519 54242 : {
520 54242 : tree res_op0;
521 54242 : res_op0 = captures[1];
522 54242 : tree _r;
523 54242 : _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
524 54242 : if (TREE_SIDE_EFFECTS (captures[0]))
525 15 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
526 54242 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 154, __FILE__, __LINE__, true);
527 54242 : return _r;
528 : }
529 0 : next_after_fail187:;
530 : }
531 : }
532 : return NULL_TREE;
533 : }
534 :
535 : tree
536 41 : generic_simplify_102 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
537 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
538 : {
539 41 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
540 41 : if (!TYPE_SATURATING (type)
541 : )
542 : {
543 41 : if ((!FLOAT_TYPE_P (type) || flag_associative_math)
544 82 : && !FIXED_POINT_TYPE_P (type)
545 : )
546 : {
547 82 : if (!TYPE_OVERFLOW_TRAPS (type)
548 41 : && TREE_CODE (type) != COMPLEX_TYPE
549 81 : && tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
550 : )
551 : {
552 40 : if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail197;
553 40 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail197;
554 40 : {
555 40 : tree res_op0;
556 40 : {
557 40 : tree _o1[1], _r1;
558 40 : _o1[0] = captures[0];
559 40 : if (TREE_TYPE (_o1[0]) != type)
560 : {
561 0 : _r1 = fold_build1_loc (loc, NOP_EXPR, type, _o1[0]);
562 : }
563 : else
564 : _r1 = _o1[0];
565 40 : res_op0 = _r1;
566 : }
567 40 : tree _r;
568 40 : _r = fold_build1_loc (loc, BIT_NOT_EXPR, type, res_op0);
569 40 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 164, __FILE__, __LINE__, true);
570 40 : return _r;
571 : }
572 : next_after_fail197:;
573 : }
574 : }
575 : }
576 : return NULL_TREE;
577 : }
578 :
579 : tree
580 0 : generic_simplify_110 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
581 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
582 : {
583 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
584 0 : if (TREE_CODE (captures[1]) == SSA_NAME && num_imm_uses (captures[1]) == 2
585 : )
586 : {
587 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail207;
588 0 : {
589 0 : if (! tree_invariant_p (captures[2])) goto next_after_fail207;
590 0 : tree res_op0;
591 0 : {
592 0 : tree _o1[2], _r1;
593 0 : {
594 0 : tree _o2[3], _r2;
595 0 : _o2[0] = unshare_expr (captures[2]);
596 0 : _o2[1] = captures[2];
597 0 : _o2[2] = captures[4];
598 0 : _r2 = fold_build3_loc (loc, VEC_PERM_EXPR, TREE_TYPE (_o2[0]), _o2[0], _o2[1], _o2[2]);
599 0 : _o1[0] = _r2;
600 : }
601 0 : _o1[1] = captures[3];
602 0 : _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
603 0 : res_op0 = _r1;
604 : }
605 0 : tree res_op1;
606 0 : res_op1 = captures[5];
607 0 : tree _r;
608 0 : _r = fold_build2_loc (loc, MINUS_EXPR, type, res_op0, res_op1);
609 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 174, __FILE__, __LINE__, true);
610 0 : return _r;
611 : }
612 : next_after_fail207:;
613 : }
614 : return NULL_TREE;
615 : }
616 :
617 : tree
618 19689 : generic_simplify_116 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
619 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
620 : {
621 19689 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
622 19689 : {
623 19689 : bool wascmp;
624 19689 : if (bitwise_inverted_equal_p (captures[0], captures[2], wascmp)
625 19689 : && (!wascmp || element_precision (type) == 1)
626 : )
627 : {
628 1 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail213;
629 1 : {
630 1 : tree res_op0;
631 1 : res_op0 = captures[0];
632 1 : tree res_op1;
633 1 : {
634 1 : tree _o1[1], _r1;
635 1 : _o1[0] = captures[3];
636 1 : _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
637 1 : res_op1 = _r1;
638 : }
639 1 : tree _r;
640 1 : _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
641 1 : if (TREE_SIDE_EFFECTS (captures[2]))
642 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
643 1 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 180, __FILE__, __LINE__, true);
644 1 : return _r;
645 : }
646 0 : next_after_fail213:;
647 : }
648 : }
649 19688 : return NULL_TREE;
650 : }
651 :
652 : tree
653 0 : generic_simplify_126 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
654 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
655 : {
656 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
657 0 : if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail223;
658 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail223;
659 0 : {
660 0 : tree res_op0;
661 0 : res_op0 = captures[0];
662 0 : tree res_op1;
663 0 : res_op1 = captures[3];
664 0 : tree _r;
665 0 : _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
666 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 187, __FILE__, __LINE__, true);
667 : return _r;
668 : }
669 : next_after_fail223:;
670 : return NULL_TREE;
671 : }
672 :
673 : tree
674 18399 : generic_simplify_137 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
675 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
676 : {
677 18399 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
678 18399 : {
679 18399 : bool wascmp;
680 18399 : if ((bitwise_inverted_equal_p (captures[0], captures[2], wascmp)
681 18399 : || bitwise_inverted_equal_p (captures[1], captures[2], wascmp))
682 18399 : && (!wascmp || element_precision (type) == 1)
683 : )
684 : {
685 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail234;
686 0 : {
687 0 : tree _r;
688 0 : _r = build_all_ones_cst (TREE_TYPE (captures[0]));
689 0 : if (TREE_SIDE_EFFECTS (captures[0]))
690 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
691 0 : if (TREE_SIDE_EFFECTS (captures[1]))
692 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
693 0 : if (TREE_SIDE_EFFECTS (captures[2]))
694 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
695 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 194, __FILE__, __LINE__, true);
696 0 : return _r;
697 : }
698 0 : next_after_fail234:;
699 : }
700 : }
701 18399 : return NULL_TREE;
702 : }
703 :
704 : tree
705 2 : generic_simplify_147 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
706 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
707 : const enum tree_code ARG_UNUSED (bitop),
708 : const enum tree_code ARG_UNUSED (rbitop))
709 : {
710 2 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
711 2 : if (bitop == BIT_AND_EXPR
712 : )
713 : {
714 1 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail248;
715 1 : {
716 1 : tree _r;
717 1 : _r = build_zero_cst (type);
718 1 : if (TREE_SIDE_EFFECTS (captures[0]))
719 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
720 1 : if (TREE_SIDE_EFFECTS (captures[1]))
721 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
722 1 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 200, __FILE__, __LINE__, true);
723 1 : return _r;
724 : }
725 0 : next_after_fail248:;
726 : }
727 : else
728 : {
729 1 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail249;
730 1 : {
731 1 : tree _r;
732 1 : _r = build_minus_one_cst (type);
733 1 : if (TREE_SIDE_EFFECTS (captures[0]))
734 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
735 1 : if (TREE_SIDE_EFFECTS (captures[1]))
736 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
737 1 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 201, __FILE__, __LINE__, true);
738 1 : return _r;
739 : }
740 0 : next_after_fail249:;
741 : }
742 : return NULL_TREE;
743 : }
744 :
745 : tree
746 3 : generic_simplify_158 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
747 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
748 : const enum tree_code ARG_UNUSED (code2),
749 : const enum tree_code ARG_UNUSED (code1))
750 : {
751 3 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
752 3 : if ((TREE_CODE (captures[2]) == INTEGER_CST
753 0 : && TREE_CODE (captures[5]) == INTEGER_CST)
754 3 : || ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
755 3 : || (VECTOR_TYPE_P (TREE_TYPE (captures[2])))
756 0 : || POINTER_TYPE_P (TREE_TYPE (captures[2])))
757 3 : && bitwise_equal_p (captures[2], captures[5]))
758 : )
759 : {
760 3 : {
761 3 : bool one_before = false;
762 3 : bool one_after = false;
763 3 : int cmp = 0;
764 3 : bool allbits = true;
765 3 : if (TREE_CODE (captures[2]) == INTEGER_CST
766 0 : && TREE_CODE (captures[5]) == INTEGER_CST)
767 : {
768 0 : allbits = TYPE_PRECISION (TREE_TYPE (captures[2])) <= TYPE_PRECISION (TREE_TYPE (captures[5]));
769 0 : auto t1 = wi::to_wide (fold_convert (TREE_TYPE (captures[5]), captures[2]));
770 0 : auto t2 = wi::to_wide (captures[5]);
771 0 : cmp = wi::cmp (t1, t2, TYPE_SIGN (TREE_TYPE (captures[5])));
772 0 : if (cmp < 0
773 0 : && t1 == t2 - 1)
774 : one_before = true;
775 0 : if (cmp > 0
776 0 : && t1 == t2 + 1)
777 : one_after = true;
778 : }
779 3 : bool val;
780 3 : switch (code2)
781 : {
782 0 : case EQ_EXPR: val = (cmp == 0); break;
783 0 : case NE_EXPR: val = (cmp != 0); break;
784 0 : case LT_EXPR: val = (cmp < 0); break;
785 3 : case GT_EXPR: val = (cmp > 0); break;
786 0 : case LE_EXPR: val = (cmp <= 0); break;
787 0 : case GE_EXPR: val = (cmp >= 0); break;
788 0 : default: gcc_unreachable ();
789 : }
790 3 : if (code1 == EQ_EXPR && val
791 : )
792 : {
793 0 : if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail263;
794 0 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail263;
795 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail263;
796 0 : {
797 0 : tree _r;
798 0 : _r = captures[3];
799 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 212, __FILE__, __LINE__, true);
800 0 : return _r;
801 : }
802 : next_after_fail263:;
803 : }
804 : else
805 : {
806 3 : if (code1 == NE_EXPR && val && allbits
807 : )
808 : {
809 0 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail264;
810 0 : if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail264;
811 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail264;
812 0 : {
813 0 : tree _r;
814 0 : _r = constant_boolean_node (true, type);
815 0 : if (TREE_SIDE_EFFECTS (captures[1]))
816 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
817 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 213, __FILE__, __LINE__, true);
818 0 : return _r;
819 : }
820 : next_after_fail264:;
821 : }
822 : else
823 : {
824 3 : if (code1 == NE_EXPR && !val && allbits
825 : )
826 : {
827 0 : if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail265;
828 0 : if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail265;
829 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail265;
830 0 : {
831 0 : tree _r;
832 0 : _r = captures[0];
833 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 214, __FILE__, __LINE__, true);
834 0 : return _r;
835 : }
836 : next_after_fail265:;
837 : }
838 : else
839 : {
840 3 : if (code1 == EQ_EXPR
841 3 : && code2 == GT_EXPR
842 3 : && cmp == 0
843 3 : && allbits
844 6 : && ((VECTOR_BOOLEAN_TYPE_P (type)
845 3 : && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GE_EXPR))
846 0 : || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
847 : )
848 : {
849 3 : if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail266;
850 3 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail266;
851 3 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail266;
852 3 : {
853 3 : tree res_op0;
854 3 : res_op0 = captures[4];
855 3 : tree res_op1;
856 3 : res_op1 = captures[5];
857 3 : tree _r;
858 3 : _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
859 3 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 215, __FILE__, __LINE__, true);
860 3 : return _r;
861 : }
862 : next_after_fail266:;
863 : }
864 : else
865 : {
866 0 : if (code1 == EQ_EXPR
867 0 : && code2 == LT_EXPR
868 0 : && cmp == 0
869 0 : && allbits
870 0 : && ((VECTOR_BOOLEAN_TYPE_P (type)
871 0 : && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LE_EXPR))
872 0 : || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
873 : )
874 : {
875 0 : if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail267;
876 0 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail267;
877 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail267;
878 0 : {
879 0 : tree res_op0;
880 0 : res_op0 = captures[4];
881 0 : tree res_op1;
882 0 : res_op1 = captures[5];
883 0 : tree _r;
884 0 : _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
885 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 216, __FILE__, __LINE__, true);
886 0 : return _r;
887 : }
888 : next_after_fail267:;
889 : }
890 : else
891 : {
892 0 : if (code1 == EQ_EXPR
893 0 : && code2 == GE_EXPR
894 : && one_before
895 0 : && allbits
896 0 : && ((VECTOR_BOOLEAN_TYPE_P (type)
897 0 : && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GE_EXPR))
898 0 : || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
899 : )
900 : {
901 0 : if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail268;
902 0 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail268;
903 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail268;
904 0 : {
905 0 : tree res_op0;
906 0 : res_op0 = captures[4];
907 0 : tree res_op1;
908 0 : {
909 0 : tree _o1[1], _r1;
910 0 : _o1[0] = captures[2];
911 0 : if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
912 : {
913 0 : _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
914 : }
915 : else
916 : _r1 = _o1[0];
917 0 : res_op1 = _r1;
918 : }
919 0 : tree _r;
920 0 : _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
921 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 217, __FILE__, __LINE__, true);
922 0 : return _r;
923 : }
924 : next_after_fail268:;
925 : }
926 : else
927 : {
928 0 : if (code1 == EQ_EXPR
929 0 : && code2 == LE_EXPR
930 : && one_after
931 0 : && allbits
932 0 : && ((VECTOR_BOOLEAN_TYPE_P (type)
933 0 : && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LE_EXPR))
934 0 : || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
935 : )
936 : {
937 0 : if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail269;
938 0 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail269;
939 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail269;
940 0 : {
941 0 : tree res_op0;
942 0 : res_op0 = captures[4];
943 0 : tree res_op1;
944 0 : {
945 0 : tree _o1[1], _r1;
946 0 : _o1[0] = captures[2];
947 0 : if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
948 : {
949 0 : _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
950 : }
951 : else
952 : _r1 = _o1[0];
953 0 : res_op1 = _r1;
954 : }
955 0 : tree _r;
956 0 : _r = fold_build2_loc (loc, LE_EXPR, type, res_op0, res_op1);
957 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 218, __FILE__, __LINE__, true);
958 0 : return _r;
959 : }
960 : next_after_fail269:;
961 : }
962 : }
963 : }
964 : }
965 : }
966 : }
967 : }
968 : }
969 : }
970 : return NULL_TREE;
971 : }
972 :
973 : tree
974 6 : generic_simplify_201 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
975 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
976 : const combined_fn ARG_UNUSED (LDEXP))
977 : {
978 6 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
979 6 : if (flag_unsafe_math_optimizations
980 : )
981 : {
982 6 : {
983 6 : HOST_WIDE_INT tmp = 0;
984 6 : if (real_isinteger (&TREE_REAL_CST (captures[0]), &tmp)
985 6 : && tmp > 0 && pow2p_hwi (tmp)
986 : )
987 : {
988 3 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail341;
989 3 : {
990 3 : tree res_op0;
991 3 : res_op0 = captures[1];
992 3 : tree res_op1;
993 3 : {
994 3 : tree _o1[2], _r1;
995 3 : _o1[0] = build_int_cst (integer_type_node,
996 6 : exact_log2 (tmp));
997 3 : _o1[1] = captures[2];
998 3 : _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
999 3 : res_op1 = _r1;
1000 : }
1001 3 : tree _r;
1002 3 : _r = maybe_build_call_expr_loc (loc, LDEXP, type, 2, res_op0, res_op1);
1003 3 : if (!_r)
1004 0 : goto next_after_fail341;
1005 3 : if (TREE_SIDE_EFFECTS (captures[0]))
1006 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
1007 3 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 256, __FILE__, __LINE__, true);
1008 3 : return _r;
1009 : }
1010 3 : next_after_fail341:;
1011 : }
1012 : }
1013 : }
1014 : return NULL_TREE;
1015 : }
1016 :
1017 : tree
1018 0 : generic_simplify_212 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
1019 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
1020 : const enum tree_code ARG_UNUSED (op))
1021 : {
1022 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1023 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail355;
1024 0 : {
1025 0 : tree _r;
1026 0 : _r = constant_boolean_node (op == NE_EXPR ? true : false, type);
1027 0 : if (TREE_SIDE_EFFECTS (captures[0]))
1028 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
1029 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 269, __FILE__, __LINE__, true);
1030 : return _r;
1031 : }
1032 0 : next_after_fail355:;
1033 0 : return NULL_TREE;
1034 : }
1035 :
1036 : tree
1037 2823 : generic_simplify_217 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
1038 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
1039 : const enum tree_code ARG_UNUSED (cmp))
1040 : {
1041 2823 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1042 5646 : if (INTEGRAL_TYPE_P (TREE_TYPE (captures[1]))
1043 3840 : && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[0]))
1044 4764 : && tree_expr_nonzero_p (captures[1])
1045 : )
1046 : {
1047 12 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail360;
1048 12 : {
1049 12 : tree res_op0;
1050 12 : res_op0 = captures[0];
1051 12 : tree res_op1;
1052 12 : res_op1 = captures[2];
1053 12 : tree _r;
1054 12 : _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
1055 12 : if (TREE_SIDE_EFFECTS (captures[1]))
1056 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
1057 12 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 274, __FILE__, __LINE__, true);
1058 12 : return _r;
1059 : }
1060 0 : next_after_fail360:;
1061 : }
1062 : return NULL_TREE;
1063 : }
1064 :
1065 : tree
1066 0 : generic_simplify_224 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
1067 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
1068 : const enum tree_code ARG_UNUSED (op))
1069 : {
1070 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1071 0 : if (!TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[1]))
1072 : )
1073 : {
1074 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail380;
1075 0 : {
1076 0 : tree res_op0;
1077 0 : res_op0 = captures[3];
1078 0 : tree res_op1;
1079 0 : res_op1 = captures[2];
1080 0 : tree _r;
1081 0 : _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
1082 0 : if (TREE_SIDE_EFFECTS (captures[1]))
1083 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
1084 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 294, __FILE__, __LINE__, true);
1085 0 : return _r;
1086 : }
1087 0 : next_after_fail380:;
1088 : }
1089 : return NULL_TREE;
1090 : }
1091 :
1092 : tree
1093 1063 : generic_simplify_232 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
1094 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
1095 : const enum tree_code ARG_UNUSED (minmax),
1096 : const enum tree_code ARG_UNUSED (cmp),
1097 : const enum tree_code ARG_UNUSED (out))
1098 : {
1099 1063 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1100 2126 : if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
1101 1208 : && (!VECTOR_TYPE_P (TREE_TYPE (captures[0]))
1102 1 : || (VECTOR_TYPE_P (type)
1103 0 : && (!expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, cmp)
1104 0 : || expand_vec_cmp_expr_p (TREE_TYPE (captures[0]), type, out))))
1105 : )
1106 : {
1107 144 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail388;
1108 144 : {
1109 144 : tree res_op0;
1110 144 : res_op0 = captures[0];
1111 144 : tree res_op1;
1112 144 : res_op1 = captures[1];
1113 144 : tree _r;
1114 144 : _r = fold_build2_loc (loc, out, type, res_op0, res_op1);
1115 144 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 301, __FILE__, __LINE__, true);
1116 144 : return _r;
1117 : }
1118 0 : next_after_fail388:;
1119 : }
1120 : return NULL_TREE;
1121 : }
1122 :
1123 : tree
1124 752 : generic_simplify_240 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
1125 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
1126 : const enum tree_code ARG_UNUSED (cmp))
1127 : {
1128 752 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1129 752 : if (tree_fits_shwi_p (captures[3])
1130 752 : && tree_to_shwi (captures[3]) > 0
1131 1490 : && tree_to_shwi (captures[3]) < TYPE_PRECISION (TREE_TYPE (captures[2]))
1132 : )
1133 : {
1134 738 : {
1135 738 : tree t0 = TREE_TYPE (captures[2]);
1136 738 : unsigned int prec = TYPE_PRECISION (t0);
1137 738 : wide_int c1 = wi::to_wide (captures[3]);
1138 738 : wide_int c2 = wi::to_wide (captures[4]);
1139 738 : wide_int c3 = wi::to_wide (captures[5]);
1140 738 : wide_int sb = wi::set_bit_in_zero (prec - 1, prec);
1141 738 : if ((c2 & c3) != c3
1142 : )
1143 : {
1144 0 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail401;
1145 0 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail401;
1146 0 : if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail401;
1147 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail401;
1148 0 : {
1149 0 : tree _r;
1150 0 : _r = constant_boolean_node (cmp == NE_EXPR, type);
1151 0 : if (TREE_SIDE_EFFECTS (captures[2]))
1152 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
1153 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 314, __FILE__, __LINE__, true);
1154 0 : return _r;
1155 : }
1156 0 : next_after_fail401:;
1157 : }
1158 : else
1159 : {
1160 738 : if (TYPE_UNSIGNED (t0)
1161 : )
1162 : {
1163 616 : if ((c3 & wi::arshift (sb, c1 - 1)) != 0
1164 : )
1165 : {
1166 0 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail402;
1167 0 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail402;
1168 0 : if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail402;
1169 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail402;
1170 0 : {
1171 0 : tree _r;
1172 0 : _r = constant_boolean_node (cmp == NE_EXPR, type);
1173 0 : if (TREE_SIDE_EFFECTS (captures[2]))
1174 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
1175 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 315, __FILE__, __LINE__, true);
1176 0 : return _r;
1177 : }
1178 0 : next_after_fail402:;
1179 : }
1180 : else
1181 : {
1182 616 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail403;
1183 616 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail403;
1184 616 : if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail403;
1185 616 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail403;
1186 616 : {
1187 616 : tree res_op0;
1188 616 : {
1189 616 : tree _o1[2], _r1;
1190 616 : _o1[0] = captures[2];
1191 616 : _o1[1] = wide_int_to_tree (t0, c2 << c1);
1192 616 : _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
1193 616 : res_op0 = _r1;
1194 : }
1195 616 : tree res_op1;
1196 616 : res_op1 = wide_int_to_tree (t0, c3 << c1);
1197 616 : tree _r;
1198 616 : _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
1199 616 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 316, __FILE__, __LINE__, true);
1200 616 : return _r;
1201 : }
1202 0 : next_after_fail403:;
1203 : }
1204 : }
1205 : else
1206 : {
1207 122 : {
1208 122 : wide_int smask = wi::arshift (sb, c1);
1209 122 : if ((c2 & smask) == 0
1210 : )
1211 : {
1212 120 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail404;
1213 120 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail404;
1214 120 : if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail404;
1215 120 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail404;
1216 120 : {
1217 120 : tree res_op0;
1218 120 : {
1219 120 : tree _o1[2], _r1;
1220 120 : _o1[0] = captures[2];
1221 120 : _o1[1] = wide_int_to_tree (t0, c2 << c1);
1222 120 : _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
1223 120 : res_op0 = _r1;
1224 : }
1225 120 : tree res_op1;
1226 120 : res_op1 = wide_int_to_tree (t0, c3 << c1);
1227 120 : tree _r;
1228 120 : _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
1229 120 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 317, __FILE__, __LINE__, true);
1230 120 : return _r;
1231 : }
1232 0 : next_after_fail404:;
1233 : }
1234 : else
1235 : {
1236 2 : if ((c3 & smask) == 0
1237 : )
1238 : {
1239 2 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail405;
1240 2 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail405;
1241 2 : if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail405;
1242 2 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail405;
1243 2 : {
1244 2 : tree res_op0;
1245 2 : {
1246 2 : tree _o1[2], _r1;
1247 2 : _o1[0] = captures[2];
1248 2 : _o1[1] = wide_int_to_tree (t0, (c2 << c1) | sb);
1249 2 : _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
1250 2 : res_op0 = _r1;
1251 : }
1252 2 : tree res_op1;
1253 2 : res_op1 = wide_int_to_tree (t0, c3 << c1);
1254 2 : tree _r;
1255 2 : _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
1256 2 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 318, __FILE__, __LINE__, true);
1257 2 : return _r;
1258 : }
1259 0 : next_after_fail405:;
1260 : }
1261 : else
1262 : {
1263 0 : if ((c2 & smask) != (c3 & smask)
1264 : )
1265 : {
1266 0 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail406;
1267 0 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail406;
1268 0 : if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail406;
1269 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail406;
1270 0 : {
1271 0 : tree _r;
1272 0 : _r = constant_boolean_node (cmp == NE_EXPR, type);
1273 0 : if (TREE_SIDE_EFFECTS (captures[2]))
1274 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
1275 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 319, __FILE__, __LINE__, true);
1276 0 : return _r;
1277 : }
1278 0 : next_after_fail406:;
1279 : }
1280 : else
1281 : {
1282 0 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail407;
1283 0 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail407;
1284 0 : if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail407;
1285 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail407;
1286 0 : {
1287 0 : tree res_op0;
1288 0 : {
1289 0 : tree _o1[2], _r1;
1290 0 : _o1[0] = captures[2];
1291 0 : _o1[1] = wide_int_to_tree (t0, (c2 << c1) | sb);
1292 0 : _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
1293 0 : res_op0 = _r1;
1294 : }
1295 0 : tree res_op1;
1296 0 : res_op1 = wide_int_to_tree (t0, (c3 << c1) | sb);
1297 0 : tree _r;
1298 0 : _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
1299 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 320, __FILE__, __LINE__, true);
1300 0 : return _r;
1301 : }
1302 0 : next_after_fail407:;
1303 : }
1304 : }
1305 : }
1306 122 : }
1307 : }
1308 : }
1309 738 : }
1310 : }
1311 : return NULL_TREE;
1312 : }
1313 :
1314 : tree
1315 1050353 : generic_simplify_272 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
1316 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
1317 : const enum tree_code ARG_UNUSED (cmp))
1318 : {
1319 1050353 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1320 1050353 : {
1321 1050353 : poly_int64 off; tree base;
1322 1050353 : tree addr = (TREE_CODE (captures[1]) == SSA_NAME
1323 1050353 : ? gimple_assign_rhs1 (SSA_NAME_DEF_STMT (captures[1])) : captures[1]);
1324 1050353 : if (SSA_NAME_IS_DEFAULT_DEF (captures[0])
1325 46445 : && TREE_CODE (SSA_NAME_VAR (captures[0])) == PARM_DECL
1326 46287 : && (base = get_base_address (TREE_OPERAND (addr, 0)))
1327 46287 : && TREE_CODE (base) == VAR_DECL
1328 1053521 : && auto_var_in_fn_p (base, current_function_decl)
1329 : )
1330 : {
1331 0 : if (cmp == NE_EXPR
1332 : )
1333 : {
1334 0 : if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail501;
1335 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail501;
1336 0 : {
1337 0 : tree _r;
1338 0 : _r = constant_boolean_node (true, type);
1339 0 : if (TREE_SIDE_EFFECTS (captures[0]))
1340 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
1341 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 404, __FILE__, __LINE__, true);
1342 2 : return _r;
1343 : }
1344 1050351 : next_after_fail501:;
1345 : }
1346 : else
1347 : {
1348 0 : if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail502;
1349 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail502;
1350 0 : {
1351 0 : tree _r;
1352 0 : _r = constant_boolean_node (false, type);
1353 0 : if (TREE_SIDE_EFFECTS (captures[0]))
1354 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
1355 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 405, __FILE__, __LINE__, true);
1356 0 : return _r;
1357 : }
1358 1050351 : next_after_fail502:;
1359 : }
1360 : }
1361 : else
1362 : {
1363 1050353 : if ((base = get_addr_base_and_unit_offset (TREE_OPERAND (addr, 0), &off))
1364 1049008 : && TREE_CODE (base) == MEM_REF
1365 1202983 : && TREE_OPERAND (base, 0) == captures[0]
1366 : )
1367 : {
1368 2 : {
1369 2 : off += mem_ref_offset (base).force_shwi ();
1370 2 : if (known_ne (off, 0)
1371 : )
1372 : {
1373 2 : if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail503;
1374 2 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail503;
1375 2 : {
1376 2 : tree _r;
1377 2 : _r = constant_boolean_node (cmp == NE_EXPR, type);
1378 2 : if (TREE_SIDE_EFFECTS (captures[0]))
1379 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
1380 2 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 406, __FILE__, __LINE__, true);
1381 2 : return _r;
1382 : }
1383 1050351 : next_after_fail503:;
1384 : }
1385 : else
1386 : {
1387 0 : if (known_eq (off, 0)
1388 : )
1389 : {
1390 0 : if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail504;
1391 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail504;
1392 0 : {
1393 0 : tree _r;
1394 0 : _r = constant_boolean_node (cmp == EQ_EXPR, type);
1395 0 : if (TREE_SIDE_EFFECTS (captures[0]))
1396 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
1397 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 407, __FILE__, __LINE__, true);
1398 0 : return _r;
1399 : }
1400 1050351 : next_after_fail504:;
1401 : }
1402 : }
1403 : }
1404 : }
1405 : }
1406 : }
1407 1050351 : return NULL_TREE;
1408 : }
1409 :
1410 : tree
1411 4 : generic_simplify_285 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
1412 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
1413 : const enum tree_code ARG_UNUSED (cmp),
1414 : const enum tree_code ARG_UNUSED (ncmp))
1415 : {
1416 4 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1417 8 : if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
1418 4 : && !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
1419 8 : && types_match (captures[0], captures[2])
1420 : )
1421 : {
1422 4 : if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail517;
1423 4 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail517;
1424 4 : {
1425 4 : tree res_op0;
1426 4 : {
1427 4 : tree _o1[2], _r1;
1428 4 : _o1[0] = captures[0];
1429 4 : _o1[1] = captures[2];
1430 4 : _r1 = fold_build2_loc (loc, BIT_XOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
1431 4 : res_op0 = _r1;
1432 : }
1433 4 : tree res_op1;
1434 4 : res_op1 = captures[1];
1435 4 : tree _r;
1436 4 : _r = fold_build2_loc (loc, ncmp, type, res_op0, res_op1);
1437 4 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 419, __FILE__, __LINE__, true);
1438 4 : return _r;
1439 : }
1440 : next_after_fail517:;
1441 : }
1442 : return NULL_TREE;
1443 : }
1444 :
1445 : tree
1446 52370970 : generic_simplify_290 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
1447 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
1448 : const enum tree_code ARG_UNUSED (neeq))
1449 : {
1450 52370970 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1451 93470766 : if (POINTER_TYPE_P (TREE_TYPE (captures[0]))
1452 52380758 : && ptrs_compare_unequal (captures[0], captures[1])
1453 : )
1454 : {
1455 11859 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail536;
1456 11859 : {
1457 11859 : tree _r;
1458 11859 : _r = constant_boolean_node (neeq != EQ_EXPR, type);
1459 11859 : if (TREE_SIDE_EFFECTS (captures[0]))
1460 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
1461 11859 : if (TREE_SIDE_EFFECTS (captures[1]))
1462 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
1463 11859 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 429, __FILE__, __LINE__, true);
1464 11859 : return _r;
1465 : }
1466 0 : next_after_fail536:;
1467 : }
1468 : return NULL_TREE;
1469 : }
1470 :
1471 : tree
1472 1050975 : generic_simplify_294 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
1473 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
1474 : const enum tree_code ARG_UNUSED (op),
1475 : const enum tree_code ARG_UNUSED (rop),
1476 : const enum tree_code ARG_UNUSED (cmp))
1477 : {
1478 1050975 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1479 2101950 : if (!TREE_OVERFLOW (captures[2]) && !TREE_OVERFLOW (captures[3])
1480 1050975 : && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (captures[1]))
1481 1050660 : && !TYPE_OVERFLOW_TRAPS (TREE_TYPE (captures[1]))
1482 2101487 : && !TYPE_SATURATING (TREE_TYPE (captures[1]))
1483 : )
1484 : {
1485 1050512 : {
1486 1050512 : tree res = int_const_binop (rop, captures[3], captures[2]);
1487 1050512 : if (TREE_OVERFLOW (res)
1488 1050512 : && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[1]))
1489 : )
1490 : {
1491 7539 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail544;
1492 7539 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail544;
1493 7539 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail544;
1494 7539 : {
1495 7539 : tree _r;
1496 7539 : _r = constant_boolean_node (cmp == NE_EXPR, type);
1497 7539 : if (TREE_SIDE_EFFECTS (captures[1]))
1498 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
1499 7539 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 437, __FILE__, __LINE__, true);
1500 7539 : return _r;
1501 : }
1502 : next_after_fail544:;
1503 : }
1504 : else
1505 : {
1506 1042973 : if (single_use (captures[0]) || wi::to_wide (res) == 0
1507 : )
1508 : {
1509 1042973 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail545;
1510 1042973 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail545;
1511 1042973 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail545;
1512 1042973 : {
1513 1042973 : tree res_op0;
1514 1042973 : res_op0 = captures[1];
1515 1042973 : tree res_op1;
1516 1042973 : res_op1 = TREE_OVERFLOW (res)
1517 1042973 : ? drop_tree_overflow (res) : res;
1518 1042973 : tree _r;
1519 1042973 : _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
1520 1042973 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 438, __FILE__, __LINE__, true);
1521 1042973 : return _r;
1522 : }
1523 : next_after_fail545:;
1524 : }
1525 : }
1526 : }
1527 : }
1528 : return NULL_TREE;
1529 : }
1530 :
1531 : tree
1532 0 : generic_simplify_297 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
1533 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
1534 : const enum tree_code ARG_UNUSED (op),
1535 : const enum tree_code ARG_UNUSED (cmp))
1536 : {
1537 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1538 0 : if (integer_zerop (captures[3]) && single_use (captures[0])
1539 : )
1540 : {
1541 0 : {
1542 0 : tree type0 = TREE_TYPE (captures[1]);
1543 0 : tree stype = signed_type_for (TREE_TYPE (captures[1]));
1544 0 : if (integer_zerop (captures[2]))
1545 : stype = NULL_TREE;
1546 0 : if (stype
1547 : )
1548 : {
1549 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail557;
1550 0 : {
1551 0 : tree res_op0;
1552 0 : {
1553 0 : tree _o1[1], _r1;
1554 0 : _o1[0] = captures[1];
1555 0 : if (TREE_TYPE (_o1[0]) != stype)
1556 : {
1557 0 : _r1 = fold_build1_loc (loc, NOP_EXPR, stype, _o1[0]);
1558 : }
1559 : else
1560 : _r1 = _o1[0];
1561 0 : res_op0 = _r1;
1562 : }
1563 0 : tree res_op1;
1564 0 : res_op1 = build_zero_cst (stype);
1565 0 : tree _r;
1566 0 : _r = fold_build2_loc (loc, cmp, type, res_op0, res_op1);
1567 0 : if (TREE_SIDE_EFFECTS (captures[2]))
1568 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
1569 0 : if (TREE_SIDE_EFFECTS (captures[3]))
1570 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
1571 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 450, __FILE__, __LINE__, true);
1572 0 : return _r;
1573 : }
1574 0 : next_after_fail557:;
1575 : }
1576 : }
1577 : }
1578 : else
1579 : {
1580 0 : {
1581 0 : bool ok = true;
1582 0 : tree type0 = TREE_TYPE (captures[1]);
1583 0 : if (wi::to_widest (captures[2]) == TYPE_PRECISION (type0) - 1)
1584 : ok = false;
1585 0 : if (ok && wi::to_wide (captures[3]) == (TYPE_PRECISION (type0) - 1)
1586 : )
1587 : {
1588 0 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail558;
1589 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail558;
1590 0 : {
1591 0 : tree res_op0;
1592 0 : res_op0 = captures[1];
1593 0 : tree res_op1;
1594 0 : res_op1 = build_one_cst (type0);
1595 0 : tree _r;
1596 0 : _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
1597 0 : if (TREE_SIDE_EFFECTS (captures[3]))
1598 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[3]), _r);
1599 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 451, __FILE__, __LINE__, true);
1600 0 : return _r;
1601 : }
1602 : next_after_fail558:;
1603 : }
1604 : }
1605 : }
1606 : return NULL_TREE;
1607 : }
1608 :
1609 : tree
1610 0 : generic_simplify_306 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
1611 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
1612 : const combined_fn ARG_UNUSED (COPYSIGN_ALL))
1613 : {
1614 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1615 0 : if (REAL_VALUE_NEGATIVE (TREE_REAL_CST (captures[0]))
1616 : )
1617 : {
1618 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail572;
1619 0 : {
1620 0 : tree res_op0;
1621 0 : {
1622 0 : tree _o1[1], _r1;
1623 0 : _o1[0] = captures[0];
1624 0 : _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
1625 0 : res_op0 = _r1;
1626 : }
1627 0 : tree res_op1;
1628 0 : res_op1 = captures[1];
1629 0 : tree _r;
1630 0 : _r = maybe_build_call_expr_loc (loc, COPYSIGN_ALL, type, 2, res_op0, res_op1);
1631 0 : if (!_r)
1632 0 : goto next_after_fail572;
1633 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 465, __FILE__, __LINE__, true);
1634 0 : return _r;
1635 : }
1636 : next_after_fail572:;
1637 : }
1638 : return NULL_TREE;
1639 : }
1640 :
1641 : tree
1642 0 : generic_simplify_311 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
1643 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
1644 : const combined_fn ARG_UNUSED (COPYSIGN_ALL))
1645 : {
1646 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1647 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail577;
1648 0 : {
1649 0 : tree res_op0;
1650 0 : res_op0 = captures[0];
1651 0 : tree _r;
1652 0 : _r = fold_build1_loc (loc, ABS_EXPR, type, res_op0);
1653 0 : if (TREE_SIDE_EFFECTS (captures[1]))
1654 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
1655 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 470, __FILE__, __LINE__, true);
1656 : return _r;
1657 : }
1658 0 : next_after_fail577:;
1659 0 : return NULL_TREE;
1660 : }
1661 :
1662 : tree
1663 1 : generic_simplify_318 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
1664 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
1665 : const enum tree_code ARG_UNUSED (div))
1666 : {
1667 1 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1668 1 : if (INTEGRAL_TYPE_P (type)
1669 1 : && TYPE_OVERFLOW_UNDEFINED (type)
1670 1 : && !integer_zerop (captures[0])
1671 2 : && (!flag_non_call_exceptions || tree_expr_nonzero_p (captures[0]))
1672 : )
1673 : {
1674 1 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail586;
1675 1 : {
1676 1 : tree res_op0;
1677 1 : {
1678 1 : tree _o1[2], _r1;
1679 1 : _o1[0] = captures[0];
1680 1 : _o1[1] = build_zero_cst (type);
1681 1 : _r1 = fold_build2_loc (loc, LT_EXPR, boolean_type_node, _o1[0], _o1[1]);
1682 1 : res_op0 = _r1;
1683 : }
1684 1 : tree res_op1;
1685 1 : res_op1 = build_minus_one_cst (type);
1686 1 : tree res_op2;
1687 1 : res_op2 = build_one_cst (type);
1688 1 : tree _r;
1689 1 : _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
1690 1 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 477, __FILE__, __LINE__, true);
1691 1 : return _r;
1692 : }
1693 0 : next_after_fail586:;
1694 : }
1695 : return NULL_TREE;
1696 : }
1697 :
1698 : tree
1699 2282878 : generic_simplify_325 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
1700 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
1701 : const enum tree_code ARG_UNUSED (floor_divmod),
1702 : const enum tree_code ARG_UNUSED (trunc_divmod))
1703 : {
1704 2282878 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1705 0 : if ((INTEGRAL_TYPE_P (type) || VECTOR_INTEGER_TYPE_P (type))
1706 2282878 : && TYPE_UNSIGNED (type)
1707 : )
1708 : {
1709 2273749 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail594;
1710 2273749 : {
1711 2273749 : tree res_op0;
1712 2273749 : res_op0 = captures[0];
1713 2273749 : tree res_op1;
1714 2273749 : res_op1 = captures[1];
1715 2273749 : tree _r;
1716 2273749 : _r = fold_build2_loc (loc, trunc_divmod, type, res_op0, res_op1);
1717 2273749 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 485, __FILE__, __LINE__, true);
1718 2273749 : return _r;
1719 : }
1720 0 : next_after_fail594:;
1721 : }
1722 : return NULL_TREE;
1723 : }
1724 :
1725 : tree
1726 7536 : generic_simplify_331 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
1727 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
1728 : const enum tree_code ARG_UNUSED (mod))
1729 : {
1730 7536 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1731 0 : if (ANY_INTEGRAL_TYPE_P (type)
1732 7536 : && TYPE_OVERFLOW_UNDEFINED (type)
1733 15072 : && wi::multiple_of_p (wi::to_wide (captures[1]), wi::to_wide (captures[2]),
1734 195 : TYPE_SIGN (type))
1735 : )
1736 : {
1737 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail600;
1738 0 : {
1739 0 : tree _r;
1740 0 : _r = build_zero_cst (type);
1741 0 : if (TREE_SIDE_EFFECTS (captures[0]))
1742 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
1743 0 : if (TREE_SIDE_EFFECTS (captures[1]))
1744 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
1745 0 : if (TREE_SIDE_EFFECTS (captures[2]))
1746 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
1747 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 491, __FILE__, __LINE__, true);
1748 0 : return _r;
1749 : }
1750 0 : next_after_fail600:;
1751 : }
1752 : return NULL_TREE;
1753 : }
1754 :
1755 : tree
1756 0 : generic_simplify_344 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
1757 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
1758 : const enum tree_code ARG_UNUSED (op),
1759 : const combined_fn ARG_UNUSED (bt),
1760 : const combined_fn ARG_UNUSED (bf),
1761 : const combined_fn ARG_UNUSED (floor),
1762 : const combined_fn ARG_UNUSED (ceil))
1763 : {
1764 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1765 0 : if (!HONOR_SIGNED_ZEROS (type) && !HONOR_SIGN_DEPENDENT_ROUNDING (type)
1766 : )
1767 : {
1768 0 : if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail615;
1769 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail615;
1770 0 : {
1771 0 : tree res_op0;
1772 0 : {
1773 0 : tree _o1[2], _r1;
1774 0 : _o1[0] = captures[1];
1775 0 : _o1[1] = build_real (type, dconsthalf);
1776 0 : _r1 = fold_build2_loc (loc, PLUS_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
1777 0 : res_op0 = _r1;
1778 : }
1779 0 : tree _r;
1780 0 : _r = maybe_build_call_expr_loc (loc, floor, type, 1, res_op0);
1781 0 : if (!_r)
1782 0 : goto next_after_fail615;
1783 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 506, __FILE__, __LINE__, true);
1784 0 : return _r;
1785 : }
1786 : next_after_fail615:;
1787 : }
1788 : return NULL_TREE;
1789 : }
1790 :
1791 : tree
1792 3 : generic_simplify_353 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
1793 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
1794 : const enum tree_code ARG_UNUSED (op))
1795 : {
1796 3 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1797 3 : if (INTEGRAL_TYPE_P (type)
1798 3 : && TYPE_PRECISION (type) > 1
1799 3 : && INTEGRAL_TYPE_P (TREE_TYPE (captures[0]))
1800 6 : && expr_no_side_effects_p (captures[2])
1801 : )
1802 : {
1803 3 : if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail630;
1804 3 : if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail630;
1805 3 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail630;
1806 3 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail630;
1807 3 : {
1808 3 : tree res_op0;
1809 3 : {
1810 3 : tree _o1[2], _r1;
1811 3 : {
1812 3 : tree _o2[1], _r2;
1813 3 : _o2[0] = captures[0];
1814 3 : if (TREE_TYPE (_o2[0]) != type)
1815 : {
1816 0 : _r2 = fold_build1_loc (loc, NOP_EXPR, type, _o2[0]);
1817 : }
1818 : else
1819 : _r2 = _o2[0];
1820 3 : _o1[0] = _r2;
1821 : }
1822 3 : _o1[1] = captures[2];
1823 3 : _r1 = fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
1824 3 : res_op0 = _r1;
1825 : }
1826 3 : tree res_op1;
1827 3 : res_op1 = captures[1];
1828 3 : tree _r;
1829 3 : _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
1830 3 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 521, __FILE__, __LINE__, true);
1831 3 : return _r;
1832 : }
1833 : next_after_fail630:;
1834 : }
1835 : return NULL_TREE;
1836 : }
1837 :
1838 : tree
1839 184 : generic_simplify_362 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
1840 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
1841 : const enum tree_code ARG_UNUSED (op))
1842 : {
1843 184 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1844 184 : if (bitwise_equal_p (captures[0], captures[3])
1845 184 : && expr_no_side_effects_p (captures[2])
1846 : )
1847 : {
1848 1 : if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail639;
1849 1 : if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail639;
1850 1 : if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail639;
1851 1 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail639;
1852 1 : {
1853 1 : tree _r;
1854 1 : _r = captures[1];
1855 1 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 530, __FILE__, __LINE__, true);
1856 1 : return _r;
1857 : }
1858 : next_after_fail639:;
1859 : }
1860 : return NULL_TREE;
1861 : }
1862 :
1863 : tree
1864 0 : generic_simplify_369 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
1865 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
1866 : const enum tree_code ARG_UNUSED (cmp))
1867 : {
1868 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1869 0 : if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail647;
1870 0 : if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail647;
1871 0 : if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail647;
1872 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail647;
1873 0 : {
1874 0 : tree _r;
1875 0 : _r = captures[0];
1876 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 538, __FILE__, __LINE__, true);
1877 : return _r;
1878 : }
1879 : next_after_fail647:;
1880 : return NULL_TREE;
1881 : }
1882 :
1883 : tree
1884 396 : generic_simplify_377 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
1885 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
1886 : const enum tree_code ARG_UNUSED (op),
1887 : const enum tree_code ARG_UNUSED (neg_op))
1888 : {
1889 396 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1890 396 : if (flag_unsafe_math_optimizations
1891 : )
1892 : {
1893 4 : if (!HONOR_SIGNED_ZEROS (captures[1]) && !HONOR_INFINITIES (captures[1])
1894 : )
1895 : {
1896 4 : if (real_less (&dconst0, TREE_REAL_CST_PTR (captures[0]))
1897 : )
1898 : {
1899 2 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail657;
1900 2 : {
1901 2 : tree res_op0;
1902 2 : res_op0 = captures[1];
1903 2 : tree res_op1;
1904 2 : res_op1 = captures[2];
1905 2 : tree _r;
1906 2 : _r = fold_build2_loc (loc, op, type, res_op0, res_op1);
1907 2 : if (TREE_SIDE_EFFECTS (captures[0]))
1908 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
1909 2 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 546, __FILE__, __LINE__, true);
1910 2 : return _r;
1911 : }
1912 0 : next_after_fail657:;
1913 : }
1914 : else
1915 : {
1916 2 : if (real_less (TREE_REAL_CST_PTR (captures[0]), &dconst0)
1917 : )
1918 : {
1919 2 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail658;
1920 2 : {
1921 2 : tree res_op0;
1922 2 : res_op0 = captures[1];
1923 2 : tree res_op1;
1924 2 : res_op1 = captures[2];
1925 2 : tree _r;
1926 2 : _r = fold_build2_loc (loc, neg_op, type, res_op0, res_op1);
1927 2 : if (TREE_SIDE_EFFECTS (captures[0]))
1928 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
1929 2 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 547, __FILE__, __LINE__, true);
1930 2 : return _r;
1931 : }
1932 0 : next_after_fail658:;
1933 : }
1934 : }
1935 : }
1936 : }
1937 : return NULL_TREE;
1938 : }
1939 :
1940 : tree
1941 0 : generic_simplify_387 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
1942 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
1943 : const enum tree_code ARG_UNUSED (ltge),
1944 : const enum tree_code ARG_UNUSED (neeq))
1945 : {
1946 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1947 0 : if (!HONOR_NANS (captures[0])
1948 : )
1949 : {
1950 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail670;
1951 0 : {
1952 0 : tree res_op0;
1953 0 : res_op0 = captures[0];
1954 0 : tree res_op1;
1955 0 : res_op1 = captures[1];
1956 0 : tree _r;
1957 0 : _r = fold_build2_loc (loc, neeq, type, res_op0, res_op1);
1958 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 559, __FILE__, __LINE__, true);
1959 0 : return _r;
1960 : }
1961 0 : next_after_fail670:;
1962 : }
1963 : return NULL_TREE;
1964 : }
1965 :
1966 : tree
1967 22145982 : generic_simplify_396 (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 (cmp))
1970 : {
1971 22145982 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
1972 44286114 : if ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
1973 11261 : || POINTER_TYPE_P (TREE_TYPE (captures[2]))
1974 2652 : || VECTOR_INTEGER_TYPE_P (TREE_TYPE (captures[2])))
1975 44286114 : && tree_nop_conversion_p (TREE_TYPE (captures[0]), TREE_TYPE (captures[1]))
1976 : )
1977 : {
1978 22145982 : {
1979 22145982 : tree cst = uniform_integer_cst_p (captures[2]);
1980 22145982 : tree arg1_type = TREE_TYPE (cst);
1981 22145982 : unsigned int prec = TYPE_PRECISION (arg1_type);
1982 22145982 : wide_int max = wi::max_value (arg1_type);
1983 22145982 : wide_int signed_max = wi::max_value (prec, SIGNED);
1984 22145982 : wide_int min = wi::min_value (arg1_type);
1985 22145982 : if (wi::to_wide (cst) == max
1986 : )
1987 : {
1988 173471 : if (cmp == GT_EXPR
1989 : )
1990 : {
1991 118205 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail696;
1992 118205 : {
1993 118205 : tree _r;
1994 118205 : _r = constant_boolean_node (false, type);
1995 118205 : if (TREE_SIDE_EFFECTS (captures[0]))
1996 80 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
1997 118205 : if (TREE_SIDE_EFFECTS (captures[2]))
1998 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
1999 118205 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 569, __FILE__, __LINE__, true);
2000 118205 : return _r;
2001 : }
2002 0 : next_after_fail696:;
2003 : }
2004 : else
2005 : {
2006 55266 : if (cmp == GE_EXPR
2007 : )
2008 : {
2009 7 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail697;
2010 7 : {
2011 7 : tree res_op0;
2012 7 : res_op0 = captures[0];
2013 7 : tree res_op1;
2014 7 : res_op1 = captures[2];
2015 7 : tree _r;
2016 7 : _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
2017 7 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 570, __FILE__, __LINE__, true);
2018 7 : return _r;
2019 : }
2020 0 : next_after_fail697:;
2021 : }
2022 : else
2023 : {
2024 55259 : if (cmp == LE_EXPR
2025 : )
2026 : {
2027 55249 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail698;
2028 55249 : {
2029 55249 : tree _r;
2030 55249 : _r = constant_boolean_node (true, type);
2031 55249 : if (TREE_SIDE_EFFECTS (captures[0]))
2032 23 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
2033 55249 : if (TREE_SIDE_EFFECTS (captures[2]))
2034 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
2035 55249 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 571, __FILE__, __LINE__, true);
2036 55249 : return _r;
2037 : }
2038 0 : next_after_fail698:;
2039 : }
2040 : else
2041 : {
2042 10 : if (cmp == LT_EXPR
2043 : )
2044 : {
2045 10 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail699;
2046 10 : {
2047 10 : tree res_op0;
2048 10 : res_op0 = captures[0];
2049 10 : tree res_op1;
2050 10 : res_op1 = captures[2];
2051 10 : tree _r;
2052 10 : _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
2053 10 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 572, __FILE__, __LINE__, true);
2054 10 : return _r;
2055 : }
2056 0 : next_after_fail699:;
2057 : }
2058 : }
2059 : }
2060 : }
2061 : }
2062 : else
2063 : {
2064 21972511 : if (wi::to_wide (cst) == min
2065 : )
2066 : {
2067 1327687 : if (cmp == LT_EXPR
2068 : )
2069 : {
2070 428128 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail700;
2071 428128 : {
2072 428128 : tree _r;
2073 428128 : _r = constant_boolean_node (false, type);
2074 428128 : if (TREE_SIDE_EFFECTS (captures[0]))
2075 50 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
2076 428128 : if (TREE_SIDE_EFFECTS (captures[2]))
2077 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
2078 428128 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 573, __FILE__, __LINE__, true);
2079 428128 : return _r;
2080 : }
2081 0 : next_after_fail700:;
2082 : }
2083 : else
2084 : {
2085 899559 : if (cmp == LE_EXPR
2086 : )
2087 : {
2088 96014 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail701;
2089 96014 : {
2090 96014 : tree res_op0;
2091 96014 : res_op0 = captures[0];
2092 96014 : tree res_op1;
2093 96014 : res_op1 = captures[2];
2094 96014 : tree _r;
2095 96014 : _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
2096 96014 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 574, __FILE__, __LINE__, true);
2097 96014 : return _r;
2098 : }
2099 0 : next_after_fail701:;
2100 : }
2101 : else
2102 : {
2103 803545 : if (cmp == GE_EXPR
2104 : )
2105 : {
2106 237146 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail702;
2107 237146 : {
2108 237146 : tree _r;
2109 237146 : _r = constant_boolean_node (true, type);
2110 237146 : if (TREE_SIDE_EFFECTS (captures[0]))
2111 343 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
2112 237146 : if (TREE_SIDE_EFFECTS (captures[2]))
2113 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
2114 237146 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 575, __FILE__, __LINE__, true);
2115 237146 : return _r;
2116 : }
2117 0 : next_after_fail702:;
2118 : }
2119 : else
2120 : {
2121 566399 : if (cmp == GT_EXPR
2122 : )
2123 : {
2124 566399 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail703;
2125 566399 : {
2126 566399 : tree res_op0;
2127 566399 : res_op0 = captures[0];
2128 566399 : tree res_op1;
2129 566399 : res_op1 = captures[2];
2130 566399 : tree _r;
2131 566399 : _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
2132 566399 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 576, __FILE__, __LINE__, true);
2133 566399 : return _r;
2134 : }
2135 0 : next_after_fail703:;
2136 : }
2137 : }
2138 : }
2139 : }
2140 : }
2141 : else
2142 : {
2143 20644831 : if (wi::to_wide (cst) == max - 1
2144 : )
2145 : {
2146 389435 : if (cmp == GT_EXPR
2147 : )
2148 : {
2149 156805 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail704;
2150 156805 : {
2151 156805 : tree res_op0;
2152 156805 : res_op0 = captures[0];
2153 156805 : tree res_op1;
2154 156805 : res_op1 = build_uniform_cst (TREE_TYPE (captures[2]),
2155 156805 : wide_int_to_tree (TREE_TYPE (cst),
2156 156805 : wi::to_wide (cst)
2157 313610 : + 1));
2158 156805 : tree _r;
2159 156805 : _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
2160 156805 : if (TREE_SIDE_EFFECTS (captures[2]))
2161 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
2162 156805 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 577, __FILE__, __LINE__, true);
2163 156805 : return _r;
2164 : }
2165 0 : next_after_fail704:;
2166 : }
2167 : else
2168 : {
2169 232630 : if (cmp == LE_EXPR
2170 : )
2171 : {
2172 232630 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail705;
2173 232630 : {
2174 232630 : tree res_op0;
2175 232630 : res_op0 = captures[0];
2176 232630 : tree res_op1;
2177 232630 : res_op1 = build_uniform_cst (TREE_TYPE (captures[2]),
2178 232630 : wide_int_to_tree (TREE_TYPE (cst),
2179 232630 : wi::to_wide (cst)
2180 465260 : + 1));
2181 232630 : tree _r;
2182 232630 : _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
2183 232630 : if (TREE_SIDE_EFFECTS (captures[2]))
2184 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
2185 232630 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 578, __FILE__, __LINE__, true);
2186 232630 : return _r;
2187 : }
2188 0 : next_after_fail705:;
2189 : }
2190 : }
2191 : }
2192 : else
2193 : {
2194 20255394 : if (wi::to_wide (cst) == min + 1
2195 : )
2196 : {
2197 718233 : if (cmp == GE_EXPR
2198 : )
2199 : {
2200 59503 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail706;
2201 59503 : {
2202 59503 : tree res_op0;
2203 59503 : res_op0 = captures[0];
2204 59503 : tree res_op1;
2205 59503 : res_op1 = build_uniform_cst (TREE_TYPE (captures[2]),
2206 59503 : wide_int_to_tree (TREE_TYPE (cst),
2207 59503 : wi::to_wide (cst)
2208 119006 : - 1));
2209 59503 : tree _r;
2210 59503 : _r = fold_build2_loc (loc, NE_EXPR, type, res_op0, res_op1);
2211 59503 : if (TREE_SIDE_EFFECTS (captures[2]))
2212 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
2213 59503 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 579, __FILE__, __LINE__, true);
2214 59503 : return _r;
2215 : }
2216 0 : next_after_fail706:;
2217 : }
2218 : else
2219 : {
2220 658730 : if (cmp == LT_EXPR
2221 : )
2222 : {
2223 25756 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail707;
2224 25756 : {
2225 25756 : tree res_op0;
2226 25756 : res_op0 = captures[0];
2227 25756 : tree res_op1;
2228 25756 : res_op1 = build_uniform_cst (TREE_TYPE (captures[2]),
2229 25756 : wide_int_to_tree (TREE_TYPE (cst),
2230 25756 : wi::to_wide (cst)
2231 51512 : - 1));
2232 25756 : tree _r;
2233 25756 : _r = fold_build2_loc (loc, EQ_EXPR, type, res_op0, res_op1);
2234 25756 : if (TREE_SIDE_EFFECTS (captures[2]))
2235 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
2236 25756 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 580, __FILE__, __LINE__, true);
2237 25756 : return _r;
2238 : }
2239 0 : next_after_fail707:;
2240 : }
2241 : }
2242 : }
2243 : else
2244 : {
2245 19537156 : if (wi::to_wide (cst) == signed_max
2246 162340 : && TYPE_UNSIGNED (arg1_type)
2247 162340 : && TYPE_MODE (arg1_type) != BLKmode
2248 19537163 : && prec == GET_MODE_PRECISION (SCALAR_INT_TYPE_MODE (arg1_type))
2249 19698923 : && INTEGRAL_TYPE_P (arg1_type)
2250 : )
2251 : {
2252 161760 : if (cmp == LE_EXPR || cmp == GT_EXPR
2253 : )
2254 : {
2255 161760 : {
2256 161760 : tree st = signed_type_for (TREE_TYPE (captures[2]));
2257 161760 : if (cst == captures[2] && cmp == LE_EXPR
2258 : )
2259 : {
2260 23294 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail708;
2261 23294 : {
2262 23294 : tree res_op0;
2263 23294 : {
2264 23294 : tree _o1[1], _r1;
2265 23294 : _o1[0] = captures[1];
2266 23294 : if (TREE_TYPE (_o1[0]) != st)
2267 : {
2268 23294 : _r1 = fold_build1_loc (loc, NOP_EXPR, st, _o1[0]);
2269 : }
2270 : else
2271 : _r1 = _o1[0];
2272 23294 : res_op0 = _r1;
2273 : }
2274 23294 : tree res_op1;
2275 23294 : res_op1 = build_zero_cst (st);
2276 23294 : tree _r;
2277 23294 : _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
2278 23294 : if (TREE_SIDE_EFFECTS (captures[2]))
2279 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
2280 23294 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 581, __FILE__, __LINE__, true);
2281 23294 : return _r;
2282 : }
2283 0 : next_after_fail708:;
2284 0 : }
2285 : else
2286 : {
2287 138466 : if (cst == captures[2] && cmp == GT_EXPR
2288 : )
2289 : {
2290 138380 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail709;
2291 138380 : {
2292 138380 : tree res_op0;
2293 138380 : {
2294 138380 : tree _o1[1], _r1;
2295 138380 : _o1[0] = captures[1];
2296 138380 : if (TREE_TYPE (_o1[0]) != st)
2297 : {
2298 138380 : _r1 = fold_build1_loc (loc, NOP_EXPR, st, _o1[0]);
2299 : }
2300 : else
2301 : _r1 = _o1[0];
2302 138380 : res_op0 = _r1;
2303 : }
2304 138380 : tree res_op1;
2305 138380 : res_op1 = build_zero_cst (st);
2306 138380 : tree _r;
2307 138380 : _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
2308 138380 : if (TREE_SIDE_EFFECTS (captures[2]))
2309 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
2310 138380 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 582, __FILE__, __LINE__, true);
2311 138380 : return _r;
2312 : }
2313 0 : next_after_fail709:;
2314 0 : }
2315 : else
2316 : {
2317 86 : if (cmp == LE_EXPR
2318 : )
2319 : {
2320 30 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail710;
2321 30 : {
2322 30 : tree res_op0;
2323 30 : {
2324 30 : tree _o1[1], _r1;
2325 30 : _o1[0] = captures[1];
2326 30 : if (TREE_TYPE (_o1[0]) != st)
2327 : {
2328 30 : _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, st, _o1[0]);
2329 : }
2330 : else
2331 : _r1 = _o1[0];
2332 30 : res_op0 = _r1;
2333 : }
2334 30 : tree res_op1;
2335 30 : res_op1 = build_zero_cst (st);
2336 30 : tree _r;
2337 30 : _r = fold_build2_loc (loc, GE_EXPR, type, res_op0, res_op1);
2338 30 : if (TREE_SIDE_EFFECTS (captures[2]))
2339 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
2340 30 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 583, __FILE__, __LINE__, true);
2341 30 : return _r;
2342 : }
2343 0 : next_after_fail710:;
2344 : }
2345 : else
2346 : {
2347 56 : if (cmp == GT_EXPR
2348 : )
2349 : {
2350 56 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail711;
2351 56 : {
2352 56 : tree res_op0;
2353 56 : {
2354 56 : tree _o1[1], _r1;
2355 56 : _o1[0] = captures[1];
2356 56 : if (TREE_TYPE (_o1[0]) != st)
2357 : {
2358 56 : _r1 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, st, _o1[0]);
2359 : }
2360 : else
2361 : _r1 = _o1[0];
2362 56 : res_op0 = _r1;
2363 : }
2364 56 : tree res_op1;
2365 56 : res_op1 = build_zero_cst (st);
2366 56 : tree _r;
2367 56 : _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
2368 56 : if (TREE_SIDE_EFFECTS (captures[2]))
2369 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
2370 56 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 584, __FILE__, __LINE__, true);
2371 56 : return _r;
2372 : }
2373 0 : next_after_fail711:;
2374 : }
2375 : }
2376 : }
2377 : }
2378 : }
2379 : }
2380 : }
2381 : }
2382 : }
2383 : }
2384 : }
2385 22145996 : }
2386 : }
2387 : return NULL_TREE;
2388 : }
2389 :
2390 : tree
2391 0 : generic_simplify_455 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
2392 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
2393 : {
2394 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
2395 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail802;
2396 0 : {
2397 0 : tree res_op0;
2398 0 : res_op0 = captures[0];
2399 0 : tree res_op1;
2400 0 : res_op1 = captures[1];
2401 0 : tree _r;
2402 0 : _r = fold_build2_loc (loc, BIT_AND_EXPR, type, res_op0, res_op1);
2403 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 656, __FILE__, __LINE__, true);
2404 : return _r;
2405 : }
2406 0 : next_after_fail802:;
2407 0 : return NULL_TREE;
2408 : }
2409 :
2410 : tree
2411 82 : generic_simplify_460 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
2412 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
2413 : const enum tree_code ARG_UNUSED (bitop),
2414 : const enum tree_code ARG_UNUSED (op))
2415 : {
2416 82 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
2417 82 : {
2418 82 : tree pmop[2];
2419 82 : tree utype = fold_bit_and_mask (TREE_TYPE (captures[1]), captures[5], op, captures[1], bitop,
2420 : captures[2], captures[3], captures[4], ERROR_MARK, NULL_TREE,
2421 : NULL_TREE, pmop);
2422 82 : if (utype
2423 : )
2424 : {
2425 22 : if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail807;
2426 22 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail807;
2427 22 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail807;
2428 22 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail807;
2429 22 : if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail807;
2430 22 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail807;
2431 22 : {
2432 22 : tree res_op0;
2433 22 : {
2434 22 : tree _o1[2], _r1;
2435 22 : {
2436 22 : tree _o2[2], _r2;
2437 22 : {
2438 22 : tree _o3[1], _r3;
2439 22 : _o3[0] = pmop[0];
2440 22 : if (TREE_TYPE (_o3[0]) != utype)
2441 : {
2442 10 : _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
2443 : }
2444 : else
2445 : _r3 = _o3[0];
2446 22 : _o2[0] = _r3;
2447 : }
2448 22 : {
2449 22 : tree _o3[1], _r3;
2450 22 : _o3[0] = pmop[1];
2451 22 : if (TREE_TYPE (_o3[0]) != utype)
2452 : {
2453 10 : _r3 = fold_build1_loc (loc, NOP_EXPR, utype, _o3[0]);
2454 : }
2455 : else
2456 : _r3 = _o3[0];
2457 22 : _o2[1] = _r3;
2458 : }
2459 22 : _r2 = fold_build2_loc (loc, op, TREE_TYPE (_o2[0]), _o2[0], _o2[1]);
2460 22 : _o1[0] = _r2;
2461 : }
2462 22 : {
2463 22 : tree _o2[1], _r2;
2464 22 : _o2[0] = captures[5];
2465 22 : if (TREE_TYPE (_o2[0]) != utype)
2466 : {
2467 10 : _r2 = fold_build1_loc (loc, NOP_EXPR, utype, _o2[0]);
2468 : }
2469 : else
2470 : _r2 = _o2[0];
2471 22 : _o1[1] = _r2;
2472 : }
2473 22 : _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
2474 22 : res_op0 = _r1;
2475 : }
2476 22 : tree _r;
2477 22 : _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
2478 22 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 660, __FILE__, __LINE__, true);
2479 22 : return _r;
2480 : }
2481 60 : next_after_fail807:;
2482 : }
2483 : }
2484 60 : return NULL_TREE;
2485 : }
2486 :
2487 : tree
2488 0 : generic_simplify_475 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
2489 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
2490 : const enum tree_code ARG_UNUSED (code2),
2491 : const enum tree_code ARG_UNUSED (code1))
2492 : {
2493 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
2494 0 : if ((TREE_CODE (captures[2]) == INTEGER_CST
2495 0 : && TREE_CODE (captures[5]) == INTEGER_CST)
2496 0 : || ((INTEGRAL_TYPE_P (TREE_TYPE (captures[2]))
2497 0 : || (VECTOR_TYPE_P (TREE_TYPE (captures[2]))
2498 0 : && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, code2))
2499 0 : || POINTER_TYPE_P (TREE_TYPE (captures[2])))
2500 0 : && bitwise_equal_p (captures[2], captures[5]))
2501 : )
2502 : {
2503 0 : {
2504 0 : bool one_before = false;
2505 0 : bool one_after = false;
2506 0 : int cmp = 0;
2507 0 : bool allbits = true;
2508 0 : if (TREE_CODE (captures[2]) == INTEGER_CST
2509 0 : && TREE_CODE (captures[5]) == INTEGER_CST)
2510 : {
2511 0 : allbits = TYPE_PRECISION (TREE_TYPE (captures[2])) <= TYPE_PRECISION (TREE_TYPE (captures[5]));
2512 0 : auto t1 = wi::to_wide (fold_convert (TREE_TYPE (captures[5]), captures[2]));
2513 0 : auto t2 = wi::to_wide (captures[5]);
2514 0 : cmp = wi::cmp (t1, t2, TYPE_SIGN (TREE_TYPE (captures[5])));
2515 0 : if (cmp < 0
2516 0 : && t1 == t2 - 1)
2517 : one_before = true;
2518 0 : if (cmp > 0
2519 0 : && t1 == t2 + 1)
2520 : one_after = true;
2521 : }
2522 0 : bool val;
2523 0 : switch (code2)
2524 : {
2525 0 : case EQ_EXPR: val = (cmp == 0); break;
2526 0 : case NE_EXPR: val = (cmp != 0); break;
2527 0 : case LT_EXPR: val = (cmp < 0); break;
2528 0 : case GT_EXPR: val = (cmp > 0); break;
2529 0 : case LE_EXPR: val = (cmp <= 0); break;
2530 0 : case GE_EXPR: val = (cmp >= 0); break;
2531 0 : default: gcc_unreachable ();
2532 : }
2533 0 : if (code1 == EQ_EXPR && val
2534 : )
2535 : {
2536 0 : if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail824;
2537 0 : if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail824;
2538 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail824;
2539 0 : {
2540 0 : tree _r;
2541 0 : _r = captures[0];
2542 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 676, __FILE__, __LINE__, true);
2543 0 : return _r;
2544 : }
2545 : next_after_fail824:;
2546 : }
2547 : else
2548 : {
2549 0 : if (code1 == EQ_EXPR && !val
2550 : )
2551 : {
2552 0 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail825;
2553 0 : if (TREE_SIDE_EFFECTS (captures[5])) goto next_after_fail825;
2554 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail825;
2555 0 : {
2556 0 : tree _r;
2557 0 : _r = constant_boolean_node (false, type);
2558 0 : if (TREE_SIDE_EFFECTS (captures[1]))
2559 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
2560 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 677, __FILE__, __LINE__, true);
2561 0 : return _r;
2562 : }
2563 : next_after_fail825:;
2564 : }
2565 : else
2566 : {
2567 0 : if (code1 == NE_EXPR && !val && allbits
2568 : )
2569 : {
2570 0 : if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail826;
2571 0 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail826;
2572 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail826;
2573 0 : {
2574 0 : tree _r;
2575 0 : _r = captures[3];
2576 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 678, __FILE__, __LINE__, true);
2577 0 : return _r;
2578 : }
2579 : next_after_fail826:;
2580 : }
2581 : else
2582 : {
2583 0 : if ((code1 == NE_EXPR
2584 0 : && code2 == GE_EXPR
2585 0 : && cmp == 0
2586 0 : && allbits)
2587 0 : && ((VECTOR_BOOLEAN_TYPE_P (type)
2588 0 : && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GT_EXPR))
2589 0 : || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
2590 : )
2591 : {
2592 0 : if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail827;
2593 0 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail827;
2594 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail827;
2595 0 : {
2596 0 : tree res_op0;
2597 0 : res_op0 = captures[4];
2598 0 : tree res_op1;
2599 0 : {
2600 0 : tree _o1[1], _r1;
2601 0 : _o1[0] = captures[2];
2602 0 : if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
2603 : {
2604 0 : _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
2605 : }
2606 : else
2607 : _r1 = _o1[0];
2608 0 : res_op1 = _r1;
2609 : }
2610 0 : tree _r;
2611 0 : _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
2612 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 679, __FILE__, __LINE__, true);
2613 0 : return _r;
2614 : }
2615 : next_after_fail827:;
2616 : }
2617 : else
2618 : {
2619 0 : if ((code1 == NE_EXPR
2620 0 : && code2 == LE_EXPR
2621 0 : && cmp == 0
2622 0 : && allbits)
2623 0 : && ((VECTOR_BOOLEAN_TYPE_P (type)
2624 0 : && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LT_EXPR))
2625 0 : || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
2626 : )
2627 : {
2628 0 : if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail828;
2629 0 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail828;
2630 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail828;
2631 0 : {
2632 0 : tree res_op0;
2633 0 : res_op0 = captures[4];
2634 0 : tree res_op1;
2635 0 : {
2636 0 : tree _o1[1], _r1;
2637 0 : _o1[0] = captures[2];
2638 0 : if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
2639 : {
2640 0 : _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
2641 : }
2642 : else
2643 : _r1 = _o1[0];
2644 0 : res_op1 = _r1;
2645 : }
2646 0 : tree _r;
2647 0 : _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
2648 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 680, __FILE__, __LINE__, true);
2649 0 : return _r;
2650 : }
2651 : next_after_fail828:;
2652 : }
2653 : else
2654 : {
2655 0 : if ((code1 == NE_EXPR
2656 0 : && code2 == GT_EXPR
2657 : && one_after
2658 0 : && allbits)
2659 0 : && ((VECTOR_BOOLEAN_TYPE_P (type)
2660 0 : && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, GT_EXPR))
2661 0 : || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
2662 : )
2663 : {
2664 0 : if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail829;
2665 0 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail829;
2666 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail829;
2667 0 : {
2668 0 : tree res_op0;
2669 0 : res_op0 = captures[4];
2670 0 : tree res_op1;
2671 0 : {
2672 0 : tree _o1[1], _r1;
2673 0 : _o1[0] = captures[2];
2674 0 : if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
2675 : {
2676 0 : _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
2677 : }
2678 : else
2679 : _r1 = _o1[0];
2680 0 : res_op1 = _r1;
2681 : }
2682 0 : tree _r;
2683 0 : _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
2684 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 681, __FILE__, __LINE__, true);
2685 0 : return _r;
2686 : }
2687 : next_after_fail829:;
2688 : }
2689 : else
2690 : {
2691 0 : if ((code1 == NE_EXPR
2692 0 : && code2 == LT_EXPR
2693 : && one_before
2694 0 : && allbits)
2695 0 : && ((VECTOR_BOOLEAN_TYPE_P (type)
2696 0 : && expand_vec_cmp_expr_p (TREE_TYPE (captures[2]), type, LT_EXPR))
2697 0 : || !VECTOR_TYPE_P (TREE_TYPE (captures[2])))
2698 : )
2699 : {
2700 0 : if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail830;
2701 0 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail830;
2702 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail830;
2703 0 : {
2704 0 : tree res_op0;
2705 0 : res_op0 = captures[4];
2706 0 : tree res_op1;
2707 0 : {
2708 0 : tree _o1[1], _r1;
2709 0 : _o1[0] = captures[2];
2710 0 : if (TREE_TYPE (_o1[0]) != TREE_TYPE (res_op0))
2711 : {
2712 0 : _r1 = fold_build1_loc (loc, NOP_EXPR, TREE_TYPE (res_op0), _o1[0]);
2713 : }
2714 : else
2715 : _r1 = _o1[0];
2716 0 : res_op1 = _r1;
2717 : }
2718 0 : tree _r;
2719 0 : _r = fold_build2_loc (loc, LT_EXPR, type, res_op0, res_op1);
2720 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 682, __FILE__, __LINE__, true);
2721 0 : return _r;
2722 : }
2723 : next_after_fail830:;
2724 : }
2725 : }
2726 : }
2727 : }
2728 : }
2729 : }
2730 : }
2731 : }
2732 : }
2733 : return NULL_TREE;
2734 : }
2735 :
2736 : tree
2737 3790 : generic_simplify_504 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
2738 : tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
2739 : {
2740 3790 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
2741 3790 : if (element_precision (type) <= element_precision (TREE_TYPE (captures[0]))
2742 3790 : || !TYPE_UNSIGNED (TREE_TYPE (captures[0]))
2743 : )
2744 : {
2745 3333 : if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail895;
2746 3333 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail895;
2747 3333 : {
2748 3333 : tree res_op0;
2749 3333 : {
2750 3333 : tree _o1[1], _r1;
2751 3333 : _o1[0] = captures[0];
2752 3333 : _r1 = fold_build1_loc (loc, NEGATE_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
2753 3333 : res_op0 = _r1;
2754 : }
2755 3333 : tree _r;
2756 3333 : _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
2757 3333 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 709, __FILE__, __LINE__, true);
2758 3333 : return _r;
2759 : }
2760 : next_after_fail895:;
2761 : }
2762 : return NULL_TREE;
2763 : }
2764 :
2765 : tree
2766 0 : generic_simplify_511 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
2767 : tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
2768 : const enum tree_code ARG_UNUSED (minmax),
2769 : const enum tree_code ARG_UNUSED (maxmin))
2770 : {
2771 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
2772 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail902;
2773 0 : {
2774 0 : tree res_op0;
2775 0 : res_op0 = captures[1];
2776 0 : tree res_op1;
2777 0 : {
2778 0 : tree _o1[1], _r1;
2779 0 : _o1[0] = captures[2];
2780 0 : _r1 = fold_build1_loc (loc, BIT_NOT_EXPR, TREE_TYPE (_o1[0]), _o1[0]);
2781 0 : res_op1 = _r1;
2782 : }
2783 0 : tree _r;
2784 0 : _r = fold_build2_loc (loc, maxmin, type, res_op0, res_op1);
2785 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 715, __FILE__, __LINE__, true);
2786 : return _r;
2787 : }
2788 0 : next_after_fail902:;
2789 0 : return NULL_TREE;
2790 : }
2791 :
2792 : tree
2793 409 : generic_simplify_519 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
2794 : tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures))
2795 : {
2796 409 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
2797 409 : if (tree_nop_conversion_p (type, TREE_TYPE (captures[0]))
2798 409 : && wi::to_wide (captures[1]) == element_precision (type) - 1
2799 : )
2800 : {
2801 44 : {
2802 44 : tree stype = TREE_TYPE (captures[0]);
2803 44 : tree ntype = TYPE_UNSIGNED (stype) ? signed_type_for (stype)
2804 9 : : unsigned_type_for (stype);
2805 44 : if (VECTOR_TYPE_P (type)
2806 : )
2807 : {
2808 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail911;
2809 0 : {
2810 0 : tree res_op0;
2811 0 : {
2812 0 : tree _o1[2], _r1;
2813 0 : {
2814 0 : tree _o2[1], _r2;
2815 0 : _o2[0] = captures[0];
2816 0 : if (TREE_TYPE (_o2[0]) != ntype)
2817 : {
2818 0 : _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, ntype, _o2[0]);
2819 : }
2820 : else
2821 : _r2 = _o2[0];
2822 0 : _o1[0] = _r2;
2823 : }
2824 0 : _o1[1] = captures[1];
2825 0 : _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
2826 0 : res_op0 = _r1;
2827 : }
2828 0 : tree _r;
2829 0 : _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
2830 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 723, __FILE__, __LINE__, true);
2831 0 : return _r;
2832 : }
2833 0 : next_after_fail911:;
2834 : }
2835 : else
2836 : {
2837 44 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail912;
2838 44 : {
2839 44 : tree res_op0;
2840 44 : {
2841 44 : tree _o1[2], _r1;
2842 44 : {
2843 44 : tree _o2[1], _r2;
2844 44 : _o2[0] = captures[0];
2845 44 : if (TREE_TYPE (_o2[0]) != ntype)
2846 : {
2847 44 : _r2 = fold_build1_loc (loc, NOP_EXPR, ntype, _o2[0]);
2848 : }
2849 : else
2850 : _r2 = _o2[0];
2851 44 : _o1[0] = _r2;
2852 : }
2853 44 : _o1[1] = captures[1];
2854 44 : _r1 = fold_build2_loc (loc, RSHIFT_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
2855 44 : res_op0 = _r1;
2856 : }
2857 44 : tree _r;
2858 44 : _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
2859 44 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 724, __FILE__, __LINE__, true);
2860 44 : return _r;
2861 : }
2862 0 : next_after_fail912:;
2863 : }
2864 : }
2865 : }
2866 : return NULL_TREE;
2867 : }
2868 :
2869 : tree
2870 0 : generic_simplify_538 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
2871 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
2872 : const combined_fn ARG_UNUSED (minmax))
2873 : {
2874 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
2875 0 : if (!tree_expr_maybe_signaling_nan_p (captures[0])
2876 : )
2877 : {
2878 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail945;
2879 0 : {
2880 0 : tree _r;
2881 0 : _r = captures[0];
2882 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 744, __FILE__, __LINE__, true);
2883 0 : return _r;
2884 : }
2885 0 : next_after_fail945:;
2886 : }
2887 : return NULL_TREE;
2888 : }
2889 :
2890 : tree
2891 6 : generic_simplify_543 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
2892 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
2893 : {
2894 6 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
2895 6 : if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail950;
2896 6 : if (TREE_SIDE_EFFECTS (_p2)) goto next_after_fail950;
2897 6 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail950;
2898 6 : {
2899 6 : tree _r;
2900 6 : _r = captures[2];
2901 6 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 533, __FILE__, __LINE__, true);
2902 : return _r;
2903 : }
2904 : next_after_fail950:;
2905 : return NULL_TREE;
2906 : }
2907 :
2908 : tree
2909 0 : generic_simplify_549 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
2910 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures),
2911 : const combined_fn ARG_UNUSED (cond_op))
2912 : {
2913 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
2914 0 : {
2915 0 : tree op_type = TREE_TYPE (captures[4]);
2916 0 : if (element_precision (type) == element_precision (op_type)
2917 : )
2918 : {
2919 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail956;
2920 0 : {
2921 0 : tree res_op0;
2922 0 : {
2923 0 : tree _o1[5], _r1;
2924 0 : _o1[0] = captures[0];
2925 0 : _o1[1] = captures[1];
2926 0 : _o1[2] = captures[2];
2927 0 : _o1[3] = captures[3];
2928 0 : {
2929 0 : tree _o2[1], _r2;
2930 0 : _o2[0] = captures[5];
2931 0 : if (TREE_TYPE (_o2[0]) != op_type)
2932 : {
2933 0 : _r2 = fold_build1_loc (loc, VIEW_CONVERT_EXPR, op_type, _o2[0]);
2934 : }
2935 : else
2936 : _r2 = _o2[0];
2937 0 : _o1[4] = _r2;
2938 : }
2939 0 : _r1 = maybe_build_call_expr_loc (loc, cond_op, TREE_TYPE (_o1[1]), 5, _o1[0], _o1[1], _o1[2], _o1[3], _o1[4]);
2940 0 : if (!_r1)
2941 0 : goto next_after_fail956;
2942 0 : res_op0 = _r1;
2943 : }
2944 0 : tree _r;
2945 0 : _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
2946 0 : if (TREE_SIDE_EFFECTS (captures[4]))
2947 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[4]), _r);
2948 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 750, __FILE__, __LINE__, true);
2949 0 : return _r;
2950 : }
2951 : next_after_fail956:;
2952 : }
2953 : }
2954 : return NULL_TREE;
2955 : }
2956 :
2957 : tree
2958 0 : generic_simplify_558 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
2959 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures),
2960 : const enum tree_code ARG_UNUSED (rotate),
2961 : const enum tree_code ARG_UNUSED (orotate))
2962 : {
2963 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
2964 0 : {
2965 0 : auto prec = element_precision (TREE_TYPE (captures[0]));
2966 0 : if (prec == wi::to_wide (captures[2])
2967 : )
2968 : {
2969 0 : if (expr_not_equal_to (captures[3], wi::uhwi (prec,
2970 0 : TYPE_PRECISION (TREE_TYPE (captures[3]))),
2971 : gimple_match_ctx (captures[1]))
2972 : )
2973 : {
2974 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail965;
2975 0 : {
2976 0 : tree res_op0;
2977 0 : res_op0 = captures[0];
2978 0 : tree res_op1;
2979 0 : res_op1 = captures[3];
2980 0 : tree _r;
2981 0 : _r = fold_build2_loc (loc, orotate, type, res_op0, res_op1);
2982 0 : if (TREE_SIDE_EFFECTS (captures[2]))
2983 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
2984 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 759, __FILE__, __LINE__, true);
2985 0 : return _r;
2986 : }
2987 0 : next_after_fail965:;
2988 : }
2989 : else
2990 : {
2991 0 : if (single_use (captures[1])
2992 0 : && pow2p_hwi (prec)
2993 0 : && cfun
2994 0 : && (fold_before_rtl_expansion_p ()
2995 0 : || !flag_tree_vrp
2996 0 : || optimize_debug)
2997 : )
2998 : {
2999 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail966;
3000 0 : {
3001 0 : tree res_op0;
3002 0 : res_op0 = captures[0];
3003 0 : tree res_op1;
3004 0 : {
3005 0 : tree _o1[2], _r1;
3006 0 : _o1[0] = captures[3];
3007 0 : _o1[1] = build_int_cst (TREE_TYPE (captures[3]), prec - 1);
3008 0 : _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
3009 0 : res_op1 = _r1;
3010 : }
3011 0 : tree _r;
3012 0 : _r = fold_build2_loc (loc, orotate, type, res_op0, res_op1);
3013 0 : if (TREE_SIDE_EFFECTS (captures[2]))
3014 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[2]), _r);
3015 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 760, __FILE__, __LINE__, true);
3016 0 : return _r;
3017 : }
3018 0 : next_after_fail966:;
3019 : }
3020 : }
3021 : }
3022 : }
3023 0 : return NULL_TREE;
3024 : }
3025 :
3026 : tree
3027 0 : generic_simplify_580 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
3028 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree *ARG_UNUSED (captures))
3029 : {
3030 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
3031 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail990;
3032 0 : {
3033 0 : tree _r;
3034 0 : _r = captures[0];
3035 0 : if (TREE_SIDE_EFFECTS (captures[1]))
3036 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[1]), _r);
3037 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 784, __FILE__, __LINE__, true);
3038 : return _r;
3039 : }
3040 0 : next_after_fail990:;
3041 0 : return NULL_TREE;
3042 : }
3043 :
3044 : tree
3045 0 : generic_simplify_586 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
3046 : tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
3047 : const combined_fn ARG_UNUSED (ifn),
3048 : const combined_fn ARG_UNUSED (lfn),
3049 : const combined_fn ARG_UNUSED (llfn))
3050 : {
3051 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
3052 0 : if (canonicalize_math_p ()
3053 : )
3054 : {
3055 0 : if (TYPE_PRECISION (integer_type_node)
3056 0 : == TYPE_PRECISION (long_integer_type_node)
3057 : )
3058 : {
3059 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail996;
3060 0 : {
3061 0 : tree res_op0;
3062 0 : res_op0 = captures[0];
3063 0 : tree _r;
3064 0 : _r = maybe_build_call_expr_loc (loc, lfn, type, 1, res_op0);
3065 0 : if (!_r)
3066 0 : goto next_after_fail996;
3067 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 790, __FILE__, __LINE__, true);
3068 0 : return _r;
3069 : }
3070 : next_after_fail996:;
3071 : }
3072 : }
3073 : return NULL_TREE;
3074 : }
3075 :
3076 : tree
3077 0 : generic_simplify_597 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
3078 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree *ARG_UNUSED (captures))
3079 : {
3080 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
3081 0 : if (canonicalize_math_after_vectorization_p ()
3082 : )
3083 : {
3084 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1007;
3085 : {
3086 : tree res_op0;
3087 : res_op0 = captures[0];
3088 : tree res_op1;
3089 : res_op1 = captures[1];
3090 : tree res_op2;
3091 : res_op2 = captures[2];
3092 : tree _r;
3093 : _r = maybe_build_call_expr_loc (loc, CFN_FMA, type, 3, res_op0, res_op1, res_op2);
3094 : if (!_r)
3095 : goto next_after_fail1007;
3096 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 801, __FILE__, __LINE__, true);
3097 : return _r;
3098 : }
3099 0 : next_after_fail1007:;
3100 : }
3101 0 : return NULL_TREE;
3102 : }
3103 :
3104 : tree
3105 0 : generic_simplify_606 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
3106 : tree ARG_UNUSED (_p0), tree ARG_UNUSED (_p1), tree ARG_UNUSED (_p2), tree ARG_UNUSED (_p3), tree ARG_UNUSED (_p4), tree *ARG_UNUSED (captures))
3107 : {
3108 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
3109 0 : if (canonicalize_math_after_vectorization_p ()
3110 : )
3111 : {
3112 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1016;
3113 : {
3114 : tree res_op0;
3115 : res_op0 = captures[0];
3116 : tree res_op1;
3117 : res_op1 = captures[1];
3118 : tree res_op2;
3119 : res_op2 = captures[2];
3120 : tree res_op3;
3121 : res_op3 = captures[3];
3122 : tree res_op4;
3123 : res_op4 = captures[4];
3124 : tree _r;
3125 : _r = maybe_build_call_expr_loc (loc, CFN_COND_FMS, type, 5, res_op0, res_op1, res_op2, res_op3, res_op4);
3126 : if (!_r)
3127 : goto next_after_fail1016;
3128 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 810, __FILE__, __LINE__, true);
3129 : return _r;
3130 : }
3131 0 : next_after_fail1016:;
3132 : }
3133 0 : return NULL_TREE;
3134 : }
3135 :
3136 : tree
3137 0 : generic_simplify_615 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
3138 : tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
3139 : const combined_fn ARG_UNUSED (POPCOUNT))
3140 : {
3141 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
3142 0 : {
3143 0 : tree type0 = TREE_TYPE (captures[1]);
3144 0 : tree type2 = TREE_TYPE (captures[0]);
3145 0 : if (INTEGRAL_TYPE_P (type0)
3146 0 : && TYPE_PRECISION (type2) <= TYPE_PRECISION (type0)
3147 : )
3148 : {
3149 0 : if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1025;
3150 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1025;
3151 0 : {
3152 0 : tree res_op0;
3153 0 : {
3154 0 : tree _o1[2], _r1;
3155 0 : {
3156 0 : tree _o2[1], _r2;
3157 0 : _o2[0] = captures[2];
3158 0 : if (TREE_TYPE (_o2[0]) != type2)
3159 : {
3160 0 : _r2 = fold_build1_loc (loc, NOP_EXPR, type2, _o2[0]);
3161 : }
3162 : else
3163 : _r2 = _o2[0];
3164 0 : _o1[0] = _r2;
3165 : }
3166 0 : _o1[1] = build_zero_cst (type2);
3167 0 : _r1 = fold_build2_loc (loc, NE_EXPR, boolean_type_node, _o1[0], _o1[1]);
3168 0 : res_op0 = _r1;
3169 : }
3170 0 : tree _r;
3171 0 : _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
3172 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 816, __FILE__, __LINE__, true);
3173 0 : return _r;
3174 : }
3175 : next_after_fail1025:;
3176 : }
3177 : }
3178 : return NULL_TREE;
3179 : }
3180 :
3181 : tree
3182 0 : generic_simplify_624 (location_t ARG_UNUSED (loc), const tree ARG_UNUSED (type),
3183 : tree ARG_UNUSED (_p0), tree *ARG_UNUSED (captures),
3184 : const combined_fn ARG_UNUSED (reduc))
3185 : {
3186 0 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
3187 0 : {
3188 0 : int i = single_nonzero_element (captures[1]);
3189 0 : if (i >= 0
3190 : )
3191 : {
3192 0 : {
3193 0 : tree elt = vector_cst_elt (captures[1], i);
3194 0 : tree elt_type = TREE_TYPE (elt);
3195 0 : unsigned int elt_bits = tree_to_uhwi (TYPE_SIZE (elt_type));
3196 0 : tree size = bitsize_int (elt_bits);
3197 0 : tree pos = bitsize_int (elt_bits * i);
3198 0 : if (compare_tree_int (TYPE_SIZE (type), elt_bits) == 0
3199 : )
3200 : {
3201 0 : if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1035;
3202 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1035;
3203 0 : {
3204 0 : tree res_op0;
3205 0 : {
3206 0 : tree _o1[2], _r1;
3207 0 : {
3208 0 : tree _o2[3], _r2;
3209 0 : _o2[0] = captures[0];
3210 0 : _o2[1] = size;
3211 0 : _o2[2] = pos;
3212 0 : _r2 = fold_build3_loc (loc, BIT_FIELD_REF, elt_type, _o2[0], _o2[1], _o2[2]);
3213 0 : _o1[0] = _r2;
3214 : }
3215 0 : _o1[1] = elt;
3216 0 : _r1 = fold_build2_loc (loc, BIT_AND_EXPR, elt_type, _o1[0], _o1[1]);
3217 0 : res_op0 = _r1;
3218 : }
3219 0 : tree _r;
3220 0 : _r = fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, res_op0);
3221 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 822, __FILE__, __LINE__, true);
3222 0 : return _r;
3223 : }
3224 : next_after_fail1035:;
3225 : }
3226 : }
3227 : }
3228 : }
3229 : return NULL_TREE;
3230 : }
3231 :
3232 : tree
3233 496926 : generic_simplify_FIX_TRUNC_EXPR (location_t ARG_UNUSED (loc), enum tree_code ARG_UNUSED (code), const tree ARG_UNUSED (type), tree _p0)
3234 : {
3235 496926 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
3236 496926 : {
3237 496926 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
3238 993852 : if ((
3239 :
3240 : && useless_type_conversion_p (type, TREE_TYPE (captures[0])))
3241 : || (
3242 : 1
3243 496926 : && type == TREE_TYPE (captures[0]))
3244 : )
3245 : {
3246 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1118;
3247 0 : {
3248 0 : tree _r;
3249 0 : _r = captures[0];
3250 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 837, __FILE__, __LINE__, true);
3251 0 : return _r;
3252 : }
3253 0 : next_after_fail1118:;
3254 : }
3255 : }
3256 496926 : switch (TREE_CODE (_p0))
3257 : {
3258 14982 : CASE_CONVERT:
3259 14982 : {
3260 14982 : tree _q20 = TREE_OPERAND (_p0, 0);
3261 14982 : {
3262 14982 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
3263 14982 : {
3264 14982 : tree inside_type = TREE_TYPE (captures[1]);
3265 14982 : tree inter_type = TREE_TYPE (captures[0]);
3266 14982 : int inside_int = INTEGRAL_TYPE_P (inside_type);
3267 14982 : int inside_ptr = POINTER_TYPE_P (inside_type);
3268 14982 : int inside_float = FLOAT_TYPE_P (inside_type);
3269 14982 : int inside_vec = VECTOR_TYPE_P (inside_type);
3270 14982 : unsigned int inside_prec = element_precision (inside_type);
3271 14982 : int inside_unsignedp = TYPE_UNSIGNED (inside_type);
3272 14982 : int inter_int = INTEGRAL_TYPE_P (inter_type);
3273 14982 : int inter_ptr = POINTER_TYPE_P (inter_type);
3274 14982 : int inter_float = FLOAT_TYPE_P (inter_type);
3275 14982 : int inter_vec = VECTOR_TYPE_P (inter_type);
3276 14982 : unsigned int inter_prec = element_precision (inter_type);
3277 14982 : int inter_unsignedp = TYPE_UNSIGNED (inter_type);
3278 14982 : int final_int = INTEGRAL_TYPE_P (type);
3279 14982 : int final_ptr = POINTER_TYPE_P (type);
3280 14982 : int final_float = FLOAT_TYPE_P (type);
3281 14982 : int final_vec = VECTOR_TYPE_P (type);
3282 14982 : unsigned int final_prec = element_precision (type);
3283 14982 : int final_unsignedp = TYPE_UNSIGNED (type);
3284 14982 : if (((
3285 :
3286 : && useless_type_conversion_p (type, inside_type))
3287 : || (
3288 : 1
3289 14982 : && TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (inside_type)))
3290 0 : && (((inter_int || inter_ptr) && final_int)
3291 0 : || (inter_float && final_float))
3292 14982 : && inter_prec >= final_prec
3293 : )
3294 : {
3295 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1119;
3296 0 : {
3297 0 : tree res_op0;
3298 0 : res_op0 = captures[1];
3299 0 : tree _r;
3300 0 : _r = fold_build1_loc (loc, FIX_TRUNC_EXPR, type, res_op0);
3301 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 838, __FILE__, __LINE__, true);
3302 0 : return _r;
3303 : }
3304 0 : next_after_fail1119:;
3305 : }
3306 : else
3307 : {
3308 14982 : if (((inter_int && inside_int) || (inter_float && inside_float))
3309 14982 : && (final_int || final_float)
3310 14982 : && inter_prec >= inside_prec
3311 14764 : && (inter_float || inter_unsignedp == inside_unsignedp)
3312 : )
3313 : {
3314 14764 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1120;
3315 14764 : {
3316 14764 : tree res_op0;
3317 14764 : res_op0 = captures[1];
3318 14764 : tree _r;
3319 14764 : _r = fold_build1_loc (loc, FIX_TRUNC_EXPR, type, res_op0);
3320 14764 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 839, __FILE__, __LINE__, true);
3321 14764 : return _r;
3322 : }
3323 0 : next_after_fail1120:;
3324 0 : }
3325 : else
3326 : {
3327 218 : if (inside_int && inter_int && final_int
3328 0 : && ((inside_prec < inter_prec && inter_prec < final_prec
3329 0 : && inside_unsignedp && !inter_unsignedp)
3330 0 : || final_prec == inter_prec
3331 0 : || (inside_prec < inter_prec && inter_prec > final_prec
3332 0 : && !inside_unsignedp && inter_unsignedp))
3333 : )
3334 : {
3335 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1121;
3336 0 : {
3337 0 : tree res_op0;
3338 0 : res_op0 = captures[1];
3339 0 : tree _r;
3340 0 : _r = fold_build1_loc (loc, FIX_TRUNC_EXPR, type, res_op0);
3341 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 840, __FILE__, __LINE__, true);
3342 0 : return _r;
3343 : }
3344 0 : next_after_fail1121:;
3345 0 : }
3346 : else
3347 : {
3348 218 : if (! inside_float && ! inter_float && ! final_float
3349 : && ! inside_vec && ! inter_vec && ! final_vec
3350 0 : && (inter_prec >= inside_prec || inter_prec >= final_prec)
3351 0 : && ! (inside_int && inter_int
3352 0 : && inter_unsignedp != inside_unsignedp
3353 0 : && inter_prec < final_prec)
3354 0 : && ((inter_unsignedp && inter_prec > inside_prec)
3355 0 : == (final_unsignedp && final_prec > inter_prec))
3356 0 : && ! (inside_ptr && inter_prec != final_prec)
3357 0 : && ! (final_ptr && inside_prec != inter_prec)
3358 : )
3359 : {
3360 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1122;
3361 0 : {
3362 0 : tree res_op0;
3363 0 : res_op0 = captures[1];
3364 0 : tree _r;
3365 0 : _r = fold_build1_loc (loc, FIX_TRUNC_EXPR, type, res_op0);
3366 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 841, __FILE__, __LINE__, true);
3367 0 : return _r;
3368 : }
3369 0 : next_after_fail1122:;
3370 0 : }
3371 : else
3372 : {
3373 218 : if (inside_int && inter_int && final_int
3374 0 : && final_prec <= inside_prec
3375 0 : && inter_prec >= inside_prec
3376 : )
3377 : {
3378 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1123;
3379 0 : {
3380 0 : tree res_op0;
3381 0 : res_op0 = captures[1];
3382 0 : tree _r;
3383 0 : _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
3384 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 842, __FILE__, __LINE__, true);
3385 0 : return _r;
3386 : }
3387 0 : next_after_fail1123:;
3388 0 : }
3389 : else
3390 : {
3391 : if (0
3392 : && final_int && inter_int && inside_int
3393 : && final_prec >= inside_prec
3394 : && inside_prec > inter_prec
3395 : && inter_unsignedp
3396 : )
3397 : {
3398 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1124;
3399 : {
3400 : tree res_op0;
3401 : {
3402 : tree _o1[2], _r1;
3403 : _o1[0] = captures[1];
3404 : _o1[1] = wide_int_to_tree
3405 : (inside_type,
3406 : wi::mask (inter_prec, false,
3407 : TYPE_PRECISION (inside_type)));
3408 : _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
3409 : res_op0 = _r1;
3410 : }
3411 : tree _r;
3412 : _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
3413 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 843, __FILE__, __LINE__, true);
3414 : return _r;
3415 : }
3416 : next_after_fail1124:;
3417 : }
3418 : else
3419 : {
3420 : if (0
3421 : && inside_int && inter_float && final_int &&
3422 : (unsigned) significand_size (TYPE_MODE (inter_type))
3423 : >= inside_prec - !inside_unsignedp
3424 : )
3425 : {
3426 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1125;
3427 : {
3428 : tree res_op0;
3429 : res_op0 = captures[1];
3430 : tree _r;
3431 : _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
3432 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 844, __FILE__, __LINE__, true);
3433 : return _r;
3434 : }
3435 : next_after_fail1125:;
3436 : }
3437 : }
3438 : }
3439 : }
3440 : }
3441 : }
3442 : }
3443 : }
3444 : }
3445 218 : break;
3446 : }
3447 597 : case FLOAT_EXPR:
3448 597 : {
3449 597 : tree _q20 = TREE_OPERAND (_p0, 0);
3450 597 : {
3451 597 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q20 };
3452 597 : {
3453 597 : tree inside_type = TREE_TYPE (captures[1]);
3454 597 : tree inter_type = TREE_TYPE (captures[0]);
3455 597 : int inside_int = INTEGRAL_TYPE_P (inside_type);
3456 597 : int inside_ptr = POINTER_TYPE_P (inside_type);
3457 597 : int inside_float = FLOAT_TYPE_P (inside_type);
3458 597 : int inside_vec = VECTOR_TYPE_P (inside_type);
3459 597 : unsigned int inside_prec = element_precision (inside_type);
3460 597 : int inside_unsignedp = TYPE_UNSIGNED (inside_type);
3461 597 : int inter_int = INTEGRAL_TYPE_P (inter_type);
3462 597 : int inter_ptr = POINTER_TYPE_P (inter_type);
3463 597 : int inter_float = FLOAT_TYPE_P (inter_type);
3464 597 : int inter_vec = VECTOR_TYPE_P (inter_type);
3465 597 : unsigned int inter_prec = element_precision (inter_type);
3466 597 : int inter_unsignedp = TYPE_UNSIGNED (inter_type);
3467 597 : int final_int = INTEGRAL_TYPE_P (type);
3468 597 : int final_ptr = POINTER_TYPE_P (type);
3469 597 : int final_float = FLOAT_TYPE_P (type);
3470 597 : int final_vec = VECTOR_TYPE_P (type);
3471 597 : unsigned int final_prec = element_precision (type);
3472 597 : int final_unsignedp = TYPE_UNSIGNED (type);
3473 597 : if (((
3474 :
3475 : && useless_type_conversion_p (type, inside_type))
3476 : || (
3477 : 1
3478 597 : && TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (inside_type)))
3479 50 : && (((inter_int || inter_ptr) && final_int)
3480 50 : || (inter_float && final_float))
3481 597 : && inter_prec >= final_prec
3482 : )
3483 : {
3484 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1126;
3485 0 : {
3486 0 : tree res_op0;
3487 0 : res_op0 = captures[1];
3488 0 : tree _r;
3489 0 : _r = fold_build1_loc (loc, FIX_TRUNC_EXPR, type, res_op0);
3490 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 838, __FILE__, __LINE__, true);
3491 0 : return _r;
3492 : }
3493 0 : next_after_fail1126:;
3494 : }
3495 : else
3496 : {
3497 597 : if (((inter_int && inside_int) || (inter_float && inside_float))
3498 0 : && (final_int || final_float)
3499 0 : && inter_prec >= inside_prec
3500 0 : && (inter_float || inter_unsignedp == inside_unsignedp)
3501 : )
3502 : {
3503 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1127;
3504 0 : {
3505 0 : tree res_op0;
3506 0 : res_op0 = captures[1];
3507 0 : tree _r;
3508 0 : _r = fold_build1_loc (loc, FIX_TRUNC_EXPR, type, res_op0);
3509 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 839, __FILE__, __LINE__, true);
3510 0 : return _r;
3511 : }
3512 0 : next_after_fail1127:;
3513 0 : }
3514 : else
3515 : {
3516 597 : if (inside_int && inter_int && final_int
3517 0 : && ((inside_prec < inter_prec && inter_prec < final_prec
3518 0 : && inside_unsignedp && !inter_unsignedp)
3519 0 : || final_prec == inter_prec
3520 0 : || (inside_prec < inter_prec && inter_prec > final_prec
3521 0 : && !inside_unsignedp && inter_unsignedp))
3522 : )
3523 : {
3524 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1128;
3525 0 : {
3526 0 : tree res_op0;
3527 0 : res_op0 = captures[1];
3528 0 : tree _r;
3529 0 : _r = fold_build1_loc (loc, FIX_TRUNC_EXPR, type, res_op0);
3530 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 840, __FILE__, __LINE__, true);
3531 0 : return _r;
3532 : }
3533 0 : next_after_fail1128:;
3534 0 : }
3535 : else
3536 : {
3537 597 : if (! inside_float && ! inter_float && ! final_float
3538 : && ! inside_vec && ! inter_vec && ! final_vec
3539 0 : && (inter_prec >= inside_prec || inter_prec >= final_prec)
3540 0 : && ! (inside_int && inter_int
3541 0 : && inter_unsignedp != inside_unsignedp
3542 0 : && inter_prec < final_prec)
3543 0 : && ((inter_unsignedp && inter_prec > inside_prec)
3544 0 : == (final_unsignedp && final_prec > inter_prec))
3545 0 : && ! (inside_ptr && inter_prec != final_prec)
3546 0 : && ! (final_ptr && inside_prec != inter_prec)
3547 : )
3548 : {
3549 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1129;
3550 0 : {
3551 0 : tree res_op0;
3552 0 : res_op0 = captures[1];
3553 0 : tree _r;
3554 0 : _r = fold_build1_loc (loc, FIX_TRUNC_EXPR, type, res_op0);
3555 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 841, __FILE__, __LINE__, true);
3556 0 : return _r;
3557 : }
3558 0 : next_after_fail1129:;
3559 0 : }
3560 : else
3561 : {
3562 597 : if (inside_int && inter_int && final_int
3563 0 : && final_prec <= inside_prec
3564 0 : && inter_prec >= inside_prec
3565 : )
3566 : {
3567 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1130;
3568 0 : {
3569 0 : tree res_op0;
3570 0 : res_op0 = captures[1];
3571 0 : tree _r;
3572 0 : _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
3573 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 842, __FILE__, __LINE__, true);
3574 0 : return _r;
3575 : }
3576 0 : next_after_fail1130:;
3577 0 : }
3578 : else
3579 : {
3580 : if (0
3581 : && final_int && inter_int && inside_int
3582 : && final_prec >= inside_prec
3583 : && inside_prec > inter_prec
3584 : && inter_unsignedp
3585 : )
3586 : {
3587 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1131;
3588 : {
3589 : tree res_op0;
3590 : {
3591 : tree _o1[2], _r1;
3592 : _o1[0] = captures[1];
3593 : _o1[1] = wide_int_to_tree
3594 : (inside_type,
3595 : wi::mask (inter_prec, false,
3596 : TYPE_PRECISION (inside_type)));
3597 : _r1 = fold_build2_loc (loc, BIT_AND_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
3598 : res_op0 = _r1;
3599 : }
3600 : tree _r;
3601 : _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
3602 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 843, __FILE__, __LINE__, true);
3603 : return _r;
3604 : }
3605 : next_after_fail1131:;
3606 : }
3607 : else
3608 : {
3609 : if (0
3610 : && inside_int && inter_float && final_int &&
3611 : (unsigned) significand_size (TYPE_MODE (inter_type))
3612 : >= inside_prec - !inside_unsignedp
3613 : )
3614 : {
3615 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1132;
3616 : {
3617 : tree res_op0;
3618 : res_op0 = captures[1];
3619 : tree _r;
3620 : _r = fold_build1_loc (loc, NOP_EXPR, type, res_op0);
3621 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 844, __FILE__, __LINE__, true);
3622 : return _r;
3623 : }
3624 : next_after_fail1132:;
3625 : }
3626 : }
3627 : }
3628 : }
3629 : }
3630 : }
3631 : }
3632 : }
3633 : }
3634 597 : break;
3635 : }
3636 : default:;
3637 : }
3638 : return NULL_TREE;
3639 : }
3640 :
3641 : tree
3642 1849927 : 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)
3643 : {
3644 1849927 : const bool debug_dump = dump_file && (dump_flags & TDF_FOLDING);
3645 1849927 : if (integer_zerop (_p1))
3646 : {
3647 3560 : {
3648 3560 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
3649 3560 : if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1309;
3650 3560 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1309;
3651 3560 : {
3652 3560 : tree res_op0;
3653 3560 : res_op0 = captures[0];
3654 3560 : tree _r;
3655 3560 : _r = non_lvalue_loc (loc, res_op0);
3656 3560 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 889, __FILE__, __LINE__, true);
3657 3560 : return _r;
3658 : }
3659 : next_after_fail1309:;
3660 : }
3661 : }
3662 1846367 : switch (TREE_CODE (_p0))
3663 : {
3664 382269 : case LSHIFT_EXPR:
3665 382269 : {
3666 382269 : tree _q20 = TREE_OPERAND (_p0, 0);
3667 382269 : tree _q21 = TREE_OPERAND (_p0, 1);
3668 382269 : switch (TREE_CODE (_p1))
3669 : {
3670 1135 : case LSHIFT_EXPR:
3671 1135 : {
3672 1135 : tree _q50 = TREE_OPERAND (_p1, 0);
3673 1135 : tree _q51 = TREE_OPERAND (_p1, 1);
3674 1135 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
3675 : {
3676 1 : {
3677 1 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
3678 1 : tree res = generic_simplify_3 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
3679 1 : if (res) return res;
3680 : }
3681 : }
3682 : break;
3683 : }
3684 : default:;
3685 : }
3686 : break;
3687 : }
3688 19169 : case RSHIFT_EXPR:
3689 19169 : {
3690 19169 : tree _q20 = TREE_OPERAND (_p0, 0);
3691 19169 : tree _q21 = TREE_OPERAND (_p0, 1);
3692 19169 : switch (TREE_CODE (_p1))
3693 : {
3694 21 : case RSHIFT_EXPR:
3695 21 : {
3696 21 : tree _q50 = TREE_OPERAND (_p1, 0);
3697 21 : tree _q51 = TREE_OPERAND (_p1, 1);
3698 21 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
3699 : {
3700 3 : {
3701 3 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
3702 3 : tree res = generic_simplify_4 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
3703 3 : if (res) return res;
3704 : }
3705 : }
3706 : break;
3707 : }
3708 19166 : default:;
3709 : }
3710 19166 : switch (TREE_CODE (_q21))
3711 : {
3712 6058 : case INTEGER_CST:
3713 6058 : {
3714 6058 : if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
3715 : {
3716 178 : {
3717 178 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
3718 178 : tree res = generic_simplify_111 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, MAX_EXPR, MIN_EXPR);
3719 178 : if (res) return res;
3720 : }
3721 : }
3722 : break;
3723 : }
3724 : default:;
3725 : }
3726 : break;
3727 : }
3728 274 : case NE_EXPR:
3729 274 : {
3730 274 : tree _q20 = TREE_OPERAND (_p0, 0);
3731 274 : tree _q21 = TREE_OPERAND (_p0, 1);
3732 274 : if (integer_zerop (_q21))
3733 : {
3734 91 : switch (TREE_CODE (_p1))
3735 : {
3736 8 : case NE_EXPR:
3737 8 : {
3738 8 : tree _q50 = TREE_OPERAND (_p1, 0);
3739 8 : tree _q51 = TREE_OPERAND (_p1, 1);
3740 8 : if (integer_zerop (_q51))
3741 : {
3742 7 : {
3743 7 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
3744 7 : tree res = generic_simplify_112 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, NE_EXPR);
3745 7 : if (res) return res;
3746 : }
3747 : }
3748 : break;
3749 : }
3750 : default:;
3751 : }
3752 : }
3753 267 : if (integer_all_onesp (_q21))
3754 : {
3755 0 : switch (TREE_CODE (_p1))
3756 : {
3757 0 : case NE_EXPR:
3758 0 : {
3759 0 : tree _q50 = TREE_OPERAND (_p1, 0);
3760 0 : tree _q51 = TREE_OPERAND (_p1, 1);
3761 0 : if (integer_all_onesp (_q51))
3762 : {
3763 0 : {
3764 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _q50 };
3765 0 : tree res = generic_simplify_113 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, NE_EXPR);
3766 0 : if (res) return res;
3767 : }
3768 : }
3769 : break;
3770 : }
3771 : default:;
3772 : }
3773 : }
3774 : break;
3775 : }
3776 79884 : case BIT_AND_EXPR:
3777 79884 : {
3778 79884 : tree _q20 = TREE_OPERAND (_p0, 0);
3779 79884 : tree _q21 = TREE_OPERAND (_p0, 1);
3780 79884 : switch (TREE_CODE (_p1))
3781 : {
3782 17403 : case BIT_AND_EXPR:
3783 17403 : {
3784 17403 : tree _q50 = TREE_OPERAND (_p1, 0);
3785 17403 : tree _q51 = TREE_OPERAND (_p1, 1);
3786 17403 : {
3787 17403 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q51 };
3788 17403 : tree res = generic_simplify_5 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
3789 17403 : if (res) return res;
3790 : }
3791 17403 : {
3792 17403 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q50 };
3793 17403 : tree res = generic_simplify_5 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
3794 17403 : if (res) return res;
3795 : }
3796 17399 : {
3797 17399 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q51 };
3798 17399 : tree res = generic_simplify_5 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
3799 17399 : if (res) return res;
3800 : }
3801 17399 : {
3802 17399 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q50 };
3803 17399 : tree res = generic_simplify_5 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
3804 17399 : if (res) return res;
3805 : }
3806 17399 : break;
3807 : }
3808 : default:;
3809 : }
3810 : break;
3811 : }
3812 9634 : case BIT_XOR_EXPR:
3813 9634 : {
3814 9634 : tree _q20 = TREE_OPERAND (_p0, 0);
3815 9634 : tree _q21 = TREE_OPERAND (_p0, 1);
3816 9634 : if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
3817 : {
3818 1 : {
3819 1 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
3820 1 : tree res = generic_simplify_114 (loc, type, _p0, _p1, captures);
3821 1 : if (res) return res;
3822 : }
3823 : }
3824 9633 : if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
3825 : {
3826 0 : {
3827 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
3828 0 : tree res = generic_simplify_114 (loc, type, _p0, _p1, captures);
3829 0 : if (res) return res;
3830 : }
3831 : }
3832 9633 : switch (TREE_CODE (_p1))
3833 : {
3834 102 : case BIT_AND_EXPR:
3835 102 : {
3836 102 : tree _q50 = TREE_OPERAND (_p1, 0);
3837 102 : tree _q51 = TREE_OPERAND (_p1, 1);
3838 102 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
3839 : {
3840 30 : switch (TREE_CODE (_q51))
3841 : {
3842 0 : case BIT_NOT_EXPR:
3843 0 : {
3844 0 : tree _q70 = TREE_OPERAND (_q51, 0);
3845 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
3846 : {
3847 0 : {
3848 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p0 };
3849 0 : tree res = generic_simplify_115 (loc, type, _p0, _p1, captures);
3850 0 : if (res) return res;
3851 : }
3852 : }
3853 : break;
3854 : }
3855 : default:;
3856 : }
3857 : }
3858 102 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
3859 : {
3860 9 : switch (TREE_CODE (_q51))
3861 : {
3862 0 : case BIT_NOT_EXPR:
3863 0 : {
3864 0 : tree _q70 = TREE_OPERAND (_q51, 0);
3865 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
3866 : {
3867 0 : {
3868 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p0 };
3869 0 : tree res = generic_simplify_115 (loc, type, _p0, _p1, captures);
3870 0 : if (res) return res;
3871 : }
3872 : }
3873 : break;
3874 : }
3875 : default:;
3876 : }
3877 : }
3878 102 : switch (TREE_CODE (_q50))
3879 : {
3880 16 : case BIT_NOT_EXPR:
3881 16 : {
3882 16 : tree _q60 = TREE_OPERAND (_q50, 0);
3883 16 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
3884 : {
3885 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
3886 : {
3887 0 : {
3888 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p0 };
3889 0 : tree res = generic_simplify_115 (loc, type, _p0, _p1, captures);
3890 0 : if (res) return res;
3891 : }
3892 : }
3893 : }
3894 16 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
3895 : {
3896 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
3897 : {
3898 0 : {
3899 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p0 };
3900 0 : tree res = generic_simplify_115 (loc, type, _p0, _p1, captures);
3901 0 : if (res) return res;
3902 : }
3903 : }
3904 : }
3905 : break;
3906 : }
3907 : default:;
3908 : }
3909 : break;
3910 : }
3911 9633 : default:;
3912 : }
3913 9633 : {
3914 9633 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p0, _q20, _q21 };
3915 9633 : tree res = generic_simplify_116 (loc, type, _p0, _p1, captures);
3916 9633 : if (res) return res;
3917 : }
3918 9633 : {
3919 9633 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p0, _q21, _q20 };
3920 9633 : tree res = generic_simplify_116 (loc, type, _p0, _p1, captures);
3921 9633 : if (res) return res;
3922 : }
3923 9633 : break;
3924 : }
3925 1846351 : default:;
3926 : }
3927 1846351 : switch (TREE_CODE (_p1))
3928 : {
3929 227 : case BIT_XOR_EXPR:
3930 227 : {
3931 227 : tree _q30 = TREE_OPERAND (_p1, 0);
3932 227 : tree _q31 = TREE_OPERAND (_p1, 1);
3933 227 : if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
3934 : {
3935 15 : {
3936 15 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
3937 15 : tree res = generic_simplify_114 (loc, type, _p0, _p1, captures);
3938 15 : if (res) return res;
3939 : }
3940 : }
3941 212 : if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
3942 : {
3943 0 : {
3944 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
3945 0 : tree res = generic_simplify_114 (loc, type, _p0, _p1, captures);
3946 0 : if (res) return res;
3947 : }
3948 : }
3949 : break;
3950 : }
3951 1846336 : default:;
3952 : }
3953 1846336 : switch (TREE_CODE (_p0))
3954 : {
3955 79880 : case BIT_AND_EXPR:
3956 79880 : {
3957 79880 : tree _q20 = TREE_OPERAND (_p0, 0);
3958 79880 : tree _q21 = TREE_OPERAND (_p0, 1);
3959 79880 : switch (TREE_CODE (_q21))
3960 : {
3961 74 : case BIT_NOT_EXPR:
3962 74 : {
3963 74 : tree _q40 = TREE_OPERAND (_q21, 0);
3964 74 : switch (TREE_CODE (_p1))
3965 : {
3966 0 : case BIT_XOR_EXPR:
3967 0 : {
3968 0 : tree _q60 = TREE_OPERAND (_p1, 0);
3969 0 : tree _q61 = TREE_OPERAND (_p1, 1);
3970 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
3971 : {
3972 0 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
3973 : {
3974 0 : {
3975 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _p1 };
3976 0 : tree res = generic_simplify_117 (loc, type, _p0, _p1, captures);
3977 0 : if (res) return res;
3978 : }
3979 : }
3980 : }
3981 0 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
3982 : {
3983 0 : if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
3984 : {
3985 0 : {
3986 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q40, _p1 };
3987 0 : tree res = generic_simplify_117 (loc, type, _p0, _p1, captures);
3988 0 : if (res) return res;
3989 : }
3990 : }
3991 : }
3992 : break;
3993 : }
3994 : default:;
3995 : }
3996 : break;
3997 : }
3998 79880 : default:;
3999 : }
4000 79880 : switch (TREE_CODE (_q20))
4001 : {
4002 348 : case BIT_NOT_EXPR:
4003 348 : {
4004 348 : tree _q30 = TREE_OPERAND (_q20, 0);
4005 348 : switch (TREE_CODE (_p1))
4006 : {
4007 54 : case BIT_XOR_EXPR:
4008 54 : {
4009 54 : tree _q60 = TREE_OPERAND (_p1, 0);
4010 54 : tree _q61 = TREE_OPERAND (_p1, 1);
4011 54 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
4012 : {
4013 18 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
4014 : {
4015 0 : {
4016 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q30, _p1 };
4017 0 : tree res = generic_simplify_117 (loc, type, _p0, _p1, captures);
4018 0 : if (res) return res;
4019 : }
4020 : }
4021 : }
4022 54 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
4023 : {
4024 9 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
4025 : {
4026 0 : {
4027 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q30, _p1 };
4028 0 : tree res = generic_simplify_117 (loc, type, _p0, _p1, captures);
4029 0 : if (res) return res;
4030 : }
4031 : }
4032 : }
4033 : break;
4034 : }
4035 : default:;
4036 : }
4037 : break;
4038 : }
4039 : default:;
4040 : }
4041 : break;
4042 : }
4043 1846336 : default:;
4044 : }
4045 1846336 : switch (TREE_CODE (_p1))
4046 : {
4047 416 : case BIT_NOT_EXPR:
4048 416 : {
4049 416 : tree _q30 = TREE_OPERAND (_p1, 0);
4050 416 : switch (TREE_CODE (_q30))
4051 : {
4052 40 : case BIT_XOR_EXPR:
4053 40 : {
4054 40 : tree _q40 = TREE_OPERAND (_q30, 0);
4055 40 : tree _q41 = TREE_OPERAND (_q30, 1);
4056 40 : if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
4057 : {
4058 0 : {
4059 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q41 };
4060 0 : tree res = generic_simplify_118 (loc, type, _p0, _p1, captures);
4061 0 : if (res) return res;
4062 : }
4063 : }
4064 40 : if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
4065 : {
4066 0 : {
4067 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _p1, _q40 };
4068 0 : tree res = generic_simplify_118 (loc, type, _p0, _p1, captures);
4069 0 : if (res) return res;
4070 : }
4071 : }
4072 : break;
4073 : }
4074 : default:;
4075 : }
4076 : break;
4077 : }
4078 1846336 : default:;
4079 : }
4080 1846336 : switch (TREE_CODE (_p0))
4081 : {
4082 21905 : case BIT_NOT_EXPR:
4083 21905 : {
4084 21905 : tree _q20 = TREE_OPERAND (_p0, 0);
4085 21905 : switch (TREE_CODE (_q20))
4086 : {
4087 123 : case BIT_XOR_EXPR:
4088 123 : {
4089 123 : tree _q30 = TREE_OPERAND (_q20, 0);
4090 123 : tree _q31 = TREE_OPERAND (_q20, 1);
4091 123 : if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
4092 : {
4093 0 : {
4094 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q30, _p0, _q31 };
4095 0 : tree res = generic_simplify_118 (loc, type, _p0, _p1, captures);
4096 0 : if (res) return res;
4097 : }
4098 : }
4099 123 : if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
4100 : {
4101 0 : {
4102 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q31, _p0, _q30 };
4103 0 : tree res = generic_simplify_118 (loc, type, _p0, _p1, captures);
4104 0 : if (res) return res;
4105 : }
4106 : }
4107 : break;
4108 : }
4109 : default:;
4110 : }
4111 : break;
4112 : }
4113 1846336 : default:;
4114 : }
4115 1846336 : {
4116 1846336 : tree _p1_pops[1];
4117 1846336 : if (tree_nop_convert (_p1, _p1_pops))
4118 : {
4119 940504 : tree _q30 = _p1_pops[0];
4120 940504 : switch (TREE_CODE (_q30))
4121 : {
4122 0 : case EQ_EXPR:
4123 0 : {
4124 0 : tree _q40 = TREE_OPERAND (_q30, 0);
4125 0 : tree _q41 = TREE_OPERAND (_q30, 1);
4126 0 : if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
4127 : {
4128 0 : {
4129 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
4130 0 : tree res = generic_simplify_119 (loc, type, _p0, _p1, captures);
4131 0 : if (res) return res;
4132 : }
4133 : }
4134 0 : if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
4135 : {
4136 0 : {
4137 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
4138 0 : tree res = generic_simplify_119 (loc, type, _p0, _p1, captures);
4139 0 : if (res) return res;
4140 : }
4141 : }
4142 : break;
4143 : }
4144 : default:;
4145 : }
4146 : }
4147 : }
4148 1846336 : {
4149 1846336 : tree _p0_pops[1];
4150 1846336 : if (tree_nop_convert (_p0, _p0_pops))
4151 : {
4152 562856 : tree _q20 = _p0_pops[0];
4153 562856 : switch (TREE_CODE (_q20))
4154 : {
4155 0 : case EQ_EXPR:
4156 0 : {
4157 0 : tree _q30 = TREE_OPERAND (_q20, 0);
4158 0 : tree _q31 = TREE_OPERAND (_q20, 1);
4159 0 : if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
4160 : {
4161 0 : {
4162 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
4163 0 : tree res = generic_simplify_119 (loc, type, _p0, _p1, captures);
4164 0 : if (res) return res;
4165 : }
4166 : }
4167 0 : if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
4168 : {
4169 0 : {
4170 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
4171 0 : tree res = generic_simplify_119 (loc, type, _p0, _p1, captures);
4172 0 : if (res) return res;
4173 : }
4174 : }
4175 : break;
4176 : }
4177 : default:;
4178 : }
4179 : }
4180 : }
4181 1846336 : switch (TREE_CODE (_p1))
4182 : {
4183 829 : case EQ_EXPR:
4184 829 : {
4185 829 : tree _q30 = TREE_OPERAND (_p1, 0);
4186 829 : tree _q31 = TREE_OPERAND (_p1, 1);
4187 829 : if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
4188 : {
4189 0 : {
4190 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
4191 0 : tree res = generic_simplify_119 (loc, type, _p0, _p1, captures);
4192 0 : if (res) return res;
4193 : }
4194 : }
4195 829 : if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
4196 : {
4197 8 : {
4198 8 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
4199 8 : tree res = generic_simplify_119 (loc, type, _p0, _p1, captures);
4200 8 : if (res) return res;
4201 : }
4202 : }
4203 : break;
4204 : }
4205 1846336 : default:;
4206 : }
4207 1846336 : switch (TREE_CODE (_p0))
4208 : {
4209 836 : case EQ_EXPR:
4210 836 : {
4211 836 : tree _q20 = TREE_OPERAND (_p0, 0);
4212 836 : tree _q21 = TREE_OPERAND (_p0, 1);
4213 836 : if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
4214 : {
4215 8 : {
4216 8 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
4217 8 : tree res = generic_simplify_119 (loc, type, _p0, _p1, captures);
4218 8 : if (res) return res;
4219 : }
4220 : }
4221 836 : if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
4222 : {
4223 0 : {
4224 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
4225 0 : tree res = generic_simplify_119 (loc, type, _p0, _p1, captures);
4226 0 : if (res) return res;
4227 : }
4228 : }
4229 : break;
4230 : }
4231 1846336 : default:;
4232 : }
4233 1846336 : switch (TREE_CODE (_p1))
4234 : {
4235 212 : case BIT_XOR_EXPR:
4236 212 : {
4237 212 : tree _q30 = TREE_OPERAND (_p1, 0);
4238 212 : tree _q31 = TREE_OPERAND (_p1, 1);
4239 212 : {
4240 212 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31 };
4241 212 : tree res = generic_simplify_116 (loc, type, _p0, _p1, captures);
4242 212 : if (res) return res;
4243 : }
4244 211 : {
4245 211 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p1, _q31, _q30 };
4246 211 : tree res = generic_simplify_116 (loc, type, _p0, _p1, captures);
4247 211 : if (res) return res;
4248 : }
4249 211 : break;
4250 : }
4251 1846335 : default:;
4252 : }
4253 1846335 : switch (TREE_CODE (_p0))
4254 : {
4255 21998 : case PLUS_EXPR:
4256 21998 : {
4257 21998 : tree _q20 = TREE_OPERAND (_p0, 0);
4258 21998 : tree _q21 = TREE_OPERAND (_p0, 1);
4259 21998 : if (integer_minus_onep (_q21))
4260 : {
4261 10552 : switch (TREE_CODE (_p1))
4262 : {
4263 9 : case NEGATE_EXPR:
4264 9 : {
4265 9 : tree _q50 = TREE_OPERAND (_p1, 0);
4266 9 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
4267 : {
4268 9 : {
4269 9 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
4270 9 : tree res = generic_simplify_8 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
4271 9 : if (res) return res;
4272 : }
4273 : }
4274 : break;
4275 : }
4276 : default:;
4277 : }
4278 : }
4279 : break;
4280 : }
4281 204 : case NEGATE_EXPR:
4282 204 : {
4283 204 : tree _q20 = TREE_OPERAND (_p0, 0);
4284 204 : switch (TREE_CODE (_p1))
4285 : {
4286 8 : case PLUS_EXPR:
4287 8 : {
4288 8 : tree _q40 = TREE_OPERAND (_p1, 0);
4289 8 : tree _q41 = TREE_OPERAND (_p1, 1);
4290 8 : if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
4291 : {
4292 0 : if (integer_minus_onep (_q41))
4293 : {
4294 0 : {
4295 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
4296 0 : tree res = generic_simplify_9 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
4297 0 : if (res) return res;
4298 : }
4299 : }
4300 : }
4301 : break;
4302 : }
4303 0 : case MINUS_EXPR:
4304 0 : {
4305 0 : tree _q40 = TREE_OPERAND (_p1, 0);
4306 0 : tree _q41 = TREE_OPERAND (_p1, 1);
4307 0 : if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _q20, 0) && types_match (_q40, _q20)))
4308 : {
4309 0 : if (integer_onep (_q41))
4310 : {
4311 0 : {
4312 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
4313 0 : tree res = generic_simplify_10 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
4314 0 : if (res) return res;
4315 : }
4316 : }
4317 : }
4318 : break;
4319 : }
4320 : default:;
4321 : }
4322 : break;
4323 : }
4324 10497 : case MINUS_EXPR:
4325 10497 : {
4326 10497 : tree _q20 = TREE_OPERAND (_p0, 0);
4327 10497 : tree _q21 = TREE_OPERAND (_p0, 1);
4328 10497 : if (integer_onep (_q21))
4329 : {
4330 0 : switch (TREE_CODE (_p1))
4331 : {
4332 0 : case NEGATE_EXPR:
4333 0 : {
4334 0 : tree _q50 = TREE_OPERAND (_p1, 0);
4335 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
4336 : {
4337 0 : {
4338 0 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
4339 0 : tree res = generic_simplify_11 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
4340 0 : if (res) return res;
4341 : }
4342 : }
4343 : break;
4344 : }
4345 : default:;
4346 : }
4347 : }
4348 : break;
4349 : }
4350 17913 : case BIT_IOR_EXPR:
4351 17913 : {
4352 17913 : tree _q20 = TREE_OPERAND (_p0, 0);
4353 17913 : tree _q21 = TREE_OPERAND (_p0, 1);
4354 17913 : switch (TREE_CODE (_p1))
4355 : {
4356 5533 : case BIT_AND_EXPR:
4357 5533 : {
4358 5533 : tree _q50 = TREE_OPERAND (_p1, 0);
4359 5533 : tree _q51 = TREE_OPERAND (_p1, 1);
4360 5533 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
4361 : {
4362 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
4363 : {
4364 0 : {
4365 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
4366 0 : tree res = generic_simplify_120 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
4367 0 : if (res) return res;
4368 : }
4369 : }
4370 : }
4371 5533 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
4372 : {
4373 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
4374 : {
4375 0 : {
4376 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
4377 0 : tree res = generic_simplify_120 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
4378 0 : if (res) return res;
4379 : }
4380 : }
4381 : }
4382 : break;
4383 : }
4384 2 : case BIT_XOR_EXPR:
4385 2 : {
4386 2 : tree _q50 = TREE_OPERAND (_p1, 0);
4387 2 : tree _q51 = TREE_OPERAND (_p1, 1);
4388 2 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
4389 : {
4390 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
4391 : {
4392 0 : {
4393 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
4394 0 : tree res = generic_simplify_120 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
4395 0 : if (res) return res;
4396 : }
4397 : }
4398 : }
4399 2 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
4400 : {
4401 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
4402 : {
4403 0 : {
4404 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
4405 0 : tree res = generic_simplify_120 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
4406 0 : if (res) return res;
4407 : }
4408 : }
4409 : }
4410 : break;
4411 : }
4412 1923 : CASE_CONVERT:
4413 1923 : {
4414 1923 : tree _q50 = TREE_OPERAND (_p1, 0);
4415 1923 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
4416 : {
4417 0 : {
4418 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q21 };
4419 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
4420 0 : if (res) return res;
4421 : }
4422 : }
4423 1923 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
4424 : {
4425 0 : {
4426 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q20 };
4427 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
4428 0 : if (res) return res;
4429 : }
4430 : }
4431 : break;
4432 : }
4433 17913 : default:;
4434 : }
4435 17913 : if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q21, 0))
4436 : {
4437 0 : {
4438 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q21 };
4439 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
4440 0 : if (res) return res;
4441 : }
4442 : }
4443 17913 : if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q20, 0))
4444 : {
4445 0 : {
4446 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q20 };
4447 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
4448 0 : if (res) return res;
4449 : }
4450 : }
4451 : break;
4452 : }
4453 79880 : case BIT_AND_EXPR:
4454 79880 : {
4455 79880 : tree _q20 = TREE_OPERAND (_p0, 0);
4456 79880 : tree _q21 = TREE_OPERAND (_p0, 1);
4457 79880 : switch (TREE_CODE (_p1))
4458 : {
4459 1 : case BIT_IOR_EXPR:
4460 1 : {
4461 1 : tree _q50 = TREE_OPERAND (_p1, 0);
4462 1 : tree _q51 = TREE_OPERAND (_p1, 1);
4463 1 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
4464 : {
4465 1 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
4466 : {
4467 0 : {
4468 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
4469 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
4470 0 : if (res) return res;
4471 : }
4472 : }
4473 : }
4474 1 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
4475 : {
4476 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
4477 : {
4478 0 : {
4479 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q21, _q20 };
4480 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, BIT_AND_EXPR);
4481 0 : if (res) return res;
4482 : }
4483 : }
4484 : }
4485 : break;
4486 : }
4487 73 : case BIT_NOT_EXPR:
4488 73 : {
4489 73 : tree _q50 = TREE_OPERAND (_p1, 0);
4490 73 : switch (TREE_CODE (_q50))
4491 : {
4492 0 : case BIT_XOR_EXPR:
4493 0 : {
4494 0 : tree _q60 = TREE_OPERAND (_q50, 0);
4495 0 : tree _q61 = TREE_OPERAND (_q50, 1);
4496 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
4497 : {
4498 0 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
4499 : {
4500 0 : {
4501 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
4502 0 : tree res = generic_simplify_123 (loc, type, _p0, _p1, captures);
4503 0 : if (res) return res;
4504 : }
4505 : }
4506 : }
4507 0 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
4508 : {
4509 0 : if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
4510 : {
4511 0 : {
4512 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
4513 0 : tree res = generic_simplify_123 (loc, type, _p0, _p1, captures);
4514 0 : if (res) return res;
4515 : }
4516 : }
4517 : }
4518 : break;
4519 : }
4520 : default:;
4521 : }
4522 : break;
4523 : }
4524 24 : case EQ_EXPR:
4525 24 : {
4526 24 : tree _q50 = TREE_OPERAND (_p1, 0);
4527 24 : tree _q51 = TREE_OPERAND (_p1, 1);
4528 24 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
4529 : {
4530 8 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
4531 : {
4532 8 : {
4533 8 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
4534 8 : tree res = generic_simplify_124 (loc, type, _p0, _p1, captures);
4535 8 : if (res) return res;
4536 : }
4537 : }
4538 : }
4539 24 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
4540 : {
4541 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
4542 : {
4543 0 : {
4544 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
4545 0 : tree res = generic_simplify_124 (loc, type, _p0, _p1, captures);
4546 0 : if (res) return res;
4547 : }
4548 : }
4549 : }
4550 : break;
4551 : }
4552 79880 : default:;
4553 : }
4554 79880 : {
4555 79880 : tree _p1_pops[1];
4556 79880 : if (tree_nop_convert (_p1, _p1_pops))
4557 : {
4558 261 : tree _q50 = _p1_pops[0];
4559 261 : switch (TREE_CODE (_q50))
4560 : {
4561 0 : case EQ_EXPR:
4562 0 : {
4563 0 : tree _q60 = TREE_OPERAND (_q50, 0);
4564 0 : tree _q61 = TREE_OPERAND (_q50, 1);
4565 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
4566 : {
4567 0 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
4568 : {
4569 0 : {
4570 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
4571 0 : tree res = generic_simplify_124 (loc, type, _p0, _p1, captures);
4572 0 : if (res) return res;
4573 : }
4574 : }
4575 : }
4576 0 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
4577 : {
4578 0 : if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
4579 : {
4580 0 : {
4581 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
4582 0 : tree res = generic_simplify_124 (loc, type, _p0, _p1, captures);
4583 0 : if (res) return res;
4584 : }
4585 : }
4586 : }
4587 : break;
4588 : }
4589 : default:;
4590 : }
4591 : }
4592 : }
4593 79880 : break;
4594 : }
4595 9632 : case BIT_XOR_EXPR:
4596 9632 : {
4597 9632 : tree _q20 = TREE_OPERAND (_p0, 0);
4598 9632 : tree _q21 = TREE_OPERAND (_p0, 1);
4599 9632 : switch (TREE_CODE (_p1))
4600 : {
4601 0 : case BIT_IOR_EXPR:
4602 0 : {
4603 0 : tree _q50 = TREE_OPERAND (_p1, 0);
4604 0 : tree _q51 = TREE_OPERAND (_p1, 1);
4605 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
4606 : {
4607 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
4608 : {
4609 0 : {
4610 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q21 };
4611 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
4612 0 : if (res) return res;
4613 : }
4614 : }
4615 : }
4616 0 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
4617 : {
4618 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
4619 : {
4620 0 : {
4621 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q21, _q20 };
4622 0 : tree res = generic_simplify_122 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
4623 0 : if (res) return res;
4624 : }
4625 : }
4626 : }
4627 : break;
4628 : }
4629 41 : case BIT_XOR_EXPR:
4630 41 : {
4631 41 : tree _q50 = TREE_OPERAND (_p1, 0);
4632 41 : tree _q51 = TREE_OPERAND (_p1, 1);
4633 41 : switch (TREE_CODE (_q50))
4634 : {
4635 2 : case BIT_XOR_EXPR:
4636 2 : {
4637 2 : tree _q60 = TREE_OPERAND (_q50, 0);
4638 2 : tree _q61 = TREE_OPERAND (_q50, 1);
4639 2 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
4640 : {
4641 1 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
4642 : {
4643 1 : {
4644 1 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q61 };
4645 1 : tree res = generic_simplify_125 (loc, type, _p0, _p1, captures);
4646 1 : if (res) return res;
4647 : }
4648 : }
4649 : }
4650 1 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
4651 : {
4652 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
4653 : {
4654 0 : {
4655 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q60 };
4656 0 : tree res = generic_simplify_125 (loc, type, _p0, _p1, captures);
4657 0 : if (res) return res;
4658 : }
4659 : }
4660 : }
4661 1 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
4662 : {
4663 1 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
4664 : {
4665 1 : {
4666 1 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q61 };
4667 1 : tree res = generic_simplify_125 (loc, type, _p0, _p1, captures);
4668 1 : if (res) return res;
4669 : }
4670 : }
4671 : }
4672 0 : if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
4673 : {
4674 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
4675 : {
4676 0 : {
4677 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q60 };
4678 0 : tree res = generic_simplify_125 (loc, type, _p0, _p1, captures);
4679 0 : if (res) return res;
4680 : }
4681 : }
4682 : }
4683 : break;
4684 : }
4685 39 : default:;
4686 : }
4687 39 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
4688 : {
4689 3 : switch (TREE_CODE (_q51))
4690 : {
4691 0 : case BIT_XOR_EXPR:
4692 0 : {
4693 0 : tree _q70 = TREE_OPERAND (_q51, 0);
4694 0 : tree _q71 = TREE_OPERAND (_q51, 1);
4695 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
4696 : {
4697 0 : {
4698 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q71 };
4699 0 : tree res = generic_simplify_125 (loc, type, _p0, _p1, captures);
4700 0 : if (res) return res;
4701 : }
4702 : }
4703 0 : if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
4704 : {
4705 0 : {
4706 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q70 };
4707 0 : tree res = generic_simplify_125 (loc, type, _p0, _p1, captures);
4708 0 : if (res) return res;
4709 : }
4710 : }
4711 : break;
4712 : }
4713 : default:;
4714 : }
4715 : }
4716 39 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
4717 : {
4718 0 : switch (TREE_CODE (_q51))
4719 : {
4720 0 : case BIT_XOR_EXPR:
4721 0 : {
4722 0 : tree _q70 = TREE_OPERAND (_q51, 0);
4723 0 : tree _q71 = TREE_OPERAND (_q51, 1);
4724 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
4725 : {
4726 0 : {
4727 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _q71 };
4728 0 : tree res = generic_simplify_125 (loc, type, _p0, _p1, captures);
4729 0 : if (res) return res;
4730 : }
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 = { _p0, _q21, _q20, _q70 };
4736 0 : tree res = generic_simplify_125 (loc, type, _p0, _p1, captures);
4737 0 : if (res) return res;
4738 : }
4739 : }
4740 : break;
4741 : }
4742 : default:;
4743 : }
4744 : }
4745 : break;
4746 : }
4747 9630 : default:;
4748 : }
4749 9630 : switch (TREE_CODE (_q20))
4750 : {
4751 18 : case BIT_XOR_EXPR:
4752 18 : {
4753 18 : tree _q30 = TREE_OPERAND (_q20, 0);
4754 18 : tree _q31 = TREE_OPERAND (_q20, 1);
4755 18 : switch (TREE_CODE (_p1))
4756 : {
4757 0 : case BIT_XOR_EXPR:
4758 0 : {
4759 0 : tree _q70 = TREE_OPERAND (_p1, 0);
4760 0 : tree _q71 = TREE_OPERAND (_p1, 1);
4761 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
4762 : {
4763 0 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
4764 : {
4765 0 : {
4766 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _q30, _q31 };
4767 0 : tree res = generic_simplify_126 (loc, type, _p0, _p1, captures);
4768 0 : if (res) return res;
4769 : }
4770 : }
4771 0 : if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
4772 : {
4773 0 : {
4774 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _q31, _q30 };
4775 0 : tree res = generic_simplify_126 (loc, type, _p0, _p1, captures);
4776 0 : if (res) return res;
4777 : }
4778 : }
4779 : }
4780 0 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
4781 : {
4782 0 : if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
4783 : {
4784 0 : {
4785 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _q30, _q31 };
4786 0 : tree res = generic_simplify_126 (loc, type, _p0, _p1, captures);
4787 0 : if (res) return res;
4788 : }
4789 : }
4790 : }
4791 0 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
4792 : {
4793 0 : if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
4794 : {
4795 0 : {
4796 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _q31, _q30 };
4797 0 : tree res = generic_simplify_126 (loc, type, _p0, _p1, captures);
4798 0 : if (res) return res;
4799 : }
4800 : }
4801 : }
4802 : break;
4803 : }
4804 : default:;
4805 : }
4806 : break;
4807 : }
4808 9630 : default:;
4809 : }
4810 9630 : switch (TREE_CODE (_q21))
4811 : {
4812 0 : case BIT_XOR_EXPR:
4813 0 : {
4814 0 : tree _q40 = TREE_OPERAND (_q21, 0);
4815 0 : tree _q41 = TREE_OPERAND (_q21, 1);
4816 0 : switch (TREE_CODE (_p1))
4817 : {
4818 0 : case BIT_XOR_EXPR:
4819 0 : {
4820 0 : tree _q70 = TREE_OPERAND (_p1, 0);
4821 0 : tree _q71 = TREE_OPERAND (_p1, 1);
4822 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
4823 : {
4824 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
4825 : {
4826 0 : {
4827 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q40, _q41 };
4828 0 : tree res = generic_simplify_126 (loc, type, _p0, _p1, captures);
4829 0 : if (res) return res;
4830 : }
4831 : }
4832 0 : if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
4833 : {
4834 0 : {
4835 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q41, _q40 };
4836 0 : tree res = generic_simplify_126 (loc, type, _p0, _p1, captures);
4837 0 : if (res) return res;
4838 : }
4839 : }
4840 : }
4841 0 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
4842 : {
4843 0 : if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
4844 : {
4845 0 : {
4846 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q40, _q41 };
4847 0 : tree res = generic_simplify_126 (loc, type, _p0, _p1, captures);
4848 0 : if (res) return res;
4849 : }
4850 : }
4851 : }
4852 0 : if ((_q70 == _q41 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q41, 0) && types_match (_q70, _q41)))
4853 : {
4854 0 : if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
4855 : {
4856 0 : {
4857 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _q41, _q40 };
4858 0 : tree res = generic_simplify_126 (loc, type, _p0, _p1, captures);
4859 0 : if (res) return res;
4860 : }
4861 : }
4862 : }
4863 : break;
4864 : }
4865 : default:;
4866 : }
4867 : break;
4868 : }
4869 : default:;
4870 : }
4871 : break;
4872 : }
4873 21904 : case BIT_NOT_EXPR:
4874 21904 : {
4875 21904 : tree _q20 = TREE_OPERAND (_p0, 0);
4876 21904 : switch (TREE_CODE (_q20))
4877 : {
4878 123 : case BIT_XOR_EXPR:
4879 123 : {
4880 123 : tree _q30 = TREE_OPERAND (_q20, 0);
4881 123 : tree _q31 = TREE_OPERAND (_q20, 1);
4882 123 : switch (TREE_CODE (_p1))
4883 : {
4884 44 : case BIT_AND_EXPR:
4885 44 : {
4886 44 : tree _q60 = TREE_OPERAND (_p1, 0);
4887 44 : tree _q61 = TREE_OPERAND (_p1, 1);
4888 44 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
4889 : {
4890 6 : if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
4891 : {
4892 0 : {
4893 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
4894 0 : tree res = generic_simplify_127 (loc, type, _p0, _p1, captures);
4895 0 : if (res) return res;
4896 : }
4897 : }
4898 : }
4899 44 : if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
4900 : {
4901 9 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
4902 : {
4903 0 : {
4904 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
4905 0 : tree res = generic_simplify_127 (loc, type, _p0, _p1, captures);
4906 0 : if (res) return res;
4907 : }
4908 : }
4909 : }
4910 : break;
4911 : }
4912 : default:;
4913 : }
4914 : break;
4915 : }
4916 : default:;
4917 : }
4918 : break;
4919 : }
4920 836 : case EQ_EXPR:
4921 836 : {
4922 836 : tree _q20 = TREE_OPERAND (_p0, 0);
4923 836 : tree _q21 = TREE_OPERAND (_p0, 1);
4924 836 : switch (TREE_CODE (_p1))
4925 : {
4926 8 : case BIT_AND_EXPR:
4927 8 : {
4928 8 : tree _q50 = TREE_OPERAND (_p1, 0);
4929 8 : tree _q51 = TREE_OPERAND (_p1, 1);
4930 8 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
4931 : {
4932 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
4933 : {
4934 0 : {
4935 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p0 };
4936 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures);
4937 0 : if (res) return res;
4938 : }
4939 : }
4940 : }
4941 8 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
4942 : {
4943 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
4944 : {
4945 0 : {
4946 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p0 };
4947 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures);
4948 0 : if (res) return res;
4949 : }
4950 : }
4951 : }
4952 : break;
4953 : }
4954 : default:;
4955 : }
4956 : break;
4957 : }
4958 1846324 : default:;
4959 : }
4960 1846324 : {
4961 1846324 : tree _p0_pops[1];
4962 1846324 : if (tree_nop_convert (_p0, _p0_pops))
4963 : {
4964 562856 : tree _q20 = _p0_pops[0];
4965 562856 : switch (TREE_CODE (_q20))
4966 : {
4967 0 : case EQ_EXPR:
4968 0 : {
4969 0 : tree _q30 = TREE_OPERAND (_q20, 0);
4970 0 : tree _q31 = TREE_OPERAND (_q20, 1);
4971 0 : switch (TREE_CODE (_p1))
4972 : {
4973 0 : case BIT_AND_EXPR:
4974 0 : {
4975 0 : tree _q60 = TREE_OPERAND (_p1, 0);
4976 0 : tree _q61 = TREE_OPERAND (_p1, 1);
4977 0 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
4978 : {
4979 0 : if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
4980 : {
4981 0 : {
4982 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
4983 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures);
4984 0 : if (res) return res;
4985 : }
4986 : }
4987 : }
4988 0 : if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
4989 : {
4990 0 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
4991 : {
4992 0 : {
4993 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
4994 0 : tree res = generic_simplify_128 (loc, type, _p0, _p1, captures);
4995 0 : if (res) return res;
4996 : }
4997 : }
4998 : }
4999 : break;
5000 : }
5001 : default:;
5002 : }
5003 : break;
5004 : }
5005 : default:;
5006 : }
5007 : }
5008 : }
5009 1846324 : if (integer_all_onesp (_p1))
5010 : {
5011 99 : {
5012 99 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _p1 };
5013 99 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1310;
5014 99 : {
5015 99 : tree _r;
5016 99 : _r = captures[1];
5017 99 : if (TREE_SIDE_EFFECTS (captures[0]))
5018 0 : _r = build2_loc (loc, COMPOUND_EXPR, type, fold_ignored_result (captures[0]), _r);
5019 99 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 944, __FILE__, __LINE__, true);
5020 99 : return _r;
5021 : }
5022 0 : next_after_fail1310:;
5023 : }
5024 : }
5025 1846225 : if (integer_zerop (_p1))
5026 : {
5027 0 : {
5028 0 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
5029 0 : if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1311;
5030 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1311;
5031 0 : {
5032 0 : tree _r;
5033 0 : _r = captures[0];
5034 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 945, __FILE__, __LINE__, true);
5035 0 : return _r;
5036 : }
5037 : next_after_fail1311:;
5038 : }
5039 : }
5040 1846225 : switch (TREE_CODE (_p0))
5041 : {
5042 562729 : CASE_CONVERT:
5043 562729 : {
5044 562729 : tree _q20 = TREE_OPERAND (_p0, 0);
5045 562729 : switch (TREE_CODE (_p1))
5046 : {
5047 540817 : CASE_CONVERT:
5048 540817 : {
5049 540817 : tree _q40 = TREE_OPERAND (_p1, 0);
5050 540817 : {
5051 540817 : tree _q40_pops[1];
5052 540817 : if (tree_maybe_bit_not (_q40, _q40_pops))
5053 : {
5054 9 : tree _q50 = _q40_pops[0];
5055 9 : {
5056 9 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
5057 9 : tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5058 9 : if (res) return res;
5059 : }
5060 : }
5061 : }
5062 540817 : break;
5063 : }
5064 562729 : default:;
5065 : }
5066 562729 : {
5067 562729 : tree _q20_pops[1];
5068 562729 : if (tree_maybe_bit_not (_q20, _q20_pops))
5069 : {
5070 91 : tree _q30 = _q20_pops[0];
5071 91 : switch (TREE_CODE (_p1))
5072 : {
5073 19 : CASE_CONVERT:
5074 19 : {
5075 19 : tree _q50 = TREE_OPERAND (_p1, 0);
5076 19 : {
5077 19 : tree captures[2] ATTRIBUTE_UNUSED = { _q50, _q30 };
5078 19 : tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5079 19 : if (res) return res;
5080 : }
5081 16 : break;
5082 : }
5083 : default:;
5084 : }
5085 : }
5086 : }
5087 562726 : break;
5088 : }
5089 1846222 : default:;
5090 : }
5091 1846222 : {
5092 1846222 : tree _p1_pops[1];
5093 1846222 : if (tree_maybe_bit_not (_p1, _p1_pops))
5094 : {
5095 129683 : tree _q30 = _p1_pops[0];
5096 129683 : {
5097 129683 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
5098 129683 : tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5099 129683 : if (res) return res;
5100 : }
5101 : }
5102 : }
5103 1846210 : {
5104 1846210 : tree _p0_pops[1];
5105 1846210 : if (tree_maybe_bit_not (_p0, _p0_pops))
5106 : {
5107 23614 : tree _q20 = _p0_pops[0];
5108 23614 : {
5109 23614 : tree captures[2] ATTRIBUTE_UNUSED = { _p1, _q20 };
5110 23614 : tree res = generic_simplify_15 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5111 23614 : if (res) return res;
5112 : }
5113 : }
5114 : }
5115 1846199 : if ((_p1 == _p0 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _p0, 0) && types_match (_p1, _p0)))
5116 : {
5117 122 : {
5118 122 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
5119 122 : tree res = generic_simplify_129 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5120 122 : if (res) return res;
5121 : }
5122 : }
5123 1846077 : switch (TREE_CODE (_p1))
5124 : {
5125 411 : case BIT_NOT_EXPR:
5126 411 : {
5127 411 : tree _q30 = TREE_OPERAND (_p1, 0);
5128 411 : switch (TREE_CODE (_q30))
5129 : {
5130 60 : case BIT_IOR_EXPR:
5131 60 : {
5132 60 : tree _q40 = TREE_OPERAND (_q30, 0);
5133 60 : tree _q41 = TREE_OPERAND (_q30, 1);
5134 60 : if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
5135 : {
5136 0 : {
5137 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q41 };
5138 0 : tree res = generic_simplify_130 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5139 0 : if (res) return res;
5140 : }
5141 : }
5142 60 : if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
5143 : {
5144 0 : {
5145 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q30, _q40 };
5146 0 : tree res = generic_simplify_130 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5147 0 : if (res) return res;
5148 : }
5149 : }
5150 : break;
5151 : }
5152 : default:;
5153 : }
5154 : break;
5155 : }
5156 1846077 : default:;
5157 : }
5158 1846077 : switch (TREE_CODE (_p0))
5159 : {
5160 21893 : case BIT_NOT_EXPR:
5161 21893 : {
5162 21893 : tree _q20 = TREE_OPERAND (_p0, 0);
5163 21893 : switch (TREE_CODE (_q20))
5164 : {
5165 101 : case BIT_IOR_EXPR:
5166 101 : {
5167 101 : tree _q30 = TREE_OPERAND (_q20, 0);
5168 101 : tree _q31 = TREE_OPERAND (_q20, 1);
5169 101 : if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
5170 : {
5171 5 : {
5172 5 : tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q20, _q31 };
5173 5 : tree res = generic_simplify_130 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5174 5 : if (res) return res;
5175 : }
5176 : }
5177 96 : if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
5178 : {
5179 3 : {
5180 3 : tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q20, _q30 };
5181 3 : tree res = generic_simplify_130 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5182 3 : if (res) return res;
5183 : }
5184 : }
5185 93 : switch (TREE_CODE (_p1))
5186 : {
5187 20 : case BIT_AND_EXPR:
5188 20 : {
5189 20 : tree _q60 = TREE_OPERAND (_p1, 0);
5190 20 : tree _q61 = TREE_OPERAND (_p1, 1);
5191 20 : switch (TREE_CODE (_q60))
5192 : {
5193 1 : case BIT_NOT_EXPR:
5194 1 : {
5195 1 : tree _q70 = TREE_OPERAND (_q60, 0);
5196 1 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
5197 : {
5198 1 : if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
5199 : {
5200 1 : {
5201 1 : tree captures[3] ATTRIBUTE_UNUSED = { _q60, _q30, _q31 };
5202 1 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures);
5203 1 : if (res) return res;
5204 : }
5205 : }
5206 : }
5207 0 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
5208 : {
5209 0 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
5210 : {
5211 0 : {
5212 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q60, _q31, _q30 };
5213 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures);
5214 0 : if (res) return res;
5215 : }
5216 : }
5217 : }
5218 : break;
5219 : }
5220 19 : default:;
5221 : }
5222 19 : if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
5223 : {
5224 3 : switch (TREE_CODE (_q61))
5225 : {
5226 0 : case BIT_NOT_EXPR:
5227 0 : {
5228 0 : tree _q80 = TREE_OPERAND (_q61, 0);
5229 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
5230 : {
5231 0 : {
5232 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q61, _q30, _q31 };
5233 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures);
5234 0 : if (res) return res;
5235 : }
5236 : }
5237 : break;
5238 : }
5239 : default:;
5240 : }
5241 : }
5242 19 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
5243 : {
5244 7 : switch (TREE_CODE (_q61))
5245 : {
5246 0 : case BIT_NOT_EXPR:
5247 0 : {
5248 0 : tree _q80 = TREE_OPERAND (_q61, 0);
5249 0 : if ((_q80 == _q31 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q31, 0) && types_match (_q80, _q31)))
5250 : {
5251 0 : {
5252 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q61, _q31, _q30 };
5253 0 : tree res = generic_simplify_131 (loc, type, _p0, _p1, captures);
5254 0 : if (res) return res;
5255 : }
5256 : }
5257 : break;
5258 : }
5259 7 : default:;
5260 : }
5261 7 : if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
5262 : {
5263 1 : {
5264 1 : tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0, _q20 };
5265 1 : tree res = generic_simplify_132 (loc, type, _p0, _p1, captures);
5266 1 : if (res) return res;
5267 : }
5268 : }
5269 : }
5270 : break;
5271 : }
5272 27 : case BIT_XOR_EXPR:
5273 27 : {
5274 27 : tree _q60 = TREE_OPERAND (_p1, 0);
5275 27 : tree _q61 = TREE_OPERAND (_p1, 1);
5276 27 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
5277 : {
5278 6 : if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
5279 : {
5280 0 : {
5281 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0, _q20 };
5282 0 : tree res = generic_simplify_133 (loc, type, _p0, _p1, captures);
5283 0 : if (res) return res;
5284 : }
5285 : }
5286 : }
5287 : break;
5288 : }
5289 : default:;
5290 : }
5291 : break;
5292 : }
5293 21883 : default:;
5294 : }
5295 21883 : switch (TREE_CODE (_p1))
5296 : {
5297 89 : CASE_CONVERT:
5298 89 : {
5299 89 : tree _q40 = TREE_OPERAND (_p1, 0);
5300 89 : switch (TREE_CODE (_q40))
5301 : {
5302 0 : case BIT_NOT_EXPR:
5303 0 : {
5304 0 : tree _q50 = TREE_OPERAND (_q40, 0);
5305 0 : {
5306 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
5307 0 : tree res = generic_simplify_134 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
5308 0 : if (res) return res;
5309 : }
5310 0 : break;
5311 : }
5312 : default:;
5313 : }
5314 : break;
5315 : }
5316 16 : case BIT_NOT_EXPR:
5317 16 : {
5318 16 : tree _q40 = TREE_OPERAND (_p1, 0);
5319 16 : {
5320 16 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q40 };
5321 16 : tree res = generic_simplify_134 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
5322 16 : if (res) return res;
5323 : }
5324 0 : break;
5325 : }
5326 : default:;
5327 : }
5328 : break;
5329 : }
5330 79880 : case BIT_AND_EXPR:
5331 79880 : {
5332 79880 : tree _q20 = TREE_OPERAND (_p0, 0);
5333 79880 : tree _q21 = TREE_OPERAND (_p0, 1);
5334 79880 : switch (TREE_CODE (_q20))
5335 : {
5336 348 : case BIT_NOT_EXPR:
5337 348 : {
5338 348 : tree _q30 = TREE_OPERAND (_q20, 0);
5339 348 : switch (TREE_CODE (_p1))
5340 : {
5341 18 : case BIT_NOT_EXPR:
5342 18 : {
5343 18 : tree _q60 = TREE_OPERAND (_p1, 0);
5344 18 : switch (TREE_CODE (_q60))
5345 : {
5346 0 : case BIT_IOR_EXPR:
5347 0 : {
5348 0 : tree _q70 = TREE_OPERAND (_q60, 0);
5349 0 : tree _q71 = TREE_OPERAND (_q60, 1);
5350 0 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
5351 : {
5352 0 : if ((_q71 == _q21 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q21, 0) && types_match (_q71, _q21)))
5353 : {
5354 0 : {
5355 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
5356 0 : tree res = generic_simplify_135 (loc, type, _p0, _p1, captures);
5357 0 : if (res) return res;
5358 : }
5359 : }
5360 : }
5361 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
5362 : {
5363 0 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
5364 : {
5365 0 : {
5366 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q30, _q21 };
5367 0 : tree res = generic_simplify_135 (loc, type, _p0, _p1, captures);
5368 0 : if (res) return res;
5369 : }
5370 : }
5371 : }
5372 : break;
5373 : }
5374 : default:;
5375 : }
5376 : break;
5377 : }
5378 : default:;
5379 : }
5380 : break;
5381 : }
5382 79880 : default:;
5383 : }
5384 79880 : switch (TREE_CODE (_q21))
5385 : {
5386 74 : case BIT_NOT_EXPR:
5387 74 : {
5388 74 : tree _q40 = TREE_OPERAND (_q21, 0);
5389 74 : switch (TREE_CODE (_p1))
5390 : {
5391 0 : case BIT_NOT_EXPR:
5392 0 : {
5393 0 : tree _q60 = TREE_OPERAND (_p1, 0);
5394 0 : switch (TREE_CODE (_q60))
5395 : {
5396 0 : case BIT_IOR_EXPR:
5397 0 : {
5398 0 : tree _q70 = TREE_OPERAND (_q60, 0);
5399 0 : tree _q71 = TREE_OPERAND (_q60, 1);
5400 0 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
5401 : {
5402 0 : if ((_q71 == _q20 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q20, 0) && types_match (_q71, _q20)))
5403 : {
5404 0 : {
5405 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
5406 0 : tree res = generic_simplify_135 (loc, type, _p0, _p1, captures);
5407 0 : if (res) return res;
5408 : }
5409 : }
5410 : }
5411 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
5412 : {
5413 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
5414 : {
5415 0 : {
5416 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q40, _q20 };
5417 0 : tree res = generic_simplify_135 (loc, type, _p0, _p1, captures);
5418 0 : if (res) return res;
5419 : }
5420 : }
5421 : }
5422 : break;
5423 : }
5424 : default:;
5425 : }
5426 : break;
5427 : }
5428 : default:;
5429 : }
5430 : break;
5431 : }
5432 79880 : default:;
5433 : }
5434 79880 : switch (TREE_CODE (_p1))
5435 : {
5436 73 : case BIT_NOT_EXPR:
5437 73 : {
5438 73 : tree _q50 = TREE_OPERAND (_p1, 0);
5439 73 : switch (TREE_CODE (_q50))
5440 : {
5441 9 : case BIT_IOR_EXPR:
5442 9 : {
5443 9 : tree _q60 = TREE_OPERAND (_q50, 0);
5444 9 : tree _q61 = TREE_OPERAND (_q50, 1);
5445 9 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
5446 : {
5447 0 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
5448 : {
5449 0 : {
5450 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
5451 0 : tree res = generic_simplify_132 (loc, type, _p0, _p1, captures);
5452 0 : if (res) return res;
5453 : }
5454 : }
5455 : }
5456 : break;
5457 : }
5458 : default:;
5459 : }
5460 : break;
5461 : }
5462 62 : case BIT_XOR_EXPR:
5463 62 : {
5464 62 : tree _q50 = TREE_OPERAND (_p1, 0);
5465 62 : tree _q51 = TREE_OPERAND (_p1, 1);
5466 62 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
5467 : {
5468 8 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
5469 : {
5470 0 : {
5471 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
5472 0 : tree res = generic_simplify_23 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5473 0 : if (res) return res;
5474 : }
5475 : }
5476 : }
5477 : break;
5478 : }
5479 17399 : case BIT_AND_EXPR:
5480 17399 : {
5481 17399 : tree _q50 = TREE_OPERAND (_p1, 0);
5482 17399 : tree _q51 = TREE_OPERAND (_p1, 1);
5483 17399 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
5484 : {
5485 159 : {
5486 159 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q51, _q20 };
5487 159 : tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
5488 159 : if (res) return res;
5489 : }
5490 : }
5491 17240 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
5492 : {
5493 0 : {
5494 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q50, _q20 };
5495 0 : tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
5496 0 : if (res) return res;
5497 : }
5498 : }
5499 17240 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q21, 0))
5500 : {
5501 0 : {
5502 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q51, _q21 };
5503 0 : tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
5504 0 : if (res) return res;
5505 : }
5506 : }
5507 17240 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q21, 0))
5508 : {
5509 9 : {
5510 9 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _q50, _q21 };
5511 9 : tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
5512 9 : if (res) return res;
5513 : }
5514 : }
5515 : break;
5516 : }
5517 : default:;
5518 : }
5519 : break;
5520 : }
5521 9630 : case BIT_XOR_EXPR:
5522 9630 : {
5523 9630 : tree _q20 = TREE_OPERAND (_p0, 0);
5524 9630 : tree _q21 = TREE_OPERAND (_p0, 1);
5525 9630 : switch (TREE_CODE (_p1))
5526 : {
5527 54 : case BIT_NOT_EXPR:
5528 54 : {
5529 54 : tree _q50 = TREE_OPERAND (_p1, 0);
5530 54 : switch (TREE_CODE (_q50))
5531 : {
5532 19 : case BIT_IOR_EXPR:
5533 19 : {
5534 19 : tree _q60 = TREE_OPERAND (_q50, 0);
5535 19 : tree _q61 = TREE_OPERAND (_q50, 1);
5536 19 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
5537 : {
5538 1 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
5539 : {
5540 1 : {
5541 1 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
5542 1 : tree res = generic_simplify_133 (loc, type, _p0, _p1, captures);
5543 1 : if (res) return res;
5544 : }
5545 : }
5546 : }
5547 : break;
5548 : }
5549 : default:;
5550 : }
5551 : break;
5552 : }
5553 102 : case BIT_AND_EXPR:
5554 102 : {
5555 102 : tree _q50 = TREE_OPERAND (_p1, 0);
5556 102 : tree _q51 = TREE_OPERAND (_p1, 1);
5557 102 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
5558 : {
5559 30 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
5560 : {
5561 0 : {
5562 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
5563 0 : tree res = generic_simplify_23 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5564 0 : if (res) return res;
5565 : }
5566 : }
5567 : }
5568 : break;
5569 : }
5570 : default:;
5571 : }
5572 : break;
5573 : }
5574 562720 : CASE_CONVERT:
5575 562720 : {
5576 562720 : tree _q20 = TREE_OPERAND (_p0, 0);
5577 562720 : switch (TREE_CODE (_q20))
5578 : {
5579 72 : case BIT_NOT_EXPR:
5580 72 : {
5581 72 : tree _q30 = TREE_OPERAND (_q20, 0);
5582 72 : switch (TREE_CODE (_p1))
5583 : {
5584 8 : CASE_CONVERT:
5585 8 : {
5586 8 : tree _q50 = TREE_OPERAND (_p1, 0);
5587 8 : switch (TREE_CODE (_q50))
5588 : {
5589 0 : case BIT_NOT_EXPR:
5590 0 : {
5591 0 : tree _q60 = TREE_OPERAND (_q50, 0);
5592 0 : {
5593 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q60 };
5594 0 : tree res = generic_simplify_134 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
5595 0 : if (res) return res;
5596 : }
5597 0 : break;
5598 : }
5599 : default:;
5600 : }
5601 : break;
5602 : }
5603 32 : case BIT_NOT_EXPR:
5604 32 : {
5605 32 : tree _q50 = TREE_OPERAND (_p1, 0);
5606 32 : {
5607 32 : tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q50 };
5608 32 : tree res = generic_simplify_134 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
5609 32 : if (res) return res;
5610 : }
5611 32 : break;
5612 : }
5613 : default:;
5614 : }
5615 : break;
5616 : }
5617 124 : case BIT_AND_EXPR:
5618 124 : {
5619 124 : tree _q30 = TREE_OPERAND (_q20, 0);
5620 124 : tree _q31 = TREE_OPERAND (_q20, 1);
5621 124 : switch (TREE_CODE (_p1))
5622 : {
5623 6 : CASE_CONVERT:
5624 6 : {
5625 6 : tree _q60 = TREE_OPERAND (_p1, 0);
5626 6 : switch (TREE_CODE (_q60))
5627 : {
5628 0 : case BIT_AND_EXPR:
5629 0 : {
5630 0 : tree _q70 = TREE_OPERAND (_q60, 0);
5631 0 : tree _q71 = TREE_OPERAND (_q60, 1);
5632 0 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q30, 0))
5633 : {
5634 0 : {
5635 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q71, _q30 };
5636 0 : tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
5637 0 : if (res) return res;
5638 : }
5639 : }
5640 0 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q30, 0))
5641 : {
5642 0 : {
5643 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q70, _q30 };
5644 0 : tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
5645 0 : if (res) return res;
5646 : }
5647 : }
5648 0 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || operand_equal_p (_q70, _q31, 0))
5649 : {
5650 0 : {
5651 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q71, _q31 };
5652 0 : tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
5653 0 : if (res) return res;
5654 : }
5655 : }
5656 0 : if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || operand_equal_p (_q71, _q31, 0))
5657 : {
5658 0 : {
5659 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q70, _q31 };
5660 0 : tree res = generic_simplify_30 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
5661 0 : if (res) return res;
5662 : }
5663 : }
5664 : break;
5665 : }
5666 : default:;
5667 : }
5668 : break;
5669 : }
5670 : default:;
5671 : }
5672 : break;
5673 : }
5674 98 : case BIT_IOR_EXPR:
5675 98 : {
5676 98 : tree _q30 = TREE_OPERAND (_q20, 0);
5677 98 : tree _q31 = TREE_OPERAND (_q20, 1);
5678 98 : switch (TREE_CODE (_p1))
5679 : {
5680 4 : CASE_CONVERT:
5681 4 : {
5682 4 : tree _q60 = TREE_OPERAND (_p1, 0);
5683 4 : if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q31, 0))
5684 : {
5685 0 : {
5686 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q31 };
5687 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5688 0 : if (res) return res;
5689 : }
5690 : }
5691 4 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || operand_equal_p (_q60, _q30, 0))
5692 : {
5693 0 : {
5694 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q30, _q30 };
5695 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5696 0 : if (res) return res;
5697 : }
5698 : }
5699 : break;
5700 : }
5701 98 : default:;
5702 : }
5703 98 : if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q31, 0))
5704 : {
5705 0 : {
5706 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q30, _q31, _q31 };
5707 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5708 0 : if (res) return res;
5709 : }
5710 : }
5711 98 : if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || operand_equal_p (_p1, _q30, 0))
5712 : {
5713 0 : {
5714 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q31, _q30, _q30 };
5715 0 : tree res = generic_simplify_121 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5716 0 : if (res) return res;
5717 : }
5718 : }
5719 : break;
5720 : }
5721 562720 : default:;
5722 : }
5723 562720 : switch (TREE_CODE (_p1))
5724 : {
5725 540813 : CASE_CONVERT:
5726 540813 : {
5727 540813 : tree _q40 = TREE_OPERAND (_p1, 0);
5728 540813 : switch (TREE_CODE (_q40))
5729 : {
5730 0 : case BIT_IOR_EXPR:
5731 0 : {
5732 0 : tree _q50 = TREE_OPERAND (_q40, 0);
5733 0 : tree _q51 = TREE_OPERAND (_q40, 1);
5734 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || operand_equal_p (_q51, _q20, 0))
5735 : {
5736 0 : {
5737 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q50, _q51, _q20 };
5738 0 : tree res = generic_simplify_136 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5739 0 : if (res) return res;
5740 : }
5741 : }
5742 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || operand_equal_p (_q50, _q20, 0))
5743 : {
5744 0 : {
5745 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q51, _q50, _q20 };
5746 0 : tree res = generic_simplify_136 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5747 0 : if (res) return res;
5748 : }
5749 : }
5750 : break;
5751 : }
5752 : default:;
5753 : }
5754 : break;
5755 : }
5756 8 : case BIT_IOR_EXPR:
5757 8 : {
5758 8 : tree _q40 = TREE_OPERAND (_p1, 0);
5759 8 : tree _q41 = TREE_OPERAND (_p1, 1);
5760 8 : if ((_q41 == _q20 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _q20, 0))
5761 : {
5762 0 : {
5763 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _q20 };
5764 0 : tree res = generic_simplify_136 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5765 0 : if (res) return res;
5766 : }
5767 : }
5768 8 : if ((_q40 == _q20 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _q20, 0))
5769 : {
5770 0 : {
5771 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q41, _q40, _q20 };
5772 0 : tree res = generic_simplify_136 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5773 0 : if (res) return res;
5774 : }
5775 : }
5776 : break;
5777 : }
5778 : default:;
5779 : }
5780 : break;
5781 : }
5782 1845882 : default:;
5783 : }
5784 1845882 : switch (TREE_CODE (_p1))
5785 : {
5786 927649 : CASE_CONVERT:
5787 927649 : {
5788 927649 : tree _q30 = TREE_OPERAND (_p1, 0);
5789 927649 : switch (TREE_CODE (_q30))
5790 : {
5791 45 : case BIT_IOR_EXPR:
5792 45 : {
5793 45 : tree _q40 = TREE_OPERAND (_q30, 0);
5794 45 : tree _q41 = TREE_OPERAND (_q30, 1);
5795 45 : if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || operand_equal_p (_q41, _p0, 0))
5796 : {
5797 0 : {
5798 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q40, _q41, _p0 };
5799 0 : tree res = generic_simplify_136 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5800 0 : if (res) return res;
5801 : }
5802 : }
5803 45 : if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || operand_equal_p (_q40, _p0, 0))
5804 : {
5805 0 : {
5806 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q41, _q40, _p0 };
5807 0 : tree res = generic_simplify_136 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5808 0 : if (res) return res;
5809 : }
5810 : }
5811 : break;
5812 : }
5813 : default:;
5814 : }
5815 : break;
5816 : }
5817 486 : case BIT_IOR_EXPR:
5818 486 : {
5819 486 : tree _q30 = TREE_OPERAND (_p1, 0);
5820 486 : tree _q31 = TREE_OPERAND (_p1, 1);
5821 486 : if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || operand_equal_p (_q31, _p0, 0))
5822 : {
5823 0 : {
5824 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _q31, _p0 };
5825 0 : tree res = generic_simplify_136 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5826 0 : if (res) return res;
5827 : }
5828 : }
5829 486 : if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || operand_equal_p (_q30, _p0, 0))
5830 : {
5831 0 : {
5832 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q31, _q30, _p0 };
5833 0 : tree res = generic_simplify_136 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5834 0 : if (res) return res;
5835 : }
5836 : }
5837 : break;
5838 : }
5839 1845882 : default:;
5840 : }
5841 1845882 : switch (TREE_CODE (_p0))
5842 : {
5843 17913 : case BIT_IOR_EXPR:
5844 17913 : {
5845 17913 : tree _q20 = TREE_OPERAND (_p0, 0);
5846 17913 : tree _q21 = TREE_OPERAND (_p0, 1);
5847 17913 : {
5848 17913 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
5849 17913 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures);
5850 17913 : if (res) return res;
5851 : }
5852 17913 : switch (TREE_CODE (_p1))
5853 : {
5854 1923 : CASE_CONVERT:
5855 1923 : {
5856 1923 : tree _q50 = TREE_OPERAND (_p1, 0);
5857 1923 : switch (TREE_CODE (_q50))
5858 : {
5859 0 : case BIT_IOR_EXPR:
5860 0 : {
5861 0 : tree _q60 = TREE_OPERAND (_q50, 0);
5862 0 : tree _q61 = TREE_OPERAND (_q50, 1);
5863 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
5864 : {
5865 0 : {
5866 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _q50, _q61 };
5867 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5868 0 : if (res) return res;
5869 : }
5870 : }
5871 0 : if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
5872 : {
5873 0 : {
5874 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _q50, _q60 };
5875 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5876 0 : if (res) return res;
5877 : }
5878 : }
5879 0 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
5880 : {
5881 0 : {
5882 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _q50, _q61 };
5883 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5884 0 : if (res) return res;
5885 : }
5886 : }
5887 0 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
5888 : {
5889 0 : {
5890 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _q50, _q60 };
5891 0 : tree res = generic_simplify_138 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5892 0 : if (res) return res;
5893 : }
5894 : }
5895 : break;
5896 : }
5897 : default:;
5898 : }
5899 : break;
5900 : }
5901 1 : case BIT_IOR_EXPR:
5902 1 : {
5903 1 : tree _q50 = TREE_OPERAND (_p1, 0);
5904 1 : tree _q51 = TREE_OPERAND (_p1, 1);
5905 1 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
5906 : {
5907 0 : {
5908 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _p1, _q51 };
5909 0 : tree res = generic_simplify_139 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5910 0 : if (res) return res;
5911 : }
5912 : }
5913 1 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
5914 : {
5915 0 : {
5916 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _p1, _q50 };
5917 0 : tree res = generic_simplify_139 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5918 0 : if (res) return res;
5919 : }
5920 : }
5921 1 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
5922 : {
5923 0 : {
5924 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _p1, _q51 };
5925 0 : tree res = generic_simplify_139 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5926 0 : if (res) return res;
5927 : }
5928 : }
5929 1 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
5930 : {
5931 0 : {
5932 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q20, _p1, _p1, _q50 };
5933 0 : tree res = generic_simplify_139 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5934 0 : if (res) return res;
5935 : }
5936 : }
5937 : break;
5938 : }
5939 : default:;
5940 : }
5941 : break;
5942 : }
5943 1845882 : default:;
5944 : }
5945 1845882 : switch (TREE_CODE (_p1))
5946 : {
5947 486 : case BIT_IOR_EXPR:
5948 486 : {
5949 486 : tree _q30 = TREE_OPERAND (_p1, 0);
5950 486 : tree _q31 = TREE_OPERAND (_p1, 1);
5951 486 : {
5952 486 : tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
5953 486 : tree res = generic_simplify_137 (loc, type, _p0, _p1, captures);
5954 486 : if (res) return res;
5955 : }
5956 486 : break;
5957 : }
5958 1845882 : default:;
5959 : }
5960 1845882 : switch (TREE_CODE (_p0))
5961 : {
5962 562720 : CASE_CONVERT:
5963 562720 : {
5964 562720 : tree _q20 = TREE_OPERAND (_p0, 0);
5965 562720 : switch (TREE_CODE (_q20))
5966 : {
5967 98 : case BIT_IOR_EXPR:
5968 98 : {
5969 98 : tree _q30 = TREE_OPERAND (_q20, 0);
5970 98 : tree _q31 = TREE_OPERAND (_q20, 1);
5971 98 : switch (TREE_CODE (_p1))
5972 : {
5973 4 : CASE_CONVERT:
5974 4 : {
5975 4 : tree _q60 = TREE_OPERAND (_p1, 0);
5976 4 : switch (TREE_CODE (_q60))
5977 : {
5978 0 : case BIT_IOR_EXPR:
5979 0 : {
5980 0 : tree _q70 = TREE_OPERAND (_q60, 0);
5981 0 : tree _q71 = TREE_OPERAND (_q60, 1);
5982 0 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
5983 : {
5984 0 : {
5985 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60, _q71 };
5986 0 : tree res = generic_simplify_140 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5987 0 : if (res) return res;
5988 : }
5989 : }
5990 0 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
5991 : {
5992 0 : {
5993 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _q60, _q70 };
5994 0 : tree res = generic_simplify_140 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
5995 0 : if (res) return res;
5996 : }
5997 : }
5998 0 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
5999 : {
6000 0 : {
6001 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _q60, _q71 };
6002 0 : tree res = generic_simplify_140 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6003 0 : if (res) return res;
6004 : }
6005 : }
6006 0 : if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
6007 : {
6008 0 : {
6009 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _q60, _q70 };
6010 0 : tree res = generic_simplify_140 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6011 0 : if (res) return res;
6012 : }
6013 : }
6014 : break;
6015 : }
6016 : default:;
6017 : }
6018 : break;
6019 : }
6020 0 : case BIT_IOR_EXPR:
6021 0 : {
6022 0 : tree _q60 = TREE_OPERAND (_p1, 0);
6023 0 : tree _q61 = TREE_OPERAND (_p1, 1);
6024 0 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
6025 : {
6026 0 : {
6027 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _p1, _q61 };
6028 0 : tree res = generic_simplify_141 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6029 0 : if (res) return res;
6030 : }
6031 : }
6032 0 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
6033 : {
6034 0 : {
6035 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _p1, _p1, _q60 };
6036 0 : tree res = generic_simplify_141 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6037 0 : if (res) return res;
6038 : }
6039 : }
6040 0 : if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
6041 : {
6042 0 : {
6043 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _p1, _q61 };
6044 0 : tree res = generic_simplify_141 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6045 0 : if (res) return res;
6046 : }
6047 : }
6048 0 : if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
6049 : {
6050 0 : {
6051 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q30, _p1, _p1, _q60 };
6052 0 : tree res = generic_simplify_141 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6053 0 : if (res) return res;
6054 : }
6055 : }
6056 : break;
6057 : }
6058 : default:;
6059 : }
6060 : break;
6061 : }
6062 562720 : default:;
6063 : }
6064 562720 : switch (TREE_CODE (_p1))
6065 : {
6066 540813 : CASE_CONVERT:
6067 540813 : {
6068 540813 : tree _q40 = TREE_OPERAND (_p1, 0);
6069 540813 : {
6070 540813 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q40 };
6071 540813 : tree res = generic_simplify_32 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6072 540813 : if (res) return res;
6073 : }
6074 539934 : break;
6075 : }
6076 561841 : default:;
6077 : }
6078 561841 : {
6079 561841 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _p1 };
6080 561841 : tree res = generic_simplify_33 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6081 561841 : if (res) return res;
6082 : }
6083 560756 : break;
6084 : }
6085 79712 : case BIT_AND_EXPR:
6086 79712 : {
6087 79712 : tree _q20 = TREE_OPERAND (_p0, 0);
6088 79712 : tree _q21 = TREE_OPERAND (_p0, 1);
6089 79712 : if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
6090 : {
6091 2 : {
6092 2 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
6093 2 : tree res = generic_simplify_142 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6094 2 : if (res) return res;
6095 : }
6096 : }
6097 79710 : if ((_p1 == _q21 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q21, 0) && types_match (_p1, _q21)))
6098 : {
6099 13 : {
6100 13 : tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
6101 13 : tree res = generic_simplify_142 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6102 13 : if (res) return res;
6103 : }
6104 : }
6105 79697 : switch (TREE_CODE (_p1))
6106 : {
6107 1 : case BIT_IOR_EXPR:
6108 1 : {
6109 1 : tree _q50 = TREE_OPERAND (_p1, 0);
6110 1 : tree _q51 = TREE_OPERAND (_p1, 1);
6111 1 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
6112 : {
6113 1 : {
6114 1 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q51 };
6115 1 : tree res = generic_simplify_143 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6116 1 : if (res) return res;
6117 : }
6118 : }
6119 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
6120 : {
6121 0 : {
6122 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q50 };
6123 0 : tree res = generic_simplify_143 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6124 0 : if (res) return res;
6125 : }
6126 : }
6127 0 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
6128 : {
6129 0 : {
6130 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q51 };
6131 0 : tree res = generic_simplify_143 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6132 0 : if (res) return res;
6133 : }
6134 : }
6135 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
6136 : {
6137 0 : {
6138 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q50 };
6139 0 : tree res = generic_simplify_143 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6140 0 : if (res) return res;
6141 : }
6142 : }
6143 : break;
6144 : }
6145 73 : case BIT_NOT_EXPR:
6146 73 : {
6147 73 : tree _q50 = TREE_OPERAND (_p1, 0);
6148 73 : switch (TREE_CODE (_q50))
6149 : {
6150 1 : case BIT_AND_EXPR:
6151 1 : {
6152 1 : tree _q60 = TREE_OPERAND (_q50, 0);
6153 1 : tree _q61 = TREE_OPERAND (_q50, 1);
6154 1 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
6155 : {
6156 0 : {
6157 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q61 };
6158 0 : tree res = generic_simplify_144 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6159 0 : if (res) return res;
6160 : }
6161 : }
6162 1 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
6163 : {
6164 1 : {
6165 1 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _p1, _q60 };
6166 1 : tree res = generic_simplify_144 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6167 1 : if (res) return res;
6168 : }
6169 : }
6170 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
6171 : {
6172 0 : {
6173 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q61 };
6174 0 : tree res = generic_simplify_144 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6175 0 : if (res) return res;
6176 : }
6177 : }
6178 0 : if ((_q61 == _q20 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q20, 0) && types_match (_q61, _q20)))
6179 : {
6180 0 : {
6181 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q20, _p1, _q60 };
6182 0 : tree res = generic_simplify_144 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6183 0 : if (res) return res;
6184 : }
6185 : }
6186 : break;
6187 : }
6188 : default:;
6189 : }
6190 : break;
6191 : }
6192 : default:;
6193 : }
6194 : break;
6195 : }
6196 1843901 : default:;
6197 : }
6198 1843901 : switch (TREE_CODE (_p1))
6199 : {
6200 35882 : case BIT_AND_EXPR:
6201 35882 : {
6202 35882 : tree _q30 = TREE_OPERAND (_p1, 0);
6203 35882 : tree _q31 = TREE_OPERAND (_p1, 1);
6204 35882 : if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
6205 : {
6206 0 : {
6207 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
6208 0 : tree res = generic_simplify_142 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6209 0 : if (res) return res;
6210 : }
6211 : }
6212 35882 : if ((_q31 == _p0 && ! TREE_SIDE_EFFECTS (_q31)) || (operand_equal_p (_q31, _p0, 0) && types_match (_q31, _p0)))
6213 : {
6214 0 : {
6215 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q30 };
6216 0 : tree res = generic_simplify_142 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6217 0 : if (res) return res;
6218 : }
6219 : }
6220 : break;
6221 : }
6222 1843901 : default:;
6223 : }
6224 1843901 : switch (TREE_CODE (_p0))
6225 : {
6226 17913 : case BIT_IOR_EXPR:
6227 17913 : {
6228 17913 : tree _q20 = TREE_OPERAND (_p0, 0);
6229 17913 : tree _q21 = TREE_OPERAND (_p0, 1);
6230 17913 : switch (TREE_CODE (_p1))
6231 : {
6232 5533 : case BIT_AND_EXPR:
6233 5533 : {
6234 5533 : tree _q50 = TREE_OPERAND (_p1, 0);
6235 5533 : tree _q51 = TREE_OPERAND (_p1, 1);
6236 5533 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
6237 : {
6238 0 : {
6239 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q51, _p0, _q21 };
6240 0 : tree res = generic_simplify_145 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6241 0 : if (res) return res;
6242 : }
6243 : }
6244 5533 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
6245 : {
6246 0 : {
6247 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q51, _p0, _q20 };
6248 0 : tree res = generic_simplify_145 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6249 0 : if (res) return res;
6250 : }
6251 : }
6252 5533 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
6253 : {
6254 0 : {
6255 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q50, _p0, _q21 };
6256 0 : tree res = generic_simplify_145 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6257 0 : if (res) return res;
6258 : }
6259 : }
6260 5533 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
6261 : {
6262 0 : {
6263 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q21, _q50, _p0, _q20 };
6264 0 : tree res = generic_simplify_145 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6265 0 : if (res) return res;
6266 : }
6267 : }
6268 : break;
6269 : }
6270 : default:;
6271 : }
6272 : break;
6273 : }
6274 21867 : case BIT_NOT_EXPR:
6275 21867 : {
6276 21867 : tree _q20 = TREE_OPERAND (_p0, 0);
6277 21867 : switch (TREE_CODE (_q20))
6278 : {
6279 12 : case BIT_AND_EXPR:
6280 12 : {
6281 12 : tree _q30 = TREE_OPERAND (_q20, 0);
6282 12 : tree _q31 = TREE_OPERAND (_q20, 1);
6283 12 : switch (TREE_CODE (_p1))
6284 : {
6285 1 : case BIT_AND_EXPR:
6286 1 : {
6287 1 : tree _q60 = TREE_OPERAND (_p1, 0);
6288 1 : tree _q61 = TREE_OPERAND (_p1, 1);
6289 1 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
6290 : {
6291 0 : {
6292 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q60, _q30, _p0, _q31 };
6293 0 : tree res = generic_simplify_146 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6294 0 : if (res) return res;
6295 : }
6296 : }
6297 1 : if ((_q61 == _q31 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q31, 0) && types_match (_q61, _q31)))
6298 : {
6299 0 : {
6300 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q60, _q31, _p0, _q30 };
6301 0 : tree res = generic_simplify_146 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6302 0 : if (res) return res;
6303 : }
6304 : }
6305 1 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
6306 : {
6307 0 : {
6308 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q61, _q30, _p0, _q31 };
6309 0 : tree res = generic_simplify_146 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6310 0 : if (res) return res;
6311 : }
6312 : }
6313 1 : if ((_q60 == _q31 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q31, 0) && types_match (_q60, _q31)))
6314 : {
6315 0 : {
6316 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q61, _q31, _p0, _q30 };
6317 0 : tree res = generic_simplify_146 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6318 0 : if (res) return res;
6319 : }
6320 : }
6321 : break;
6322 : }
6323 12 : default:;
6324 : }
6325 12 : if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
6326 : {
6327 0 : {
6328 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
6329 0 : tree res = generic_simplify_147 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6330 0 : if (res) return res;
6331 : }
6332 : }
6333 12 : if ((_p1 == _q31 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q31, 0) && types_match (_p1, _q31)))
6334 : {
6335 1 : {
6336 1 : tree captures[2] ATTRIBUTE_UNUSED = { _q31, _q30 };
6337 1 : tree res = generic_simplify_147 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6338 1 : if (res) return res;
6339 : }
6340 : }
6341 : break;
6342 : }
6343 : default:;
6344 : }
6345 : break;
6346 : }
6347 1843900 : default:;
6348 : }
6349 1843900 : switch (TREE_CODE (_p1))
6350 : {
6351 393 : case BIT_NOT_EXPR:
6352 393 : {
6353 393 : tree _q30 = TREE_OPERAND (_p1, 0);
6354 393 : switch (TREE_CODE (_q30))
6355 : {
6356 0 : case BIT_AND_EXPR:
6357 0 : {
6358 0 : tree _q40 = TREE_OPERAND (_q30, 0);
6359 0 : tree _q41 = TREE_OPERAND (_q30, 1);
6360 0 : if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
6361 : {
6362 0 : {
6363 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
6364 0 : tree res = generic_simplify_147 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6365 0 : if (res) return res;
6366 : }
6367 : }
6368 0 : if ((_q41 == _p0 && ! TREE_SIDE_EFFECTS (_q41)) || (operand_equal_p (_q41, _p0, 0) && types_match (_q41, _p0)))
6369 : {
6370 0 : {
6371 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q40 };
6372 0 : tree res = generic_simplify_147 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR);
6373 0 : if (res) return res;
6374 : }
6375 : }
6376 : break;
6377 : }
6378 : default:;
6379 : }
6380 : break;
6381 : }
6382 1843900 : default:;
6383 : }
6384 1843900 : switch (TREE_CODE (_p0))
6385 : {
6386 79695 : case BIT_AND_EXPR:
6387 79695 : {
6388 79695 : tree _q20 = TREE_OPERAND (_p0, 0);
6389 79695 : tree _q21 = TREE_OPERAND (_p0, 1);
6390 79695 : {
6391 79695 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
6392 79695 : tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, BIT_IOR_EXPR);
6393 79695 : if (res) return res;
6394 : }
6395 79691 : {
6396 79691 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
6397 79691 : tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, BIT_IOR_EXPR);
6398 79691 : if (res) return res;
6399 : }
6400 79688 : {
6401 79688 : tree _q20_pops[1];
6402 79688 : if (tree_nop_convert (_q20, _q20_pops))
6403 : {
6404 6487 : tree _q30 = _q20_pops[0];
6405 6487 : switch (TREE_CODE (_q30))
6406 : {
6407 0 : case BIT_IOR_EXPR:
6408 0 : {
6409 0 : tree _q40 = TREE_OPERAND (_q30, 0);
6410 0 : tree _q41 = TREE_OPERAND (_q30, 1);
6411 0 : {
6412 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q40, _q41, _q21, _p1 };
6413 0 : tree res = generic_simplify_148 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6414 0 : if (res) return res;
6415 : }
6416 0 : {
6417 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q41, _q40, _q21, _p1 };
6418 0 : tree res = generic_simplify_148 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6419 0 : if (res) return res;
6420 : }
6421 0 : break;
6422 : }
6423 48 : case BIT_XOR_EXPR:
6424 48 : {
6425 48 : tree _q40 = TREE_OPERAND (_q30, 0);
6426 48 : tree _q41 = TREE_OPERAND (_q30, 1);
6427 48 : {
6428 48 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q40, _q41, _q21, _p1 };
6429 48 : tree res = generic_simplify_148 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6430 48 : if (res) return res;
6431 : }
6432 32 : {
6433 32 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q30, _q41, _q40, _q21, _p1 };
6434 32 : tree res = generic_simplify_148 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6435 32 : if (res) return res;
6436 : }
6437 32 : break;
6438 : }
6439 : default:;
6440 : }
6441 : }
6442 : }
6443 79672 : {
6444 79672 : tree _q21_pops[1];
6445 79672 : if (tree_nop_convert (_q21, _q21_pops))
6446 : {
6447 139 : tree _q40 = _q21_pops[0];
6448 139 : switch (TREE_CODE (_q40))
6449 : {
6450 0 : case BIT_IOR_EXPR:
6451 0 : {
6452 0 : tree _q50 = TREE_OPERAND (_q40, 0);
6453 0 : tree _q51 = TREE_OPERAND (_q40, 1);
6454 0 : {
6455 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q40, _q50, _q51, _q20, _p1 };
6456 0 : tree res = generic_simplify_148 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6457 0 : if (res) return res;
6458 : }
6459 0 : {
6460 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q40, _q51, _q50, _q20, _p1 };
6461 0 : tree res = generic_simplify_148 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6462 0 : if (res) return res;
6463 : }
6464 0 : break;
6465 : }
6466 0 : case BIT_XOR_EXPR:
6467 0 : {
6468 0 : tree _q50 = TREE_OPERAND (_q40, 0);
6469 0 : tree _q51 = TREE_OPERAND (_q40, 1);
6470 0 : {
6471 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q40, _q50, _q51, _q20, _p1 };
6472 0 : tree res = generic_simplify_148 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6473 0 : if (res) return res;
6474 : }
6475 0 : {
6476 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q40, _q51, _q50, _q20, _p1 };
6477 0 : tree res = generic_simplify_148 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6478 0 : if (res) return res;
6479 : }
6480 0 : break;
6481 : }
6482 : default:;
6483 : }
6484 : }
6485 : }
6486 79672 : switch (TREE_CODE (_q20))
6487 : {
6488 38 : case BIT_IOR_EXPR:
6489 38 : {
6490 38 : tree _q30 = TREE_OPERAND (_q20, 0);
6491 38 : tree _q31 = TREE_OPERAND (_q20, 1);
6492 38 : {
6493 38 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q30, _q31, _q21, _p1 };
6494 38 : tree res = generic_simplify_149 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6495 38 : if (res) return res;
6496 : }
6497 38 : {
6498 38 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q31, _q30, _q21, _p1 };
6499 38 : tree res = generic_simplify_149 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6500 38 : if (res) return res;
6501 : }
6502 38 : break;
6503 : }
6504 58 : case BIT_XOR_EXPR:
6505 58 : {
6506 58 : tree _q30 = TREE_OPERAND (_q20, 0);
6507 58 : tree _q31 = TREE_OPERAND (_q20, 1);
6508 58 : {
6509 58 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q30, _q31, _q21, _p1 };
6510 58 : tree res = generic_simplify_149 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6511 58 : if (res) return res;
6512 : }
6513 18 : {
6514 18 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q20, _q31, _q30, _q21, _p1 };
6515 18 : tree res = generic_simplify_149 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6516 18 : if (res) return res;
6517 : }
6518 18 : break;
6519 : }
6520 79632 : default:;
6521 : }
6522 79632 : switch (TREE_CODE (_q21))
6523 : {
6524 0 : case BIT_IOR_EXPR:
6525 0 : {
6526 0 : tree _q40 = TREE_OPERAND (_q21, 0);
6527 0 : tree _q41 = TREE_OPERAND (_q21, 1);
6528 0 : {
6529 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q21, _q40, _q41, _q20, _p1 };
6530 0 : tree res = generic_simplify_149 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6531 0 : if (res) return res;
6532 : }
6533 0 : {
6534 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q21, _q41, _q40, _q20, _p1 };
6535 0 : tree res = generic_simplify_149 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6536 0 : if (res) return res;
6537 : }
6538 0 : break;
6539 : }
6540 0 : case BIT_XOR_EXPR:
6541 0 : {
6542 0 : tree _q40 = TREE_OPERAND (_q21, 0);
6543 0 : tree _q41 = TREE_OPERAND (_q21, 1);
6544 0 : {
6545 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q21, _q40, _q41, _q20, _p1 };
6546 0 : tree res = generic_simplify_149 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6547 0 : if (res) return res;
6548 : }
6549 0 : {
6550 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q21, _q21, _q41, _q40, _q20, _p1 };
6551 0 : tree res = generic_simplify_149 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6552 0 : if (res) return res;
6553 : }
6554 0 : break;
6555 : }
6556 : default:;
6557 : }
6558 : break;
6559 : }
6560 1843837 : default:;
6561 : }
6562 1843837 : switch (TREE_CODE (_p1))
6563 : {
6564 35882 : case BIT_AND_EXPR:
6565 35882 : {
6566 35882 : tree _q30 = TREE_OPERAND (_p1, 0);
6567 35882 : tree _q31 = TREE_OPERAND (_p1, 1);
6568 35882 : {
6569 35882 : tree captures[3] ATTRIBUTE_UNUSED = { _q30, _q31, _p0 };
6570 35882 : tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, BIT_IOR_EXPR);
6571 35882 : if (res) return res;
6572 : }
6573 35882 : {
6574 35882 : tree captures[3] ATTRIBUTE_UNUSED = { _q31, _q30, _p0 };
6575 35882 : tree res = generic_simplify_34 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, BIT_AND_EXPR, BIT_IOR_EXPR);
6576 35882 : if (res) return res;
6577 : }
6578 35882 : break;
6579 : }
6580 1843837 : default:;
6581 : }
6582 1843837 : {
6583 1843837 : tree _p0_pops[1];
6584 1843837 : if (tree_nop_convert (_p0, _p0_pops))
6585 : {
6586 562850 : tree _q20 = _p0_pops[0];
6587 562850 : switch (TREE_CODE (_q20))
6588 : {
6589 98 : case BIT_AND_EXPR:
6590 98 : {
6591 98 : tree _q30 = TREE_OPERAND (_q20, 0);
6592 98 : tree _q31 = TREE_OPERAND (_q20, 1);
6593 98 : {
6594 98 : tree _q30_pops[1];
6595 98 : if (tree_nop_convert (_q30, _q30_pops))
6596 : {
6597 16 : tree _q40 = _q30_pops[0];
6598 16 : switch (TREE_CODE (_q40))
6599 : {
6600 0 : case BIT_IOR_EXPR:
6601 0 : {
6602 0 : tree _q50 = TREE_OPERAND (_q40, 0);
6603 0 : tree _q51 = TREE_OPERAND (_q40, 1);
6604 0 : {
6605 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q50, _q51, _q31, _p1 };
6606 0 : tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6607 0 : if (res) return res;
6608 : }
6609 0 : {
6610 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q51, _q50, _q31, _p1 };
6611 0 : tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6612 0 : if (res) return res;
6613 : }
6614 0 : break;
6615 : }
6616 0 : case BIT_XOR_EXPR:
6617 0 : {
6618 0 : tree _q50 = TREE_OPERAND (_q40, 0);
6619 0 : tree _q51 = TREE_OPERAND (_q40, 1);
6620 0 : {
6621 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q50, _q51, _q31, _p1 };
6622 0 : tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6623 0 : if (res) return res;
6624 : }
6625 0 : {
6626 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q40, _q51, _q50, _q31, _p1 };
6627 0 : tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6628 0 : if (res) return res;
6629 : }
6630 0 : break;
6631 : }
6632 : default:;
6633 : }
6634 : }
6635 : }
6636 98 : {
6637 98 : tree _q31_pops[1];
6638 98 : if (tree_nop_convert (_q31, _q31_pops))
6639 : {
6640 74 : tree _q50 = _q31_pops[0];
6641 74 : switch (TREE_CODE (_q50))
6642 : {
6643 0 : case BIT_IOR_EXPR:
6644 0 : {
6645 0 : tree _q60 = TREE_OPERAND (_q50, 0);
6646 0 : tree _q61 = TREE_OPERAND (_q50, 1);
6647 0 : {
6648 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q50, _q60, _q61, _q30, _p1 };
6649 0 : tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6650 0 : if (res) return res;
6651 : }
6652 0 : {
6653 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q50, _q61, _q60, _q30, _p1 };
6654 0 : tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6655 0 : if (res) return res;
6656 : }
6657 0 : break;
6658 : }
6659 0 : case BIT_XOR_EXPR:
6660 0 : {
6661 0 : tree _q60 = TREE_OPERAND (_q50, 0);
6662 0 : tree _q61 = TREE_OPERAND (_q50, 1);
6663 0 : {
6664 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q50, _q60, _q61, _q30, _p1 };
6665 0 : tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6666 0 : if (res) return res;
6667 : }
6668 0 : {
6669 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q50, _q61, _q60, _q30, _p1 };
6670 0 : tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6671 0 : if (res) return res;
6672 : }
6673 0 : break;
6674 : }
6675 : default:;
6676 : }
6677 : }
6678 : }
6679 98 : switch (TREE_CODE (_q30))
6680 : {
6681 0 : case BIT_IOR_EXPR:
6682 0 : {
6683 0 : tree _q40 = TREE_OPERAND (_q30, 0);
6684 0 : tree _q41 = TREE_OPERAND (_q30, 1);
6685 0 : {
6686 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q30, _q40, _q41, _q31, _p1 };
6687 0 : tree res = generic_simplify_151 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6688 0 : if (res) return res;
6689 : }
6690 0 : {
6691 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q30, _q41, _q40, _q31, _p1 };
6692 0 : tree res = generic_simplify_151 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6693 0 : if (res) return res;
6694 : }
6695 0 : break;
6696 : }
6697 0 : case BIT_XOR_EXPR:
6698 0 : {
6699 0 : tree _q40 = TREE_OPERAND (_q30, 0);
6700 0 : tree _q41 = TREE_OPERAND (_q30, 1);
6701 0 : {
6702 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q30, _q40, _q41, _q31, _p1 };
6703 0 : tree res = generic_simplify_151 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6704 0 : if (res) return res;
6705 : }
6706 0 : {
6707 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q30, _q41, _q40, _q31, _p1 };
6708 0 : tree res = generic_simplify_151 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6709 0 : if (res) return res;
6710 : }
6711 0 : break;
6712 : }
6713 98 : default:;
6714 : }
6715 98 : switch (TREE_CODE (_q31))
6716 : {
6717 0 : case BIT_IOR_EXPR:
6718 0 : {
6719 0 : tree _q50 = TREE_OPERAND (_q31, 0);
6720 0 : tree _q51 = TREE_OPERAND (_q31, 1);
6721 0 : {
6722 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q31, _q50, _q51, _q30, _p1 };
6723 0 : tree res = generic_simplify_151 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6724 0 : if (res) return res;
6725 : }
6726 0 : {
6727 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q31, _q51, _q50, _q30, _p1 };
6728 0 : tree res = generic_simplify_151 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6729 0 : if (res) return res;
6730 : }
6731 0 : break;
6732 : }
6733 0 : case BIT_XOR_EXPR:
6734 0 : {
6735 0 : tree _q50 = TREE_OPERAND (_q31, 0);
6736 0 : tree _q51 = TREE_OPERAND (_q31, 1);
6737 0 : {
6738 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q31, _q50, _q51, _q30, _p1 };
6739 0 : tree res = generic_simplify_151 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6740 0 : if (res) return res;
6741 : }
6742 0 : {
6743 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q31, _q31, _q51, _q50, _q30, _p1 };
6744 0 : tree res = generic_simplify_151 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6745 0 : if (res) return res;
6746 : }
6747 0 : break;
6748 : }
6749 : default:;
6750 : }
6751 : break;
6752 : }
6753 14 : case MULT_EXPR:
6754 14 : {
6755 14 : tree _q30 = TREE_OPERAND (_q20, 0);
6756 14 : tree _q31 = TREE_OPERAND (_q20, 1);
6757 14 : {
6758 14 : tree _q30_pops[1];
6759 14 : if (tree_nop_convert (_q30, _q30_pops))
6760 : {
6761 0 : tree _q40 = _q30_pops[0];
6762 0 : switch (TREE_CODE (_q31))
6763 : {
6764 0 : case INTEGER_CST:
6765 0 : {
6766 0 : switch (TREE_CODE (_p1))
6767 : {
6768 0 : case LSHIFT_EXPR:
6769 0 : {
6770 0 : tree _q70 = TREE_OPERAND (_p1, 0);
6771 0 : tree _q71 = TREE_OPERAND (_p1, 1);
6772 0 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
6773 : {
6774 0 : switch (TREE_CODE (_q71))
6775 : {
6776 0 : case INTEGER_CST:
6777 0 : {
6778 0 : {
6779 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31, _p1, _q71 };
6780 0 : tree res = generic_simplify_41 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6781 0 : if (res) return res;
6782 : }
6783 0 : break;
6784 : }
6785 : default:;
6786 : }
6787 : }
6788 : break;
6789 : }
6790 0 : default:;
6791 : }
6792 0 : {
6793 0 : tree _p1_pops[1];
6794 0 : if (tree_nop_convert (_p1, _p1_pops))
6795 : {
6796 0 : tree _q70 = _p1_pops[0];
6797 0 : switch (TREE_CODE (_q70))
6798 : {
6799 0 : case MULT_EXPR:
6800 0 : {
6801 0 : tree _q80 = TREE_OPERAND (_q70, 0);
6802 0 : tree _q81 = TREE_OPERAND (_q70, 1);
6803 0 : {
6804 0 : tree _q80_pops[1];
6805 0 : if (tree_nop_convert (_q80, _q80_pops))
6806 : {
6807 0 : tree _q90 = _q80_pops[0];
6808 0 : switch (TREE_CODE (_q81))
6809 : {
6810 0 : case INTEGER_CST:
6811 0 : {
6812 0 : {
6813 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31, _p1, _q70, _q90, _q81 };
6814 0 : tree res = generic_simplify_40 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6815 0 : if (res) return res;
6816 : }
6817 0 : break;
6818 : }
6819 : default:;
6820 : }
6821 : }
6822 : }
6823 0 : break;
6824 : }
6825 : default:;
6826 : }
6827 : }
6828 : }
6829 0 : if ((_p1 == _q40 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q40, 0) && types_match (_p1, _q40)))
6830 : {
6831 0 : {
6832 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _q31 };
6833 0 : tree res = generic_simplify_42 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6834 0 : if (res) return res;
6835 : }
6836 : }
6837 : break;
6838 : }
6839 : default:;
6840 : }
6841 : }
6842 : }
6843 14 : break;
6844 : }
6845 : default:;
6846 : }
6847 : }
6848 : }
6849 1843837 : switch (TREE_CODE (_p1))
6850 : {
6851 35882 : case BIT_AND_EXPR:
6852 35882 : {
6853 35882 : tree _q30 = TREE_OPERAND (_p1, 0);
6854 35882 : tree _q31 = TREE_OPERAND (_p1, 1);
6855 35882 : {
6856 35882 : tree _q30_pops[1];
6857 35882 : if (tree_nop_convert (_q30, _q30_pops))
6858 : {
6859 145 : tree _q40 = _q30_pops[0];
6860 145 : switch (TREE_CODE (_q40))
6861 : {
6862 0 : case BIT_IOR_EXPR:
6863 0 : {
6864 0 : tree _q50 = TREE_OPERAND (_q40, 0);
6865 0 : tree _q51 = TREE_OPERAND (_q40, 1);
6866 0 : {
6867 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _q40, _q50, _q51, _q31, _p0 };
6868 0 : tree res = generic_simplify_148 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6869 0 : if (res) return res;
6870 : }
6871 0 : {
6872 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _q40, _q51, _q50, _q31, _p0 };
6873 0 : tree res = generic_simplify_148 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6874 0 : if (res) return res;
6875 : }
6876 0 : break;
6877 : }
6878 0 : case BIT_XOR_EXPR:
6879 0 : {
6880 0 : tree _q50 = TREE_OPERAND (_q40, 0);
6881 0 : tree _q51 = TREE_OPERAND (_q40, 1);
6882 0 : {
6883 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _q40, _q50, _q51, _q31, _p0 };
6884 0 : tree res = generic_simplify_148 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6885 0 : if (res) return res;
6886 : }
6887 0 : {
6888 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _q40, _q51, _q50, _q31, _p0 };
6889 0 : tree res = generic_simplify_148 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6890 0 : if (res) return res;
6891 : }
6892 0 : break;
6893 : }
6894 : default:;
6895 : }
6896 : }
6897 : }
6898 35882 : {
6899 35882 : tree _q31_pops[1];
6900 35882 : if (tree_nop_convert (_q31, _q31_pops))
6901 : {
6902 113 : tree _q50 = _q31_pops[0];
6903 113 : switch (TREE_CODE (_q50))
6904 : {
6905 0 : case BIT_IOR_EXPR:
6906 0 : {
6907 0 : tree _q60 = TREE_OPERAND (_q50, 0);
6908 0 : tree _q61 = TREE_OPERAND (_q50, 1);
6909 0 : {
6910 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _q50, _q60, _q61, _q30, _p0 };
6911 0 : tree res = generic_simplify_148 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6912 0 : if (res) return res;
6913 : }
6914 0 : {
6915 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _q50, _q61, _q60, _q30, _p0 };
6916 0 : tree res = generic_simplify_148 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6917 0 : if (res) return res;
6918 : }
6919 0 : break;
6920 : }
6921 1 : case BIT_XOR_EXPR:
6922 1 : {
6923 1 : tree _q60 = TREE_OPERAND (_q50, 0);
6924 1 : tree _q61 = TREE_OPERAND (_q50, 1);
6925 1 : {
6926 1 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _q50, _q60, _q61, _q30, _p0 };
6927 1 : tree res = generic_simplify_148 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6928 1 : if (res) return res;
6929 : }
6930 1 : {
6931 1 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _q50, _q61, _q60, _q30, _p0 };
6932 1 : tree res = generic_simplify_148 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6933 1 : if (res) return res;
6934 : }
6935 1 : break;
6936 : }
6937 : default:;
6938 : }
6939 : }
6940 : }
6941 35882 : switch (TREE_CODE (_q30))
6942 : {
6943 274 : case BIT_IOR_EXPR:
6944 274 : {
6945 274 : tree _q40 = TREE_OPERAND (_q30, 0);
6946 274 : tree _q41 = TREE_OPERAND (_q30, 1);
6947 274 : {
6948 274 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _q30, _q40, _q41, _q31, _p0 };
6949 274 : tree res = generic_simplify_149 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6950 274 : if (res) return res;
6951 : }
6952 274 : {
6953 274 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _q30, _q41, _q40, _q31, _p0 };
6954 274 : tree res = generic_simplify_149 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6955 274 : if (res) return res;
6956 : }
6957 274 : break;
6958 : }
6959 0 : case BIT_XOR_EXPR:
6960 0 : {
6961 0 : tree _q40 = TREE_OPERAND (_q30, 0);
6962 0 : tree _q41 = TREE_OPERAND (_q30, 1);
6963 0 : {
6964 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _q30, _q40, _q41, _q31, _p0 };
6965 0 : tree res = generic_simplify_149 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6966 0 : if (res) return res;
6967 : }
6968 0 : {
6969 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q30, _q30, _q41, _q40, _q31, _p0 };
6970 0 : tree res = generic_simplify_149 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
6971 0 : if (res) return res;
6972 : }
6973 0 : break;
6974 : }
6975 35882 : default:;
6976 : }
6977 35882 : switch (TREE_CODE (_q31))
6978 : {
6979 0 : case BIT_IOR_EXPR:
6980 0 : {
6981 0 : tree _q50 = TREE_OPERAND (_q31, 0);
6982 0 : tree _q51 = TREE_OPERAND (_q31, 1);
6983 0 : {
6984 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _q31, _q50, _q51, _q30, _p0 };
6985 0 : tree res = generic_simplify_149 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6986 0 : if (res) return res;
6987 : }
6988 0 : {
6989 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _q31, _q51, _q50, _q30, _p0 };
6990 0 : tree res = generic_simplify_149 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
6991 0 : if (res) return res;
6992 : }
6993 0 : break;
6994 : }
6995 0 : case BIT_XOR_EXPR:
6996 0 : {
6997 0 : tree _q50 = TREE_OPERAND (_q31, 0);
6998 0 : tree _q51 = TREE_OPERAND (_q31, 1);
6999 0 : {
7000 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _q31, _q50, _q51, _q30, _p0 };
7001 0 : tree res = generic_simplify_149 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
7002 0 : if (res) return res;
7003 : }
7004 0 : {
7005 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _p1, _q31, _q31, _q51, _q50, _q30, _p0 };
7006 0 : tree res = generic_simplify_149 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
7007 0 : if (res) return res;
7008 : }
7009 0 : break;
7010 : }
7011 : default:;
7012 : }
7013 : break;
7014 : }
7015 1843837 : default:;
7016 : }
7017 1843837 : {
7018 1843837 : tree _p1_pops[1];
7019 1843837 : if (tree_nop_convert (_p1, _p1_pops))
7020 : {
7021 940476 : tree _q30 = _p1_pops[0];
7022 940476 : switch (TREE_CODE (_q30))
7023 : {
7024 36 : case BIT_AND_EXPR:
7025 36 : {
7026 36 : tree _q40 = TREE_OPERAND (_q30, 0);
7027 36 : tree _q41 = TREE_OPERAND (_q30, 1);
7028 36 : {
7029 36 : tree _q40_pops[1];
7030 36 : if (tree_nop_convert (_q40, _q40_pops))
7031 : {
7032 0 : tree _q50 = _q40_pops[0];
7033 0 : switch (TREE_CODE (_q50))
7034 : {
7035 0 : case BIT_IOR_EXPR:
7036 0 : {
7037 0 : tree _q60 = TREE_OPERAND (_q50, 0);
7038 0 : tree _q61 = TREE_OPERAND (_q50, 1);
7039 0 : {
7040 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q50, _q60, _q61, _q41, _p0 };
7041 0 : tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
7042 0 : if (res) return res;
7043 : }
7044 0 : {
7045 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q50, _q61, _q60, _q41, _p0 };
7046 0 : tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
7047 0 : if (res) return res;
7048 : }
7049 0 : break;
7050 : }
7051 0 : case BIT_XOR_EXPR:
7052 0 : {
7053 0 : tree _q60 = TREE_OPERAND (_q50, 0);
7054 0 : tree _q61 = TREE_OPERAND (_q50, 1);
7055 0 : {
7056 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q50, _q60, _q61, _q41, _p0 };
7057 0 : tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
7058 0 : if (res) return res;
7059 : }
7060 0 : {
7061 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q50, _q61, _q60, _q41, _p0 };
7062 0 : tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
7063 0 : if (res) return res;
7064 : }
7065 0 : break;
7066 : }
7067 : default:;
7068 : }
7069 : }
7070 : }
7071 36 : {
7072 36 : tree _q41_pops[1];
7073 36 : if (tree_nop_convert (_q41, _q41_pops))
7074 : {
7075 0 : tree _q60 = _q41_pops[0];
7076 0 : switch (TREE_CODE (_q60))
7077 : {
7078 0 : case BIT_IOR_EXPR:
7079 0 : {
7080 0 : tree _q70 = TREE_OPERAND (_q60, 0);
7081 0 : tree _q71 = TREE_OPERAND (_q60, 1);
7082 0 : {
7083 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q60, _q70, _q71, _q40, _p0 };
7084 0 : tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
7085 0 : if (res) return res;
7086 : }
7087 0 : {
7088 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q60, _q71, _q70, _q40, _p0 };
7089 0 : tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
7090 0 : if (res) return res;
7091 : }
7092 0 : break;
7093 : }
7094 0 : case BIT_XOR_EXPR:
7095 0 : {
7096 0 : tree _q70 = TREE_OPERAND (_q60, 0);
7097 0 : tree _q71 = TREE_OPERAND (_q60, 1);
7098 0 : {
7099 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q60, _q70, _q71, _q40, _p0 };
7100 0 : tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
7101 0 : if (res) return res;
7102 : }
7103 0 : {
7104 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q60, _q71, _q70, _q40, _p0 };
7105 0 : tree res = generic_simplify_150 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
7106 0 : if (res) return res;
7107 : }
7108 0 : break;
7109 : }
7110 : default:;
7111 : }
7112 : }
7113 : }
7114 36 : switch (TREE_CODE (_q40))
7115 : {
7116 0 : case BIT_IOR_EXPR:
7117 0 : {
7118 0 : tree _q50 = TREE_OPERAND (_q40, 0);
7119 0 : tree _q51 = TREE_OPERAND (_q40, 1);
7120 0 : {
7121 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q40, _q50, _q51, _q41, _p0 };
7122 0 : tree res = generic_simplify_151 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
7123 0 : if (res) return res;
7124 : }
7125 0 : {
7126 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q40, _q51, _q50, _q41, _p0 };
7127 0 : tree res = generic_simplify_151 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
7128 0 : if (res) return res;
7129 : }
7130 0 : break;
7131 : }
7132 0 : case BIT_XOR_EXPR:
7133 0 : {
7134 0 : tree _q50 = TREE_OPERAND (_q40, 0);
7135 0 : tree _q51 = TREE_OPERAND (_q40, 1);
7136 0 : {
7137 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q40, _q50, _q51, _q41, _p0 };
7138 0 : tree res = generic_simplify_151 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
7139 0 : if (res) return res;
7140 : }
7141 0 : {
7142 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q40, _q40, _q51, _q50, _q41, _p0 };
7143 0 : tree res = generic_simplify_151 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
7144 0 : if (res) return res;
7145 : }
7146 0 : break;
7147 : }
7148 36 : default:;
7149 : }
7150 36 : switch (TREE_CODE (_q41))
7151 : {
7152 0 : case BIT_IOR_EXPR:
7153 0 : {
7154 0 : tree _q60 = TREE_OPERAND (_q41, 0);
7155 0 : tree _q61 = TREE_OPERAND (_q41, 1);
7156 0 : {
7157 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q41, _q60, _q61, _q40, _p0 };
7158 0 : tree res = generic_simplify_151 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
7159 0 : if (res) return res;
7160 : }
7161 0 : {
7162 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q41, _q61, _q60, _q40, _p0 };
7163 0 : tree res = generic_simplify_151 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
7164 0 : if (res) return res;
7165 : }
7166 0 : break;
7167 : }
7168 0 : case BIT_XOR_EXPR:
7169 0 : {
7170 0 : tree _q60 = TREE_OPERAND (_q41, 0);
7171 0 : tree _q61 = TREE_OPERAND (_q41, 1);
7172 0 : {
7173 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q41, _q60, _q61, _q40, _p0 };
7174 0 : tree res = generic_simplify_151 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
7175 0 : if (res) return res;
7176 : }
7177 0 : {
7178 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p1, _q30, _q41, _q41, _q61, _q60, _q40, _p0 };
7179 0 : tree res = generic_simplify_151 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR);
7180 0 : if (res) return res;
7181 : }
7182 0 : break;
7183 : }
7184 : default:;
7185 : }
7186 : break;
7187 : }
7188 : default:;
7189 : }
7190 : }
7191 : }
7192 1843837 : switch (TREE_CODE (_p0))
7193 : {
7194 17913 : case BIT_IOR_EXPR:
7195 17913 : {
7196 17913 : tree _q20 = TREE_OPERAND (_p0, 0);
7197 17913 : tree _q21 = TREE_OPERAND (_p0, 1);
7198 17913 : if (CONSTANT_CLASS_P (_q21))
7199 : {
7200 818 : if (CONSTANT_CLASS_P (_p1))
7201 : {
7202 128 : {
7203 128 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
7204 128 : tree res = generic_simplify_35 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
7205 128 : if (res) return res;
7206 : }
7207 : }
7208 : }
7209 : break;
7210 : }
7211 1697 : case COND_EXPR:
7212 1697 : {
7213 1697 : tree _q20 = TREE_OPERAND (_p0, 0);
7214 1697 : tree _q21 = TREE_OPERAND (_p0, 1);
7215 1697 : tree _q22 = TREE_OPERAND (_p0, 2);
7216 1697 : if (integer_zerop (_q22))
7217 : {
7218 1567 : switch (TREE_CODE (_p1))
7219 : {
7220 612 : case COND_EXPR:
7221 612 : {
7222 612 : tree _q60 = TREE_OPERAND (_p1, 0);
7223 612 : tree _q61 = TREE_OPERAND (_p1, 1);
7224 612 : tree _q62 = TREE_OPERAND (_p1, 2);
7225 612 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
7226 : {
7227 0 : if (integer_zerop (_q61))
7228 : {
7229 0 : {
7230 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q62 };
7231 0 : const enum tree_code op = BIT_IOR_EXPR;
7232 0 : if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1312;
7233 0 : if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1312;
7234 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1312;
7235 0 : {
7236 0 : tree res_op0;
7237 0 : res_op0 = captures[1];
7238 0 : tree res_op1;
7239 0 : res_op1 = captures[2];
7240 0 : tree res_op2;
7241 0 : res_op2 = captures[4];
7242 0 : tree _r;
7243 0 : _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
7244 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 893, __FILE__, __LINE__, true);
7245 0 : return _r;
7246 : }
7247 0 : next_after_fail1312:;
7248 : }
7249 : }
7250 : }
7251 : break;
7252 : }
7253 : default:;
7254 : }
7255 : }
7256 1697 : if (integer_zerop (_q21))
7257 : {
7258 10 : switch (TREE_CODE (_p1))
7259 : {
7260 0 : case COND_EXPR:
7261 0 : {
7262 0 : tree _q60 = TREE_OPERAND (_p1, 0);
7263 0 : tree _q61 = TREE_OPERAND (_p1, 1);
7264 0 : tree _q62 = TREE_OPERAND (_p1, 2);
7265 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
7266 : {
7267 0 : if (integer_zerop (_q62))
7268 : {
7269 0 : {
7270 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q61, _p0, _q22 };
7271 0 : const enum tree_code op = BIT_IOR_EXPR;
7272 0 : if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1313;
7273 0 : if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1313;
7274 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1313;
7275 0 : {
7276 0 : tree res_op0;
7277 0 : res_op0 = captures[1];
7278 0 : tree res_op1;
7279 0 : res_op1 = captures[2];
7280 0 : tree res_op2;
7281 0 : res_op2 = captures[4];
7282 0 : tree _r;
7283 0 : _r = fold_build3_loc (loc, COND_EXPR, type, res_op0, res_op1, res_op2);
7284 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 893, __FILE__, __LINE__, true);
7285 0 : return _r;
7286 : }
7287 0 : next_after_fail1313:;
7288 : }
7289 : }
7290 : }
7291 : break;
7292 : }
7293 : default:;
7294 : }
7295 : }
7296 1697 : switch (TREE_CODE (_q20))
7297 : {
7298 39 : case LT_EXPR:
7299 39 : {
7300 39 : tree _q30 = TREE_OPERAND (_q20, 0);
7301 39 : tree _q31 = TREE_OPERAND (_q20, 1);
7302 39 : if (zerop (_q22))
7303 : {
7304 2 : switch (TREE_CODE (_p1))
7305 : {
7306 0 : case COND_EXPR:
7307 0 : {
7308 0 : tree _q80 = TREE_OPERAND (_p1, 0);
7309 0 : tree _q81 = TREE_OPERAND (_p1, 1);
7310 0 : tree _q82 = TREE_OPERAND (_p1, 2);
7311 0 : switch (TREE_CODE (_q80))
7312 : {
7313 0 : case GE_EXPR:
7314 0 : {
7315 0 : tree _q90 = TREE_OPERAND (_q80, 0);
7316 0 : tree _q91 = TREE_OPERAND (_q80, 1);
7317 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
7318 : {
7319 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
7320 : {
7321 0 : if (zerop (_q82))
7322 : {
7323 0 : {
7324 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
7325 0 : tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LT_EXPR, GE_EXPR);
7326 0 : if (res) return res;
7327 : }
7328 : }
7329 : }
7330 : }
7331 : break;
7332 : }
7333 : default:;
7334 : }
7335 : break;
7336 : }
7337 : default:;
7338 : }
7339 : }
7340 : break;
7341 : }
7342 1239 : case LE_EXPR:
7343 1239 : {
7344 1239 : tree _q30 = TREE_OPERAND (_q20, 0);
7345 1239 : tree _q31 = TREE_OPERAND (_q20, 1);
7346 1239 : if (zerop (_q22))
7347 : {
7348 1223 : switch (TREE_CODE (_p1))
7349 : {
7350 442 : case COND_EXPR:
7351 442 : {
7352 442 : tree _q80 = TREE_OPERAND (_p1, 0);
7353 442 : tree _q81 = TREE_OPERAND (_p1, 1);
7354 442 : tree _q82 = TREE_OPERAND (_p1, 2);
7355 442 : switch (TREE_CODE (_q80))
7356 : {
7357 0 : case GT_EXPR:
7358 0 : {
7359 0 : tree _q90 = TREE_OPERAND (_q80, 0);
7360 0 : tree _q91 = TREE_OPERAND (_q80, 1);
7361 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
7362 : {
7363 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
7364 : {
7365 0 : if (zerop (_q82))
7366 : {
7367 0 : {
7368 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
7369 0 : tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LE_EXPR, GT_EXPR);
7370 0 : if (res) return res;
7371 : }
7372 : }
7373 : }
7374 : }
7375 : break;
7376 : }
7377 : default:;
7378 : }
7379 : break;
7380 : }
7381 : default:;
7382 : }
7383 : }
7384 : break;
7385 : }
7386 4 : case EQ_EXPR:
7387 4 : {
7388 4 : tree _q30 = TREE_OPERAND (_q20, 0);
7389 4 : tree _q31 = TREE_OPERAND (_q20, 1);
7390 4 : if (zerop (_q22))
7391 : {
7392 4 : switch (TREE_CODE (_p1))
7393 : {
7394 0 : case COND_EXPR:
7395 0 : {
7396 0 : tree _q80 = TREE_OPERAND (_p1, 0);
7397 0 : tree _q81 = TREE_OPERAND (_p1, 1);
7398 0 : tree _q82 = TREE_OPERAND (_p1, 2);
7399 0 : switch (TREE_CODE (_q80))
7400 : {
7401 0 : case NE_EXPR:
7402 0 : {
7403 0 : tree _q90 = TREE_OPERAND (_q80, 0);
7404 0 : tree _q91 = TREE_OPERAND (_q80, 1);
7405 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
7406 : {
7407 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
7408 : {
7409 0 : if (zerop (_q82))
7410 : {
7411 0 : {
7412 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
7413 0 : tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, EQ_EXPR, NE_EXPR);
7414 0 : if (res) return res;
7415 : }
7416 : }
7417 : }
7418 : }
7419 : break;
7420 : }
7421 : default:;
7422 : }
7423 : break;
7424 : }
7425 : default:;
7426 : }
7427 : }
7428 : break;
7429 : }
7430 287 : case NE_EXPR:
7431 287 : {
7432 287 : tree _q30 = TREE_OPERAND (_q20, 0);
7433 287 : tree _q31 = TREE_OPERAND (_q20, 1);
7434 287 : if (zerop (_q22))
7435 : {
7436 220 : switch (TREE_CODE (_p1))
7437 : {
7438 62 : case COND_EXPR:
7439 62 : {
7440 62 : tree _q80 = TREE_OPERAND (_p1, 0);
7441 62 : tree _q81 = TREE_OPERAND (_p1, 1);
7442 62 : tree _q82 = TREE_OPERAND (_p1, 2);
7443 62 : switch (TREE_CODE (_q80))
7444 : {
7445 1 : case EQ_EXPR:
7446 1 : {
7447 1 : tree _q90 = TREE_OPERAND (_q80, 0);
7448 1 : tree _q91 = TREE_OPERAND (_q80, 1);
7449 1 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
7450 : {
7451 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
7452 : {
7453 0 : if (zerop (_q82))
7454 : {
7455 0 : {
7456 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
7457 0 : tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, NE_EXPR, EQ_EXPR);
7458 0 : if (res) return res;
7459 : }
7460 : }
7461 : }
7462 : }
7463 : break;
7464 : }
7465 : default:;
7466 : }
7467 : break;
7468 : }
7469 : default:;
7470 : }
7471 : }
7472 : break;
7473 : }
7474 0 : case GE_EXPR:
7475 0 : {
7476 0 : tree _q30 = TREE_OPERAND (_q20, 0);
7477 0 : tree _q31 = TREE_OPERAND (_q20, 1);
7478 0 : if (zerop (_q22))
7479 : {
7480 0 : switch (TREE_CODE (_p1))
7481 : {
7482 0 : case COND_EXPR:
7483 0 : {
7484 0 : tree _q80 = TREE_OPERAND (_p1, 0);
7485 0 : tree _q81 = TREE_OPERAND (_p1, 1);
7486 0 : tree _q82 = TREE_OPERAND (_p1, 2);
7487 0 : switch (TREE_CODE (_q80))
7488 : {
7489 0 : case LT_EXPR:
7490 0 : {
7491 0 : tree _q90 = TREE_OPERAND (_q80, 0);
7492 0 : tree _q91 = TREE_OPERAND (_q80, 1);
7493 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
7494 : {
7495 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
7496 : {
7497 0 : if (zerop (_q82))
7498 : {
7499 0 : {
7500 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
7501 0 : tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, GE_EXPR, LT_EXPR);
7502 0 : if (res) return res;
7503 : }
7504 : }
7505 : }
7506 : }
7507 : break;
7508 : }
7509 : default:;
7510 : }
7511 : break;
7512 : }
7513 : default:;
7514 : }
7515 : }
7516 : break;
7517 : }
7518 0 : case GT_EXPR:
7519 0 : {
7520 0 : tree _q30 = TREE_OPERAND (_q20, 0);
7521 0 : tree _q31 = TREE_OPERAND (_q20, 1);
7522 0 : if (zerop (_q22))
7523 : {
7524 0 : switch (TREE_CODE (_p1))
7525 : {
7526 0 : case COND_EXPR:
7527 0 : {
7528 0 : tree _q80 = TREE_OPERAND (_p1, 0);
7529 0 : tree _q81 = TREE_OPERAND (_p1, 1);
7530 0 : tree _q82 = TREE_OPERAND (_p1, 2);
7531 0 : switch (TREE_CODE (_q80))
7532 : {
7533 0 : case LE_EXPR:
7534 0 : {
7535 0 : tree _q90 = TREE_OPERAND (_q80, 0);
7536 0 : tree _q91 = TREE_OPERAND (_q80, 1);
7537 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
7538 : {
7539 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
7540 : {
7541 0 : if (zerop (_q82))
7542 : {
7543 0 : {
7544 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
7545 0 : tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, GT_EXPR, LE_EXPR);
7546 0 : if (res) return res;
7547 : }
7548 : }
7549 : }
7550 : }
7551 : break;
7552 : }
7553 : default:;
7554 : }
7555 : break;
7556 : }
7557 : default:;
7558 : }
7559 : }
7560 : break;
7561 : }
7562 0 : case UNORDERED_EXPR:
7563 0 : {
7564 0 : tree _q30 = TREE_OPERAND (_q20, 0);
7565 0 : tree _q31 = TREE_OPERAND (_q20, 1);
7566 0 : if (zerop (_q22))
7567 : {
7568 0 : switch (TREE_CODE (_p1))
7569 : {
7570 0 : case COND_EXPR:
7571 0 : {
7572 0 : tree _q80 = TREE_OPERAND (_p1, 0);
7573 0 : tree _q81 = TREE_OPERAND (_p1, 1);
7574 0 : tree _q82 = TREE_OPERAND (_p1, 2);
7575 0 : switch (TREE_CODE (_q80))
7576 : {
7577 0 : case ORDERED_EXPR:
7578 0 : {
7579 0 : tree _q90 = TREE_OPERAND (_q80, 0);
7580 0 : tree _q91 = TREE_OPERAND (_q80, 1);
7581 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
7582 : {
7583 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
7584 : {
7585 0 : if (zerop (_q82))
7586 : {
7587 0 : {
7588 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
7589 0 : tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, UNORDERED_EXPR, ORDERED_EXPR);
7590 0 : if (res) return res;
7591 : }
7592 : }
7593 : }
7594 : }
7595 : break;
7596 : }
7597 : default:;
7598 : }
7599 : break;
7600 : }
7601 : default:;
7602 : }
7603 : }
7604 : break;
7605 : }
7606 0 : case ORDERED_EXPR:
7607 0 : {
7608 0 : tree _q30 = TREE_OPERAND (_q20, 0);
7609 0 : tree _q31 = TREE_OPERAND (_q20, 1);
7610 0 : if (zerop (_q22))
7611 : {
7612 0 : switch (TREE_CODE (_p1))
7613 : {
7614 0 : case COND_EXPR:
7615 0 : {
7616 0 : tree _q80 = TREE_OPERAND (_p1, 0);
7617 0 : tree _q81 = TREE_OPERAND (_p1, 1);
7618 0 : tree _q82 = TREE_OPERAND (_p1, 2);
7619 0 : switch (TREE_CODE (_q80))
7620 : {
7621 0 : case UNORDERED_EXPR:
7622 0 : {
7623 0 : tree _q90 = TREE_OPERAND (_q80, 0);
7624 0 : tree _q91 = TREE_OPERAND (_q80, 1);
7625 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
7626 : {
7627 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
7628 : {
7629 0 : if (zerop (_q82))
7630 : {
7631 0 : {
7632 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
7633 0 : tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, ORDERED_EXPR, UNORDERED_EXPR);
7634 0 : if (res) return res;
7635 : }
7636 : }
7637 : }
7638 : }
7639 : break;
7640 : }
7641 : default:;
7642 : }
7643 : break;
7644 : }
7645 : default:;
7646 : }
7647 : }
7648 : break;
7649 : }
7650 0 : case UNLT_EXPR:
7651 0 : {
7652 0 : tree _q30 = TREE_OPERAND (_q20, 0);
7653 0 : tree _q31 = TREE_OPERAND (_q20, 1);
7654 0 : if (zerop (_q22))
7655 : {
7656 0 : switch (TREE_CODE (_p1))
7657 : {
7658 0 : case COND_EXPR:
7659 0 : {
7660 0 : tree _q80 = TREE_OPERAND (_p1, 0);
7661 0 : tree _q81 = TREE_OPERAND (_p1, 1);
7662 0 : tree _q82 = TREE_OPERAND (_p1, 2);
7663 0 : switch (TREE_CODE (_q80))
7664 : {
7665 0 : case GE_EXPR:
7666 0 : {
7667 0 : tree _q90 = TREE_OPERAND (_q80, 0);
7668 0 : tree _q91 = TREE_OPERAND (_q80, 1);
7669 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
7670 : {
7671 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
7672 : {
7673 0 : if (zerop (_q82))
7674 : {
7675 0 : {
7676 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
7677 0 : tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, UNLT_EXPR, GE_EXPR);
7678 0 : if (res) return res;
7679 : }
7680 : }
7681 : }
7682 : }
7683 : break;
7684 : }
7685 : default:;
7686 : }
7687 : break;
7688 : }
7689 : default:;
7690 : }
7691 : }
7692 : break;
7693 : }
7694 0 : case UNLE_EXPR:
7695 0 : {
7696 0 : tree _q30 = TREE_OPERAND (_q20, 0);
7697 0 : tree _q31 = TREE_OPERAND (_q20, 1);
7698 0 : if (zerop (_q22))
7699 : {
7700 0 : switch (TREE_CODE (_p1))
7701 : {
7702 0 : case COND_EXPR:
7703 0 : {
7704 0 : tree _q80 = TREE_OPERAND (_p1, 0);
7705 0 : tree _q81 = TREE_OPERAND (_p1, 1);
7706 0 : tree _q82 = TREE_OPERAND (_p1, 2);
7707 0 : switch (TREE_CODE (_q80))
7708 : {
7709 0 : case GT_EXPR:
7710 0 : {
7711 0 : tree _q90 = TREE_OPERAND (_q80, 0);
7712 0 : tree _q91 = TREE_OPERAND (_q80, 1);
7713 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
7714 : {
7715 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
7716 : {
7717 0 : if (zerop (_q82))
7718 : {
7719 0 : {
7720 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
7721 0 : tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, UNLE_EXPR, GT_EXPR);
7722 0 : if (res) return res;
7723 : }
7724 : }
7725 : }
7726 : }
7727 : break;
7728 : }
7729 : default:;
7730 : }
7731 : break;
7732 : }
7733 : default:;
7734 : }
7735 : }
7736 : break;
7737 : }
7738 0 : case UNGT_EXPR:
7739 0 : {
7740 0 : tree _q30 = TREE_OPERAND (_q20, 0);
7741 0 : tree _q31 = TREE_OPERAND (_q20, 1);
7742 0 : if (zerop (_q22))
7743 : {
7744 0 : switch (TREE_CODE (_p1))
7745 : {
7746 0 : case COND_EXPR:
7747 0 : {
7748 0 : tree _q80 = TREE_OPERAND (_p1, 0);
7749 0 : tree _q81 = TREE_OPERAND (_p1, 1);
7750 0 : tree _q82 = TREE_OPERAND (_p1, 2);
7751 0 : switch (TREE_CODE (_q80))
7752 : {
7753 0 : case LE_EXPR:
7754 0 : {
7755 0 : tree _q90 = TREE_OPERAND (_q80, 0);
7756 0 : tree _q91 = TREE_OPERAND (_q80, 1);
7757 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
7758 : {
7759 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
7760 : {
7761 0 : if (zerop (_q82))
7762 : {
7763 0 : {
7764 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
7765 0 : tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, UNGT_EXPR, LE_EXPR);
7766 0 : if (res) return res;
7767 : }
7768 : }
7769 : }
7770 : }
7771 : break;
7772 : }
7773 : default:;
7774 : }
7775 : break;
7776 : }
7777 : default:;
7778 : }
7779 : }
7780 : break;
7781 : }
7782 0 : case UNGE_EXPR:
7783 0 : {
7784 0 : tree _q30 = TREE_OPERAND (_q20, 0);
7785 0 : tree _q31 = TREE_OPERAND (_q20, 1);
7786 0 : if (zerop (_q22))
7787 : {
7788 0 : switch (TREE_CODE (_p1))
7789 : {
7790 0 : case COND_EXPR:
7791 0 : {
7792 0 : tree _q80 = TREE_OPERAND (_p1, 0);
7793 0 : tree _q81 = TREE_OPERAND (_p1, 1);
7794 0 : tree _q82 = TREE_OPERAND (_p1, 2);
7795 0 : switch (TREE_CODE (_q80))
7796 : {
7797 0 : case LT_EXPR:
7798 0 : {
7799 0 : tree _q90 = TREE_OPERAND (_q80, 0);
7800 0 : tree _q91 = TREE_OPERAND (_q80, 1);
7801 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
7802 : {
7803 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
7804 : {
7805 0 : if (zerop (_q82))
7806 : {
7807 0 : {
7808 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
7809 0 : tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, UNGE_EXPR, LT_EXPR);
7810 0 : if (res) return res;
7811 : }
7812 : }
7813 : }
7814 : }
7815 : break;
7816 : }
7817 : default:;
7818 : }
7819 : break;
7820 : }
7821 : default:;
7822 : }
7823 : }
7824 : break;
7825 : }
7826 0 : case UNEQ_EXPR:
7827 0 : {
7828 0 : tree _q30 = TREE_OPERAND (_q20, 0);
7829 0 : tree _q31 = TREE_OPERAND (_q20, 1);
7830 0 : if (zerop (_q22))
7831 : {
7832 0 : switch (TREE_CODE (_p1))
7833 : {
7834 0 : case COND_EXPR:
7835 0 : {
7836 0 : tree _q80 = TREE_OPERAND (_p1, 0);
7837 0 : tree _q81 = TREE_OPERAND (_p1, 1);
7838 0 : tree _q82 = TREE_OPERAND (_p1, 2);
7839 0 : switch (TREE_CODE (_q80))
7840 : {
7841 0 : case LTGT_EXPR:
7842 0 : {
7843 0 : tree _q90 = TREE_OPERAND (_q80, 0);
7844 0 : tree _q91 = TREE_OPERAND (_q80, 1);
7845 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
7846 : {
7847 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
7848 : {
7849 0 : if (zerop (_q82))
7850 : {
7851 0 : {
7852 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
7853 0 : tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, UNEQ_EXPR, LTGT_EXPR);
7854 0 : if (res) return res;
7855 : }
7856 : }
7857 : }
7858 : }
7859 : break;
7860 : }
7861 : default:;
7862 : }
7863 : break;
7864 : }
7865 : default:;
7866 : }
7867 : }
7868 : break;
7869 : }
7870 0 : case LTGT_EXPR:
7871 0 : {
7872 0 : tree _q30 = TREE_OPERAND (_q20, 0);
7873 0 : tree _q31 = TREE_OPERAND (_q20, 1);
7874 0 : if (zerop (_q22))
7875 : {
7876 0 : switch (TREE_CODE (_p1))
7877 : {
7878 0 : case COND_EXPR:
7879 0 : {
7880 0 : tree _q80 = TREE_OPERAND (_p1, 0);
7881 0 : tree _q81 = TREE_OPERAND (_p1, 1);
7882 0 : tree _q82 = TREE_OPERAND (_p1, 2);
7883 0 : switch (TREE_CODE (_q80))
7884 : {
7885 0 : case UNEQ_EXPR:
7886 0 : {
7887 0 : tree _q90 = TREE_OPERAND (_q80, 0);
7888 0 : tree _q91 = TREE_OPERAND (_q80, 1);
7889 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
7890 : {
7891 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
7892 : {
7893 0 : if (zerop (_q82))
7894 : {
7895 0 : {
7896 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q80, _q81 };
7897 0 : tree res = generic_simplify_37 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LTGT_EXPR, UNEQ_EXPR);
7898 0 : if (res) return res;
7899 : }
7900 : }
7901 : }
7902 : }
7903 : break;
7904 : }
7905 : default:;
7906 : }
7907 : break;
7908 : }
7909 : default:;
7910 : }
7911 : }
7912 : break;
7913 : }
7914 : default:;
7915 : }
7916 : break;
7917 : }
7918 61 : case VEC_COND_EXPR:
7919 61 : {
7920 61 : tree _q20 = TREE_OPERAND (_p0, 0);
7921 61 : tree _q21 = TREE_OPERAND (_p0, 1);
7922 61 : tree _q22 = TREE_OPERAND (_p0, 2);
7923 61 : if (integer_zerop (_q22))
7924 : {
7925 60 : switch (TREE_CODE (_p1))
7926 : {
7927 54 : case VEC_COND_EXPR:
7928 54 : {
7929 54 : tree _q60 = TREE_OPERAND (_p1, 0);
7930 54 : tree _q61 = TREE_OPERAND (_p1, 1);
7931 54 : tree _q62 = TREE_OPERAND (_p1, 2);
7932 54 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
7933 : {
7934 0 : if (integer_zerop (_q61))
7935 : {
7936 0 : {
7937 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q62 };
7938 0 : const enum tree_code op = BIT_IOR_EXPR;
7939 0 : if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1314;
7940 0 : if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1314;
7941 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1314;
7942 0 : {
7943 0 : tree res_op0;
7944 0 : res_op0 = captures[1];
7945 0 : tree res_op1;
7946 0 : res_op1 = captures[2];
7947 0 : tree res_op2;
7948 0 : res_op2 = captures[4];
7949 0 : tree _r;
7950 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
7951 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 893, __FILE__, __LINE__, true);
7952 0 : return _r;
7953 : }
7954 0 : next_after_fail1314:;
7955 : }
7956 : }
7957 : }
7958 : break;
7959 : }
7960 : default:;
7961 : }
7962 : }
7963 61 : if (integer_zerop (_q21))
7964 : {
7965 0 : switch (TREE_CODE (_p1))
7966 : {
7967 0 : case VEC_COND_EXPR:
7968 0 : {
7969 0 : tree _q60 = TREE_OPERAND (_p1, 0);
7970 0 : tree _q61 = TREE_OPERAND (_p1, 1);
7971 0 : tree _q62 = TREE_OPERAND (_p1, 2);
7972 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
7973 : {
7974 0 : if (integer_zerop (_q62))
7975 : {
7976 0 : {
7977 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q20, _q61, _p0, _q22 };
7978 0 : const enum tree_code op = BIT_IOR_EXPR;
7979 0 : if (TREE_SIDE_EFFECTS (_p0)) goto next_after_fail1315;
7980 0 : if (TREE_SIDE_EFFECTS (_p1)) goto next_after_fail1315;
7981 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1315;
7982 0 : {
7983 0 : tree res_op0;
7984 0 : res_op0 = captures[1];
7985 0 : tree res_op1;
7986 0 : res_op1 = captures[2];
7987 0 : tree res_op2;
7988 0 : res_op2 = captures[4];
7989 0 : tree _r;
7990 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
7991 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 893, __FILE__, __LINE__, true);
7992 0 : return _r;
7993 : }
7994 0 : next_after_fail1315:;
7995 : }
7996 : }
7997 : }
7998 : break;
7999 : }
8000 : default:;
8001 : }
8002 : }
8003 61 : switch (TREE_CODE (_q20))
8004 : {
8005 28 : case LT_EXPR:
8006 28 : {
8007 28 : tree _q30 = TREE_OPERAND (_q20, 0);
8008 28 : tree _q31 = TREE_OPERAND (_q20, 1);
8009 28 : if (integer_zerop (_q22))
8010 : {
8011 28 : switch (TREE_CODE (_p1))
8012 : {
8013 27 : case VEC_COND_EXPR:
8014 27 : {
8015 27 : tree _q80 = TREE_OPERAND (_p1, 0);
8016 27 : tree _q81 = TREE_OPERAND (_p1, 1);
8017 27 : tree _q82 = TREE_OPERAND (_p1, 2);
8018 27 : switch (TREE_CODE (_q80))
8019 : {
8020 0 : case GE_EXPR:
8021 0 : {
8022 0 : tree _q90 = TREE_OPERAND (_q80, 0);
8023 0 : tree _q91 = TREE_OPERAND (_q80, 1);
8024 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
8025 : {
8026 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
8027 : {
8028 0 : if (integer_zerop (_q82))
8029 : {
8030 0 : {
8031 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
8032 0 : tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LT_EXPR, GE_EXPR);
8033 0 : if (res) return res;
8034 : }
8035 : }
8036 : }
8037 : }
8038 : break;
8039 : }
8040 : default:;
8041 : }
8042 : break;
8043 : }
8044 : default:;
8045 : }
8046 : }
8047 : break;
8048 : }
8049 8 : case LE_EXPR:
8050 8 : {
8051 8 : tree _q30 = TREE_OPERAND (_q20, 0);
8052 8 : tree _q31 = TREE_OPERAND (_q20, 1);
8053 8 : if (integer_zerop (_q22))
8054 : {
8055 8 : switch (TREE_CODE (_p1))
8056 : {
8057 8 : case VEC_COND_EXPR:
8058 8 : {
8059 8 : tree _q80 = TREE_OPERAND (_p1, 0);
8060 8 : tree _q81 = TREE_OPERAND (_p1, 1);
8061 8 : tree _q82 = TREE_OPERAND (_p1, 2);
8062 8 : switch (TREE_CODE (_q80))
8063 : {
8064 0 : case GT_EXPR:
8065 0 : {
8066 0 : tree _q90 = TREE_OPERAND (_q80, 0);
8067 0 : tree _q91 = TREE_OPERAND (_q80, 1);
8068 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
8069 : {
8070 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
8071 : {
8072 0 : if (integer_zerop (_q82))
8073 : {
8074 0 : {
8075 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
8076 0 : tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LE_EXPR, GT_EXPR);
8077 0 : if (res) return res;
8078 : }
8079 : }
8080 : }
8081 : }
8082 : break;
8083 : }
8084 : default:;
8085 : }
8086 : break;
8087 : }
8088 : default:;
8089 : }
8090 : }
8091 : break;
8092 : }
8093 6 : case EQ_EXPR:
8094 6 : {
8095 6 : tree _q30 = TREE_OPERAND (_q20, 0);
8096 6 : tree _q31 = TREE_OPERAND (_q20, 1);
8097 6 : if (integer_zerop (_q22))
8098 : {
8099 6 : switch (TREE_CODE (_p1))
8100 : {
8101 6 : case VEC_COND_EXPR:
8102 6 : {
8103 6 : tree _q80 = TREE_OPERAND (_p1, 0);
8104 6 : tree _q81 = TREE_OPERAND (_p1, 1);
8105 6 : tree _q82 = TREE_OPERAND (_p1, 2);
8106 6 : switch (TREE_CODE (_q80))
8107 : {
8108 0 : case NE_EXPR:
8109 0 : {
8110 0 : tree _q90 = TREE_OPERAND (_q80, 0);
8111 0 : tree _q91 = TREE_OPERAND (_q80, 1);
8112 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
8113 : {
8114 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
8115 : {
8116 0 : if (integer_zerop (_q82))
8117 : {
8118 0 : {
8119 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
8120 0 : tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, EQ_EXPR, NE_EXPR);
8121 0 : if (res) return res;
8122 : }
8123 : }
8124 : }
8125 : }
8126 : break;
8127 : }
8128 : default:;
8129 : }
8130 : break;
8131 : }
8132 : default:;
8133 : }
8134 : }
8135 : break;
8136 : }
8137 6 : case NE_EXPR:
8138 6 : {
8139 6 : tree _q30 = TREE_OPERAND (_q20, 0);
8140 6 : tree _q31 = TREE_OPERAND (_q20, 1);
8141 6 : if (integer_zerop (_q22))
8142 : {
8143 6 : switch (TREE_CODE (_p1))
8144 : {
8145 1 : case VEC_COND_EXPR:
8146 1 : {
8147 1 : tree _q80 = TREE_OPERAND (_p1, 0);
8148 1 : tree _q81 = TREE_OPERAND (_p1, 1);
8149 1 : tree _q82 = TREE_OPERAND (_p1, 2);
8150 1 : switch (TREE_CODE (_q80))
8151 : {
8152 1 : case EQ_EXPR:
8153 1 : {
8154 1 : tree _q90 = TREE_OPERAND (_q80, 0);
8155 1 : tree _q91 = TREE_OPERAND (_q80, 1);
8156 1 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
8157 : {
8158 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
8159 : {
8160 0 : if (integer_zerop (_q82))
8161 : {
8162 0 : {
8163 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
8164 0 : tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, NE_EXPR, EQ_EXPR);
8165 0 : if (res) return res;
8166 : }
8167 : }
8168 : }
8169 : }
8170 : break;
8171 : }
8172 : default:;
8173 : }
8174 : break;
8175 : }
8176 : default:;
8177 : }
8178 : }
8179 : break;
8180 : }
8181 9 : case GE_EXPR:
8182 9 : {
8183 9 : tree _q30 = TREE_OPERAND (_q20, 0);
8184 9 : tree _q31 = TREE_OPERAND (_q20, 1);
8185 9 : if (integer_zerop (_q22))
8186 : {
8187 8 : switch (TREE_CODE (_p1))
8188 : {
8189 8 : case VEC_COND_EXPR:
8190 8 : {
8191 8 : tree _q80 = TREE_OPERAND (_p1, 0);
8192 8 : tree _q81 = TREE_OPERAND (_p1, 1);
8193 8 : tree _q82 = TREE_OPERAND (_p1, 2);
8194 8 : switch (TREE_CODE (_q80))
8195 : {
8196 0 : case LT_EXPR:
8197 0 : {
8198 0 : tree _q90 = TREE_OPERAND (_q80, 0);
8199 0 : tree _q91 = TREE_OPERAND (_q80, 1);
8200 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
8201 : {
8202 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
8203 : {
8204 0 : if (integer_zerop (_q82))
8205 : {
8206 0 : {
8207 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
8208 0 : tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, GE_EXPR, LT_EXPR);
8209 0 : if (res) return res;
8210 : }
8211 : }
8212 : }
8213 : }
8214 : break;
8215 : }
8216 : default:;
8217 : }
8218 : break;
8219 : }
8220 : default:;
8221 : }
8222 : }
8223 : break;
8224 : }
8225 4 : case GT_EXPR:
8226 4 : {
8227 4 : tree _q30 = TREE_OPERAND (_q20, 0);
8228 4 : tree _q31 = TREE_OPERAND (_q20, 1);
8229 4 : if (integer_zerop (_q22))
8230 : {
8231 4 : switch (TREE_CODE (_p1))
8232 : {
8233 4 : case VEC_COND_EXPR:
8234 4 : {
8235 4 : tree _q80 = TREE_OPERAND (_p1, 0);
8236 4 : tree _q81 = TREE_OPERAND (_p1, 1);
8237 4 : tree _q82 = TREE_OPERAND (_p1, 2);
8238 4 : switch (TREE_CODE (_q80))
8239 : {
8240 0 : case LE_EXPR:
8241 0 : {
8242 0 : tree _q90 = TREE_OPERAND (_q80, 0);
8243 0 : tree _q91 = TREE_OPERAND (_q80, 1);
8244 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
8245 : {
8246 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
8247 : {
8248 0 : if (integer_zerop (_q82))
8249 : {
8250 0 : {
8251 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
8252 0 : tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, GT_EXPR, LE_EXPR);
8253 0 : if (res) return res;
8254 : }
8255 : }
8256 : }
8257 : }
8258 : break;
8259 : }
8260 : default:;
8261 : }
8262 : break;
8263 : }
8264 : default:;
8265 : }
8266 : }
8267 : break;
8268 : }
8269 0 : case UNORDERED_EXPR:
8270 0 : {
8271 0 : tree _q30 = TREE_OPERAND (_q20, 0);
8272 0 : tree _q31 = TREE_OPERAND (_q20, 1);
8273 0 : if (integer_zerop (_q22))
8274 : {
8275 0 : switch (TREE_CODE (_p1))
8276 : {
8277 0 : case VEC_COND_EXPR:
8278 0 : {
8279 0 : tree _q80 = TREE_OPERAND (_p1, 0);
8280 0 : tree _q81 = TREE_OPERAND (_p1, 1);
8281 0 : tree _q82 = TREE_OPERAND (_p1, 2);
8282 0 : switch (TREE_CODE (_q80))
8283 : {
8284 0 : case ORDERED_EXPR:
8285 0 : {
8286 0 : tree _q90 = TREE_OPERAND (_q80, 0);
8287 0 : tree _q91 = TREE_OPERAND (_q80, 1);
8288 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
8289 : {
8290 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
8291 : {
8292 0 : if (integer_zerop (_q82))
8293 : {
8294 0 : {
8295 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
8296 0 : tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, UNORDERED_EXPR, ORDERED_EXPR);
8297 0 : if (res) return res;
8298 : }
8299 : }
8300 : }
8301 : }
8302 : break;
8303 : }
8304 : default:;
8305 : }
8306 : break;
8307 : }
8308 : default:;
8309 : }
8310 : }
8311 : break;
8312 : }
8313 0 : case ORDERED_EXPR:
8314 0 : {
8315 0 : tree _q30 = TREE_OPERAND (_q20, 0);
8316 0 : tree _q31 = TREE_OPERAND (_q20, 1);
8317 0 : if (integer_zerop (_q22))
8318 : {
8319 0 : switch (TREE_CODE (_p1))
8320 : {
8321 0 : case VEC_COND_EXPR:
8322 0 : {
8323 0 : tree _q80 = TREE_OPERAND (_p1, 0);
8324 0 : tree _q81 = TREE_OPERAND (_p1, 1);
8325 0 : tree _q82 = TREE_OPERAND (_p1, 2);
8326 0 : switch (TREE_CODE (_q80))
8327 : {
8328 0 : case UNORDERED_EXPR:
8329 0 : {
8330 0 : tree _q90 = TREE_OPERAND (_q80, 0);
8331 0 : tree _q91 = TREE_OPERAND (_q80, 1);
8332 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
8333 : {
8334 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
8335 : {
8336 0 : if (integer_zerop (_q82))
8337 : {
8338 0 : {
8339 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
8340 0 : tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, ORDERED_EXPR, UNORDERED_EXPR);
8341 0 : if (res) return res;
8342 : }
8343 : }
8344 : }
8345 : }
8346 : break;
8347 : }
8348 : default:;
8349 : }
8350 : break;
8351 : }
8352 : default:;
8353 : }
8354 : }
8355 : break;
8356 : }
8357 0 : case UNLT_EXPR:
8358 0 : {
8359 0 : tree _q30 = TREE_OPERAND (_q20, 0);
8360 0 : tree _q31 = TREE_OPERAND (_q20, 1);
8361 0 : if (integer_zerop (_q22))
8362 : {
8363 0 : switch (TREE_CODE (_p1))
8364 : {
8365 0 : case VEC_COND_EXPR:
8366 0 : {
8367 0 : tree _q80 = TREE_OPERAND (_p1, 0);
8368 0 : tree _q81 = TREE_OPERAND (_p1, 1);
8369 0 : tree _q82 = TREE_OPERAND (_p1, 2);
8370 0 : switch (TREE_CODE (_q80))
8371 : {
8372 0 : case GE_EXPR:
8373 0 : {
8374 0 : tree _q90 = TREE_OPERAND (_q80, 0);
8375 0 : tree _q91 = TREE_OPERAND (_q80, 1);
8376 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
8377 : {
8378 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
8379 : {
8380 0 : if (integer_zerop (_q82))
8381 : {
8382 0 : {
8383 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
8384 0 : tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, UNLT_EXPR, GE_EXPR);
8385 0 : if (res) return res;
8386 : }
8387 : }
8388 : }
8389 : }
8390 : break;
8391 : }
8392 : default:;
8393 : }
8394 : break;
8395 : }
8396 : default:;
8397 : }
8398 : }
8399 : break;
8400 : }
8401 0 : case UNLE_EXPR:
8402 0 : {
8403 0 : tree _q30 = TREE_OPERAND (_q20, 0);
8404 0 : tree _q31 = TREE_OPERAND (_q20, 1);
8405 0 : if (integer_zerop (_q22))
8406 : {
8407 0 : switch (TREE_CODE (_p1))
8408 : {
8409 0 : case VEC_COND_EXPR:
8410 0 : {
8411 0 : tree _q80 = TREE_OPERAND (_p1, 0);
8412 0 : tree _q81 = TREE_OPERAND (_p1, 1);
8413 0 : tree _q82 = TREE_OPERAND (_p1, 2);
8414 0 : switch (TREE_CODE (_q80))
8415 : {
8416 0 : case GT_EXPR:
8417 0 : {
8418 0 : tree _q90 = TREE_OPERAND (_q80, 0);
8419 0 : tree _q91 = TREE_OPERAND (_q80, 1);
8420 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
8421 : {
8422 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
8423 : {
8424 0 : if (integer_zerop (_q82))
8425 : {
8426 0 : {
8427 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
8428 0 : tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, UNLE_EXPR, GT_EXPR);
8429 0 : if (res) return res;
8430 : }
8431 : }
8432 : }
8433 : }
8434 : break;
8435 : }
8436 : default:;
8437 : }
8438 : break;
8439 : }
8440 : default:;
8441 : }
8442 : }
8443 : break;
8444 : }
8445 0 : case UNGT_EXPR:
8446 0 : {
8447 0 : tree _q30 = TREE_OPERAND (_q20, 0);
8448 0 : tree _q31 = TREE_OPERAND (_q20, 1);
8449 0 : if (integer_zerop (_q22))
8450 : {
8451 0 : switch (TREE_CODE (_p1))
8452 : {
8453 0 : case VEC_COND_EXPR:
8454 0 : {
8455 0 : tree _q80 = TREE_OPERAND (_p1, 0);
8456 0 : tree _q81 = TREE_OPERAND (_p1, 1);
8457 0 : tree _q82 = TREE_OPERAND (_p1, 2);
8458 0 : switch (TREE_CODE (_q80))
8459 : {
8460 0 : case LE_EXPR:
8461 0 : {
8462 0 : tree _q90 = TREE_OPERAND (_q80, 0);
8463 0 : tree _q91 = TREE_OPERAND (_q80, 1);
8464 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
8465 : {
8466 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
8467 : {
8468 0 : if (integer_zerop (_q82))
8469 : {
8470 0 : {
8471 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
8472 0 : tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, UNGT_EXPR, LE_EXPR);
8473 0 : if (res) return res;
8474 : }
8475 : }
8476 : }
8477 : }
8478 : break;
8479 : }
8480 : default:;
8481 : }
8482 : break;
8483 : }
8484 : default:;
8485 : }
8486 : }
8487 : break;
8488 : }
8489 0 : case UNGE_EXPR:
8490 0 : {
8491 0 : tree _q30 = TREE_OPERAND (_q20, 0);
8492 0 : tree _q31 = TREE_OPERAND (_q20, 1);
8493 0 : if (integer_zerop (_q22))
8494 : {
8495 0 : switch (TREE_CODE (_p1))
8496 : {
8497 0 : case VEC_COND_EXPR:
8498 0 : {
8499 0 : tree _q80 = TREE_OPERAND (_p1, 0);
8500 0 : tree _q81 = TREE_OPERAND (_p1, 1);
8501 0 : tree _q82 = TREE_OPERAND (_p1, 2);
8502 0 : switch (TREE_CODE (_q80))
8503 : {
8504 0 : case LT_EXPR:
8505 0 : {
8506 0 : tree _q90 = TREE_OPERAND (_q80, 0);
8507 0 : tree _q91 = TREE_OPERAND (_q80, 1);
8508 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
8509 : {
8510 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
8511 : {
8512 0 : if (integer_zerop (_q82))
8513 : {
8514 0 : {
8515 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
8516 0 : tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, UNGE_EXPR, LT_EXPR);
8517 0 : if (res) return res;
8518 : }
8519 : }
8520 : }
8521 : }
8522 : break;
8523 : }
8524 : default:;
8525 : }
8526 : break;
8527 : }
8528 : default:;
8529 : }
8530 : }
8531 : break;
8532 : }
8533 0 : case UNEQ_EXPR:
8534 0 : {
8535 0 : tree _q30 = TREE_OPERAND (_q20, 0);
8536 0 : tree _q31 = TREE_OPERAND (_q20, 1);
8537 0 : if (integer_zerop (_q22))
8538 : {
8539 0 : switch (TREE_CODE (_p1))
8540 : {
8541 0 : case VEC_COND_EXPR:
8542 0 : {
8543 0 : tree _q80 = TREE_OPERAND (_p1, 0);
8544 0 : tree _q81 = TREE_OPERAND (_p1, 1);
8545 0 : tree _q82 = TREE_OPERAND (_p1, 2);
8546 0 : switch (TREE_CODE (_q80))
8547 : {
8548 0 : case LTGT_EXPR:
8549 0 : {
8550 0 : tree _q90 = TREE_OPERAND (_q80, 0);
8551 0 : tree _q91 = TREE_OPERAND (_q80, 1);
8552 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
8553 : {
8554 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
8555 : {
8556 0 : if (integer_zerop (_q82))
8557 : {
8558 0 : {
8559 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
8560 0 : tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, UNEQ_EXPR, LTGT_EXPR);
8561 0 : if (res) return res;
8562 : }
8563 : }
8564 : }
8565 : }
8566 : break;
8567 : }
8568 : default:;
8569 : }
8570 : break;
8571 : }
8572 : default:;
8573 : }
8574 : }
8575 : break;
8576 : }
8577 0 : case LTGT_EXPR:
8578 0 : {
8579 0 : tree _q30 = TREE_OPERAND (_q20, 0);
8580 0 : tree _q31 = TREE_OPERAND (_q20, 1);
8581 0 : if (integer_zerop (_q22))
8582 : {
8583 0 : switch (TREE_CODE (_p1))
8584 : {
8585 0 : case VEC_COND_EXPR:
8586 0 : {
8587 0 : tree _q80 = TREE_OPERAND (_p1, 0);
8588 0 : tree _q81 = TREE_OPERAND (_p1, 1);
8589 0 : tree _q82 = TREE_OPERAND (_p1, 2);
8590 0 : switch (TREE_CODE (_q80))
8591 : {
8592 0 : case UNEQ_EXPR:
8593 0 : {
8594 0 : tree _q90 = TREE_OPERAND (_q80, 0);
8595 0 : tree _q91 = TREE_OPERAND (_q80, 1);
8596 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
8597 : {
8598 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
8599 : {
8600 0 : if (integer_zerop (_q82))
8601 : {
8602 0 : {
8603 0 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q80, _q81 };
8604 0 : tree res = generic_simplify_38 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LTGT_EXPR, UNEQ_EXPR);
8605 0 : if (res) return res;
8606 : }
8607 : }
8608 : }
8609 : }
8610 : break;
8611 : }
8612 : default:;
8613 : }
8614 : break;
8615 : }
8616 : default:;
8617 : }
8618 : }
8619 : break;
8620 : }
8621 : default:;
8622 : }
8623 : break;
8624 : }
8625 79632 : case BIT_AND_EXPR:
8626 79632 : {
8627 79632 : tree _q20 = TREE_OPERAND (_p0, 0);
8628 79632 : tree _q21 = TREE_OPERAND (_p0, 1);
8629 79632 : switch (TREE_CODE (_q20))
8630 : {
8631 23388 : CASE_CONVERT:
8632 23388 : {
8633 23388 : tree _q30 = TREE_OPERAND (_q20, 0);
8634 23388 : switch (TREE_CODE (_q30))
8635 : {
8636 0 : case LT_EXPR:
8637 0 : {
8638 0 : tree _q40 = TREE_OPERAND (_q30, 0);
8639 0 : tree _q41 = TREE_OPERAND (_q30, 1);
8640 0 : switch (TREE_CODE (_p1))
8641 : {
8642 0 : case BIT_AND_EXPR:
8643 0 : {
8644 0 : tree _q80 = TREE_OPERAND (_p1, 0);
8645 0 : tree _q81 = TREE_OPERAND (_p1, 1);
8646 0 : switch (TREE_CODE (_q80))
8647 : {
8648 0 : CASE_CONVERT:
8649 0 : {
8650 0 : tree _q90 = TREE_OPERAND (_q80, 0);
8651 0 : switch (TREE_CODE (_q90))
8652 : {
8653 0 : case GE_EXPR:
8654 0 : {
8655 0 : tree _q100 = TREE_OPERAND (_q90, 0);
8656 0 : tree _q101 = TREE_OPERAND (_q90, 1);
8657 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
8658 : {
8659 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
8660 : {
8661 0 : {
8662 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
8663 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
8664 0 : if (res) return res;
8665 : }
8666 : }
8667 : }
8668 : break;
8669 : }
8670 : default:;
8671 : }
8672 : break;
8673 : }
8674 0 : default:;
8675 : }
8676 0 : switch (TREE_CODE (_q81))
8677 : {
8678 0 : CASE_CONVERT:
8679 0 : {
8680 0 : tree _q100 = TREE_OPERAND (_q81, 0);
8681 0 : switch (TREE_CODE (_q100))
8682 : {
8683 0 : case GE_EXPR:
8684 0 : {
8685 0 : tree _q110 = TREE_OPERAND (_q100, 0);
8686 0 : tree _q111 = TREE_OPERAND (_q100, 1);
8687 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
8688 : {
8689 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
8690 : {
8691 0 : {
8692 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
8693 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
8694 0 : if (res) return res;
8695 : }
8696 : }
8697 : }
8698 : break;
8699 : }
8700 : default:;
8701 : }
8702 : break;
8703 : }
8704 : default:;
8705 : }
8706 : break;
8707 : }
8708 : default:;
8709 : }
8710 : break;
8711 : }
8712 0 : case LE_EXPR:
8713 0 : {
8714 0 : tree _q40 = TREE_OPERAND (_q30, 0);
8715 0 : tree _q41 = TREE_OPERAND (_q30, 1);
8716 0 : switch (TREE_CODE (_p1))
8717 : {
8718 0 : case BIT_AND_EXPR:
8719 0 : {
8720 0 : tree _q80 = TREE_OPERAND (_p1, 0);
8721 0 : tree _q81 = TREE_OPERAND (_p1, 1);
8722 0 : switch (TREE_CODE (_q80))
8723 : {
8724 0 : CASE_CONVERT:
8725 0 : {
8726 0 : tree _q90 = TREE_OPERAND (_q80, 0);
8727 0 : switch (TREE_CODE (_q90))
8728 : {
8729 0 : case GT_EXPR:
8730 0 : {
8731 0 : tree _q100 = TREE_OPERAND (_q90, 0);
8732 0 : tree _q101 = TREE_OPERAND (_q90, 1);
8733 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
8734 : {
8735 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
8736 : {
8737 0 : {
8738 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
8739 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
8740 0 : if (res) return res;
8741 : }
8742 : }
8743 : }
8744 : break;
8745 : }
8746 : default:;
8747 : }
8748 : break;
8749 : }
8750 0 : default:;
8751 : }
8752 0 : switch (TREE_CODE (_q81))
8753 : {
8754 0 : CASE_CONVERT:
8755 0 : {
8756 0 : tree _q100 = TREE_OPERAND (_q81, 0);
8757 0 : switch (TREE_CODE (_q100))
8758 : {
8759 0 : case GT_EXPR:
8760 0 : {
8761 0 : tree _q110 = TREE_OPERAND (_q100, 0);
8762 0 : tree _q111 = TREE_OPERAND (_q100, 1);
8763 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
8764 : {
8765 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
8766 : {
8767 0 : {
8768 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
8769 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
8770 0 : if (res) return res;
8771 : }
8772 : }
8773 : }
8774 : break;
8775 : }
8776 : default:;
8777 : }
8778 : break;
8779 : }
8780 : default:;
8781 : }
8782 : break;
8783 : }
8784 : default:;
8785 : }
8786 : break;
8787 : }
8788 0 : case EQ_EXPR:
8789 0 : {
8790 0 : tree _q40 = TREE_OPERAND (_q30, 0);
8791 0 : tree _q41 = TREE_OPERAND (_q30, 1);
8792 0 : switch (TREE_CODE (_p1))
8793 : {
8794 0 : case BIT_AND_EXPR:
8795 0 : {
8796 0 : tree _q80 = TREE_OPERAND (_p1, 0);
8797 0 : tree _q81 = TREE_OPERAND (_p1, 1);
8798 0 : switch (TREE_CODE (_q80))
8799 : {
8800 0 : CASE_CONVERT:
8801 0 : {
8802 0 : tree _q90 = TREE_OPERAND (_q80, 0);
8803 0 : switch (TREE_CODE (_q90))
8804 : {
8805 0 : case NE_EXPR:
8806 0 : {
8807 0 : tree _q100 = TREE_OPERAND (_q90, 0);
8808 0 : tree _q101 = TREE_OPERAND (_q90, 1);
8809 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
8810 : {
8811 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
8812 : {
8813 0 : {
8814 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
8815 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
8816 0 : if (res) return res;
8817 : }
8818 : }
8819 : }
8820 : break;
8821 : }
8822 : default:;
8823 : }
8824 : break;
8825 : }
8826 0 : default:;
8827 : }
8828 0 : switch (TREE_CODE (_q81))
8829 : {
8830 0 : CASE_CONVERT:
8831 0 : {
8832 0 : tree _q100 = TREE_OPERAND (_q81, 0);
8833 0 : switch (TREE_CODE (_q100))
8834 : {
8835 0 : case NE_EXPR:
8836 0 : {
8837 0 : tree _q110 = TREE_OPERAND (_q100, 0);
8838 0 : tree _q111 = TREE_OPERAND (_q100, 1);
8839 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
8840 : {
8841 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
8842 : {
8843 0 : {
8844 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
8845 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
8846 0 : if (res) return res;
8847 : }
8848 : }
8849 : }
8850 : break;
8851 : }
8852 : default:;
8853 : }
8854 : break;
8855 : }
8856 : default:;
8857 : }
8858 : break;
8859 : }
8860 : default:;
8861 : }
8862 : break;
8863 : }
8864 0 : case NE_EXPR:
8865 0 : {
8866 0 : tree _q40 = TREE_OPERAND (_q30, 0);
8867 0 : tree _q41 = TREE_OPERAND (_q30, 1);
8868 0 : switch (TREE_CODE (_p1))
8869 : {
8870 0 : case BIT_AND_EXPR:
8871 0 : {
8872 0 : tree _q80 = TREE_OPERAND (_p1, 0);
8873 0 : tree _q81 = TREE_OPERAND (_p1, 1);
8874 0 : switch (TREE_CODE (_q80))
8875 : {
8876 0 : CASE_CONVERT:
8877 0 : {
8878 0 : tree _q90 = TREE_OPERAND (_q80, 0);
8879 0 : switch (TREE_CODE (_q90))
8880 : {
8881 0 : case EQ_EXPR:
8882 0 : {
8883 0 : tree _q100 = TREE_OPERAND (_q90, 0);
8884 0 : tree _q101 = TREE_OPERAND (_q90, 1);
8885 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
8886 : {
8887 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
8888 : {
8889 0 : {
8890 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
8891 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
8892 0 : if (res) return res;
8893 : }
8894 : }
8895 : }
8896 : break;
8897 : }
8898 : default:;
8899 : }
8900 : break;
8901 : }
8902 0 : default:;
8903 : }
8904 0 : switch (TREE_CODE (_q81))
8905 : {
8906 0 : CASE_CONVERT:
8907 0 : {
8908 0 : tree _q100 = TREE_OPERAND (_q81, 0);
8909 0 : switch (TREE_CODE (_q100))
8910 : {
8911 0 : case EQ_EXPR:
8912 0 : {
8913 0 : tree _q110 = TREE_OPERAND (_q100, 0);
8914 0 : tree _q111 = TREE_OPERAND (_q100, 1);
8915 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
8916 : {
8917 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
8918 : {
8919 0 : {
8920 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
8921 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
8922 0 : if (res) return res;
8923 : }
8924 : }
8925 : }
8926 : break;
8927 : }
8928 : default:;
8929 : }
8930 : break;
8931 : }
8932 : default:;
8933 : }
8934 : break;
8935 : }
8936 : default:;
8937 : }
8938 : break;
8939 : }
8940 0 : case GE_EXPR:
8941 0 : {
8942 0 : tree _q40 = TREE_OPERAND (_q30, 0);
8943 0 : tree _q41 = TREE_OPERAND (_q30, 1);
8944 0 : switch (TREE_CODE (_p1))
8945 : {
8946 0 : case BIT_AND_EXPR:
8947 0 : {
8948 0 : tree _q80 = TREE_OPERAND (_p1, 0);
8949 0 : tree _q81 = TREE_OPERAND (_p1, 1);
8950 0 : switch (TREE_CODE (_q80))
8951 : {
8952 0 : CASE_CONVERT:
8953 0 : {
8954 0 : tree _q90 = TREE_OPERAND (_q80, 0);
8955 0 : switch (TREE_CODE (_q90))
8956 : {
8957 0 : case LT_EXPR:
8958 0 : {
8959 0 : tree _q100 = TREE_OPERAND (_q90, 0);
8960 0 : tree _q101 = TREE_OPERAND (_q90, 1);
8961 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
8962 : {
8963 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
8964 : {
8965 0 : {
8966 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
8967 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
8968 0 : if (res) return res;
8969 : }
8970 : }
8971 : }
8972 : break;
8973 : }
8974 : default:;
8975 : }
8976 : break;
8977 : }
8978 0 : default:;
8979 : }
8980 0 : switch (TREE_CODE (_q81))
8981 : {
8982 0 : CASE_CONVERT:
8983 0 : {
8984 0 : tree _q100 = TREE_OPERAND (_q81, 0);
8985 0 : switch (TREE_CODE (_q100))
8986 : {
8987 0 : case LT_EXPR:
8988 0 : {
8989 0 : tree _q110 = TREE_OPERAND (_q100, 0);
8990 0 : tree _q111 = TREE_OPERAND (_q100, 1);
8991 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
8992 : {
8993 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
8994 : {
8995 0 : {
8996 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
8997 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
8998 0 : if (res) return res;
8999 : }
9000 : }
9001 : }
9002 : break;
9003 : }
9004 : default:;
9005 : }
9006 : break;
9007 : }
9008 : default:;
9009 : }
9010 : break;
9011 : }
9012 : default:;
9013 : }
9014 : break;
9015 : }
9016 0 : case GT_EXPR:
9017 0 : {
9018 0 : tree _q40 = TREE_OPERAND (_q30, 0);
9019 0 : tree _q41 = TREE_OPERAND (_q30, 1);
9020 0 : switch (TREE_CODE (_p1))
9021 : {
9022 0 : case BIT_AND_EXPR:
9023 0 : {
9024 0 : tree _q80 = TREE_OPERAND (_p1, 0);
9025 0 : tree _q81 = TREE_OPERAND (_p1, 1);
9026 0 : switch (TREE_CODE (_q80))
9027 : {
9028 0 : CASE_CONVERT:
9029 0 : {
9030 0 : tree _q90 = TREE_OPERAND (_q80, 0);
9031 0 : switch (TREE_CODE (_q90))
9032 : {
9033 0 : case LE_EXPR:
9034 0 : {
9035 0 : tree _q100 = TREE_OPERAND (_q90, 0);
9036 0 : tree _q101 = TREE_OPERAND (_q90, 1);
9037 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
9038 : {
9039 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
9040 : {
9041 0 : {
9042 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
9043 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
9044 0 : if (res) return res;
9045 : }
9046 : }
9047 : }
9048 : break;
9049 : }
9050 : default:;
9051 : }
9052 : break;
9053 : }
9054 0 : default:;
9055 : }
9056 0 : switch (TREE_CODE (_q81))
9057 : {
9058 0 : CASE_CONVERT:
9059 0 : {
9060 0 : tree _q100 = TREE_OPERAND (_q81, 0);
9061 0 : switch (TREE_CODE (_q100))
9062 : {
9063 0 : case LE_EXPR:
9064 0 : {
9065 0 : tree _q110 = TREE_OPERAND (_q100, 0);
9066 0 : tree _q111 = TREE_OPERAND (_q100, 1);
9067 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
9068 : {
9069 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
9070 : {
9071 0 : {
9072 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
9073 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
9074 0 : if (res) return res;
9075 : }
9076 : }
9077 : }
9078 : break;
9079 : }
9080 : default:;
9081 : }
9082 : break;
9083 : }
9084 : default:;
9085 : }
9086 : break;
9087 : }
9088 : default:;
9089 : }
9090 : break;
9091 : }
9092 0 : case UNORDERED_EXPR:
9093 0 : {
9094 0 : tree _q40 = TREE_OPERAND (_q30, 0);
9095 0 : tree _q41 = TREE_OPERAND (_q30, 1);
9096 0 : switch (TREE_CODE (_p1))
9097 : {
9098 0 : case BIT_AND_EXPR:
9099 0 : {
9100 0 : tree _q80 = TREE_OPERAND (_p1, 0);
9101 0 : tree _q81 = TREE_OPERAND (_p1, 1);
9102 0 : switch (TREE_CODE (_q80))
9103 : {
9104 0 : CASE_CONVERT:
9105 0 : {
9106 0 : tree _q90 = TREE_OPERAND (_q80, 0);
9107 0 : switch (TREE_CODE (_q90))
9108 : {
9109 0 : case ORDERED_EXPR:
9110 0 : {
9111 0 : tree _q100 = TREE_OPERAND (_q90, 0);
9112 0 : tree _q101 = TREE_OPERAND (_q90, 1);
9113 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
9114 : {
9115 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
9116 : {
9117 0 : {
9118 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
9119 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR);
9120 0 : if (res) return res;
9121 : }
9122 : }
9123 : }
9124 : break;
9125 : }
9126 : default:;
9127 : }
9128 : break;
9129 : }
9130 0 : default:;
9131 : }
9132 0 : switch (TREE_CODE (_q81))
9133 : {
9134 0 : CASE_CONVERT:
9135 0 : {
9136 0 : tree _q100 = TREE_OPERAND (_q81, 0);
9137 0 : switch (TREE_CODE (_q100))
9138 : {
9139 0 : case ORDERED_EXPR:
9140 0 : {
9141 0 : tree _q110 = TREE_OPERAND (_q100, 0);
9142 0 : tree _q111 = TREE_OPERAND (_q100, 1);
9143 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
9144 : {
9145 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
9146 : {
9147 0 : {
9148 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
9149 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR);
9150 0 : if (res) return res;
9151 : }
9152 : }
9153 : }
9154 : break;
9155 : }
9156 : default:;
9157 : }
9158 : break;
9159 : }
9160 : default:;
9161 : }
9162 : break;
9163 : }
9164 : default:;
9165 : }
9166 : break;
9167 : }
9168 0 : case ORDERED_EXPR:
9169 0 : {
9170 0 : tree _q40 = TREE_OPERAND (_q30, 0);
9171 0 : tree _q41 = TREE_OPERAND (_q30, 1);
9172 0 : switch (TREE_CODE (_p1))
9173 : {
9174 0 : case BIT_AND_EXPR:
9175 0 : {
9176 0 : tree _q80 = TREE_OPERAND (_p1, 0);
9177 0 : tree _q81 = TREE_OPERAND (_p1, 1);
9178 0 : switch (TREE_CODE (_q80))
9179 : {
9180 0 : CASE_CONVERT:
9181 0 : {
9182 0 : tree _q90 = TREE_OPERAND (_q80, 0);
9183 0 : switch (TREE_CODE (_q90))
9184 : {
9185 0 : case UNORDERED_EXPR:
9186 0 : {
9187 0 : tree _q100 = TREE_OPERAND (_q90, 0);
9188 0 : tree _q101 = TREE_OPERAND (_q90, 1);
9189 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
9190 : {
9191 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
9192 : {
9193 0 : {
9194 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
9195 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR);
9196 0 : if (res) return res;
9197 : }
9198 : }
9199 : }
9200 : break;
9201 : }
9202 : default:;
9203 : }
9204 : break;
9205 : }
9206 0 : default:;
9207 : }
9208 0 : switch (TREE_CODE (_q81))
9209 : {
9210 0 : CASE_CONVERT:
9211 0 : {
9212 0 : tree _q100 = TREE_OPERAND (_q81, 0);
9213 0 : switch (TREE_CODE (_q100))
9214 : {
9215 0 : case UNORDERED_EXPR:
9216 0 : {
9217 0 : tree _q110 = TREE_OPERAND (_q100, 0);
9218 0 : tree _q111 = TREE_OPERAND (_q100, 1);
9219 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
9220 : {
9221 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
9222 : {
9223 0 : {
9224 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
9225 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR);
9226 0 : if (res) return res;
9227 : }
9228 : }
9229 : }
9230 : break;
9231 : }
9232 : default:;
9233 : }
9234 : break;
9235 : }
9236 : default:;
9237 : }
9238 : break;
9239 : }
9240 : default:;
9241 : }
9242 : break;
9243 : }
9244 0 : case UNLT_EXPR:
9245 0 : {
9246 0 : tree _q40 = TREE_OPERAND (_q30, 0);
9247 0 : tree _q41 = TREE_OPERAND (_q30, 1);
9248 0 : switch (TREE_CODE (_p1))
9249 : {
9250 0 : case BIT_AND_EXPR:
9251 0 : {
9252 0 : tree _q80 = TREE_OPERAND (_p1, 0);
9253 0 : tree _q81 = TREE_OPERAND (_p1, 1);
9254 0 : switch (TREE_CODE (_q80))
9255 : {
9256 0 : CASE_CONVERT:
9257 0 : {
9258 0 : tree _q90 = TREE_OPERAND (_q80, 0);
9259 0 : switch (TREE_CODE (_q90))
9260 : {
9261 0 : case GE_EXPR:
9262 0 : {
9263 0 : tree _q100 = TREE_OPERAND (_q90, 0);
9264 0 : tree _q101 = TREE_OPERAND (_q90, 1);
9265 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
9266 : {
9267 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
9268 : {
9269 0 : {
9270 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
9271 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR);
9272 0 : if (res) return res;
9273 : }
9274 : }
9275 : }
9276 : break;
9277 : }
9278 : default:;
9279 : }
9280 : break;
9281 : }
9282 0 : default:;
9283 : }
9284 0 : switch (TREE_CODE (_q81))
9285 : {
9286 0 : CASE_CONVERT:
9287 0 : {
9288 0 : tree _q100 = TREE_OPERAND (_q81, 0);
9289 0 : switch (TREE_CODE (_q100))
9290 : {
9291 0 : case GE_EXPR:
9292 0 : {
9293 0 : tree _q110 = TREE_OPERAND (_q100, 0);
9294 0 : tree _q111 = TREE_OPERAND (_q100, 1);
9295 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
9296 : {
9297 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
9298 : {
9299 0 : {
9300 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
9301 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR);
9302 0 : if (res) return res;
9303 : }
9304 : }
9305 : }
9306 : break;
9307 : }
9308 : default:;
9309 : }
9310 : break;
9311 : }
9312 : default:;
9313 : }
9314 : break;
9315 : }
9316 : default:;
9317 : }
9318 : break;
9319 : }
9320 0 : case UNLE_EXPR:
9321 0 : {
9322 0 : tree _q40 = TREE_OPERAND (_q30, 0);
9323 0 : tree _q41 = TREE_OPERAND (_q30, 1);
9324 0 : switch (TREE_CODE (_p1))
9325 : {
9326 0 : case BIT_AND_EXPR:
9327 0 : {
9328 0 : tree _q80 = TREE_OPERAND (_p1, 0);
9329 0 : tree _q81 = TREE_OPERAND (_p1, 1);
9330 0 : switch (TREE_CODE (_q80))
9331 : {
9332 0 : CASE_CONVERT:
9333 0 : {
9334 0 : tree _q90 = TREE_OPERAND (_q80, 0);
9335 0 : switch (TREE_CODE (_q90))
9336 : {
9337 0 : case GT_EXPR:
9338 0 : {
9339 0 : tree _q100 = TREE_OPERAND (_q90, 0);
9340 0 : tree _q101 = TREE_OPERAND (_q90, 1);
9341 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
9342 : {
9343 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
9344 : {
9345 0 : {
9346 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
9347 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR);
9348 0 : if (res) return res;
9349 : }
9350 : }
9351 : }
9352 : break;
9353 : }
9354 : default:;
9355 : }
9356 : break;
9357 : }
9358 0 : default:;
9359 : }
9360 0 : switch (TREE_CODE (_q81))
9361 : {
9362 0 : CASE_CONVERT:
9363 0 : {
9364 0 : tree _q100 = TREE_OPERAND (_q81, 0);
9365 0 : switch (TREE_CODE (_q100))
9366 : {
9367 0 : case GT_EXPR:
9368 0 : {
9369 0 : tree _q110 = TREE_OPERAND (_q100, 0);
9370 0 : tree _q111 = TREE_OPERAND (_q100, 1);
9371 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
9372 : {
9373 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
9374 : {
9375 0 : {
9376 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
9377 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR);
9378 0 : if (res) return res;
9379 : }
9380 : }
9381 : }
9382 : break;
9383 : }
9384 : default:;
9385 : }
9386 : break;
9387 : }
9388 : default:;
9389 : }
9390 : break;
9391 : }
9392 : default:;
9393 : }
9394 : break;
9395 : }
9396 0 : case UNGT_EXPR:
9397 0 : {
9398 0 : tree _q40 = TREE_OPERAND (_q30, 0);
9399 0 : tree _q41 = TREE_OPERAND (_q30, 1);
9400 0 : switch (TREE_CODE (_p1))
9401 : {
9402 0 : case BIT_AND_EXPR:
9403 0 : {
9404 0 : tree _q80 = TREE_OPERAND (_p1, 0);
9405 0 : tree _q81 = TREE_OPERAND (_p1, 1);
9406 0 : switch (TREE_CODE (_q80))
9407 : {
9408 0 : CASE_CONVERT:
9409 0 : {
9410 0 : tree _q90 = TREE_OPERAND (_q80, 0);
9411 0 : switch (TREE_CODE (_q90))
9412 : {
9413 0 : case LE_EXPR:
9414 0 : {
9415 0 : tree _q100 = TREE_OPERAND (_q90, 0);
9416 0 : tree _q101 = TREE_OPERAND (_q90, 1);
9417 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
9418 : {
9419 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
9420 : {
9421 0 : {
9422 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
9423 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR);
9424 0 : if (res) return res;
9425 : }
9426 : }
9427 : }
9428 : break;
9429 : }
9430 : default:;
9431 : }
9432 : break;
9433 : }
9434 0 : default:;
9435 : }
9436 0 : switch (TREE_CODE (_q81))
9437 : {
9438 0 : CASE_CONVERT:
9439 0 : {
9440 0 : tree _q100 = TREE_OPERAND (_q81, 0);
9441 0 : switch (TREE_CODE (_q100))
9442 : {
9443 0 : case LE_EXPR:
9444 0 : {
9445 0 : tree _q110 = TREE_OPERAND (_q100, 0);
9446 0 : tree _q111 = TREE_OPERAND (_q100, 1);
9447 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
9448 : {
9449 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
9450 : {
9451 0 : {
9452 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
9453 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR);
9454 0 : if (res) return res;
9455 : }
9456 : }
9457 : }
9458 : break;
9459 : }
9460 : default:;
9461 : }
9462 : break;
9463 : }
9464 : default:;
9465 : }
9466 : break;
9467 : }
9468 : default:;
9469 : }
9470 : break;
9471 : }
9472 0 : case UNGE_EXPR:
9473 0 : {
9474 0 : tree _q40 = TREE_OPERAND (_q30, 0);
9475 0 : tree _q41 = TREE_OPERAND (_q30, 1);
9476 0 : switch (TREE_CODE (_p1))
9477 : {
9478 0 : case BIT_AND_EXPR:
9479 0 : {
9480 0 : tree _q80 = TREE_OPERAND (_p1, 0);
9481 0 : tree _q81 = TREE_OPERAND (_p1, 1);
9482 0 : switch (TREE_CODE (_q80))
9483 : {
9484 0 : CASE_CONVERT:
9485 0 : {
9486 0 : tree _q90 = TREE_OPERAND (_q80, 0);
9487 0 : switch (TREE_CODE (_q90))
9488 : {
9489 0 : case LT_EXPR:
9490 0 : {
9491 0 : tree _q100 = TREE_OPERAND (_q90, 0);
9492 0 : tree _q101 = TREE_OPERAND (_q90, 1);
9493 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
9494 : {
9495 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
9496 : {
9497 0 : {
9498 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
9499 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR);
9500 0 : if (res) return res;
9501 : }
9502 : }
9503 : }
9504 : break;
9505 : }
9506 : default:;
9507 : }
9508 : break;
9509 : }
9510 0 : default:;
9511 : }
9512 0 : switch (TREE_CODE (_q81))
9513 : {
9514 0 : CASE_CONVERT:
9515 0 : {
9516 0 : tree _q100 = TREE_OPERAND (_q81, 0);
9517 0 : switch (TREE_CODE (_q100))
9518 : {
9519 0 : case LT_EXPR:
9520 0 : {
9521 0 : tree _q110 = TREE_OPERAND (_q100, 0);
9522 0 : tree _q111 = TREE_OPERAND (_q100, 1);
9523 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
9524 : {
9525 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
9526 : {
9527 0 : {
9528 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
9529 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR);
9530 0 : if (res) return res;
9531 : }
9532 : }
9533 : }
9534 : break;
9535 : }
9536 : default:;
9537 : }
9538 : break;
9539 : }
9540 : default:;
9541 : }
9542 : break;
9543 : }
9544 : default:;
9545 : }
9546 : break;
9547 : }
9548 0 : case UNEQ_EXPR:
9549 0 : {
9550 0 : tree _q40 = TREE_OPERAND (_q30, 0);
9551 0 : tree _q41 = TREE_OPERAND (_q30, 1);
9552 0 : switch (TREE_CODE (_p1))
9553 : {
9554 0 : case BIT_AND_EXPR:
9555 0 : {
9556 0 : tree _q80 = TREE_OPERAND (_p1, 0);
9557 0 : tree _q81 = TREE_OPERAND (_p1, 1);
9558 0 : switch (TREE_CODE (_q80))
9559 : {
9560 0 : CASE_CONVERT:
9561 0 : {
9562 0 : tree _q90 = TREE_OPERAND (_q80, 0);
9563 0 : switch (TREE_CODE (_q90))
9564 : {
9565 0 : case LTGT_EXPR:
9566 0 : {
9567 0 : tree _q100 = TREE_OPERAND (_q90, 0);
9568 0 : tree _q101 = TREE_OPERAND (_q90, 1);
9569 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
9570 : {
9571 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
9572 : {
9573 0 : {
9574 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
9575 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR);
9576 0 : if (res) return res;
9577 : }
9578 : }
9579 : }
9580 : break;
9581 : }
9582 : default:;
9583 : }
9584 : break;
9585 : }
9586 0 : default:;
9587 : }
9588 0 : switch (TREE_CODE (_q81))
9589 : {
9590 0 : CASE_CONVERT:
9591 0 : {
9592 0 : tree _q100 = TREE_OPERAND (_q81, 0);
9593 0 : switch (TREE_CODE (_q100))
9594 : {
9595 0 : case LTGT_EXPR:
9596 0 : {
9597 0 : tree _q110 = TREE_OPERAND (_q100, 0);
9598 0 : tree _q111 = TREE_OPERAND (_q100, 1);
9599 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
9600 : {
9601 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
9602 : {
9603 0 : {
9604 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
9605 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR);
9606 0 : if (res) return res;
9607 : }
9608 : }
9609 : }
9610 : break;
9611 : }
9612 : default:;
9613 : }
9614 : break;
9615 : }
9616 : default:;
9617 : }
9618 : break;
9619 : }
9620 : default:;
9621 : }
9622 : break;
9623 : }
9624 0 : case LTGT_EXPR:
9625 0 : {
9626 0 : tree _q40 = TREE_OPERAND (_q30, 0);
9627 0 : tree _q41 = TREE_OPERAND (_q30, 1);
9628 0 : switch (TREE_CODE (_p1))
9629 : {
9630 0 : case BIT_AND_EXPR:
9631 0 : {
9632 0 : tree _q80 = TREE_OPERAND (_p1, 0);
9633 0 : tree _q81 = TREE_OPERAND (_p1, 1);
9634 0 : switch (TREE_CODE (_q80))
9635 : {
9636 0 : CASE_CONVERT:
9637 0 : {
9638 0 : tree _q90 = TREE_OPERAND (_q80, 0);
9639 0 : switch (TREE_CODE (_q90))
9640 : {
9641 0 : case UNEQ_EXPR:
9642 0 : {
9643 0 : tree _q100 = TREE_OPERAND (_q90, 0);
9644 0 : tree _q101 = TREE_OPERAND (_q90, 1);
9645 0 : if ((_q100 == _q40 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q40, 0) && types_match (_q100, _q40)))
9646 : {
9647 0 : if ((_q101 == _q41 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q41, 0) && types_match (_q101, _q41)))
9648 : {
9649 0 : {
9650 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q90, _q81 };
9651 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR);
9652 0 : if (res) return res;
9653 : }
9654 : }
9655 : }
9656 : break;
9657 : }
9658 : default:;
9659 : }
9660 : break;
9661 : }
9662 0 : default:;
9663 : }
9664 0 : switch (TREE_CODE (_q81))
9665 : {
9666 0 : CASE_CONVERT:
9667 0 : {
9668 0 : tree _q100 = TREE_OPERAND (_q81, 0);
9669 0 : switch (TREE_CODE (_q100))
9670 : {
9671 0 : case UNEQ_EXPR:
9672 0 : {
9673 0 : tree _q110 = TREE_OPERAND (_q100, 0);
9674 0 : tree _q111 = TREE_OPERAND (_q100, 1);
9675 0 : if ((_q110 == _q40 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q40, 0) && types_match (_q110, _q40)))
9676 : {
9677 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
9678 : {
9679 0 : {
9680 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q30, _q40, _q41, _q21, _q100, _q80 };
9681 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR);
9682 0 : if (res) return res;
9683 : }
9684 : }
9685 : }
9686 : break;
9687 : }
9688 : default:;
9689 : }
9690 : break;
9691 : }
9692 : default:;
9693 : }
9694 : break;
9695 : }
9696 : default:;
9697 : }
9698 : break;
9699 : }
9700 : default:;
9701 : }
9702 : break;
9703 : }
9704 79632 : default:;
9705 : }
9706 79632 : switch (TREE_CODE (_q21))
9707 : {
9708 188 : CASE_CONVERT:
9709 188 : {
9710 188 : tree _q40 = TREE_OPERAND (_q21, 0);
9711 188 : switch (TREE_CODE (_q40))
9712 : {
9713 0 : case LT_EXPR:
9714 0 : {
9715 0 : tree _q50 = TREE_OPERAND (_q40, 0);
9716 0 : tree _q51 = TREE_OPERAND (_q40, 1);
9717 0 : switch (TREE_CODE (_p1))
9718 : {
9719 0 : case BIT_AND_EXPR:
9720 0 : {
9721 0 : tree _q80 = TREE_OPERAND (_p1, 0);
9722 0 : tree _q81 = TREE_OPERAND (_p1, 1);
9723 0 : switch (TREE_CODE (_q80))
9724 : {
9725 0 : CASE_CONVERT:
9726 0 : {
9727 0 : tree _q90 = TREE_OPERAND (_q80, 0);
9728 0 : switch (TREE_CODE (_q90))
9729 : {
9730 0 : case GE_EXPR:
9731 0 : {
9732 0 : tree _q100 = TREE_OPERAND (_q90, 0);
9733 0 : tree _q101 = TREE_OPERAND (_q90, 1);
9734 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
9735 : {
9736 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
9737 : {
9738 0 : {
9739 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
9740 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
9741 0 : if (res) return res;
9742 : }
9743 : }
9744 : }
9745 : break;
9746 : }
9747 : default:;
9748 : }
9749 : break;
9750 : }
9751 0 : default:;
9752 : }
9753 0 : switch (TREE_CODE (_q81))
9754 : {
9755 0 : CASE_CONVERT:
9756 0 : {
9757 0 : tree _q100 = TREE_OPERAND (_q81, 0);
9758 0 : switch (TREE_CODE (_q100))
9759 : {
9760 0 : case GE_EXPR:
9761 0 : {
9762 0 : tree _q110 = TREE_OPERAND (_q100, 0);
9763 0 : tree _q111 = TREE_OPERAND (_q100, 1);
9764 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
9765 : {
9766 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
9767 : {
9768 0 : {
9769 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
9770 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
9771 0 : if (res) return res;
9772 : }
9773 : }
9774 : }
9775 : break;
9776 : }
9777 : default:;
9778 : }
9779 : break;
9780 : }
9781 : default:;
9782 : }
9783 : break;
9784 : }
9785 : default:;
9786 : }
9787 : break;
9788 : }
9789 0 : case LE_EXPR:
9790 0 : {
9791 0 : tree _q50 = TREE_OPERAND (_q40, 0);
9792 0 : tree _q51 = TREE_OPERAND (_q40, 1);
9793 0 : switch (TREE_CODE (_p1))
9794 : {
9795 0 : case BIT_AND_EXPR:
9796 0 : {
9797 0 : tree _q80 = TREE_OPERAND (_p1, 0);
9798 0 : tree _q81 = TREE_OPERAND (_p1, 1);
9799 0 : switch (TREE_CODE (_q80))
9800 : {
9801 0 : CASE_CONVERT:
9802 0 : {
9803 0 : tree _q90 = TREE_OPERAND (_q80, 0);
9804 0 : switch (TREE_CODE (_q90))
9805 : {
9806 0 : case GT_EXPR:
9807 0 : {
9808 0 : tree _q100 = TREE_OPERAND (_q90, 0);
9809 0 : tree _q101 = TREE_OPERAND (_q90, 1);
9810 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
9811 : {
9812 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
9813 : {
9814 0 : {
9815 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
9816 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
9817 0 : if (res) return res;
9818 : }
9819 : }
9820 : }
9821 : break;
9822 : }
9823 : default:;
9824 : }
9825 : break;
9826 : }
9827 0 : default:;
9828 : }
9829 0 : switch (TREE_CODE (_q81))
9830 : {
9831 0 : CASE_CONVERT:
9832 0 : {
9833 0 : tree _q100 = TREE_OPERAND (_q81, 0);
9834 0 : switch (TREE_CODE (_q100))
9835 : {
9836 0 : case GT_EXPR:
9837 0 : {
9838 0 : tree _q110 = TREE_OPERAND (_q100, 0);
9839 0 : tree _q111 = TREE_OPERAND (_q100, 1);
9840 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
9841 : {
9842 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
9843 : {
9844 0 : {
9845 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
9846 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
9847 0 : if (res) return res;
9848 : }
9849 : }
9850 : }
9851 : break;
9852 : }
9853 : default:;
9854 : }
9855 : break;
9856 : }
9857 : default:;
9858 : }
9859 : break;
9860 : }
9861 : default:;
9862 : }
9863 : break;
9864 : }
9865 0 : case EQ_EXPR:
9866 0 : {
9867 0 : tree _q50 = TREE_OPERAND (_q40, 0);
9868 0 : tree _q51 = TREE_OPERAND (_q40, 1);
9869 0 : switch (TREE_CODE (_p1))
9870 : {
9871 0 : case BIT_AND_EXPR:
9872 0 : {
9873 0 : tree _q80 = TREE_OPERAND (_p1, 0);
9874 0 : tree _q81 = TREE_OPERAND (_p1, 1);
9875 0 : switch (TREE_CODE (_q80))
9876 : {
9877 0 : CASE_CONVERT:
9878 0 : {
9879 0 : tree _q90 = TREE_OPERAND (_q80, 0);
9880 0 : switch (TREE_CODE (_q90))
9881 : {
9882 0 : case NE_EXPR:
9883 0 : {
9884 0 : tree _q100 = TREE_OPERAND (_q90, 0);
9885 0 : tree _q101 = TREE_OPERAND (_q90, 1);
9886 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
9887 : {
9888 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
9889 : {
9890 0 : {
9891 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
9892 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
9893 0 : if (res) return res;
9894 : }
9895 : }
9896 : }
9897 : break;
9898 : }
9899 : default:;
9900 : }
9901 : break;
9902 : }
9903 0 : default:;
9904 : }
9905 0 : switch (TREE_CODE (_q81))
9906 : {
9907 0 : CASE_CONVERT:
9908 0 : {
9909 0 : tree _q100 = TREE_OPERAND (_q81, 0);
9910 0 : switch (TREE_CODE (_q100))
9911 : {
9912 0 : case NE_EXPR:
9913 0 : {
9914 0 : tree _q110 = TREE_OPERAND (_q100, 0);
9915 0 : tree _q111 = TREE_OPERAND (_q100, 1);
9916 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
9917 : {
9918 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
9919 : {
9920 0 : {
9921 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
9922 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
9923 0 : if (res) return res;
9924 : }
9925 : }
9926 : }
9927 : break;
9928 : }
9929 : default:;
9930 : }
9931 : break;
9932 : }
9933 : default:;
9934 : }
9935 : break;
9936 : }
9937 : default:;
9938 : }
9939 : break;
9940 : }
9941 0 : case NE_EXPR:
9942 0 : {
9943 0 : tree _q50 = TREE_OPERAND (_q40, 0);
9944 0 : tree _q51 = TREE_OPERAND (_q40, 1);
9945 0 : switch (TREE_CODE (_p1))
9946 : {
9947 0 : case BIT_AND_EXPR:
9948 0 : {
9949 0 : tree _q80 = TREE_OPERAND (_p1, 0);
9950 0 : tree _q81 = TREE_OPERAND (_p1, 1);
9951 0 : switch (TREE_CODE (_q80))
9952 : {
9953 0 : CASE_CONVERT:
9954 0 : {
9955 0 : tree _q90 = TREE_OPERAND (_q80, 0);
9956 0 : switch (TREE_CODE (_q90))
9957 : {
9958 0 : case EQ_EXPR:
9959 0 : {
9960 0 : tree _q100 = TREE_OPERAND (_q90, 0);
9961 0 : tree _q101 = TREE_OPERAND (_q90, 1);
9962 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
9963 : {
9964 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
9965 : {
9966 0 : {
9967 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
9968 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
9969 0 : if (res) return res;
9970 : }
9971 : }
9972 : }
9973 : break;
9974 : }
9975 : default:;
9976 : }
9977 : break;
9978 : }
9979 0 : default:;
9980 : }
9981 0 : switch (TREE_CODE (_q81))
9982 : {
9983 0 : CASE_CONVERT:
9984 0 : {
9985 0 : tree _q100 = TREE_OPERAND (_q81, 0);
9986 0 : switch (TREE_CODE (_q100))
9987 : {
9988 0 : case EQ_EXPR:
9989 0 : {
9990 0 : tree _q110 = TREE_OPERAND (_q100, 0);
9991 0 : tree _q111 = TREE_OPERAND (_q100, 1);
9992 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
9993 : {
9994 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
9995 : {
9996 0 : {
9997 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
9998 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
9999 0 : if (res) return res;
10000 : }
10001 : }
10002 : }
10003 : break;
10004 : }
10005 : default:;
10006 : }
10007 : break;
10008 : }
10009 : default:;
10010 : }
10011 : break;
10012 : }
10013 : default:;
10014 : }
10015 : break;
10016 : }
10017 0 : case GE_EXPR:
10018 0 : {
10019 0 : tree _q50 = TREE_OPERAND (_q40, 0);
10020 0 : tree _q51 = TREE_OPERAND (_q40, 1);
10021 0 : switch (TREE_CODE (_p1))
10022 : {
10023 0 : case BIT_AND_EXPR:
10024 0 : {
10025 0 : tree _q80 = TREE_OPERAND (_p1, 0);
10026 0 : tree _q81 = TREE_OPERAND (_p1, 1);
10027 0 : switch (TREE_CODE (_q80))
10028 : {
10029 0 : CASE_CONVERT:
10030 0 : {
10031 0 : tree _q90 = TREE_OPERAND (_q80, 0);
10032 0 : switch (TREE_CODE (_q90))
10033 : {
10034 0 : case LT_EXPR:
10035 0 : {
10036 0 : tree _q100 = TREE_OPERAND (_q90, 0);
10037 0 : tree _q101 = TREE_OPERAND (_q90, 1);
10038 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
10039 : {
10040 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
10041 : {
10042 0 : {
10043 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
10044 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
10045 0 : if (res) return res;
10046 : }
10047 : }
10048 : }
10049 : break;
10050 : }
10051 : default:;
10052 : }
10053 : break;
10054 : }
10055 0 : default:;
10056 : }
10057 0 : switch (TREE_CODE (_q81))
10058 : {
10059 0 : CASE_CONVERT:
10060 0 : {
10061 0 : tree _q100 = TREE_OPERAND (_q81, 0);
10062 0 : switch (TREE_CODE (_q100))
10063 : {
10064 0 : case LT_EXPR:
10065 0 : {
10066 0 : tree _q110 = TREE_OPERAND (_q100, 0);
10067 0 : tree _q111 = TREE_OPERAND (_q100, 1);
10068 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
10069 : {
10070 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
10071 : {
10072 0 : {
10073 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
10074 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
10075 0 : if (res) return res;
10076 : }
10077 : }
10078 : }
10079 : break;
10080 : }
10081 : default:;
10082 : }
10083 : break;
10084 : }
10085 : default:;
10086 : }
10087 : break;
10088 : }
10089 : default:;
10090 : }
10091 : break;
10092 : }
10093 0 : case GT_EXPR:
10094 0 : {
10095 0 : tree _q50 = TREE_OPERAND (_q40, 0);
10096 0 : tree _q51 = TREE_OPERAND (_q40, 1);
10097 0 : switch (TREE_CODE (_p1))
10098 : {
10099 0 : case BIT_AND_EXPR:
10100 0 : {
10101 0 : tree _q80 = TREE_OPERAND (_p1, 0);
10102 0 : tree _q81 = TREE_OPERAND (_p1, 1);
10103 0 : switch (TREE_CODE (_q80))
10104 : {
10105 0 : CASE_CONVERT:
10106 0 : {
10107 0 : tree _q90 = TREE_OPERAND (_q80, 0);
10108 0 : switch (TREE_CODE (_q90))
10109 : {
10110 0 : case LE_EXPR:
10111 0 : {
10112 0 : tree _q100 = TREE_OPERAND (_q90, 0);
10113 0 : tree _q101 = TREE_OPERAND (_q90, 1);
10114 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
10115 : {
10116 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
10117 : {
10118 0 : {
10119 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
10120 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
10121 0 : if (res) return res;
10122 : }
10123 : }
10124 : }
10125 : break;
10126 : }
10127 : default:;
10128 : }
10129 : break;
10130 : }
10131 0 : default:;
10132 : }
10133 0 : switch (TREE_CODE (_q81))
10134 : {
10135 0 : CASE_CONVERT:
10136 0 : {
10137 0 : tree _q100 = TREE_OPERAND (_q81, 0);
10138 0 : switch (TREE_CODE (_q100))
10139 : {
10140 0 : case LE_EXPR:
10141 0 : {
10142 0 : tree _q110 = TREE_OPERAND (_q100, 0);
10143 0 : tree _q111 = TREE_OPERAND (_q100, 1);
10144 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
10145 : {
10146 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
10147 : {
10148 0 : {
10149 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
10150 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
10151 0 : if (res) return res;
10152 : }
10153 : }
10154 : }
10155 : break;
10156 : }
10157 : default:;
10158 : }
10159 : break;
10160 : }
10161 : default:;
10162 : }
10163 : break;
10164 : }
10165 : default:;
10166 : }
10167 : break;
10168 : }
10169 0 : case UNORDERED_EXPR:
10170 0 : {
10171 0 : tree _q50 = TREE_OPERAND (_q40, 0);
10172 0 : tree _q51 = TREE_OPERAND (_q40, 1);
10173 0 : switch (TREE_CODE (_p1))
10174 : {
10175 0 : case BIT_AND_EXPR:
10176 0 : {
10177 0 : tree _q80 = TREE_OPERAND (_p1, 0);
10178 0 : tree _q81 = TREE_OPERAND (_p1, 1);
10179 0 : switch (TREE_CODE (_q80))
10180 : {
10181 0 : CASE_CONVERT:
10182 0 : {
10183 0 : tree _q90 = TREE_OPERAND (_q80, 0);
10184 0 : switch (TREE_CODE (_q90))
10185 : {
10186 0 : case ORDERED_EXPR:
10187 0 : {
10188 0 : tree _q100 = TREE_OPERAND (_q90, 0);
10189 0 : tree _q101 = TREE_OPERAND (_q90, 1);
10190 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
10191 : {
10192 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
10193 : {
10194 0 : {
10195 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
10196 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR);
10197 0 : if (res) return res;
10198 : }
10199 : }
10200 : }
10201 : break;
10202 : }
10203 : default:;
10204 : }
10205 : break;
10206 : }
10207 0 : default:;
10208 : }
10209 0 : switch (TREE_CODE (_q81))
10210 : {
10211 0 : CASE_CONVERT:
10212 0 : {
10213 0 : tree _q100 = TREE_OPERAND (_q81, 0);
10214 0 : switch (TREE_CODE (_q100))
10215 : {
10216 0 : case ORDERED_EXPR:
10217 0 : {
10218 0 : tree _q110 = TREE_OPERAND (_q100, 0);
10219 0 : tree _q111 = TREE_OPERAND (_q100, 1);
10220 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
10221 : {
10222 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
10223 : {
10224 0 : {
10225 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
10226 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR);
10227 0 : if (res) return res;
10228 : }
10229 : }
10230 : }
10231 : break;
10232 : }
10233 : default:;
10234 : }
10235 : break;
10236 : }
10237 : default:;
10238 : }
10239 : break;
10240 : }
10241 : default:;
10242 : }
10243 : break;
10244 : }
10245 0 : case ORDERED_EXPR:
10246 0 : {
10247 0 : tree _q50 = TREE_OPERAND (_q40, 0);
10248 0 : tree _q51 = TREE_OPERAND (_q40, 1);
10249 0 : switch (TREE_CODE (_p1))
10250 : {
10251 0 : case BIT_AND_EXPR:
10252 0 : {
10253 0 : tree _q80 = TREE_OPERAND (_p1, 0);
10254 0 : tree _q81 = TREE_OPERAND (_p1, 1);
10255 0 : switch (TREE_CODE (_q80))
10256 : {
10257 0 : CASE_CONVERT:
10258 0 : {
10259 0 : tree _q90 = TREE_OPERAND (_q80, 0);
10260 0 : switch (TREE_CODE (_q90))
10261 : {
10262 0 : case UNORDERED_EXPR:
10263 0 : {
10264 0 : tree _q100 = TREE_OPERAND (_q90, 0);
10265 0 : tree _q101 = TREE_OPERAND (_q90, 1);
10266 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
10267 : {
10268 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
10269 : {
10270 0 : {
10271 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
10272 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR);
10273 0 : if (res) return res;
10274 : }
10275 : }
10276 : }
10277 : break;
10278 : }
10279 : default:;
10280 : }
10281 : break;
10282 : }
10283 0 : default:;
10284 : }
10285 0 : switch (TREE_CODE (_q81))
10286 : {
10287 0 : CASE_CONVERT:
10288 0 : {
10289 0 : tree _q100 = TREE_OPERAND (_q81, 0);
10290 0 : switch (TREE_CODE (_q100))
10291 : {
10292 0 : case UNORDERED_EXPR:
10293 0 : {
10294 0 : tree _q110 = TREE_OPERAND (_q100, 0);
10295 0 : tree _q111 = TREE_OPERAND (_q100, 1);
10296 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
10297 : {
10298 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
10299 : {
10300 0 : {
10301 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
10302 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR);
10303 0 : if (res) return res;
10304 : }
10305 : }
10306 : }
10307 : break;
10308 : }
10309 : default:;
10310 : }
10311 : break;
10312 : }
10313 : default:;
10314 : }
10315 : break;
10316 : }
10317 : default:;
10318 : }
10319 : break;
10320 : }
10321 0 : case UNLT_EXPR:
10322 0 : {
10323 0 : tree _q50 = TREE_OPERAND (_q40, 0);
10324 0 : tree _q51 = TREE_OPERAND (_q40, 1);
10325 0 : switch (TREE_CODE (_p1))
10326 : {
10327 0 : case BIT_AND_EXPR:
10328 0 : {
10329 0 : tree _q80 = TREE_OPERAND (_p1, 0);
10330 0 : tree _q81 = TREE_OPERAND (_p1, 1);
10331 0 : switch (TREE_CODE (_q80))
10332 : {
10333 0 : CASE_CONVERT:
10334 0 : {
10335 0 : tree _q90 = TREE_OPERAND (_q80, 0);
10336 0 : switch (TREE_CODE (_q90))
10337 : {
10338 0 : case GE_EXPR:
10339 0 : {
10340 0 : tree _q100 = TREE_OPERAND (_q90, 0);
10341 0 : tree _q101 = TREE_OPERAND (_q90, 1);
10342 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
10343 : {
10344 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
10345 : {
10346 0 : {
10347 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
10348 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR);
10349 0 : if (res) return res;
10350 : }
10351 : }
10352 : }
10353 : break;
10354 : }
10355 : default:;
10356 : }
10357 : break;
10358 : }
10359 0 : default:;
10360 : }
10361 0 : switch (TREE_CODE (_q81))
10362 : {
10363 0 : CASE_CONVERT:
10364 0 : {
10365 0 : tree _q100 = TREE_OPERAND (_q81, 0);
10366 0 : switch (TREE_CODE (_q100))
10367 : {
10368 0 : case GE_EXPR:
10369 0 : {
10370 0 : tree _q110 = TREE_OPERAND (_q100, 0);
10371 0 : tree _q111 = TREE_OPERAND (_q100, 1);
10372 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
10373 : {
10374 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
10375 : {
10376 0 : {
10377 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
10378 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR);
10379 0 : if (res) return res;
10380 : }
10381 : }
10382 : }
10383 : break;
10384 : }
10385 : default:;
10386 : }
10387 : break;
10388 : }
10389 : default:;
10390 : }
10391 : break;
10392 : }
10393 : default:;
10394 : }
10395 : break;
10396 : }
10397 0 : case UNLE_EXPR:
10398 0 : {
10399 0 : tree _q50 = TREE_OPERAND (_q40, 0);
10400 0 : tree _q51 = TREE_OPERAND (_q40, 1);
10401 0 : switch (TREE_CODE (_p1))
10402 : {
10403 0 : case BIT_AND_EXPR:
10404 0 : {
10405 0 : tree _q80 = TREE_OPERAND (_p1, 0);
10406 0 : tree _q81 = TREE_OPERAND (_p1, 1);
10407 0 : switch (TREE_CODE (_q80))
10408 : {
10409 0 : CASE_CONVERT:
10410 0 : {
10411 0 : tree _q90 = TREE_OPERAND (_q80, 0);
10412 0 : switch (TREE_CODE (_q90))
10413 : {
10414 0 : case GT_EXPR:
10415 0 : {
10416 0 : tree _q100 = TREE_OPERAND (_q90, 0);
10417 0 : tree _q101 = TREE_OPERAND (_q90, 1);
10418 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
10419 : {
10420 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
10421 : {
10422 0 : {
10423 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
10424 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR);
10425 0 : if (res) return res;
10426 : }
10427 : }
10428 : }
10429 : break;
10430 : }
10431 : default:;
10432 : }
10433 : break;
10434 : }
10435 0 : default:;
10436 : }
10437 0 : switch (TREE_CODE (_q81))
10438 : {
10439 0 : CASE_CONVERT:
10440 0 : {
10441 0 : tree _q100 = TREE_OPERAND (_q81, 0);
10442 0 : switch (TREE_CODE (_q100))
10443 : {
10444 0 : case GT_EXPR:
10445 0 : {
10446 0 : tree _q110 = TREE_OPERAND (_q100, 0);
10447 0 : tree _q111 = TREE_OPERAND (_q100, 1);
10448 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
10449 : {
10450 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
10451 : {
10452 0 : {
10453 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
10454 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR);
10455 0 : if (res) return res;
10456 : }
10457 : }
10458 : }
10459 : break;
10460 : }
10461 : default:;
10462 : }
10463 : break;
10464 : }
10465 : default:;
10466 : }
10467 : break;
10468 : }
10469 : default:;
10470 : }
10471 : break;
10472 : }
10473 0 : case UNGT_EXPR:
10474 0 : {
10475 0 : tree _q50 = TREE_OPERAND (_q40, 0);
10476 0 : tree _q51 = TREE_OPERAND (_q40, 1);
10477 0 : switch (TREE_CODE (_p1))
10478 : {
10479 0 : case BIT_AND_EXPR:
10480 0 : {
10481 0 : tree _q80 = TREE_OPERAND (_p1, 0);
10482 0 : tree _q81 = TREE_OPERAND (_p1, 1);
10483 0 : switch (TREE_CODE (_q80))
10484 : {
10485 0 : CASE_CONVERT:
10486 0 : {
10487 0 : tree _q90 = TREE_OPERAND (_q80, 0);
10488 0 : switch (TREE_CODE (_q90))
10489 : {
10490 0 : case LE_EXPR:
10491 0 : {
10492 0 : tree _q100 = TREE_OPERAND (_q90, 0);
10493 0 : tree _q101 = TREE_OPERAND (_q90, 1);
10494 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
10495 : {
10496 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
10497 : {
10498 0 : {
10499 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
10500 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR);
10501 0 : if (res) return res;
10502 : }
10503 : }
10504 : }
10505 : break;
10506 : }
10507 : default:;
10508 : }
10509 : break;
10510 : }
10511 0 : default:;
10512 : }
10513 0 : switch (TREE_CODE (_q81))
10514 : {
10515 0 : CASE_CONVERT:
10516 0 : {
10517 0 : tree _q100 = TREE_OPERAND (_q81, 0);
10518 0 : switch (TREE_CODE (_q100))
10519 : {
10520 0 : case LE_EXPR:
10521 0 : {
10522 0 : tree _q110 = TREE_OPERAND (_q100, 0);
10523 0 : tree _q111 = TREE_OPERAND (_q100, 1);
10524 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
10525 : {
10526 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
10527 : {
10528 0 : {
10529 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
10530 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR);
10531 0 : if (res) return res;
10532 : }
10533 : }
10534 : }
10535 : break;
10536 : }
10537 : default:;
10538 : }
10539 : break;
10540 : }
10541 : default:;
10542 : }
10543 : break;
10544 : }
10545 : default:;
10546 : }
10547 : break;
10548 : }
10549 0 : case UNGE_EXPR:
10550 0 : {
10551 0 : tree _q50 = TREE_OPERAND (_q40, 0);
10552 0 : tree _q51 = TREE_OPERAND (_q40, 1);
10553 0 : switch (TREE_CODE (_p1))
10554 : {
10555 0 : case BIT_AND_EXPR:
10556 0 : {
10557 0 : tree _q80 = TREE_OPERAND (_p1, 0);
10558 0 : tree _q81 = TREE_OPERAND (_p1, 1);
10559 0 : switch (TREE_CODE (_q80))
10560 : {
10561 0 : CASE_CONVERT:
10562 0 : {
10563 0 : tree _q90 = TREE_OPERAND (_q80, 0);
10564 0 : switch (TREE_CODE (_q90))
10565 : {
10566 0 : case LT_EXPR:
10567 0 : {
10568 0 : tree _q100 = TREE_OPERAND (_q90, 0);
10569 0 : tree _q101 = TREE_OPERAND (_q90, 1);
10570 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
10571 : {
10572 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
10573 : {
10574 0 : {
10575 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
10576 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR);
10577 0 : if (res) return res;
10578 : }
10579 : }
10580 : }
10581 : break;
10582 : }
10583 : default:;
10584 : }
10585 : break;
10586 : }
10587 0 : default:;
10588 : }
10589 0 : switch (TREE_CODE (_q81))
10590 : {
10591 0 : CASE_CONVERT:
10592 0 : {
10593 0 : tree _q100 = TREE_OPERAND (_q81, 0);
10594 0 : switch (TREE_CODE (_q100))
10595 : {
10596 0 : case LT_EXPR:
10597 0 : {
10598 0 : tree _q110 = TREE_OPERAND (_q100, 0);
10599 0 : tree _q111 = TREE_OPERAND (_q100, 1);
10600 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
10601 : {
10602 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
10603 : {
10604 0 : {
10605 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
10606 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR);
10607 0 : if (res) return res;
10608 : }
10609 : }
10610 : }
10611 : break;
10612 : }
10613 : default:;
10614 : }
10615 : break;
10616 : }
10617 : default:;
10618 : }
10619 : break;
10620 : }
10621 : default:;
10622 : }
10623 : break;
10624 : }
10625 0 : case UNEQ_EXPR:
10626 0 : {
10627 0 : tree _q50 = TREE_OPERAND (_q40, 0);
10628 0 : tree _q51 = TREE_OPERAND (_q40, 1);
10629 0 : switch (TREE_CODE (_p1))
10630 : {
10631 0 : case BIT_AND_EXPR:
10632 0 : {
10633 0 : tree _q80 = TREE_OPERAND (_p1, 0);
10634 0 : tree _q81 = TREE_OPERAND (_p1, 1);
10635 0 : switch (TREE_CODE (_q80))
10636 : {
10637 0 : CASE_CONVERT:
10638 0 : {
10639 0 : tree _q90 = TREE_OPERAND (_q80, 0);
10640 0 : switch (TREE_CODE (_q90))
10641 : {
10642 0 : case LTGT_EXPR:
10643 0 : {
10644 0 : tree _q100 = TREE_OPERAND (_q90, 0);
10645 0 : tree _q101 = TREE_OPERAND (_q90, 1);
10646 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
10647 : {
10648 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
10649 : {
10650 0 : {
10651 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
10652 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR);
10653 0 : if (res) return res;
10654 : }
10655 : }
10656 : }
10657 : break;
10658 : }
10659 : default:;
10660 : }
10661 : break;
10662 : }
10663 0 : default:;
10664 : }
10665 0 : switch (TREE_CODE (_q81))
10666 : {
10667 0 : CASE_CONVERT:
10668 0 : {
10669 0 : tree _q100 = TREE_OPERAND (_q81, 0);
10670 0 : switch (TREE_CODE (_q100))
10671 : {
10672 0 : case LTGT_EXPR:
10673 0 : {
10674 0 : tree _q110 = TREE_OPERAND (_q100, 0);
10675 0 : tree _q111 = TREE_OPERAND (_q100, 1);
10676 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
10677 : {
10678 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
10679 : {
10680 0 : {
10681 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
10682 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR);
10683 0 : if (res) return res;
10684 : }
10685 : }
10686 : }
10687 : break;
10688 : }
10689 : default:;
10690 : }
10691 : break;
10692 : }
10693 : default:;
10694 : }
10695 : break;
10696 : }
10697 : default:;
10698 : }
10699 : break;
10700 : }
10701 0 : case LTGT_EXPR:
10702 0 : {
10703 0 : tree _q50 = TREE_OPERAND (_q40, 0);
10704 0 : tree _q51 = TREE_OPERAND (_q40, 1);
10705 0 : switch (TREE_CODE (_p1))
10706 : {
10707 0 : case BIT_AND_EXPR:
10708 0 : {
10709 0 : tree _q80 = TREE_OPERAND (_p1, 0);
10710 0 : tree _q81 = TREE_OPERAND (_p1, 1);
10711 0 : switch (TREE_CODE (_q80))
10712 : {
10713 0 : CASE_CONVERT:
10714 0 : {
10715 0 : tree _q90 = TREE_OPERAND (_q80, 0);
10716 0 : switch (TREE_CODE (_q90))
10717 : {
10718 0 : case UNEQ_EXPR:
10719 0 : {
10720 0 : tree _q100 = TREE_OPERAND (_q90, 0);
10721 0 : tree _q101 = TREE_OPERAND (_q90, 1);
10722 0 : if ((_q100 == _q50 && ! TREE_SIDE_EFFECTS (_q100)) || (operand_equal_p (_q100, _q50, 0) && types_match (_q100, _q50)))
10723 : {
10724 0 : if ((_q101 == _q51 && ! TREE_SIDE_EFFECTS (_q101)) || (operand_equal_p (_q101, _q51, 0) && types_match (_q101, _q51)))
10725 : {
10726 0 : {
10727 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q90, _q81 };
10728 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR);
10729 0 : if (res) return res;
10730 : }
10731 : }
10732 : }
10733 : break;
10734 : }
10735 : default:;
10736 : }
10737 : break;
10738 : }
10739 0 : default:;
10740 : }
10741 0 : switch (TREE_CODE (_q81))
10742 : {
10743 0 : CASE_CONVERT:
10744 0 : {
10745 0 : tree _q100 = TREE_OPERAND (_q81, 0);
10746 0 : switch (TREE_CODE (_q100))
10747 : {
10748 0 : case UNEQ_EXPR:
10749 0 : {
10750 0 : tree _q110 = TREE_OPERAND (_q100, 0);
10751 0 : tree _q111 = TREE_OPERAND (_q100, 1);
10752 0 : if ((_q110 == _q50 && ! TREE_SIDE_EFFECTS (_q110)) || (operand_equal_p (_q110, _q50, 0) && types_match (_q110, _q50)))
10753 : {
10754 0 : if ((_q111 == _q51 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q51, 0) && types_match (_q111, _q51)))
10755 : {
10756 0 : {
10757 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q40, _q50, _q51, _q20, _q100, _q80 };
10758 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR);
10759 0 : if (res) return res;
10760 : }
10761 : }
10762 : }
10763 : break;
10764 : }
10765 : default:;
10766 : }
10767 : break;
10768 : }
10769 : default:;
10770 : }
10771 : break;
10772 : }
10773 : default:;
10774 : }
10775 : break;
10776 : }
10777 : default:;
10778 : }
10779 : break;
10780 : }
10781 79632 : default:;
10782 : }
10783 79632 : switch (TREE_CODE (_q20))
10784 : {
10785 0 : case LT_EXPR:
10786 0 : {
10787 0 : tree _q30 = TREE_OPERAND (_q20, 0);
10788 0 : tree _q31 = TREE_OPERAND (_q20, 1);
10789 0 : switch (TREE_CODE (_p1))
10790 : {
10791 0 : case BIT_AND_EXPR:
10792 0 : {
10793 0 : tree _q70 = TREE_OPERAND (_p1, 0);
10794 0 : tree _q71 = TREE_OPERAND (_p1, 1);
10795 0 : switch (TREE_CODE (_q70))
10796 : {
10797 0 : case GE_EXPR:
10798 0 : {
10799 0 : tree _q80 = TREE_OPERAND (_q70, 0);
10800 0 : tree _q81 = TREE_OPERAND (_q70, 1);
10801 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
10802 : {
10803 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
10804 : {
10805 0 : {
10806 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
10807 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
10808 0 : if (res) return res;
10809 : }
10810 : }
10811 : }
10812 : break;
10813 : }
10814 0 : default:;
10815 : }
10816 0 : switch (TREE_CODE (_q71))
10817 : {
10818 0 : case GE_EXPR:
10819 0 : {
10820 0 : tree _q90 = TREE_OPERAND (_q71, 0);
10821 0 : tree _q91 = TREE_OPERAND (_q71, 1);
10822 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
10823 : {
10824 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
10825 : {
10826 0 : {
10827 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
10828 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
10829 0 : if (res) return res;
10830 : }
10831 : }
10832 : }
10833 : break;
10834 : }
10835 : default:;
10836 : }
10837 : break;
10838 : }
10839 : default:;
10840 : }
10841 : break;
10842 : }
10843 0 : case LE_EXPR:
10844 0 : {
10845 0 : tree _q30 = TREE_OPERAND (_q20, 0);
10846 0 : tree _q31 = TREE_OPERAND (_q20, 1);
10847 0 : switch (TREE_CODE (_p1))
10848 : {
10849 0 : case BIT_AND_EXPR:
10850 0 : {
10851 0 : tree _q70 = TREE_OPERAND (_p1, 0);
10852 0 : tree _q71 = TREE_OPERAND (_p1, 1);
10853 0 : switch (TREE_CODE (_q70))
10854 : {
10855 0 : case GT_EXPR:
10856 0 : {
10857 0 : tree _q80 = TREE_OPERAND (_q70, 0);
10858 0 : tree _q81 = TREE_OPERAND (_q70, 1);
10859 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
10860 : {
10861 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
10862 : {
10863 0 : {
10864 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
10865 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
10866 0 : if (res) return res;
10867 : }
10868 : }
10869 : }
10870 : break;
10871 : }
10872 0 : default:;
10873 : }
10874 0 : switch (TREE_CODE (_q71))
10875 : {
10876 0 : case GT_EXPR:
10877 0 : {
10878 0 : tree _q90 = TREE_OPERAND (_q71, 0);
10879 0 : tree _q91 = TREE_OPERAND (_q71, 1);
10880 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
10881 : {
10882 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
10883 : {
10884 0 : {
10885 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
10886 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
10887 0 : if (res) return res;
10888 : }
10889 : }
10890 : }
10891 : break;
10892 : }
10893 : default:;
10894 : }
10895 : break;
10896 : }
10897 : default:;
10898 : }
10899 : break;
10900 : }
10901 1 : case EQ_EXPR:
10902 1 : {
10903 1 : tree _q30 = TREE_OPERAND (_q20, 0);
10904 1 : tree _q31 = TREE_OPERAND (_q20, 1);
10905 1 : switch (TREE_CODE (_p1))
10906 : {
10907 1 : case BIT_AND_EXPR:
10908 1 : {
10909 1 : tree _q70 = TREE_OPERAND (_p1, 0);
10910 1 : tree _q71 = TREE_OPERAND (_p1, 1);
10911 1 : switch (TREE_CODE (_q70))
10912 : {
10913 0 : case NE_EXPR:
10914 0 : {
10915 0 : tree _q80 = TREE_OPERAND (_q70, 0);
10916 0 : tree _q81 = TREE_OPERAND (_q70, 1);
10917 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
10918 : {
10919 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
10920 : {
10921 0 : {
10922 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
10923 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
10924 0 : if (res) return res;
10925 : }
10926 : }
10927 : }
10928 : break;
10929 : }
10930 1 : default:;
10931 : }
10932 1 : switch (TREE_CODE (_q71))
10933 : {
10934 0 : case NE_EXPR:
10935 0 : {
10936 0 : tree _q90 = TREE_OPERAND (_q71, 0);
10937 0 : tree _q91 = TREE_OPERAND (_q71, 1);
10938 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
10939 : {
10940 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
10941 : {
10942 0 : {
10943 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
10944 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
10945 0 : if (res) return res;
10946 : }
10947 : }
10948 : }
10949 : break;
10950 : }
10951 : default:;
10952 : }
10953 : break;
10954 : }
10955 : default:;
10956 : }
10957 : break;
10958 : }
10959 0 : case NE_EXPR:
10960 0 : {
10961 0 : tree _q30 = TREE_OPERAND (_q20, 0);
10962 0 : tree _q31 = TREE_OPERAND (_q20, 1);
10963 0 : switch (TREE_CODE (_p1))
10964 : {
10965 0 : case BIT_AND_EXPR:
10966 0 : {
10967 0 : tree _q70 = TREE_OPERAND (_p1, 0);
10968 0 : tree _q71 = TREE_OPERAND (_p1, 1);
10969 0 : switch (TREE_CODE (_q70))
10970 : {
10971 0 : case EQ_EXPR:
10972 0 : {
10973 0 : tree _q80 = TREE_OPERAND (_q70, 0);
10974 0 : tree _q81 = TREE_OPERAND (_q70, 1);
10975 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
10976 : {
10977 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
10978 : {
10979 0 : {
10980 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
10981 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
10982 0 : if (res) return res;
10983 : }
10984 : }
10985 : }
10986 : break;
10987 : }
10988 0 : default:;
10989 : }
10990 0 : switch (TREE_CODE (_q71))
10991 : {
10992 0 : case EQ_EXPR:
10993 0 : {
10994 0 : tree _q90 = TREE_OPERAND (_q71, 0);
10995 0 : tree _q91 = TREE_OPERAND (_q71, 1);
10996 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
10997 : {
10998 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
10999 : {
11000 0 : {
11001 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
11002 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
11003 0 : if (res) return res;
11004 : }
11005 : }
11006 : }
11007 : break;
11008 : }
11009 : default:;
11010 : }
11011 : break;
11012 : }
11013 : default:;
11014 : }
11015 : break;
11016 : }
11017 0 : case GE_EXPR:
11018 0 : {
11019 0 : tree _q30 = TREE_OPERAND (_q20, 0);
11020 0 : tree _q31 = TREE_OPERAND (_q20, 1);
11021 0 : switch (TREE_CODE (_p1))
11022 : {
11023 0 : case BIT_AND_EXPR:
11024 0 : {
11025 0 : tree _q70 = TREE_OPERAND (_p1, 0);
11026 0 : tree _q71 = TREE_OPERAND (_p1, 1);
11027 0 : switch (TREE_CODE (_q70))
11028 : {
11029 0 : case LT_EXPR:
11030 0 : {
11031 0 : tree _q80 = TREE_OPERAND (_q70, 0);
11032 0 : tree _q81 = TREE_OPERAND (_q70, 1);
11033 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
11034 : {
11035 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
11036 : {
11037 0 : {
11038 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
11039 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
11040 0 : if (res) return res;
11041 : }
11042 : }
11043 : }
11044 : break;
11045 : }
11046 0 : default:;
11047 : }
11048 0 : switch (TREE_CODE (_q71))
11049 : {
11050 0 : case LT_EXPR:
11051 0 : {
11052 0 : tree _q90 = TREE_OPERAND (_q71, 0);
11053 0 : tree _q91 = TREE_OPERAND (_q71, 1);
11054 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
11055 : {
11056 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
11057 : {
11058 0 : {
11059 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
11060 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
11061 0 : if (res) return res;
11062 : }
11063 : }
11064 : }
11065 : break;
11066 : }
11067 : default:;
11068 : }
11069 : break;
11070 : }
11071 : default:;
11072 : }
11073 : break;
11074 : }
11075 0 : case GT_EXPR:
11076 0 : {
11077 0 : tree _q30 = TREE_OPERAND (_q20, 0);
11078 0 : tree _q31 = TREE_OPERAND (_q20, 1);
11079 0 : switch (TREE_CODE (_p1))
11080 : {
11081 0 : case BIT_AND_EXPR:
11082 0 : {
11083 0 : tree _q70 = TREE_OPERAND (_p1, 0);
11084 0 : tree _q71 = TREE_OPERAND (_p1, 1);
11085 0 : switch (TREE_CODE (_q70))
11086 : {
11087 0 : case LE_EXPR:
11088 0 : {
11089 0 : tree _q80 = TREE_OPERAND (_q70, 0);
11090 0 : tree _q81 = TREE_OPERAND (_q70, 1);
11091 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
11092 : {
11093 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
11094 : {
11095 0 : {
11096 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
11097 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
11098 0 : if (res) return res;
11099 : }
11100 : }
11101 : }
11102 : break;
11103 : }
11104 0 : default:;
11105 : }
11106 0 : switch (TREE_CODE (_q71))
11107 : {
11108 0 : case LE_EXPR:
11109 0 : {
11110 0 : tree _q90 = TREE_OPERAND (_q71, 0);
11111 0 : tree _q91 = TREE_OPERAND (_q71, 1);
11112 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
11113 : {
11114 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
11115 : {
11116 0 : {
11117 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
11118 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
11119 0 : if (res) return res;
11120 : }
11121 : }
11122 : }
11123 : break;
11124 : }
11125 : default:;
11126 : }
11127 : break;
11128 : }
11129 : default:;
11130 : }
11131 : break;
11132 : }
11133 0 : case UNORDERED_EXPR:
11134 0 : {
11135 0 : tree _q30 = TREE_OPERAND (_q20, 0);
11136 0 : tree _q31 = TREE_OPERAND (_q20, 1);
11137 0 : switch (TREE_CODE (_p1))
11138 : {
11139 0 : case BIT_AND_EXPR:
11140 0 : {
11141 0 : tree _q70 = TREE_OPERAND (_p1, 0);
11142 0 : tree _q71 = TREE_OPERAND (_p1, 1);
11143 0 : switch (TREE_CODE (_q70))
11144 : {
11145 0 : case ORDERED_EXPR:
11146 0 : {
11147 0 : tree _q80 = TREE_OPERAND (_q70, 0);
11148 0 : tree _q81 = TREE_OPERAND (_q70, 1);
11149 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
11150 : {
11151 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
11152 : {
11153 0 : {
11154 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
11155 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR);
11156 0 : if (res) return res;
11157 : }
11158 : }
11159 : }
11160 : break;
11161 : }
11162 0 : default:;
11163 : }
11164 0 : switch (TREE_CODE (_q71))
11165 : {
11166 0 : case ORDERED_EXPR:
11167 0 : {
11168 0 : tree _q90 = TREE_OPERAND (_q71, 0);
11169 0 : tree _q91 = TREE_OPERAND (_q71, 1);
11170 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
11171 : {
11172 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
11173 : {
11174 0 : {
11175 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
11176 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR);
11177 0 : if (res) return res;
11178 : }
11179 : }
11180 : }
11181 : break;
11182 : }
11183 : default:;
11184 : }
11185 : break;
11186 : }
11187 : default:;
11188 : }
11189 : break;
11190 : }
11191 0 : case ORDERED_EXPR:
11192 0 : {
11193 0 : tree _q30 = TREE_OPERAND (_q20, 0);
11194 0 : tree _q31 = TREE_OPERAND (_q20, 1);
11195 0 : switch (TREE_CODE (_p1))
11196 : {
11197 0 : case BIT_AND_EXPR:
11198 0 : {
11199 0 : tree _q70 = TREE_OPERAND (_p1, 0);
11200 0 : tree _q71 = TREE_OPERAND (_p1, 1);
11201 0 : switch (TREE_CODE (_q70))
11202 : {
11203 0 : case UNORDERED_EXPR:
11204 0 : {
11205 0 : tree _q80 = TREE_OPERAND (_q70, 0);
11206 0 : tree _q81 = TREE_OPERAND (_q70, 1);
11207 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
11208 : {
11209 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
11210 : {
11211 0 : {
11212 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
11213 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR);
11214 0 : if (res) return res;
11215 : }
11216 : }
11217 : }
11218 : break;
11219 : }
11220 0 : default:;
11221 : }
11222 0 : switch (TREE_CODE (_q71))
11223 : {
11224 0 : case UNORDERED_EXPR:
11225 0 : {
11226 0 : tree _q90 = TREE_OPERAND (_q71, 0);
11227 0 : tree _q91 = TREE_OPERAND (_q71, 1);
11228 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
11229 : {
11230 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
11231 : {
11232 0 : {
11233 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
11234 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR);
11235 0 : if (res) return res;
11236 : }
11237 : }
11238 : }
11239 : break;
11240 : }
11241 : default:;
11242 : }
11243 : break;
11244 : }
11245 : default:;
11246 : }
11247 : break;
11248 : }
11249 0 : case UNLT_EXPR:
11250 0 : {
11251 0 : tree _q30 = TREE_OPERAND (_q20, 0);
11252 0 : tree _q31 = TREE_OPERAND (_q20, 1);
11253 0 : switch (TREE_CODE (_p1))
11254 : {
11255 0 : case BIT_AND_EXPR:
11256 0 : {
11257 0 : tree _q70 = TREE_OPERAND (_p1, 0);
11258 0 : tree _q71 = TREE_OPERAND (_p1, 1);
11259 0 : switch (TREE_CODE (_q70))
11260 : {
11261 0 : case GE_EXPR:
11262 0 : {
11263 0 : tree _q80 = TREE_OPERAND (_q70, 0);
11264 0 : tree _q81 = TREE_OPERAND (_q70, 1);
11265 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
11266 : {
11267 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
11268 : {
11269 0 : {
11270 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
11271 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR);
11272 0 : if (res) return res;
11273 : }
11274 : }
11275 : }
11276 : break;
11277 : }
11278 0 : default:;
11279 : }
11280 0 : switch (TREE_CODE (_q71))
11281 : {
11282 0 : case GE_EXPR:
11283 0 : {
11284 0 : tree _q90 = TREE_OPERAND (_q71, 0);
11285 0 : tree _q91 = TREE_OPERAND (_q71, 1);
11286 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
11287 : {
11288 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
11289 : {
11290 0 : {
11291 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
11292 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR);
11293 0 : if (res) return res;
11294 : }
11295 : }
11296 : }
11297 : break;
11298 : }
11299 : default:;
11300 : }
11301 : break;
11302 : }
11303 : default:;
11304 : }
11305 : break;
11306 : }
11307 0 : case UNLE_EXPR:
11308 0 : {
11309 0 : tree _q30 = TREE_OPERAND (_q20, 0);
11310 0 : tree _q31 = TREE_OPERAND (_q20, 1);
11311 0 : switch (TREE_CODE (_p1))
11312 : {
11313 0 : case BIT_AND_EXPR:
11314 0 : {
11315 0 : tree _q70 = TREE_OPERAND (_p1, 0);
11316 0 : tree _q71 = TREE_OPERAND (_p1, 1);
11317 0 : switch (TREE_CODE (_q70))
11318 : {
11319 0 : case GT_EXPR:
11320 0 : {
11321 0 : tree _q80 = TREE_OPERAND (_q70, 0);
11322 0 : tree _q81 = TREE_OPERAND (_q70, 1);
11323 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
11324 : {
11325 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
11326 : {
11327 0 : {
11328 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
11329 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR);
11330 0 : if (res) return res;
11331 : }
11332 : }
11333 : }
11334 : break;
11335 : }
11336 0 : default:;
11337 : }
11338 0 : switch (TREE_CODE (_q71))
11339 : {
11340 0 : case GT_EXPR:
11341 0 : {
11342 0 : tree _q90 = TREE_OPERAND (_q71, 0);
11343 0 : tree _q91 = TREE_OPERAND (_q71, 1);
11344 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
11345 : {
11346 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
11347 : {
11348 0 : {
11349 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
11350 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR);
11351 0 : if (res) return res;
11352 : }
11353 : }
11354 : }
11355 : break;
11356 : }
11357 : default:;
11358 : }
11359 : break;
11360 : }
11361 : default:;
11362 : }
11363 : break;
11364 : }
11365 0 : case UNGT_EXPR:
11366 0 : {
11367 0 : tree _q30 = TREE_OPERAND (_q20, 0);
11368 0 : tree _q31 = TREE_OPERAND (_q20, 1);
11369 0 : switch (TREE_CODE (_p1))
11370 : {
11371 0 : case BIT_AND_EXPR:
11372 0 : {
11373 0 : tree _q70 = TREE_OPERAND (_p1, 0);
11374 0 : tree _q71 = TREE_OPERAND (_p1, 1);
11375 0 : switch (TREE_CODE (_q70))
11376 : {
11377 0 : case LE_EXPR:
11378 0 : {
11379 0 : tree _q80 = TREE_OPERAND (_q70, 0);
11380 0 : tree _q81 = TREE_OPERAND (_q70, 1);
11381 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
11382 : {
11383 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
11384 : {
11385 0 : {
11386 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
11387 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR);
11388 0 : if (res) return res;
11389 : }
11390 : }
11391 : }
11392 : break;
11393 : }
11394 0 : default:;
11395 : }
11396 0 : switch (TREE_CODE (_q71))
11397 : {
11398 0 : case LE_EXPR:
11399 0 : {
11400 0 : tree _q90 = TREE_OPERAND (_q71, 0);
11401 0 : tree _q91 = TREE_OPERAND (_q71, 1);
11402 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
11403 : {
11404 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
11405 : {
11406 0 : {
11407 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
11408 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR);
11409 0 : if (res) return res;
11410 : }
11411 : }
11412 : }
11413 : break;
11414 : }
11415 : default:;
11416 : }
11417 : break;
11418 : }
11419 : default:;
11420 : }
11421 : break;
11422 : }
11423 0 : case UNGE_EXPR:
11424 0 : {
11425 0 : tree _q30 = TREE_OPERAND (_q20, 0);
11426 0 : tree _q31 = TREE_OPERAND (_q20, 1);
11427 0 : switch (TREE_CODE (_p1))
11428 : {
11429 0 : case BIT_AND_EXPR:
11430 0 : {
11431 0 : tree _q70 = TREE_OPERAND (_p1, 0);
11432 0 : tree _q71 = TREE_OPERAND (_p1, 1);
11433 0 : switch (TREE_CODE (_q70))
11434 : {
11435 0 : case LT_EXPR:
11436 0 : {
11437 0 : tree _q80 = TREE_OPERAND (_q70, 0);
11438 0 : tree _q81 = TREE_OPERAND (_q70, 1);
11439 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
11440 : {
11441 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
11442 : {
11443 0 : {
11444 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
11445 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR);
11446 0 : if (res) return res;
11447 : }
11448 : }
11449 : }
11450 : break;
11451 : }
11452 0 : default:;
11453 : }
11454 0 : switch (TREE_CODE (_q71))
11455 : {
11456 0 : case LT_EXPR:
11457 0 : {
11458 0 : tree _q90 = TREE_OPERAND (_q71, 0);
11459 0 : tree _q91 = TREE_OPERAND (_q71, 1);
11460 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
11461 : {
11462 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
11463 : {
11464 0 : {
11465 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
11466 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR);
11467 0 : if (res) return res;
11468 : }
11469 : }
11470 : }
11471 : break;
11472 : }
11473 : default:;
11474 : }
11475 : break;
11476 : }
11477 : default:;
11478 : }
11479 : break;
11480 : }
11481 0 : case UNEQ_EXPR:
11482 0 : {
11483 0 : tree _q30 = TREE_OPERAND (_q20, 0);
11484 0 : tree _q31 = TREE_OPERAND (_q20, 1);
11485 0 : switch (TREE_CODE (_p1))
11486 : {
11487 0 : case BIT_AND_EXPR:
11488 0 : {
11489 0 : tree _q70 = TREE_OPERAND (_p1, 0);
11490 0 : tree _q71 = TREE_OPERAND (_p1, 1);
11491 0 : switch (TREE_CODE (_q70))
11492 : {
11493 0 : case LTGT_EXPR:
11494 0 : {
11495 0 : tree _q80 = TREE_OPERAND (_q70, 0);
11496 0 : tree _q81 = TREE_OPERAND (_q70, 1);
11497 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
11498 : {
11499 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
11500 : {
11501 0 : {
11502 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
11503 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR);
11504 0 : if (res) return res;
11505 : }
11506 : }
11507 : }
11508 : break;
11509 : }
11510 0 : default:;
11511 : }
11512 0 : switch (TREE_CODE (_q71))
11513 : {
11514 0 : case LTGT_EXPR:
11515 0 : {
11516 0 : tree _q90 = TREE_OPERAND (_q71, 0);
11517 0 : tree _q91 = TREE_OPERAND (_q71, 1);
11518 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
11519 : {
11520 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
11521 : {
11522 0 : {
11523 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
11524 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR);
11525 0 : if (res) return res;
11526 : }
11527 : }
11528 : }
11529 : break;
11530 : }
11531 : default:;
11532 : }
11533 : break;
11534 : }
11535 : default:;
11536 : }
11537 : break;
11538 : }
11539 0 : case LTGT_EXPR:
11540 0 : {
11541 0 : tree _q30 = TREE_OPERAND (_q20, 0);
11542 0 : tree _q31 = TREE_OPERAND (_q20, 1);
11543 0 : switch (TREE_CODE (_p1))
11544 : {
11545 0 : case BIT_AND_EXPR:
11546 0 : {
11547 0 : tree _q70 = TREE_OPERAND (_p1, 0);
11548 0 : tree _q71 = TREE_OPERAND (_p1, 1);
11549 0 : switch (TREE_CODE (_q70))
11550 : {
11551 0 : case UNEQ_EXPR:
11552 0 : {
11553 0 : tree _q80 = TREE_OPERAND (_q70, 0);
11554 0 : tree _q81 = TREE_OPERAND (_q70, 1);
11555 0 : if ((_q80 == _q30 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q30, 0) && types_match (_q80, _q30)))
11556 : {
11557 0 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
11558 : {
11559 0 : {
11560 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q70, _q71 };
11561 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR);
11562 0 : if (res) return res;
11563 : }
11564 : }
11565 : }
11566 : break;
11567 : }
11568 0 : default:;
11569 : }
11570 0 : switch (TREE_CODE (_q71))
11571 : {
11572 0 : case UNEQ_EXPR:
11573 0 : {
11574 0 : tree _q90 = TREE_OPERAND (_q71, 0);
11575 0 : tree _q91 = TREE_OPERAND (_q71, 1);
11576 0 : if ((_q90 == _q30 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q30, 0) && types_match (_q90, _q30)))
11577 : {
11578 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
11579 : {
11580 0 : {
11581 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q20, _q30, _q31, _q21, _q71, _q70 };
11582 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR);
11583 0 : if (res) return res;
11584 : }
11585 : }
11586 : }
11587 : break;
11588 : }
11589 : default:;
11590 : }
11591 : break;
11592 : }
11593 : default:;
11594 : }
11595 : break;
11596 : }
11597 79632 : default:;
11598 : }
11599 79632 : switch (TREE_CODE (_q21))
11600 : {
11601 0 : case LT_EXPR:
11602 0 : {
11603 0 : tree _q40 = TREE_OPERAND (_q21, 0);
11604 0 : tree _q41 = TREE_OPERAND (_q21, 1);
11605 0 : switch (TREE_CODE (_p1))
11606 : {
11607 0 : case BIT_AND_EXPR:
11608 0 : {
11609 0 : tree _q70 = TREE_OPERAND (_p1, 0);
11610 0 : tree _q71 = TREE_OPERAND (_p1, 1);
11611 0 : switch (TREE_CODE (_q70))
11612 : {
11613 0 : case GE_EXPR:
11614 0 : {
11615 0 : tree _q80 = TREE_OPERAND (_q70, 0);
11616 0 : tree _q81 = TREE_OPERAND (_q70, 1);
11617 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
11618 : {
11619 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
11620 : {
11621 0 : {
11622 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
11623 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
11624 0 : if (res) return res;
11625 : }
11626 : }
11627 : }
11628 : break;
11629 : }
11630 0 : default:;
11631 : }
11632 0 : switch (TREE_CODE (_q71))
11633 : {
11634 0 : case GE_EXPR:
11635 0 : {
11636 0 : tree _q90 = TREE_OPERAND (_q71, 0);
11637 0 : tree _q91 = TREE_OPERAND (_q71, 1);
11638 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
11639 : {
11640 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
11641 : {
11642 0 : {
11643 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
11644 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
11645 0 : if (res) return res;
11646 : }
11647 : }
11648 : }
11649 : break;
11650 : }
11651 : default:;
11652 : }
11653 : break;
11654 : }
11655 : default:;
11656 : }
11657 : break;
11658 : }
11659 0 : case LE_EXPR:
11660 0 : {
11661 0 : tree _q40 = TREE_OPERAND (_q21, 0);
11662 0 : tree _q41 = TREE_OPERAND (_q21, 1);
11663 0 : switch (TREE_CODE (_p1))
11664 : {
11665 0 : case BIT_AND_EXPR:
11666 0 : {
11667 0 : tree _q70 = TREE_OPERAND (_p1, 0);
11668 0 : tree _q71 = TREE_OPERAND (_p1, 1);
11669 0 : switch (TREE_CODE (_q70))
11670 : {
11671 0 : case GT_EXPR:
11672 0 : {
11673 0 : tree _q80 = TREE_OPERAND (_q70, 0);
11674 0 : tree _q81 = TREE_OPERAND (_q70, 1);
11675 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
11676 : {
11677 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
11678 : {
11679 0 : {
11680 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
11681 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
11682 0 : if (res) return res;
11683 : }
11684 : }
11685 : }
11686 : break;
11687 : }
11688 0 : default:;
11689 : }
11690 0 : switch (TREE_CODE (_q71))
11691 : {
11692 0 : case GT_EXPR:
11693 0 : {
11694 0 : tree _q90 = TREE_OPERAND (_q71, 0);
11695 0 : tree _q91 = TREE_OPERAND (_q71, 1);
11696 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
11697 : {
11698 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
11699 : {
11700 0 : {
11701 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
11702 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
11703 0 : if (res) return res;
11704 : }
11705 : }
11706 : }
11707 : break;
11708 : }
11709 : default:;
11710 : }
11711 : break;
11712 : }
11713 : default:;
11714 : }
11715 : break;
11716 : }
11717 1 : case EQ_EXPR:
11718 1 : {
11719 1 : tree _q40 = TREE_OPERAND (_q21, 0);
11720 1 : tree _q41 = TREE_OPERAND (_q21, 1);
11721 1 : switch (TREE_CODE (_p1))
11722 : {
11723 1 : case BIT_AND_EXPR:
11724 1 : {
11725 1 : tree _q70 = TREE_OPERAND (_p1, 0);
11726 1 : tree _q71 = TREE_OPERAND (_p1, 1);
11727 1 : switch (TREE_CODE (_q70))
11728 : {
11729 0 : case NE_EXPR:
11730 0 : {
11731 0 : tree _q80 = TREE_OPERAND (_q70, 0);
11732 0 : tree _q81 = TREE_OPERAND (_q70, 1);
11733 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
11734 : {
11735 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
11736 : {
11737 0 : {
11738 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
11739 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
11740 0 : if (res) return res;
11741 : }
11742 : }
11743 : }
11744 : break;
11745 : }
11746 1 : default:;
11747 : }
11748 1 : switch (TREE_CODE (_q71))
11749 : {
11750 0 : case NE_EXPR:
11751 0 : {
11752 0 : tree _q90 = TREE_OPERAND (_q71, 0);
11753 0 : tree _q91 = TREE_OPERAND (_q71, 1);
11754 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
11755 : {
11756 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
11757 : {
11758 0 : {
11759 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
11760 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
11761 0 : if (res) return res;
11762 : }
11763 : }
11764 : }
11765 : break;
11766 : }
11767 : default:;
11768 : }
11769 : break;
11770 : }
11771 : default:;
11772 : }
11773 : break;
11774 : }
11775 0 : case NE_EXPR:
11776 0 : {
11777 0 : tree _q40 = TREE_OPERAND (_q21, 0);
11778 0 : tree _q41 = TREE_OPERAND (_q21, 1);
11779 0 : switch (TREE_CODE (_p1))
11780 : {
11781 0 : case BIT_AND_EXPR:
11782 0 : {
11783 0 : tree _q70 = TREE_OPERAND (_p1, 0);
11784 0 : tree _q71 = TREE_OPERAND (_p1, 1);
11785 0 : switch (TREE_CODE (_q70))
11786 : {
11787 0 : case EQ_EXPR:
11788 0 : {
11789 0 : tree _q80 = TREE_OPERAND (_q70, 0);
11790 0 : tree _q81 = TREE_OPERAND (_q70, 1);
11791 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
11792 : {
11793 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
11794 : {
11795 0 : {
11796 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
11797 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
11798 0 : if (res) return res;
11799 : }
11800 : }
11801 : }
11802 : break;
11803 : }
11804 0 : default:;
11805 : }
11806 0 : switch (TREE_CODE (_q71))
11807 : {
11808 0 : case EQ_EXPR:
11809 0 : {
11810 0 : tree _q90 = TREE_OPERAND (_q71, 0);
11811 0 : tree _q91 = TREE_OPERAND (_q71, 1);
11812 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
11813 : {
11814 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
11815 : {
11816 0 : {
11817 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
11818 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
11819 0 : if (res) return res;
11820 : }
11821 : }
11822 : }
11823 : break;
11824 : }
11825 : default:;
11826 : }
11827 : break;
11828 : }
11829 : default:;
11830 : }
11831 : break;
11832 : }
11833 0 : case GE_EXPR:
11834 0 : {
11835 0 : tree _q40 = TREE_OPERAND (_q21, 0);
11836 0 : tree _q41 = TREE_OPERAND (_q21, 1);
11837 0 : switch (TREE_CODE (_p1))
11838 : {
11839 0 : case BIT_AND_EXPR:
11840 0 : {
11841 0 : tree _q70 = TREE_OPERAND (_p1, 0);
11842 0 : tree _q71 = TREE_OPERAND (_p1, 1);
11843 0 : switch (TREE_CODE (_q70))
11844 : {
11845 0 : case LT_EXPR:
11846 0 : {
11847 0 : tree _q80 = TREE_OPERAND (_q70, 0);
11848 0 : tree _q81 = TREE_OPERAND (_q70, 1);
11849 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
11850 : {
11851 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
11852 : {
11853 0 : {
11854 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
11855 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
11856 0 : if (res) return res;
11857 : }
11858 : }
11859 : }
11860 : break;
11861 : }
11862 0 : default:;
11863 : }
11864 0 : switch (TREE_CODE (_q71))
11865 : {
11866 0 : case LT_EXPR:
11867 0 : {
11868 0 : tree _q90 = TREE_OPERAND (_q71, 0);
11869 0 : tree _q91 = TREE_OPERAND (_q71, 1);
11870 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
11871 : {
11872 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
11873 : {
11874 0 : {
11875 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
11876 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
11877 0 : if (res) return res;
11878 : }
11879 : }
11880 : }
11881 : break;
11882 : }
11883 : default:;
11884 : }
11885 : break;
11886 : }
11887 : default:;
11888 : }
11889 : break;
11890 : }
11891 0 : case GT_EXPR:
11892 0 : {
11893 0 : tree _q40 = TREE_OPERAND (_q21, 0);
11894 0 : tree _q41 = TREE_OPERAND (_q21, 1);
11895 0 : switch (TREE_CODE (_p1))
11896 : {
11897 0 : case BIT_AND_EXPR:
11898 0 : {
11899 0 : tree _q70 = TREE_OPERAND (_p1, 0);
11900 0 : tree _q71 = TREE_OPERAND (_p1, 1);
11901 0 : switch (TREE_CODE (_q70))
11902 : {
11903 0 : case LE_EXPR:
11904 0 : {
11905 0 : tree _q80 = TREE_OPERAND (_q70, 0);
11906 0 : tree _q81 = TREE_OPERAND (_q70, 1);
11907 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
11908 : {
11909 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
11910 : {
11911 0 : {
11912 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
11913 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
11914 0 : if (res) return res;
11915 : }
11916 : }
11917 : }
11918 : break;
11919 : }
11920 0 : default:;
11921 : }
11922 0 : switch (TREE_CODE (_q71))
11923 : {
11924 0 : case LE_EXPR:
11925 0 : {
11926 0 : tree _q90 = TREE_OPERAND (_q71, 0);
11927 0 : tree _q91 = TREE_OPERAND (_q71, 1);
11928 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
11929 : {
11930 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
11931 : {
11932 0 : {
11933 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
11934 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
11935 0 : if (res) return res;
11936 : }
11937 : }
11938 : }
11939 : break;
11940 : }
11941 : default:;
11942 : }
11943 : break;
11944 : }
11945 : default:;
11946 : }
11947 : break;
11948 : }
11949 0 : case UNORDERED_EXPR:
11950 0 : {
11951 0 : tree _q40 = TREE_OPERAND (_q21, 0);
11952 0 : tree _q41 = TREE_OPERAND (_q21, 1);
11953 0 : switch (TREE_CODE (_p1))
11954 : {
11955 0 : case BIT_AND_EXPR:
11956 0 : {
11957 0 : tree _q70 = TREE_OPERAND (_p1, 0);
11958 0 : tree _q71 = TREE_OPERAND (_p1, 1);
11959 0 : switch (TREE_CODE (_q70))
11960 : {
11961 0 : case ORDERED_EXPR:
11962 0 : {
11963 0 : tree _q80 = TREE_OPERAND (_q70, 0);
11964 0 : tree _q81 = TREE_OPERAND (_q70, 1);
11965 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
11966 : {
11967 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
11968 : {
11969 0 : {
11970 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
11971 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR);
11972 0 : if (res) return res;
11973 : }
11974 : }
11975 : }
11976 : break;
11977 : }
11978 0 : default:;
11979 : }
11980 0 : switch (TREE_CODE (_q71))
11981 : {
11982 0 : case ORDERED_EXPR:
11983 0 : {
11984 0 : tree _q90 = TREE_OPERAND (_q71, 0);
11985 0 : tree _q91 = TREE_OPERAND (_q71, 1);
11986 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
11987 : {
11988 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
11989 : {
11990 0 : {
11991 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
11992 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR);
11993 0 : if (res) return res;
11994 : }
11995 : }
11996 : }
11997 : break;
11998 : }
11999 : default:;
12000 : }
12001 : break;
12002 : }
12003 : default:;
12004 : }
12005 : break;
12006 : }
12007 0 : case ORDERED_EXPR:
12008 0 : {
12009 0 : tree _q40 = TREE_OPERAND (_q21, 0);
12010 0 : tree _q41 = TREE_OPERAND (_q21, 1);
12011 0 : switch (TREE_CODE (_p1))
12012 : {
12013 0 : case BIT_AND_EXPR:
12014 0 : {
12015 0 : tree _q70 = TREE_OPERAND (_p1, 0);
12016 0 : tree _q71 = TREE_OPERAND (_p1, 1);
12017 0 : switch (TREE_CODE (_q70))
12018 : {
12019 0 : case UNORDERED_EXPR:
12020 0 : {
12021 0 : tree _q80 = TREE_OPERAND (_q70, 0);
12022 0 : tree _q81 = TREE_OPERAND (_q70, 1);
12023 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
12024 : {
12025 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
12026 : {
12027 0 : {
12028 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
12029 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR);
12030 0 : if (res) return res;
12031 : }
12032 : }
12033 : }
12034 : break;
12035 : }
12036 0 : default:;
12037 : }
12038 0 : switch (TREE_CODE (_q71))
12039 : {
12040 0 : case UNORDERED_EXPR:
12041 0 : {
12042 0 : tree _q90 = TREE_OPERAND (_q71, 0);
12043 0 : tree _q91 = TREE_OPERAND (_q71, 1);
12044 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
12045 : {
12046 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
12047 : {
12048 0 : {
12049 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
12050 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR);
12051 0 : if (res) return res;
12052 : }
12053 : }
12054 : }
12055 : break;
12056 : }
12057 : default:;
12058 : }
12059 : break;
12060 : }
12061 : default:;
12062 : }
12063 : break;
12064 : }
12065 0 : case UNLT_EXPR:
12066 0 : {
12067 0 : tree _q40 = TREE_OPERAND (_q21, 0);
12068 0 : tree _q41 = TREE_OPERAND (_q21, 1);
12069 0 : switch (TREE_CODE (_p1))
12070 : {
12071 0 : case BIT_AND_EXPR:
12072 0 : {
12073 0 : tree _q70 = TREE_OPERAND (_p1, 0);
12074 0 : tree _q71 = TREE_OPERAND (_p1, 1);
12075 0 : switch (TREE_CODE (_q70))
12076 : {
12077 0 : case GE_EXPR:
12078 0 : {
12079 0 : tree _q80 = TREE_OPERAND (_q70, 0);
12080 0 : tree _q81 = TREE_OPERAND (_q70, 1);
12081 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
12082 : {
12083 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
12084 : {
12085 0 : {
12086 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
12087 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR);
12088 0 : if (res) return res;
12089 : }
12090 : }
12091 : }
12092 : break;
12093 : }
12094 0 : default:;
12095 : }
12096 0 : switch (TREE_CODE (_q71))
12097 : {
12098 0 : case GE_EXPR:
12099 0 : {
12100 0 : tree _q90 = TREE_OPERAND (_q71, 0);
12101 0 : tree _q91 = TREE_OPERAND (_q71, 1);
12102 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
12103 : {
12104 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
12105 : {
12106 0 : {
12107 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
12108 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR);
12109 0 : if (res) return res;
12110 : }
12111 : }
12112 : }
12113 : break;
12114 : }
12115 : default:;
12116 : }
12117 : break;
12118 : }
12119 : default:;
12120 : }
12121 : break;
12122 : }
12123 0 : case UNLE_EXPR:
12124 0 : {
12125 0 : tree _q40 = TREE_OPERAND (_q21, 0);
12126 0 : tree _q41 = TREE_OPERAND (_q21, 1);
12127 0 : switch (TREE_CODE (_p1))
12128 : {
12129 0 : case BIT_AND_EXPR:
12130 0 : {
12131 0 : tree _q70 = TREE_OPERAND (_p1, 0);
12132 0 : tree _q71 = TREE_OPERAND (_p1, 1);
12133 0 : switch (TREE_CODE (_q70))
12134 : {
12135 0 : case GT_EXPR:
12136 0 : {
12137 0 : tree _q80 = TREE_OPERAND (_q70, 0);
12138 0 : tree _q81 = TREE_OPERAND (_q70, 1);
12139 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
12140 : {
12141 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
12142 : {
12143 0 : {
12144 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
12145 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR);
12146 0 : if (res) return res;
12147 : }
12148 : }
12149 : }
12150 : break;
12151 : }
12152 0 : default:;
12153 : }
12154 0 : switch (TREE_CODE (_q71))
12155 : {
12156 0 : case GT_EXPR:
12157 0 : {
12158 0 : tree _q90 = TREE_OPERAND (_q71, 0);
12159 0 : tree _q91 = TREE_OPERAND (_q71, 1);
12160 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
12161 : {
12162 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
12163 : {
12164 0 : {
12165 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
12166 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR);
12167 0 : if (res) return res;
12168 : }
12169 : }
12170 : }
12171 : break;
12172 : }
12173 : default:;
12174 : }
12175 : break;
12176 : }
12177 : default:;
12178 : }
12179 : break;
12180 : }
12181 0 : case UNGT_EXPR:
12182 0 : {
12183 0 : tree _q40 = TREE_OPERAND (_q21, 0);
12184 0 : tree _q41 = TREE_OPERAND (_q21, 1);
12185 0 : switch (TREE_CODE (_p1))
12186 : {
12187 0 : case BIT_AND_EXPR:
12188 0 : {
12189 0 : tree _q70 = TREE_OPERAND (_p1, 0);
12190 0 : tree _q71 = TREE_OPERAND (_p1, 1);
12191 0 : switch (TREE_CODE (_q70))
12192 : {
12193 0 : case LE_EXPR:
12194 0 : {
12195 0 : tree _q80 = TREE_OPERAND (_q70, 0);
12196 0 : tree _q81 = TREE_OPERAND (_q70, 1);
12197 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
12198 : {
12199 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
12200 : {
12201 0 : {
12202 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
12203 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR);
12204 0 : if (res) return res;
12205 : }
12206 : }
12207 : }
12208 : break;
12209 : }
12210 0 : default:;
12211 : }
12212 0 : switch (TREE_CODE (_q71))
12213 : {
12214 0 : case LE_EXPR:
12215 0 : {
12216 0 : tree _q90 = TREE_OPERAND (_q71, 0);
12217 0 : tree _q91 = TREE_OPERAND (_q71, 1);
12218 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
12219 : {
12220 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
12221 : {
12222 0 : {
12223 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
12224 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR);
12225 0 : if (res) return res;
12226 : }
12227 : }
12228 : }
12229 : break;
12230 : }
12231 : default:;
12232 : }
12233 : break;
12234 : }
12235 : default:;
12236 : }
12237 : break;
12238 : }
12239 0 : case UNGE_EXPR:
12240 0 : {
12241 0 : tree _q40 = TREE_OPERAND (_q21, 0);
12242 0 : tree _q41 = TREE_OPERAND (_q21, 1);
12243 0 : switch (TREE_CODE (_p1))
12244 : {
12245 0 : case BIT_AND_EXPR:
12246 0 : {
12247 0 : tree _q70 = TREE_OPERAND (_p1, 0);
12248 0 : tree _q71 = TREE_OPERAND (_p1, 1);
12249 0 : switch (TREE_CODE (_q70))
12250 : {
12251 0 : case LT_EXPR:
12252 0 : {
12253 0 : tree _q80 = TREE_OPERAND (_q70, 0);
12254 0 : tree _q81 = TREE_OPERAND (_q70, 1);
12255 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
12256 : {
12257 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
12258 : {
12259 0 : {
12260 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
12261 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR);
12262 0 : if (res) return res;
12263 : }
12264 : }
12265 : }
12266 : break;
12267 : }
12268 0 : default:;
12269 : }
12270 0 : switch (TREE_CODE (_q71))
12271 : {
12272 0 : case LT_EXPR:
12273 0 : {
12274 0 : tree _q90 = TREE_OPERAND (_q71, 0);
12275 0 : tree _q91 = TREE_OPERAND (_q71, 1);
12276 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
12277 : {
12278 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
12279 : {
12280 0 : {
12281 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
12282 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR);
12283 0 : if (res) return res;
12284 : }
12285 : }
12286 : }
12287 : break;
12288 : }
12289 : default:;
12290 : }
12291 : break;
12292 : }
12293 : default:;
12294 : }
12295 : break;
12296 : }
12297 0 : case UNEQ_EXPR:
12298 0 : {
12299 0 : tree _q40 = TREE_OPERAND (_q21, 0);
12300 0 : tree _q41 = TREE_OPERAND (_q21, 1);
12301 0 : switch (TREE_CODE (_p1))
12302 : {
12303 0 : case BIT_AND_EXPR:
12304 0 : {
12305 0 : tree _q70 = TREE_OPERAND (_p1, 0);
12306 0 : tree _q71 = TREE_OPERAND (_p1, 1);
12307 0 : switch (TREE_CODE (_q70))
12308 : {
12309 0 : case LTGT_EXPR:
12310 0 : {
12311 0 : tree _q80 = TREE_OPERAND (_q70, 0);
12312 0 : tree _q81 = TREE_OPERAND (_q70, 1);
12313 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
12314 : {
12315 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
12316 : {
12317 0 : {
12318 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
12319 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR);
12320 0 : if (res) return res;
12321 : }
12322 : }
12323 : }
12324 : break;
12325 : }
12326 0 : default:;
12327 : }
12328 0 : switch (TREE_CODE (_q71))
12329 : {
12330 0 : case LTGT_EXPR:
12331 0 : {
12332 0 : tree _q90 = TREE_OPERAND (_q71, 0);
12333 0 : tree _q91 = TREE_OPERAND (_q71, 1);
12334 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
12335 : {
12336 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
12337 : {
12338 0 : {
12339 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
12340 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR);
12341 0 : if (res) return res;
12342 : }
12343 : }
12344 : }
12345 : break;
12346 : }
12347 : default:;
12348 : }
12349 : break;
12350 : }
12351 : default:;
12352 : }
12353 : break;
12354 : }
12355 0 : case LTGT_EXPR:
12356 0 : {
12357 0 : tree _q40 = TREE_OPERAND (_q21, 0);
12358 0 : tree _q41 = TREE_OPERAND (_q21, 1);
12359 0 : switch (TREE_CODE (_p1))
12360 : {
12361 0 : case BIT_AND_EXPR:
12362 0 : {
12363 0 : tree _q70 = TREE_OPERAND (_p1, 0);
12364 0 : tree _q71 = TREE_OPERAND (_p1, 1);
12365 0 : switch (TREE_CODE (_q70))
12366 : {
12367 0 : case UNEQ_EXPR:
12368 0 : {
12369 0 : tree _q80 = TREE_OPERAND (_q70, 0);
12370 0 : tree _q81 = TREE_OPERAND (_q70, 1);
12371 0 : if ((_q80 == _q40 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q40, 0) && types_match (_q80, _q40)))
12372 : {
12373 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
12374 : {
12375 0 : {
12376 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q70, _q71 };
12377 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR);
12378 0 : if (res) return res;
12379 : }
12380 : }
12381 : }
12382 : break;
12383 : }
12384 0 : default:;
12385 : }
12386 0 : switch (TREE_CODE (_q71))
12387 : {
12388 0 : case UNEQ_EXPR:
12389 0 : {
12390 0 : tree _q90 = TREE_OPERAND (_q71, 0);
12391 0 : tree _q91 = TREE_OPERAND (_q71, 1);
12392 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
12393 : {
12394 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
12395 : {
12396 0 : {
12397 0 : tree captures[6] ATTRIBUTE_UNUSED = { _q21, _q40, _q41, _q20, _q71, _q70 };
12398 0 : tree res = generic_simplify_152 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR);
12399 0 : if (res) return res;
12400 : }
12401 : }
12402 : }
12403 : break;
12404 : }
12405 : default:;
12406 : }
12407 : break;
12408 : }
12409 : default:;
12410 : }
12411 : break;
12412 : }
12413 79632 : default:;
12414 : }
12415 79632 : switch (TREE_CODE (_q20))
12416 : {
12417 0 : case VEC_COND_EXPR:
12418 0 : {
12419 0 : tree _q30 = TREE_OPERAND (_q20, 0);
12420 0 : tree _q31 = TREE_OPERAND (_q20, 1);
12421 0 : tree _q32 = TREE_OPERAND (_q20, 2);
12422 0 : switch (TREE_CODE (_q30))
12423 : {
12424 0 : case LT_EXPR:
12425 0 : {
12426 0 : tree _q40 = TREE_OPERAND (_q30, 0);
12427 0 : tree _q41 = TREE_OPERAND (_q30, 1);
12428 0 : switch (TREE_CODE (_p1))
12429 : {
12430 0 : case BIT_AND_EXPR:
12431 0 : {
12432 0 : tree _q100 = TREE_OPERAND (_p1, 0);
12433 0 : tree _q101 = TREE_OPERAND (_p1, 1);
12434 0 : switch (TREE_CODE (_q100))
12435 : {
12436 0 : case VEC_COND_EXPR:
12437 0 : {
12438 0 : tree _q110 = TREE_OPERAND (_q100, 0);
12439 0 : tree _q111 = TREE_OPERAND (_q100, 1);
12440 0 : tree _q112 = TREE_OPERAND (_q100, 2);
12441 0 : switch (TREE_CODE (_q110))
12442 : {
12443 0 : case GE_EXPR:
12444 0 : {
12445 0 : tree _q120 = TREE_OPERAND (_q110, 0);
12446 0 : tree _q121 = TREE_OPERAND (_q110, 1);
12447 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
12448 : {
12449 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
12450 : {
12451 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
12452 : {
12453 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
12454 : {
12455 0 : {
12456 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
12457 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
12458 0 : if (res) return res;
12459 : }
12460 : }
12461 : }
12462 : }
12463 : }
12464 : break;
12465 : }
12466 : default:;
12467 : }
12468 : break;
12469 : }
12470 0 : default:;
12471 : }
12472 0 : switch (TREE_CODE (_q101))
12473 : {
12474 0 : case VEC_COND_EXPR:
12475 0 : {
12476 0 : tree _q120 = TREE_OPERAND (_q101, 0);
12477 0 : tree _q121 = TREE_OPERAND (_q101, 1);
12478 0 : tree _q122 = TREE_OPERAND (_q101, 2);
12479 0 : switch (TREE_CODE (_q120))
12480 : {
12481 0 : case GE_EXPR:
12482 0 : {
12483 0 : tree _q130 = TREE_OPERAND (_q120, 0);
12484 0 : tree _q131 = TREE_OPERAND (_q120, 1);
12485 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
12486 : {
12487 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
12488 : {
12489 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
12490 : {
12491 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
12492 : {
12493 0 : {
12494 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
12495 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
12496 0 : if (res) return res;
12497 : }
12498 : }
12499 : }
12500 : }
12501 : }
12502 : break;
12503 : }
12504 : default:;
12505 : }
12506 : break;
12507 : }
12508 : default:;
12509 : }
12510 : break;
12511 : }
12512 : default:;
12513 : }
12514 : break;
12515 : }
12516 0 : case LE_EXPR:
12517 0 : {
12518 0 : tree _q40 = TREE_OPERAND (_q30, 0);
12519 0 : tree _q41 = TREE_OPERAND (_q30, 1);
12520 0 : switch (TREE_CODE (_p1))
12521 : {
12522 0 : case BIT_AND_EXPR:
12523 0 : {
12524 0 : tree _q100 = TREE_OPERAND (_p1, 0);
12525 0 : tree _q101 = TREE_OPERAND (_p1, 1);
12526 0 : switch (TREE_CODE (_q100))
12527 : {
12528 0 : case VEC_COND_EXPR:
12529 0 : {
12530 0 : tree _q110 = TREE_OPERAND (_q100, 0);
12531 0 : tree _q111 = TREE_OPERAND (_q100, 1);
12532 0 : tree _q112 = TREE_OPERAND (_q100, 2);
12533 0 : switch (TREE_CODE (_q110))
12534 : {
12535 0 : case GT_EXPR:
12536 0 : {
12537 0 : tree _q120 = TREE_OPERAND (_q110, 0);
12538 0 : tree _q121 = TREE_OPERAND (_q110, 1);
12539 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
12540 : {
12541 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
12542 : {
12543 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
12544 : {
12545 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
12546 : {
12547 0 : {
12548 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
12549 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
12550 0 : if (res) return res;
12551 : }
12552 : }
12553 : }
12554 : }
12555 : }
12556 : break;
12557 : }
12558 : default:;
12559 : }
12560 : break;
12561 : }
12562 0 : default:;
12563 : }
12564 0 : switch (TREE_CODE (_q101))
12565 : {
12566 0 : case VEC_COND_EXPR:
12567 0 : {
12568 0 : tree _q120 = TREE_OPERAND (_q101, 0);
12569 0 : tree _q121 = TREE_OPERAND (_q101, 1);
12570 0 : tree _q122 = TREE_OPERAND (_q101, 2);
12571 0 : switch (TREE_CODE (_q120))
12572 : {
12573 0 : case GT_EXPR:
12574 0 : {
12575 0 : tree _q130 = TREE_OPERAND (_q120, 0);
12576 0 : tree _q131 = TREE_OPERAND (_q120, 1);
12577 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
12578 : {
12579 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
12580 : {
12581 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
12582 : {
12583 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
12584 : {
12585 0 : {
12586 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
12587 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
12588 0 : if (res) return res;
12589 : }
12590 : }
12591 : }
12592 : }
12593 : }
12594 : break;
12595 : }
12596 : default:;
12597 : }
12598 : break;
12599 : }
12600 : default:;
12601 : }
12602 : break;
12603 : }
12604 : default:;
12605 : }
12606 : break;
12607 : }
12608 0 : case EQ_EXPR:
12609 0 : {
12610 0 : tree _q40 = TREE_OPERAND (_q30, 0);
12611 0 : tree _q41 = TREE_OPERAND (_q30, 1);
12612 0 : switch (TREE_CODE (_p1))
12613 : {
12614 0 : case BIT_AND_EXPR:
12615 0 : {
12616 0 : tree _q100 = TREE_OPERAND (_p1, 0);
12617 0 : tree _q101 = TREE_OPERAND (_p1, 1);
12618 0 : switch (TREE_CODE (_q100))
12619 : {
12620 0 : case VEC_COND_EXPR:
12621 0 : {
12622 0 : tree _q110 = TREE_OPERAND (_q100, 0);
12623 0 : tree _q111 = TREE_OPERAND (_q100, 1);
12624 0 : tree _q112 = TREE_OPERAND (_q100, 2);
12625 0 : switch (TREE_CODE (_q110))
12626 : {
12627 0 : case NE_EXPR:
12628 0 : {
12629 0 : tree _q120 = TREE_OPERAND (_q110, 0);
12630 0 : tree _q121 = TREE_OPERAND (_q110, 1);
12631 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
12632 : {
12633 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
12634 : {
12635 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
12636 : {
12637 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
12638 : {
12639 0 : {
12640 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
12641 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
12642 0 : if (res) return res;
12643 : }
12644 : }
12645 : }
12646 : }
12647 : }
12648 : break;
12649 : }
12650 : default:;
12651 : }
12652 : break;
12653 : }
12654 0 : default:;
12655 : }
12656 0 : switch (TREE_CODE (_q101))
12657 : {
12658 0 : case VEC_COND_EXPR:
12659 0 : {
12660 0 : tree _q120 = TREE_OPERAND (_q101, 0);
12661 0 : tree _q121 = TREE_OPERAND (_q101, 1);
12662 0 : tree _q122 = TREE_OPERAND (_q101, 2);
12663 0 : switch (TREE_CODE (_q120))
12664 : {
12665 0 : case NE_EXPR:
12666 0 : {
12667 0 : tree _q130 = TREE_OPERAND (_q120, 0);
12668 0 : tree _q131 = TREE_OPERAND (_q120, 1);
12669 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
12670 : {
12671 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
12672 : {
12673 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
12674 : {
12675 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
12676 : {
12677 0 : {
12678 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
12679 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
12680 0 : if (res) return res;
12681 : }
12682 : }
12683 : }
12684 : }
12685 : }
12686 : break;
12687 : }
12688 : default:;
12689 : }
12690 : break;
12691 : }
12692 : default:;
12693 : }
12694 : break;
12695 : }
12696 : default:;
12697 : }
12698 : break;
12699 : }
12700 0 : case NE_EXPR:
12701 0 : {
12702 0 : tree _q40 = TREE_OPERAND (_q30, 0);
12703 0 : tree _q41 = TREE_OPERAND (_q30, 1);
12704 0 : switch (TREE_CODE (_p1))
12705 : {
12706 0 : case BIT_AND_EXPR:
12707 0 : {
12708 0 : tree _q100 = TREE_OPERAND (_p1, 0);
12709 0 : tree _q101 = TREE_OPERAND (_p1, 1);
12710 0 : switch (TREE_CODE (_q100))
12711 : {
12712 0 : case VEC_COND_EXPR:
12713 0 : {
12714 0 : tree _q110 = TREE_OPERAND (_q100, 0);
12715 0 : tree _q111 = TREE_OPERAND (_q100, 1);
12716 0 : tree _q112 = TREE_OPERAND (_q100, 2);
12717 0 : switch (TREE_CODE (_q110))
12718 : {
12719 0 : case EQ_EXPR:
12720 0 : {
12721 0 : tree _q120 = TREE_OPERAND (_q110, 0);
12722 0 : tree _q121 = TREE_OPERAND (_q110, 1);
12723 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
12724 : {
12725 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
12726 : {
12727 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
12728 : {
12729 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
12730 : {
12731 0 : {
12732 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
12733 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
12734 0 : if (res) return res;
12735 : }
12736 : }
12737 : }
12738 : }
12739 : }
12740 : break;
12741 : }
12742 : default:;
12743 : }
12744 : break;
12745 : }
12746 0 : default:;
12747 : }
12748 0 : switch (TREE_CODE (_q101))
12749 : {
12750 0 : case VEC_COND_EXPR:
12751 0 : {
12752 0 : tree _q120 = TREE_OPERAND (_q101, 0);
12753 0 : tree _q121 = TREE_OPERAND (_q101, 1);
12754 0 : tree _q122 = TREE_OPERAND (_q101, 2);
12755 0 : switch (TREE_CODE (_q120))
12756 : {
12757 0 : case EQ_EXPR:
12758 0 : {
12759 0 : tree _q130 = TREE_OPERAND (_q120, 0);
12760 0 : tree _q131 = TREE_OPERAND (_q120, 1);
12761 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
12762 : {
12763 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
12764 : {
12765 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
12766 : {
12767 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
12768 : {
12769 0 : {
12770 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
12771 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
12772 0 : if (res) return res;
12773 : }
12774 : }
12775 : }
12776 : }
12777 : }
12778 : break;
12779 : }
12780 : default:;
12781 : }
12782 : break;
12783 : }
12784 : default:;
12785 : }
12786 : break;
12787 : }
12788 : default:;
12789 : }
12790 : break;
12791 : }
12792 0 : case GE_EXPR:
12793 0 : {
12794 0 : tree _q40 = TREE_OPERAND (_q30, 0);
12795 0 : tree _q41 = TREE_OPERAND (_q30, 1);
12796 0 : switch (TREE_CODE (_p1))
12797 : {
12798 0 : case BIT_AND_EXPR:
12799 0 : {
12800 0 : tree _q100 = TREE_OPERAND (_p1, 0);
12801 0 : tree _q101 = TREE_OPERAND (_p1, 1);
12802 0 : switch (TREE_CODE (_q100))
12803 : {
12804 0 : case VEC_COND_EXPR:
12805 0 : {
12806 0 : tree _q110 = TREE_OPERAND (_q100, 0);
12807 0 : tree _q111 = TREE_OPERAND (_q100, 1);
12808 0 : tree _q112 = TREE_OPERAND (_q100, 2);
12809 0 : switch (TREE_CODE (_q110))
12810 : {
12811 0 : case LT_EXPR:
12812 0 : {
12813 0 : tree _q120 = TREE_OPERAND (_q110, 0);
12814 0 : tree _q121 = TREE_OPERAND (_q110, 1);
12815 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
12816 : {
12817 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
12818 : {
12819 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
12820 : {
12821 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
12822 : {
12823 0 : {
12824 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
12825 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
12826 0 : if (res) return res;
12827 : }
12828 : }
12829 : }
12830 : }
12831 : }
12832 : break;
12833 : }
12834 : default:;
12835 : }
12836 : break;
12837 : }
12838 0 : default:;
12839 : }
12840 0 : switch (TREE_CODE (_q101))
12841 : {
12842 0 : case VEC_COND_EXPR:
12843 0 : {
12844 0 : tree _q120 = TREE_OPERAND (_q101, 0);
12845 0 : tree _q121 = TREE_OPERAND (_q101, 1);
12846 0 : tree _q122 = TREE_OPERAND (_q101, 2);
12847 0 : switch (TREE_CODE (_q120))
12848 : {
12849 0 : case LT_EXPR:
12850 0 : {
12851 0 : tree _q130 = TREE_OPERAND (_q120, 0);
12852 0 : tree _q131 = TREE_OPERAND (_q120, 1);
12853 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
12854 : {
12855 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
12856 : {
12857 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
12858 : {
12859 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
12860 : {
12861 0 : {
12862 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
12863 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
12864 0 : if (res) return res;
12865 : }
12866 : }
12867 : }
12868 : }
12869 : }
12870 : break;
12871 : }
12872 : default:;
12873 : }
12874 : break;
12875 : }
12876 : default:;
12877 : }
12878 : break;
12879 : }
12880 : default:;
12881 : }
12882 : break;
12883 : }
12884 0 : case GT_EXPR:
12885 0 : {
12886 0 : tree _q40 = TREE_OPERAND (_q30, 0);
12887 0 : tree _q41 = TREE_OPERAND (_q30, 1);
12888 0 : switch (TREE_CODE (_p1))
12889 : {
12890 0 : case BIT_AND_EXPR:
12891 0 : {
12892 0 : tree _q100 = TREE_OPERAND (_p1, 0);
12893 0 : tree _q101 = TREE_OPERAND (_p1, 1);
12894 0 : switch (TREE_CODE (_q100))
12895 : {
12896 0 : case VEC_COND_EXPR:
12897 0 : {
12898 0 : tree _q110 = TREE_OPERAND (_q100, 0);
12899 0 : tree _q111 = TREE_OPERAND (_q100, 1);
12900 0 : tree _q112 = TREE_OPERAND (_q100, 2);
12901 0 : switch (TREE_CODE (_q110))
12902 : {
12903 0 : case LE_EXPR:
12904 0 : {
12905 0 : tree _q120 = TREE_OPERAND (_q110, 0);
12906 0 : tree _q121 = TREE_OPERAND (_q110, 1);
12907 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
12908 : {
12909 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
12910 : {
12911 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
12912 : {
12913 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
12914 : {
12915 0 : {
12916 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
12917 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
12918 0 : if (res) return res;
12919 : }
12920 : }
12921 : }
12922 : }
12923 : }
12924 : break;
12925 : }
12926 : default:;
12927 : }
12928 : break;
12929 : }
12930 0 : default:;
12931 : }
12932 0 : switch (TREE_CODE (_q101))
12933 : {
12934 0 : case VEC_COND_EXPR:
12935 0 : {
12936 0 : tree _q120 = TREE_OPERAND (_q101, 0);
12937 0 : tree _q121 = TREE_OPERAND (_q101, 1);
12938 0 : tree _q122 = TREE_OPERAND (_q101, 2);
12939 0 : switch (TREE_CODE (_q120))
12940 : {
12941 0 : case LE_EXPR:
12942 0 : {
12943 0 : tree _q130 = TREE_OPERAND (_q120, 0);
12944 0 : tree _q131 = TREE_OPERAND (_q120, 1);
12945 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
12946 : {
12947 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
12948 : {
12949 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
12950 : {
12951 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
12952 : {
12953 0 : {
12954 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
12955 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
12956 0 : if (res) return res;
12957 : }
12958 : }
12959 : }
12960 : }
12961 : }
12962 : break;
12963 : }
12964 : default:;
12965 : }
12966 : break;
12967 : }
12968 : default:;
12969 : }
12970 : break;
12971 : }
12972 : default:;
12973 : }
12974 : break;
12975 : }
12976 0 : case UNORDERED_EXPR:
12977 0 : {
12978 0 : tree _q40 = TREE_OPERAND (_q30, 0);
12979 0 : tree _q41 = TREE_OPERAND (_q30, 1);
12980 0 : switch (TREE_CODE (_p1))
12981 : {
12982 0 : case BIT_AND_EXPR:
12983 0 : {
12984 0 : tree _q100 = TREE_OPERAND (_p1, 0);
12985 0 : tree _q101 = TREE_OPERAND (_p1, 1);
12986 0 : switch (TREE_CODE (_q100))
12987 : {
12988 0 : case VEC_COND_EXPR:
12989 0 : {
12990 0 : tree _q110 = TREE_OPERAND (_q100, 0);
12991 0 : tree _q111 = TREE_OPERAND (_q100, 1);
12992 0 : tree _q112 = TREE_OPERAND (_q100, 2);
12993 0 : switch (TREE_CODE (_q110))
12994 : {
12995 0 : case ORDERED_EXPR:
12996 0 : {
12997 0 : tree _q120 = TREE_OPERAND (_q110, 0);
12998 0 : tree _q121 = TREE_OPERAND (_q110, 1);
12999 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
13000 : {
13001 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
13002 : {
13003 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
13004 : {
13005 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
13006 : {
13007 0 : {
13008 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
13009 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR);
13010 0 : if (res) return res;
13011 : }
13012 : }
13013 : }
13014 : }
13015 : }
13016 : break;
13017 : }
13018 : default:;
13019 : }
13020 : break;
13021 : }
13022 0 : default:;
13023 : }
13024 0 : switch (TREE_CODE (_q101))
13025 : {
13026 0 : case VEC_COND_EXPR:
13027 0 : {
13028 0 : tree _q120 = TREE_OPERAND (_q101, 0);
13029 0 : tree _q121 = TREE_OPERAND (_q101, 1);
13030 0 : tree _q122 = TREE_OPERAND (_q101, 2);
13031 0 : switch (TREE_CODE (_q120))
13032 : {
13033 0 : case ORDERED_EXPR:
13034 0 : {
13035 0 : tree _q130 = TREE_OPERAND (_q120, 0);
13036 0 : tree _q131 = TREE_OPERAND (_q120, 1);
13037 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
13038 : {
13039 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
13040 : {
13041 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
13042 : {
13043 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
13044 : {
13045 0 : {
13046 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
13047 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR);
13048 0 : if (res) return res;
13049 : }
13050 : }
13051 : }
13052 : }
13053 : }
13054 : break;
13055 : }
13056 : default:;
13057 : }
13058 : break;
13059 : }
13060 : default:;
13061 : }
13062 : break;
13063 : }
13064 : default:;
13065 : }
13066 : break;
13067 : }
13068 0 : case ORDERED_EXPR:
13069 0 : {
13070 0 : tree _q40 = TREE_OPERAND (_q30, 0);
13071 0 : tree _q41 = TREE_OPERAND (_q30, 1);
13072 0 : switch (TREE_CODE (_p1))
13073 : {
13074 0 : case BIT_AND_EXPR:
13075 0 : {
13076 0 : tree _q100 = TREE_OPERAND (_p1, 0);
13077 0 : tree _q101 = TREE_OPERAND (_p1, 1);
13078 0 : switch (TREE_CODE (_q100))
13079 : {
13080 0 : case VEC_COND_EXPR:
13081 0 : {
13082 0 : tree _q110 = TREE_OPERAND (_q100, 0);
13083 0 : tree _q111 = TREE_OPERAND (_q100, 1);
13084 0 : tree _q112 = TREE_OPERAND (_q100, 2);
13085 0 : switch (TREE_CODE (_q110))
13086 : {
13087 0 : case UNORDERED_EXPR:
13088 0 : {
13089 0 : tree _q120 = TREE_OPERAND (_q110, 0);
13090 0 : tree _q121 = TREE_OPERAND (_q110, 1);
13091 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
13092 : {
13093 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
13094 : {
13095 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
13096 : {
13097 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
13098 : {
13099 0 : {
13100 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
13101 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR);
13102 0 : if (res) return res;
13103 : }
13104 : }
13105 : }
13106 : }
13107 : }
13108 : break;
13109 : }
13110 : default:;
13111 : }
13112 : break;
13113 : }
13114 0 : default:;
13115 : }
13116 0 : switch (TREE_CODE (_q101))
13117 : {
13118 0 : case VEC_COND_EXPR:
13119 0 : {
13120 0 : tree _q120 = TREE_OPERAND (_q101, 0);
13121 0 : tree _q121 = TREE_OPERAND (_q101, 1);
13122 0 : tree _q122 = TREE_OPERAND (_q101, 2);
13123 0 : switch (TREE_CODE (_q120))
13124 : {
13125 0 : case UNORDERED_EXPR:
13126 0 : {
13127 0 : tree _q130 = TREE_OPERAND (_q120, 0);
13128 0 : tree _q131 = TREE_OPERAND (_q120, 1);
13129 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
13130 : {
13131 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
13132 : {
13133 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
13134 : {
13135 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
13136 : {
13137 0 : {
13138 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
13139 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR);
13140 0 : if (res) return res;
13141 : }
13142 : }
13143 : }
13144 : }
13145 : }
13146 : break;
13147 : }
13148 : default:;
13149 : }
13150 : break;
13151 : }
13152 : default:;
13153 : }
13154 : break;
13155 : }
13156 : default:;
13157 : }
13158 : break;
13159 : }
13160 0 : case UNLT_EXPR:
13161 0 : {
13162 0 : tree _q40 = TREE_OPERAND (_q30, 0);
13163 0 : tree _q41 = TREE_OPERAND (_q30, 1);
13164 0 : switch (TREE_CODE (_p1))
13165 : {
13166 0 : case BIT_AND_EXPR:
13167 0 : {
13168 0 : tree _q100 = TREE_OPERAND (_p1, 0);
13169 0 : tree _q101 = TREE_OPERAND (_p1, 1);
13170 0 : switch (TREE_CODE (_q100))
13171 : {
13172 0 : case VEC_COND_EXPR:
13173 0 : {
13174 0 : tree _q110 = TREE_OPERAND (_q100, 0);
13175 0 : tree _q111 = TREE_OPERAND (_q100, 1);
13176 0 : tree _q112 = TREE_OPERAND (_q100, 2);
13177 0 : switch (TREE_CODE (_q110))
13178 : {
13179 0 : case GE_EXPR:
13180 0 : {
13181 0 : tree _q120 = TREE_OPERAND (_q110, 0);
13182 0 : tree _q121 = TREE_OPERAND (_q110, 1);
13183 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
13184 : {
13185 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
13186 : {
13187 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
13188 : {
13189 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
13190 : {
13191 0 : {
13192 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
13193 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR);
13194 0 : if (res) return res;
13195 : }
13196 : }
13197 : }
13198 : }
13199 : }
13200 : break;
13201 : }
13202 : default:;
13203 : }
13204 : break;
13205 : }
13206 0 : default:;
13207 : }
13208 0 : switch (TREE_CODE (_q101))
13209 : {
13210 0 : case VEC_COND_EXPR:
13211 0 : {
13212 0 : tree _q120 = TREE_OPERAND (_q101, 0);
13213 0 : tree _q121 = TREE_OPERAND (_q101, 1);
13214 0 : tree _q122 = TREE_OPERAND (_q101, 2);
13215 0 : switch (TREE_CODE (_q120))
13216 : {
13217 0 : case GE_EXPR:
13218 0 : {
13219 0 : tree _q130 = TREE_OPERAND (_q120, 0);
13220 0 : tree _q131 = TREE_OPERAND (_q120, 1);
13221 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
13222 : {
13223 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
13224 : {
13225 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
13226 : {
13227 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
13228 : {
13229 0 : {
13230 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
13231 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR);
13232 0 : if (res) return res;
13233 : }
13234 : }
13235 : }
13236 : }
13237 : }
13238 : break;
13239 : }
13240 : default:;
13241 : }
13242 : break;
13243 : }
13244 : default:;
13245 : }
13246 : break;
13247 : }
13248 : default:;
13249 : }
13250 : break;
13251 : }
13252 0 : case UNLE_EXPR:
13253 0 : {
13254 0 : tree _q40 = TREE_OPERAND (_q30, 0);
13255 0 : tree _q41 = TREE_OPERAND (_q30, 1);
13256 0 : switch (TREE_CODE (_p1))
13257 : {
13258 0 : case BIT_AND_EXPR:
13259 0 : {
13260 0 : tree _q100 = TREE_OPERAND (_p1, 0);
13261 0 : tree _q101 = TREE_OPERAND (_p1, 1);
13262 0 : switch (TREE_CODE (_q100))
13263 : {
13264 0 : case VEC_COND_EXPR:
13265 0 : {
13266 0 : tree _q110 = TREE_OPERAND (_q100, 0);
13267 0 : tree _q111 = TREE_OPERAND (_q100, 1);
13268 0 : tree _q112 = TREE_OPERAND (_q100, 2);
13269 0 : switch (TREE_CODE (_q110))
13270 : {
13271 0 : case GT_EXPR:
13272 0 : {
13273 0 : tree _q120 = TREE_OPERAND (_q110, 0);
13274 0 : tree _q121 = TREE_OPERAND (_q110, 1);
13275 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
13276 : {
13277 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
13278 : {
13279 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
13280 : {
13281 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
13282 : {
13283 0 : {
13284 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
13285 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR);
13286 0 : if (res) return res;
13287 : }
13288 : }
13289 : }
13290 : }
13291 : }
13292 : break;
13293 : }
13294 : default:;
13295 : }
13296 : break;
13297 : }
13298 0 : default:;
13299 : }
13300 0 : switch (TREE_CODE (_q101))
13301 : {
13302 0 : case VEC_COND_EXPR:
13303 0 : {
13304 0 : tree _q120 = TREE_OPERAND (_q101, 0);
13305 0 : tree _q121 = TREE_OPERAND (_q101, 1);
13306 0 : tree _q122 = TREE_OPERAND (_q101, 2);
13307 0 : switch (TREE_CODE (_q120))
13308 : {
13309 0 : case GT_EXPR:
13310 0 : {
13311 0 : tree _q130 = TREE_OPERAND (_q120, 0);
13312 0 : tree _q131 = TREE_OPERAND (_q120, 1);
13313 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
13314 : {
13315 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
13316 : {
13317 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
13318 : {
13319 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
13320 : {
13321 0 : {
13322 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
13323 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR);
13324 0 : if (res) return res;
13325 : }
13326 : }
13327 : }
13328 : }
13329 : }
13330 : break;
13331 : }
13332 : default:;
13333 : }
13334 : break;
13335 : }
13336 : default:;
13337 : }
13338 : break;
13339 : }
13340 : default:;
13341 : }
13342 : break;
13343 : }
13344 0 : case UNGT_EXPR:
13345 0 : {
13346 0 : tree _q40 = TREE_OPERAND (_q30, 0);
13347 0 : tree _q41 = TREE_OPERAND (_q30, 1);
13348 0 : switch (TREE_CODE (_p1))
13349 : {
13350 0 : case BIT_AND_EXPR:
13351 0 : {
13352 0 : tree _q100 = TREE_OPERAND (_p1, 0);
13353 0 : tree _q101 = TREE_OPERAND (_p1, 1);
13354 0 : switch (TREE_CODE (_q100))
13355 : {
13356 0 : case VEC_COND_EXPR:
13357 0 : {
13358 0 : tree _q110 = TREE_OPERAND (_q100, 0);
13359 0 : tree _q111 = TREE_OPERAND (_q100, 1);
13360 0 : tree _q112 = TREE_OPERAND (_q100, 2);
13361 0 : switch (TREE_CODE (_q110))
13362 : {
13363 0 : case LE_EXPR:
13364 0 : {
13365 0 : tree _q120 = TREE_OPERAND (_q110, 0);
13366 0 : tree _q121 = TREE_OPERAND (_q110, 1);
13367 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
13368 : {
13369 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
13370 : {
13371 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
13372 : {
13373 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
13374 : {
13375 0 : {
13376 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
13377 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR);
13378 0 : if (res) return res;
13379 : }
13380 : }
13381 : }
13382 : }
13383 : }
13384 : break;
13385 : }
13386 : default:;
13387 : }
13388 : break;
13389 : }
13390 0 : default:;
13391 : }
13392 0 : switch (TREE_CODE (_q101))
13393 : {
13394 0 : case VEC_COND_EXPR:
13395 0 : {
13396 0 : tree _q120 = TREE_OPERAND (_q101, 0);
13397 0 : tree _q121 = TREE_OPERAND (_q101, 1);
13398 0 : tree _q122 = TREE_OPERAND (_q101, 2);
13399 0 : switch (TREE_CODE (_q120))
13400 : {
13401 0 : case LE_EXPR:
13402 0 : {
13403 0 : tree _q130 = TREE_OPERAND (_q120, 0);
13404 0 : tree _q131 = TREE_OPERAND (_q120, 1);
13405 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
13406 : {
13407 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
13408 : {
13409 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
13410 : {
13411 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
13412 : {
13413 0 : {
13414 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
13415 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR);
13416 0 : if (res) return res;
13417 : }
13418 : }
13419 : }
13420 : }
13421 : }
13422 : break;
13423 : }
13424 : default:;
13425 : }
13426 : break;
13427 : }
13428 : default:;
13429 : }
13430 : break;
13431 : }
13432 : default:;
13433 : }
13434 : break;
13435 : }
13436 0 : case UNGE_EXPR:
13437 0 : {
13438 0 : tree _q40 = TREE_OPERAND (_q30, 0);
13439 0 : tree _q41 = TREE_OPERAND (_q30, 1);
13440 0 : switch (TREE_CODE (_p1))
13441 : {
13442 0 : case BIT_AND_EXPR:
13443 0 : {
13444 0 : tree _q100 = TREE_OPERAND (_p1, 0);
13445 0 : tree _q101 = TREE_OPERAND (_p1, 1);
13446 0 : switch (TREE_CODE (_q100))
13447 : {
13448 0 : case VEC_COND_EXPR:
13449 0 : {
13450 0 : tree _q110 = TREE_OPERAND (_q100, 0);
13451 0 : tree _q111 = TREE_OPERAND (_q100, 1);
13452 0 : tree _q112 = TREE_OPERAND (_q100, 2);
13453 0 : switch (TREE_CODE (_q110))
13454 : {
13455 0 : case LT_EXPR:
13456 0 : {
13457 0 : tree _q120 = TREE_OPERAND (_q110, 0);
13458 0 : tree _q121 = TREE_OPERAND (_q110, 1);
13459 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
13460 : {
13461 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
13462 : {
13463 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
13464 : {
13465 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
13466 : {
13467 0 : {
13468 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
13469 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR);
13470 0 : if (res) return res;
13471 : }
13472 : }
13473 : }
13474 : }
13475 : }
13476 : break;
13477 : }
13478 : default:;
13479 : }
13480 : break;
13481 : }
13482 0 : default:;
13483 : }
13484 0 : switch (TREE_CODE (_q101))
13485 : {
13486 0 : case VEC_COND_EXPR:
13487 0 : {
13488 0 : tree _q120 = TREE_OPERAND (_q101, 0);
13489 0 : tree _q121 = TREE_OPERAND (_q101, 1);
13490 0 : tree _q122 = TREE_OPERAND (_q101, 2);
13491 0 : switch (TREE_CODE (_q120))
13492 : {
13493 0 : case LT_EXPR:
13494 0 : {
13495 0 : tree _q130 = TREE_OPERAND (_q120, 0);
13496 0 : tree _q131 = TREE_OPERAND (_q120, 1);
13497 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
13498 : {
13499 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
13500 : {
13501 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
13502 : {
13503 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
13504 : {
13505 0 : {
13506 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
13507 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR);
13508 0 : if (res) return res;
13509 : }
13510 : }
13511 : }
13512 : }
13513 : }
13514 : break;
13515 : }
13516 : default:;
13517 : }
13518 : break;
13519 : }
13520 : default:;
13521 : }
13522 : break;
13523 : }
13524 : default:;
13525 : }
13526 : break;
13527 : }
13528 0 : case UNEQ_EXPR:
13529 0 : {
13530 0 : tree _q40 = TREE_OPERAND (_q30, 0);
13531 0 : tree _q41 = TREE_OPERAND (_q30, 1);
13532 0 : switch (TREE_CODE (_p1))
13533 : {
13534 0 : case BIT_AND_EXPR:
13535 0 : {
13536 0 : tree _q100 = TREE_OPERAND (_p1, 0);
13537 0 : tree _q101 = TREE_OPERAND (_p1, 1);
13538 0 : switch (TREE_CODE (_q100))
13539 : {
13540 0 : case VEC_COND_EXPR:
13541 0 : {
13542 0 : tree _q110 = TREE_OPERAND (_q100, 0);
13543 0 : tree _q111 = TREE_OPERAND (_q100, 1);
13544 0 : tree _q112 = TREE_OPERAND (_q100, 2);
13545 0 : switch (TREE_CODE (_q110))
13546 : {
13547 0 : case LTGT_EXPR:
13548 0 : {
13549 0 : tree _q120 = TREE_OPERAND (_q110, 0);
13550 0 : tree _q121 = TREE_OPERAND (_q110, 1);
13551 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
13552 : {
13553 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
13554 : {
13555 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
13556 : {
13557 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
13558 : {
13559 0 : {
13560 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
13561 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR);
13562 0 : if (res) return res;
13563 : }
13564 : }
13565 : }
13566 : }
13567 : }
13568 : break;
13569 : }
13570 : default:;
13571 : }
13572 : break;
13573 : }
13574 0 : default:;
13575 : }
13576 0 : switch (TREE_CODE (_q101))
13577 : {
13578 0 : case VEC_COND_EXPR:
13579 0 : {
13580 0 : tree _q120 = TREE_OPERAND (_q101, 0);
13581 0 : tree _q121 = TREE_OPERAND (_q101, 1);
13582 0 : tree _q122 = TREE_OPERAND (_q101, 2);
13583 0 : switch (TREE_CODE (_q120))
13584 : {
13585 0 : case LTGT_EXPR:
13586 0 : {
13587 0 : tree _q130 = TREE_OPERAND (_q120, 0);
13588 0 : tree _q131 = TREE_OPERAND (_q120, 1);
13589 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
13590 : {
13591 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
13592 : {
13593 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
13594 : {
13595 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
13596 : {
13597 0 : {
13598 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
13599 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR);
13600 0 : if (res) return res;
13601 : }
13602 : }
13603 : }
13604 : }
13605 : }
13606 : break;
13607 : }
13608 : default:;
13609 : }
13610 : break;
13611 : }
13612 : default:;
13613 : }
13614 : break;
13615 : }
13616 : default:;
13617 : }
13618 : break;
13619 : }
13620 0 : case LTGT_EXPR:
13621 0 : {
13622 0 : tree _q40 = TREE_OPERAND (_q30, 0);
13623 0 : tree _q41 = TREE_OPERAND (_q30, 1);
13624 0 : switch (TREE_CODE (_p1))
13625 : {
13626 0 : case BIT_AND_EXPR:
13627 0 : {
13628 0 : tree _q100 = TREE_OPERAND (_p1, 0);
13629 0 : tree _q101 = TREE_OPERAND (_p1, 1);
13630 0 : switch (TREE_CODE (_q100))
13631 : {
13632 0 : case VEC_COND_EXPR:
13633 0 : {
13634 0 : tree _q110 = TREE_OPERAND (_q100, 0);
13635 0 : tree _q111 = TREE_OPERAND (_q100, 1);
13636 0 : tree _q112 = TREE_OPERAND (_q100, 2);
13637 0 : switch (TREE_CODE (_q110))
13638 : {
13639 0 : case UNEQ_EXPR:
13640 0 : {
13641 0 : tree _q120 = TREE_OPERAND (_q110, 0);
13642 0 : tree _q121 = TREE_OPERAND (_q110, 1);
13643 0 : if ((_q120 == _q40 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q40, 0) && types_match (_q120, _q40)))
13644 : {
13645 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
13646 : {
13647 0 : if ((_q111 == _q31 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q31, 0) && types_match (_q111, _q31)))
13648 : {
13649 0 : if ((_q112 == _q32 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q32, 0) && types_match (_q112, _q32)))
13650 : {
13651 0 : {
13652 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q100, _q110, _q101 };
13653 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR);
13654 0 : if (res) return res;
13655 : }
13656 : }
13657 : }
13658 : }
13659 : }
13660 : break;
13661 : }
13662 : default:;
13663 : }
13664 : break;
13665 : }
13666 0 : default:;
13667 : }
13668 0 : switch (TREE_CODE (_q101))
13669 : {
13670 0 : case VEC_COND_EXPR:
13671 0 : {
13672 0 : tree _q120 = TREE_OPERAND (_q101, 0);
13673 0 : tree _q121 = TREE_OPERAND (_q101, 1);
13674 0 : tree _q122 = TREE_OPERAND (_q101, 2);
13675 0 : switch (TREE_CODE (_q120))
13676 : {
13677 0 : case UNEQ_EXPR:
13678 0 : {
13679 0 : tree _q130 = TREE_OPERAND (_q120, 0);
13680 0 : tree _q131 = TREE_OPERAND (_q120, 1);
13681 0 : if ((_q130 == _q40 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q40, 0) && types_match (_q130, _q40)))
13682 : {
13683 0 : if ((_q131 == _q41 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q41, 0) && types_match (_q131, _q41)))
13684 : {
13685 0 : if ((_q121 == _q31 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q31, 0) && types_match (_q121, _q31)))
13686 : {
13687 0 : if ((_q122 == _q32 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q32, 0) && types_match (_q122, _q32)))
13688 : {
13689 0 : {
13690 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q20, _q30, _q40, _q41, _q31, _q32, _q21, _q101, _q120, _q100 };
13691 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR);
13692 0 : if (res) return res;
13693 : }
13694 : }
13695 : }
13696 : }
13697 : }
13698 : break;
13699 : }
13700 : default:;
13701 : }
13702 : break;
13703 : }
13704 : default:;
13705 : }
13706 : break;
13707 : }
13708 : default:;
13709 : }
13710 : break;
13711 : }
13712 : default:;
13713 : }
13714 : break;
13715 : }
13716 79632 : default:;
13717 : }
13718 79632 : switch (TREE_CODE (_q21))
13719 : {
13720 0 : case VEC_COND_EXPR:
13721 0 : {
13722 0 : tree _q40 = TREE_OPERAND (_q21, 0);
13723 0 : tree _q41 = TREE_OPERAND (_q21, 1);
13724 0 : tree _q42 = TREE_OPERAND (_q21, 2);
13725 0 : switch (TREE_CODE (_q40))
13726 : {
13727 0 : case LT_EXPR:
13728 0 : {
13729 0 : tree _q50 = TREE_OPERAND (_q40, 0);
13730 0 : tree _q51 = TREE_OPERAND (_q40, 1);
13731 0 : switch (TREE_CODE (_p1))
13732 : {
13733 0 : case BIT_AND_EXPR:
13734 0 : {
13735 0 : tree _q100 = TREE_OPERAND (_p1, 0);
13736 0 : tree _q101 = TREE_OPERAND (_p1, 1);
13737 0 : switch (TREE_CODE (_q100))
13738 : {
13739 0 : case VEC_COND_EXPR:
13740 0 : {
13741 0 : tree _q110 = TREE_OPERAND (_q100, 0);
13742 0 : tree _q111 = TREE_OPERAND (_q100, 1);
13743 0 : tree _q112 = TREE_OPERAND (_q100, 2);
13744 0 : switch (TREE_CODE (_q110))
13745 : {
13746 0 : case GE_EXPR:
13747 0 : {
13748 0 : tree _q120 = TREE_OPERAND (_q110, 0);
13749 0 : tree _q121 = TREE_OPERAND (_q110, 1);
13750 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
13751 : {
13752 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
13753 : {
13754 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
13755 : {
13756 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
13757 : {
13758 0 : {
13759 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
13760 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
13761 0 : if (res) return res;
13762 : }
13763 : }
13764 : }
13765 : }
13766 : }
13767 : break;
13768 : }
13769 : default:;
13770 : }
13771 : break;
13772 : }
13773 0 : default:;
13774 : }
13775 0 : switch (TREE_CODE (_q101))
13776 : {
13777 0 : case VEC_COND_EXPR:
13778 0 : {
13779 0 : tree _q120 = TREE_OPERAND (_q101, 0);
13780 0 : tree _q121 = TREE_OPERAND (_q101, 1);
13781 0 : tree _q122 = TREE_OPERAND (_q101, 2);
13782 0 : switch (TREE_CODE (_q120))
13783 : {
13784 0 : case GE_EXPR:
13785 0 : {
13786 0 : tree _q130 = TREE_OPERAND (_q120, 0);
13787 0 : tree _q131 = TREE_OPERAND (_q120, 1);
13788 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
13789 : {
13790 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
13791 : {
13792 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
13793 : {
13794 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
13795 : {
13796 0 : {
13797 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
13798 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
13799 0 : if (res) return res;
13800 : }
13801 : }
13802 : }
13803 : }
13804 : }
13805 : break;
13806 : }
13807 : default:;
13808 : }
13809 : break;
13810 : }
13811 : default:;
13812 : }
13813 : break;
13814 : }
13815 : default:;
13816 : }
13817 : break;
13818 : }
13819 0 : case LE_EXPR:
13820 0 : {
13821 0 : tree _q50 = TREE_OPERAND (_q40, 0);
13822 0 : tree _q51 = TREE_OPERAND (_q40, 1);
13823 0 : switch (TREE_CODE (_p1))
13824 : {
13825 0 : case BIT_AND_EXPR:
13826 0 : {
13827 0 : tree _q100 = TREE_OPERAND (_p1, 0);
13828 0 : tree _q101 = TREE_OPERAND (_p1, 1);
13829 0 : switch (TREE_CODE (_q100))
13830 : {
13831 0 : case VEC_COND_EXPR:
13832 0 : {
13833 0 : tree _q110 = TREE_OPERAND (_q100, 0);
13834 0 : tree _q111 = TREE_OPERAND (_q100, 1);
13835 0 : tree _q112 = TREE_OPERAND (_q100, 2);
13836 0 : switch (TREE_CODE (_q110))
13837 : {
13838 0 : case GT_EXPR:
13839 0 : {
13840 0 : tree _q120 = TREE_OPERAND (_q110, 0);
13841 0 : tree _q121 = TREE_OPERAND (_q110, 1);
13842 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
13843 : {
13844 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
13845 : {
13846 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
13847 : {
13848 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
13849 : {
13850 0 : {
13851 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
13852 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
13853 0 : if (res) return res;
13854 : }
13855 : }
13856 : }
13857 : }
13858 : }
13859 : break;
13860 : }
13861 : default:;
13862 : }
13863 : break;
13864 : }
13865 0 : default:;
13866 : }
13867 0 : switch (TREE_CODE (_q101))
13868 : {
13869 0 : case VEC_COND_EXPR:
13870 0 : {
13871 0 : tree _q120 = TREE_OPERAND (_q101, 0);
13872 0 : tree _q121 = TREE_OPERAND (_q101, 1);
13873 0 : tree _q122 = TREE_OPERAND (_q101, 2);
13874 0 : switch (TREE_CODE (_q120))
13875 : {
13876 0 : case GT_EXPR:
13877 0 : {
13878 0 : tree _q130 = TREE_OPERAND (_q120, 0);
13879 0 : tree _q131 = TREE_OPERAND (_q120, 1);
13880 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
13881 : {
13882 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
13883 : {
13884 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
13885 : {
13886 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
13887 : {
13888 0 : {
13889 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
13890 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
13891 0 : if (res) return res;
13892 : }
13893 : }
13894 : }
13895 : }
13896 : }
13897 : break;
13898 : }
13899 : default:;
13900 : }
13901 : break;
13902 : }
13903 : default:;
13904 : }
13905 : break;
13906 : }
13907 : default:;
13908 : }
13909 : break;
13910 : }
13911 0 : case EQ_EXPR:
13912 0 : {
13913 0 : tree _q50 = TREE_OPERAND (_q40, 0);
13914 0 : tree _q51 = TREE_OPERAND (_q40, 1);
13915 0 : switch (TREE_CODE (_p1))
13916 : {
13917 0 : case BIT_AND_EXPR:
13918 0 : {
13919 0 : tree _q100 = TREE_OPERAND (_p1, 0);
13920 0 : tree _q101 = TREE_OPERAND (_p1, 1);
13921 0 : switch (TREE_CODE (_q100))
13922 : {
13923 0 : case VEC_COND_EXPR:
13924 0 : {
13925 0 : tree _q110 = TREE_OPERAND (_q100, 0);
13926 0 : tree _q111 = TREE_OPERAND (_q100, 1);
13927 0 : tree _q112 = TREE_OPERAND (_q100, 2);
13928 0 : switch (TREE_CODE (_q110))
13929 : {
13930 0 : case NE_EXPR:
13931 0 : {
13932 0 : tree _q120 = TREE_OPERAND (_q110, 0);
13933 0 : tree _q121 = TREE_OPERAND (_q110, 1);
13934 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
13935 : {
13936 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
13937 : {
13938 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
13939 : {
13940 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
13941 : {
13942 0 : {
13943 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
13944 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
13945 0 : if (res) return res;
13946 : }
13947 : }
13948 : }
13949 : }
13950 : }
13951 : break;
13952 : }
13953 : default:;
13954 : }
13955 : break;
13956 : }
13957 0 : default:;
13958 : }
13959 0 : switch (TREE_CODE (_q101))
13960 : {
13961 0 : case VEC_COND_EXPR:
13962 0 : {
13963 0 : tree _q120 = TREE_OPERAND (_q101, 0);
13964 0 : tree _q121 = TREE_OPERAND (_q101, 1);
13965 0 : tree _q122 = TREE_OPERAND (_q101, 2);
13966 0 : switch (TREE_CODE (_q120))
13967 : {
13968 0 : case NE_EXPR:
13969 0 : {
13970 0 : tree _q130 = TREE_OPERAND (_q120, 0);
13971 0 : tree _q131 = TREE_OPERAND (_q120, 1);
13972 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
13973 : {
13974 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
13975 : {
13976 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
13977 : {
13978 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
13979 : {
13980 0 : {
13981 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
13982 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
13983 0 : if (res) return res;
13984 : }
13985 : }
13986 : }
13987 : }
13988 : }
13989 : break;
13990 : }
13991 : default:;
13992 : }
13993 : break;
13994 : }
13995 : default:;
13996 : }
13997 : break;
13998 : }
13999 : default:;
14000 : }
14001 : break;
14002 : }
14003 0 : case NE_EXPR:
14004 0 : {
14005 0 : tree _q50 = TREE_OPERAND (_q40, 0);
14006 0 : tree _q51 = TREE_OPERAND (_q40, 1);
14007 0 : switch (TREE_CODE (_p1))
14008 : {
14009 0 : case BIT_AND_EXPR:
14010 0 : {
14011 0 : tree _q100 = TREE_OPERAND (_p1, 0);
14012 0 : tree _q101 = TREE_OPERAND (_p1, 1);
14013 0 : switch (TREE_CODE (_q100))
14014 : {
14015 0 : case VEC_COND_EXPR:
14016 0 : {
14017 0 : tree _q110 = TREE_OPERAND (_q100, 0);
14018 0 : tree _q111 = TREE_OPERAND (_q100, 1);
14019 0 : tree _q112 = TREE_OPERAND (_q100, 2);
14020 0 : switch (TREE_CODE (_q110))
14021 : {
14022 0 : case EQ_EXPR:
14023 0 : {
14024 0 : tree _q120 = TREE_OPERAND (_q110, 0);
14025 0 : tree _q121 = TREE_OPERAND (_q110, 1);
14026 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
14027 : {
14028 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
14029 : {
14030 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
14031 : {
14032 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
14033 : {
14034 0 : {
14035 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
14036 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
14037 0 : if (res) return res;
14038 : }
14039 : }
14040 : }
14041 : }
14042 : }
14043 : break;
14044 : }
14045 : default:;
14046 : }
14047 : break;
14048 : }
14049 0 : default:;
14050 : }
14051 0 : switch (TREE_CODE (_q101))
14052 : {
14053 0 : case VEC_COND_EXPR:
14054 0 : {
14055 0 : tree _q120 = TREE_OPERAND (_q101, 0);
14056 0 : tree _q121 = TREE_OPERAND (_q101, 1);
14057 0 : tree _q122 = TREE_OPERAND (_q101, 2);
14058 0 : switch (TREE_CODE (_q120))
14059 : {
14060 0 : case EQ_EXPR:
14061 0 : {
14062 0 : tree _q130 = TREE_OPERAND (_q120, 0);
14063 0 : tree _q131 = TREE_OPERAND (_q120, 1);
14064 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
14065 : {
14066 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
14067 : {
14068 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
14069 : {
14070 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
14071 : {
14072 0 : {
14073 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
14074 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
14075 0 : if (res) return res;
14076 : }
14077 : }
14078 : }
14079 : }
14080 : }
14081 : break;
14082 : }
14083 : default:;
14084 : }
14085 : break;
14086 : }
14087 : default:;
14088 : }
14089 : break;
14090 : }
14091 : default:;
14092 : }
14093 : break;
14094 : }
14095 0 : case GE_EXPR:
14096 0 : {
14097 0 : tree _q50 = TREE_OPERAND (_q40, 0);
14098 0 : tree _q51 = TREE_OPERAND (_q40, 1);
14099 0 : switch (TREE_CODE (_p1))
14100 : {
14101 0 : case BIT_AND_EXPR:
14102 0 : {
14103 0 : tree _q100 = TREE_OPERAND (_p1, 0);
14104 0 : tree _q101 = TREE_OPERAND (_p1, 1);
14105 0 : switch (TREE_CODE (_q100))
14106 : {
14107 0 : case VEC_COND_EXPR:
14108 0 : {
14109 0 : tree _q110 = TREE_OPERAND (_q100, 0);
14110 0 : tree _q111 = TREE_OPERAND (_q100, 1);
14111 0 : tree _q112 = TREE_OPERAND (_q100, 2);
14112 0 : switch (TREE_CODE (_q110))
14113 : {
14114 0 : case LT_EXPR:
14115 0 : {
14116 0 : tree _q120 = TREE_OPERAND (_q110, 0);
14117 0 : tree _q121 = TREE_OPERAND (_q110, 1);
14118 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
14119 : {
14120 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
14121 : {
14122 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
14123 : {
14124 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
14125 : {
14126 0 : {
14127 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
14128 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
14129 0 : if (res) return res;
14130 : }
14131 : }
14132 : }
14133 : }
14134 : }
14135 : break;
14136 : }
14137 : default:;
14138 : }
14139 : break;
14140 : }
14141 0 : default:;
14142 : }
14143 0 : switch (TREE_CODE (_q101))
14144 : {
14145 0 : case VEC_COND_EXPR:
14146 0 : {
14147 0 : tree _q120 = TREE_OPERAND (_q101, 0);
14148 0 : tree _q121 = TREE_OPERAND (_q101, 1);
14149 0 : tree _q122 = TREE_OPERAND (_q101, 2);
14150 0 : switch (TREE_CODE (_q120))
14151 : {
14152 0 : case LT_EXPR:
14153 0 : {
14154 0 : tree _q130 = TREE_OPERAND (_q120, 0);
14155 0 : tree _q131 = TREE_OPERAND (_q120, 1);
14156 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
14157 : {
14158 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
14159 : {
14160 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
14161 : {
14162 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
14163 : {
14164 0 : {
14165 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
14166 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
14167 0 : if (res) return res;
14168 : }
14169 : }
14170 : }
14171 : }
14172 : }
14173 : break;
14174 : }
14175 : default:;
14176 : }
14177 : break;
14178 : }
14179 : default:;
14180 : }
14181 : break;
14182 : }
14183 : default:;
14184 : }
14185 : break;
14186 : }
14187 0 : case GT_EXPR:
14188 0 : {
14189 0 : tree _q50 = TREE_OPERAND (_q40, 0);
14190 0 : tree _q51 = TREE_OPERAND (_q40, 1);
14191 0 : switch (TREE_CODE (_p1))
14192 : {
14193 0 : case BIT_AND_EXPR:
14194 0 : {
14195 0 : tree _q100 = TREE_OPERAND (_p1, 0);
14196 0 : tree _q101 = TREE_OPERAND (_p1, 1);
14197 0 : switch (TREE_CODE (_q100))
14198 : {
14199 0 : case VEC_COND_EXPR:
14200 0 : {
14201 0 : tree _q110 = TREE_OPERAND (_q100, 0);
14202 0 : tree _q111 = TREE_OPERAND (_q100, 1);
14203 0 : tree _q112 = TREE_OPERAND (_q100, 2);
14204 0 : switch (TREE_CODE (_q110))
14205 : {
14206 0 : case LE_EXPR:
14207 0 : {
14208 0 : tree _q120 = TREE_OPERAND (_q110, 0);
14209 0 : tree _q121 = TREE_OPERAND (_q110, 1);
14210 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
14211 : {
14212 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
14213 : {
14214 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
14215 : {
14216 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
14217 : {
14218 0 : {
14219 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
14220 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
14221 0 : if (res) return res;
14222 : }
14223 : }
14224 : }
14225 : }
14226 : }
14227 : break;
14228 : }
14229 : default:;
14230 : }
14231 : break;
14232 : }
14233 0 : default:;
14234 : }
14235 0 : switch (TREE_CODE (_q101))
14236 : {
14237 0 : case VEC_COND_EXPR:
14238 0 : {
14239 0 : tree _q120 = TREE_OPERAND (_q101, 0);
14240 0 : tree _q121 = TREE_OPERAND (_q101, 1);
14241 0 : tree _q122 = TREE_OPERAND (_q101, 2);
14242 0 : switch (TREE_CODE (_q120))
14243 : {
14244 0 : case LE_EXPR:
14245 0 : {
14246 0 : tree _q130 = TREE_OPERAND (_q120, 0);
14247 0 : tree _q131 = TREE_OPERAND (_q120, 1);
14248 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
14249 : {
14250 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
14251 : {
14252 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
14253 : {
14254 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
14255 : {
14256 0 : {
14257 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
14258 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
14259 0 : if (res) return res;
14260 : }
14261 : }
14262 : }
14263 : }
14264 : }
14265 : break;
14266 : }
14267 : default:;
14268 : }
14269 : break;
14270 : }
14271 : default:;
14272 : }
14273 : break;
14274 : }
14275 : default:;
14276 : }
14277 : break;
14278 : }
14279 0 : case UNORDERED_EXPR:
14280 0 : {
14281 0 : tree _q50 = TREE_OPERAND (_q40, 0);
14282 0 : tree _q51 = TREE_OPERAND (_q40, 1);
14283 0 : switch (TREE_CODE (_p1))
14284 : {
14285 0 : case BIT_AND_EXPR:
14286 0 : {
14287 0 : tree _q100 = TREE_OPERAND (_p1, 0);
14288 0 : tree _q101 = TREE_OPERAND (_p1, 1);
14289 0 : switch (TREE_CODE (_q100))
14290 : {
14291 0 : case VEC_COND_EXPR:
14292 0 : {
14293 0 : tree _q110 = TREE_OPERAND (_q100, 0);
14294 0 : tree _q111 = TREE_OPERAND (_q100, 1);
14295 0 : tree _q112 = TREE_OPERAND (_q100, 2);
14296 0 : switch (TREE_CODE (_q110))
14297 : {
14298 0 : case ORDERED_EXPR:
14299 0 : {
14300 0 : tree _q120 = TREE_OPERAND (_q110, 0);
14301 0 : tree _q121 = TREE_OPERAND (_q110, 1);
14302 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
14303 : {
14304 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
14305 : {
14306 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
14307 : {
14308 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
14309 : {
14310 0 : {
14311 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
14312 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR);
14313 0 : if (res) return res;
14314 : }
14315 : }
14316 : }
14317 : }
14318 : }
14319 : break;
14320 : }
14321 : default:;
14322 : }
14323 : break;
14324 : }
14325 0 : default:;
14326 : }
14327 0 : switch (TREE_CODE (_q101))
14328 : {
14329 0 : case VEC_COND_EXPR:
14330 0 : {
14331 0 : tree _q120 = TREE_OPERAND (_q101, 0);
14332 0 : tree _q121 = TREE_OPERAND (_q101, 1);
14333 0 : tree _q122 = TREE_OPERAND (_q101, 2);
14334 0 : switch (TREE_CODE (_q120))
14335 : {
14336 0 : case ORDERED_EXPR:
14337 0 : {
14338 0 : tree _q130 = TREE_OPERAND (_q120, 0);
14339 0 : tree _q131 = TREE_OPERAND (_q120, 1);
14340 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
14341 : {
14342 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
14343 : {
14344 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
14345 : {
14346 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
14347 : {
14348 0 : {
14349 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
14350 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, UNORDERED_EXPR, ORDERED_EXPR);
14351 0 : if (res) return res;
14352 : }
14353 : }
14354 : }
14355 : }
14356 : }
14357 : break;
14358 : }
14359 : default:;
14360 : }
14361 : break;
14362 : }
14363 : default:;
14364 : }
14365 : break;
14366 : }
14367 : default:;
14368 : }
14369 : break;
14370 : }
14371 0 : case ORDERED_EXPR:
14372 0 : {
14373 0 : tree _q50 = TREE_OPERAND (_q40, 0);
14374 0 : tree _q51 = TREE_OPERAND (_q40, 1);
14375 0 : switch (TREE_CODE (_p1))
14376 : {
14377 0 : case BIT_AND_EXPR:
14378 0 : {
14379 0 : tree _q100 = TREE_OPERAND (_p1, 0);
14380 0 : tree _q101 = TREE_OPERAND (_p1, 1);
14381 0 : switch (TREE_CODE (_q100))
14382 : {
14383 0 : case VEC_COND_EXPR:
14384 0 : {
14385 0 : tree _q110 = TREE_OPERAND (_q100, 0);
14386 0 : tree _q111 = TREE_OPERAND (_q100, 1);
14387 0 : tree _q112 = TREE_OPERAND (_q100, 2);
14388 0 : switch (TREE_CODE (_q110))
14389 : {
14390 0 : case UNORDERED_EXPR:
14391 0 : {
14392 0 : tree _q120 = TREE_OPERAND (_q110, 0);
14393 0 : tree _q121 = TREE_OPERAND (_q110, 1);
14394 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
14395 : {
14396 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
14397 : {
14398 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
14399 : {
14400 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
14401 : {
14402 0 : {
14403 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
14404 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR);
14405 0 : if (res) return res;
14406 : }
14407 : }
14408 : }
14409 : }
14410 : }
14411 : break;
14412 : }
14413 : default:;
14414 : }
14415 : break;
14416 : }
14417 0 : default:;
14418 : }
14419 0 : switch (TREE_CODE (_q101))
14420 : {
14421 0 : case VEC_COND_EXPR:
14422 0 : {
14423 0 : tree _q120 = TREE_OPERAND (_q101, 0);
14424 0 : tree _q121 = TREE_OPERAND (_q101, 1);
14425 0 : tree _q122 = TREE_OPERAND (_q101, 2);
14426 0 : switch (TREE_CODE (_q120))
14427 : {
14428 0 : case UNORDERED_EXPR:
14429 0 : {
14430 0 : tree _q130 = TREE_OPERAND (_q120, 0);
14431 0 : tree _q131 = TREE_OPERAND (_q120, 1);
14432 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
14433 : {
14434 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
14435 : {
14436 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
14437 : {
14438 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
14439 : {
14440 0 : {
14441 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
14442 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, ORDERED_EXPR, UNORDERED_EXPR);
14443 0 : if (res) return res;
14444 : }
14445 : }
14446 : }
14447 : }
14448 : }
14449 : break;
14450 : }
14451 : default:;
14452 : }
14453 : break;
14454 : }
14455 : default:;
14456 : }
14457 : break;
14458 : }
14459 : default:;
14460 : }
14461 : break;
14462 : }
14463 0 : case UNLT_EXPR:
14464 0 : {
14465 0 : tree _q50 = TREE_OPERAND (_q40, 0);
14466 0 : tree _q51 = TREE_OPERAND (_q40, 1);
14467 0 : switch (TREE_CODE (_p1))
14468 : {
14469 0 : case BIT_AND_EXPR:
14470 0 : {
14471 0 : tree _q100 = TREE_OPERAND (_p1, 0);
14472 0 : tree _q101 = TREE_OPERAND (_p1, 1);
14473 0 : switch (TREE_CODE (_q100))
14474 : {
14475 0 : case VEC_COND_EXPR:
14476 0 : {
14477 0 : tree _q110 = TREE_OPERAND (_q100, 0);
14478 0 : tree _q111 = TREE_OPERAND (_q100, 1);
14479 0 : tree _q112 = TREE_OPERAND (_q100, 2);
14480 0 : switch (TREE_CODE (_q110))
14481 : {
14482 0 : case GE_EXPR:
14483 0 : {
14484 0 : tree _q120 = TREE_OPERAND (_q110, 0);
14485 0 : tree _q121 = TREE_OPERAND (_q110, 1);
14486 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
14487 : {
14488 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
14489 : {
14490 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
14491 : {
14492 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
14493 : {
14494 0 : {
14495 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
14496 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR);
14497 0 : if (res) return res;
14498 : }
14499 : }
14500 : }
14501 : }
14502 : }
14503 : break;
14504 : }
14505 : default:;
14506 : }
14507 : break;
14508 : }
14509 0 : default:;
14510 : }
14511 0 : switch (TREE_CODE (_q101))
14512 : {
14513 0 : case VEC_COND_EXPR:
14514 0 : {
14515 0 : tree _q120 = TREE_OPERAND (_q101, 0);
14516 0 : tree _q121 = TREE_OPERAND (_q101, 1);
14517 0 : tree _q122 = TREE_OPERAND (_q101, 2);
14518 0 : switch (TREE_CODE (_q120))
14519 : {
14520 0 : case GE_EXPR:
14521 0 : {
14522 0 : tree _q130 = TREE_OPERAND (_q120, 0);
14523 0 : tree _q131 = TREE_OPERAND (_q120, 1);
14524 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
14525 : {
14526 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
14527 : {
14528 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
14529 : {
14530 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
14531 : {
14532 0 : {
14533 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
14534 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, UNLT_EXPR, GE_EXPR);
14535 0 : if (res) return res;
14536 : }
14537 : }
14538 : }
14539 : }
14540 : }
14541 : break;
14542 : }
14543 : default:;
14544 : }
14545 : break;
14546 : }
14547 : default:;
14548 : }
14549 : break;
14550 : }
14551 : default:;
14552 : }
14553 : break;
14554 : }
14555 0 : case UNLE_EXPR:
14556 0 : {
14557 0 : tree _q50 = TREE_OPERAND (_q40, 0);
14558 0 : tree _q51 = TREE_OPERAND (_q40, 1);
14559 0 : switch (TREE_CODE (_p1))
14560 : {
14561 0 : case BIT_AND_EXPR:
14562 0 : {
14563 0 : tree _q100 = TREE_OPERAND (_p1, 0);
14564 0 : tree _q101 = TREE_OPERAND (_p1, 1);
14565 0 : switch (TREE_CODE (_q100))
14566 : {
14567 0 : case VEC_COND_EXPR:
14568 0 : {
14569 0 : tree _q110 = TREE_OPERAND (_q100, 0);
14570 0 : tree _q111 = TREE_OPERAND (_q100, 1);
14571 0 : tree _q112 = TREE_OPERAND (_q100, 2);
14572 0 : switch (TREE_CODE (_q110))
14573 : {
14574 0 : case GT_EXPR:
14575 0 : {
14576 0 : tree _q120 = TREE_OPERAND (_q110, 0);
14577 0 : tree _q121 = TREE_OPERAND (_q110, 1);
14578 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
14579 : {
14580 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
14581 : {
14582 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
14583 : {
14584 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
14585 : {
14586 0 : {
14587 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
14588 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR);
14589 0 : if (res) return res;
14590 : }
14591 : }
14592 : }
14593 : }
14594 : }
14595 : break;
14596 : }
14597 : default:;
14598 : }
14599 : break;
14600 : }
14601 0 : default:;
14602 : }
14603 0 : switch (TREE_CODE (_q101))
14604 : {
14605 0 : case VEC_COND_EXPR:
14606 0 : {
14607 0 : tree _q120 = TREE_OPERAND (_q101, 0);
14608 0 : tree _q121 = TREE_OPERAND (_q101, 1);
14609 0 : tree _q122 = TREE_OPERAND (_q101, 2);
14610 0 : switch (TREE_CODE (_q120))
14611 : {
14612 0 : case GT_EXPR:
14613 0 : {
14614 0 : tree _q130 = TREE_OPERAND (_q120, 0);
14615 0 : tree _q131 = TREE_OPERAND (_q120, 1);
14616 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
14617 : {
14618 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
14619 : {
14620 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
14621 : {
14622 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
14623 : {
14624 0 : {
14625 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
14626 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, UNLE_EXPR, GT_EXPR);
14627 0 : if (res) return res;
14628 : }
14629 : }
14630 : }
14631 : }
14632 : }
14633 : break;
14634 : }
14635 : default:;
14636 : }
14637 : break;
14638 : }
14639 : default:;
14640 : }
14641 : break;
14642 : }
14643 : default:;
14644 : }
14645 : break;
14646 : }
14647 0 : case UNGT_EXPR:
14648 0 : {
14649 0 : tree _q50 = TREE_OPERAND (_q40, 0);
14650 0 : tree _q51 = TREE_OPERAND (_q40, 1);
14651 0 : switch (TREE_CODE (_p1))
14652 : {
14653 0 : case BIT_AND_EXPR:
14654 0 : {
14655 0 : tree _q100 = TREE_OPERAND (_p1, 0);
14656 0 : tree _q101 = TREE_OPERAND (_p1, 1);
14657 0 : switch (TREE_CODE (_q100))
14658 : {
14659 0 : case VEC_COND_EXPR:
14660 0 : {
14661 0 : tree _q110 = TREE_OPERAND (_q100, 0);
14662 0 : tree _q111 = TREE_OPERAND (_q100, 1);
14663 0 : tree _q112 = TREE_OPERAND (_q100, 2);
14664 0 : switch (TREE_CODE (_q110))
14665 : {
14666 0 : case LE_EXPR:
14667 0 : {
14668 0 : tree _q120 = TREE_OPERAND (_q110, 0);
14669 0 : tree _q121 = TREE_OPERAND (_q110, 1);
14670 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
14671 : {
14672 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
14673 : {
14674 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
14675 : {
14676 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
14677 : {
14678 0 : {
14679 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
14680 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR);
14681 0 : if (res) return res;
14682 : }
14683 : }
14684 : }
14685 : }
14686 : }
14687 : break;
14688 : }
14689 : default:;
14690 : }
14691 : break;
14692 : }
14693 0 : default:;
14694 : }
14695 0 : switch (TREE_CODE (_q101))
14696 : {
14697 0 : case VEC_COND_EXPR:
14698 0 : {
14699 0 : tree _q120 = TREE_OPERAND (_q101, 0);
14700 0 : tree _q121 = TREE_OPERAND (_q101, 1);
14701 0 : tree _q122 = TREE_OPERAND (_q101, 2);
14702 0 : switch (TREE_CODE (_q120))
14703 : {
14704 0 : case LE_EXPR:
14705 0 : {
14706 0 : tree _q130 = TREE_OPERAND (_q120, 0);
14707 0 : tree _q131 = TREE_OPERAND (_q120, 1);
14708 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
14709 : {
14710 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
14711 : {
14712 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
14713 : {
14714 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
14715 : {
14716 0 : {
14717 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
14718 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, UNGT_EXPR, LE_EXPR);
14719 0 : if (res) return res;
14720 : }
14721 : }
14722 : }
14723 : }
14724 : }
14725 : break;
14726 : }
14727 : default:;
14728 : }
14729 : break;
14730 : }
14731 : default:;
14732 : }
14733 : break;
14734 : }
14735 : default:;
14736 : }
14737 : break;
14738 : }
14739 0 : case UNGE_EXPR:
14740 0 : {
14741 0 : tree _q50 = TREE_OPERAND (_q40, 0);
14742 0 : tree _q51 = TREE_OPERAND (_q40, 1);
14743 0 : switch (TREE_CODE (_p1))
14744 : {
14745 0 : case BIT_AND_EXPR:
14746 0 : {
14747 0 : tree _q100 = TREE_OPERAND (_p1, 0);
14748 0 : tree _q101 = TREE_OPERAND (_p1, 1);
14749 0 : switch (TREE_CODE (_q100))
14750 : {
14751 0 : case VEC_COND_EXPR:
14752 0 : {
14753 0 : tree _q110 = TREE_OPERAND (_q100, 0);
14754 0 : tree _q111 = TREE_OPERAND (_q100, 1);
14755 0 : tree _q112 = TREE_OPERAND (_q100, 2);
14756 0 : switch (TREE_CODE (_q110))
14757 : {
14758 0 : case LT_EXPR:
14759 0 : {
14760 0 : tree _q120 = TREE_OPERAND (_q110, 0);
14761 0 : tree _q121 = TREE_OPERAND (_q110, 1);
14762 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
14763 : {
14764 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
14765 : {
14766 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
14767 : {
14768 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
14769 : {
14770 0 : {
14771 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
14772 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR);
14773 0 : if (res) return res;
14774 : }
14775 : }
14776 : }
14777 : }
14778 : }
14779 : break;
14780 : }
14781 : default:;
14782 : }
14783 : break;
14784 : }
14785 0 : default:;
14786 : }
14787 0 : switch (TREE_CODE (_q101))
14788 : {
14789 0 : case VEC_COND_EXPR:
14790 0 : {
14791 0 : tree _q120 = TREE_OPERAND (_q101, 0);
14792 0 : tree _q121 = TREE_OPERAND (_q101, 1);
14793 0 : tree _q122 = TREE_OPERAND (_q101, 2);
14794 0 : switch (TREE_CODE (_q120))
14795 : {
14796 0 : case LT_EXPR:
14797 0 : {
14798 0 : tree _q130 = TREE_OPERAND (_q120, 0);
14799 0 : tree _q131 = TREE_OPERAND (_q120, 1);
14800 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
14801 : {
14802 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
14803 : {
14804 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
14805 : {
14806 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
14807 : {
14808 0 : {
14809 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
14810 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, UNGE_EXPR, LT_EXPR);
14811 0 : if (res) return res;
14812 : }
14813 : }
14814 : }
14815 : }
14816 : }
14817 : break;
14818 : }
14819 : default:;
14820 : }
14821 : break;
14822 : }
14823 : default:;
14824 : }
14825 : break;
14826 : }
14827 : default:;
14828 : }
14829 : break;
14830 : }
14831 0 : case UNEQ_EXPR:
14832 0 : {
14833 0 : tree _q50 = TREE_OPERAND (_q40, 0);
14834 0 : tree _q51 = TREE_OPERAND (_q40, 1);
14835 0 : switch (TREE_CODE (_p1))
14836 : {
14837 0 : case BIT_AND_EXPR:
14838 0 : {
14839 0 : tree _q100 = TREE_OPERAND (_p1, 0);
14840 0 : tree _q101 = TREE_OPERAND (_p1, 1);
14841 0 : switch (TREE_CODE (_q100))
14842 : {
14843 0 : case VEC_COND_EXPR:
14844 0 : {
14845 0 : tree _q110 = TREE_OPERAND (_q100, 0);
14846 0 : tree _q111 = TREE_OPERAND (_q100, 1);
14847 0 : tree _q112 = TREE_OPERAND (_q100, 2);
14848 0 : switch (TREE_CODE (_q110))
14849 : {
14850 0 : case LTGT_EXPR:
14851 0 : {
14852 0 : tree _q120 = TREE_OPERAND (_q110, 0);
14853 0 : tree _q121 = TREE_OPERAND (_q110, 1);
14854 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
14855 : {
14856 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
14857 : {
14858 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
14859 : {
14860 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
14861 : {
14862 0 : {
14863 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
14864 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR);
14865 0 : if (res) return res;
14866 : }
14867 : }
14868 : }
14869 : }
14870 : }
14871 : break;
14872 : }
14873 : default:;
14874 : }
14875 : break;
14876 : }
14877 0 : default:;
14878 : }
14879 0 : switch (TREE_CODE (_q101))
14880 : {
14881 0 : case VEC_COND_EXPR:
14882 0 : {
14883 0 : tree _q120 = TREE_OPERAND (_q101, 0);
14884 0 : tree _q121 = TREE_OPERAND (_q101, 1);
14885 0 : tree _q122 = TREE_OPERAND (_q101, 2);
14886 0 : switch (TREE_CODE (_q120))
14887 : {
14888 0 : case LTGT_EXPR:
14889 0 : {
14890 0 : tree _q130 = TREE_OPERAND (_q120, 0);
14891 0 : tree _q131 = TREE_OPERAND (_q120, 1);
14892 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
14893 : {
14894 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
14895 : {
14896 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
14897 : {
14898 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
14899 : {
14900 0 : {
14901 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
14902 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, UNEQ_EXPR, LTGT_EXPR);
14903 0 : if (res) return res;
14904 : }
14905 : }
14906 : }
14907 : }
14908 : }
14909 : break;
14910 : }
14911 : default:;
14912 : }
14913 : break;
14914 : }
14915 : default:;
14916 : }
14917 : break;
14918 : }
14919 : default:;
14920 : }
14921 : break;
14922 : }
14923 0 : case LTGT_EXPR:
14924 0 : {
14925 0 : tree _q50 = TREE_OPERAND (_q40, 0);
14926 0 : tree _q51 = TREE_OPERAND (_q40, 1);
14927 0 : switch (TREE_CODE (_p1))
14928 : {
14929 0 : case BIT_AND_EXPR:
14930 0 : {
14931 0 : tree _q100 = TREE_OPERAND (_p1, 0);
14932 0 : tree _q101 = TREE_OPERAND (_p1, 1);
14933 0 : switch (TREE_CODE (_q100))
14934 : {
14935 0 : case VEC_COND_EXPR:
14936 0 : {
14937 0 : tree _q110 = TREE_OPERAND (_q100, 0);
14938 0 : tree _q111 = TREE_OPERAND (_q100, 1);
14939 0 : tree _q112 = TREE_OPERAND (_q100, 2);
14940 0 : switch (TREE_CODE (_q110))
14941 : {
14942 0 : case UNEQ_EXPR:
14943 0 : {
14944 0 : tree _q120 = TREE_OPERAND (_q110, 0);
14945 0 : tree _q121 = TREE_OPERAND (_q110, 1);
14946 0 : if ((_q120 == _q50 && ! TREE_SIDE_EFFECTS (_q120)) || (operand_equal_p (_q120, _q50, 0) && types_match (_q120, _q50)))
14947 : {
14948 0 : if ((_q121 == _q51 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q51, 0) && types_match (_q121, _q51)))
14949 : {
14950 0 : if ((_q111 == _q41 && ! TREE_SIDE_EFFECTS (_q111)) || (operand_equal_p (_q111, _q41, 0) && types_match (_q111, _q41)))
14951 : {
14952 0 : if ((_q112 == _q42 && ! TREE_SIDE_EFFECTS (_q112)) || (operand_equal_p (_q112, _q42, 0) && types_match (_q112, _q42)))
14953 : {
14954 0 : {
14955 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q100, _q110, _q101 };
14956 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR);
14957 0 : if (res) return res;
14958 : }
14959 : }
14960 : }
14961 : }
14962 : }
14963 : break;
14964 : }
14965 : default:;
14966 : }
14967 : break;
14968 : }
14969 0 : default:;
14970 : }
14971 0 : switch (TREE_CODE (_q101))
14972 : {
14973 0 : case VEC_COND_EXPR:
14974 0 : {
14975 0 : tree _q120 = TREE_OPERAND (_q101, 0);
14976 0 : tree _q121 = TREE_OPERAND (_q101, 1);
14977 0 : tree _q122 = TREE_OPERAND (_q101, 2);
14978 0 : switch (TREE_CODE (_q120))
14979 : {
14980 0 : case UNEQ_EXPR:
14981 0 : {
14982 0 : tree _q130 = TREE_OPERAND (_q120, 0);
14983 0 : tree _q131 = TREE_OPERAND (_q120, 1);
14984 0 : if ((_q130 == _q50 && ! TREE_SIDE_EFFECTS (_q130)) || (operand_equal_p (_q130, _q50, 0) && types_match (_q130, _q50)))
14985 : {
14986 0 : if ((_q131 == _q51 && ! TREE_SIDE_EFFECTS (_q131)) || (operand_equal_p (_q131, _q51, 0) && types_match (_q131, _q51)))
14987 : {
14988 0 : if ((_q121 == _q41 && ! TREE_SIDE_EFFECTS (_q121)) || (operand_equal_p (_q121, _q41, 0) && types_match (_q121, _q41)))
14989 : {
14990 0 : if ((_q122 == _q42 && ! TREE_SIDE_EFFECTS (_q122)) || (operand_equal_p (_q122, _q42, 0) && types_match (_q122, _q42)))
14991 : {
14992 0 : {
14993 0 : tree captures[10] ATTRIBUTE_UNUSED = { _q21, _q40, _q50, _q51, _q41, _q42, _q20, _q101, _q120, _q100 };
14994 0 : tree res = generic_simplify_153 (loc, type, _p0, _p1, captures, LTGT_EXPR, UNEQ_EXPR);
14995 0 : if (res) return res;
14996 : }
14997 : }
14998 : }
14999 : }
15000 : }
15001 : break;
15002 : }
15003 : default:;
15004 : }
15005 : break;
15006 : }
15007 : default:;
15008 : }
15009 : break;
15010 : }
15011 : default:;
15012 : }
15013 : break;
15014 : }
15015 : default:;
15016 : }
15017 : break;
15018 : }
15019 74 : case BIT_NOT_EXPR:
15020 74 : {
15021 74 : tree _q40 = TREE_OPERAND (_q21, 0);
15022 74 : switch (TREE_CODE (_p1))
15023 : {
15024 54 : case BIT_AND_EXPR:
15025 54 : {
15026 54 : tree _q60 = TREE_OPERAND (_p1, 0);
15027 54 : tree _q61 = TREE_OPERAND (_p1, 1);
15028 54 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
15029 : {
15030 18 : {
15031 18 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _p1, _q60 };
15032 18 : tree res = generic_simplify_154 (loc, type, _p0, _p1, captures);
15033 18 : if (res) return res;
15034 : }
15035 : }
15036 54 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
15037 : {
15038 36 : {
15039 36 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q40, _p1, _q61 };
15040 36 : tree res = generic_simplify_154 (loc, type, _p0, _p1, captures);
15041 36 : if (res) return res;
15042 : }
15043 : }
15044 : break;
15045 : }
15046 : default:;
15047 : }
15048 : break;
15049 : }
15050 79632 : default:;
15051 : }
15052 79632 : switch (TREE_CODE (_q20))
15053 : {
15054 344 : case BIT_NOT_EXPR:
15055 344 : {
15056 344 : tree _q30 = TREE_OPERAND (_q20, 0);
15057 344 : switch (TREE_CODE (_p1))
15058 : {
15059 142 : case BIT_AND_EXPR:
15060 142 : {
15061 142 : tree _q60 = TREE_OPERAND (_p1, 0);
15062 142 : tree _q61 = TREE_OPERAND (_p1, 1);
15063 142 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
15064 : {
15065 22 : {
15066 22 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q30, _p1, _q60 };
15067 22 : tree res = generic_simplify_154 (loc, type, _p0, _p1, captures);
15068 22 : if (res) return res;
15069 : }
15070 : }
15071 142 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
15072 : {
15073 0 : {
15074 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q30, _p1, _q61 };
15075 0 : tree res = generic_simplify_154 (loc, type, _p0, _p1, captures);
15076 0 : if (res) return res;
15077 : }
15078 : }
15079 : break;
15080 : }
15081 : default:;
15082 : }
15083 : break;
15084 : }
15085 79632 : default:;
15086 : }
15087 79632 : switch (TREE_CODE (_p1))
15088 : {
15089 17231 : case BIT_AND_EXPR:
15090 17231 : {
15091 17231 : tree _q50 = TREE_OPERAND (_p1, 0);
15092 17231 : tree _q51 = TREE_OPERAND (_p1, 1);
15093 17231 : switch (TREE_CODE (_q51))
15094 : {
15095 195 : case BIT_NOT_EXPR:
15096 195 : {
15097 195 : tree _q70 = TREE_OPERAND (_q51, 0);
15098 195 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
15099 : {
15100 33 : {
15101 33 : tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q50, _q21, _p0, _q20 };
15102 33 : tree res = generic_simplify_154 (loc, type, _p0, _p1, captures);
15103 33 : if (res) return res;
15104 : }
15105 : }
15106 195 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
15107 : {
15108 0 : {
15109 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q50, _q20, _p0, _q21 };
15110 0 : tree res = generic_simplify_154 (loc, type, _p0, _p1, captures);
15111 0 : if (res) return res;
15112 : }
15113 : }
15114 : break;
15115 : }
15116 17231 : default:;
15117 : }
15118 17231 : switch (TREE_CODE (_q50))
15119 : {
15120 311 : case BIT_NOT_EXPR:
15121 311 : {
15122 311 : tree _q60 = TREE_OPERAND (_q50, 0);
15123 311 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
15124 : {
15125 112 : {
15126 112 : tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q51, _q21, _p0, _q20 };
15127 112 : tree res = generic_simplify_154 (loc, type, _p0, _p1, captures);
15128 112 : if (res) return res;
15129 : }
15130 : }
15131 311 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
15132 : {
15133 79 : {
15134 79 : tree captures[5] ATTRIBUTE_UNUSED = { _p1, _q51, _q20, _p0, _q21 };
15135 79 : tree res = generic_simplify_154 (loc, type, _p0, _p1, captures);
15136 79 : if (res) return res;
15137 : }
15138 : }
15139 : break;
15140 : }
15141 : default:;
15142 : }
15143 : break;
15144 : }
15145 : default:;
15146 : }
15147 : break;
15148 : }
15149 9629 : case BIT_XOR_EXPR:
15150 9629 : {
15151 9629 : tree _q20 = TREE_OPERAND (_p0, 0);
15152 9629 : tree _q21 = TREE_OPERAND (_p0, 1);
15153 9629 : switch (TREE_CODE (_q21))
15154 : {
15155 68 : case INTEGER_CST:
15156 68 : {
15157 68 : switch (TREE_CODE (_p1))
15158 : {
15159 33 : case INTEGER_CST:
15160 33 : {
15161 33 : {
15162 33 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1 };
15163 33 : tree res = generic_simplify_43 (loc, type, _p0, _p1, captures, BIT_XOR_EXPR, BIT_IOR_EXPR);
15164 33 : if (res) return res;
15165 : }
15166 33 : break;
15167 : }
15168 : default:;
15169 : }
15170 : break;
15171 : }
15172 : default:;
15173 : }
15174 : break;
15175 : }
15176 137 : case GT_EXPR:
15177 137 : {
15178 137 : tree _q20 = TREE_OPERAND (_p0, 0);
15179 137 : tree _q21 = TREE_OPERAND (_p0, 1);
15180 137 : switch (TREE_CODE (_p1))
15181 : {
15182 8 : case NE_EXPR:
15183 8 : {
15184 8 : tree _q50 = TREE_OPERAND (_p1, 0);
15185 8 : tree _q51 = TREE_OPERAND (_p1, 1);
15186 8 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
15187 : {
15188 8 : if (tree_min_value (_q51))
15189 : {
15190 4 : {
15191 4 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
15192 4 : tree res = generic_simplify_155 (loc, type, _p0, _p1, captures);
15193 4 : if (res) return res;
15194 : }
15195 : }
15196 : }
15197 4 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
15198 : {
15199 0 : if (tree_max_value (_q51))
15200 : {
15201 0 : {
15202 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
15203 0 : tree res = generic_simplify_156 (loc, type, _p0, _p1, captures);
15204 0 : if (res) return res;
15205 : }
15206 : }
15207 : }
15208 : break;
15209 : }
15210 12 : case EQ_EXPR:
15211 12 : {
15212 12 : tree _q50 = TREE_OPERAND (_p1, 0);
15213 12 : tree _q51 = TREE_OPERAND (_p1, 1);
15214 12 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
15215 : {
15216 0 : if (tree_min_value (_q51))
15217 : {
15218 0 : {
15219 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q20, _p0, _q21 };
15220 0 : tree res = generic_simplify_157 (loc, type, _p0, _p1, captures);
15221 0 : if (res) return res;
15222 : }
15223 : }
15224 : }
15225 : break;
15226 : }
15227 133 : default:;
15228 : }
15229 133 : switch (TREE_CODE (_q20))
15230 : {
15231 0 : CASE_CONVERT:
15232 0 : {
15233 0 : tree _q30 = TREE_OPERAND (_q20, 0);
15234 0 : switch (TREE_CODE (_p1))
15235 : {
15236 0 : case EQ_EXPR:
15237 0 : {
15238 0 : tree _q60 = TREE_OPERAND (_p1, 0);
15239 0 : tree _q61 = TREE_OPERAND (_p1, 1);
15240 0 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
15241 : {
15242 0 : {
15243 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
15244 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
15245 0 : if (res) return res;
15246 : }
15247 : }
15248 0 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
15249 : {
15250 0 : {
15251 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
15252 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
15253 0 : if (res) return res;
15254 : }
15255 : }
15256 : break;
15257 : }
15258 0 : case NE_EXPR:
15259 0 : {
15260 0 : tree _q60 = TREE_OPERAND (_p1, 0);
15261 0 : tree _q61 = TREE_OPERAND (_p1, 1);
15262 0 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
15263 : {
15264 0 : {
15265 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
15266 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
15267 0 : if (res) return res;
15268 : }
15269 : }
15270 0 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
15271 : {
15272 0 : {
15273 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
15274 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
15275 0 : if (res) return res;
15276 : }
15277 : }
15278 : break;
15279 : }
15280 : default:;
15281 : }
15282 : break;
15283 : }
15284 133 : default:;
15285 : }
15286 133 : switch (TREE_CODE (_q21))
15287 : {
15288 0 : CASE_CONVERT:
15289 0 : {
15290 0 : tree _q40 = TREE_OPERAND (_q21, 0);
15291 0 : switch (TREE_CODE (_p1))
15292 : {
15293 0 : case EQ_EXPR:
15294 0 : {
15295 0 : tree _q60 = TREE_OPERAND (_p1, 0);
15296 0 : tree _q61 = TREE_OPERAND (_p1, 1);
15297 0 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
15298 : {
15299 0 : {
15300 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
15301 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
15302 0 : if (res) return res;
15303 : }
15304 : }
15305 0 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
15306 : {
15307 0 : {
15308 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
15309 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
15310 0 : if (res) return res;
15311 : }
15312 : }
15313 : break;
15314 : }
15315 0 : case NE_EXPR:
15316 0 : {
15317 0 : tree _q60 = TREE_OPERAND (_p1, 0);
15318 0 : tree _q61 = TREE_OPERAND (_p1, 1);
15319 0 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
15320 : {
15321 0 : {
15322 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
15323 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
15324 0 : if (res) return res;
15325 : }
15326 : }
15327 0 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
15328 : {
15329 0 : {
15330 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
15331 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
15332 0 : if (res) return res;
15333 : }
15334 : }
15335 : break;
15336 : }
15337 : default:;
15338 : }
15339 : break;
15340 : }
15341 133 : default:;
15342 : }
15343 133 : switch (TREE_CODE (_p1))
15344 : {
15345 12 : case EQ_EXPR:
15346 12 : {
15347 12 : tree _q50 = TREE_OPERAND (_p1, 0);
15348 12 : tree _q51 = TREE_OPERAND (_p1, 1);
15349 12 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
15350 : {
15351 0 : {
15352 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
15353 0 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
15354 0 : if (res) return res;
15355 : }
15356 : }
15357 12 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
15358 : {
15359 0 : {
15360 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
15361 0 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
15362 0 : if (res) return res;
15363 : }
15364 : }
15365 12 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
15366 : {
15367 0 : {
15368 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
15369 0 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
15370 0 : if (res) return res;
15371 : }
15372 : }
15373 12 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
15374 : {
15375 0 : {
15376 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
15377 0 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
15378 0 : if (res) return res;
15379 : }
15380 : }
15381 : break;
15382 : }
15383 4 : case NE_EXPR:
15384 4 : {
15385 4 : tree _q50 = TREE_OPERAND (_p1, 0);
15386 4 : tree _q51 = TREE_OPERAND (_p1, 1);
15387 4 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
15388 : {
15389 4 : {
15390 4 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
15391 4 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
15392 4 : if (res) return res;
15393 : }
15394 : }
15395 4 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
15396 : {
15397 0 : {
15398 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
15399 0 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
15400 0 : if (res) return res;
15401 : }
15402 : }
15403 4 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
15404 : {
15405 0 : {
15406 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
15407 0 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
15408 0 : if (res) return res;
15409 : }
15410 : }
15411 4 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
15412 : {
15413 0 : {
15414 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
15415 0 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
15416 0 : if (res) return res;
15417 : }
15418 : }
15419 : break;
15420 : }
15421 0 : case LT_EXPR:
15422 0 : {
15423 0 : tree _q50 = TREE_OPERAND (_p1, 0);
15424 0 : tree _q51 = TREE_OPERAND (_p1, 1);
15425 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
15426 : {
15427 0 : {
15428 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
15429 0 : tree res = generic_simplify_160 (loc, type, _p0, _p1, captures, LT_EXPR, GT_EXPR);
15430 0 : if (res) return res;
15431 : }
15432 : }
15433 : break;
15434 : }
15435 0 : case LE_EXPR:
15436 0 : {
15437 0 : tree _q50 = TREE_OPERAND (_p1, 0);
15438 0 : tree _q51 = TREE_OPERAND (_p1, 1);
15439 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
15440 : {
15441 0 : {
15442 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
15443 0 : tree res = generic_simplify_160 (loc, type, _p0, _p1, captures, LE_EXPR, GT_EXPR);
15444 0 : if (res) return res;
15445 : }
15446 : }
15447 : break;
15448 : }
15449 2 : case GT_EXPR:
15450 2 : {
15451 2 : tree _q50 = TREE_OPERAND (_p1, 0);
15452 2 : tree _q51 = TREE_OPERAND (_p1, 1);
15453 2 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
15454 : {
15455 0 : {
15456 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
15457 0 : tree res = generic_simplify_160 (loc, type, _p0, _p1, captures, GT_EXPR, GT_EXPR);
15458 0 : if (res) return res;
15459 : }
15460 : }
15461 : break;
15462 : }
15463 0 : case GE_EXPR:
15464 0 : {
15465 0 : tree _q50 = TREE_OPERAND (_p1, 0);
15466 0 : tree _q51 = TREE_OPERAND (_p1, 1);
15467 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
15468 : {
15469 0 : {
15470 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
15471 0 : tree res = generic_simplify_160 (loc, type, _p0, _p1, captures, GE_EXPR, GT_EXPR);
15472 0 : if (res) return res;
15473 : }
15474 : }
15475 : break;
15476 : }
15477 133 : default:;
15478 : }
15479 133 : switch (TREE_CODE (_q20))
15480 : {
15481 7 : case BIT_AND_EXPR:
15482 7 : {
15483 7 : tree _q30 = TREE_OPERAND (_q20, 0);
15484 7 : tree _q31 = TREE_OPERAND (_q20, 1);
15485 7 : switch (TREE_CODE (_q30))
15486 : {
15487 0 : case BIT_XOR_EXPR:
15488 0 : {
15489 0 : tree _q40 = TREE_OPERAND (_q30, 0);
15490 0 : tree _q41 = TREE_OPERAND (_q30, 1);
15491 0 : if (tree_expr_nonzero_p (_q31))
15492 : {
15493 0 : switch (TREE_CODE (_p1))
15494 : {
15495 0 : case NE_EXPR:
15496 0 : {
15497 0 : tree _q90 = TREE_OPERAND (_p1, 0);
15498 0 : tree _q91 = TREE_OPERAND (_p1, 1);
15499 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
15500 : {
15501 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
15502 : {
15503 0 : {
15504 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _q21, _p1 };
15505 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, GT_EXPR);
15506 0 : if (res) return res;
15507 : }
15508 : }
15509 : }
15510 0 : if ((_q90 == _q41 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q41, 0) && types_match (_q90, _q41)))
15511 : {
15512 0 : if ((_q91 == _q40 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q40, 0) && types_match (_q91, _q40)))
15513 : {
15514 0 : {
15515 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q41, _q40, _q31, _q21, _p1 };
15516 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, GT_EXPR);
15517 0 : if (res) return res;
15518 : }
15519 : }
15520 : }
15521 : break;
15522 : }
15523 : default:;
15524 : }
15525 : }
15526 : break;
15527 : }
15528 7 : default:;
15529 : }
15530 7 : if (tree_expr_nonzero_p (_q30))
15531 : {
15532 0 : switch (TREE_CODE (_q31))
15533 : {
15534 0 : case BIT_XOR_EXPR:
15535 0 : {
15536 0 : tree _q50 = TREE_OPERAND (_q31, 0);
15537 0 : tree _q51 = TREE_OPERAND (_q31, 1);
15538 0 : switch (TREE_CODE (_p1))
15539 : {
15540 0 : case NE_EXPR:
15541 0 : {
15542 0 : tree _q90 = TREE_OPERAND (_p1, 0);
15543 0 : tree _q91 = TREE_OPERAND (_p1, 1);
15544 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
15545 : {
15546 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
15547 : {
15548 0 : {
15549 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q30, _q21, _p1 };
15550 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, GT_EXPR);
15551 0 : if (res) return res;
15552 : }
15553 : }
15554 : }
15555 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
15556 : {
15557 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
15558 : {
15559 0 : {
15560 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q30, _q21, _p1 };
15561 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, GT_EXPR);
15562 0 : if (res) return res;
15563 : }
15564 : }
15565 : }
15566 : break;
15567 : }
15568 : default:;
15569 : }
15570 : break;
15571 : }
15572 : default:;
15573 : }
15574 : }
15575 : break;
15576 : }
15577 133 : default:;
15578 : }
15579 133 : switch (TREE_CODE (_q21))
15580 : {
15581 0 : case BIT_AND_EXPR:
15582 0 : {
15583 0 : tree _q40 = TREE_OPERAND (_q21, 0);
15584 0 : tree _q41 = TREE_OPERAND (_q21, 1);
15585 0 : switch (TREE_CODE (_q40))
15586 : {
15587 0 : case BIT_XOR_EXPR:
15588 0 : {
15589 0 : tree _q50 = TREE_OPERAND (_q40, 0);
15590 0 : tree _q51 = TREE_OPERAND (_q40, 1);
15591 0 : if (tree_expr_nonzero_p (_q41))
15592 : {
15593 0 : switch (TREE_CODE (_p1))
15594 : {
15595 0 : case NE_EXPR:
15596 0 : {
15597 0 : tree _q90 = TREE_OPERAND (_p1, 0);
15598 0 : tree _q91 = TREE_OPERAND (_p1, 1);
15599 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
15600 : {
15601 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
15602 : {
15603 0 : {
15604 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q41, _q20, _p1 };
15605 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, LT_EXPR);
15606 0 : if (res) return res;
15607 : }
15608 : }
15609 : }
15610 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
15611 : {
15612 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
15613 : {
15614 0 : {
15615 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q41, _q20, _p1 };
15616 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, LT_EXPR);
15617 0 : if (res) return res;
15618 : }
15619 : }
15620 : }
15621 : break;
15622 : }
15623 : default:;
15624 : }
15625 : }
15626 : break;
15627 : }
15628 0 : default:;
15629 : }
15630 0 : if (tree_expr_nonzero_p (_q40))
15631 : {
15632 0 : switch (TREE_CODE (_q41))
15633 : {
15634 0 : case BIT_XOR_EXPR:
15635 0 : {
15636 0 : tree _q60 = TREE_OPERAND (_q41, 0);
15637 0 : tree _q61 = TREE_OPERAND (_q41, 1);
15638 0 : switch (TREE_CODE (_p1))
15639 : {
15640 0 : case NE_EXPR:
15641 0 : {
15642 0 : tree _q90 = TREE_OPERAND (_p1, 0);
15643 0 : tree _q91 = TREE_OPERAND (_p1, 1);
15644 0 : if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
15645 : {
15646 0 : if ((_q91 == _q61 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q61, 0) && types_match (_q91, _q61)))
15647 : {
15648 0 : {
15649 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q60, _q61, _q40, _q20, _p1 };
15650 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, LT_EXPR);
15651 0 : if (res) return res;
15652 : }
15653 : }
15654 : }
15655 0 : if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
15656 : {
15657 0 : if ((_q91 == _q60 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q60, 0) && types_match (_q91, _q60)))
15658 : {
15659 0 : {
15660 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q61, _q60, _q40, _q20, _p1 };
15661 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, LT_EXPR);
15662 0 : if (res) return res;
15663 : }
15664 : }
15665 : }
15666 : break;
15667 : }
15668 : default:;
15669 : }
15670 : break;
15671 : }
15672 : default:;
15673 : }
15674 : }
15675 : break;
15676 : }
15677 133 : default:;
15678 : }
15679 133 : switch (TREE_CODE (_q20))
15680 : {
15681 0 : case BIT_XOR_EXPR:
15682 0 : {
15683 0 : tree _q30 = TREE_OPERAND (_q20, 0);
15684 0 : tree _q31 = TREE_OPERAND (_q20, 1);
15685 0 : switch (TREE_CODE (_p1))
15686 : {
15687 0 : case NE_EXPR:
15688 0 : {
15689 0 : tree _q70 = TREE_OPERAND (_p1, 0);
15690 0 : tree _q71 = TREE_OPERAND (_p1, 1);
15691 0 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
15692 : {
15693 0 : if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
15694 : {
15695 0 : {
15696 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
15697 0 : tree res = generic_simplify_162 (loc, type, _p0, _p1, captures, GT_EXPR);
15698 0 : if (res) return res;
15699 : }
15700 : }
15701 : }
15702 0 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
15703 : {
15704 0 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
15705 : {
15706 0 : {
15707 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q21, _p1 };
15708 0 : tree res = generic_simplify_162 (loc, type, _p0, _p1, captures, GT_EXPR);
15709 0 : if (res) return res;
15710 : }
15711 : }
15712 : }
15713 : break;
15714 : }
15715 : default:;
15716 : }
15717 : break;
15718 : }
15719 133 : default:;
15720 : }
15721 133 : switch (TREE_CODE (_q21))
15722 : {
15723 0 : case BIT_XOR_EXPR:
15724 0 : {
15725 0 : tree _q40 = TREE_OPERAND (_q21, 0);
15726 0 : tree _q41 = TREE_OPERAND (_q21, 1);
15727 0 : switch (TREE_CODE (_p1))
15728 : {
15729 0 : case NE_EXPR:
15730 0 : {
15731 0 : tree _q70 = TREE_OPERAND (_p1, 0);
15732 0 : tree _q71 = TREE_OPERAND (_p1, 1);
15733 0 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
15734 : {
15735 0 : if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
15736 : {
15737 0 : {
15738 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q20, _p1 };
15739 0 : tree res = generic_simplify_162 (loc, type, _p0, _p1, captures, LT_EXPR);
15740 0 : if (res) return res;
15741 : }
15742 : }
15743 : }
15744 0 : if ((_q70 == _q41 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q41, 0) && types_match (_q70, _q41)))
15745 : {
15746 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
15747 : {
15748 0 : {
15749 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q41, _q40, _q20, _p1 };
15750 0 : tree res = generic_simplify_162 (loc, type, _p0, _p1, captures, LT_EXPR);
15751 0 : if (res) return res;
15752 : }
15753 : }
15754 : }
15755 : break;
15756 : }
15757 : default:;
15758 : }
15759 : break;
15760 : }
15761 : default:;
15762 : }
15763 : break;
15764 : }
15765 130 : case LT_EXPR:
15766 130 : {
15767 130 : tree _q20 = TREE_OPERAND (_p0, 0);
15768 130 : tree _q21 = TREE_OPERAND (_p0, 1);
15769 130 : switch (TREE_CODE (_p1))
15770 : {
15771 5 : case NE_EXPR:
15772 5 : {
15773 5 : tree _q50 = TREE_OPERAND (_p1, 0);
15774 5 : tree _q51 = TREE_OPERAND (_p1, 1);
15775 5 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
15776 : {
15777 0 : if (tree_min_value (_q51))
15778 : {
15779 0 : {
15780 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _q20, _p1 };
15781 0 : tree res = generic_simplify_155 (loc, type, _p0, _p1, captures);
15782 0 : if (res) return res;
15783 : }
15784 : }
15785 : }
15786 5 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
15787 : {
15788 5 : if (tree_max_value (_q51))
15789 : {
15790 4 : {
15791 4 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q21, _p1 };
15792 4 : tree res = generic_simplify_156 (loc, type, _p0, _p1, captures);
15793 4 : if (res) return res;
15794 : }
15795 : }
15796 : }
15797 : break;
15798 : }
15799 9 : case EQ_EXPR:
15800 9 : {
15801 9 : tree _q50 = TREE_OPERAND (_p1, 0);
15802 9 : tree _q51 = TREE_OPERAND (_p1, 1);
15803 9 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
15804 : {
15805 0 : if (tree_min_value (_q51))
15806 : {
15807 0 : {
15808 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q21, _p0, _q20 };
15809 0 : tree res = generic_simplify_157 (loc, type, _p0, _p1, captures);
15810 0 : if (res) return res;
15811 : }
15812 : }
15813 : }
15814 : break;
15815 : }
15816 126 : default:;
15817 : }
15818 126 : switch (TREE_CODE (_q20))
15819 : {
15820 15 : CASE_CONVERT:
15821 15 : {
15822 15 : tree _q30 = TREE_OPERAND (_q20, 0);
15823 15 : switch (TREE_CODE (_p1))
15824 : {
15825 0 : case EQ_EXPR:
15826 0 : {
15827 0 : tree _q60 = TREE_OPERAND (_p1, 0);
15828 0 : tree _q61 = TREE_OPERAND (_p1, 1);
15829 0 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
15830 : {
15831 0 : {
15832 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
15833 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
15834 0 : if (res) return res;
15835 : }
15836 : }
15837 0 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
15838 : {
15839 0 : {
15840 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
15841 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
15842 0 : if (res) return res;
15843 : }
15844 : }
15845 : break;
15846 : }
15847 0 : case NE_EXPR:
15848 0 : {
15849 0 : tree _q60 = TREE_OPERAND (_p1, 0);
15850 0 : tree _q61 = TREE_OPERAND (_p1, 1);
15851 0 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
15852 : {
15853 0 : {
15854 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
15855 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
15856 0 : if (res) return res;
15857 : }
15858 : }
15859 0 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
15860 : {
15861 0 : {
15862 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
15863 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
15864 0 : if (res) return res;
15865 : }
15866 : }
15867 : break;
15868 : }
15869 : default:;
15870 : }
15871 : break;
15872 : }
15873 126 : default:;
15874 : }
15875 126 : switch (TREE_CODE (_q21))
15876 : {
15877 35 : CASE_CONVERT:
15878 35 : {
15879 35 : tree _q40 = TREE_OPERAND (_q21, 0);
15880 35 : switch (TREE_CODE (_p1))
15881 : {
15882 3 : case EQ_EXPR:
15883 3 : {
15884 3 : tree _q60 = TREE_OPERAND (_p1, 0);
15885 3 : tree _q61 = TREE_OPERAND (_p1, 1);
15886 3 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
15887 : {
15888 0 : {
15889 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
15890 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
15891 0 : if (res) return res;
15892 : }
15893 : }
15894 3 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
15895 : {
15896 3 : {
15897 3 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
15898 3 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
15899 3 : if (res) return res;
15900 : }
15901 : }
15902 : break;
15903 : }
15904 0 : case NE_EXPR:
15905 0 : {
15906 0 : tree _q60 = TREE_OPERAND (_p1, 0);
15907 0 : tree _q61 = TREE_OPERAND (_p1, 1);
15908 0 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
15909 : {
15910 0 : {
15911 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
15912 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
15913 0 : if (res) return res;
15914 : }
15915 : }
15916 0 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
15917 : {
15918 0 : {
15919 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
15920 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
15921 0 : if (res) return res;
15922 : }
15923 : }
15924 : break;
15925 : }
15926 : default:;
15927 : }
15928 : break;
15929 : }
15930 123 : default:;
15931 : }
15932 123 : switch (TREE_CODE (_p1))
15933 : {
15934 6 : case EQ_EXPR:
15935 6 : {
15936 6 : tree _q50 = TREE_OPERAND (_p1, 0);
15937 6 : tree _q51 = TREE_OPERAND (_p1, 1);
15938 6 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
15939 : {
15940 2 : {
15941 2 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
15942 2 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
15943 2 : if (res) return res;
15944 : }
15945 : }
15946 4 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
15947 : {
15948 0 : {
15949 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
15950 0 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
15951 0 : if (res) return res;
15952 : }
15953 : }
15954 4 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
15955 : {
15956 0 : {
15957 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
15958 0 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
15959 0 : if (res) return res;
15960 : }
15961 : }
15962 4 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
15963 : {
15964 0 : {
15965 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
15966 0 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
15967 0 : if (res) return res;
15968 : }
15969 : }
15970 : break;
15971 : }
15972 1 : case NE_EXPR:
15973 1 : {
15974 1 : tree _q50 = TREE_OPERAND (_p1, 0);
15975 1 : tree _q51 = TREE_OPERAND (_p1, 1);
15976 1 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
15977 : {
15978 1 : {
15979 1 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
15980 1 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
15981 1 : if (res) return res;
15982 : }
15983 : }
15984 1 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
15985 : {
15986 0 : {
15987 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
15988 0 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
15989 0 : if (res) return res;
15990 : }
15991 : }
15992 1 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
15993 : {
15994 0 : {
15995 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
15996 0 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
15997 0 : if (res) return res;
15998 : }
15999 : }
16000 1 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
16001 : {
16002 0 : {
16003 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
16004 0 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
16005 0 : if (res) return res;
16006 : }
16007 : }
16008 : break;
16009 : }
16010 27 : case LT_EXPR:
16011 27 : {
16012 27 : tree _q50 = TREE_OPERAND (_p1, 0);
16013 27 : tree _q51 = TREE_OPERAND (_p1, 1);
16014 27 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
16015 : {
16016 0 : {
16017 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
16018 0 : tree res = generic_simplify_160 (loc, type, _p0, _p1, captures, LT_EXPR, LT_EXPR);
16019 0 : if (res) return res;
16020 : }
16021 : }
16022 : break;
16023 : }
16024 31 : case LE_EXPR:
16025 31 : {
16026 31 : tree _q50 = TREE_OPERAND (_p1, 0);
16027 31 : tree _q51 = TREE_OPERAND (_p1, 1);
16028 31 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
16029 : {
16030 31 : {
16031 31 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
16032 31 : tree res = generic_simplify_160 (loc, type, _p0, _p1, captures, LE_EXPR, LT_EXPR);
16033 31 : if (res) return res;
16034 : }
16035 : }
16036 : break;
16037 : }
16038 0 : case GT_EXPR:
16039 0 : {
16040 0 : tree _q50 = TREE_OPERAND (_p1, 0);
16041 0 : tree _q51 = TREE_OPERAND (_p1, 1);
16042 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
16043 : {
16044 0 : {
16045 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
16046 0 : tree res = generic_simplify_160 (loc, type, _p0, _p1, captures, GT_EXPR, LT_EXPR);
16047 0 : if (res) return res;
16048 : }
16049 : }
16050 : break;
16051 : }
16052 0 : case GE_EXPR:
16053 0 : {
16054 0 : tree _q50 = TREE_OPERAND (_p1, 0);
16055 0 : tree _q51 = TREE_OPERAND (_p1, 1);
16056 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
16057 : {
16058 0 : {
16059 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
16060 0 : tree res = generic_simplify_160 (loc, type, _p0, _p1, captures, GE_EXPR, LT_EXPR);
16061 0 : if (res) return res;
16062 : }
16063 : }
16064 : break;
16065 : }
16066 114 : default:;
16067 : }
16068 114 : switch (TREE_CODE (_q20))
16069 : {
16070 0 : case BIT_AND_EXPR:
16071 0 : {
16072 0 : tree _q30 = TREE_OPERAND (_q20, 0);
16073 0 : tree _q31 = TREE_OPERAND (_q20, 1);
16074 0 : switch (TREE_CODE (_q30))
16075 : {
16076 0 : case BIT_XOR_EXPR:
16077 0 : {
16078 0 : tree _q40 = TREE_OPERAND (_q30, 0);
16079 0 : tree _q41 = TREE_OPERAND (_q30, 1);
16080 0 : if (tree_expr_nonzero_p (_q31))
16081 : {
16082 0 : switch (TREE_CODE (_p1))
16083 : {
16084 0 : case NE_EXPR:
16085 0 : {
16086 0 : tree _q90 = TREE_OPERAND (_p1, 0);
16087 0 : tree _q91 = TREE_OPERAND (_p1, 1);
16088 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
16089 : {
16090 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
16091 : {
16092 0 : {
16093 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _q21, _p1 };
16094 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, LT_EXPR);
16095 0 : if (res) return res;
16096 : }
16097 : }
16098 : }
16099 0 : if ((_q90 == _q41 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q41, 0) && types_match (_q90, _q41)))
16100 : {
16101 0 : if ((_q91 == _q40 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q40, 0) && types_match (_q91, _q40)))
16102 : {
16103 0 : {
16104 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q41, _q40, _q31, _q21, _p1 };
16105 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, LT_EXPR);
16106 0 : if (res) return res;
16107 : }
16108 : }
16109 : }
16110 : break;
16111 : }
16112 : default:;
16113 : }
16114 : }
16115 : break;
16116 : }
16117 0 : default:;
16118 : }
16119 0 : if (tree_expr_nonzero_p (_q30))
16120 : {
16121 0 : switch (TREE_CODE (_q31))
16122 : {
16123 0 : case BIT_XOR_EXPR:
16124 0 : {
16125 0 : tree _q50 = TREE_OPERAND (_q31, 0);
16126 0 : tree _q51 = TREE_OPERAND (_q31, 1);
16127 0 : switch (TREE_CODE (_p1))
16128 : {
16129 0 : case NE_EXPR:
16130 0 : {
16131 0 : tree _q90 = TREE_OPERAND (_p1, 0);
16132 0 : tree _q91 = TREE_OPERAND (_p1, 1);
16133 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
16134 : {
16135 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
16136 : {
16137 0 : {
16138 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q30, _q21, _p1 };
16139 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, LT_EXPR);
16140 0 : if (res) return res;
16141 : }
16142 : }
16143 : }
16144 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
16145 : {
16146 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
16147 : {
16148 0 : {
16149 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q30, _q21, _p1 };
16150 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, LT_EXPR);
16151 0 : if (res) return res;
16152 : }
16153 : }
16154 : }
16155 : break;
16156 : }
16157 : default:;
16158 : }
16159 : break;
16160 : }
16161 : default:;
16162 : }
16163 : }
16164 : break;
16165 : }
16166 114 : default:;
16167 : }
16168 114 : switch (TREE_CODE (_q21))
16169 : {
16170 0 : case BIT_AND_EXPR:
16171 0 : {
16172 0 : tree _q40 = TREE_OPERAND (_q21, 0);
16173 0 : tree _q41 = TREE_OPERAND (_q21, 1);
16174 0 : switch (TREE_CODE (_q40))
16175 : {
16176 0 : case BIT_XOR_EXPR:
16177 0 : {
16178 0 : tree _q50 = TREE_OPERAND (_q40, 0);
16179 0 : tree _q51 = TREE_OPERAND (_q40, 1);
16180 0 : if (tree_expr_nonzero_p (_q41))
16181 : {
16182 0 : switch (TREE_CODE (_p1))
16183 : {
16184 0 : case NE_EXPR:
16185 0 : {
16186 0 : tree _q90 = TREE_OPERAND (_p1, 0);
16187 0 : tree _q91 = TREE_OPERAND (_p1, 1);
16188 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
16189 : {
16190 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
16191 : {
16192 0 : {
16193 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q41, _q20, _p1 };
16194 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, GT_EXPR);
16195 0 : if (res) return res;
16196 : }
16197 : }
16198 : }
16199 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
16200 : {
16201 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
16202 : {
16203 0 : {
16204 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q41, _q20, _p1 };
16205 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, GT_EXPR);
16206 0 : if (res) return res;
16207 : }
16208 : }
16209 : }
16210 : break;
16211 : }
16212 : default:;
16213 : }
16214 : }
16215 : break;
16216 : }
16217 0 : default:;
16218 : }
16219 0 : if (tree_expr_nonzero_p (_q40))
16220 : {
16221 0 : switch (TREE_CODE (_q41))
16222 : {
16223 0 : case BIT_XOR_EXPR:
16224 0 : {
16225 0 : tree _q60 = TREE_OPERAND (_q41, 0);
16226 0 : tree _q61 = TREE_OPERAND (_q41, 1);
16227 0 : switch (TREE_CODE (_p1))
16228 : {
16229 0 : case NE_EXPR:
16230 0 : {
16231 0 : tree _q90 = TREE_OPERAND (_p1, 0);
16232 0 : tree _q91 = TREE_OPERAND (_p1, 1);
16233 0 : if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
16234 : {
16235 0 : if ((_q91 == _q61 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q61, 0) && types_match (_q91, _q61)))
16236 : {
16237 0 : {
16238 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q60, _q61, _q40, _q20, _p1 };
16239 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, GT_EXPR);
16240 0 : if (res) return res;
16241 : }
16242 : }
16243 : }
16244 0 : if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
16245 : {
16246 0 : if ((_q91 == _q60 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q60, 0) && types_match (_q91, _q60)))
16247 : {
16248 0 : {
16249 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q61, _q60, _q40, _q20, _p1 };
16250 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, GT_EXPR);
16251 0 : if (res) return res;
16252 : }
16253 : }
16254 : }
16255 : break;
16256 : }
16257 : default:;
16258 : }
16259 : break;
16260 : }
16261 : default:;
16262 : }
16263 : }
16264 : break;
16265 : }
16266 114 : default:;
16267 : }
16268 114 : switch (TREE_CODE (_q20))
16269 : {
16270 0 : case BIT_XOR_EXPR:
16271 0 : {
16272 0 : tree _q30 = TREE_OPERAND (_q20, 0);
16273 0 : tree _q31 = TREE_OPERAND (_q20, 1);
16274 0 : switch (TREE_CODE (_p1))
16275 : {
16276 0 : case NE_EXPR:
16277 0 : {
16278 0 : tree _q70 = TREE_OPERAND (_p1, 0);
16279 0 : tree _q71 = TREE_OPERAND (_p1, 1);
16280 0 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
16281 : {
16282 0 : if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
16283 : {
16284 0 : {
16285 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
16286 0 : tree res = generic_simplify_162 (loc, type, _p0, _p1, captures, LT_EXPR);
16287 0 : if (res) return res;
16288 : }
16289 : }
16290 : }
16291 0 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
16292 : {
16293 0 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
16294 : {
16295 0 : {
16296 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q21, _p1 };
16297 0 : tree res = generic_simplify_162 (loc, type, _p0, _p1, captures, LT_EXPR);
16298 0 : if (res) return res;
16299 : }
16300 : }
16301 : }
16302 : break;
16303 : }
16304 : default:;
16305 : }
16306 : break;
16307 : }
16308 114 : default:;
16309 : }
16310 114 : switch (TREE_CODE (_q21))
16311 : {
16312 0 : case BIT_XOR_EXPR:
16313 0 : {
16314 0 : tree _q40 = TREE_OPERAND (_q21, 0);
16315 0 : tree _q41 = TREE_OPERAND (_q21, 1);
16316 0 : switch (TREE_CODE (_p1))
16317 : {
16318 0 : case NE_EXPR:
16319 0 : {
16320 0 : tree _q70 = TREE_OPERAND (_p1, 0);
16321 0 : tree _q71 = TREE_OPERAND (_p1, 1);
16322 0 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
16323 : {
16324 0 : if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
16325 : {
16326 0 : {
16327 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q20, _p1 };
16328 0 : tree res = generic_simplify_162 (loc, type, _p0, _p1, captures, GT_EXPR);
16329 0 : if (res) return res;
16330 : }
16331 : }
16332 : }
16333 0 : if ((_q70 == _q41 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q41, 0) && types_match (_q70, _q41)))
16334 : {
16335 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
16336 : {
16337 0 : {
16338 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q41, _q40, _q20, _p1 };
16339 0 : tree res = generic_simplify_162 (loc, type, _p0, _p1, captures, GT_EXPR);
16340 0 : if (res) return res;
16341 : }
16342 : }
16343 : }
16344 : break;
16345 : }
16346 : default:;
16347 : }
16348 : break;
16349 : }
16350 : default:;
16351 : }
16352 : break;
16353 : }
16354 267 : case NE_EXPR:
16355 267 : {
16356 267 : tree _q20 = TREE_OPERAND (_p0, 0);
16357 267 : tree _q21 = TREE_OPERAND (_p0, 1);
16358 267 : if (tree_min_value (_q21))
16359 : {
16360 54 : switch (TREE_CODE (_p1))
16361 : {
16362 0 : case GT_EXPR:
16363 0 : {
16364 0 : tree _q50 = TREE_OPERAND (_p1, 0);
16365 0 : tree _q51 = TREE_OPERAND (_p1, 1);
16366 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
16367 : {
16368 0 : {
16369 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _p0 };
16370 0 : tree res = generic_simplify_163 (loc, type, _p0, _p1, captures);
16371 0 : if (res) return res;
16372 : }
16373 : }
16374 : break;
16375 : }
16376 0 : case LT_EXPR:
16377 0 : {
16378 0 : tree _q50 = TREE_OPERAND (_p1, 0);
16379 0 : tree _q51 = TREE_OPERAND (_p1, 1);
16380 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
16381 : {
16382 0 : {
16383 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _p0 };
16384 0 : tree res = generic_simplify_163 (loc, type, _p0, _p1, captures);
16385 0 : if (res) return res;
16386 : }
16387 : }
16388 : break;
16389 : }
16390 0 : case LE_EXPR:
16391 0 : {
16392 0 : tree _q50 = TREE_OPERAND (_p1, 0);
16393 0 : tree _q51 = TREE_OPERAND (_p1, 1);
16394 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
16395 : {
16396 0 : {
16397 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q51 };
16398 0 : tree res = generic_simplify_164 (loc, type, _p0, _p1, captures);
16399 0 : if (res) return res;
16400 : }
16401 : }
16402 : break;
16403 : }
16404 1 : case GE_EXPR:
16405 1 : {
16406 1 : tree _q50 = TREE_OPERAND (_p1, 0);
16407 1 : tree _q51 = TREE_OPERAND (_p1, 1);
16408 1 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
16409 : {
16410 0 : {
16411 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
16412 0 : tree res = generic_simplify_164 (loc, type, _p0, _p1, captures);
16413 0 : if (res) return res;
16414 : }
16415 : }
16416 : break;
16417 : }
16418 : default:;
16419 : }
16420 : }
16421 267 : if (tree_max_value (_q21))
16422 : {
16423 0 : switch (TREE_CODE (_p1))
16424 : {
16425 0 : case LT_EXPR:
16426 0 : {
16427 0 : tree _q50 = TREE_OPERAND (_p1, 0);
16428 0 : tree _q51 = TREE_OPERAND (_p1, 1);
16429 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
16430 : {
16431 0 : {
16432 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q51, _p0 };
16433 0 : tree res = generic_simplify_165 (loc, type, _p0, _p1, captures);
16434 0 : if (res) return res;
16435 : }
16436 : }
16437 : break;
16438 : }
16439 0 : case GT_EXPR:
16440 0 : {
16441 0 : tree _q50 = TREE_OPERAND (_p1, 0);
16442 0 : tree _q51 = TREE_OPERAND (_p1, 1);
16443 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
16444 : {
16445 0 : {
16446 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _q50, _p0 };
16447 0 : tree res = generic_simplify_165 (loc, type, _p0, _p1, captures);
16448 0 : if (res) return res;
16449 : }
16450 : }
16451 : break;
16452 : }
16453 0 : case GE_EXPR:
16454 0 : {
16455 0 : tree _q50 = TREE_OPERAND (_p1, 0);
16456 0 : tree _q51 = TREE_OPERAND (_p1, 1);
16457 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
16458 : {
16459 0 : {
16460 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
16461 0 : tree res = generic_simplify_166 (loc, type, _p0, _p1, captures, NE_EXPR);
16462 0 : if (res) return res;
16463 : }
16464 : }
16465 : break;
16466 : }
16467 0 : case LE_EXPR:
16468 0 : {
16469 0 : tree _q50 = TREE_OPERAND (_p1, 0);
16470 0 : tree _q51 = TREE_OPERAND (_p1, 1);
16471 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
16472 : {
16473 0 : {
16474 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
16475 0 : tree res = generic_simplify_166 (loc, type, _p0, _p1, captures, NE_EXPR);
16476 0 : if (res) return res;
16477 : }
16478 : }
16479 : break;
16480 : }
16481 : default:;
16482 : }
16483 : }
16484 267 : switch (TREE_CODE (_p1))
16485 : {
16486 13 : case EQ_EXPR:
16487 13 : {
16488 13 : tree _q50 = TREE_OPERAND (_p1, 0);
16489 13 : tree _q51 = TREE_OPERAND (_p1, 1);
16490 13 : switch (TREE_CODE (_q50))
16491 : {
16492 0 : CASE_CONVERT:
16493 0 : {
16494 0 : tree _q60 = TREE_OPERAND (_q50, 0);
16495 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
16496 : {
16497 0 : {
16498 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
16499 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
16500 0 : if (res) return res;
16501 : }
16502 : }
16503 0 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
16504 : {
16505 0 : {
16506 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
16507 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
16508 0 : if (res) return res;
16509 : }
16510 : }
16511 : break;
16512 : }
16513 13 : default:;
16514 : }
16515 13 : switch (TREE_CODE (_q51))
16516 : {
16517 0 : CASE_CONVERT:
16518 0 : {
16519 0 : tree _q70 = TREE_OPERAND (_q51, 0);
16520 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
16521 : {
16522 0 : {
16523 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
16524 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
16525 0 : if (res) return res;
16526 : }
16527 : }
16528 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
16529 : {
16530 0 : {
16531 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
16532 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
16533 0 : if (res) return res;
16534 : }
16535 : }
16536 : break;
16537 : }
16538 : default:;
16539 : }
16540 : break;
16541 : }
16542 2 : case NE_EXPR:
16543 2 : {
16544 2 : tree _q50 = TREE_OPERAND (_p1, 0);
16545 2 : tree _q51 = TREE_OPERAND (_p1, 1);
16546 2 : switch (TREE_CODE (_q50))
16547 : {
16548 0 : CASE_CONVERT:
16549 0 : {
16550 0 : tree _q60 = TREE_OPERAND (_q50, 0);
16551 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
16552 : {
16553 0 : {
16554 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
16555 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
16556 0 : if (res) return res;
16557 : }
16558 : }
16559 0 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
16560 : {
16561 0 : {
16562 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
16563 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
16564 0 : if (res) return res;
16565 : }
16566 : }
16567 : break;
16568 : }
16569 2 : default:;
16570 : }
16571 2 : switch (TREE_CODE (_q51))
16572 : {
16573 0 : CASE_CONVERT:
16574 0 : {
16575 0 : tree _q70 = TREE_OPERAND (_q51, 0);
16576 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
16577 : {
16578 0 : {
16579 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
16580 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
16581 0 : if (res) return res;
16582 : }
16583 : }
16584 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
16585 : {
16586 0 : {
16587 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
16588 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
16589 0 : if (res) return res;
16590 : }
16591 : }
16592 : break;
16593 : }
16594 : default:;
16595 : }
16596 : break;
16597 : }
16598 0 : case LT_EXPR:
16599 0 : {
16600 0 : tree _q50 = TREE_OPERAND (_p1, 0);
16601 0 : tree _q51 = TREE_OPERAND (_p1, 1);
16602 0 : switch (TREE_CODE (_q50))
16603 : {
16604 0 : CASE_CONVERT:
16605 0 : {
16606 0 : tree _q60 = TREE_OPERAND (_q50, 0);
16607 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
16608 : {
16609 0 : {
16610 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
16611 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
16612 0 : if (res) return res;
16613 : }
16614 : }
16615 0 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
16616 : {
16617 0 : {
16618 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
16619 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
16620 0 : if (res) return res;
16621 : }
16622 : }
16623 : break;
16624 : }
16625 0 : default:;
16626 : }
16627 0 : switch (TREE_CODE (_q51))
16628 : {
16629 0 : CASE_CONVERT:
16630 0 : {
16631 0 : tree _q70 = TREE_OPERAND (_q51, 0);
16632 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
16633 : {
16634 0 : {
16635 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
16636 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
16637 0 : if (res) return res;
16638 : }
16639 : }
16640 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
16641 : {
16642 0 : {
16643 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
16644 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
16645 0 : if (res) return res;
16646 : }
16647 : }
16648 : break;
16649 : }
16650 : default:;
16651 : }
16652 : break;
16653 : }
16654 0 : case GT_EXPR:
16655 0 : {
16656 0 : tree _q50 = TREE_OPERAND (_p1, 0);
16657 0 : tree _q51 = TREE_OPERAND (_p1, 1);
16658 0 : switch (TREE_CODE (_q50))
16659 : {
16660 0 : CASE_CONVERT:
16661 0 : {
16662 0 : tree _q60 = TREE_OPERAND (_q50, 0);
16663 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
16664 : {
16665 0 : {
16666 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
16667 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
16668 0 : if (res) return res;
16669 : }
16670 : }
16671 0 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
16672 : {
16673 0 : {
16674 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
16675 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
16676 0 : if (res) return res;
16677 : }
16678 : }
16679 : break;
16680 : }
16681 0 : default:;
16682 : }
16683 0 : switch (TREE_CODE (_q51))
16684 : {
16685 0 : CASE_CONVERT:
16686 0 : {
16687 0 : tree _q70 = TREE_OPERAND (_q51, 0);
16688 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
16689 : {
16690 0 : {
16691 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
16692 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
16693 0 : if (res) return res;
16694 : }
16695 : }
16696 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
16697 : {
16698 0 : {
16699 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
16700 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
16701 0 : if (res) return res;
16702 : }
16703 : }
16704 : break;
16705 : }
16706 : default:;
16707 : }
16708 : break;
16709 : }
16710 0 : case LE_EXPR:
16711 0 : {
16712 0 : tree _q50 = TREE_OPERAND (_p1, 0);
16713 0 : tree _q51 = TREE_OPERAND (_p1, 1);
16714 0 : switch (TREE_CODE (_q50))
16715 : {
16716 0 : CASE_CONVERT:
16717 0 : {
16718 0 : tree _q60 = TREE_OPERAND (_q50, 0);
16719 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
16720 : {
16721 0 : {
16722 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
16723 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
16724 0 : if (res) return res;
16725 : }
16726 : }
16727 0 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
16728 : {
16729 0 : {
16730 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
16731 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
16732 0 : if (res) return res;
16733 : }
16734 : }
16735 : break;
16736 : }
16737 0 : default:;
16738 : }
16739 0 : switch (TREE_CODE (_q51))
16740 : {
16741 0 : CASE_CONVERT:
16742 0 : {
16743 0 : tree _q70 = TREE_OPERAND (_q51, 0);
16744 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
16745 : {
16746 0 : {
16747 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
16748 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
16749 0 : if (res) return res;
16750 : }
16751 : }
16752 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
16753 : {
16754 0 : {
16755 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
16756 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
16757 0 : if (res) return res;
16758 : }
16759 : }
16760 : break;
16761 : }
16762 : default:;
16763 : }
16764 : break;
16765 : }
16766 1 : case GE_EXPR:
16767 1 : {
16768 1 : tree _q50 = TREE_OPERAND (_p1, 0);
16769 1 : tree _q51 = TREE_OPERAND (_p1, 1);
16770 1 : switch (TREE_CODE (_q50))
16771 : {
16772 0 : CASE_CONVERT:
16773 0 : {
16774 0 : tree _q60 = TREE_OPERAND (_q50, 0);
16775 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
16776 : {
16777 0 : {
16778 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
16779 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
16780 0 : if (res) return res;
16781 : }
16782 : }
16783 0 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
16784 : {
16785 0 : {
16786 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
16787 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
16788 0 : if (res) return res;
16789 : }
16790 : }
16791 : break;
16792 : }
16793 1 : default:;
16794 : }
16795 1 : switch (TREE_CODE (_q51))
16796 : {
16797 0 : CASE_CONVERT:
16798 0 : {
16799 0 : tree _q70 = TREE_OPERAND (_q51, 0);
16800 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
16801 : {
16802 0 : {
16803 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
16804 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
16805 0 : if (res) return res;
16806 : }
16807 : }
16808 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
16809 : {
16810 0 : {
16811 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
16812 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
16813 0 : if (res) return res;
16814 : }
16815 : }
16816 : break;
16817 : }
16818 : default:;
16819 : }
16820 : break;
16821 : }
16822 267 : default:;
16823 : }
16824 267 : switch (TREE_CODE (_q20))
16825 : {
16826 20 : CASE_CONVERT:
16827 20 : {
16828 20 : tree _q30 = TREE_OPERAND (_q20, 0);
16829 20 : switch (TREE_CODE (_p1))
16830 : {
16831 0 : case EQ_EXPR:
16832 0 : {
16833 0 : tree _q60 = TREE_OPERAND (_p1, 0);
16834 0 : tree _q61 = TREE_OPERAND (_p1, 1);
16835 0 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
16836 : {
16837 0 : {
16838 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
16839 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
16840 0 : if (res) return res;
16841 : }
16842 : }
16843 0 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
16844 : {
16845 0 : {
16846 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
16847 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
16848 0 : if (res) return res;
16849 : }
16850 : }
16851 : break;
16852 : }
16853 0 : case NE_EXPR:
16854 0 : {
16855 0 : tree _q60 = TREE_OPERAND (_p1, 0);
16856 0 : tree _q61 = TREE_OPERAND (_p1, 1);
16857 0 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
16858 : {
16859 0 : {
16860 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
16861 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
16862 0 : if (res) return res;
16863 : }
16864 : }
16865 0 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
16866 : {
16867 0 : {
16868 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
16869 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
16870 0 : if (res) return res;
16871 : }
16872 : }
16873 : break;
16874 : }
16875 : default:;
16876 : }
16877 : break;
16878 : }
16879 267 : default:;
16880 : }
16881 267 : switch (TREE_CODE (_q21))
16882 : {
16883 0 : CASE_CONVERT:
16884 0 : {
16885 0 : tree _q40 = TREE_OPERAND (_q21, 0);
16886 0 : switch (TREE_CODE (_p1))
16887 : {
16888 0 : case EQ_EXPR:
16889 0 : {
16890 0 : tree _q60 = TREE_OPERAND (_p1, 0);
16891 0 : tree _q61 = TREE_OPERAND (_p1, 1);
16892 0 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
16893 : {
16894 0 : {
16895 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
16896 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
16897 0 : if (res) return res;
16898 : }
16899 : }
16900 0 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
16901 : {
16902 0 : {
16903 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
16904 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
16905 0 : if (res) return res;
16906 : }
16907 : }
16908 : break;
16909 : }
16910 0 : case NE_EXPR:
16911 0 : {
16912 0 : tree _q60 = TREE_OPERAND (_p1, 0);
16913 0 : tree _q61 = TREE_OPERAND (_p1, 1);
16914 0 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
16915 : {
16916 0 : {
16917 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
16918 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
16919 0 : if (res) return res;
16920 : }
16921 : }
16922 0 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
16923 : {
16924 0 : {
16925 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
16926 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
16927 0 : if (res) return res;
16928 : }
16929 : }
16930 : break;
16931 : }
16932 : default:;
16933 : }
16934 : break;
16935 : }
16936 267 : default:;
16937 : }
16938 267 : switch (TREE_CODE (_p1))
16939 : {
16940 13 : case EQ_EXPR:
16941 13 : {
16942 13 : tree _q50 = TREE_OPERAND (_p1, 0);
16943 13 : tree _q51 = TREE_OPERAND (_p1, 1);
16944 13 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
16945 : {
16946 0 : {
16947 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
16948 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
16949 0 : if (res) return res;
16950 : }
16951 0 : {
16952 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
16953 0 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
16954 0 : if (res) return res;
16955 : }
16956 : }
16957 13 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
16958 : {
16959 0 : {
16960 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
16961 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
16962 0 : if (res) return res;
16963 : }
16964 : }
16965 13 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
16966 : {
16967 0 : {
16968 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
16969 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
16970 0 : if (res) return res;
16971 : }
16972 0 : {
16973 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
16974 0 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
16975 0 : if (res) return res;
16976 : }
16977 : }
16978 13 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
16979 : {
16980 5 : {
16981 5 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
16982 5 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
16983 5 : if (res) return res;
16984 : }
16985 5 : {
16986 5 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
16987 5 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
16988 5 : if (res) return res;
16989 : }
16990 : }
16991 13 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
16992 : {
16993 0 : {
16994 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
16995 0 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
16996 0 : if (res) return res;
16997 : }
16998 : }
16999 : break;
17000 : }
17001 2 : case NE_EXPR:
17002 2 : {
17003 2 : tree _q50 = TREE_OPERAND (_p1, 0);
17004 2 : tree _q51 = TREE_OPERAND (_p1, 1);
17005 2 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
17006 : {
17007 0 : {
17008 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
17009 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
17010 0 : if (res) return res;
17011 : }
17012 0 : {
17013 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
17014 0 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
17015 0 : if (res) return res;
17016 : }
17017 : }
17018 2 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
17019 : {
17020 0 : {
17021 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
17022 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
17023 0 : if (res) return res;
17024 : }
17025 : }
17026 2 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
17027 : {
17028 0 : {
17029 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
17030 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
17031 0 : if (res) return res;
17032 : }
17033 0 : {
17034 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
17035 0 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
17036 0 : if (res) return res;
17037 : }
17038 : }
17039 2 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
17040 : {
17041 0 : {
17042 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
17043 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
17044 0 : if (res) return res;
17045 : }
17046 0 : {
17047 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
17048 0 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
17049 0 : if (res) return res;
17050 : }
17051 : }
17052 2 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
17053 : {
17054 0 : {
17055 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
17056 0 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, NE_EXPR, NE_EXPR);
17057 0 : if (res) return res;
17058 : }
17059 : }
17060 : break;
17061 : }
17062 0 : case LT_EXPR:
17063 0 : {
17064 0 : tree _q50 = TREE_OPERAND (_p1, 0);
17065 0 : tree _q51 = TREE_OPERAND (_p1, 1);
17066 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
17067 : {
17068 0 : {
17069 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
17070 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
17071 0 : if (res) return res;
17072 : }
17073 : }
17074 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
17075 : {
17076 0 : {
17077 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
17078 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
17079 0 : if (res) return res;
17080 : }
17081 : }
17082 0 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
17083 : {
17084 0 : {
17085 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
17086 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
17087 0 : if (res) return res;
17088 : }
17089 : }
17090 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
17091 : {
17092 0 : {
17093 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
17094 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
17095 0 : if (res) return res;
17096 : }
17097 : }
17098 : break;
17099 : }
17100 0 : case GT_EXPR:
17101 0 : {
17102 0 : tree _q50 = TREE_OPERAND (_p1, 0);
17103 0 : tree _q51 = TREE_OPERAND (_p1, 1);
17104 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
17105 : {
17106 0 : {
17107 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
17108 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
17109 0 : if (res) return res;
17110 : }
17111 : }
17112 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
17113 : {
17114 0 : {
17115 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
17116 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
17117 0 : if (res) return res;
17118 : }
17119 : }
17120 0 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
17121 : {
17122 0 : {
17123 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
17124 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, GT_EXPR, NE_EXPR);
17125 0 : if (res) return res;
17126 : }
17127 : }
17128 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
17129 : {
17130 0 : {
17131 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
17132 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, LT_EXPR, NE_EXPR);
17133 0 : if (res) return res;
17134 : }
17135 : }
17136 : break;
17137 : }
17138 0 : case LE_EXPR:
17139 0 : {
17140 0 : tree _q50 = TREE_OPERAND (_p1, 0);
17141 0 : tree _q51 = TREE_OPERAND (_p1, 1);
17142 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
17143 : {
17144 0 : {
17145 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
17146 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
17147 0 : if (res) return res;
17148 : }
17149 : }
17150 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
17151 : {
17152 0 : {
17153 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
17154 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
17155 0 : if (res) return res;
17156 : }
17157 : }
17158 0 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
17159 : {
17160 0 : {
17161 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
17162 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
17163 0 : if (res) return res;
17164 : }
17165 : }
17166 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
17167 : {
17168 0 : {
17169 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
17170 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
17171 0 : if (res) return res;
17172 : }
17173 : }
17174 : break;
17175 : }
17176 1 : case GE_EXPR:
17177 1 : {
17178 1 : tree _q50 = TREE_OPERAND (_p1, 0);
17179 1 : tree _q51 = TREE_OPERAND (_p1, 1);
17180 1 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
17181 : {
17182 0 : {
17183 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
17184 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
17185 0 : if (res) return res;
17186 : }
17187 : }
17188 1 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
17189 : {
17190 0 : {
17191 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
17192 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
17193 0 : if (res) return res;
17194 : }
17195 : }
17196 1 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
17197 : {
17198 0 : {
17199 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
17200 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
17201 0 : if (res) return res;
17202 : }
17203 : }
17204 1 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
17205 : {
17206 0 : {
17207 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
17208 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
17209 0 : if (res) return res;
17210 : }
17211 : }
17212 : break;
17213 : }
17214 267 : default:;
17215 : }
17216 267 : switch (TREE_CODE (_q20))
17217 : {
17218 33 : case BIT_AND_EXPR:
17219 33 : {
17220 33 : tree _q30 = TREE_OPERAND (_q20, 0);
17221 33 : tree _q31 = TREE_OPERAND (_q20, 1);
17222 33 : switch (TREE_CODE (_q30))
17223 : {
17224 0 : case BIT_XOR_EXPR:
17225 0 : {
17226 0 : tree _q40 = TREE_OPERAND (_q30, 0);
17227 0 : tree _q41 = TREE_OPERAND (_q30, 1);
17228 0 : if (tree_expr_nonzero_p (_q31))
17229 : {
17230 0 : switch (TREE_CODE (_p1))
17231 : {
17232 0 : case NE_EXPR:
17233 0 : {
17234 0 : tree _q90 = TREE_OPERAND (_p1, 0);
17235 0 : tree _q91 = TREE_OPERAND (_p1, 1);
17236 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
17237 : {
17238 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
17239 : {
17240 0 : {
17241 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _q21, _p1 };
17242 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, NE_EXPR);
17243 0 : if (res) return res;
17244 : }
17245 : }
17246 : }
17247 0 : if ((_q90 == _q41 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q41, 0) && types_match (_q90, _q41)))
17248 : {
17249 0 : if ((_q91 == _q40 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q40, 0) && types_match (_q91, _q40)))
17250 : {
17251 0 : {
17252 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q41, _q40, _q31, _q21, _p1 };
17253 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, NE_EXPR);
17254 0 : if (res) return res;
17255 : }
17256 : }
17257 : }
17258 : break;
17259 : }
17260 : default:;
17261 : }
17262 : }
17263 : break;
17264 : }
17265 33 : default:;
17266 : }
17267 33 : if (tree_expr_nonzero_p (_q30))
17268 : {
17269 0 : switch (TREE_CODE (_q31))
17270 : {
17271 0 : case BIT_XOR_EXPR:
17272 0 : {
17273 0 : tree _q50 = TREE_OPERAND (_q31, 0);
17274 0 : tree _q51 = TREE_OPERAND (_q31, 1);
17275 0 : switch (TREE_CODE (_p1))
17276 : {
17277 0 : case NE_EXPR:
17278 0 : {
17279 0 : tree _q90 = TREE_OPERAND (_p1, 0);
17280 0 : tree _q91 = TREE_OPERAND (_p1, 1);
17281 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
17282 : {
17283 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
17284 : {
17285 0 : {
17286 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q30, _q21, _p1 };
17287 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, NE_EXPR);
17288 0 : if (res) return res;
17289 : }
17290 : }
17291 : }
17292 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
17293 : {
17294 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
17295 : {
17296 0 : {
17297 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q30, _q21, _p1 };
17298 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, NE_EXPR);
17299 0 : if (res) return res;
17300 : }
17301 : }
17302 : }
17303 : break;
17304 : }
17305 : default:;
17306 : }
17307 : break;
17308 : }
17309 : default:;
17310 : }
17311 : }
17312 : break;
17313 : }
17314 267 : default:;
17315 : }
17316 267 : switch (TREE_CODE (_q21))
17317 : {
17318 0 : case BIT_AND_EXPR:
17319 0 : {
17320 0 : tree _q40 = TREE_OPERAND (_q21, 0);
17321 0 : tree _q41 = TREE_OPERAND (_q21, 1);
17322 0 : switch (TREE_CODE (_q40))
17323 : {
17324 0 : case BIT_XOR_EXPR:
17325 0 : {
17326 0 : tree _q50 = TREE_OPERAND (_q40, 0);
17327 0 : tree _q51 = TREE_OPERAND (_q40, 1);
17328 0 : if (tree_expr_nonzero_p (_q41))
17329 : {
17330 0 : switch (TREE_CODE (_p1))
17331 : {
17332 0 : case NE_EXPR:
17333 0 : {
17334 0 : tree _q90 = TREE_OPERAND (_p1, 0);
17335 0 : tree _q91 = TREE_OPERAND (_p1, 1);
17336 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
17337 : {
17338 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
17339 : {
17340 0 : {
17341 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q41, _q20, _p1 };
17342 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, NE_EXPR);
17343 0 : if (res) return res;
17344 : }
17345 : }
17346 : }
17347 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
17348 : {
17349 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
17350 : {
17351 0 : {
17352 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q41, _q20, _p1 };
17353 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, NE_EXPR);
17354 0 : if (res) return res;
17355 : }
17356 : }
17357 : }
17358 : break;
17359 : }
17360 : default:;
17361 : }
17362 : }
17363 : break;
17364 : }
17365 0 : default:;
17366 : }
17367 0 : if (tree_expr_nonzero_p (_q40))
17368 : {
17369 0 : switch (TREE_CODE (_q41))
17370 : {
17371 0 : case BIT_XOR_EXPR:
17372 0 : {
17373 0 : tree _q60 = TREE_OPERAND (_q41, 0);
17374 0 : tree _q61 = TREE_OPERAND (_q41, 1);
17375 0 : switch (TREE_CODE (_p1))
17376 : {
17377 0 : case NE_EXPR:
17378 0 : {
17379 0 : tree _q90 = TREE_OPERAND (_p1, 0);
17380 0 : tree _q91 = TREE_OPERAND (_p1, 1);
17381 0 : if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
17382 : {
17383 0 : if ((_q91 == _q61 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q61, 0) && types_match (_q91, _q61)))
17384 : {
17385 0 : {
17386 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q60, _q61, _q40, _q20, _p1 };
17387 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, NE_EXPR);
17388 0 : if (res) return res;
17389 : }
17390 : }
17391 : }
17392 0 : if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
17393 : {
17394 0 : if ((_q91 == _q60 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q60, 0) && types_match (_q91, _q60)))
17395 : {
17396 0 : {
17397 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q61, _q60, _q40, _q20, _p1 };
17398 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, NE_EXPR);
17399 0 : if (res) return res;
17400 : }
17401 : }
17402 : }
17403 : break;
17404 : }
17405 : default:;
17406 : }
17407 : break;
17408 : }
17409 : default:;
17410 : }
17411 : }
17412 : break;
17413 : }
17414 267 : default:;
17415 : }
17416 267 : switch (TREE_CODE (_q20))
17417 : {
17418 0 : case BIT_XOR_EXPR:
17419 0 : {
17420 0 : tree _q30 = TREE_OPERAND (_q20, 0);
17421 0 : tree _q31 = TREE_OPERAND (_q20, 1);
17422 0 : switch (TREE_CODE (_p1))
17423 : {
17424 0 : case NE_EXPR:
17425 0 : {
17426 0 : tree _q70 = TREE_OPERAND (_p1, 0);
17427 0 : tree _q71 = TREE_OPERAND (_p1, 1);
17428 0 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
17429 : {
17430 0 : if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
17431 : {
17432 0 : {
17433 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
17434 0 : tree res = generic_simplify_162 (loc, type, _p0, _p1, captures, NE_EXPR);
17435 0 : if (res) return res;
17436 : }
17437 : }
17438 : }
17439 0 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
17440 : {
17441 0 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
17442 : {
17443 0 : {
17444 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q21, _p1 };
17445 0 : tree res = generic_simplify_162 (loc, type, _p0, _p1, captures, NE_EXPR);
17446 0 : if (res) return res;
17447 : }
17448 : }
17449 : }
17450 : break;
17451 : }
17452 : default:;
17453 : }
17454 : break;
17455 : }
17456 267 : default:;
17457 : }
17458 267 : switch (TREE_CODE (_q21))
17459 : {
17460 0 : case BIT_XOR_EXPR:
17461 0 : {
17462 0 : tree _q40 = TREE_OPERAND (_q21, 0);
17463 0 : tree _q41 = TREE_OPERAND (_q21, 1);
17464 0 : switch (TREE_CODE (_p1))
17465 : {
17466 0 : case NE_EXPR:
17467 0 : {
17468 0 : tree _q70 = TREE_OPERAND (_p1, 0);
17469 0 : tree _q71 = TREE_OPERAND (_p1, 1);
17470 0 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
17471 : {
17472 0 : if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
17473 : {
17474 0 : {
17475 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q20, _p1 };
17476 0 : tree res = generic_simplify_162 (loc, type, _p0, _p1, captures, NE_EXPR);
17477 0 : if (res) return res;
17478 : }
17479 : }
17480 : }
17481 0 : if ((_q70 == _q41 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q41, 0) && types_match (_q70, _q41)))
17482 : {
17483 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
17484 : {
17485 0 : {
17486 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q41, _q40, _q20, _p1 };
17487 0 : tree res = generic_simplify_162 (loc, type, _p0, _p1, captures, NE_EXPR);
17488 0 : if (res) return res;
17489 : }
17490 : }
17491 : }
17492 : break;
17493 : }
17494 : default:;
17495 : }
17496 : break;
17497 : }
17498 : default:;
17499 : }
17500 : break;
17501 : }
17502 157 : case LE_EXPR:
17503 157 : {
17504 157 : tree _q20 = TREE_OPERAND (_p0, 0);
17505 157 : tree _q21 = TREE_OPERAND (_p0, 1);
17506 157 : switch (TREE_CODE (_p1))
17507 : {
17508 11 : case NE_EXPR:
17509 11 : {
17510 11 : tree _q50 = TREE_OPERAND (_p1, 0);
17511 11 : tree _q51 = TREE_OPERAND (_p1, 1);
17512 11 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
17513 : {
17514 11 : if (tree_min_value (_q51))
17515 : {
17516 4 : {
17517 4 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
17518 4 : tree res = generic_simplify_169 (loc, type, _p0, _p1, captures);
17519 4 : if (res) return res;
17520 : }
17521 : }
17522 : }
17523 7 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
17524 : {
17525 0 : if (tree_max_value (_q51))
17526 : {
17527 0 : {
17528 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
17529 0 : tree res = generic_simplify_170 (loc, type, _p0, _p1, captures, NE_EXPR);
17530 0 : if (res) return res;
17531 : }
17532 : }
17533 : }
17534 : break;
17535 : }
17536 31 : case EQ_EXPR:
17537 31 : {
17538 31 : tree _q50 = TREE_OPERAND (_p1, 0);
17539 31 : tree _q51 = TREE_OPERAND (_p1, 1);
17540 31 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
17541 : {
17542 11 : if (tree_min_value (_q51))
17543 : {
17544 4 : {
17545 4 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
17546 4 : tree res = generic_simplify_171 (loc, type, _p0, _p1, captures);
17547 4 : if (res) return res;
17548 : }
17549 : }
17550 : }
17551 27 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
17552 : {
17553 0 : if (tree_max_value (_q51))
17554 : {
17555 0 : {
17556 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
17557 0 : tree res = generic_simplify_170 (loc, type, _p0, _p1, captures, EQ_EXPR);
17558 0 : if (res) return res;
17559 : }
17560 : }
17561 : }
17562 : break;
17563 : }
17564 149 : default:;
17565 : }
17566 149 : switch (TREE_CODE (_q20))
17567 : {
17568 0 : CASE_CONVERT:
17569 0 : {
17570 0 : tree _q30 = TREE_OPERAND (_q20, 0);
17571 0 : switch (TREE_CODE (_p1))
17572 : {
17573 0 : case EQ_EXPR:
17574 0 : {
17575 0 : tree _q60 = TREE_OPERAND (_p1, 0);
17576 0 : tree _q61 = TREE_OPERAND (_p1, 1);
17577 0 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
17578 : {
17579 0 : {
17580 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
17581 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
17582 0 : if (res) return res;
17583 : }
17584 : }
17585 0 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
17586 : {
17587 0 : {
17588 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
17589 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
17590 0 : if (res) return res;
17591 : }
17592 : }
17593 : break;
17594 : }
17595 0 : case NE_EXPR:
17596 0 : {
17597 0 : tree _q60 = TREE_OPERAND (_p1, 0);
17598 0 : tree _q61 = TREE_OPERAND (_p1, 1);
17599 0 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
17600 : {
17601 0 : {
17602 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
17603 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
17604 0 : if (res) return res;
17605 : }
17606 : }
17607 0 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
17608 : {
17609 0 : {
17610 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
17611 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
17612 0 : if (res) return res;
17613 : }
17614 : }
17615 : break;
17616 : }
17617 : default:;
17618 : }
17619 : break;
17620 : }
17621 149 : default:;
17622 : }
17623 149 : switch (TREE_CODE (_q21))
17624 : {
17625 0 : CASE_CONVERT:
17626 0 : {
17627 0 : tree _q40 = TREE_OPERAND (_q21, 0);
17628 0 : switch (TREE_CODE (_p1))
17629 : {
17630 0 : case EQ_EXPR:
17631 0 : {
17632 0 : tree _q60 = TREE_OPERAND (_p1, 0);
17633 0 : tree _q61 = TREE_OPERAND (_p1, 1);
17634 0 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
17635 : {
17636 0 : {
17637 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
17638 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
17639 0 : if (res) return res;
17640 : }
17641 : }
17642 0 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
17643 : {
17644 0 : {
17645 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
17646 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
17647 0 : if (res) return res;
17648 : }
17649 : }
17650 : break;
17651 : }
17652 0 : case NE_EXPR:
17653 0 : {
17654 0 : tree _q60 = TREE_OPERAND (_p1, 0);
17655 0 : tree _q61 = TREE_OPERAND (_p1, 1);
17656 0 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
17657 : {
17658 0 : {
17659 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
17660 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
17661 0 : if (res) return res;
17662 : }
17663 : }
17664 0 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
17665 : {
17666 0 : {
17667 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
17668 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
17669 0 : if (res) return res;
17670 : }
17671 : }
17672 : break;
17673 : }
17674 : default:;
17675 : }
17676 : break;
17677 : }
17678 149 : default:;
17679 : }
17680 149 : switch (TREE_CODE (_p1))
17681 : {
17682 27 : case EQ_EXPR:
17683 27 : {
17684 27 : tree _q50 = TREE_OPERAND (_p1, 0);
17685 27 : tree _q51 = TREE_OPERAND (_p1, 1);
17686 27 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
17687 : {
17688 7 : {
17689 7 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
17690 7 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
17691 7 : if (res) return res;
17692 : }
17693 : }
17694 20 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
17695 : {
17696 0 : {
17697 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
17698 0 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
17699 0 : if (res) return res;
17700 : }
17701 : }
17702 20 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
17703 : {
17704 0 : {
17705 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
17706 0 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
17707 0 : if (res) return res;
17708 : }
17709 : }
17710 20 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
17711 : {
17712 0 : {
17713 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
17714 0 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
17715 0 : if (res) return res;
17716 : }
17717 : }
17718 : break;
17719 : }
17720 7 : case NE_EXPR:
17721 7 : {
17722 7 : tree _q50 = TREE_OPERAND (_p1, 0);
17723 7 : tree _q51 = TREE_OPERAND (_p1, 1);
17724 7 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
17725 : {
17726 7 : {
17727 7 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
17728 7 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
17729 7 : if (res) return res;
17730 : }
17731 : }
17732 0 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
17733 : {
17734 0 : {
17735 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
17736 0 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
17737 0 : if (res) return res;
17738 : }
17739 : }
17740 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
17741 : {
17742 0 : {
17743 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
17744 0 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
17745 0 : if (res) return res;
17746 : }
17747 : }
17748 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
17749 : {
17750 0 : {
17751 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
17752 0 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
17753 0 : if (res) return res;
17754 : }
17755 : }
17756 : break;
17757 : }
17758 0 : case LT_EXPR:
17759 0 : {
17760 0 : tree _q50 = TREE_OPERAND (_p1, 0);
17761 0 : tree _q51 = TREE_OPERAND (_p1, 1);
17762 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
17763 : {
17764 0 : {
17765 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
17766 0 : tree res = generic_simplify_160 (loc, type, _p0, _p1, captures, LT_EXPR, LE_EXPR);
17767 0 : if (res) return res;
17768 : }
17769 : }
17770 : break;
17771 : }
17772 2 : case LE_EXPR:
17773 2 : {
17774 2 : tree _q50 = TREE_OPERAND (_p1, 0);
17775 2 : tree _q51 = TREE_OPERAND (_p1, 1);
17776 2 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
17777 : {
17778 0 : {
17779 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
17780 0 : tree res = generic_simplify_160 (loc, type, _p0, _p1, captures, LE_EXPR, LE_EXPR);
17781 0 : if (res) return res;
17782 : }
17783 : }
17784 : break;
17785 : }
17786 0 : case GT_EXPR:
17787 0 : {
17788 0 : tree _q50 = TREE_OPERAND (_p1, 0);
17789 0 : tree _q51 = TREE_OPERAND (_p1, 1);
17790 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
17791 : {
17792 0 : {
17793 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
17794 0 : tree res = generic_simplify_160 (loc, type, _p0, _p1, captures, GT_EXPR, LE_EXPR);
17795 0 : if (res) return res;
17796 : }
17797 : }
17798 : break;
17799 : }
17800 1 : case GE_EXPR:
17801 1 : {
17802 1 : tree _q50 = TREE_OPERAND (_p1, 0);
17803 1 : tree _q51 = TREE_OPERAND (_p1, 1);
17804 1 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
17805 : {
17806 0 : {
17807 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
17808 0 : tree res = generic_simplify_160 (loc, type, _p0, _p1, captures, GE_EXPR, LE_EXPR);
17809 0 : if (res) return res;
17810 : }
17811 : }
17812 : break;
17813 : }
17814 135 : default:;
17815 : }
17816 135 : switch (TREE_CODE (_q20))
17817 : {
17818 0 : case BIT_AND_EXPR:
17819 0 : {
17820 0 : tree _q30 = TREE_OPERAND (_q20, 0);
17821 0 : tree _q31 = TREE_OPERAND (_q20, 1);
17822 0 : switch (TREE_CODE (_q30))
17823 : {
17824 0 : case BIT_XOR_EXPR:
17825 0 : {
17826 0 : tree _q40 = TREE_OPERAND (_q30, 0);
17827 0 : tree _q41 = TREE_OPERAND (_q30, 1);
17828 0 : if (tree_expr_nonzero_p (_q31))
17829 : {
17830 0 : switch (TREE_CODE (_p1))
17831 : {
17832 0 : case NE_EXPR:
17833 0 : {
17834 0 : tree _q90 = TREE_OPERAND (_p1, 0);
17835 0 : tree _q91 = TREE_OPERAND (_p1, 1);
17836 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
17837 : {
17838 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
17839 : {
17840 0 : {
17841 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _q21, _p1 };
17842 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, LE_EXPR);
17843 0 : if (res) return res;
17844 : }
17845 : }
17846 : }
17847 0 : if ((_q90 == _q41 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q41, 0) && types_match (_q90, _q41)))
17848 : {
17849 0 : if ((_q91 == _q40 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q40, 0) && types_match (_q91, _q40)))
17850 : {
17851 0 : {
17852 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q41, _q40, _q31, _q21, _p1 };
17853 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, LE_EXPR);
17854 0 : if (res) return res;
17855 : }
17856 : }
17857 : }
17858 : break;
17859 : }
17860 : default:;
17861 : }
17862 : }
17863 : break;
17864 : }
17865 0 : default:;
17866 : }
17867 0 : if (tree_expr_nonzero_p (_q30))
17868 : {
17869 0 : switch (TREE_CODE (_q31))
17870 : {
17871 0 : case BIT_XOR_EXPR:
17872 0 : {
17873 0 : tree _q50 = TREE_OPERAND (_q31, 0);
17874 0 : tree _q51 = TREE_OPERAND (_q31, 1);
17875 0 : switch (TREE_CODE (_p1))
17876 : {
17877 0 : case NE_EXPR:
17878 0 : {
17879 0 : tree _q90 = TREE_OPERAND (_p1, 0);
17880 0 : tree _q91 = TREE_OPERAND (_p1, 1);
17881 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
17882 : {
17883 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
17884 : {
17885 0 : {
17886 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q30, _q21, _p1 };
17887 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, LE_EXPR);
17888 0 : if (res) return res;
17889 : }
17890 : }
17891 : }
17892 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
17893 : {
17894 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
17895 : {
17896 0 : {
17897 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q30, _q21, _p1 };
17898 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, LE_EXPR);
17899 0 : if (res) return res;
17900 : }
17901 : }
17902 : }
17903 : break;
17904 : }
17905 : default:;
17906 : }
17907 : break;
17908 : }
17909 : default:;
17910 : }
17911 : }
17912 : break;
17913 : }
17914 135 : default:;
17915 : }
17916 135 : switch (TREE_CODE (_q21))
17917 : {
17918 0 : case BIT_AND_EXPR:
17919 0 : {
17920 0 : tree _q40 = TREE_OPERAND (_q21, 0);
17921 0 : tree _q41 = TREE_OPERAND (_q21, 1);
17922 0 : switch (TREE_CODE (_q40))
17923 : {
17924 0 : case BIT_XOR_EXPR:
17925 0 : {
17926 0 : tree _q50 = TREE_OPERAND (_q40, 0);
17927 0 : tree _q51 = TREE_OPERAND (_q40, 1);
17928 0 : if (tree_expr_nonzero_p (_q41))
17929 : {
17930 0 : switch (TREE_CODE (_p1))
17931 : {
17932 0 : case NE_EXPR:
17933 0 : {
17934 0 : tree _q90 = TREE_OPERAND (_p1, 0);
17935 0 : tree _q91 = TREE_OPERAND (_p1, 1);
17936 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
17937 : {
17938 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
17939 : {
17940 0 : {
17941 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q41, _q20, _p1 };
17942 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, GE_EXPR);
17943 0 : if (res) return res;
17944 : }
17945 : }
17946 : }
17947 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
17948 : {
17949 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
17950 : {
17951 0 : {
17952 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q41, _q20, _p1 };
17953 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, GE_EXPR);
17954 0 : if (res) return res;
17955 : }
17956 : }
17957 : }
17958 : break;
17959 : }
17960 : default:;
17961 : }
17962 : }
17963 : break;
17964 : }
17965 0 : default:;
17966 : }
17967 0 : if (tree_expr_nonzero_p (_q40))
17968 : {
17969 0 : switch (TREE_CODE (_q41))
17970 : {
17971 0 : case BIT_XOR_EXPR:
17972 0 : {
17973 0 : tree _q60 = TREE_OPERAND (_q41, 0);
17974 0 : tree _q61 = TREE_OPERAND (_q41, 1);
17975 0 : switch (TREE_CODE (_p1))
17976 : {
17977 0 : case NE_EXPR:
17978 0 : {
17979 0 : tree _q90 = TREE_OPERAND (_p1, 0);
17980 0 : tree _q91 = TREE_OPERAND (_p1, 1);
17981 0 : if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
17982 : {
17983 0 : if ((_q91 == _q61 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q61, 0) && types_match (_q91, _q61)))
17984 : {
17985 0 : {
17986 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q60, _q61, _q40, _q20, _p1 };
17987 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, GE_EXPR);
17988 0 : if (res) return res;
17989 : }
17990 : }
17991 : }
17992 0 : if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
17993 : {
17994 0 : if ((_q91 == _q60 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q60, 0) && types_match (_q91, _q60)))
17995 : {
17996 0 : {
17997 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q61, _q60, _q40, _q20, _p1 };
17998 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, GE_EXPR);
17999 0 : if (res) return res;
18000 : }
18001 : }
18002 : }
18003 : break;
18004 : }
18005 : default:;
18006 : }
18007 : break;
18008 : }
18009 : default:;
18010 : }
18011 : }
18012 : break;
18013 : }
18014 135 : default:;
18015 : }
18016 135 : switch (TREE_CODE (_q20))
18017 : {
18018 0 : case BIT_XOR_EXPR:
18019 0 : {
18020 0 : tree _q30 = TREE_OPERAND (_q20, 0);
18021 0 : tree _q31 = TREE_OPERAND (_q20, 1);
18022 0 : switch (TREE_CODE (_p1))
18023 : {
18024 0 : case NE_EXPR:
18025 0 : {
18026 0 : tree _q70 = TREE_OPERAND (_p1, 0);
18027 0 : tree _q71 = TREE_OPERAND (_p1, 1);
18028 0 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
18029 : {
18030 0 : if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
18031 : {
18032 0 : {
18033 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
18034 0 : tree res = generic_simplify_162 (loc, type, _p0, _p1, captures, LE_EXPR);
18035 0 : if (res) return res;
18036 : }
18037 : }
18038 : }
18039 0 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
18040 : {
18041 0 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
18042 : {
18043 0 : {
18044 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q21, _p1 };
18045 0 : tree res = generic_simplify_162 (loc, type, _p0, _p1, captures, LE_EXPR);
18046 0 : if (res) return res;
18047 : }
18048 : }
18049 : }
18050 : break;
18051 : }
18052 : default:;
18053 : }
18054 : break;
18055 : }
18056 135 : default:;
18057 : }
18058 135 : switch (TREE_CODE (_q21))
18059 : {
18060 0 : case BIT_XOR_EXPR:
18061 0 : {
18062 0 : tree _q40 = TREE_OPERAND (_q21, 0);
18063 0 : tree _q41 = TREE_OPERAND (_q21, 1);
18064 0 : switch (TREE_CODE (_p1))
18065 : {
18066 0 : case NE_EXPR:
18067 0 : {
18068 0 : tree _q70 = TREE_OPERAND (_p1, 0);
18069 0 : tree _q71 = TREE_OPERAND (_p1, 1);
18070 0 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
18071 : {
18072 0 : if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
18073 : {
18074 0 : {
18075 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q20, _p1 };
18076 0 : tree res = generic_simplify_162 (loc, type, _p0, _p1, captures, GE_EXPR);
18077 0 : if (res) return res;
18078 : }
18079 : }
18080 : }
18081 0 : if ((_q70 == _q41 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q41, 0) && types_match (_q70, _q41)))
18082 : {
18083 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
18084 : {
18085 0 : {
18086 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q41, _q40, _q20, _p1 };
18087 0 : tree res = generic_simplify_162 (loc, type, _p0, _p1, captures, GE_EXPR);
18088 0 : if (res) return res;
18089 : }
18090 : }
18091 : }
18092 : break;
18093 : }
18094 : default:;
18095 : }
18096 : break;
18097 : }
18098 : default:;
18099 : }
18100 : break;
18101 : }
18102 46 : case GE_EXPR:
18103 46 : {
18104 46 : tree _q20 = TREE_OPERAND (_p0, 0);
18105 46 : tree _q21 = TREE_OPERAND (_p0, 1);
18106 46 : switch (TREE_CODE (_p1))
18107 : {
18108 4 : case NE_EXPR:
18109 4 : {
18110 4 : tree _q50 = TREE_OPERAND (_p1, 0);
18111 4 : tree _q51 = TREE_OPERAND (_p1, 1);
18112 4 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
18113 : {
18114 0 : if (tree_min_value (_q51))
18115 : {
18116 0 : {
18117 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
18118 0 : tree res = generic_simplify_169 (loc, type, _p0, _p1, captures);
18119 0 : if (res) return res;
18120 : }
18121 : }
18122 : }
18123 4 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
18124 : {
18125 4 : if (tree_max_value (_q51))
18126 : {
18127 4 : {
18128 4 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
18129 4 : tree res = generic_simplify_170 (loc, type, _p0, _p1, captures, NE_EXPR);
18130 4 : if (res) return res;
18131 : }
18132 : }
18133 : }
18134 : break;
18135 : }
18136 8 : case EQ_EXPR:
18137 8 : {
18138 8 : tree _q50 = TREE_OPERAND (_p1, 0);
18139 8 : tree _q51 = TREE_OPERAND (_p1, 1);
18140 8 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
18141 : {
18142 0 : if (tree_min_value (_q51))
18143 : {
18144 0 : {
18145 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q21, _q20 };
18146 0 : tree res = generic_simplify_171 (loc, type, _p0, _p1, captures);
18147 0 : if (res) return res;
18148 : }
18149 : }
18150 : }
18151 8 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
18152 : {
18153 4 : if (tree_max_value (_q51))
18154 : {
18155 4 : {
18156 4 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
18157 4 : tree res = generic_simplify_170 (loc, type, _p0, _p1, captures, EQ_EXPR);
18158 4 : if (res) return res;
18159 : }
18160 : }
18161 : }
18162 : break;
18163 : }
18164 38 : default:;
18165 : }
18166 38 : switch (TREE_CODE (_q20))
18167 : {
18168 8 : CASE_CONVERT:
18169 8 : {
18170 8 : tree _q30 = TREE_OPERAND (_q20, 0);
18171 8 : switch (TREE_CODE (_p1))
18172 : {
18173 0 : case EQ_EXPR:
18174 0 : {
18175 0 : tree _q60 = TREE_OPERAND (_p1, 0);
18176 0 : tree _q61 = TREE_OPERAND (_p1, 1);
18177 0 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
18178 : {
18179 0 : {
18180 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
18181 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
18182 0 : if (res) return res;
18183 : }
18184 : }
18185 0 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
18186 : {
18187 0 : {
18188 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
18189 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
18190 0 : if (res) return res;
18191 : }
18192 : }
18193 : break;
18194 : }
18195 0 : case NE_EXPR:
18196 0 : {
18197 0 : tree _q60 = TREE_OPERAND (_p1, 0);
18198 0 : tree _q61 = TREE_OPERAND (_p1, 1);
18199 0 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
18200 : {
18201 0 : {
18202 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
18203 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
18204 0 : if (res) return res;
18205 : }
18206 : }
18207 0 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
18208 : {
18209 0 : {
18210 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
18211 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
18212 0 : if (res) return res;
18213 : }
18214 : }
18215 : break;
18216 : }
18217 : default:;
18218 : }
18219 : break;
18220 : }
18221 38 : default:;
18222 : }
18223 38 : switch (TREE_CODE (_q21))
18224 : {
18225 0 : CASE_CONVERT:
18226 0 : {
18227 0 : tree _q40 = TREE_OPERAND (_q21, 0);
18228 0 : switch (TREE_CODE (_p1))
18229 : {
18230 0 : case EQ_EXPR:
18231 0 : {
18232 0 : tree _q60 = TREE_OPERAND (_p1, 0);
18233 0 : tree _q61 = TREE_OPERAND (_p1, 1);
18234 0 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
18235 : {
18236 0 : {
18237 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
18238 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
18239 0 : if (res) return res;
18240 : }
18241 : }
18242 0 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
18243 : {
18244 0 : {
18245 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
18246 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
18247 0 : if (res) return res;
18248 : }
18249 : }
18250 : break;
18251 : }
18252 0 : case NE_EXPR:
18253 0 : {
18254 0 : tree _q60 = TREE_OPERAND (_p1, 0);
18255 0 : tree _q61 = TREE_OPERAND (_p1, 1);
18256 0 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
18257 : {
18258 0 : {
18259 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
18260 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
18261 0 : if (res) return res;
18262 : }
18263 : }
18264 0 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
18265 : {
18266 0 : {
18267 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
18268 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
18269 0 : if (res) return res;
18270 : }
18271 : }
18272 : break;
18273 : }
18274 : default:;
18275 : }
18276 : break;
18277 : }
18278 38 : default:;
18279 : }
18280 38 : switch (TREE_CODE (_p1))
18281 : {
18282 4 : case EQ_EXPR:
18283 4 : {
18284 4 : tree _q50 = TREE_OPERAND (_p1, 0);
18285 4 : tree _q51 = TREE_OPERAND (_p1, 1);
18286 4 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
18287 : {
18288 0 : {
18289 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
18290 0 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
18291 0 : if (res) return res;
18292 : }
18293 : }
18294 4 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
18295 : {
18296 0 : {
18297 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
18298 0 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
18299 0 : if (res) return res;
18300 : }
18301 : }
18302 4 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
18303 : {
18304 0 : {
18305 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
18306 0 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
18307 0 : if (res) return res;
18308 : }
18309 : }
18310 4 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
18311 : {
18312 0 : {
18313 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
18314 0 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
18315 0 : if (res) return res;
18316 : }
18317 : }
18318 : break;
18319 : }
18320 0 : case NE_EXPR:
18321 0 : {
18322 0 : tree _q50 = TREE_OPERAND (_p1, 0);
18323 0 : tree _q51 = TREE_OPERAND (_p1, 1);
18324 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
18325 : {
18326 0 : {
18327 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
18328 0 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
18329 0 : if (res) return res;
18330 : }
18331 : }
18332 0 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
18333 : {
18334 0 : {
18335 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
18336 0 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
18337 0 : if (res) return res;
18338 : }
18339 : }
18340 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
18341 : {
18342 0 : {
18343 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
18344 0 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, GE_EXPR, NE_EXPR);
18345 0 : if (res) return res;
18346 : }
18347 : }
18348 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
18349 : {
18350 0 : {
18351 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
18352 0 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, LE_EXPR, NE_EXPR);
18353 0 : if (res) return res;
18354 : }
18355 : }
18356 : break;
18357 : }
18358 0 : case LT_EXPR:
18359 0 : {
18360 0 : tree _q50 = TREE_OPERAND (_p1, 0);
18361 0 : tree _q51 = TREE_OPERAND (_p1, 1);
18362 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
18363 : {
18364 0 : {
18365 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
18366 0 : tree res = generic_simplify_160 (loc, type, _p0, _p1, captures, LT_EXPR, GE_EXPR);
18367 0 : if (res) return res;
18368 : }
18369 : }
18370 : break;
18371 : }
18372 0 : case LE_EXPR:
18373 0 : {
18374 0 : tree _q50 = TREE_OPERAND (_p1, 0);
18375 0 : tree _q51 = TREE_OPERAND (_p1, 1);
18376 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
18377 : {
18378 0 : {
18379 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
18380 0 : tree res = generic_simplify_160 (loc, type, _p0, _p1, captures, LE_EXPR, GE_EXPR);
18381 0 : if (res) return res;
18382 : }
18383 : }
18384 : break;
18385 : }
18386 0 : case GT_EXPR:
18387 0 : {
18388 0 : tree _q50 = TREE_OPERAND (_p1, 0);
18389 0 : tree _q51 = TREE_OPERAND (_p1, 1);
18390 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
18391 : {
18392 0 : {
18393 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
18394 0 : tree res = generic_simplify_160 (loc, type, _p0, _p1, captures, GT_EXPR, GE_EXPR);
18395 0 : if (res) return res;
18396 : }
18397 : }
18398 : break;
18399 : }
18400 0 : case GE_EXPR:
18401 0 : {
18402 0 : tree _q50 = TREE_OPERAND (_p1, 0);
18403 0 : tree _q51 = TREE_OPERAND (_p1, 1);
18404 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
18405 : {
18406 0 : {
18407 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
18408 0 : tree res = generic_simplify_160 (loc, type, _p0, _p1, captures, GE_EXPR, GE_EXPR);
18409 0 : if (res) return res;
18410 : }
18411 : }
18412 : break;
18413 : }
18414 38 : default:;
18415 : }
18416 38 : switch (TREE_CODE (_q20))
18417 : {
18418 0 : case BIT_AND_EXPR:
18419 0 : {
18420 0 : tree _q30 = TREE_OPERAND (_q20, 0);
18421 0 : tree _q31 = TREE_OPERAND (_q20, 1);
18422 0 : switch (TREE_CODE (_q30))
18423 : {
18424 0 : case BIT_XOR_EXPR:
18425 0 : {
18426 0 : tree _q40 = TREE_OPERAND (_q30, 0);
18427 0 : tree _q41 = TREE_OPERAND (_q30, 1);
18428 0 : if (tree_expr_nonzero_p (_q31))
18429 : {
18430 0 : switch (TREE_CODE (_p1))
18431 : {
18432 0 : case NE_EXPR:
18433 0 : {
18434 0 : tree _q90 = TREE_OPERAND (_p1, 0);
18435 0 : tree _q91 = TREE_OPERAND (_p1, 1);
18436 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
18437 : {
18438 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
18439 : {
18440 0 : {
18441 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _q21, _p1 };
18442 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, GE_EXPR);
18443 0 : if (res) return res;
18444 : }
18445 : }
18446 : }
18447 0 : if ((_q90 == _q41 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q41, 0) && types_match (_q90, _q41)))
18448 : {
18449 0 : if ((_q91 == _q40 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q40, 0) && types_match (_q91, _q40)))
18450 : {
18451 0 : {
18452 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q41, _q40, _q31, _q21, _p1 };
18453 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, GE_EXPR);
18454 0 : if (res) return res;
18455 : }
18456 : }
18457 : }
18458 : break;
18459 : }
18460 : default:;
18461 : }
18462 : }
18463 : break;
18464 : }
18465 0 : default:;
18466 : }
18467 0 : if (tree_expr_nonzero_p (_q30))
18468 : {
18469 0 : switch (TREE_CODE (_q31))
18470 : {
18471 0 : case BIT_XOR_EXPR:
18472 0 : {
18473 0 : tree _q50 = TREE_OPERAND (_q31, 0);
18474 0 : tree _q51 = TREE_OPERAND (_q31, 1);
18475 0 : switch (TREE_CODE (_p1))
18476 : {
18477 0 : case NE_EXPR:
18478 0 : {
18479 0 : tree _q90 = TREE_OPERAND (_p1, 0);
18480 0 : tree _q91 = TREE_OPERAND (_p1, 1);
18481 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
18482 : {
18483 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
18484 : {
18485 0 : {
18486 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q30, _q21, _p1 };
18487 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, GE_EXPR);
18488 0 : if (res) return res;
18489 : }
18490 : }
18491 : }
18492 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
18493 : {
18494 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
18495 : {
18496 0 : {
18497 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q30, _q21, _p1 };
18498 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, GE_EXPR);
18499 0 : if (res) return res;
18500 : }
18501 : }
18502 : }
18503 : break;
18504 : }
18505 : default:;
18506 : }
18507 : break;
18508 : }
18509 : default:;
18510 : }
18511 : }
18512 : break;
18513 : }
18514 38 : default:;
18515 : }
18516 38 : switch (TREE_CODE (_q21))
18517 : {
18518 0 : case BIT_AND_EXPR:
18519 0 : {
18520 0 : tree _q40 = TREE_OPERAND (_q21, 0);
18521 0 : tree _q41 = TREE_OPERAND (_q21, 1);
18522 0 : switch (TREE_CODE (_q40))
18523 : {
18524 0 : case BIT_XOR_EXPR:
18525 0 : {
18526 0 : tree _q50 = TREE_OPERAND (_q40, 0);
18527 0 : tree _q51 = TREE_OPERAND (_q40, 1);
18528 0 : if (tree_expr_nonzero_p (_q41))
18529 : {
18530 0 : switch (TREE_CODE (_p1))
18531 : {
18532 0 : case NE_EXPR:
18533 0 : {
18534 0 : tree _q90 = TREE_OPERAND (_p1, 0);
18535 0 : tree _q91 = TREE_OPERAND (_p1, 1);
18536 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
18537 : {
18538 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
18539 : {
18540 0 : {
18541 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q41, _q20, _p1 };
18542 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, LE_EXPR);
18543 0 : if (res) return res;
18544 : }
18545 : }
18546 : }
18547 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
18548 : {
18549 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
18550 : {
18551 0 : {
18552 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q41, _q20, _p1 };
18553 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, LE_EXPR);
18554 0 : if (res) return res;
18555 : }
18556 : }
18557 : }
18558 : break;
18559 : }
18560 : default:;
18561 : }
18562 : }
18563 : break;
18564 : }
18565 0 : default:;
18566 : }
18567 0 : if (tree_expr_nonzero_p (_q40))
18568 : {
18569 0 : switch (TREE_CODE (_q41))
18570 : {
18571 0 : case BIT_XOR_EXPR:
18572 0 : {
18573 0 : tree _q60 = TREE_OPERAND (_q41, 0);
18574 0 : tree _q61 = TREE_OPERAND (_q41, 1);
18575 0 : switch (TREE_CODE (_p1))
18576 : {
18577 0 : case NE_EXPR:
18578 0 : {
18579 0 : tree _q90 = TREE_OPERAND (_p1, 0);
18580 0 : tree _q91 = TREE_OPERAND (_p1, 1);
18581 0 : if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
18582 : {
18583 0 : if ((_q91 == _q61 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q61, 0) && types_match (_q91, _q61)))
18584 : {
18585 0 : {
18586 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q60, _q61, _q40, _q20, _p1 };
18587 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, LE_EXPR);
18588 0 : if (res) return res;
18589 : }
18590 : }
18591 : }
18592 0 : if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
18593 : {
18594 0 : if ((_q91 == _q60 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q60, 0) && types_match (_q91, _q60)))
18595 : {
18596 0 : {
18597 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q61, _q60, _q40, _q20, _p1 };
18598 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, LE_EXPR);
18599 0 : if (res) return res;
18600 : }
18601 : }
18602 : }
18603 : break;
18604 : }
18605 : default:;
18606 : }
18607 : break;
18608 : }
18609 : default:;
18610 : }
18611 : }
18612 : break;
18613 : }
18614 38 : default:;
18615 : }
18616 38 : switch (TREE_CODE (_q20))
18617 : {
18618 0 : case BIT_XOR_EXPR:
18619 0 : {
18620 0 : tree _q30 = TREE_OPERAND (_q20, 0);
18621 0 : tree _q31 = TREE_OPERAND (_q20, 1);
18622 0 : switch (TREE_CODE (_p1))
18623 : {
18624 0 : case NE_EXPR:
18625 0 : {
18626 0 : tree _q70 = TREE_OPERAND (_p1, 0);
18627 0 : tree _q71 = TREE_OPERAND (_p1, 1);
18628 0 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
18629 : {
18630 0 : if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
18631 : {
18632 0 : {
18633 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
18634 0 : tree res = generic_simplify_162 (loc, type, _p0, _p1, captures, GE_EXPR);
18635 0 : if (res) return res;
18636 : }
18637 : }
18638 : }
18639 0 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
18640 : {
18641 0 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
18642 : {
18643 0 : {
18644 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q21, _p1 };
18645 0 : tree res = generic_simplify_162 (loc, type, _p0, _p1, captures, GE_EXPR);
18646 0 : if (res) return res;
18647 : }
18648 : }
18649 : }
18650 : break;
18651 : }
18652 : default:;
18653 : }
18654 : break;
18655 : }
18656 38 : default:;
18657 : }
18658 38 : switch (TREE_CODE (_q21))
18659 : {
18660 0 : case BIT_XOR_EXPR:
18661 0 : {
18662 0 : tree _q40 = TREE_OPERAND (_q21, 0);
18663 0 : tree _q41 = TREE_OPERAND (_q21, 1);
18664 0 : switch (TREE_CODE (_p1))
18665 : {
18666 0 : case NE_EXPR:
18667 0 : {
18668 0 : tree _q70 = TREE_OPERAND (_p1, 0);
18669 0 : tree _q71 = TREE_OPERAND (_p1, 1);
18670 0 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
18671 : {
18672 0 : if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
18673 : {
18674 0 : {
18675 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q20, _p1 };
18676 0 : tree res = generic_simplify_162 (loc, type, _p0, _p1, captures, LE_EXPR);
18677 0 : if (res) return res;
18678 : }
18679 : }
18680 : }
18681 0 : if ((_q70 == _q41 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q41, 0) && types_match (_q70, _q41)))
18682 : {
18683 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
18684 : {
18685 0 : {
18686 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q41, _q40, _q20, _p1 };
18687 0 : tree res = generic_simplify_162 (loc, type, _p0, _p1, captures, LE_EXPR);
18688 0 : if (res) return res;
18689 : }
18690 : }
18691 : }
18692 : break;
18693 : }
18694 : default:;
18695 : }
18696 : break;
18697 : }
18698 : default:;
18699 : }
18700 : break;
18701 : }
18702 836 : case EQ_EXPR:
18703 836 : {
18704 836 : tree _q20 = TREE_OPERAND (_p0, 0);
18705 836 : tree _q21 = TREE_OPERAND (_p0, 1);
18706 836 : if (tree_min_value (_q21))
18707 : {
18708 4 : switch (TREE_CODE (_p1))
18709 : {
18710 0 : case LE_EXPR:
18711 0 : {
18712 0 : tree _q50 = TREE_OPERAND (_p1, 0);
18713 0 : tree _q51 = TREE_OPERAND (_p1, 1);
18714 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
18715 : {
18716 0 : {
18717 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
18718 0 : tree res = generic_simplify_171 (loc, type, _p0, _p1, captures);
18719 0 : if (res) return res;
18720 : }
18721 : }
18722 : break;
18723 : }
18724 0 : case GE_EXPR:
18725 0 : {
18726 0 : tree _q50 = TREE_OPERAND (_p1, 0);
18727 0 : tree _q51 = TREE_OPERAND (_p1, 1);
18728 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
18729 : {
18730 0 : {
18731 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
18732 0 : tree res = generic_simplify_171 (loc, type, _p0, _p1, captures);
18733 0 : if (res) return res;
18734 : }
18735 : }
18736 : break;
18737 : }
18738 2 : case LT_EXPR:
18739 2 : {
18740 2 : tree _q50 = TREE_OPERAND (_p1, 0);
18741 2 : tree _q51 = TREE_OPERAND (_p1, 1);
18742 2 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
18743 : {
18744 2 : {
18745 2 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q50 };
18746 2 : tree res = generic_simplify_172 (loc, type, _p0, _p1, captures);
18747 2 : if (res) return res;
18748 : }
18749 : }
18750 : break;
18751 : }
18752 0 : case GT_EXPR:
18753 0 : {
18754 0 : tree _q50 = TREE_OPERAND (_p1, 0);
18755 0 : tree _q51 = TREE_OPERAND (_p1, 1);
18756 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
18757 : {
18758 0 : {
18759 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _q20, _p1, _q51 };
18760 0 : tree res = generic_simplify_172 (loc, type, _p0, _p1, captures);
18761 0 : if (res) return res;
18762 : }
18763 : }
18764 : break;
18765 : }
18766 : default:;
18767 : }
18768 : }
18769 834 : if (tree_max_value (_q21))
18770 : {
18771 0 : switch (TREE_CODE (_p1))
18772 : {
18773 0 : case GE_EXPR:
18774 0 : {
18775 0 : tree _q50 = TREE_OPERAND (_p1, 0);
18776 0 : tree _q51 = TREE_OPERAND (_p1, 1);
18777 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
18778 : {
18779 0 : {
18780 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q51 };
18781 0 : tree res = generic_simplify_166 (loc, type, _p0, _p1, captures, EQ_EXPR);
18782 0 : if (res) return res;
18783 : }
18784 : }
18785 : break;
18786 : }
18787 0 : case LE_EXPR:
18788 0 : {
18789 0 : tree _q50 = TREE_OPERAND (_p1, 0);
18790 0 : tree _q51 = TREE_OPERAND (_p1, 1);
18791 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
18792 : {
18793 0 : {
18794 0 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _q20, _q50 };
18795 0 : tree res = generic_simplify_166 (loc, type, _p0, _p1, captures, EQ_EXPR);
18796 0 : if (res) return res;
18797 : }
18798 : }
18799 : break;
18800 : }
18801 : default:;
18802 : }
18803 : }
18804 834 : switch (TREE_CODE (_p1))
18805 : {
18806 395 : case EQ_EXPR:
18807 395 : {
18808 395 : tree _q50 = TREE_OPERAND (_p1, 0);
18809 395 : tree _q51 = TREE_OPERAND (_p1, 1);
18810 395 : switch (TREE_CODE (_q50))
18811 : {
18812 311 : CASE_CONVERT:
18813 311 : {
18814 311 : tree _q60 = TREE_OPERAND (_q50, 0);
18815 311 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
18816 : {
18817 0 : {
18818 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
18819 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
18820 0 : if (res) return res;
18821 : }
18822 : }
18823 311 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
18824 : {
18825 0 : {
18826 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
18827 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
18828 0 : if (res) return res;
18829 : }
18830 : }
18831 : break;
18832 : }
18833 395 : default:;
18834 : }
18835 395 : switch (TREE_CODE (_q51))
18836 : {
18837 0 : CASE_CONVERT:
18838 0 : {
18839 0 : tree _q70 = TREE_OPERAND (_q51, 0);
18840 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
18841 : {
18842 0 : {
18843 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
18844 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
18845 0 : if (res) return res;
18846 : }
18847 : }
18848 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
18849 : {
18850 0 : {
18851 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
18852 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
18853 0 : if (res) return res;
18854 : }
18855 : }
18856 : break;
18857 : }
18858 : default:;
18859 : }
18860 : break;
18861 : }
18862 20 : case NE_EXPR:
18863 20 : {
18864 20 : tree _q50 = TREE_OPERAND (_p1, 0);
18865 20 : tree _q51 = TREE_OPERAND (_p1, 1);
18866 20 : switch (TREE_CODE (_q50))
18867 : {
18868 0 : CASE_CONVERT:
18869 0 : {
18870 0 : tree _q60 = TREE_OPERAND (_q50, 0);
18871 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
18872 : {
18873 0 : {
18874 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
18875 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
18876 0 : if (res) return res;
18877 : }
18878 : }
18879 0 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
18880 : {
18881 0 : {
18882 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
18883 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
18884 0 : if (res) return res;
18885 : }
18886 : }
18887 : break;
18888 : }
18889 20 : default:;
18890 : }
18891 20 : switch (TREE_CODE (_q51))
18892 : {
18893 0 : CASE_CONVERT:
18894 0 : {
18895 0 : tree _q70 = TREE_OPERAND (_q51, 0);
18896 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
18897 : {
18898 0 : {
18899 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
18900 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
18901 0 : if (res) return res;
18902 : }
18903 : }
18904 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
18905 : {
18906 0 : {
18907 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
18908 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
18909 0 : if (res) return res;
18910 : }
18911 : }
18912 : break;
18913 : }
18914 : default:;
18915 : }
18916 : break;
18917 : }
18918 16 : case LT_EXPR:
18919 16 : {
18920 16 : tree _q50 = TREE_OPERAND (_p1, 0);
18921 16 : tree _q51 = TREE_OPERAND (_p1, 1);
18922 16 : switch (TREE_CODE (_q50))
18923 : {
18924 0 : CASE_CONVERT:
18925 0 : {
18926 0 : tree _q60 = TREE_OPERAND (_q50, 0);
18927 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
18928 : {
18929 0 : {
18930 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
18931 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
18932 0 : if (res) return res;
18933 : }
18934 : }
18935 0 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
18936 : {
18937 0 : {
18938 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
18939 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
18940 0 : if (res) return res;
18941 : }
18942 : }
18943 : break;
18944 : }
18945 16 : default:;
18946 : }
18947 16 : switch (TREE_CODE (_q51))
18948 : {
18949 0 : CASE_CONVERT:
18950 0 : {
18951 0 : tree _q70 = TREE_OPERAND (_q51, 0);
18952 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
18953 : {
18954 0 : {
18955 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
18956 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
18957 0 : if (res) return res;
18958 : }
18959 : }
18960 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
18961 : {
18962 0 : {
18963 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
18964 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
18965 0 : if (res) return res;
18966 : }
18967 : }
18968 : break;
18969 : }
18970 : default:;
18971 : }
18972 : break;
18973 : }
18974 28 : case GT_EXPR:
18975 28 : {
18976 28 : tree _q50 = TREE_OPERAND (_p1, 0);
18977 28 : tree _q51 = TREE_OPERAND (_p1, 1);
18978 28 : switch (TREE_CODE (_q50))
18979 : {
18980 0 : CASE_CONVERT:
18981 0 : {
18982 0 : tree _q60 = TREE_OPERAND (_q50, 0);
18983 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
18984 : {
18985 0 : {
18986 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
18987 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
18988 0 : if (res) return res;
18989 : }
18990 : }
18991 0 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
18992 : {
18993 0 : {
18994 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
18995 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
18996 0 : if (res) return res;
18997 : }
18998 : }
18999 : break;
19000 : }
19001 28 : default:;
19002 : }
19003 28 : switch (TREE_CODE (_q51))
19004 : {
19005 0 : CASE_CONVERT:
19006 0 : {
19007 0 : tree _q70 = TREE_OPERAND (_q51, 0);
19008 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
19009 : {
19010 0 : {
19011 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
19012 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
19013 0 : if (res) return res;
19014 : }
19015 : }
19016 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
19017 : {
19018 0 : {
19019 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
19020 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
19021 0 : if (res) return res;
19022 : }
19023 : }
19024 : break;
19025 : }
19026 : default:;
19027 : }
19028 : break;
19029 : }
19030 110 : case LE_EXPR:
19031 110 : {
19032 110 : tree _q50 = TREE_OPERAND (_p1, 0);
19033 110 : tree _q51 = TREE_OPERAND (_p1, 1);
19034 110 : switch (TREE_CODE (_q50))
19035 : {
19036 0 : CASE_CONVERT:
19037 0 : {
19038 0 : tree _q60 = TREE_OPERAND (_q50, 0);
19039 0 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
19040 : {
19041 0 : {
19042 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
19043 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
19044 0 : if (res) return res;
19045 : }
19046 : }
19047 0 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
19048 : {
19049 0 : {
19050 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
19051 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
19052 0 : if (res) return res;
19053 : }
19054 : }
19055 : break;
19056 : }
19057 110 : default:;
19058 : }
19059 110 : switch (TREE_CODE (_q51))
19060 : {
19061 0 : CASE_CONVERT:
19062 0 : {
19063 0 : tree _q70 = TREE_OPERAND (_q51, 0);
19064 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
19065 : {
19066 0 : {
19067 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
19068 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
19069 0 : if (res) return res;
19070 : }
19071 : }
19072 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
19073 : {
19074 0 : {
19075 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
19076 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
19077 0 : if (res) return res;
19078 : }
19079 : }
19080 : break;
19081 : }
19082 : default:;
19083 : }
19084 : break;
19085 : }
19086 20 : case GE_EXPR:
19087 20 : {
19088 20 : tree _q50 = TREE_OPERAND (_p1, 0);
19089 20 : tree _q51 = TREE_OPERAND (_p1, 1);
19090 20 : switch (TREE_CODE (_q50))
19091 : {
19092 16 : CASE_CONVERT:
19093 16 : {
19094 16 : tree _q60 = TREE_OPERAND (_q50, 0);
19095 16 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
19096 : {
19097 0 : {
19098 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
19099 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
19100 0 : if (res) return res;
19101 : }
19102 : }
19103 16 : if ((_q60 == _q21 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q21, 0) && types_match (_q60, _q21)))
19104 : {
19105 0 : {
19106 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
19107 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
19108 0 : if (res) return res;
19109 : }
19110 : }
19111 : break;
19112 : }
19113 20 : default:;
19114 : }
19115 20 : switch (TREE_CODE (_q51))
19116 : {
19117 0 : CASE_CONVERT:
19118 0 : {
19119 0 : tree _q70 = TREE_OPERAND (_q51, 0);
19120 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
19121 : {
19122 0 : {
19123 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
19124 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
19125 0 : if (res) return res;
19126 : }
19127 : }
19128 0 : if ((_q70 == _q21 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q21, 0) && types_match (_q70, _q21)))
19129 : {
19130 0 : {
19131 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
19132 0 : tree res = generic_simplify_167 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
19133 0 : if (res) return res;
19134 : }
19135 : }
19136 : break;
19137 : }
19138 : default:;
19139 : }
19140 : break;
19141 : }
19142 834 : default:;
19143 : }
19144 834 : switch (TREE_CODE (_q20))
19145 : {
19146 520 : CASE_CONVERT:
19147 520 : {
19148 520 : tree _q30 = TREE_OPERAND (_q20, 0);
19149 520 : switch (TREE_CODE (_p1))
19150 : {
19151 311 : case EQ_EXPR:
19152 311 : {
19153 311 : tree _q60 = TREE_OPERAND (_p1, 0);
19154 311 : tree _q61 = TREE_OPERAND (_p1, 1);
19155 311 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
19156 : {
19157 0 : {
19158 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
19159 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
19160 0 : if (res) return res;
19161 : }
19162 : }
19163 311 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
19164 : {
19165 0 : {
19166 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
19167 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
19168 0 : if (res) return res;
19169 : }
19170 : }
19171 : break;
19172 : }
19173 0 : case NE_EXPR:
19174 0 : {
19175 0 : tree _q60 = TREE_OPERAND (_p1, 0);
19176 0 : tree _q61 = TREE_OPERAND (_p1, 1);
19177 0 : if ((_q60 == _q30 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q30, 0) && types_match (_q60, _q30)))
19178 : {
19179 0 : {
19180 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q61, _p0, _q20, _q21 };
19181 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
19182 0 : if (res) return res;
19183 : }
19184 : }
19185 0 : if ((_q61 == _q30 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q30, 0) && types_match (_q61, _q30)))
19186 : {
19187 0 : {
19188 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q30, _q60, _p0, _q20, _q21 };
19189 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
19190 0 : if (res) return res;
19191 : }
19192 : }
19193 : break;
19194 : }
19195 : default:;
19196 : }
19197 : break;
19198 : }
19199 834 : default:;
19200 : }
19201 834 : switch (TREE_CODE (_q21))
19202 : {
19203 9 : CASE_CONVERT:
19204 9 : {
19205 9 : tree _q40 = TREE_OPERAND (_q21, 0);
19206 9 : switch (TREE_CODE (_p1))
19207 : {
19208 0 : case EQ_EXPR:
19209 0 : {
19210 0 : tree _q60 = TREE_OPERAND (_p1, 0);
19211 0 : tree _q61 = TREE_OPERAND (_p1, 1);
19212 0 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
19213 : {
19214 0 : {
19215 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
19216 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
19217 0 : if (res) return res;
19218 : }
19219 : }
19220 0 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
19221 : {
19222 0 : {
19223 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
19224 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
19225 0 : if (res) return res;
19226 : }
19227 : }
19228 : break;
19229 : }
19230 0 : case NE_EXPR:
19231 0 : {
19232 0 : tree _q60 = TREE_OPERAND (_p1, 0);
19233 0 : tree _q61 = TREE_OPERAND (_p1, 1);
19234 0 : if ((_q60 == _q40 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q40, 0) && types_match (_q60, _q40)))
19235 : {
19236 0 : {
19237 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q61, _p0, _q21, _q20 };
19238 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
19239 0 : if (res) return res;
19240 : }
19241 : }
19242 0 : if ((_q61 == _q40 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q40, 0) && types_match (_q61, _q40)))
19243 : {
19244 0 : {
19245 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q40, _q60, _p0, _q21, _q20 };
19246 0 : tree res = generic_simplify_158 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
19247 0 : if (res) return res;
19248 : }
19249 : }
19250 : break;
19251 : }
19252 : default:;
19253 : }
19254 : break;
19255 : }
19256 834 : default:;
19257 : }
19258 834 : switch (TREE_CODE (_p1))
19259 : {
19260 395 : case EQ_EXPR:
19261 395 : {
19262 395 : tree _q50 = TREE_OPERAND (_p1, 0);
19263 395 : tree _q51 = TREE_OPERAND (_p1, 1);
19264 395 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
19265 : {
19266 362 : {
19267 362 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
19268 362 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
19269 362 : if (res) return res;
19270 : }
19271 362 : {
19272 362 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
19273 362 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
19274 362 : if (res) return res;
19275 : }
19276 : }
19277 395 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
19278 : {
19279 0 : {
19280 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
19281 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
19282 0 : if (res) return res;
19283 : }
19284 : }
19285 395 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
19286 : {
19287 0 : {
19288 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
19289 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
19290 0 : if (res) return res;
19291 : }
19292 0 : {
19293 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
19294 0 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
19295 0 : if (res) return res;
19296 : }
19297 : }
19298 395 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
19299 : {
19300 16 : {
19301 16 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
19302 16 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
19303 16 : if (res) return res;
19304 : }
19305 16 : {
19306 16 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
19307 16 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
19308 16 : if (res) return res;
19309 : }
19310 : }
19311 395 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
19312 : {
19313 0 : {
19314 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
19315 0 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, EQ_EXPR, EQ_EXPR);
19316 0 : if (res) return res;
19317 : }
19318 : }
19319 : break;
19320 : }
19321 20 : case NE_EXPR:
19322 20 : {
19323 20 : tree _q50 = TREE_OPERAND (_p1, 0);
19324 20 : tree _q51 = TREE_OPERAND (_p1, 1);
19325 20 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
19326 : {
19327 0 : {
19328 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
19329 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
19330 0 : if (res) return res;
19331 : }
19332 0 : {
19333 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q51, _p0, _q20, _q21 };
19334 0 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
19335 0 : if (res) return res;
19336 : }
19337 : }
19338 20 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
19339 : {
19340 0 : {
19341 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
19342 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
19343 0 : if (res) return res;
19344 : }
19345 : }
19346 20 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
19347 : {
19348 0 : {
19349 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
19350 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
19351 0 : if (res) return res;
19352 : }
19353 0 : {
19354 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q51, _p0, _q21, _q20 };
19355 0 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
19356 0 : if (res) return res;
19357 : }
19358 : }
19359 20 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
19360 : {
19361 4 : {
19362 4 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
19363 4 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, NE_EXPR, EQ_EXPR);
19364 4 : if (res) return res;
19365 : }
19366 4 : {
19367 4 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q21, _q50, _p0, _q21, _q20 };
19368 4 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
19369 4 : if (res) return res;
19370 : }
19371 : }
19372 20 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
19373 : {
19374 0 : {
19375 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q20, _q50, _p0, _q20, _q21 };
19376 0 : tree res = generic_simplify_159 (loc, type, _p0, _p1, captures, EQ_EXPR, NE_EXPR);
19377 0 : if (res) return res;
19378 : }
19379 : }
19380 : break;
19381 : }
19382 16 : case LT_EXPR:
19383 16 : {
19384 16 : tree _q50 = TREE_OPERAND (_p1, 0);
19385 16 : tree _q51 = TREE_OPERAND (_p1, 1);
19386 16 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
19387 : {
19388 0 : {
19389 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
19390 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
19391 0 : if (res) return res;
19392 : }
19393 : }
19394 16 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
19395 : {
19396 0 : {
19397 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
19398 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
19399 0 : if (res) return res;
19400 : }
19401 : }
19402 16 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
19403 : {
19404 0 : {
19405 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
19406 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
19407 0 : if (res) return res;
19408 : }
19409 : }
19410 16 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
19411 : {
19412 0 : {
19413 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
19414 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
19415 0 : if (res) return res;
19416 : }
19417 : }
19418 : break;
19419 : }
19420 28 : case GT_EXPR:
19421 28 : {
19422 28 : tree _q50 = TREE_OPERAND (_p1, 0);
19423 28 : tree _q51 = TREE_OPERAND (_p1, 1);
19424 28 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
19425 : {
19426 9 : {
19427 9 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
19428 9 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
19429 9 : if (res) return res;
19430 : }
19431 : }
19432 28 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
19433 : {
19434 0 : {
19435 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
19436 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
19437 0 : if (res) return res;
19438 : }
19439 : }
19440 28 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
19441 : {
19442 0 : {
19443 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
19444 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, GT_EXPR, EQ_EXPR);
19445 0 : if (res) return res;
19446 : }
19447 : }
19448 28 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
19449 : {
19450 0 : {
19451 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
19452 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, LT_EXPR, EQ_EXPR);
19453 0 : if (res) return res;
19454 : }
19455 : }
19456 : break;
19457 : }
19458 110 : case LE_EXPR:
19459 110 : {
19460 110 : tree _q50 = TREE_OPERAND (_p1, 0);
19461 110 : tree _q51 = TREE_OPERAND (_p1, 1);
19462 110 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
19463 : {
19464 0 : {
19465 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
19466 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
19467 0 : if (res) return res;
19468 : }
19469 : }
19470 110 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
19471 : {
19472 0 : {
19473 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
19474 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
19475 0 : if (res) return res;
19476 : }
19477 : }
19478 110 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
19479 : {
19480 0 : {
19481 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
19482 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
19483 0 : if (res) return res;
19484 : }
19485 : }
19486 110 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
19487 : {
19488 0 : {
19489 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
19490 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
19491 0 : if (res) return res;
19492 : }
19493 : }
19494 : break;
19495 : }
19496 20 : case GE_EXPR:
19497 20 : {
19498 20 : tree _q50 = TREE_OPERAND (_p1, 0);
19499 20 : tree _q51 = TREE_OPERAND (_p1, 1);
19500 20 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
19501 : {
19502 0 : {
19503 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50, _q51 };
19504 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
19505 0 : if (res) return res;
19506 : }
19507 : }
19508 20 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
19509 : {
19510 0 : {
19511 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51, _q50 };
19512 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
19513 0 : if (res) return res;
19514 : }
19515 : }
19516 20 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
19517 : {
19518 0 : {
19519 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50, _q51 };
19520 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, GE_EXPR, EQ_EXPR);
19521 0 : if (res) return res;
19522 : }
19523 : }
19524 20 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
19525 : {
19526 0 : {
19527 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51, _q50 };
19528 0 : tree res = generic_simplify_168 (loc, type, _p0, _p1, captures, LE_EXPR, EQ_EXPR);
19529 0 : if (res) return res;
19530 : }
19531 : }
19532 : break;
19533 : }
19534 834 : default:;
19535 : }
19536 834 : switch (TREE_CODE (_q20))
19537 : {
19538 0 : case BIT_AND_EXPR:
19539 0 : {
19540 0 : tree _q30 = TREE_OPERAND (_q20, 0);
19541 0 : tree _q31 = TREE_OPERAND (_q20, 1);
19542 0 : switch (TREE_CODE (_q30))
19543 : {
19544 0 : case BIT_XOR_EXPR:
19545 0 : {
19546 0 : tree _q40 = TREE_OPERAND (_q30, 0);
19547 0 : tree _q41 = TREE_OPERAND (_q30, 1);
19548 0 : if (tree_expr_nonzero_p (_q31))
19549 : {
19550 0 : switch (TREE_CODE (_p1))
19551 : {
19552 0 : case NE_EXPR:
19553 0 : {
19554 0 : tree _q90 = TREE_OPERAND (_p1, 0);
19555 0 : tree _q91 = TREE_OPERAND (_p1, 1);
19556 0 : if ((_q90 == _q40 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q40, 0) && types_match (_q90, _q40)))
19557 : {
19558 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
19559 : {
19560 0 : {
19561 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q40, _q41, _q31, _q21, _p1 };
19562 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, EQ_EXPR);
19563 0 : if (res) return res;
19564 : }
19565 : }
19566 : }
19567 0 : if ((_q90 == _q41 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q41, 0) && types_match (_q90, _q41)))
19568 : {
19569 0 : if ((_q91 == _q40 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q40, 0) && types_match (_q91, _q40)))
19570 : {
19571 0 : {
19572 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q41, _q40, _q31, _q21, _p1 };
19573 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, EQ_EXPR);
19574 0 : if (res) return res;
19575 : }
19576 : }
19577 : }
19578 : break;
19579 : }
19580 : default:;
19581 : }
19582 : }
19583 : break;
19584 : }
19585 0 : default:;
19586 : }
19587 0 : if (tree_expr_nonzero_p (_q30))
19588 : {
19589 0 : switch (TREE_CODE (_q31))
19590 : {
19591 0 : case BIT_XOR_EXPR:
19592 0 : {
19593 0 : tree _q50 = TREE_OPERAND (_q31, 0);
19594 0 : tree _q51 = TREE_OPERAND (_q31, 1);
19595 0 : switch (TREE_CODE (_p1))
19596 : {
19597 0 : case NE_EXPR:
19598 0 : {
19599 0 : tree _q90 = TREE_OPERAND (_p1, 0);
19600 0 : tree _q91 = TREE_OPERAND (_p1, 1);
19601 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
19602 : {
19603 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
19604 : {
19605 0 : {
19606 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q30, _q21, _p1 };
19607 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, EQ_EXPR);
19608 0 : if (res) return res;
19609 : }
19610 : }
19611 : }
19612 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
19613 : {
19614 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
19615 : {
19616 0 : {
19617 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q30, _q21, _p1 };
19618 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, EQ_EXPR);
19619 0 : if (res) return res;
19620 : }
19621 : }
19622 : }
19623 : break;
19624 : }
19625 : default:;
19626 : }
19627 : break;
19628 : }
19629 : default:;
19630 : }
19631 : }
19632 : break;
19633 : }
19634 834 : default:;
19635 : }
19636 834 : switch (TREE_CODE (_q21))
19637 : {
19638 0 : case BIT_AND_EXPR:
19639 0 : {
19640 0 : tree _q40 = TREE_OPERAND (_q21, 0);
19641 0 : tree _q41 = TREE_OPERAND (_q21, 1);
19642 0 : switch (TREE_CODE (_q40))
19643 : {
19644 0 : case BIT_XOR_EXPR:
19645 0 : {
19646 0 : tree _q50 = TREE_OPERAND (_q40, 0);
19647 0 : tree _q51 = TREE_OPERAND (_q40, 1);
19648 0 : if (tree_expr_nonzero_p (_q41))
19649 : {
19650 0 : switch (TREE_CODE (_p1))
19651 : {
19652 0 : case NE_EXPR:
19653 0 : {
19654 0 : tree _q90 = TREE_OPERAND (_p1, 0);
19655 0 : tree _q91 = TREE_OPERAND (_p1, 1);
19656 0 : if ((_q90 == _q50 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q50, 0) && types_match (_q90, _q50)))
19657 : {
19658 0 : if ((_q91 == _q51 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q51, 0) && types_match (_q91, _q51)))
19659 : {
19660 0 : {
19661 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q50, _q51, _q41, _q20, _p1 };
19662 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, EQ_EXPR);
19663 0 : if (res) return res;
19664 : }
19665 : }
19666 : }
19667 0 : if ((_q90 == _q51 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q51, 0) && types_match (_q90, _q51)))
19668 : {
19669 0 : if ((_q91 == _q50 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q50, 0) && types_match (_q91, _q50)))
19670 : {
19671 0 : {
19672 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q51, _q50, _q41, _q20, _p1 };
19673 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, EQ_EXPR);
19674 0 : if (res) return res;
19675 : }
19676 : }
19677 : }
19678 : break;
19679 : }
19680 : default:;
19681 : }
19682 : }
19683 : break;
19684 : }
19685 0 : default:;
19686 : }
19687 0 : if (tree_expr_nonzero_p (_q40))
19688 : {
19689 0 : switch (TREE_CODE (_q41))
19690 : {
19691 0 : case BIT_XOR_EXPR:
19692 0 : {
19693 0 : tree _q60 = TREE_OPERAND (_q41, 0);
19694 0 : tree _q61 = TREE_OPERAND (_q41, 1);
19695 0 : switch (TREE_CODE (_p1))
19696 : {
19697 0 : case NE_EXPR:
19698 0 : {
19699 0 : tree _q90 = TREE_OPERAND (_p1, 0);
19700 0 : tree _q91 = TREE_OPERAND (_p1, 1);
19701 0 : if ((_q90 == _q60 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q60, 0) && types_match (_q90, _q60)))
19702 : {
19703 0 : if ((_q91 == _q61 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q61, 0) && types_match (_q91, _q61)))
19704 : {
19705 0 : {
19706 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q60, _q61, _q40, _q20, _p1 };
19707 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, EQ_EXPR);
19708 0 : if (res) return res;
19709 : }
19710 : }
19711 : }
19712 0 : if ((_q90 == _q61 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q61, 0) && types_match (_q90, _q61)))
19713 : {
19714 0 : if ((_q91 == _q60 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q60, 0) && types_match (_q91, _q60)))
19715 : {
19716 0 : {
19717 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q61, _q60, _q40, _q20, _p1 };
19718 0 : tree res = generic_simplify_161 (loc, type, _p0, _p1, captures, EQ_EXPR);
19719 0 : if (res) return res;
19720 : }
19721 : }
19722 : }
19723 : break;
19724 : }
19725 : default:;
19726 : }
19727 : break;
19728 : }
19729 : default:;
19730 : }
19731 : }
19732 : break;
19733 : }
19734 834 : default:;
19735 : }
19736 834 : switch (TREE_CODE (_q20))
19737 : {
19738 0 : case BIT_XOR_EXPR:
19739 0 : {
19740 0 : tree _q30 = TREE_OPERAND (_q20, 0);
19741 0 : tree _q31 = TREE_OPERAND (_q20, 1);
19742 0 : switch (TREE_CODE (_p1))
19743 : {
19744 0 : case NE_EXPR:
19745 0 : {
19746 0 : tree _q70 = TREE_OPERAND (_p1, 0);
19747 0 : tree _q71 = TREE_OPERAND (_p1, 1);
19748 0 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
19749 : {
19750 0 : if ((_q71 == _q31 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q31, 0) && types_match (_q71, _q31)))
19751 : {
19752 0 : {
19753 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _p1 };
19754 0 : tree res = generic_simplify_162 (loc, type, _p0, _p1, captures, EQ_EXPR);
19755 0 : if (res) return res;
19756 : }
19757 : }
19758 : }
19759 0 : if ((_q70 == _q31 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q31, 0) && types_match (_q70, _q31)))
19760 : {
19761 0 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
19762 : {
19763 0 : {
19764 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q31, _q30, _q21, _p1 };
19765 0 : tree res = generic_simplify_162 (loc, type, _p0, _p1, captures, EQ_EXPR);
19766 0 : if (res) return res;
19767 : }
19768 : }
19769 : }
19770 : break;
19771 : }
19772 : default:;
19773 : }
19774 : break;
19775 : }
19776 834 : default:;
19777 : }
19778 834 : switch (TREE_CODE (_q21))
19779 : {
19780 0 : case BIT_XOR_EXPR:
19781 0 : {
19782 0 : tree _q40 = TREE_OPERAND (_q21, 0);
19783 0 : tree _q41 = TREE_OPERAND (_q21, 1);
19784 0 : switch (TREE_CODE (_p1))
19785 : {
19786 0 : case NE_EXPR:
19787 0 : {
19788 0 : tree _q70 = TREE_OPERAND (_p1, 0);
19789 0 : tree _q71 = TREE_OPERAND (_p1, 1);
19790 0 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
19791 : {
19792 0 : if ((_q71 == _q41 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q41, 0) && types_match (_q71, _q41)))
19793 : {
19794 0 : {
19795 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q40, _q41, _q20, _p1 };
19796 0 : tree res = generic_simplify_162 (loc, type, _p0, _p1, captures, EQ_EXPR);
19797 0 : if (res) return res;
19798 : }
19799 : }
19800 : }
19801 0 : if ((_q70 == _q41 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q41, 0) && types_match (_q70, _q41)))
19802 : {
19803 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
19804 : {
19805 0 : {
19806 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q41, _q40, _q20, _p1 };
19807 0 : tree res = generic_simplify_162 (loc, type, _p0, _p1, captures, EQ_EXPR);
19808 0 : if (res) return res;
19809 : }
19810 : }
19811 : }
19812 : break;
19813 : }
19814 : default:;
19815 : }
19816 : break;
19817 : }
19818 : default:;
19819 : }
19820 : break;
19821 : }
19822 582 : case MULT_EXPR:
19823 582 : {
19824 582 : tree _q20 = TREE_OPERAND (_p0, 0);
19825 582 : tree _q21 = TREE_OPERAND (_p0, 1);
19826 582 : switch (TREE_CODE (_q21))
19827 : {
19828 553 : case INTEGER_CST:
19829 553 : {
19830 553 : switch (TREE_CODE (_p1))
19831 : {
19832 7 : case MULT_EXPR:
19833 7 : {
19834 7 : tree _q50 = TREE_OPERAND (_p1, 0);
19835 7 : tree _q51 = TREE_OPERAND (_p1, 1);
19836 7 : switch (TREE_CODE (_q51))
19837 : {
19838 7 : case INTEGER_CST:
19839 7 : {
19840 7 : {
19841 7 : tree captures[8] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _p1, _q50, _q51 };
19842 7 : tree res = generic_simplify_44 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
19843 7 : if (res) return res;
19844 : }
19845 7 : break;
19846 : }
19847 : default:;
19848 : }
19849 : break;
19850 : }
19851 0 : case LSHIFT_EXPR:
19852 0 : {
19853 0 : tree _q50 = TREE_OPERAND (_p1, 0);
19854 0 : tree _q51 = TREE_OPERAND (_p1, 1);
19855 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
19856 : {
19857 0 : switch (TREE_CODE (_q51))
19858 : {
19859 0 : case INTEGER_CST:
19860 0 : {
19861 0 : {
19862 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21, _p1, _q51 };
19863 0 : tree res = generic_simplify_45 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
19864 0 : if (res) return res;
19865 : }
19866 0 : break;
19867 : }
19868 : default:;
19869 : }
19870 : }
19871 : break;
19872 : }
19873 553 : default:;
19874 : }
19875 553 : if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
19876 : {
19877 0 : {
19878 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p0, _p0, _q20, _q21 };
19879 0 : tree res = generic_simplify_46 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
19880 0 : if (res) return res;
19881 : }
19882 : }
19883 : break;
19884 : }
19885 : default:;
19886 : }
19887 : break;
19888 : }
19889 382268 : case LSHIFT_EXPR:
19890 382268 : {
19891 382268 : tree _q20 = TREE_OPERAND (_p0, 0);
19892 382268 : tree _q21 = TREE_OPERAND (_p0, 1);
19893 382268 : switch (TREE_CODE (_q21))
19894 : {
19895 367537 : case INTEGER_CST:
19896 367537 : {
19897 367537 : switch (TREE_CODE (_p1))
19898 : {
19899 0 : case MULT_EXPR:
19900 0 : {
19901 0 : tree _q50 = TREE_OPERAND (_p1, 0);
19902 0 : tree _q51 = TREE_OPERAND (_p1, 1);
19903 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
19904 : {
19905 0 : switch (TREE_CODE (_q51))
19906 : {
19907 0 : case INTEGER_CST:
19908 0 : {
19909 0 : {
19910 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _p1, _q20, _q51, _p0, _q21 };
19911 0 : tree res = generic_simplify_45 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
19912 0 : if (res) return res;
19913 : }
19914 0 : break;
19915 : }
19916 : default:;
19917 : }
19918 : }
19919 : break;
19920 : }
19921 367537 : default:;
19922 : }
19923 367537 : {
19924 367537 : tree _p1_pops[1];
19925 367537 : if (tree_nop_convert (_p1, _p1_pops))
19926 : {
19927 315974 : tree _q50 = _p1_pops[0];
19928 315974 : switch (TREE_CODE (_q50))
19929 : {
19930 0 : case MULT_EXPR:
19931 0 : {
19932 0 : tree _q60 = TREE_OPERAND (_q50, 0);
19933 0 : tree _q61 = TREE_OPERAND (_q50, 1);
19934 0 : {
19935 0 : tree _q60_pops[1];
19936 0 : if (tree_nop_convert (_q60, _q60_pops))
19937 : {
19938 0 : tree _q70 = _q60_pops[0];
19939 0 : if ((_q70 == _q20 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q20, 0) && types_match (_q70, _q20)))
19940 : {
19941 0 : switch (TREE_CODE (_q61))
19942 : {
19943 0 : case INTEGER_CST:
19944 0 : {
19945 0 : {
19946 0 : tree captures[6] ATTRIBUTE_UNUSED = { _p1, _q50, _q20, _q61, _p0, _q21 };
19947 0 : tree res = generic_simplify_41 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
19948 0 : if (res) return res;
19949 : }
19950 0 : break;
19951 : }
19952 : default:;
19953 : }
19954 : }
19955 : }
19956 : }
19957 0 : break;
19958 : }
19959 : default:;
19960 : }
19961 : }
19962 : }
19963 367537 : break;
19964 : }
19965 : default:;
19966 : }
19967 : break;
19968 : }
19969 1843657 : default:;
19970 : }
19971 1843657 : {
19972 1843657 : tree _p0_pops[1];
19973 1843657 : if (tree_logical_inverted_value (_p0, _p0_pops))
19974 : {
19975 205 : tree _q20 = _p0_pops[0];
19976 205 : if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
19977 : {
19978 3 : if (tree_truth_valued_p (_p1))
19979 : {
19980 3 : {
19981 3 : tree captures[1] ATTRIBUTE_UNUSED = { _q20 };
19982 3 : tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
19983 3 : if (res) return res;
19984 : }
19985 : }
19986 : }
19987 : }
19988 : }
19989 1843654 : if (tree_truth_valued_p (_p0))
19990 : {
19991 228561 : {
19992 228561 : tree _p1_pops[1];
19993 228561 : if (tree_logical_inverted_value (_p1, _p1_pops))
19994 : {
19995 92 : tree _q30 = _p1_pops[0];
19996 92 : if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
19997 : {
19998 0 : {
19999 0 : tree captures[1] ATTRIBUTE_UNUSED = { _p0 };
20000 0 : tree res = generic_simplify_36 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
20001 0 : if (res) return res;
20002 : }
20003 : }
20004 : }
20005 : }
20006 : }
20007 1843654 : switch (TREE_CODE (_p1))
20008 : {
20009 50 : case MULT_EXPR:
20010 50 : {
20011 50 : tree _q30 = TREE_OPERAND (_p1, 0);
20012 50 : tree _q31 = TREE_OPERAND (_p1, 1);
20013 50 : if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
20014 : {
20015 0 : switch (TREE_CODE (_q31))
20016 : {
20017 0 : case INTEGER_CST:
20018 0 : {
20019 0 : {
20020 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _p1, _p0, _q31 };
20021 0 : tree res = generic_simplify_46 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
20022 0 : if (res) return res;
20023 : }
20024 0 : break;
20025 : }
20026 : default:;
20027 : }
20028 : }
20029 : break;
20030 : }
20031 1843654 : default:;
20032 : }
20033 1843654 : {
20034 1843654 : tree _p1_pops[1];
20035 1843654 : if (tree_nop_convert (_p1, _p1_pops))
20036 : {
20037 940476 : tree _q30 = _p1_pops[0];
20038 940476 : switch (TREE_CODE (_q30))
20039 : {
20040 5 : case MULT_EXPR:
20041 5 : {
20042 5 : tree _q40 = TREE_OPERAND (_q30, 0);
20043 5 : tree _q41 = TREE_OPERAND (_q30, 1);
20044 5 : {
20045 5 : tree _q40_pops[1];
20046 5 : if (tree_nop_convert (_q40, _q40_pops))
20047 : {
20048 0 : tree _q50 = _q40_pops[0];
20049 0 : if ((_q50 == _p0 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _p0, 0) && types_match (_q50, _p0)))
20050 : {
20051 0 : switch (TREE_CODE (_q41))
20052 : {
20053 0 : case INTEGER_CST:
20054 0 : {
20055 0 : {
20056 0 : tree captures[4] ATTRIBUTE_UNUSED = { _p1, _q30, _p0, _q41 };
20057 0 : tree res = generic_simplify_42 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
20058 0 : if (res) return res;
20059 : }
20060 0 : break;
20061 : }
20062 : default:;
20063 : }
20064 : }
20065 : }
20066 : }
20067 5 : break;
20068 : }
20069 : default:;
20070 : }
20071 : }
20072 : }
20073 1843654 : switch (TREE_CODE (_p0))
20074 : {
20075 382268 : case LSHIFT_EXPR:
20076 382268 : {
20077 382268 : tree _q20 = TREE_OPERAND (_p0, 0);
20078 382268 : tree _q21 = TREE_OPERAND (_p0, 1);
20079 382268 : switch (TREE_CODE (_q21))
20080 : {
20081 367537 : case INTEGER_CST:
20082 367537 : {
20083 367537 : switch (TREE_CODE (_p1))
20084 : {
20085 1132 : case LSHIFT_EXPR:
20086 1132 : {
20087 1132 : tree _q50 = TREE_OPERAND (_p1, 0);
20088 1132 : tree _q51 = TREE_OPERAND (_p1, 1);
20089 1132 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
20090 : {
20091 4 : switch (TREE_CODE (_q51))
20092 : {
20093 4 : case INTEGER_CST:
20094 4 : {
20095 4 : {
20096 4 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
20097 4 : tree res = generic_simplify_48 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
20098 4 : if (res) return res;
20099 : }
20100 2 : break;
20101 : }
20102 : default:;
20103 : }
20104 : }
20105 : break;
20106 : }
20107 367535 : default:;
20108 : }
20109 367535 : if ((_p1 == _q20 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q20, 0) && types_match (_p1, _q20)))
20110 : {
20111 471 : {
20112 471 : tree captures[3] ATTRIBUTE_UNUSED = { _p0, _q20, _q21 };
20113 471 : tree res = generic_simplify_49 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
20114 471 : if (res) return res;
20115 : }
20116 : }
20117 : break;
20118 : }
20119 : default:;
20120 : }
20121 : break;
20122 : }
20123 1843652 : default:;
20124 : }
20125 1843652 : switch (TREE_CODE (_p1))
20126 : {
20127 37757 : case LSHIFT_EXPR:
20128 37757 : {
20129 37757 : tree _q30 = TREE_OPERAND (_p1, 0);
20130 37757 : tree _q31 = TREE_OPERAND (_p1, 1);
20131 37757 : if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
20132 : {
20133 10 : switch (TREE_CODE (_q31))
20134 : {
20135 3 : case INTEGER_CST:
20136 3 : {
20137 3 : {
20138 3 : tree captures[3] ATTRIBUTE_UNUSED = { _p1, _p0, _q31 };
20139 3 : tree res = generic_simplify_49 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR);
20140 3 : if (res) return res;
20141 : }
20142 0 : break;
20143 : }
20144 : default:;
20145 : }
20146 : }
20147 : break;
20148 : }
20149 1843649 : default:;
20150 : }
20151 1843649 : switch (TREE_CODE (_p0))
20152 : {
20153 0 : case MIN_EXPR:
20154 0 : {
20155 0 : tree _q20 = TREE_OPERAND (_p0, 0);
20156 0 : tree _q21 = TREE_OPERAND (_p0, 1);
20157 0 : switch (TREE_CODE (_p1))
20158 : {
20159 0 : case MAX_EXPR:
20160 0 : {
20161 0 : tree _q50 = TREE_OPERAND (_p1, 0);
20162 0 : tree _q51 = TREE_OPERAND (_p1, 1);
20163 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
20164 : {
20165 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
20166 : {
20167 0 : {
20168 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
20169 0 : if (!HONOR_NANS (captures[0])
20170 : )
20171 : {
20172 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1316;
20173 0 : {
20174 0 : tree res_op0;
20175 0 : res_op0 = captures[0];
20176 0 : tree res_op1;
20177 0 : res_op1 = captures[1];
20178 0 : tree _r;
20179 0 : _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
20180 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 895, __FILE__, __LINE__, true);
20181 0 : return _r;
20182 : }
20183 0 : next_after_fail1316:;
20184 : }
20185 : }
20186 : }
20187 : }
20188 0 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
20189 : {
20190 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
20191 : {
20192 0 : {
20193 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q21, _q20 };
20194 0 : if (!HONOR_NANS (captures[0])
20195 : )
20196 : {
20197 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1317;
20198 0 : {
20199 0 : tree res_op0;
20200 0 : res_op0 = captures[0];
20201 0 : tree res_op1;
20202 0 : res_op1 = captures[1];
20203 0 : tree _r;
20204 0 : _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
20205 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 895, __FILE__, __LINE__, true);
20206 0 : return _r;
20207 : }
20208 0 : next_after_fail1317:;
20209 : }
20210 : }
20211 : }
20212 : }
20213 : break;
20214 : }
20215 : default:;
20216 : }
20217 : break;
20218 : }
20219 0 : case MAX_EXPR:
20220 0 : {
20221 0 : tree _q20 = TREE_OPERAND (_p0, 0);
20222 0 : tree _q21 = TREE_OPERAND (_p0, 1);
20223 0 : switch (TREE_CODE (_p1))
20224 : {
20225 0 : case MIN_EXPR:
20226 0 : {
20227 0 : tree _q50 = TREE_OPERAND (_p1, 0);
20228 0 : tree _q51 = TREE_OPERAND (_p1, 1);
20229 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
20230 : {
20231 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
20232 : {
20233 0 : {
20234 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
20235 0 : if (!HONOR_NANS (captures[0])
20236 : )
20237 : {
20238 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1318;
20239 0 : {
20240 0 : tree res_op0;
20241 0 : res_op0 = captures[0];
20242 0 : tree res_op1;
20243 0 : res_op1 = captures[1];
20244 0 : tree _r;
20245 0 : _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
20246 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 895, __FILE__, __LINE__, true);
20247 0 : return _r;
20248 : }
20249 0 : next_after_fail1318:;
20250 : }
20251 : }
20252 : }
20253 : }
20254 0 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
20255 : {
20256 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
20257 : {
20258 0 : {
20259 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q21 };
20260 0 : if (!HONOR_NANS (captures[0])
20261 : )
20262 : {
20263 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1319;
20264 0 : {
20265 0 : tree res_op0;
20266 0 : res_op0 = captures[0];
20267 0 : tree res_op1;
20268 0 : res_op1 = captures[1];
20269 0 : tree _r;
20270 0 : _r = fold_build2_loc (loc, BIT_IOR_EXPR, type, res_op0, res_op1);
20271 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 895, __FILE__, __LINE__, true);
20272 0 : return _r;
20273 : }
20274 0 : next_after_fail1319:;
20275 : }
20276 : }
20277 : }
20278 : }
20279 : break;
20280 : }
20281 : default:;
20282 : }
20283 : break;
20284 : }
20285 1843649 : default:;
20286 : }
20287 1843649 : switch (TREE_CODE (_p1))
20288 : {
20289 16101 : case RSHIFT_EXPR:
20290 16101 : {
20291 16101 : tree _q30 = TREE_OPERAND (_p1, 0);
20292 16101 : tree _q31 = TREE_OPERAND (_p1, 1);
20293 16101 : if ((_q30 == _p0 && ! TREE_SIDE_EFFECTS (_q30)) || (operand_equal_p (_q30, _p0, 0) && types_match (_q30, _p0)))
20294 : {
20295 0 : switch (TREE_CODE (_q31))
20296 : {
20297 0 : case INTEGER_CST:
20298 0 : {
20299 0 : {
20300 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q31 };
20301 0 : tree res = generic_simplify_111 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, MAX_EXPR, MIN_EXPR);
20302 0 : if (res) return res;
20303 : }
20304 0 : break;
20305 : }
20306 : default:;
20307 : }
20308 : }
20309 : break;
20310 : }
20311 393 : case BIT_NOT_EXPR:
20312 393 : {
20313 393 : tree _q30 = TREE_OPERAND (_p1, 0);
20314 393 : switch (TREE_CODE (_q30))
20315 : {
20316 0 : case RSHIFT_EXPR:
20317 0 : {
20318 0 : tree _q40 = TREE_OPERAND (_q30, 0);
20319 0 : tree _q41 = TREE_OPERAND (_q30, 1);
20320 0 : if ((_q40 == _p0 && ! TREE_SIDE_EFFECTS (_q40)) || (operand_equal_p (_q40, _p0, 0) && types_match (_q40, _p0)))
20321 : {
20322 0 : switch (TREE_CODE (_q41))
20323 : {
20324 0 : case INTEGER_CST:
20325 0 : {
20326 0 : {
20327 0 : tree captures[2] ATTRIBUTE_UNUSED = { _p0, _q41 };
20328 0 : tree res = generic_simplify_173 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, MAX_EXPR, MIN_EXPR);
20329 0 : if (res) return res;
20330 : }
20331 0 : break;
20332 : }
20333 : default:;
20334 : }
20335 : }
20336 : break;
20337 : }
20338 : default:;
20339 : }
20340 : break;
20341 : }
20342 1843649 : default:;
20343 : }
20344 1843649 : switch (TREE_CODE (_p0))
20345 : {
20346 21866 : case BIT_NOT_EXPR:
20347 21866 : {
20348 21866 : tree _q20 = TREE_OPERAND (_p0, 0);
20349 21866 : switch (TREE_CODE (_q20))
20350 : {
20351 2 : case RSHIFT_EXPR:
20352 2 : {
20353 2 : tree _q30 = TREE_OPERAND (_q20, 0);
20354 2 : tree _q31 = TREE_OPERAND (_q20, 1);
20355 2 : switch (TREE_CODE (_q31))
20356 : {
20357 0 : case INTEGER_CST:
20358 0 : {
20359 0 : if ((_p1 == _q30 && ! TREE_SIDE_EFFECTS (_p1)) || (operand_equal_p (_p1, _q30, 0) && types_match (_p1, _q30)))
20360 : {
20361 0 : {
20362 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q30, _q31 };
20363 0 : tree res = generic_simplify_173 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, MAX_EXPR, MIN_EXPR);
20364 0 : if (res) return res;
20365 : }
20366 : }
20367 : break;
20368 : }
20369 : default:;
20370 : }
20371 : break;
20372 : }
20373 : default:;
20374 : }
20375 : break;
20376 : }
20377 61 : case VEC_COND_EXPR:
20378 61 : {
20379 61 : tree _q20 = TREE_OPERAND (_p0, 0);
20380 61 : tree _q21 = TREE_OPERAND (_p0, 1);
20381 61 : tree _q22 = TREE_OPERAND (_p0, 2);
20382 61 : switch (TREE_CODE (_p1))
20383 : {
20384 54 : case VEC_COND_EXPR:
20385 54 : {
20386 54 : tree _q60 = TREE_OPERAND (_p1, 0);
20387 54 : tree _q61 = TREE_OPERAND (_p1, 1);
20388 54 : tree _q62 = TREE_OPERAND (_p1, 2);
20389 54 : if ((_q60 == _q20 && ! TREE_SIDE_EFFECTS (_q60)) || (operand_equal_p (_q60, _q20, 0) && types_match (_q60, _q20)))
20390 : {
20391 0 : {
20392 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1, _q61, _q62 };
20393 0 : if (VECTOR_TYPE_P (type)
20394 0 : && (TREE_CODE_CLASS (BIT_IOR_EXPR) != tcc_comparison
20395 : || types_match (type, TREE_TYPE (captures[2]))
20396 : || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
20397 : || (optimize_vectors_before_lowering_p ()
20398 : && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
20399 : )
20400 : {
20401 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1320;
20402 0 : {
20403 0 : tree res_op0;
20404 0 : res_op0 = captures[1];
20405 0 : tree res_op1;
20406 0 : {
20407 0 : tree _o1[2], _r1;
20408 0 : _o1[0] = captures[2];
20409 0 : _o1[1] = captures[5];
20410 0 : _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, type, _o1[0], _o1[1]);
20411 0 : if (EXPR_P (_r1))
20412 0 : goto next_after_fail1320;
20413 0 : res_op1 = _r1;
20414 : }
20415 0 : tree res_op2;
20416 0 : {
20417 0 : tree _o1[2], _r1;
20418 0 : _o1[0] = captures[3];
20419 0 : _o1[1] = captures[6];
20420 0 : _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, type, _o1[0], _o1[1]);
20421 0 : if (EXPR_P (_r1))
20422 0 : goto next_after_fail1320;
20423 0 : res_op2 = _r1;
20424 : }
20425 0 : tree _r;
20426 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20427 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 896, __FILE__, __LINE__, true);
20428 0 : return _r;
20429 : }
20430 0 : next_after_fail1320:;
20431 : }
20432 : }
20433 : }
20434 : break;
20435 : }
20436 61 : default:;
20437 : }
20438 61 : if (integer_minus_onep (_q21))
20439 : {
20440 60 : if (integer_zerop (_q22))
20441 : {
20442 60 : switch (TREE_CODE (_p1))
20443 : {
20444 54 : case VEC_COND_EXPR:
20445 54 : {
20446 54 : tree _q60 = TREE_OPERAND (_p1, 0);
20447 54 : tree _q61 = TREE_OPERAND (_p1, 1);
20448 54 : tree _q62 = TREE_OPERAND (_p1, 2);
20449 54 : if ((_q61 == _q21 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q21, 0) && types_match (_q61, _q21)))
20450 : {
20451 54 : if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
20452 : {
20453 54 : {
20454 54 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20455 54 : const enum tree_code lop = BIT_IOR_EXPR;
20456 54 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20457 : )
20458 : {
20459 54 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1321;
20460 54 : {
20461 54 : tree res_op0;
20462 54 : {
20463 54 : tree _o1[2], _r1;
20464 54 : _o1[0] = captures[0];
20465 54 : _o1[1] = captures[3];
20466 54 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20467 54 : res_op0 = _r1;
20468 : }
20469 54 : tree res_op1;
20470 54 : res_op1 = captures[1];
20471 54 : tree res_op2;
20472 54 : res_op2 = captures[2];
20473 54 : tree _r;
20474 54 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20475 54 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
20476 54 : return _r;
20477 : }
20478 0 : next_after_fail1321:;
20479 : }
20480 : }
20481 0 : {
20482 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20483 0 : const enum tree_code lop = BIT_IOR_EXPR;
20484 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20485 : )
20486 : {
20487 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1322;
20488 0 : {
20489 0 : tree res_op0;
20490 0 : {
20491 0 : tree _o1[2], _r1;
20492 0 : _o1[0] = captures[0];
20493 0 : _o1[1] = captures[3];
20494 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20495 0 : res_op0 = _r1;
20496 : }
20497 0 : tree res_op1;
20498 0 : res_op1 = captures[1];
20499 0 : tree res_op2;
20500 0 : res_op2 = captures[2];
20501 0 : tree _r;
20502 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20503 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
20504 0 : return _r;
20505 : }
20506 0 : next_after_fail1322:;
20507 : }
20508 : }
20509 0 : {
20510 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20511 0 : const enum tree_code lop = BIT_IOR_EXPR;
20512 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20513 : )
20514 : {
20515 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1323;
20516 0 : {
20517 0 : tree res_op0;
20518 0 : {
20519 0 : tree _o1[2], _r1;
20520 0 : _o1[0] = captures[0];
20521 0 : _o1[1] = captures[3];
20522 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20523 0 : res_op0 = _r1;
20524 : }
20525 0 : tree res_op1;
20526 0 : res_op1 = captures[1];
20527 0 : tree res_op2;
20528 0 : res_op2 = captures[2];
20529 0 : tree _r;
20530 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20531 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
20532 0 : return _r;
20533 : }
20534 0 : next_after_fail1323:;
20535 : }
20536 : }
20537 0 : {
20538 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20539 0 : const enum tree_code lop = BIT_IOR_EXPR;
20540 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20541 : )
20542 : {
20543 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1324;
20544 0 : {
20545 0 : tree res_op0;
20546 0 : {
20547 0 : tree _o1[2], _r1;
20548 0 : _o1[0] = captures[0];
20549 0 : _o1[1] = captures[3];
20550 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20551 0 : res_op0 = _r1;
20552 : }
20553 0 : tree res_op1;
20554 0 : res_op1 = captures[1];
20555 0 : tree res_op2;
20556 0 : res_op2 = captures[2];
20557 0 : tree _r;
20558 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20559 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
20560 0 : return _r;
20561 : }
20562 0 : next_after_fail1324:;
20563 : }
20564 : }
20565 0 : {
20566 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20567 0 : const enum tree_code lop = BIT_IOR_EXPR;
20568 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20569 : )
20570 : {
20571 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1325;
20572 0 : {
20573 0 : tree res_op0;
20574 0 : {
20575 0 : tree _o1[2], _r1;
20576 0 : _o1[0] = captures[0];
20577 0 : _o1[1] = captures[3];
20578 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20579 0 : res_op0 = _r1;
20580 : }
20581 0 : tree res_op1;
20582 0 : res_op1 = captures[1];
20583 0 : tree res_op2;
20584 0 : res_op2 = captures[2];
20585 0 : tree _r;
20586 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20587 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
20588 0 : return _r;
20589 : }
20590 0 : next_after_fail1325:;
20591 : }
20592 : }
20593 0 : {
20594 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20595 0 : const enum tree_code lop = BIT_IOR_EXPR;
20596 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20597 : )
20598 : {
20599 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1326;
20600 0 : {
20601 0 : tree res_op0;
20602 0 : {
20603 0 : tree _o1[2], _r1;
20604 0 : _o1[0] = captures[0];
20605 0 : _o1[1] = captures[3];
20606 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20607 0 : res_op0 = _r1;
20608 : }
20609 0 : tree res_op1;
20610 0 : res_op1 = captures[1];
20611 0 : tree res_op2;
20612 0 : res_op2 = captures[2];
20613 0 : tree _r;
20614 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20615 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
20616 0 : return _r;
20617 : }
20618 0 : next_after_fail1326:;
20619 : }
20620 : }
20621 0 : {
20622 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20623 0 : const enum tree_code lop = BIT_IOR_EXPR;
20624 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20625 : )
20626 : {
20627 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1327;
20628 0 : {
20629 0 : tree res_op0;
20630 0 : {
20631 0 : tree _o1[2], _r1;
20632 0 : _o1[0] = captures[0];
20633 0 : _o1[1] = captures[3];
20634 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20635 0 : res_op0 = _r1;
20636 : }
20637 0 : tree res_op1;
20638 0 : res_op1 = captures[1];
20639 0 : tree res_op2;
20640 0 : res_op2 = captures[2];
20641 0 : tree _r;
20642 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20643 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
20644 0 : return _r;
20645 : }
20646 0 : next_after_fail1327:;
20647 : }
20648 : }
20649 0 : {
20650 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20651 0 : const enum tree_code lop = BIT_IOR_EXPR;
20652 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20653 : )
20654 : {
20655 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1328;
20656 0 : {
20657 0 : tree res_op0;
20658 0 : {
20659 0 : tree _o1[2], _r1;
20660 0 : _o1[0] = captures[0];
20661 0 : _o1[1] = captures[3];
20662 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20663 0 : res_op0 = _r1;
20664 : }
20665 0 : tree res_op1;
20666 0 : res_op1 = captures[1];
20667 0 : tree res_op2;
20668 0 : res_op2 = captures[2];
20669 0 : tree _r;
20670 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20671 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
20672 0 : return _r;
20673 : }
20674 0 : next_after_fail1328:;
20675 : }
20676 : }
20677 0 : {
20678 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20679 0 : const enum tree_code lop = BIT_IOR_EXPR;
20680 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20681 : )
20682 : {
20683 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1329;
20684 0 : {
20685 0 : tree res_op0;
20686 0 : {
20687 0 : tree _o1[2], _r1;
20688 0 : _o1[0] = captures[0];
20689 0 : _o1[1] = captures[3];
20690 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20691 0 : res_op0 = _r1;
20692 : }
20693 0 : tree res_op1;
20694 0 : res_op1 = captures[1];
20695 0 : tree res_op2;
20696 0 : res_op2 = captures[2];
20697 0 : tree _r;
20698 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20699 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
20700 0 : return _r;
20701 : }
20702 0 : next_after_fail1329:;
20703 : }
20704 : }
20705 0 : {
20706 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20707 0 : const enum tree_code lop = BIT_IOR_EXPR;
20708 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20709 : )
20710 : {
20711 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1330;
20712 0 : {
20713 0 : tree res_op0;
20714 0 : {
20715 0 : tree _o1[2], _r1;
20716 0 : _o1[0] = captures[0];
20717 0 : _o1[1] = captures[3];
20718 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20719 0 : res_op0 = _r1;
20720 : }
20721 0 : tree res_op1;
20722 0 : res_op1 = captures[1];
20723 0 : tree res_op2;
20724 0 : res_op2 = captures[2];
20725 0 : tree _r;
20726 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20727 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
20728 0 : return _r;
20729 : }
20730 0 : next_after_fail1330:;
20731 : }
20732 : }
20733 0 : {
20734 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20735 0 : const enum tree_code lop = BIT_IOR_EXPR;
20736 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20737 : )
20738 : {
20739 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1331;
20740 0 : {
20741 0 : tree res_op0;
20742 0 : {
20743 0 : tree _o1[2], _r1;
20744 0 : _o1[0] = captures[0];
20745 0 : _o1[1] = captures[3];
20746 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20747 0 : res_op0 = _r1;
20748 : }
20749 0 : tree res_op1;
20750 0 : res_op1 = captures[1];
20751 0 : tree res_op2;
20752 0 : res_op2 = captures[2];
20753 0 : tree _r;
20754 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20755 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
20756 0 : return _r;
20757 : }
20758 0 : next_after_fail1331:;
20759 : }
20760 : }
20761 0 : {
20762 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20763 0 : const enum tree_code lop = BIT_IOR_EXPR;
20764 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20765 : )
20766 : {
20767 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1332;
20768 0 : {
20769 0 : tree res_op0;
20770 0 : {
20771 0 : tree _o1[2], _r1;
20772 0 : _o1[0] = captures[0];
20773 0 : _o1[1] = captures[3];
20774 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20775 0 : res_op0 = _r1;
20776 : }
20777 0 : tree res_op1;
20778 0 : res_op1 = captures[1];
20779 0 : tree res_op2;
20780 0 : res_op2 = captures[2];
20781 0 : tree _r;
20782 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20783 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
20784 0 : return _r;
20785 : }
20786 0 : next_after_fail1332:;
20787 : }
20788 : }
20789 0 : {
20790 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20791 0 : const enum tree_code lop = BIT_IOR_EXPR;
20792 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20793 : )
20794 : {
20795 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1333;
20796 0 : {
20797 0 : tree res_op0;
20798 0 : {
20799 0 : tree _o1[2], _r1;
20800 0 : _o1[0] = captures[0];
20801 0 : _o1[1] = captures[3];
20802 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20803 0 : res_op0 = _r1;
20804 : }
20805 0 : tree res_op1;
20806 0 : res_op1 = captures[1];
20807 0 : tree res_op2;
20808 0 : res_op2 = captures[2];
20809 0 : tree _r;
20810 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20811 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
20812 0 : return _r;
20813 : }
20814 0 : next_after_fail1333:;
20815 : }
20816 : }
20817 0 : {
20818 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20819 0 : const enum tree_code lop = BIT_IOR_EXPR;
20820 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20821 : )
20822 : {
20823 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1334;
20824 0 : {
20825 0 : tree res_op0;
20826 0 : {
20827 0 : tree _o1[2], _r1;
20828 0 : _o1[0] = captures[0];
20829 0 : _o1[1] = captures[3];
20830 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20831 0 : res_op0 = _r1;
20832 : }
20833 0 : tree res_op1;
20834 0 : res_op1 = captures[1];
20835 0 : tree res_op2;
20836 0 : res_op2 = captures[2];
20837 0 : tree _r;
20838 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20839 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
20840 0 : return _r;
20841 : }
20842 0 : next_after_fail1334:;
20843 : }
20844 : }
20845 0 : {
20846 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20847 0 : const enum tree_code lop = BIT_IOR_EXPR;
20848 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20849 : )
20850 : {
20851 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1335;
20852 0 : {
20853 0 : tree res_op0;
20854 0 : {
20855 0 : tree _o1[2], _r1;
20856 0 : _o1[0] = captures[0];
20857 0 : _o1[1] = captures[3];
20858 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20859 0 : res_op0 = _r1;
20860 : }
20861 0 : tree res_op1;
20862 0 : res_op1 = captures[1];
20863 0 : tree res_op2;
20864 0 : res_op2 = captures[2];
20865 0 : tree _r;
20866 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20867 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
20868 0 : return _r;
20869 : }
20870 0 : next_after_fail1335:;
20871 : }
20872 : }
20873 0 : {
20874 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20875 0 : const enum tree_code lop = BIT_IOR_EXPR;
20876 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20877 : )
20878 : {
20879 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1336;
20880 0 : {
20881 0 : tree res_op0;
20882 0 : {
20883 0 : tree _o1[2], _r1;
20884 0 : _o1[0] = captures[0];
20885 0 : _o1[1] = captures[3];
20886 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20887 0 : res_op0 = _r1;
20888 : }
20889 0 : tree res_op1;
20890 0 : res_op1 = captures[1];
20891 0 : tree res_op2;
20892 0 : res_op2 = captures[2];
20893 0 : tree _r;
20894 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20895 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
20896 0 : return _r;
20897 : }
20898 0 : next_after_fail1336:;
20899 : }
20900 : }
20901 0 : {
20902 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20903 0 : const enum tree_code lop = BIT_IOR_EXPR;
20904 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20905 : )
20906 : {
20907 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1337;
20908 0 : {
20909 0 : tree res_op0;
20910 0 : {
20911 0 : tree _o1[2], _r1;
20912 0 : _o1[0] = captures[0];
20913 0 : _o1[1] = captures[3];
20914 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20915 0 : res_op0 = _r1;
20916 : }
20917 0 : tree res_op1;
20918 0 : res_op1 = captures[1];
20919 0 : tree res_op2;
20920 0 : res_op2 = captures[2];
20921 0 : tree _r;
20922 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20923 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
20924 0 : return _r;
20925 : }
20926 0 : next_after_fail1337:;
20927 : }
20928 : }
20929 0 : {
20930 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20931 0 : const enum tree_code lop = BIT_IOR_EXPR;
20932 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20933 : )
20934 : {
20935 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1338;
20936 0 : {
20937 0 : tree res_op0;
20938 0 : {
20939 0 : tree _o1[2], _r1;
20940 0 : _o1[0] = captures[0];
20941 0 : _o1[1] = captures[3];
20942 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20943 0 : res_op0 = _r1;
20944 : }
20945 0 : tree res_op1;
20946 0 : res_op1 = captures[1];
20947 0 : tree res_op2;
20948 0 : res_op2 = captures[2];
20949 0 : tree _r;
20950 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20951 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
20952 0 : return _r;
20953 : }
20954 0 : next_after_fail1338:;
20955 : }
20956 : }
20957 0 : {
20958 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20959 0 : const enum tree_code lop = BIT_IOR_EXPR;
20960 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20961 : )
20962 : {
20963 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1339;
20964 0 : {
20965 0 : tree res_op0;
20966 0 : {
20967 0 : tree _o1[2], _r1;
20968 0 : _o1[0] = captures[0];
20969 0 : _o1[1] = captures[3];
20970 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20971 0 : res_op0 = _r1;
20972 : }
20973 0 : tree res_op1;
20974 0 : res_op1 = captures[1];
20975 0 : tree res_op2;
20976 0 : res_op2 = captures[2];
20977 0 : tree _r;
20978 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
20979 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
20980 0 : return _r;
20981 : }
20982 0 : next_after_fail1339:;
20983 : }
20984 : }
20985 0 : {
20986 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
20987 0 : const enum tree_code lop = BIT_IOR_EXPR;
20988 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
20989 : )
20990 : {
20991 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1340;
20992 0 : {
20993 0 : tree res_op0;
20994 0 : {
20995 0 : tree _o1[2], _r1;
20996 0 : _o1[0] = captures[0];
20997 0 : _o1[1] = captures[3];
20998 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
20999 0 : res_op0 = _r1;
21000 : }
21001 0 : tree res_op1;
21002 0 : res_op1 = captures[1];
21003 0 : tree res_op2;
21004 0 : res_op2 = captures[2];
21005 0 : tree _r;
21006 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
21007 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
21008 0 : return _r;
21009 : }
21010 0 : next_after_fail1340:;
21011 : }
21012 : }
21013 0 : {
21014 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
21015 0 : const enum tree_code lop = BIT_IOR_EXPR;
21016 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
21017 : )
21018 : {
21019 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1341;
21020 0 : {
21021 0 : tree res_op0;
21022 0 : {
21023 0 : tree _o1[2], _r1;
21024 0 : _o1[0] = captures[0];
21025 0 : _o1[1] = captures[3];
21026 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
21027 0 : res_op0 = _r1;
21028 : }
21029 0 : tree res_op1;
21030 0 : res_op1 = captures[1];
21031 0 : tree res_op2;
21032 0 : res_op2 = captures[2];
21033 0 : tree _r;
21034 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
21035 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
21036 0 : return _r;
21037 : }
21038 0 : next_after_fail1341:;
21039 : }
21040 : }
21041 0 : {
21042 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
21043 0 : const enum tree_code lop = BIT_IOR_EXPR;
21044 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
21045 : )
21046 : {
21047 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1342;
21048 0 : {
21049 0 : tree res_op0;
21050 0 : {
21051 0 : tree _o1[2], _r1;
21052 0 : _o1[0] = captures[0];
21053 0 : _o1[1] = captures[3];
21054 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
21055 0 : res_op0 = _r1;
21056 : }
21057 0 : tree res_op1;
21058 0 : res_op1 = captures[1];
21059 0 : tree res_op2;
21060 0 : res_op2 = captures[2];
21061 0 : tree _r;
21062 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
21063 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
21064 0 : return _r;
21065 : }
21066 0 : next_after_fail1342:;
21067 : }
21068 : }
21069 0 : {
21070 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
21071 0 : const enum tree_code lop = BIT_IOR_EXPR;
21072 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
21073 : )
21074 : {
21075 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1343;
21076 0 : {
21077 0 : tree res_op0;
21078 0 : {
21079 0 : tree _o1[2], _r1;
21080 0 : _o1[0] = captures[0];
21081 0 : _o1[1] = captures[3];
21082 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
21083 0 : res_op0 = _r1;
21084 : }
21085 0 : tree res_op1;
21086 0 : res_op1 = captures[1];
21087 0 : tree res_op2;
21088 0 : res_op2 = captures[2];
21089 0 : tree _r;
21090 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
21091 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
21092 0 : return _r;
21093 : }
21094 0 : next_after_fail1343:;
21095 : }
21096 : }
21097 0 : {
21098 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
21099 0 : const enum tree_code lop = BIT_IOR_EXPR;
21100 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
21101 : )
21102 : {
21103 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1344;
21104 0 : {
21105 0 : tree res_op0;
21106 0 : {
21107 0 : tree _o1[2], _r1;
21108 0 : _o1[0] = captures[0];
21109 0 : _o1[1] = captures[3];
21110 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
21111 0 : res_op0 = _r1;
21112 : }
21113 0 : tree res_op1;
21114 0 : res_op1 = captures[1];
21115 0 : tree res_op2;
21116 0 : res_op2 = captures[2];
21117 0 : tree _r;
21118 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
21119 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
21120 0 : return _r;
21121 : }
21122 0 : next_after_fail1344:;
21123 : }
21124 : }
21125 0 : {
21126 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
21127 0 : const enum tree_code lop = BIT_IOR_EXPR;
21128 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
21129 : )
21130 : {
21131 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1345;
21132 0 : {
21133 0 : tree res_op0;
21134 0 : {
21135 0 : tree _o1[2], _r1;
21136 0 : _o1[0] = captures[0];
21137 0 : _o1[1] = captures[3];
21138 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
21139 0 : res_op0 = _r1;
21140 : }
21141 0 : tree res_op1;
21142 0 : res_op1 = captures[1];
21143 0 : tree res_op2;
21144 0 : res_op2 = captures[2];
21145 0 : tree _r;
21146 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
21147 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
21148 0 : return _r;
21149 : }
21150 0 : next_after_fail1345:;
21151 : }
21152 : }
21153 0 : {
21154 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
21155 0 : const enum tree_code lop = BIT_IOR_EXPR;
21156 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
21157 : )
21158 : {
21159 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1346;
21160 0 : {
21161 0 : tree res_op0;
21162 0 : {
21163 0 : tree _o1[2], _r1;
21164 0 : _o1[0] = captures[0];
21165 0 : _o1[1] = captures[3];
21166 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
21167 0 : res_op0 = _r1;
21168 : }
21169 0 : tree res_op1;
21170 0 : res_op1 = captures[1];
21171 0 : tree res_op2;
21172 0 : res_op2 = captures[2];
21173 0 : tree _r;
21174 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
21175 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
21176 0 : return _r;
21177 : }
21178 0 : next_after_fail1346:;
21179 : }
21180 : }
21181 0 : {
21182 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
21183 0 : const enum tree_code lop = BIT_IOR_EXPR;
21184 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
21185 : )
21186 : {
21187 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1347;
21188 0 : {
21189 0 : tree res_op0;
21190 0 : {
21191 0 : tree _o1[2], _r1;
21192 0 : _o1[0] = captures[0];
21193 0 : _o1[1] = captures[3];
21194 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
21195 0 : res_op0 = _r1;
21196 : }
21197 0 : tree res_op1;
21198 0 : res_op1 = captures[1];
21199 0 : tree res_op2;
21200 0 : res_op2 = captures[2];
21201 0 : tree _r;
21202 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
21203 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
21204 0 : return _r;
21205 : }
21206 0 : next_after_fail1347:;
21207 : }
21208 : }
21209 0 : {
21210 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
21211 0 : const enum tree_code lop = BIT_IOR_EXPR;
21212 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
21213 : )
21214 : {
21215 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1348;
21216 0 : {
21217 0 : tree res_op0;
21218 0 : {
21219 0 : tree _o1[2], _r1;
21220 0 : _o1[0] = captures[0];
21221 0 : _o1[1] = captures[3];
21222 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
21223 0 : res_op0 = _r1;
21224 : }
21225 0 : tree res_op1;
21226 0 : res_op1 = captures[1];
21227 0 : tree res_op2;
21228 0 : res_op2 = captures[2];
21229 0 : tree _r;
21230 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
21231 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
21232 0 : return _r;
21233 : }
21234 0 : next_after_fail1348:;
21235 : }
21236 : }
21237 0 : {
21238 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
21239 0 : const enum tree_code lop = BIT_IOR_EXPR;
21240 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
21241 : )
21242 : {
21243 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1349;
21244 0 : {
21245 0 : tree res_op0;
21246 0 : {
21247 0 : tree _o1[2], _r1;
21248 0 : _o1[0] = captures[0];
21249 0 : _o1[1] = captures[3];
21250 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
21251 0 : res_op0 = _r1;
21252 : }
21253 0 : tree res_op1;
21254 0 : res_op1 = captures[1];
21255 0 : tree res_op2;
21256 0 : res_op2 = captures[2];
21257 0 : tree _r;
21258 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
21259 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
21260 0 : return _r;
21261 : }
21262 0 : next_after_fail1349:;
21263 : }
21264 : }
21265 0 : {
21266 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
21267 0 : const enum tree_code lop = BIT_IOR_EXPR;
21268 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
21269 : )
21270 : {
21271 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1350;
21272 0 : {
21273 0 : tree res_op0;
21274 0 : {
21275 0 : tree _o1[2], _r1;
21276 0 : _o1[0] = captures[0];
21277 0 : _o1[1] = captures[3];
21278 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
21279 0 : res_op0 = _r1;
21280 : }
21281 0 : tree res_op1;
21282 0 : res_op1 = captures[1];
21283 0 : tree res_op2;
21284 0 : res_op2 = captures[2];
21285 0 : tree _r;
21286 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
21287 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
21288 0 : return _r;
21289 : }
21290 0 : next_after_fail1350:;
21291 : }
21292 : }
21293 0 : {
21294 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
21295 0 : const enum tree_code lop = BIT_IOR_EXPR;
21296 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
21297 : )
21298 : {
21299 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1351;
21300 0 : {
21301 0 : tree res_op0;
21302 0 : {
21303 0 : tree _o1[2], _r1;
21304 0 : _o1[0] = captures[0];
21305 0 : _o1[1] = captures[3];
21306 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
21307 0 : res_op0 = _r1;
21308 : }
21309 0 : tree res_op1;
21310 0 : res_op1 = captures[1];
21311 0 : tree res_op2;
21312 0 : res_op2 = captures[2];
21313 0 : tree _r;
21314 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
21315 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
21316 0 : return _r;
21317 : }
21318 0 : next_after_fail1351:;
21319 : }
21320 : }
21321 0 : {
21322 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
21323 0 : const enum tree_code lop = BIT_IOR_EXPR;
21324 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
21325 : )
21326 : {
21327 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1352;
21328 0 : {
21329 0 : tree res_op0;
21330 0 : {
21331 0 : tree _o1[2], _r1;
21332 0 : _o1[0] = captures[0];
21333 0 : _o1[1] = captures[3];
21334 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
21335 0 : res_op0 = _r1;
21336 : }
21337 0 : tree res_op1;
21338 0 : res_op1 = captures[1];
21339 0 : tree res_op2;
21340 0 : res_op2 = captures[2];
21341 0 : tree _r;
21342 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
21343 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
21344 0 : return _r;
21345 : }
21346 0 : next_after_fail1352:;
21347 : }
21348 : }
21349 0 : {
21350 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
21351 0 : const enum tree_code lop = BIT_IOR_EXPR;
21352 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
21353 : )
21354 : {
21355 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1353;
21356 0 : {
21357 0 : tree res_op0;
21358 0 : {
21359 0 : tree _o1[2], _r1;
21360 0 : _o1[0] = captures[0];
21361 0 : _o1[1] = captures[3];
21362 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
21363 0 : res_op0 = _r1;
21364 : }
21365 0 : tree res_op1;
21366 0 : res_op1 = captures[1];
21367 0 : tree res_op2;
21368 0 : res_op2 = captures[2];
21369 0 : tree _r;
21370 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
21371 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
21372 0 : return _r;
21373 : }
21374 0 : next_after_fail1353:;
21375 : }
21376 : }
21377 0 : {
21378 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q21, _q22, _q60 };
21379 0 : const enum tree_code lop = BIT_IOR_EXPR;
21380 0 : if (target_supports_op_p (TREE_TYPE (captures[0]), lop, optab_vector)
21381 : )
21382 : {
21383 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1354;
21384 0 : {
21385 0 : tree res_op0;
21386 0 : {
21387 0 : tree _o1[2], _r1;
21388 0 : _o1[0] = captures[0];
21389 0 : _o1[1] = captures[3];
21390 0 : _r1 = fold_build2_loc (loc, lop, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
21391 0 : res_op0 = _r1;
21392 : }
21393 0 : tree res_op1;
21394 0 : res_op1 = captures[1];
21395 0 : tree res_op2;
21396 0 : res_op2 = captures[2];
21397 0 : tree _r;
21398 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
21399 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 897, __FILE__, __LINE__, true);
21400 0 : return _r;
21401 : }
21402 0 : next_after_fail1354:;
21403 : }
21404 : }
21405 : }
21406 : }
21407 : break;
21408 : }
21409 : default:;
21410 : }
21411 : }
21412 : }
21413 7 : {
21414 7 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _q22, _p1 };
21415 7 : if (VECTOR_TYPE_P (type)
21416 7 : && (TREE_CODE_CLASS (BIT_IOR_EXPR) != tcc_comparison
21417 : || types_match (type, TREE_TYPE (captures[2]))
21418 : || expand_vec_cond_expr_p (type, TREE_TYPE (captures[1]))
21419 : || (optimize_vectors_before_lowering_p ()
21420 : && !expand_vec_cond_expr_p (TREE_TYPE (captures[2]), TREE_TYPE (captures[1]))))
21421 : )
21422 : {
21423 7 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1355;
21424 7 : {
21425 7 : if (! tree_invariant_p (captures[4])) goto next_after_fail1355;
21426 1 : tree res_op0;
21427 1 : res_op0 = captures[1];
21428 1 : tree res_op1;
21429 1 : {
21430 1 : tree _o1[2], _r1;
21431 1 : _o1[0] = captures[2];
21432 1 : _o1[1] = unshare_expr (captures[4]);
21433 1 : _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, type, _o1[0], _o1[1]);
21434 1 : if (EXPR_P (_r1))
21435 0 : goto next_after_fail1355;
21436 1 : res_op1 = _r1;
21437 : }
21438 1 : tree res_op2;
21439 1 : {
21440 1 : tree _o1[2], _r1;
21441 1 : _o1[0] = captures[3];
21442 1 : _o1[1] = captures[4];
21443 1 : _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, type, _o1[0], _o1[1]);
21444 1 : if (EXPR_P (_r1))
21445 0 : goto next_after_fail1355;
21446 1 : res_op2 = _r1;
21447 : }
21448 1 : tree _r;
21449 1 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
21450 1 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 898, __FILE__, __LINE__, true);
21451 1 : return _r;
21452 : }
21453 6 : next_after_fail1355:;
21454 : }
21455 : }
21456 6 : break;
21457 : }
21458 1843594 : default:;
21459 : }
21460 1843594 : switch (TREE_CODE (_p1))
21461 : {
21462 2 : case VEC_COND_EXPR:
21463 2 : {
21464 2 : tree _q30 = TREE_OPERAND (_p1, 0);
21465 2 : tree _q31 = TREE_OPERAND (_p1, 1);
21466 2 : tree _q32 = TREE_OPERAND (_p1, 2);
21467 2 : {
21468 2 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _p1, _q30, _q31, _q32 };
21469 2 : if (VECTOR_TYPE_P (type)
21470 2 : && (TREE_CODE_CLASS (BIT_IOR_EXPR) != tcc_comparison
21471 : || types_match (type, TREE_TYPE (captures[3]))
21472 : || expand_vec_cond_expr_p (type, TREE_TYPE (captures[2]))
21473 : || (optimize_vectors_before_lowering_p ()
21474 : && !expand_vec_cond_expr_p (TREE_TYPE (captures[3]), TREE_TYPE (captures[2]))))
21475 : )
21476 : {
21477 2 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1356;
21478 2 : {
21479 2 : if (! tree_invariant_p (captures[0])) goto next_after_fail1356;
21480 0 : tree res_op0;
21481 0 : res_op0 = captures[2];
21482 0 : tree res_op1;
21483 0 : {
21484 0 : tree _o1[2], _r1;
21485 0 : _o1[0] = unshare_expr (captures[0]);
21486 0 : _o1[1] = captures[3];
21487 0 : _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, type, _o1[0], _o1[1]);
21488 0 : if (EXPR_P (_r1))
21489 0 : goto next_after_fail1356;
21490 0 : res_op1 = _r1;
21491 : }
21492 0 : tree res_op2;
21493 0 : {
21494 0 : tree _o1[2], _r1;
21495 0 : _o1[0] = captures[0];
21496 0 : _o1[1] = captures[4];
21497 0 : _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, type, _o1[0], _o1[1]);
21498 0 : if (EXPR_P (_r1))
21499 0 : goto next_after_fail1356;
21500 0 : res_op2 = _r1;
21501 : }
21502 0 : tree _r;
21503 0 : _r = fold_build3_loc (loc, VEC_COND_EXPR, type, res_op0, res_op1, res_op2);
21504 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 899, __FILE__, __LINE__, true);
21505 0 : return _r;
21506 : }
21507 2 : next_after_fail1356:;
21508 : }
21509 : }
21510 2 : break;
21511 : }
21512 1843594 : default:;
21513 : }
21514 1843594 : switch (TREE_CODE (_p0))
21515 : {
21516 16 : case UNORDERED_EXPR:
21517 16 : {
21518 16 : tree _q20 = TREE_OPERAND (_p0, 0);
21519 16 : tree _q21 = TREE_OPERAND (_p0, 1);
21520 16 : if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
21521 : {
21522 0 : switch (TREE_CODE (_p1))
21523 : {
21524 0 : case UNORDERED_EXPR:
21525 0 : {
21526 0 : tree _q50 = TREE_OPERAND (_p1, 0);
21527 0 : tree _q51 = TREE_OPERAND (_p1, 1);
21528 0 : if ((_q51 == _q50 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q50, 0) && types_match (_q51, _q50)))
21529 : {
21530 0 : {
21531 0 : tree captures[2] ATTRIBUTE_UNUSED = { _q20, _q50 };
21532 0 : if (types_match (captures[0], captures[1])
21533 : )
21534 : {
21535 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1357;
21536 0 : {
21537 0 : tree res_op0;
21538 0 : res_op0 = captures[0];
21539 0 : tree res_op1;
21540 0 : res_op1 = captures[1];
21541 0 : tree _r;
21542 0 : _r = fold_build2_loc (loc, UNORDERED_EXPR, type, res_op0, res_op1);
21543 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 946, __FILE__, __LINE__, true);
21544 0 : return _r;
21545 : }
21546 0 : next_after_fail1357:;
21547 : }
21548 : }
21549 : }
21550 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
21551 : {
21552 0 : {
21553 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q51 };
21554 0 : tree res = generic_simplify_174 (loc, type, _p0, _p1, captures);
21555 0 : if (res) return res;
21556 : }
21557 : }
21558 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
21559 : {
21560 0 : {
21561 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p1, _q50 };
21562 0 : tree res = generic_simplify_174 (loc, type, _p0, _p1, captures);
21563 0 : if (res) return res;
21564 : }
21565 : }
21566 : break;
21567 : }
21568 : default:;
21569 : }
21570 : }
21571 16 : switch (TREE_CODE (_p1))
21572 : {
21573 0 : case UNORDERED_EXPR:
21574 0 : {
21575 0 : tree _q50 = TREE_OPERAND (_p1, 0);
21576 0 : tree _q51 = TREE_OPERAND (_p1, 1);
21577 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
21578 : {
21579 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
21580 : {
21581 0 : {
21582 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q20, _p0, _q21 };
21583 0 : tree res = generic_simplify_175 (loc, type, _p0, _p1, captures);
21584 0 : if (res) return res;
21585 : }
21586 : }
21587 : }
21588 0 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
21589 : {
21590 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
21591 : {
21592 0 : {
21593 0 : tree captures[3] ATTRIBUTE_UNUSED = { _q21, _p0, _q20 };
21594 0 : tree res = generic_simplify_175 (loc, type, _p0, _p1, captures);
21595 0 : if (res) return res;
21596 : }
21597 : }
21598 : }
21599 : break;
21600 : }
21601 : default:;
21602 : }
21603 : break;
21604 : }
21605 114 : case LT_EXPR:
21606 114 : {
21607 114 : tree _q20 = TREE_OPERAND (_p0, 0);
21608 114 : tree _q21 = TREE_OPERAND (_p0, 1);
21609 114 : switch (TREE_CODE (_p1))
21610 : {
21611 27 : case LT_EXPR:
21612 27 : {
21613 27 : tree _q50 = TREE_OPERAND (_p1, 0);
21614 27 : tree _q51 = TREE_OPERAND (_p1, 1);
21615 27 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
21616 : {
21617 0 : {
21618 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
21619 0 : tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LT_EXPR, MAX_EXPR);
21620 0 : if (res) return res;
21621 : }
21622 : }
21623 27 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
21624 : {
21625 0 : {
21626 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
21627 0 : tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, GT_EXPR, MIN_EXPR);
21628 0 : if (res) return res;
21629 : }
21630 : }
21631 : break;
21632 : }
21633 0 : case GT_EXPR:
21634 0 : {
21635 0 : tree _q50 = TREE_OPERAND (_p1, 0);
21636 0 : tree _q51 = TREE_OPERAND (_p1, 1);
21637 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
21638 : {
21639 0 : {
21640 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
21641 0 : tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LT_EXPR, MAX_EXPR);
21642 0 : if (res) return res;
21643 : }
21644 : }
21645 0 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
21646 : {
21647 0 : {
21648 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
21649 0 : tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, GT_EXPR, MIN_EXPR);
21650 0 : if (res) return res;
21651 : }
21652 : }
21653 : break;
21654 : }
21655 114 : default:;
21656 : }
21657 114 : switch (TREE_CODE (_q20))
21658 : {
21659 2 : case POINTER_PLUS_EXPR:
21660 2 : {
21661 2 : tree _q30 = TREE_OPERAND (_q20, 0);
21662 2 : tree _q31 = TREE_OPERAND (_q20, 1);
21663 2 : switch (TREE_CODE (_q31))
21664 : {
21665 2 : case INTEGER_CST:
21666 2 : {
21667 2 : switch (TREE_CODE (_p1))
21668 : {
21669 2 : case LT_EXPR:
21670 2 : {
21671 2 : tree _q70 = TREE_OPERAND (_p1, 0);
21672 2 : tree _q71 = TREE_OPERAND (_p1, 1);
21673 2 : switch (TREE_CODE (_q70))
21674 : {
21675 2 : case POINTER_PLUS_EXPR:
21676 2 : {
21677 2 : tree _q80 = TREE_OPERAND (_q70, 0);
21678 2 : tree _q81 = TREE_OPERAND (_q70, 1);
21679 2 : if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
21680 : {
21681 2 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
21682 : {
21683 2 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
21684 : {
21685 2 : {
21686 2 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q70 };
21687 2 : const enum tree_code cmp = LT_EXPR;
21688 2 : if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
21689 1 : && TYPE_OVERFLOW_WRAPS (sizetype)
21690 3 : && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
21691 : )
21692 : {
21693 1 : {
21694 1 : offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
21695 1 : offset_int rhs = off * 2;
21696 1 : if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
21697 : )
21698 : {
21699 1 : {
21700 1 : bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
21701 1 : tree rhs_tree = wide_int_to_tree (sizetype, rhs);
21702 1 : if (cmp == LT_EXPR
21703 : )
21704 : {
21705 1 : if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1358;
21706 1 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1358;
21707 1 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1358;
21708 1 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1358;
21709 1 : if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1358;
21710 1 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1358;
21711 1 : {
21712 1 : tree res_op0;
21713 1 : {
21714 1 : tree _o1[1], _r1;
21715 1 : {
21716 1 : tree _o2[2], _r2;
21717 1 : _o2[0] = swap_p ? captures[6] : captures[1];
21718 1 : _o2[1] = swap_p ? captures[2] : captures[4];
21719 1 : _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
21720 1 : _o1[0] = _r2;
21721 : }
21722 1 : if (TREE_TYPE (_o1[0]) != sizetype)
21723 : {
21724 1 : _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
21725 : }
21726 : else
21727 : _r1 = _o1[0];
21728 1 : res_op0 = _r1;
21729 : }
21730 1 : tree res_op1;
21731 1 : res_op1 = rhs_tree;
21732 1 : tree _r;
21733 1 : _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
21734 1 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 947, __FILE__, __LINE__, true);
21735 1 : return _r;
21736 : }
21737 0 : next_after_fail1358:;
21738 : }
21739 : else
21740 : {
21741 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1359;
21742 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1359;
21743 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1359;
21744 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1359;
21745 : {
21746 : tree res_op0;
21747 : {
21748 : tree _o1[1], _r1;
21749 : {
21750 : tree _o2[2], _r2;
21751 : {
21752 : tree _o3[2], _r3;
21753 : _o3[0] = swap_p ? captures[4] : captures[2];
21754 : _o3[1] = wide_int_to_tree (sizetype, off);
21755 : _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
21756 : _o2[0] = _r3;
21757 : }
21758 : _o2[1] = swap_p ? captures[2] : captures[4];
21759 : _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
21760 : _o1[0] = _r2;
21761 : }
21762 : if (TREE_TYPE (_o1[0]) != sizetype)
21763 : {
21764 : _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
21765 : }
21766 : else
21767 : _r1 = _o1[0];
21768 : res_op0 = _r1;
21769 : }
21770 : tree res_op1;
21771 : res_op1 = rhs_tree;
21772 : tree _r;
21773 : _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
21774 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 948, __FILE__, __LINE__, true);
21775 : return _r;
21776 : }
21777 : next_after_fail1359:;
21778 : }
21779 : }
21780 : }
21781 : }
21782 : }
21783 : }
21784 : }
21785 : }
21786 : }
21787 : break;
21788 : }
21789 : default:;
21790 : }
21791 : break;
21792 : }
21793 0 : case GT_EXPR:
21794 0 : {
21795 0 : tree _q70 = TREE_OPERAND (_p1, 0);
21796 0 : tree _q71 = TREE_OPERAND (_p1, 1);
21797 0 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
21798 : {
21799 0 : switch (TREE_CODE (_q71))
21800 : {
21801 0 : case POINTER_PLUS_EXPR:
21802 0 : {
21803 0 : tree _q90 = TREE_OPERAND (_q71, 0);
21804 0 : tree _q91 = TREE_OPERAND (_q71, 1);
21805 0 : if ((_q90 == _q21 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q21, 0) && types_match (_q90, _q21)))
21806 : {
21807 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
21808 : {
21809 0 : {
21810 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q71 };
21811 0 : const enum tree_code cmp = LT_EXPR;
21812 0 : if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
21813 0 : && TYPE_OVERFLOW_WRAPS (sizetype)
21814 0 : && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
21815 : )
21816 : {
21817 0 : {
21818 0 : offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
21819 0 : offset_int rhs = off * 2;
21820 0 : if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
21821 : )
21822 : {
21823 0 : {
21824 0 : bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
21825 0 : tree rhs_tree = wide_int_to_tree (sizetype, rhs);
21826 0 : if (cmp == LT_EXPR
21827 : )
21828 : {
21829 0 : if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1360;
21830 0 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1360;
21831 0 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1360;
21832 0 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1360;
21833 0 : if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1360;
21834 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1360;
21835 0 : {
21836 0 : tree res_op0;
21837 0 : {
21838 0 : tree _o1[1], _r1;
21839 0 : {
21840 0 : tree _o2[2], _r2;
21841 0 : _o2[0] = swap_p ? captures[6] : captures[1];
21842 0 : _o2[1] = swap_p ? captures[2] : captures[4];
21843 0 : _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
21844 0 : _o1[0] = _r2;
21845 : }
21846 0 : if (TREE_TYPE (_o1[0]) != sizetype)
21847 : {
21848 0 : _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
21849 : }
21850 : else
21851 : _r1 = _o1[0];
21852 0 : res_op0 = _r1;
21853 : }
21854 0 : tree res_op1;
21855 0 : res_op1 = rhs_tree;
21856 0 : tree _r;
21857 0 : _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
21858 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 947, __FILE__, __LINE__, true);
21859 0 : return _r;
21860 : }
21861 0 : next_after_fail1360:;
21862 : }
21863 : else
21864 : {
21865 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1361;
21866 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1361;
21867 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1361;
21868 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1361;
21869 : {
21870 : tree res_op0;
21871 : {
21872 : tree _o1[1], _r1;
21873 : {
21874 : tree _o2[2], _r2;
21875 : {
21876 : tree _o3[2], _r3;
21877 : _o3[0] = swap_p ? captures[4] : captures[2];
21878 : _o3[1] = wide_int_to_tree (sizetype, off);
21879 : _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
21880 : _o2[0] = _r3;
21881 : }
21882 : _o2[1] = swap_p ? captures[2] : captures[4];
21883 : _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
21884 : _o1[0] = _r2;
21885 : }
21886 : if (TREE_TYPE (_o1[0]) != sizetype)
21887 : {
21888 : _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
21889 : }
21890 : else
21891 : _r1 = _o1[0];
21892 : res_op0 = _r1;
21893 : }
21894 : tree res_op1;
21895 : res_op1 = rhs_tree;
21896 : tree _r;
21897 : _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
21898 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 948, __FILE__, __LINE__, true);
21899 : return _r;
21900 : }
21901 : next_after_fail1361:;
21902 : }
21903 : }
21904 : }
21905 : }
21906 : }
21907 : }
21908 : }
21909 : }
21910 : break;
21911 : }
21912 : default:;
21913 : }
21914 : }
21915 : break;
21916 : }
21917 : default:;
21918 : }
21919 : break;
21920 : }
21921 : default:;
21922 : }
21923 : break;
21924 : }
21925 : default:;
21926 : }
21927 : break;
21928 : }
21929 135 : case LE_EXPR:
21930 135 : {
21931 135 : tree _q20 = TREE_OPERAND (_p0, 0);
21932 135 : tree _q21 = TREE_OPERAND (_p0, 1);
21933 135 : switch (TREE_CODE (_p1))
21934 : {
21935 2 : case LE_EXPR:
21936 2 : {
21937 2 : tree _q50 = TREE_OPERAND (_p1, 0);
21938 2 : tree _q51 = TREE_OPERAND (_p1, 1);
21939 2 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
21940 : {
21941 0 : {
21942 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
21943 0 : tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LE_EXPR, MAX_EXPR);
21944 0 : if (res) return res;
21945 : }
21946 : }
21947 2 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
21948 : {
21949 0 : {
21950 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
21951 0 : tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, GE_EXPR, MIN_EXPR);
21952 0 : if (res) return res;
21953 : }
21954 : }
21955 : break;
21956 : }
21957 1 : case GE_EXPR:
21958 1 : {
21959 1 : tree _q50 = TREE_OPERAND (_p1, 0);
21960 1 : tree _q51 = TREE_OPERAND (_p1, 1);
21961 1 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
21962 : {
21963 0 : {
21964 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
21965 0 : tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LE_EXPR, MAX_EXPR);
21966 0 : if (res) return res;
21967 : }
21968 : }
21969 1 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
21970 : {
21971 0 : {
21972 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
21973 0 : tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, GE_EXPR, MIN_EXPR);
21974 0 : if (res) return res;
21975 : }
21976 : }
21977 : break;
21978 : }
21979 135 : default:;
21980 : }
21981 135 : switch (TREE_CODE (_q20))
21982 : {
21983 2 : case POINTER_PLUS_EXPR:
21984 2 : {
21985 2 : tree _q30 = TREE_OPERAND (_q20, 0);
21986 2 : tree _q31 = TREE_OPERAND (_q20, 1);
21987 2 : switch (TREE_CODE (_q31))
21988 : {
21989 2 : case INTEGER_CST:
21990 2 : {
21991 2 : switch (TREE_CODE (_p1))
21992 : {
21993 2 : case LE_EXPR:
21994 2 : {
21995 2 : tree _q70 = TREE_OPERAND (_p1, 0);
21996 2 : tree _q71 = TREE_OPERAND (_p1, 1);
21997 2 : switch (TREE_CODE (_q70))
21998 : {
21999 2 : case POINTER_PLUS_EXPR:
22000 2 : {
22001 2 : tree _q80 = TREE_OPERAND (_q70, 0);
22002 2 : tree _q81 = TREE_OPERAND (_q70, 1);
22003 2 : if ((_q80 == _q21 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q21, 0) && types_match (_q80, _q21)))
22004 : {
22005 2 : if ((_q81 == _q31 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q31, 0) && types_match (_q81, _q31)))
22006 : {
22007 2 : if ((_q71 == _q30 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q30, 0) && types_match (_q71, _q30)))
22008 : {
22009 2 : {
22010 2 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q70 };
22011 2 : const enum tree_code cmp = LE_EXPR;
22012 2 : if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
22013 1 : && TYPE_OVERFLOW_WRAPS (sizetype)
22014 3 : && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
22015 : )
22016 : {
22017 1 : {
22018 1 : offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
22019 1 : offset_int rhs = off * 2;
22020 1 : if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
22021 : )
22022 : {
22023 1 : {
22024 1 : bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
22025 1 : tree rhs_tree = wide_int_to_tree (sizetype, rhs);
22026 1 : if (cmp == LT_EXPR
22027 : )
22028 : {
22029 : if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1362;
22030 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1362;
22031 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1362;
22032 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1362;
22033 : if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1362;
22034 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1362;
22035 : {
22036 : tree res_op0;
22037 : {
22038 : tree _o1[1], _r1;
22039 : {
22040 : tree _o2[2], _r2;
22041 : _o2[0] = swap_p ? captures[6] : captures[1];
22042 : _o2[1] = swap_p ? captures[2] : captures[4];
22043 : _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
22044 : _o1[0] = _r2;
22045 : }
22046 : if (TREE_TYPE (_o1[0]) != sizetype)
22047 : {
22048 : _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
22049 : }
22050 : else
22051 : _r1 = _o1[0];
22052 : res_op0 = _r1;
22053 : }
22054 : tree res_op1;
22055 : res_op1 = rhs_tree;
22056 : tree _r;
22057 : _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
22058 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 947, __FILE__, __LINE__, true);
22059 1 : return _r;
22060 : }
22061 : next_after_fail1362:;
22062 : }
22063 : else
22064 : {
22065 1 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1363;
22066 1 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1363;
22067 1 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1363;
22068 1 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1363;
22069 1 : {
22070 1 : tree res_op0;
22071 1 : {
22072 1 : tree _o1[1], _r1;
22073 1 : {
22074 1 : tree _o2[2], _r2;
22075 1 : {
22076 1 : tree _o3[2], _r3;
22077 1 : _o3[0] = swap_p ? captures[4] : captures[2];
22078 1 : _o3[1] = wide_int_to_tree (sizetype, off);
22079 1 : _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
22080 1 : _o2[0] = _r3;
22081 : }
22082 1 : _o2[1] = swap_p ? captures[2] : captures[4];
22083 1 : _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
22084 1 : _o1[0] = _r2;
22085 : }
22086 1 : if (TREE_TYPE (_o1[0]) != sizetype)
22087 : {
22088 1 : _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
22089 : }
22090 : else
22091 : _r1 = _o1[0];
22092 1 : res_op0 = _r1;
22093 : }
22094 1 : tree res_op1;
22095 1 : res_op1 = rhs_tree;
22096 1 : tree _r;
22097 1 : _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
22098 1 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 948, __FILE__, __LINE__, true);
22099 1 : return _r;
22100 : }
22101 0 : next_after_fail1363:;
22102 : }
22103 : }
22104 : }
22105 : }
22106 : }
22107 : }
22108 : }
22109 : }
22110 : }
22111 : break;
22112 : }
22113 : default:;
22114 : }
22115 : break;
22116 : }
22117 0 : case GE_EXPR:
22118 0 : {
22119 0 : tree _q70 = TREE_OPERAND (_p1, 0);
22120 0 : tree _q71 = TREE_OPERAND (_p1, 1);
22121 0 : if ((_q70 == _q30 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q30, 0) && types_match (_q70, _q30)))
22122 : {
22123 0 : switch (TREE_CODE (_q71))
22124 : {
22125 0 : case POINTER_PLUS_EXPR:
22126 0 : {
22127 0 : tree _q90 = TREE_OPERAND (_q71, 0);
22128 0 : tree _q91 = TREE_OPERAND (_q71, 1);
22129 0 : if ((_q90 == _q21 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q21, 0) && types_match (_q90, _q21)))
22130 : {
22131 0 : if ((_q91 == _q31 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q31, 0) && types_match (_q91, _q31)))
22132 : {
22133 0 : {
22134 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q20, _q30, _q31, _q21, _p1, _q71 };
22135 0 : const enum tree_code cmp = LE_EXPR;
22136 0 : if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
22137 0 : && TYPE_OVERFLOW_WRAPS (sizetype)
22138 0 : && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
22139 : )
22140 : {
22141 0 : {
22142 0 : offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
22143 0 : offset_int rhs = off * 2;
22144 0 : if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
22145 : )
22146 : {
22147 0 : {
22148 0 : bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
22149 0 : tree rhs_tree = wide_int_to_tree (sizetype, rhs);
22150 0 : if (cmp == LT_EXPR
22151 : )
22152 : {
22153 : if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1364;
22154 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1364;
22155 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1364;
22156 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1364;
22157 : if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1364;
22158 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1364;
22159 : {
22160 : tree res_op0;
22161 : {
22162 : tree _o1[1], _r1;
22163 : {
22164 : tree _o2[2], _r2;
22165 : _o2[0] = swap_p ? captures[6] : captures[1];
22166 : _o2[1] = swap_p ? captures[2] : captures[4];
22167 : _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
22168 : _o1[0] = _r2;
22169 : }
22170 : if (TREE_TYPE (_o1[0]) != sizetype)
22171 : {
22172 : _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
22173 : }
22174 : else
22175 : _r1 = _o1[0];
22176 : res_op0 = _r1;
22177 : }
22178 : tree res_op1;
22179 : res_op1 = rhs_tree;
22180 : tree _r;
22181 : _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
22182 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 947, __FILE__, __LINE__, true);
22183 0 : return _r;
22184 : }
22185 : next_after_fail1364:;
22186 : }
22187 : else
22188 : {
22189 0 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1365;
22190 0 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1365;
22191 0 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1365;
22192 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1365;
22193 0 : {
22194 0 : tree res_op0;
22195 0 : {
22196 0 : tree _o1[1], _r1;
22197 0 : {
22198 0 : tree _o2[2], _r2;
22199 0 : {
22200 0 : tree _o3[2], _r3;
22201 0 : _o3[0] = swap_p ? captures[4] : captures[2];
22202 0 : _o3[1] = wide_int_to_tree (sizetype, off);
22203 0 : _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
22204 0 : _o2[0] = _r3;
22205 : }
22206 0 : _o2[1] = swap_p ? captures[2] : captures[4];
22207 0 : _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
22208 0 : _o1[0] = _r2;
22209 : }
22210 0 : if (TREE_TYPE (_o1[0]) != sizetype)
22211 : {
22212 0 : _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
22213 : }
22214 : else
22215 : _r1 = _o1[0];
22216 0 : res_op0 = _r1;
22217 : }
22218 0 : tree res_op1;
22219 0 : res_op1 = rhs_tree;
22220 0 : tree _r;
22221 0 : _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
22222 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 948, __FILE__, __LINE__, true);
22223 0 : return _r;
22224 : }
22225 0 : next_after_fail1365:;
22226 : }
22227 : }
22228 : }
22229 : }
22230 : }
22231 : }
22232 : }
22233 : }
22234 : break;
22235 : }
22236 : default:;
22237 : }
22238 : }
22239 : break;
22240 : }
22241 : default:;
22242 : }
22243 : break;
22244 : }
22245 : default:;
22246 : }
22247 : break;
22248 : }
22249 : default:;
22250 : }
22251 : break;
22252 : }
22253 133 : case GT_EXPR:
22254 133 : {
22255 133 : tree _q20 = TREE_OPERAND (_p0, 0);
22256 133 : tree _q21 = TREE_OPERAND (_p0, 1);
22257 133 : switch (TREE_CODE (_p1))
22258 : {
22259 2 : case GT_EXPR:
22260 2 : {
22261 2 : tree _q50 = TREE_OPERAND (_p1, 0);
22262 2 : tree _q51 = TREE_OPERAND (_p1, 1);
22263 2 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
22264 : {
22265 0 : {
22266 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
22267 0 : tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, GT_EXPR, MIN_EXPR);
22268 0 : if (res) return res;
22269 : }
22270 : }
22271 2 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
22272 : {
22273 0 : {
22274 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
22275 0 : tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LT_EXPR, MAX_EXPR);
22276 0 : if (res) return res;
22277 : }
22278 : }
22279 : break;
22280 : }
22281 0 : case LT_EXPR:
22282 0 : {
22283 0 : tree _q50 = TREE_OPERAND (_p1, 0);
22284 0 : tree _q51 = TREE_OPERAND (_p1, 1);
22285 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
22286 : {
22287 0 : {
22288 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
22289 0 : tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, GT_EXPR, MIN_EXPR);
22290 0 : if (res) return res;
22291 : }
22292 : }
22293 0 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
22294 : {
22295 0 : {
22296 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
22297 0 : tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LT_EXPR, MAX_EXPR);
22298 0 : if (res) return res;
22299 : }
22300 : }
22301 : break;
22302 : }
22303 133 : default:;
22304 : }
22305 133 : switch (TREE_CODE (_q21))
22306 : {
22307 0 : case POINTER_PLUS_EXPR:
22308 0 : {
22309 0 : tree _q40 = TREE_OPERAND (_q21, 0);
22310 0 : tree _q41 = TREE_OPERAND (_q21, 1);
22311 0 : switch (TREE_CODE (_q41))
22312 : {
22313 0 : case INTEGER_CST:
22314 0 : {
22315 0 : switch (TREE_CODE (_p1))
22316 : {
22317 0 : case LT_EXPR:
22318 0 : {
22319 0 : tree _q70 = TREE_OPERAND (_p1, 0);
22320 0 : tree _q71 = TREE_OPERAND (_p1, 1);
22321 0 : switch (TREE_CODE (_q70))
22322 : {
22323 0 : case POINTER_PLUS_EXPR:
22324 0 : {
22325 0 : tree _q80 = TREE_OPERAND (_q70, 0);
22326 0 : tree _q81 = TREE_OPERAND (_q70, 1);
22327 0 : if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
22328 : {
22329 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
22330 : {
22331 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
22332 : {
22333 0 : {
22334 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q70 };
22335 0 : const enum tree_code cmp = LT_EXPR;
22336 0 : if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
22337 0 : && TYPE_OVERFLOW_WRAPS (sizetype)
22338 0 : && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
22339 : )
22340 : {
22341 0 : {
22342 0 : offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
22343 0 : offset_int rhs = off * 2;
22344 0 : if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
22345 : )
22346 : {
22347 0 : {
22348 0 : bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
22349 0 : tree rhs_tree = wide_int_to_tree (sizetype, rhs);
22350 0 : if (cmp == LT_EXPR
22351 : )
22352 : {
22353 0 : if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1366;
22354 0 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1366;
22355 0 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1366;
22356 0 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1366;
22357 0 : if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1366;
22358 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1366;
22359 0 : {
22360 0 : tree res_op0;
22361 0 : {
22362 0 : tree _o1[1], _r1;
22363 0 : {
22364 0 : tree _o2[2], _r2;
22365 0 : _o2[0] = swap_p ? captures[6] : captures[1];
22366 0 : _o2[1] = swap_p ? captures[2] : captures[4];
22367 0 : _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
22368 0 : _o1[0] = _r2;
22369 : }
22370 0 : if (TREE_TYPE (_o1[0]) != sizetype)
22371 : {
22372 0 : _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
22373 : }
22374 : else
22375 : _r1 = _o1[0];
22376 0 : res_op0 = _r1;
22377 : }
22378 0 : tree res_op1;
22379 0 : res_op1 = rhs_tree;
22380 0 : tree _r;
22381 0 : _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
22382 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 947, __FILE__, __LINE__, true);
22383 0 : return _r;
22384 : }
22385 0 : next_after_fail1366:;
22386 : }
22387 : else
22388 : {
22389 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1367;
22390 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1367;
22391 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1367;
22392 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1367;
22393 : {
22394 : tree res_op0;
22395 : {
22396 : tree _o1[1], _r1;
22397 : {
22398 : tree _o2[2], _r2;
22399 : {
22400 : tree _o3[2], _r3;
22401 : _o3[0] = swap_p ? captures[4] : captures[2];
22402 : _o3[1] = wide_int_to_tree (sizetype, off);
22403 : _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
22404 : _o2[0] = _r3;
22405 : }
22406 : _o2[1] = swap_p ? captures[2] : captures[4];
22407 : _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
22408 : _o1[0] = _r2;
22409 : }
22410 : if (TREE_TYPE (_o1[0]) != sizetype)
22411 : {
22412 : _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
22413 : }
22414 : else
22415 : _r1 = _o1[0];
22416 : res_op0 = _r1;
22417 : }
22418 : tree res_op1;
22419 : res_op1 = rhs_tree;
22420 : tree _r;
22421 : _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
22422 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 948, __FILE__, __LINE__, true);
22423 : return _r;
22424 : }
22425 : next_after_fail1367:;
22426 : }
22427 : }
22428 : }
22429 : }
22430 : }
22431 : }
22432 : }
22433 : }
22434 : }
22435 : break;
22436 : }
22437 : default:;
22438 : }
22439 : break;
22440 : }
22441 0 : case GT_EXPR:
22442 0 : {
22443 0 : tree _q70 = TREE_OPERAND (_p1, 0);
22444 0 : tree _q71 = TREE_OPERAND (_p1, 1);
22445 0 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
22446 : {
22447 0 : switch (TREE_CODE (_q71))
22448 : {
22449 0 : case POINTER_PLUS_EXPR:
22450 0 : {
22451 0 : tree _q90 = TREE_OPERAND (_q71, 0);
22452 0 : tree _q91 = TREE_OPERAND (_q71, 1);
22453 0 : if ((_q90 == _q20 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q20, 0) && types_match (_q90, _q20)))
22454 : {
22455 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
22456 : {
22457 0 : {
22458 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q71 };
22459 0 : const enum tree_code cmp = LT_EXPR;
22460 0 : if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
22461 0 : && TYPE_OVERFLOW_WRAPS (sizetype)
22462 0 : && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
22463 : )
22464 : {
22465 0 : {
22466 0 : offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
22467 0 : offset_int rhs = off * 2;
22468 0 : if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
22469 : )
22470 : {
22471 0 : {
22472 0 : bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
22473 0 : tree rhs_tree = wide_int_to_tree (sizetype, rhs);
22474 0 : if (cmp == LT_EXPR
22475 : )
22476 : {
22477 0 : if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1368;
22478 0 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1368;
22479 0 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1368;
22480 0 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1368;
22481 0 : if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1368;
22482 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1368;
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 : _o2[0] = swap_p ? captures[6] : captures[1];
22490 0 : _o2[1] = swap_p ? captures[2] : captures[4];
22491 0 : _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
22492 0 : _o1[0] = _r2;
22493 : }
22494 0 : if (TREE_TYPE (_o1[0]) != sizetype)
22495 : {
22496 0 : _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
22497 : }
22498 : else
22499 : _r1 = _o1[0];
22500 0 : res_op0 = _r1;
22501 : }
22502 0 : tree res_op1;
22503 0 : res_op1 = rhs_tree;
22504 0 : tree _r;
22505 0 : _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
22506 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 947, __FILE__, __LINE__, true);
22507 0 : return _r;
22508 : }
22509 0 : next_after_fail1368:;
22510 : }
22511 : else
22512 : {
22513 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1369;
22514 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1369;
22515 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1369;
22516 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1369;
22517 : {
22518 : tree res_op0;
22519 : {
22520 : tree _o1[1], _r1;
22521 : {
22522 : tree _o2[2], _r2;
22523 : {
22524 : tree _o3[2], _r3;
22525 : _o3[0] = swap_p ? captures[4] : captures[2];
22526 : _o3[1] = wide_int_to_tree (sizetype, off);
22527 : _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
22528 : _o2[0] = _r3;
22529 : }
22530 : _o2[1] = swap_p ? captures[2] : captures[4];
22531 : _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
22532 : _o1[0] = _r2;
22533 : }
22534 : if (TREE_TYPE (_o1[0]) != sizetype)
22535 : {
22536 : _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
22537 : }
22538 : else
22539 : _r1 = _o1[0];
22540 : res_op0 = _r1;
22541 : }
22542 : tree res_op1;
22543 : res_op1 = rhs_tree;
22544 : tree _r;
22545 : _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
22546 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 948, __FILE__, __LINE__, true);
22547 : return _r;
22548 : }
22549 : next_after_fail1369:;
22550 : }
22551 : }
22552 : }
22553 : }
22554 : }
22555 : }
22556 : }
22557 : }
22558 : break;
22559 : }
22560 : default:;
22561 : }
22562 : }
22563 : break;
22564 : }
22565 : default:;
22566 : }
22567 : break;
22568 : }
22569 : default:;
22570 : }
22571 : break;
22572 : }
22573 : default:;
22574 : }
22575 : break;
22576 : }
22577 38 : case GE_EXPR:
22578 38 : {
22579 38 : tree _q20 = TREE_OPERAND (_p0, 0);
22580 38 : tree _q21 = TREE_OPERAND (_p0, 1);
22581 38 : switch (TREE_CODE (_p1))
22582 : {
22583 0 : case GE_EXPR:
22584 0 : {
22585 0 : tree _q50 = TREE_OPERAND (_p1, 0);
22586 0 : tree _q51 = TREE_OPERAND (_p1, 1);
22587 0 : if ((_q50 == _q20 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q20, 0) && types_match (_q50, _q20)))
22588 : {
22589 0 : {
22590 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q51 };
22591 0 : tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, GE_EXPR, MIN_EXPR);
22592 0 : if (res) return res;
22593 : }
22594 : }
22595 0 : if ((_q51 == _q21 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q21, 0) && types_match (_q51, _q21)))
22596 : {
22597 0 : {
22598 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q50 };
22599 0 : tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LE_EXPR, MAX_EXPR);
22600 0 : if (res) return res;
22601 : }
22602 : }
22603 : break;
22604 : }
22605 0 : case LE_EXPR:
22606 0 : {
22607 0 : tree _q50 = TREE_OPERAND (_p1, 0);
22608 0 : tree _q51 = TREE_OPERAND (_p1, 1);
22609 0 : if ((_q51 == _q20 && ! TREE_SIDE_EFFECTS (_q51)) || (operand_equal_p (_q51, _q20, 0) && types_match (_q51, _q20)))
22610 : {
22611 0 : {
22612 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q20, _q21, _p1, _q50 };
22613 0 : tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, GE_EXPR, MIN_EXPR);
22614 0 : if (res) return res;
22615 : }
22616 : }
22617 0 : if ((_q50 == _q21 && ! TREE_SIDE_EFFECTS (_q50)) || (operand_equal_p (_q50, _q21, 0) && types_match (_q50, _q21)))
22618 : {
22619 0 : {
22620 0 : tree captures[5] ATTRIBUTE_UNUSED = { _p0, _q21, _q20, _p1, _q51 };
22621 0 : tree res = generic_simplify_176 (loc, type, _p0, _p1, captures, BIT_IOR_EXPR, LE_EXPR, MAX_EXPR);
22622 0 : if (res) return res;
22623 : }
22624 : }
22625 : break;
22626 : }
22627 38 : default:;
22628 : }
22629 38 : switch (TREE_CODE (_q21))
22630 : {
22631 0 : case POINTER_PLUS_EXPR:
22632 0 : {
22633 0 : tree _q40 = TREE_OPERAND (_q21, 0);
22634 0 : tree _q41 = TREE_OPERAND (_q21, 1);
22635 0 : switch (TREE_CODE (_q41))
22636 : {
22637 0 : case INTEGER_CST:
22638 0 : {
22639 0 : switch (TREE_CODE (_p1))
22640 : {
22641 0 : case LE_EXPR:
22642 0 : {
22643 0 : tree _q70 = TREE_OPERAND (_p1, 0);
22644 0 : tree _q71 = TREE_OPERAND (_p1, 1);
22645 0 : switch (TREE_CODE (_q70))
22646 : {
22647 0 : case POINTER_PLUS_EXPR:
22648 0 : {
22649 0 : tree _q80 = TREE_OPERAND (_q70, 0);
22650 0 : tree _q81 = TREE_OPERAND (_q70, 1);
22651 0 : if ((_q80 == _q20 && ! TREE_SIDE_EFFECTS (_q80)) || (operand_equal_p (_q80, _q20, 0) && types_match (_q80, _q20)))
22652 : {
22653 0 : if ((_q81 == _q41 && ! TREE_SIDE_EFFECTS (_q81)) || (operand_equal_p (_q81, _q41, 0) && types_match (_q81, _q41)))
22654 : {
22655 0 : if ((_q71 == _q40 && ! TREE_SIDE_EFFECTS (_q71)) || (operand_equal_p (_q71, _q40, 0) && types_match (_q71, _q40)))
22656 : {
22657 0 : {
22658 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q70 };
22659 0 : const enum tree_code cmp = LE_EXPR;
22660 0 : if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
22661 0 : && TYPE_OVERFLOW_WRAPS (sizetype)
22662 0 : && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
22663 : )
22664 : {
22665 0 : {
22666 0 : offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
22667 0 : offset_int rhs = off * 2;
22668 0 : if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
22669 : )
22670 : {
22671 0 : {
22672 0 : bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
22673 0 : tree rhs_tree = wide_int_to_tree (sizetype, rhs);
22674 0 : if (cmp == LT_EXPR
22675 : )
22676 : {
22677 : if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1370;
22678 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1370;
22679 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1370;
22680 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1370;
22681 : if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1370;
22682 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1370;
22683 : {
22684 : tree res_op0;
22685 : {
22686 : tree _o1[1], _r1;
22687 : {
22688 : tree _o2[2], _r2;
22689 : _o2[0] = swap_p ? captures[6] : captures[1];
22690 : _o2[1] = swap_p ? captures[2] : captures[4];
22691 : _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
22692 : _o1[0] = _r2;
22693 : }
22694 : if (TREE_TYPE (_o1[0]) != sizetype)
22695 : {
22696 : _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
22697 : }
22698 : else
22699 : _r1 = _o1[0];
22700 : res_op0 = _r1;
22701 : }
22702 : tree res_op1;
22703 : res_op1 = rhs_tree;
22704 : tree _r;
22705 : _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
22706 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 947, __FILE__, __LINE__, true);
22707 0 : return _r;
22708 : }
22709 : next_after_fail1370:;
22710 : }
22711 : else
22712 : {
22713 0 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1371;
22714 0 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1371;
22715 0 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1371;
22716 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1371;
22717 0 : {
22718 0 : tree res_op0;
22719 0 : {
22720 0 : tree _o1[1], _r1;
22721 0 : {
22722 0 : tree _o2[2], _r2;
22723 0 : {
22724 0 : tree _o3[2], _r3;
22725 0 : _o3[0] = swap_p ? captures[4] : captures[2];
22726 0 : _o3[1] = wide_int_to_tree (sizetype, off);
22727 0 : _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
22728 0 : _o2[0] = _r3;
22729 : }
22730 0 : _o2[1] = swap_p ? captures[2] : captures[4];
22731 0 : _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
22732 0 : _o1[0] = _r2;
22733 : }
22734 0 : if (TREE_TYPE (_o1[0]) != sizetype)
22735 : {
22736 0 : _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
22737 : }
22738 : else
22739 : _r1 = _o1[0];
22740 0 : res_op0 = _r1;
22741 : }
22742 0 : tree res_op1;
22743 0 : res_op1 = rhs_tree;
22744 0 : tree _r;
22745 0 : _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
22746 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 948, __FILE__, __LINE__, true);
22747 0 : return _r;
22748 : }
22749 0 : next_after_fail1371:;
22750 : }
22751 : }
22752 : }
22753 : }
22754 : }
22755 : }
22756 : }
22757 : }
22758 : }
22759 : break;
22760 : }
22761 : default:;
22762 : }
22763 : break;
22764 : }
22765 0 : case GE_EXPR:
22766 0 : {
22767 0 : tree _q70 = TREE_OPERAND (_p1, 0);
22768 0 : tree _q71 = TREE_OPERAND (_p1, 1);
22769 0 : if ((_q70 == _q40 && ! TREE_SIDE_EFFECTS (_q70)) || (operand_equal_p (_q70, _q40, 0) && types_match (_q70, _q40)))
22770 : {
22771 0 : switch (TREE_CODE (_q71))
22772 : {
22773 0 : case POINTER_PLUS_EXPR:
22774 0 : {
22775 0 : tree _q90 = TREE_OPERAND (_q71, 0);
22776 0 : tree _q91 = TREE_OPERAND (_q71, 1);
22777 0 : if ((_q90 == _q20 && ! TREE_SIDE_EFFECTS (_q90)) || (operand_equal_p (_q90, _q20, 0) && types_match (_q90, _q20)))
22778 : {
22779 0 : if ((_q91 == _q41 && ! TREE_SIDE_EFFECTS (_q91)) || (operand_equal_p (_q91, _q41, 0) && types_match (_q91, _q41)))
22780 : {
22781 0 : {
22782 0 : tree captures[7] ATTRIBUTE_UNUSED = { _p0, _q21, _q40, _q41, _q20, _p1, _q71 };
22783 0 : const enum tree_code cmp = LE_EXPR;
22784 0 : if (TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (captures[2]))
22785 0 : && TYPE_OVERFLOW_WRAPS (sizetype)
22786 0 : && TYPE_PRECISION (TREE_TYPE (captures[2])) == TYPE_PRECISION (sizetype)
22787 : )
22788 : {
22789 0 : {
22790 0 : offset_int off = wi::to_offset (captures[3]) - (cmp == LE_EXPR ? 1 : 0);
22791 0 : offset_int rhs = off * 2;
22792 0 : if (wi::min_precision (rhs, UNSIGNED) <= TYPE_PRECISION (sizetype)
22793 : )
22794 : {
22795 0 : {
22796 0 : bool swap_p = tree_swap_operands_p (captures[2], captures[4]);
22797 0 : tree rhs_tree = wide_int_to_tree (sizetype, rhs);
22798 0 : if (cmp == LT_EXPR
22799 : )
22800 : {
22801 : if (TREE_SIDE_EFFECTS (captures[1])) goto next_after_fail1372;
22802 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1372;
22803 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1372;
22804 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1372;
22805 : if (TREE_SIDE_EFFECTS (captures[6])) goto next_after_fail1372;
22806 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1372;
22807 : {
22808 : tree res_op0;
22809 : {
22810 : tree _o1[1], _r1;
22811 : {
22812 : tree _o2[2], _r2;
22813 : _o2[0] = swap_p ? captures[6] : captures[1];
22814 : _o2[1] = swap_p ? captures[2] : captures[4];
22815 : _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
22816 : _o1[0] = _r2;
22817 : }
22818 : if (TREE_TYPE (_o1[0]) != sizetype)
22819 : {
22820 : _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
22821 : }
22822 : else
22823 : _r1 = _o1[0];
22824 : res_op0 = _r1;
22825 : }
22826 : tree res_op1;
22827 : res_op1 = rhs_tree;
22828 : tree _r;
22829 : _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
22830 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 947, __FILE__, __LINE__, true);
22831 0 : return _r;
22832 : }
22833 : next_after_fail1372:;
22834 : }
22835 : else
22836 : {
22837 0 : if (TREE_SIDE_EFFECTS (captures[2])) goto next_after_fail1373;
22838 0 : if (TREE_SIDE_EFFECTS (captures[3])) goto next_after_fail1373;
22839 0 : if (TREE_SIDE_EFFECTS (captures[4])) goto next_after_fail1373;
22840 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1373;
22841 0 : {
22842 0 : tree res_op0;
22843 0 : {
22844 0 : tree _o1[1], _r1;
22845 0 : {
22846 0 : tree _o2[2], _r2;
22847 0 : {
22848 0 : tree _o3[2], _r3;
22849 0 : _o3[0] = swap_p ? captures[4] : captures[2];
22850 0 : _o3[1] = wide_int_to_tree (sizetype, off);
22851 0 : _r3 = fold_build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (_o3[0]), _o3[0], _o3[1]);
22852 0 : _o2[0] = _r3;
22853 : }
22854 0 : _o2[1] = swap_p ? captures[2] : captures[4];
22855 0 : _r2 = fold_build2_loc (loc, POINTER_DIFF_EXPR, ssizetype, _o2[0], _o2[1]);
22856 0 : _o1[0] = _r2;
22857 : }
22858 0 : if (TREE_TYPE (_o1[0]) != sizetype)
22859 : {
22860 0 : _r1 = fold_build1_loc (loc, NOP_EXPR, sizetype, _o1[0]);
22861 : }
22862 : else
22863 : _r1 = _o1[0];
22864 0 : res_op0 = _r1;
22865 : }
22866 0 : tree res_op1;
22867 0 : res_op1 = rhs_tree;
22868 0 : tree _r;
22869 0 : _r = fold_build2_loc (loc, GT_EXPR, type, res_op0, res_op1);
22870 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 948, __FILE__, __LINE__, true);
22871 0 : return _r;
22872 : }
22873 0 : next_after_fail1373:;
22874 : }
22875 : }
22876 : }
22877 : }
22878 : }
22879 : }
22880 : }
22881 : }
22882 : break;
22883 : }
22884 : default:;
22885 : }
22886 : }
22887 : break;
22888 : }
22889 : default:;
22890 : }
22891 : break;
22892 : }
22893 : default:;
22894 : }
22895 : break;
22896 : }
22897 : default:;
22898 : }
22899 : break;
22900 : }
22901 0 : case VEC_PERM_EXPR:
22902 0 : {
22903 0 : tree _q20 = TREE_OPERAND (_p0, 0);
22904 0 : tree _q21 = TREE_OPERAND (_p0, 1);
22905 0 : tree _q22 = TREE_OPERAND (_p0, 2);
22906 0 : if ((_q21 == _q20 && ! TREE_SIDE_EFFECTS (_q21)) || (operand_equal_p (_q21, _q20, 0) && types_match (_q21, _q20)))
22907 : {
22908 0 : switch (TREE_CODE (_p1))
22909 : {
22910 0 : case VEC_PERM_EXPR:
22911 0 : {
22912 0 : tree _q60 = TREE_OPERAND (_p1, 0);
22913 0 : tree _q61 = TREE_OPERAND (_p1, 1);
22914 0 : tree _q62 = TREE_OPERAND (_p1, 2);
22915 0 : if ((_q61 == _q60 && ! TREE_SIDE_EFFECTS (_q61)) || (operand_equal_p (_q61, _q60, 0) && types_match (_q61, _q60)))
22916 : {
22917 0 : if ((_q62 == _q22 && ! TREE_SIDE_EFFECTS (_q62)) || (operand_equal_p (_q62, _q22, 0) && types_match (_q62, _q22)))
22918 : {
22919 0 : {
22920 0 : tree captures[4] ATTRIBUTE_UNUSED = { _q20, _q22, _q60 };
22921 0 : if (VECTOR_INTEGER_TYPE_P (type)
22922 : )
22923 : {
22924 0 : if (UNLIKELY (!dbg_cnt (match))) goto next_after_fail1374;
22925 0 : {
22926 0 : tree res_op0;
22927 0 : {
22928 0 : tree _o1[2], _r1;
22929 0 : _o1[0] = captures[0];
22930 0 : _o1[1] = captures[2];
22931 0 : _r1 = fold_build2_loc (loc, BIT_IOR_EXPR, TREE_TYPE (_o1[0]), _o1[0], _o1[1]);
22932 0 : captures[3] = _r1;
22933 : }
22934 0 : res_op0 = unshare_expr (captures[3]);
22935 0 : tree res_op1;
22936 0 : res_op1 = captures[3];
22937 0 : tree res_op2;
22938 0 : res_op2 = captures[1];
22939 0 : tree _r;
22940 0 : _r = fold_build3_loc (loc, VEC_PERM_EXPR, type, res_op0, res_op1, res_op2);
22941 0 : if (UNLIKELY (debug_dump)) generic_dump_logs ("match.pd", 900, __FILE__, __LINE__, true);
22942 0 : return _r;
22943 : }
22944 0 : next_after_fail1374:;
22945 : }
22946 : }
22947 : }
22948 : }
22949 : break;
22950 : }
22951 : default:;
22952 : }
22953 : }
22954 : break;
22955 : }
22956 382266 : case LSHIFT_EXPR:
22957 382266 : {
22958 382266 : tree _q20 = TREE_OPERAND (_p0, 0);
22959 382266 : tree _q21 = TREE_OPERAND (_p0, 1);
22960 382266 : switch (TREE_CODE (_q21))
22961 : {
22962 367535 : case INTEGER_CST:
22963 367535 : {
22964 367535 : switch (TREE_CODE (_p1))
22965 : {
22966 2 : case BIT_XOR_EXPR:
22967 2 : {
22968 2 : tree _q50 = TREE_OPERAND (_p1, 0);
22969 2 : tree _q51 = TREE_OPERAND (_p1, 1);
22970 2 : switch (TREE_CODE (_q50))
22971 : {
22972 0 : case RSHIFT_EXPR:
22973 0 : {
22974 0 : tree _q60 = TREE_OPERAND (_q50, 0);
22975 0 : tree _q61 = TREE_OPERAND (_q50, 1);
22976 0 : switch (TREE_CODE (_q61))
22977 : {
22978 0 : case INTEGER_CST:
22979 0 : {
22980 0 : switch (TREE_CODE (_q51))
22981 : {
22982 0 : case INTEGER_CST:
22983 0 : {
22984 0 : {
22985 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q20, _q21, _q60, _q61, _q51 };
22986 0 : tree res = generic_simplify_177 (loc, type, _p0, _p1, captures);
22987 0 : if (res) return res;
22988 : }
22989 0 : break;
22990 : }
22991 : default:;
22992 : }
22993 : break;
22994 : }
22995 : default:;
22996 : }
22997 : break;
22998 : }
22999 : default:;
23000 : }
23001 : break;
23002 : }
23003 : default:;
23004 : }
23005 : break;
23006 : }
23007 : default:;
23008 : }
23009 : break;
23010 : }
23011 9629 : case BIT_XOR_EXPR:
23012 9629 : {
23013 9629 : tree _q20 = TREE_OPERAND (_p0, 0);
23014 9629 : tree _q21 = TREE_OPERAND (_p0, 1);
23015 9629 : switch (TREE_CODE (_q20))
23016 : {
23017 9006 : case RSHIFT_EXPR:
23018 9006 : {
23019 9006 : tree _q30 = TREE_OPERAND (_q20, 0);
23020 9006 : tree _q31 = TREE_OPERAND (_q20, 1);
23021 9006 : switch (TREE_CODE (_q31))
23022 : {
23023 9006 : case INTEGER_CST:
23024 9006 : {
23025 9006 : switch (TREE_CODE (_q21))
23026 : {
23027 0 : case INTEGER_CST:
23028 0 : {
23029 0 : switch (TREE_CODE (_p1))
23030 : {
23031 0 : case LSHIFT_EXPR:
23032 0 : {
23033 0 : tree _q70 = TREE_OPERAND (_p1, 0);
23034 0 : tree _q71 = TREE_OPERAND (_p1, 1);
23035 0 : switch (TREE_CODE (_q71))
23036 : {
23037 0 : case INTEGER_CST:
23038 0 : {
23039 0 : {
23040 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q70, _q71, _q30, _q31, _q21 };
23041 0 : tree res = generic_simplify_177 (loc, type, _p0, _p1, captures);
23042 0 : if (res) return res;
23043 : }
23044 0 : break;
23045 : }
23046 : default:;
23047 : }
23048 : break;
23049 : }
23050 : default:;
23051 : }
23052 : break;
23053 : }
23054 : default:;
23055 : }
23056 : break;
23057 : }
23058 : default:;
23059 : }
23060 : break;
23061 : }
23062 15 : case LSHIFT_EXPR:
23063 15 : {
23064 15 : tree _q30 = TREE_OPERAND (_q20, 0);
23065 15 : tree _q31 = TREE_OPERAND (_q20, 1);
23066 15 : switch (TREE_CODE (_q31))
23067 : {
23068 7 : case INTEGER_CST:
23069 7 : {
23070 7 : switch (TREE_CODE (_q21))
23071 : {
23072 7 : case INTEGER_CST:
23073 7 : {
23074 7 : switch (TREE_CODE (_p1))
23075 : {
23076 7 : case RSHIFT_EXPR:
23077 7 : {
23078 7 : tree _q70 = TREE_OPERAND (_p1, 0);
23079 7 : tree _q71 = TREE_OPERAND (_p1, 1);
23080 7 : switch (TREE_CODE (_q71))
23081 : {
23082 7 : case INTEGER_CST:
23083 7 : {
23084 7 : {
23085 7 : tree captures[5] ATTRIBUTE_UNUSED = { _q30, _q31, _q21, _q70, _q71 };
23086 7 : tree res = generic_simplify_178 (loc, type, _p0, _p1, captures);
23087 7 : if (res) return res;
23088 : }
23089 7 : break;
23090 : }
23091 : default:;
23092 : }
23093 : break;
23094 : }
23095 : default:;
23096 : }
23097 : break;
23098 : }
23099 : default:;
23100 : }
23101 : break;
23102 : }
23103 : default:;
23104 : }
23105 : break;
23106 : }
23107 : default:;
23108 : }
23109 : break;
23110 : }
23111 19166 : case RSHIFT_EXPR:
23112 19166 : {
23113 19166 : tree _q20 = TREE_OPERAND (_p0, 0);
23114 19166 : tree _q21 = TREE_OPERAND (_p0, 1);
23115 19166 : switch (TREE_CODE (_q21))
23116 : {
23117 6058 : case INTEGER_CST:
23118 6058 : {
23119 6058 : switch (TREE_CODE (_p1))
23120 : {
23121 0 : case BIT_XOR_EXPR:
23122 0 : {
23123 0 : tree _q50 = TREE_OPERAND (_p1, 0);
23124 0 : tree _q51 = TREE_OPERAND (_p1, 1);
23125 0 : switch (TREE_CODE (_q50))
23126 : {
23127 0 : case LSHIFT_EXPR:
23128 0 : {
23129 0 : tree _q60 = TREE_OPERAND (_q50, 0);
23130 0 : tree _q61 = TREE_OPERAND (_q50, 1);
23131 0 : switch (TREE_CODE (_q61))
23132 : {
23133 0 : case INTEGER_CST:
23134 0 : {
23135 0 : switch (TREE_CODE (_q51))
23136 : {
23137 0 : case INTEGER_CST:
23138 0 : {
23139 0 : {
23140 0 : tree captures[5] ATTRIBUTE_UNUSED = { _q60, _q61, _q51, _q20, _q21 };
23141 0 : tree res = generic_simplify_178 (loc, type, _p0, _p1, captures);
23142 0 : if (res) return res;
23143 : }
23144 0 : break;
23145 : }
23146 : default:;
23147 : }
23148 : break;
23149 : }
23150 : default:;
23151 : }
23152 : break;
23153 : }
23154 : default:;
23155 : }
23156 : break;
23157 : }
23158 : default:;
23159 : }
23160 : break;
23161 : }
23162 : default:;
23163 : }
23164 : break;
23165 : }
23166 : default:;
23167 : }
23168 : return NULL_TREE;
23169 : }
23170 : #pragma GCC diagnostic pop
|